diff --git a/server/gameserver/android.cc b/server/gameserver/android.cc index ba77675..332820f 100644 --- a/server/gameserver/android.cc +++ b/server/gameserver/android.cc @@ -9,7 +9,11 @@ Android::Android():Human() { + #if 1 + ai = new AndroidNewAI; + #else ai = new AndroidAI; + #endif ai->owner = this; #if 0 ++PerfMonitor::Instance()->entity_num[ET_Android]; diff --git a/server/gameserver/android.h b/server/gameserver/android.h index e89d2f9..cf6c092 100644 --- a/server/gameserver/android.h +++ b/server/gameserver/android.h @@ -8,10 +8,15 @@ namespace MetaData } class AndroidAI; +class AndroidNewAI; class Android : public Human { public: + #if 1 + AndroidNewAI* ai = nullptr; + #else AndroidAI* ai = nullptr; + #endif MetaData::Robot* robot_meta = nullptr; virtual ~Android() override; diff --git a/server/gameserver/android_new.ai.cc b/server/gameserver/android_new.ai.cc index b6c3ca6..2842045 100644 --- a/server/gameserver/android_new.ai.cc +++ b/server/gameserver/android_new.ai.cc @@ -401,6 +401,12 @@ void AndroidNewAI::UpdateNewAI() if (a8::HasBitFlag(hum->status, HS_Disable)) { return; } + if (!ai_meta && GetAiLevel() != 0) { + ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel()); + if (!ai_meta) { + abort(); + } + } ++node_.exec_frame_num; hum->shot_hold = false; switch (node_.main_state) {