--- deliantra/server/include/object.h 2008/06/15 19:34:31 1.178 +++ deliantra/server/include/object.h 2008/09/19 01:39:45 1.181 @@ -177,7 +177,7 @@ float ACC (RW, speed); /* The overall speed of this object */ float ACC (RW, speed_left); /* How much speed is left to spend this round */ - uint32 ACC (RW, nrof); /* How many of the objects */ + sint32 ACC (RW, nrof); /* How many of the objects */ /* This next big block is basically used for monsters and equipment */ uint16 ACC (RW, client_type); /* Public type information. see doc/Developers/objects */ @@ -469,20 +469,28 @@ */ MTH bool has_random_items () const { return randomitems && !flag [FLAG_IS_A_TEMPLATE]; } + MTH bool has_dialogue () const { return *&msg == '@'; } + // returns the outermost owner, never returns 0 MTH object *outer_owner () { - for (object *op = this; ; op = op->owner) - if (!op->owner) - return op; + object *op; + + for (op = this; op->owner; op = op->owner) + ; + + return op; } // returns the outermost environment, never returns 0 MTH object *outer_env () { - for (object *op = this; ; op = op->env) - if (!op->env) - return op; + object *op; + + for (op = this; op->env; op = op->env) + ; + + return op; } // returns the player that has this object in his inventory, or 0