diff --git a/server/gameserver/android_new.ai.cc b/server/gameserver/android_new.ai.cc index 9dbaaad..8248205 100644 --- a/server/gameserver/android_new.ai.cc +++ b/server/gameserver/android_new.ai.cc @@ -22,15 +22,42 @@ ai级别 8: 跑动射击 */ -static std::vector AI_LEVEL = - { - 1 - }; - AndroidNewAI::~AndroidNewAI() { } void AndroidNewAI::Update(int delta_time) { + Human* hum = (Human*)owner; + if (hum->poisoning) { + hum->poisoning_time += delta_time; + } + if (hum->poisoning) { + hum->UpdatePoisoning(); + } + if (hum->dead) { + return; + } + if (a8::HasBitFlag(hum->status, HS_NewBieGuideAndroid)) { + #if 0 + UpdateNewBieNpc(); + #endif + return; + } + if (a8::HasBitFlag(hum->status, HS_LastAndroid)) { + #if 0 + UpdateLastNpc(); + #endif + return; + } + if ((hum->room->GetRoomType() == RT_NewBrid || + hum->room->GetRoomType() == RT_MidBrid) && + hum->room->GetGasData().gas_mode != GasInactive && + hum->team_uuid.empty() + ) { + #if 0 + UpdateNewBieRoomLogic(); + #endif + return; + } } diff --git a/server/gameserver/android_new.ai.h b/server/gameserver/android_new.ai.h index 2032bf5..ba3dd79 100644 --- a/server/gameserver/android_new.ai.h +++ b/server/gameserver/android_new.ai.h @@ -10,4 +10,7 @@ class AndroidNewAI : public AIComponent virtual ~AndroidNewAI() override; virtual void Update(int delta_time) override; + private: + int ai_level_ = 0; + }; diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index fb84daf..c3416d5 100755 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -725,3 +725,8 @@ MetaData::Robot* MetaMgr::RandRobot(std::set& refreshed_robot_set) } } } + +std::vector* MetaMgr::GetAiCommandSequence(int ai_level) +{ + return nullptr; +} diff --git a/server/gameserver/metamgr.h b/server/gameserver/metamgr.h index b7c20cc..4a65d92 100755 --- a/server/gameserver/metamgr.h +++ b/server/gameserver/metamgr.h @@ -45,6 +45,7 @@ class MetaMgr : public a8::Singleton int GetKillPointParam1(int kill_num); int GetKillPointParam2(int kill_num); MetaData::Robot* RandRobot(std::set& refreshed_robot_set); + std::vector* GetAiCommandSequence(int ai_level); int gas_inactive_time = 10; int newbie_gas_inactive_time = 10; diff --git a/server/gameserver/types.h b/server/gameserver/types.h index 86a4ac1..940c5ec 100755 --- a/server/gameserver/types.h +++ b/server/gameserver/types.h @@ -145,6 +145,15 @@ struct ObjectSyncFlags }; #pragma pack() +struct AiCommand +{ + int cmd = 0; + std::string cmd_name = 0; + long long param1 = 0; + long long param2 = 0; + long long param3 = 0; +}; + class GridService; class MapService; class Building;