From 63101cb7620cdf5a118623b05be57b430b397e94 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 18 Oct 2023 14:38:10 +0800 Subject: [PATCH] 1 --- server/gameserver/new_hero_agent.cc | 2 +- server/gameserver/target_agent.cc | 8 ++++++++ server/gameserver/target_agent.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/server/gameserver/new_hero_agent.cc b/server/gameserver/new_hero_agent.cc index 9186f847..93ebd0f1 100644 --- a/server/gameserver/new_hero_agent.cc +++ b/server/gameserver/new_hero_agent.cc @@ -712,7 +712,7 @@ bool HeroAgent::InTargetShotRange() if (!current_target_agent->IsValid()) { return false; } - float shot_range = GetShotRange(); + float shot_range = current_target_agent->GetShotRange(); bool in_square = Collision::InSquare (GetPos(), current_target_agent->GetPos(), diff --git a/server/gameserver/target_agent.cc b/server/gameserver/target_agent.cc index e5a12c61..3fa56cd9 100644 --- a/server/gameserver/target_agent.cc +++ b/server/gameserver/target_agent.cc @@ -86,3 +86,11 @@ Room* TargetAgent::GetRoom() { return owner_->room; } + +float TargetAgent::GetShotRange() +{ + if (target_.Get() && target_.Get()->GetCurrWeapon()) { + return target_.Get()->GetCurrWeapon()->meta->range(); + } + return 0.0f; +} diff --git a/server/gameserver/target_agent.h b/server/gameserver/target_agent.h index d074a657..efaf87b0 100644 --- a/server/gameserver/target_agent.h +++ b/server/gameserver/target_agent.h @@ -22,6 +22,7 @@ public: int GetHeroId(); int GetLevel(); void Abandon(); + float GetShotRange(); void SetOwner(Creature* owner); virtual Room* GetRoom() override;