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