[CF-Devel] Arrow, thrown object and generic attack fixes

Peter Mardahl peterm at tesla.EECS.Berkeley.EDU
Tue Oct 31 16:16:05 CST 2000


First, thanks for chasing down some of these hard bugs.
They're long-standing and no one else has been able
to figure them out, 'till now.  I really appreciate
your efforts.

>
     
      The real solution in this patch is the new stop_item() function that
     
     >
     
      stops arrows and thrown objects or tells the caller that cones can't be
     
     >
     
      stopped.  It is used in pick_up_object() and save_throw_object().
     
     
Excellent.

>
     
      While I was working at this problem, I rewrote the arrow handling in
     
     >
     
      server/time.c and noticed a bug there:  Arrows attacked while they were
     
     >
     
      in the process of being moved, and not on any map.  This could cause
     
     >
     
      server crashes when attacking a door with a rune.
     
     
Ahhhhhhhhh.  Yes, many areas of the code do this.  I didn't know
it would cause difficulties.

Speaking of runes, THEY can attack a player in a map while they're in an 
inventory, i.e., removed.  Would your patch break this?

Should we fix it by inserting the trap in the map with the thing
it is attacking?  Shouldn't be difficult to do that.

I will look at your patch.

PeterM

    
    


More information about the crossfire mailing list