--- deliantra/server/include/map.h 2008/05/06 16:55:26 1.93 +++ deliantra/server/include/map.h 2008/07/14 16:42:49 1.96 @@ -157,6 +157,11 @@ { return move_block && (mt & move_block) == mt; } + + bool blocks (object *op) const + { + return blocks (op->move_type); + } }; struct shopitems : zero_initialised @@ -218,7 +223,7 @@ bool ACC (RW, per_player); bool ACC (RW, per_party); bool ACC (RW, outdoor); /* True if an outdoor map */ - bool ACC (RW, nodrop); /* avoid dropping anything on this map */ + bool ACC (RW, no_drop); /* avoid auto-dropping (on death) anything on this map */ uint8 ACC (RW, darkness); /* indicates level of darkness of map */ uint16 ACC (RW, enter_x); /* enter_x and enter_y are default entrance location */ @@ -264,6 +269,7 @@ // set the given flag on all objects in the map MTH void set_object_flag (int flag, int value = 1); + MTH void post_load_original (); MTH void link_multipart_objects (); MTH void clear_unique_items (); @@ -422,9 +428,14 @@ return xy_normalise (m, x, y); } + mapspace &ms () const + { + return m->at (x, y); + } + object *insert (object *op, object *originator = 0, int flags = 0) const { - m->insert (op, x, y, originator, flags); + return m->insert (op, x, y, originator, flags); } };