Another fix for portability issues

This commit is contained in:
Uleat 2016-03-24 20:33:37 -04:00
parent 698ef56df9
commit 66ca522e62
4 changed files with 16 additions and 16 deletions

View File

@ -9239,7 +9239,7 @@ bool Bot::CreateHealRotation(uint32 interval_ms, bool fast_heals, bool adaptive_
{ {
if (IsHealRotationMember()) if (IsHealRotationMember())
return false; return false;
if (!HealRotation::IsMemberClass(GetClass())) if (!IsHealRotationMemberClass(GetClass()))
return false; return false;
m_member_of_heal_rotation = std::make_shared<HealRotation>(this, interval_ms, fast_heals, adaptive_targeting, casting_override); 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; return false;
if (!(*heal_rotation)) if (!(*heal_rotation))
return false; return false;
if (!HealRotation::IsMemberClass(GetClass())) if (!IsHealRotationMemberClass(GetClass()))
return false; return false;
if (!(*heal_rotation)->AddMemberToPool(this)) if (!(*heal_rotation)->AddMemberToPool(this))

View File

@ -74,7 +74,7 @@ bool HealRotation::AddMemberToPool(Bot* hr_member)
{ {
if (!hr_member) if (!hr_member)
return false; return false;
if (!IsMemberClass(hr_member->GetClass())) if (!IsHealRotationMemberClass(hr_member->GetClass()))
return false; return false;
if (m_member_pool.size() >= RuleI(Bots, HealRotationMaxMembers)) if (m_member_pool.size() >= RuleI(Bots, HealRotationMaxMembers))
return false; return false;
@ -96,7 +96,7 @@ bool HealRotation::AddTargetToPool(Mob* hr_target)
return false; return false;
if (!valid_state()) if (!valid_state())
return false; return false;
if (!IsTargetMobType(hr_target)) if (!IsHealRotationTargetMobType(hr_target))
return false; return false;
if (m_target_pool.size() >= RuleI(Bots, HealRotationMaxTargets)) if (m_target_pool.size() >= RuleI(Bots, HealRotationMaxTargets))
return false; return false;
@ -498,7 +498,7 @@ void HealRotation::ResetArmorTypeHPLimits()
bool HealRotation::valid_state() bool HealRotation::valid_state()
{ {
m_member_pool.remove(nullptr); 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(); cycle_refresh();
@ -565,7 +565,7 @@ void HealRotation::bias_targets()
#define EQ_ALIVE(l, r) (l->GetAppearance() != eaDead && r->GetAppearance() != eaDead) #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_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_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_ARMTYPE(l, r) (ClassArmorType(l->GetClass()) == ClassArmorType(r->GetClass()))
#define EQ_ATCRIT(l, r) (l->GetHPRatio() <= (*l->TargetOfHealRotation())->ArmorTypeCriticalHPRatio(ClassArmorType(l->GetClass())) && \ #define EQ_ATCRIT(l, r) (l->GetHPRatio() <= (*l->TargetOfHealRotation())->ArmorTypeCriticalHPRatio(ClassArmorType(l->GetClass())) && \
r->GetHPRatio() <= (*r->TargetOfHealRotation())->ArmorTypeCriticalHPRatio(ClassArmorType(r->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_ALIVE(l, r) (l->GetAppearance() != eaDead && r->GetAppearance() == eaDead)
#define GT_READY(l, r, ct) (l->DontHealMeBefore() <= ct && r->DontHealMeBefore() > ct) #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_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_HEALFREQ(l, r) (l->HealRotationHealFrequency() > r->HealRotationHealFrequency())
#define GT_HEALCNT(l, r) (l->HealRotationHealCount() > r->HealRotationHealCount()) #define GT_HEALCNT(l, r) (l->HealRotationHealCount() > r->HealRotationHealCount())
#define GT_ATCRIT(l, r) (l->GetHPRatio() <= (*l->TargetOfHealRotation())->ArmorTypeCriticalHPRatio(ClassArmorType(l->GetClass())) && \ #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 // attempt to clear invalid target pool entries
m_target_pool.remove(nullptr); 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 uint32 sort_type = 0; // debug
@ -629,7 +629,7 @@ void HealRotation::bias_targets()
return false; return false;
}); });
if (IsMemberClass(m_target_pool.front()->GetClass()) && healable_target(false)) if (IsHealRotationMemberClass(m_target_pool.front()->GetClass()) && healable_target(false))
break; break;
sort_type = 3; // default sort_type = 3; // default
@ -710,7 +710,7 @@ void HealRotation::bias_targets()
return false; 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; break;
sort_type = 105; sort_type = 105;
@ -857,7 +857,7 @@ void HealRotation::bias_targets()
#endif #endif
} }
bool HealRotation::IsMemberClass(uint8 class_id) bool IsHealRotationMemberClass(uint8 class_id)
{ {
switch (class_id) { switch (class_id) {
case CLERIC: 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) if (!target_mob)
return false; return false;

View File

@ -107,9 +107,6 @@ public:
void ResetArmorTypeHPLimits(); void ResetArmorTypeHPLimits();
static bool IsMemberClass(uint8 class_id);
static bool IsTargetMobType(Mob* target_mob);
private: private:
bool valid_state(); bool valid_state();
void cycle_refresh(); void cycle_refresh();
@ -143,4 +140,7 @@ private:
float m_critical_hp_ratio[ARMOR_TYPE_COUNT]; float m_critical_hp_ratio[ARMOR_TYPE_COUNT];
}; };
bool IsHealRotationMemberClass(uint8 class_id);
bool IsHealRotationTargetMobType(Mob* target_mob);
#endif #endif

View File

@ -5871,7 +5871,7 @@ bool Mob::JoinHealRotationTargetPool(std::shared_ptr<HealRotation>* heal_rotatio
return false; return false;
if (!(*heal_rotation)) if (!(*heal_rotation))
return false; return false;
if (!HealRotation::IsTargetMobType(this)) if (!IsHealRotationTargetMobType(this))
return false; return false;
if (!(*heal_rotation)->AddTargetToPool(this)) if (!(*heal_rotation)->AddTargetToPool(this))