Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(Fwd) Re: CF: Dread Crash
--- Forwarded mail from krisb@ender.ring.org
From: krisb@ender.ring.org
Date: Wed, 13 Jan 1999 17:38:12 -0800 (PST)
To: Peter Mardahl <peterm@langmuir.EECS.Berkeley.EDU>
cc: crossfire@ifi.uio.no
Subject: Re: CF: Dread Crash
I don't know what it does exactly, attack type: 32768
Object cancellation
type 141
face cancellati.111
animation cancellation
is_animated 1
is_turnable 0
no_pick 1
walk_on 1
fly_on 1
speed 1
attacktype 32768
wc 0
dam 0
flying 1
editable 0
end
-Kris
On Wed, 13 Jan 1999, Peter Mardahl wrote:
> >
> > I think my crash is related to this line in spell_effect.c in
> > fire_cancellation():
> >
> > int fire_cancellation(object *op,int dir,archetype *at, int magic) {
> > object *tmp;
> > if(at==NULL)
> > return 0;
> > tmp=arch_to_object(at);
> > if(tmp==NULL)
> > return 0;
> > tmp->x=op->x,tmp->y=op->y;
> > tmp->direction=dir;
> > if(magic)
> > tmp->attacktype|=AT_MAGIC;
> > set_owner(tmp,op);
> > ==> if(op->type==PLAYER)
> > insert_ob_in_map(tmp,op->map);
> > move_cancellation(tmp);
> > return 1;
> > }
> >
> > Does anyone know why this condition is there? I think the later problems
> > come from trying to move the cancellation object when it hasn't been
> > inserted into a map.
>
> I don't know why that condition is there, but I agree, it's BAD.
> If it doesn't put the cancellation in the map, it should destroy it.
>
> What does cancellation DO anyway?
>
> Anyway, either the if statement should be nuked, or it should
> be changed to:
>
> if(op->type==PLAYER) {
> insert_ob_in_map(tmp,op->map);
> move_cancellation(tmp);
> }
> else
> free_ob(tmp);
>
> (or something similar which works.)
>
> PeterM
>
>
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]
---End of forwarded mail from krisb@ender.ring.org
--
-- Mark Wedel
mark@pyramid.com
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]