29 Aug, 2009, triskaledia wrote in the 1st comment:
Votes: 0
Perhaps a stupid question, but I'm curious if this is doing what I think it's supposed to:
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
29 Aug, 2009, Lancsta wrote in the 2nd comment:
Votes: 0
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;
}


I think your looking to do something like this.
29 Aug, 2009, triskaledia wrote in the 3rd comment:
Votes: 0
Forgot about the 'stat' command…
Appears that the syntax that the DIKU/ROM/MERC team has setup works, but the way they have it written just looks weird ass hell to me.
–Silence Tyire
0.0/3