--- deliantra/server/common/object.C 2006/12/21 23:37:05 1.77 +++ deliantra/server/common/object.C 2006/12/22 16:34:00 1.78 @@ -469,48 +469,6 @@ op->key_values = 0; } -void object::clear () -{ - attachable_base::clear (); - - free_key_values (this); - - owner = 0; - name = 0; - name_pl = 0; - title = 0; - race = 0; - slaying = 0; - skill = 0; - msg = 0; - lore = 0; - custom_name = 0; - materialname = 0; - contr = 0; - below = 0; - above = 0; - inv = 0; - container = 0; - env = 0; - more = 0; - head = 0; - map = 0; - active_next = 0; - active_prev = 0; - - memset (static_cast(this), 0, sizeof (object_pod)); - - SET_FLAG (this, FLAG_REMOVED); - - /* What is not cleared is next, prev, and count */ - - expmul = 1.0; - face = blank_face; - - if (settings.casting_time) - casting_time = -1; -} - /* * copy_to first frees everything allocated by the dst object, * and then copies the contents of itself into the second @@ -1014,7 +972,7 @@ * to save cpu time. */ if ((otmp = in_player ()) && otmp->contr && !QUERY_FLAG (otmp, FLAG_NO_FIX_PLAYER)) - fix_player (otmp); + otmp->update_stats (); if (above != NULL) above->below = below; @@ -1726,7 +1684,7 @@ otmp = this->in_player (); if (otmp && otmp->contr) if (!QUERY_FLAG (otmp, FLAG_NO_FIX_PLAYER)) - fix_player (otmp); + otmp->update_stats (); op->map = 0; op->env = this;