if ( obj->timer <= 0 || –obj->timer > 0 )
continue;
if ( obj->in_room || (obj->carried_by && obj->carried_by->in_room))
{
if ( HAS_TRIGGER_OBJ( obj, TRIG_DELAY )
&& obj->oprog_delay > 0 )
{
if ( –obj->oprog_delay <= 0 )
p_percent_trigger( NULL, obj, NULL, NULL, NULL, NULL, TRIG_DELAY );
}
else if ( ((obj->in_room && !obj->in_room->area->empty)
|| obj->carried_by ) && HAS_TRIGGER_OBJ( obj, TRIG_RANDOM ) )
p_percent_trigger( NULL, obj, NULL, NULL, NULL, NULL, TRIG_RANDOM );
}
/* Make sure the object is still there before proceeding */
if ( !obj )
continue;
switch ( obj->item_type )
{
default:
message = "$p crumbles into dust.";
break;
case ITEM_FOUNTAIN:
message = "$p dries up.";
break;
case ITEM_CORPSE_NPC:
message = "$p decays into dust.";
break;
case ITEM_CORPSE_PC:
message = "$p decays into dust.";
break;
case ITEM_FOOD:
message = "$p decomposes.";
break;
case ITEM_POTION:
message = "$p has evaporated from disuse.";
break;
}
if (obj->timer <= 0 || –obj->timer > 0)
continue;
Is that statement saying that:
if obj->timer less than equal to 0 or obj->timer -1 > 0 continue?
basically subtracting 1 from the obj->timer every time this update occurs until it is equal to 0 then falling into
the statements where objects dissolve, turn to dust, evaporate, etc?
Using QuickMUD ROM 2.4
–Silence Tyire, of Reanimation