diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 08669fbe..dd39c182 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1285,9 +1285,12 @@ void Room::TraverseAliveHumanList(std::function func) void Room::TraverseCreatureList(std::function func) { for (auto& pair : moveable_hash_) { - if (pair.second && !pair.second->IsOb() && pair.second->IsCreature(this)) { - if (!func((Creature*)pair.second)) { - break; + if (pair.second && pair.second->IsCreature(this)) { + Creature* c = (Creature*)pair.second; + if (!c->IsOb()) { + if (!func(c)) { + break; + } } } }