diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index ad929185..c184a6c6 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -4035,5 +4035,14 @@ void Room::ClearPostBattleAutoFreeList() void Room::OnBattleStart() { - + std::vector entitys; + entitys.reserve(uniid_hash_.size()); + for (auto& pair : uniid_hash_) { + entitys.push_back(pair.second->GetEntityWeakPtrRef()); + } + for (auto& e : entitys) { + if (e.Get()) { + e.Get()->OnBattleStart(this); + } + } }