On Sun, 16 Feb 1997, James Goddard wrote:
> Now, I know it's late at night and I'm getting a little bugeyed but I
> see several problems here:
>
> 1. If obj->timer is 1, then this will set obj->timer to -1
> 2. Nothing is actually done with the object when the timer when it
> reaches 0
> 3. If I add the fix I want to add, timers can go down by as many as 3
> times per tick
>
> Can someone please explain why this is here, what it was supposed to do,
> and what the consequences of taking it out are?
It takes 2 away from the object's timer when the person is wearing the
equipment, and 1 away from when it's in their inventory. This code does
not need to be changed from what I can see. A quick grep of the word
'maggots' (you know, the message, "A quivering horde of maggots consumes
the corpse of Nether") shows objects in the room's timer is handled in
point_update. For equipment carried, you need to add the timer checks:
for (i = 0; i < NUM_WEARS; i++)
if (GET_EQ(ch, i)) {
update_object(GET_EQ(ch, i), 2);
if (GET_EQ(ch, i)->timer <= 0) {
// do whatever
}
}
Also, you'll need to change update_object() under next_content to check
if the object's timer is <= 0 and do whatever you want. Not the most
obvious of things, I guess.
--
Daniel Koepke
dkoepke@california.com
Forgive me father, for I am sin.
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
| Or send 'info circle' to majordomo@cspo.queensu.ca |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST