From 08994498ffb034dc483ecaa39f8d64b397330c1e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 16 Aug 2023 15:31:05 +0800 Subject: [PATCH] 1 --- server/bin/exported/android_chase_to_kill.xml | 5 +++++ server/bin/exported/boss_40101_chase_to_kill.xml | 2 +- server/gameserver/android_agent.cc | 5 +++++ server/gameserver/base_agent.cc | 10 +++++++++- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/server/bin/exported/android_chase_to_kill.xml b/server/bin/exported/android_chase_to_kill.xml index 9dfd7653..57c8718f 100644 --- a/server/bin/exported/android_chase_to_kill.xml +++ b/server/bin/exported/android_chase_to_kill.xml @@ -9,6 +9,11 @@ + + + + + diff --git a/server/bin/exported/boss_40101_chase_to_kill.xml b/server/bin/exported/boss_40101_chase_to_kill.xml index 6dd2ccef..291ee1d7 100644 --- a/server/bin/exported/boss_40101_chase_to_kill.xml +++ b/server/bin/exported/boss_40101_chase_to_kill.xml @@ -46,7 +46,7 @@ - + diff --git a/server/gameserver/android_agent.cc b/server/gameserver/android_agent.cc index 66ffee10..e1f3701a 100644 --- a/server/gameserver/android_agent.cc +++ b/server/gameserver/android_agent.cc @@ -45,8 +45,13 @@ bool AndroidAgent::IsCrazeModePrepareMode() if (!IsCrazeMode()) { return false; } +#ifdef DEBUG + if (GetOwner()->room->GetFrameNo() - GetOwner()->AsHuman()->enable_frameno > SERVER_FRAME_RATE * 5) { + return false; +#else if (GetOwner()->room->GetFrameNo() - GetOwner()->AsHuman()->enable_frameno > SERVER_FRAME_RATE * 20) { return false; +#endif } else { if (GetSafeAreaRadius() < 200) { return false; diff --git a/server/gameserver/base_agent.cc b/server/gameserver/base_agent.cc index 8349dea0..fc191697 100644 --- a/server/gameserver/base_agent.cc +++ b/server/gameserver/base_agent.cc @@ -308,6 +308,9 @@ behaviac::EBTStatus BaseAgent::SelectUseableSkill(const behaviac::vector sk if (!current_target_.Get()) { return behaviac::BT_FAILURE; } + if (GlmHelper::IsEqual2D(GetOwner()->GetPos().ToGlmVec3(), + current_target_.Get()->GetPos().ToGlmVec3())) { + } for (int skill_id : skill_ids) { Skill* skill = GetOwner()->GetSkill(skill_id); if (skill && GetOwner()->CanUseSkill(skill->GetSkillId())) { @@ -366,10 +369,15 @@ behaviac::EBTStatus BaseAgent::CoMoveToCurrentTarget(float distance) if (!current_target_.Get()) { return behaviac::BT_FAILURE; } + float target_distance = GetOwner()->GetPos().Distance2D2(current_target_.Get()->GetPos()); + if (target_distance > 2) { + return behaviac::BT_SUCCESS; + } + /* if (GlmHelper::IsEqual2D(GetOwner()->GetPos().ToGlmVec3(), current_target_.Get()->GetPos().ToGlmVec3())) { return behaviac::BT_SUCCESS; - } + }*/ auto context = MAKE_BTCONTEXT ( CreatureWeakPtr target;