I had already fixed this problem about 3 years ago, just never even noticed I had done it until I went back and looked at the code. This is what my perform_drop looks like: void perform_put(struct char_data *ch, struct obj_data *obj, struct obj_data *cont) { 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 ((IN_ROOM(cont) != NOWHERE) && OBJ_FLAGGED(obj, ITEM_NODROP)) act("You can't seem to let go of $p!", FALSE, ch, obj, 0, TO_CHAR); else { obj_from_char(obj); obj_to_obj(obj, cont); act("$n puts $p in $P.", TRUE, ch, obj, cont, TO_ROOM); /* Yes, I realize this is strange until we have auto-equip on rent. -gg */ if (OBJ_FLAGGED(obj, ITEM_NODROP) && !OBJ_FLAGGED(cont, ITEM_NODROP)) { SET_BIT(GET_OBJ_EXTRA(cont), ITEM_NODROP); act("You get a strange feeling as you put $p in $P.", FALSE, ch, obj, cont, TO_CHAR); } else act("You put $p in $P.", FALSE, ch, obj, cont, TO_CHAR); } } -- +---------------------------------------------------------------+ | 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