Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Destruction
- To: crossfire (at) ifi.uio.no
- Subject: Destruction
- From: Christian Magnusson <>
- Date: Sat, 24 Sep 1994 16:31:11 +0200 (MET DST)
BTW. I forgot to tell you that I've changed destructions damage. Desruction
couldn't be constructed to make this damage....
(just an example of 4x4 squares damage, damage=6 and
SP_level_dam_adjust(op,SP_DESTRUCTION)=3 )
9 12 15 18
21 24 27 30
33 36 39 42
45 48 51 54
Shouldn't it be like this...
9 9 9 9
9 9 9 9
9 9 9 9
9 9 9 9
the line
dam += SP_level_dam_adjust(op,SP_DESTRUCTION);
is increasing the damage after every square (with a monster) as it is
written now.
This would sometimes make 50 times damage in the lower right square ?
Should destruction be constructed like this ??
I've changed it to :
spell_effect.c
int cast_destruction(object *op, int dam, int attacktype) {
int i,j;
int r; /* peterm: added to make area of effect level dep. */
object *tmp;
if(op->type!=PLAYER)
return 0;
r=5 + SP_level_strength_adjust(op,SP_DESTRUCTION);
dam += SP_level_dam_adjust(op,SP_DESTRUCTION); /* d1mag add damage here!! */
for(i= -r;i<r;i++) {
for(j= -r;j<r;j++) {
if(out_of_map(op->map,op->x+i,op->y+j))
continue;
tmp=get_map_ob(op->map,op->x+i,op->y+j);
while(tmp!=NULL&&(!QUERY_FLAG(tmp, FLAG_ALIVE)||tmp->type==PLAYER))
tmp=tmp->above;
if(tmp==NULL)
continue;
hit_player(tmp,dam,op,attacktype);
}
}
return 1;
}
/Mag
--
| Christian 'Mag' Magnusson Computer Science and Engineering
| Internet: Chalmers University of Technology
| Amiga Programmer: VoiXEL, HP28S-Com