diff --git a/server/gameserver/android_agent.cc b/server/gameserver/android_agent.cc index 558388c5..20f15464 100644 --- a/server/gameserver/android_agent.cc +++ b/server/gameserver/android_agent.cc @@ -51,5 +51,21 @@ bool AndroidAgent::IsCrazeMode() bool AndroidAgent::IsCrazeModePrepareMode() { - return a8::HasBitFlag(GetOwner()->status, CS_CrazeMode); + if (!IsCrazeMode()) { + return false; + } + if (GetOwner()->room->GetFrameNo() - owner_->enable_frameno > SERVER_FRAME_RATE * 20) { + return false; + } else { + if (GetSafeAreaRadius() < 200) { + return false; + } + if (IsGameOver()) { + return false; + } + if (IsDead()) { + return false; + } + return true; + } }