--- deliantra/server/common/button.C 2006/12/30 10:16:10 1.21 +++ deliantra/server/common/button.C 2007/01/09 16:38:23 1.24 @@ -1,6 +1,7 @@ /* CrossFire, A Multiplayer game for X-windows + Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team Copyright (C) 2002 Mark Wedel & Crossfire Development Team Copyright (C) 1992 Frank Tore Johansen @@ -769,7 +770,6 @@ SET_FLAG (tmp, FLAG_MONSTER); tmp->stats.exp = 0; - SET_FLAG (tmp, FLAG_FRIENDLY); add_friendly_object (tmp); tmp->attack_movement = PETMOVE; @@ -834,6 +834,7 @@ void check_inv (object *op, object *trig) { + sint32 prev_state = trig->value; trig->value = 0; // deactivate if none of the following conditions apply if (object *pl = trig->ms ().player ()) @@ -851,6 +852,7 @@ trig->value = 1; } - push_button (trig); + if (prev_state != trig->value) + push_button (trig); }