diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-05-04 13:46:21 +0200 |
---|---|---|
committer | Treeston <treeston.mmoc@gmail.com> | 2018-05-04 13:46:21 +0200 |
commit | 7fe59c95d857708181991bf8478712b56e5076ac (patch) | |
tree | 13c7a88584cbbd394c02216f6b994e2321375f44 /src | |
parent | 1b7ec4bc841cd51e17bb21a3d4b774102f195c46 (diff) |
1b7ec4b follow-up
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Combat/ThreatManager.cpp | 13 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 103 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 56 |
3 files changed, 82 insertions, 90 deletions
diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp index db0ac13c6ce..39f69d65700 100644 --- a/src/server/game/Combat/ThreatManager.cpp +++ b/src/server/game/Combat/ThreatManager.cpp @@ -110,16 +110,9 @@ ThreatReference::OnlineState ThreatReference::SelectOnlineState() void ThreatReference::UpdateTauntState(TauntState state) { - if (state < TAUNT_STATE_TAUNT) // not taunting - { - // Check for SPELL_AURA_MOD_DETAUNT (applied from owner to victim) - for (AuraEffect const* eff : _victim->GetAuraEffectsByType(SPELL_AURA_MOD_DETAUNT)) - if (eff->GetCasterGUID() == _owner->GetGUID()) - { - state = TAUNT_STATE_DETAUNT; - break; - } - } + // Check for SPELL_AURA_MOD_DETAUNT (applied from owner to victim) + if (state < TAUNT_STATE_TAUNT && _victim->HasAuraTypeWithCaster(SPELL_AURA_MOD_DETAUNT, _owner->GetGUID())) + state = TAUNT_STATE_DETAUNT; if (state == _taunted) return; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index bdcb80bcb0b..2f8f2b26726 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -4492,36 +4492,35 @@ bool Unit::HasAuraType(AuraType auraType) const return (!m_modAuras[auraType].empty()); } -bool Unit::HasAuraTypeWithCaster(AuraType auratype, ObjectGuid caster) const +bool Unit::HasAuraTypeWithCaster(AuraType auraType, ObjectGuid caster) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); - for (AuraEffectList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i) - if (caster == (*i)->GetCasterGUID()) + for (AuraEffect const* eff : GetAuraEffectsByType(auraType)) + if (caster == eff->GetCasterGUID()) return true; return false; } -bool Unit::HasAuraTypeWithMiscvalue(AuraType auratype, int32 miscvalue) const +bool Unit::HasAuraTypeWithMiscvalue(AuraType auraType, int32 miscvalue) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); + AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auraType); for (AuraEffectList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i) if (miscvalue == (*i)->GetMiscValue()) return true; return false; } -bool Unit::HasAuraTypeWithAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const +bool Unit::HasAuraTypeWithAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); + AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auraType); for (AuraEffectList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i) if ((*i)->IsAffectedOnSpell(affectedSpell)) return true; return false; } -bool Unit::HasAuraTypeWithValue(AuraType auratype, int32 value) const +bool Unit::HasAuraTypeWithValue(AuraType auraType, int32 value) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); + AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auraType); for (AuraEffectList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i) if (value == (*i)->GetAmount()) return true; @@ -4644,9 +4643,9 @@ uint32 Unit::GetDoTsByCaster(ObjectGuid casterGUID) const return dots; } -int32 Unit::GetTotalAuraModifier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const +int32 Unit::GetTotalAuraModifier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); + AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auraType); if (mTotalAuraList.empty()) return 0; @@ -4659,7 +4658,7 @@ int32 Unit::GetTotalAuraModifier(AuraType auratype, std::function<bool(AuraEffec { // Check if the Aura Effect has a the Same Effect Stack Rule and if so, use the highest amount of that SpellGroup // If the Aura Effect does not have this Stack Rule, it returns false so we can add to the multiplier as usual - if (!sSpellMgr->AddSameEffectStackRuleSpellGroups(aurEff->GetSpellInfo(), static_cast<uint32>(auratype), aurEff->GetAmount(), sameEffectSpellGroup)) + if (!sSpellMgr->AddSameEffectStackRuleSpellGroups(aurEff->GetSpellInfo(), static_cast<uint32>(auraType), aurEff->GetAmount(), sameEffectSpellGroup)) modifier += aurEff->GetAmount(); } } @@ -4671,9 +4670,9 @@ int32 Unit::GetTotalAuraModifier(AuraType auratype, std::function<bool(AuraEffec return modifier; } -float Unit::GetTotalAuraMultiplier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const +float Unit::GetTotalAuraMultiplier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); + AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auraType); if (mTotalAuraList.empty()) return 1.0f; @@ -4686,7 +4685,7 @@ float Unit::GetTotalAuraMultiplier(AuraType auratype, std::function<bool(AuraEff { // Check if the Aura Effect has a the Same Effect Stack Rule and if so, use the highest amount of that SpellGroup // If the Aura Effect does not have this Stack Rule, it returns false so we can add to the multiplier as usual - if (!sSpellMgr->AddSameEffectStackRuleSpellGroups(aurEff->GetSpellInfo(), static_cast<uint32>(auratype), aurEff->GetAmount(), sameEffectSpellGroup)) + if (!sSpellMgr->AddSameEffectStackRuleSpellGroups(aurEff->GetSpellInfo(), static_cast<uint32>(auraType), aurEff->GetAmount(), sameEffectSpellGroup)) AddPct(multiplier, aurEff->GetAmount()); } } @@ -4698,9 +4697,9 @@ float Unit::GetTotalAuraMultiplier(AuraType auratype, std::function<bool(AuraEff return multiplier; } -int32 Unit::GetMaxPositiveAuraModifier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const +int32 Unit::GetMaxPositiveAuraModifier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); + AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auraType); if (mTotalAuraList.empty()) return 0; @@ -4714,9 +4713,9 @@ int32 Unit::GetMaxPositiveAuraModifier(AuraType auratype, std::function<bool(Aur return modifier; } -int32 Unit::GetMaxNegativeAuraModifier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const +int32 Unit::GetMaxNegativeAuraModifier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const { - AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype); + AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auraType); if (mTotalAuraList.empty()) return 0; @@ -4730,29 +4729,29 @@ int32 Unit::GetMaxNegativeAuraModifier(AuraType auratype, std::function<bool(Aur return modifier; } -int32 Unit::GetTotalAuraModifier(AuraType auratype) const +int32 Unit::GetTotalAuraModifier(AuraType auraType) const { - return GetTotalAuraModifier(auratype, [](AuraEffect const* /*aurEff*/) { return true; }); + return GetTotalAuraModifier(auraType, [](AuraEffect const* /*aurEff*/) { return true; }); } -float Unit::GetTotalAuraMultiplier(AuraType auratype) const +float Unit::GetTotalAuraMultiplier(AuraType auraType) const { - return GetTotalAuraMultiplier(auratype, [](AuraEffect const* /*aurEff*/) { return true; }); + return GetTotalAuraMultiplier(auraType, [](AuraEffect const* /*aurEff*/) { return true; }); } -int32 Unit::GetMaxPositiveAuraModifier(AuraType auratype) const +int32 Unit::GetMaxPositiveAuraModifier(AuraType auraType) const { - return GetMaxPositiveAuraModifier(auratype, [](AuraEffect const* /*aurEff*/) { return true; }); + return GetMaxPositiveAuraModifier(auraType, [](AuraEffect const* /*aurEff*/) { return true; }); } -int32 Unit::GetMaxNegativeAuraModifier(AuraType auratype) const +int32 Unit::GetMaxNegativeAuraModifier(AuraType auraType) const { - return GetMaxNegativeAuraModifier(auratype, [](AuraEffect const* /*aurEff*/) { return true; }); + return GetMaxNegativeAuraModifier(auraType, [](AuraEffect const* /*aurEff*/) { return true; }); } -int32 Unit::GetTotalAuraModifierByMiscMask(AuraType auratype, uint32 miscMask) const +int32 Unit::GetTotalAuraModifierByMiscMask(AuraType auraType, uint32 miscMask) const { - return GetTotalAuraModifier(auratype, [miscMask](AuraEffect const* aurEff) -> bool + return GetTotalAuraModifier(auraType, [miscMask](AuraEffect const* aurEff) -> bool { if ((aurEff->GetMiscValue() & miscMask) != 0) return true; @@ -4760,9 +4759,9 @@ int32 Unit::GetTotalAuraModifierByMiscMask(AuraType auratype, uint32 miscMask) c }); } -float Unit::GetTotalAuraMultiplierByMiscMask(AuraType auratype, uint32 miscMask) const +float Unit::GetTotalAuraMultiplierByMiscMask(AuraType auraType, uint32 miscMask) const { - return GetTotalAuraMultiplier(auratype, [miscMask](AuraEffect const* aurEff) -> bool + return GetTotalAuraMultiplier(auraType, [miscMask](AuraEffect const* aurEff) -> bool { if ((aurEff->GetMiscValue() & miscMask) != 0) return true; @@ -4770,9 +4769,9 @@ float Unit::GetTotalAuraMultiplierByMiscMask(AuraType auratype, uint32 miscMask) }); } -int32 Unit::GetMaxPositiveAuraModifierByMiscMask(AuraType auratype, uint32 miscMask, AuraEffect const* except /*= nullptr*/) const +int32 Unit::GetMaxPositiveAuraModifierByMiscMask(AuraType auraType, uint32 miscMask, AuraEffect const* except /*= nullptr*/) const { - return GetMaxPositiveAuraModifier(auratype, [miscMask, except](AuraEffect const* aurEff) -> bool + return GetMaxPositiveAuraModifier(auraType, [miscMask, except](AuraEffect const* aurEff) -> bool { if (except != aurEff && (aurEff->GetMiscValue() & miscMask) != 0) return true; @@ -4780,9 +4779,9 @@ int32 Unit::GetMaxPositiveAuraModifierByMiscMask(AuraType auratype, uint32 miscM }); } -int32 Unit::GetMaxNegativeAuraModifierByMiscMask(AuraType auratype, uint32 miscMask) const +int32 Unit::GetMaxNegativeAuraModifierByMiscMask(AuraType auraType, uint32 miscMask) const { - return GetMaxNegativeAuraModifier(auratype, [miscMask](AuraEffect const* aurEff) -> bool + return GetMaxNegativeAuraModifier(auraType, [miscMask](AuraEffect const* aurEff) -> bool { if ((aurEff->GetMiscValue() & miscMask) != 0) return true; @@ -4790,9 +4789,9 @@ int32 Unit::GetMaxNegativeAuraModifierByMiscMask(AuraType auratype, uint32 miscM }); } -int32 Unit::GetTotalAuraModifierByMiscValue(AuraType auratype, int32 miscValue) const +int32 Unit::GetTotalAuraModifierByMiscValue(AuraType auraType, int32 miscValue) const { - return GetTotalAuraModifier(auratype, [miscValue](AuraEffect const* aurEff) -> bool + return GetTotalAuraModifier(auraType, [miscValue](AuraEffect const* aurEff) -> bool { if (aurEff->GetMiscValue() == miscValue) return true; @@ -4800,9 +4799,9 @@ int32 Unit::GetTotalAuraModifierByMiscValue(AuraType auratype, int32 miscValue) }); } -float Unit::GetTotalAuraMultiplierByMiscValue(AuraType auratype, int32 miscValue) const +float Unit::GetTotalAuraMultiplierByMiscValue(AuraType auraType, int32 miscValue) const { - return GetTotalAuraMultiplier(auratype, [miscValue](AuraEffect const* aurEff) -> bool + return GetTotalAuraMultiplier(auraType, [miscValue](AuraEffect const* aurEff) -> bool { if (aurEff->GetMiscValue() == miscValue) return true; @@ -4810,9 +4809,9 @@ float Unit::GetTotalAuraMultiplierByMiscValue(AuraType auratype, int32 miscValue }); } -int32 Unit::GetMaxPositiveAuraModifierByMiscValue(AuraType auratype, int32 miscValue) const +int32 Unit::GetMaxPositiveAuraModifierByMiscValue(AuraType auraType, int32 miscValue) const { - return GetMaxPositiveAuraModifier(auratype, [miscValue](AuraEffect const* aurEff) -> bool + return GetMaxPositiveAuraModifier(auraType, [miscValue](AuraEffect const* aurEff) -> bool { if (aurEff->GetMiscValue() == miscValue) return true; @@ -4820,9 +4819,9 @@ int32 Unit::GetMaxPositiveAuraModifierByMiscValue(AuraType auratype, int32 miscV }); } -int32 Unit::GetMaxNegativeAuraModifierByMiscValue(AuraType auratype, int32 miscValue) const +int32 Unit::GetMaxNegativeAuraModifierByMiscValue(AuraType auraType, int32 miscValue) const { - return GetMaxNegativeAuraModifier(auratype, [miscValue](AuraEffect const* aurEff) -> bool + return GetMaxNegativeAuraModifier(auraType, [miscValue](AuraEffect const* aurEff) -> bool { if (aurEff->GetMiscValue() == miscValue) return true; @@ -4830,9 +4829,9 @@ int32 Unit::GetMaxNegativeAuraModifierByMiscValue(AuraType auratype, int32 miscV }); } -int32 Unit::GetTotalAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const +int32 Unit::GetTotalAuraModifierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const { - return GetTotalAuraModifier(auratype, [affectedSpell](AuraEffect const* aurEff) -> bool + return GetTotalAuraModifier(auraType, [affectedSpell](AuraEffect const* aurEff) -> bool { if (aurEff->IsAffectedOnSpell(affectedSpell)) return true; @@ -4840,9 +4839,9 @@ int32 Unit::GetTotalAuraModifierByAffectMask(AuraType auratype, SpellInfo const* }); } -float Unit::GetTotalAuraMultiplierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const +float Unit::GetTotalAuraMultiplierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const { - return GetTotalAuraMultiplier(auratype, [affectedSpell](AuraEffect const* aurEff) -> bool + return GetTotalAuraMultiplier(auraType, [affectedSpell](AuraEffect const* aurEff) -> bool { if (aurEff->IsAffectedOnSpell(affectedSpell)) return true; @@ -4850,9 +4849,9 @@ float Unit::GetTotalAuraMultiplierByAffectMask(AuraType auratype, SpellInfo cons }); } -int32 Unit::GetMaxPositiveAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const +int32 Unit::GetMaxPositiveAuraModifierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const { - return GetMaxPositiveAuraModifier(auratype, [affectedSpell](AuraEffect const* aurEff) -> bool + return GetMaxPositiveAuraModifier(auraType, [affectedSpell](AuraEffect const* aurEff) -> bool { if (aurEff->IsAffectedOnSpell(affectedSpell)) return true; @@ -4860,9 +4859,9 @@ int32 Unit::GetMaxPositiveAuraModifierByAffectMask(AuraType auratype, SpellInfo }); } -int32 Unit::GetMaxNegativeAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const +int32 Unit::GetMaxNegativeAuraModifierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const { - return GetMaxNegativeAuraModifier(auratype, [affectedSpell](AuraEffect const* aurEff) -> bool + return GetMaxNegativeAuraModifier(auraType, [affectedSpell](AuraEffect const* aurEff) -> bool { if (aurEff->IsAffectedOnSpell(affectedSpell)) return true; diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index be00bb8fa2a..dfd1c1e020c 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1290,10 +1290,10 @@ class TC_GAME_API Unit : public WorldObject uint32 GetAuraCount(uint32 spellId) const; bool HasAura(uint32 spellId, ObjectGuid casterGUID = ObjectGuid::Empty, ObjectGuid itemCasterGUID = ObjectGuid::Empty, uint8 reqEffMask = 0) const; bool HasAuraType(AuraType auraType) const; - bool HasAuraTypeWithCaster(AuraType auratype, ObjectGuid caster) const; - bool HasAuraTypeWithMiscvalue(AuraType auratype, int32 miscvalue) const; - bool HasAuraTypeWithAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const; - bool HasAuraTypeWithValue(AuraType auratype, int32 value) const; + bool HasAuraTypeWithCaster(AuraType auraType, ObjectGuid caster) const; + bool HasAuraTypeWithMiscvalue(AuraType auraType, int32 miscValue) const; + bool HasAuraTypeWithAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const; + bool HasAuraTypeWithValue(AuraType auraType, int32 value) const; bool HasNegativeAuraWithInterruptFlag(uint32 flag, ObjectGuid guid = ObjectGuid::Empty) const; bool HasAuraWithMechanic(uint32 mechanicMask) const; bool HasStrongerAuraWithDR(SpellInfo const* auraSpellInfo, Unit* caster, bool triggered) const; @@ -1302,30 +1302,30 @@ class TC_GAME_API Unit : public WorldObject uint32 GetDiseasesByCaster(ObjectGuid casterGUID, bool remove = false); uint32 GetDoTsByCaster(ObjectGuid casterGUID) const; - int32 GetTotalAuraModifier(AuraType auratype) const; - float GetTotalAuraMultiplier(AuraType auratype) const; - int32 GetMaxPositiveAuraModifier(AuraType auratype) const; - int32 GetMaxNegativeAuraModifier(AuraType auratype) const; - - int32 GetTotalAuraModifier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const; - float GetTotalAuraMultiplier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const; - int32 GetMaxPositiveAuraModifier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const; - int32 GetMaxNegativeAuraModifier(AuraType auratype, std::function<bool(AuraEffect const*)> const& predicate) const; - - int32 GetTotalAuraModifierByMiscMask(AuraType auratype, uint32 misc_mask) const; - float GetTotalAuraMultiplierByMiscMask(AuraType auratype, uint32 misc_mask) const; - int32 GetMaxPositiveAuraModifierByMiscMask(AuraType auratype, uint32 misc_mask, AuraEffect const* except = nullptr) const; - int32 GetMaxNegativeAuraModifierByMiscMask(AuraType auratype, uint32 misc_mask) const; - - int32 GetTotalAuraModifierByMiscValue(AuraType auratype, int32 misc_value) const; - float GetTotalAuraMultiplierByMiscValue(AuraType auratype, int32 misc_value) const; - int32 GetMaxPositiveAuraModifierByMiscValue(AuraType auratype, int32 misc_value) const; - int32 GetMaxNegativeAuraModifierByMiscValue(AuraType auratype, int32 misc_value) const; - - int32 GetTotalAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const; - float GetTotalAuraMultiplierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const; - int32 GetMaxPositiveAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const; - int32 GetMaxNegativeAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const; + int32 GetTotalAuraModifier(AuraType auraType) const; + float GetTotalAuraMultiplier(AuraType auraType) const; + int32 GetMaxPositiveAuraModifier(AuraType auraType) const; + int32 GetMaxNegativeAuraModifier(AuraType auraType) const; + + int32 GetTotalAuraModifier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const; + float GetTotalAuraMultiplier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const; + int32 GetMaxPositiveAuraModifier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const; + int32 GetMaxNegativeAuraModifier(AuraType auraType, std::function<bool(AuraEffect const*)> const& predicate) const; + + int32 GetTotalAuraModifierByMiscMask(AuraType auraType, uint32 misc_mask) const; + float GetTotalAuraMultiplierByMiscMask(AuraType auraType, uint32 misc_mask) const; + int32 GetMaxPositiveAuraModifierByMiscMask(AuraType auraType, uint32 misc_mask, AuraEffect const* except = nullptr) const; + int32 GetMaxNegativeAuraModifierByMiscMask(AuraType auraType, uint32 misc_mask) const; + + int32 GetTotalAuraModifierByMiscValue(AuraType auraType, int32 misc_value) const; + float GetTotalAuraMultiplierByMiscValue(AuraType auraType, int32 misc_value) const; + int32 GetMaxPositiveAuraModifierByMiscValue(AuraType auraType, int32 misc_value) const; + int32 GetMaxNegativeAuraModifierByMiscValue(AuraType auraType, int32 misc_value) const; + + int32 GetTotalAuraModifierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const; + float GetTotalAuraMultiplierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const; + int32 GetMaxPositiveAuraModifierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const; + int32 GetMaxNegativeAuraModifierByAffectMask(AuraType auraType, SpellInfo const* affectedSpell) const; void UpdateResistanceBuffModsMod(SpellSchools school); void InitStatBuffMods(); |