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]