> > That could result in some strange results with the light in > > r_mortal_start_room. I don't like any of the solutions very much. The > > equip should be performed after the player has entered a room.. But > > that would need quite a lot of work. I think I'll stick to plan A. > > (Just suppressing the error message in equip_char and unequip_char.) > > No it couldn't. They're not really in the room, their in_room is > set, but we don't put them in the room (eg., they are not in the linked > list of characters in the room). So, it should have no effect except > eliminating the error codes. Hmm. The following is taken from handler.c equip_char(): if (ch->in_room != NOWHERE) { if (pos == WEAR_LIGHT && GET_OBJ_TYPE(obj) == ITEM_LIGHT) if (GET_OBJ_VAL(obj, 2)) /* if light is ON */ world[ch->in_room].light++; } else log("SYSERR: ch->in_room = NOWHERE when equipping char."); The way I see it world[r_mortal_start_room].light will get screwed. If it's as you say and nothing gets affected, could you please explain how that's possible? Is there any difference between d->character->in_room and ch->in_room or what? (I tried setting d->character->in_room in interpreter.c before it calls Crash_load(), but I still got the SYSERR. Haven't figured that one out yet.. I've followed the code all the way down to the error message and it just should not be!? *shrug*) /Per Widerlund, RiftMUD
This archive was generated by hypermail 2b30 : 12/18/00 PST