diff --git a/server/gameserver/android.cc b/server/gameserver/android.cc index fdb14dc..3419c6c 100644 --- a/server/gameserver/android.cc +++ b/server/gameserver/android.cc @@ -9,8 +9,6 @@ Android::Android():Human() { - ai = new ZombieModeAI; - ai->owner = this; #if 0 ++PerfMonitor::Instance()->entity_num[ET_Android]; #endif @@ -18,8 +16,9 @@ Android::Android():Human() Android::~Android() { - delete ai; - ai = nullptr; + if (ai) { + A8_SAFE_DELETE(ai); + } #if 0 --PerfMonitor::Instance()->entity_num[ET_Android]; #endif @@ -27,6 +26,13 @@ Android::~Android() void Android::Initialize() { + if (room->GetRoomMode() == kZombieMode) { + ai = new ZombieModeAI; + ai->owner = this; + } else { + ai = new AndroidNewAI; + ai->owner = this; + } Human::Initialize(); RandSkin(); GiveEquip();