From e42c46ffd6a83ebfdadb0927ebd2916e4cc0c1e4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 30 Mar 2021 14:35:18 +0800 Subject: [PATCH] 1 --- server/gameserver/android.ai.cc | 19 +++++-------------- server/gameserver/android.ai.h | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index 8b136b5..dcecd0e 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -482,7 +482,7 @@ void AndroidNewAI::UpdateThinking() ChangeToStateNewAI(ASE_RandomWalk); } } else { - Human* target = GetTarget(); + Creature* target = GetTarget(); if (target) { node_.target.Attach(target); ChangeToStateNewAI(ASE_Attack); @@ -682,7 +682,7 @@ void AndroidNewAI::ChangeToStateNewAI(AndroidStateEx_e to_state) node_.exec_frame_num = 0; } -Human* AndroidNewAI::GetTarget() +Creature* AndroidNewAI::GetTarget() { if (GetAiLevel() <= 1) { return nullptr; @@ -692,20 +692,11 @@ Human* AndroidNewAI::GetTarget() return nullptr; } - Human* target = nullptr; - myself->TouchAllLayerHumanList + Creature* target = nullptr; + myself->TouchProperTargets ( - [myself, &target] (Human* hum, bool& stop) + [myself, &target] (Creature* hum, bool& stop) { - if (hum->dead) { - return; - } - if (a8::HasBitFlag(hum->status, HS_Disable)) { - return; - } - if (myself->team_id == hum->team_id) { - return; - } if (target) { if (myself->GetPos().ManhattanDistance(target->GetPos()) > myself->GetPos().ManhattanDistance(hum->GetPos())) { diff --git a/server/gameserver/android.ai.h b/server/gameserver/android.ai.h index 2180549..ea34f7c 100644 --- a/server/gameserver/android.ai.h +++ b/server/gameserver/android.ai.h @@ -82,7 +82,7 @@ private: void ChangeToStateNewAI(AndroidStateEx_e to_state); void DoShotNewAI(); - Human* GetTarget(); + Creature* GetTarget(); float GetAttackRange(); int GetAttackTimes();