From 31c1c73ec76446dfe3c06ec41f20c62ff92f5a5f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 25 Jun 2021 16:55:13 +0800 Subject: [PATCH] 1 --- server/gameserver/room.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 3f9538a..a76f37f 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -3969,14 +3969,16 @@ void Room::AirRaid(int airraid_id) ); a8::Vec2 dir = a8::Vec2::UP; dir.Rotate(a8::RandAngle()); - a8::Vec2 pos = center + dir * (50 + rand() % 100);; - RoomObstacle* obstacle = room->CreateObstacle - ( - raid_meta->i->bomb_id(), - pos.x, - pos.y - ); - obstacle->Active(); + a8::Vec2 pos = center + dir * (50 + rand() % 100); + if (room->grid_service->CanAdd(pos.x, pos.y)) { + RoomObstacle* obstacle = room->CreateObstacle + ( + raid_meta->i->bomb_id(), + pos.x, + pos.y + ); + obstacle->Active(); + } }; Room* room = (Room*)param.sender.GetUserData(); if (room->IsGameOver()) {