diff --git a/zone/bot.cpp b/zone/bot.cpp index 93803d978..8cd82f9f6 100644 --- a/zone/bot.cpp +++ b/zone/bot.cpp @@ -9239,7 +9239,7 @@ bool Bot::CreateHealRotation(uint32 interval_ms, bool fast_heals, bool adaptive_ { if (IsHealRotationMember()) return false; - if (!HealRotation::IsMemberClass(GetClass())) + if (!IsHealRotationMemberClass(GetClass())) return false; m_member_of_heal_rotation = std::make_shared(this, interval_ms, fast_heals, adaptive_targeting, casting_override); @@ -9266,7 +9266,7 @@ bool Bot::JoinHealRotationMemberPool(std::shared_ptr* heal_rotatio return false; if (!(*heal_rotation)) return false; - if (!HealRotation::IsMemberClass(GetClass())) + if (!IsHealRotationMemberClass(GetClass())) return false; if (!(*heal_rotation)->AddMemberToPool(this)) diff --git a/zone/heal_rotation.cpp b/zone/heal_rotation.cpp index 465f66f00..e99b6560d 100644 --- a/zone/heal_rotation.cpp +++ b/zone/heal_rotation.cpp @@ -74,7 +74,7 @@ bool HealRotation::AddMemberToPool(Bot* hr_member) { if (!hr_member) return false; - if (!IsMemberClass(hr_member->GetClass())) + if (!IsHealRotationMemberClass(hr_member->GetClass())) return false; if (m_member_pool.size() >= RuleI(Bots, HealRotationMaxMembers)) return false; @@ -96,7 +96,7 @@ bool HealRotation::AddTargetToPool(Mob* hr_target) return false; if (!valid_state()) return false; - if (!IsTargetMobType(hr_target)) + if (!IsHealRotationTargetMobType(hr_target)) return false; if (m_target_pool.size() >= RuleI(Bots, HealRotationMaxTargets)) return false; @@ -498,7 +498,7 @@ void HealRotation::ResetArmorTypeHPLimits() bool HealRotation::valid_state() { m_member_pool.remove(nullptr); - m_member_pool.remove_if([](Mob* l) {return (!IsMemberClass(l->GetClass())); }); + m_member_pool.remove_if([](Mob* l) {return (!IsHealRotationMemberClass(l->GetClass())); }); cycle_refresh(); @@ -565,7 +565,7 @@ void HealRotation::bias_targets() #define EQ_ALIVE(l, r) (l->GetAppearance() != eaDead && r->GetAppearance() != eaDead) #define EQ_READY(l, r, ct) (l->DontHealMeBefore() <= ct && r->DontHealMeBefore() <= ct) #define EQ_TANK(l, r) ((l->HasGroup() && l->GetGroup()->AmIMainTank(l->GetCleanName())) && (r->HasGroup() && r->GetGroup()->AmIMainTank(r->GetCleanName()))) -#define EQ_HEALER(l, r) (IsMemberClass(l->GetClass()) && IsMemberClass(r->GetClass())) +#define EQ_HEALER(l, r) (IsHealRotationMemberClass(l->GetClass()) && IsHealRotationMemberClass(r->GetClass())) #define EQ_ARMTYPE(l, r) (ClassArmorType(l->GetClass()) == ClassArmorType(r->GetClass())) #define EQ_ATCRIT(l, r) (l->GetHPRatio() <= (*l->TargetOfHealRotation())->ArmorTypeCriticalHPRatio(ClassArmorType(l->GetClass())) && \ r->GetHPRatio() <= (*r->TargetOfHealRotation())->ArmorTypeCriticalHPRatio(ClassArmorType(r->GetClass()))) @@ -575,7 +575,7 @@ void HealRotation::bias_targets() #define GT_ALIVE(l, r) (l->GetAppearance() != eaDead && r->GetAppearance() == eaDead) #define GT_READY(l, r, ct) (l->DontHealMeBefore() <= ct && r->DontHealMeBefore() > ct) #define GT_TANK(l, r) ((l->HasGroup() && l->GetGroup()->AmIMainTank(l->GetCleanName())) && (!r->HasGroup() || !r->GetGroup()->AmIMainTank(r->GetCleanName()))) -#define GT_HEALER(l, r) (IsMemberClass(l->GetClass()) && !IsMemberClass(r->GetClass())) +#define GT_HEALER(l, r) (IsHealRotationMemberClass(l->GetClass()) && !IsHealRotationMemberClass(r->GetClass())) #define GT_HEALFREQ(l, r) (l->HealRotationHealFrequency() > r->HealRotationHealFrequency()) #define GT_HEALCNT(l, r) (l->HealRotationHealCount() > r->HealRotationHealCount()) #define GT_ATCRIT(l, r) (l->GetHPRatio() <= (*l->TargetOfHealRotation())->ArmorTypeCriticalHPRatio(ClassArmorType(l->GetClass())) && \ @@ -593,7 +593,7 @@ void HealRotation::bias_targets() // attempt to clear invalid target pool entries m_target_pool.remove(nullptr); - m_target_pool.remove_if([](Mob* l) { return (!IsTargetMobType(l)); }); + m_target_pool.remove_if([](Mob* l) { return (!IsHealRotationTargetMobType(l)); }); uint32 sort_type = 0; // debug @@ -629,7 +629,7 @@ void HealRotation::bias_targets() return false; }); - if (IsMemberClass(m_target_pool.front()->GetClass()) && healable_target(false)) + if (IsHealRotationMemberClass(m_target_pool.front()->GetClass()) && healable_target(false)) break; sort_type = 3; // default @@ -710,7 +710,7 @@ void HealRotation::bias_targets() return false; }); - if (IsMemberClass(m_target_pool.front()->GetClass()) && healable_target(true, true)) + if (IsHealRotationMemberClass(m_target_pool.front()->GetClass()) && healable_target(true, true)) break; sort_type = 105; @@ -857,7 +857,7 @@ void HealRotation::bias_targets() #endif } -bool HealRotation::IsMemberClass(uint8 class_id) +bool IsHealRotationMemberClass(uint8 class_id) { switch (class_id) { case CLERIC: @@ -869,7 +869,7 @@ bool HealRotation::IsMemberClass(uint8 class_id) } } -bool HealRotation::IsTargetMobType(Mob* target_mob) +bool IsHealRotationTargetMobType(Mob* target_mob) { if (!target_mob) return false; diff --git a/zone/heal_rotation.h b/zone/heal_rotation.h index 54b089ed3..460179719 100644 --- a/zone/heal_rotation.h +++ b/zone/heal_rotation.h @@ -107,9 +107,6 @@ public: void ResetArmorTypeHPLimits(); - static bool IsMemberClass(uint8 class_id); - static bool IsTargetMobType(Mob* target_mob); - private: bool valid_state(); void cycle_refresh(); @@ -143,4 +140,7 @@ private: float m_critical_hp_ratio[ARMOR_TYPE_COUNT]; }; +bool IsHealRotationMemberClass(uint8 class_id); +bool IsHealRotationTargetMobType(Mob* target_mob); + #endif diff --git a/zone/mob.cpp b/zone/mob.cpp index 21458a2d7..746f68b5f 100644 --- a/zone/mob.cpp +++ b/zone/mob.cpp @@ -5871,7 +5871,7 @@ bool Mob::JoinHealRotationTargetPool(std::shared_ptr* heal_rotatio return false; if (!(*heal_rotation)) return false; - if (!HealRotation::IsTargetMobType(this)) + if (!IsHealRotationTargetMobType(this)) return false; if (!(*heal_rotation)->AddTargetToPool(this))