diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index 21b905b..2e60951 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -111,6 +111,9 @@ void AndroidAI::DoAttack() a8::HasBitFlag(hum->status, HS_Jump)) { return; } + if (hum->room->gas_data.gas_mode == GasInactive) { + return; + } if (owner->updated_times % 10 == 0) { Human* enemy = owner->room->FindEnemy((Human*)owner); if (enemy) { diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 11f87e6..893edd4 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -84,6 +84,10 @@ void Room::UnInit() void Room::Update(int delta_time) { + if (game_over && frame_no - game_over_frameno > SERVER_FRAME_RATE * 20) { + return; + } + long long begin_tick = a8::XGetTickCount(); elapsed_time_ += delta_time; while (elapsed_time_ >= 50) {