diff --git a/server/gameserver/roomobstacle.cc b/server/gameserver/roomobstacle.cc index f938d16..cc27518 100644 --- a/server/gameserver/roomobstacle.cc +++ b/server/gameserver/roomobstacle.cc @@ -208,9 +208,10 @@ void RoomObstacle::SpecExplosion() room->grid_service->TraverseAllLayerHumanList (room->GetRoomIdx(), *grid_list_, - [this, &human_list] (Human* hum, bool& stop) + [this, &human_list, &bomb_pos] (Human* hum, bool& stop) { - if (master.Get()->team_id != hum->team_id && TestCollision(room, hum)) { + if (master.Get()->team_id != hum->team_id && + bomb_pos.Distance(hum->GetPos()) < meta->i->damage_dia()) { human_list.insert(hum); } }