Re: NODROP

From: George Greer (greerga@circlemud.org)
Date: 09/25/02


On Fri, 20 Sep 2002, Mike Stilson wrote:

>I think what he's talking about it this scenario:
>You have a NODROP item.
>There's a box (container in room)
>You type: "put cursedcrap box"
>Player B can now: "get cursedcrap box".
>
>since it does allow you to put cursed items into containers, and flags
>them, but doesn't check that the container is in your inventory only.

So something like this:

Index: act.item.c
===================================================================
RCS file: /home/circledb/.cvs/circle/src/act.item.c,v
retrieving revision 1.51
diff -u -p -r1.51 act.item.c
--- act.item.c  9 Apr 2002 14:12:15 -0000       1.51
+++ act.item.c  25 Sep 2002 23:42:25 -0000
@@ -66,6 +66,8 @@ void perform_put(struct char_data *ch, s
 {
   if (GET_OBJ_WEIGHT(cont) + GET_OBJ_WEIGHT(obj) > GET_OBJ_VAL(cont, 0))
     act("$p won't fit in $P.", FALSE, ch, obj, cont, TO_CHAR);
+  else if (OBJ_FLAGGED(obj, ITEM_NODROP) && cont->in_room != NOWHERE)
+    act("You can't get $p out of your hand.", FALSE, ch, obj, NULL, TO_CHAR);
   else {
     obj_from_char(obj);
     obj_to_obj(obj, cont);

--
George Greer
greerga@circlemud.org

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT