mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 05:21:29 +00:00
Another fix for portability issues
This commit is contained in:
parent
698ef56df9
commit
66ca522e62
@ -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<HealRotation>(this, interval_ms, fast_heals, adaptive_targeting, casting_override);
|
||||
@ -9266,7 +9266,7 @@ bool Bot::JoinHealRotationMemberPool(std::shared_ptr<HealRotation>* heal_rotatio
|
||||
return false;
|
||||
if (!(*heal_rotation))
|
||||
return false;
|
||||
if (!HealRotation::IsMemberClass(GetClass()))
|
||||
if (!IsHealRotationMemberClass(GetClass()))
|
||||
return false;
|
||||
|
||||
if (!(*heal_rotation)->AddMemberToPool(this))
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -5871,7 +5871,7 @@ bool Mob::JoinHealRotationTargetPool(std::shared_ptr<HealRotation>* heal_rotatio
|
||||
return false;
|
||||
if (!(*heal_rotation))
|
||||
return false;
|
||||
if (!HealRotation::IsTargetMobType(this))
|
||||
if (!IsHealRotationTargetMobType(this))
|
||||
return false;
|
||||
|
||||
if (!(*heal_rotation)->AddTargetToPool(this))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user