Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CF: spell level fixes IV
- To: crossfire (at) ifi.uio.no
- Subject: CF: spell level fixes IV
- From: Jan Echternach <>
- Date: Wed, 19 Apr 2000 14:26:29 +0200
- Mail-Followup-To:
- Reply-To: Jan Echternach <>
- Sender:
These fixes are already in the CVS tree. All spell level bugs that I
know of have been fixed. Please report if you still get any
BUG: SK_level(arch xxx, name yyy) <= 0
messages in the server log file with these patches applied.
server/spell_effect.c: create_bomb():
Set level of created bomb because the splints are cast with that level.
Add spell_type parameter to create_bomb() - just a cosmetic fix for more
consistency.
arch/spell/*horn*.arc:
Add a level. Most horns were casting spells without a level.
--
Jan
diff -rc orig/crossfire-0.95.5-patch11/include/sproto.h crossfire-0.95.5/include/sproto.h
*** orig/crossfire-0.95.5-patch11/include/sproto.h Thu Apr 13 15:05:46 2000
--- crossfire-0.95.5/include/sproto.h Wed Apr 19 12:53:20 2000
***************
*** 522,528 ****
extern int cast_regenerate_spellpoints ( object *op );
extern int cast_change_attr ( object *op, object *caster, int dir, int spell_type );
extern int summon_pet ( object *op, int dir, SpellTypeFrom item );
! extern int create_bomb ( object *op, object *caster, int dir, char *name );
extern void animate_bomb ( object *op );
extern int fire_cancellation ( object *op, int dir, archetype *at, int magic );
extern void move_cancellation ( object *op );
--- 522,528 ----
extern int cast_regenerate_spellpoints ( object *op );
extern int cast_change_attr ( object *op, object *caster, int dir, int spell_type );
extern int summon_pet ( object *op, int dir, SpellTypeFrom item );
! extern int create_bomb ( object *op, object *caster, int dir, int spell_type, char *name );
extern void animate_bomb ( object *op );
extern int fire_cancellation ( object *op, int dir, archetype *at, int magic );
extern void move_cancellation ( object *op );
diff -rc orig/crossfire-0.95.5-patch11/server/spell_effect.c crossfire-0.95.5/server/spell_effect.c
*** orig/crossfire-0.95.5-patch11/server/spell_effect.c Thu Apr 13 03:23:54 2000
--- crossfire-0.95.5/server/spell_effect.c Wed Apr 19 12:57:46 2000
***************
*** 1511,1517 ****
return 1;
}
! int create_bomb(object *op,object *caster,int dir,char *name) {
object *tmp;
int dx=op->x+freearr_x[dir],dy=op->y+freearr_y[dir];
if(wall(op->map,dx,dy)) {
--- 1511,1517 ----
return 1;
}
! int create_bomb(object *op,object *caster,int dir,int spell_type,char *name) {
object *tmp;
int dx=op->x+freearr_x[dir],dy=op->y+freearr_y[dir];
if(wall(op->map,dx,dy)) {
***************
*** 1521,1528 ****
tmp=get_archetype(name);
/* level dependencies for bomb */
! tmp->stats.dam=SP_PARAMETERS[SP_BOMB].bdam + SP_level_dam_adjust(op,caster,SP_BOMB);
! tmp->stats.hp=SP_PARAMETERS[SP_BOMB].bdur + SP_level_strength_adjust(op,caster,SP_BOMB);
set_owner(tmp,op);
tmp->x=dx,tmp->y=dy;
--- 1521,1529 ----
tmp=get_archetype(name);
/* level dependencies for bomb */
! tmp->stats.dam=SP_PARAMETERS[spell_type].bdam + SP_level_dam_adjust(op,caster,spell_type);
! tmp->stats.hp=SP_PARAMETERS[spell_type].bdur + SP_level_strength_adjust(op,caster,spell_type);
! tmp->level = casting_level (caster, spell_type);
set_owner(tmp,op);
tmp->x=dx,tmp->y=dy;
diff -rc orig/crossfire-0.95.5-patch11/server/spell_util.c crossfire-0.95.5/server/spell_util.c
*** orig/crossfire-0.95.5-patch11/server/spell_util.c Thu Apr 13 15:05:46 2000
--- crossfire-0.95.5/server/spell_util.c Wed Apr 19 12:53:00 2000
***************
*** 415,421 ****
success = fire_bolt(op,caster,dir,type,!ability);
break;
case SP_BOMB:
! success = create_bomb(op,caster,dir,"bomb");
break;
case SP_GOLEM:
case SP_FIRE_ELEM:
--- 415,421 ----
success = fire_bolt(op,caster,dir,type,!ability);
break;
case SP_BOMB:
! success = create_bomb(op,caster,dir,type,"bomb");
break;
case SP_GOLEM:
case SP_FIRE_ELEM:
diff -rc ../../orig/crossfire-0.95.5-arch-patch2/spell/gu_horn.arc arch/spell/gu_horn.arc
*** ../../orig/crossfire-0.95.5-arch-patch2/spell/gu_horn.arc Tue Sep 21 08:18:57 1999
--- arch/spell/gu_horn.arc Wed Apr 19 12:41:39 2000
***************
*** 5,10 ****
--- 5,11 ----
maxhp 130
hp 100
sp 126
+ level 1
value 10000000
anim
gu_horn.111
diff -rc ../../orig/crossfire-0.95.5-arch-patch2/spell/horn.arc arch/spell/horn.arc
*** ../../orig/crossfire-0.95.5-arch-patch2/spell/horn.arc Tue Sep 21 08:18:57 1999
--- arch/spell/horn.arc Wed Apr 19 12:43:50 2000
***************
*** 5,10 ****
--- 5,11 ----
color_bg khaki
speed 0.1
type 35
+ level 1
value 5800
weight 4500
material 2
diff -rc ../../orig/crossfire-0.95.5-arch-patch2/spell/horn2.arc arch/spell/horn2.arc
*** ../../orig/crossfire-0.95.5-arch-patch2/spell/horn2.arc Tue Sep 21 08:18:57 1999
--- arch/spell/horn2.arc Wed Apr 19 12:44:14 2000
***************
*** 6,11 ****
--- 6,12 ----
color_bg khaki
speed 0.1
type 35
+ level 1
value 5900
weight 4000
material 2
diff -rc ../../orig/crossfire-0.95.5-arch-patch2/spell/horn3.arc arch/spell/horn3.arc
*** ../../orig/crossfire-0.95.5-arch-patch2/spell/horn3.arc Tue Sep 21 08:18:57 1999
--- arch/spell/horn3.arc Wed Apr 19 12:44:01 2000
***************
*** 6,11 ****
--- 6,12 ----
color_bg khaki
speed 0.1
type 35
+ level 1
value 5900
weight 4000
material 2