Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CF: pickup flying arrow fix



Hi,

It was possible to pick up flying arrows and thrown objects.  The
objects that you got in your inventory could not be dropped or used in
any way, but disappeared after logout/login.

The patch just sets FLAG_NO_PICK in fire_bow() and do_throw().  I hope
I have not overlooked anything.

-- 
Jan
diff -rc orig/crossfire-0.95.5-patch7/server/player.c crossfire-0.95.5/server/player.c
*** orig/crossfire-0.95.5-patch7/server/player.c	Thu Apr 13 12:59:30 2000
--- crossfire-0.95.5/server/player.c	Thu Apr 13 14:56:22 2000
***************
*** 960,965 ****
--- 960,966 ----
      bow->stats.wc;
  
    arrow->map = op->map;
+   SET_FLAG(arrow, FLAG_NO_PICK);
    SET_FLAG(arrow, FLAG_FLYING);
    SET_FLAG(arrow, FLAG_FLY_ON);
    SET_FLAG(arrow, FLAG_WALK_ON);
diff -rc orig/crossfire-0.95.5-patch7/server/skills.c crossfire-0.95.5/server/skills.c
*** orig/crossfire-0.95.5-patch7/server/skills.c	Wed Mar 22 08:56:48 2000
--- crossfire-0.95.5/server/skills.c	Thu Apr 13 14:56:49 2000
***************
*** 1548,1553 ****
--- 1548,1554 ----
      throw_ob->speed_left = 0;
      throw_ob->map = op->map;
  
+     SET_FLAG(throw_ob, FLAG_NO_PICK);
      SET_FLAG(throw_ob, FLAG_FLYING);
      SET_FLAG(throw_ob, FLAG_FLY_ON);
      SET_FLAG(throw_ob, FLAG_WALK_ON);
diff -rc orig/crossfire-0.95.5-patch7/server/time.c crossfire-0.95.5/server/time.c
*** orig/crossfire-0.95.5-patch7/server/time.c	Wed Mar 22 08:56:48 2000
--- crossfire-0.95.5/server/time.c	Thu Apr 13 15:01:07 2000
***************
*** 466,471 ****
--- 466,472 ----
      }
  
      op->direction=0;
+     CLEAR_FLAG(op, FLAG_NO_PICK);
      CLEAR_FLAG(op, FLAG_WALK_ON);
      CLEAR_FLAG(op, FLAG_FLY_ON);
      CLEAR_FLAG(op, FLAG_FLYING);