--- deliantra/server/include/object.h 2007/04/21 16:56:32 1.109 +++ deliantra/server/include/object.h 2007/05/03 09:26:45 1.114 @@ -297,8 +297,7 @@ // info must hold 256 * 3 bytes currently const char *debug_desc (char *info) const; - MTH const char *debug_desc () const; - const char *debug_desc2 () const; // another debug_desc, pure convinience function + MTH const char *debug_desc () const; // uses at least 3 round-robin buffers const char *flag_desc (char *desc, int len) const; int number_of () const @@ -334,6 +333,7 @@ MTH bool is_arrow () const { return type == ARROW || (type == SPELL_EFFECT && (subtype == SP_BULLET || subtype == SP_MAGIC_MISSILE)); } + MTH bool is_range () const { return type == BOW || type == ROD || type == WAND || type == HORN; } MTH bool has_active_speed () const { return FABS(speed) >= MIN_ACTIVE_SPEED; } @@ -364,11 +364,18 @@ return head ? head : this; } + MTH std::string long_desc (object *who = 0); + MTH std::string describe_monster (object *who = 0); + MTH std::string describe_item (object *who = 0); + MTH std::string describe (object *who = 0); + // If this object has no extra parts but should have them, // add them, effectively expanding heads into multipart // objects. This method only works on objects not inserted // anywhere. - void expand_tail (); + MTH void expand_tail (); + + MTH void create_treasure (treasurelist *tl, int flags = 0); // insert object at same map position as 'where' // handles both inventory and map "positions" @@ -382,7 +389,7 @@ // set the givne flag on all objects in the inventory recursively MTH void set_flag_inv (int flag, int value = 1); - void enter_exit (object *exit);//PERL + void enter_exit (object *exit);//Perl MTH void enter_map (maptile *newmap, int x, int y); // returns the mapspace this object is in