From f669b63892dd9a2f0f1be9cee7b85742c076d60d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 18 May 2021 11:32:56 +0800 Subject: [PATCH] 1 --- server/gameserver/android.ai.cc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index 0a6d3f6..fb65eb9 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -587,11 +587,17 @@ void AndroidNewAI::UpdateRandomWalk() void AndroidNewAI::UpdatePursuit() { Human* myself = (Human*)owner; - float distance = myself->GetPos().Distance(node_.target.Get()->GetPos()); - if (!myself->HasBuffEffect(kBET_Jump) && - !a8::HasBitFlag(myself->status, HS_DisableAttack) && - distance < GetAttackRange()) { - ChangeToStateNewAI(ASE_Attack); + if (node_.target.Get()) { + float distance = myself->GetPos().Distance(node_.target.Get()->GetPos()); + if (!myself->HasBuffEffect(kBET_Jump) && + !a8::HasBitFlag(myself->status, HS_DisableAttack) && + distance < GetAttackRange()) { + ChangeToStateNewAI(ASE_Attack); + } else { + if (node_.exec_frame_num > 100 * 2) { + ChangeToStateNewAI(ASE_RandomWalk); + } + } } else { if (node_.exec_frame_num > 100 * 2) { ChangeToStateNewAI(ASE_RandomWalk);