mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 13:37:00 +00:00
Implement 267 SPELL_AURA_MOD_IMMUNE_AURA_APPLY_SCHOOL aura
Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
parent
d57baebef9
commit
81a866fba7
2 changed files with 10 additions and 3 deletions
|
|
@ -245,7 +245,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||||
&Aura::HandleModMeleeRangedSpeedPct, //192 SPELL_AURA_HASTE_MELEE
|
&Aura::HandleModMeleeRangedSpeedPct, //192 SPELL_AURA_HASTE_MELEE
|
||||||
&Aura::HandleModCombatSpeedPct, //193 SPELL_AURA_MELEE_SLOW (in fact combat (any type attack) speed pct)
|
&Aura::HandleModCombatSpeedPct, //193 SPELL_AURA_MELEE_SLOW (in fact combat (any type attack) speed pct)
|
||||||
&Aura::HandleUnused, //194 SPELL_AURA_MOD_IGNORE_ABSORB_SCHOOL
|
&Aura::HandleUnused, //194 SPELL_AURA_MOD_IGNORE_ABSORB_SCHOOL
|
||||||
&Aura::HandleUnused, //195 SPELL_AURA_MOD_DEPRICATED_2 not used now (old SPELL_AURA_MOD_SPELL_HEALING_OF_INTELLECT)
|
&Aura::HandleNoImmediateEffect, //195 SPELL_AURA_MOD_IGNORE_ABSORB_FOR_SPELL implement in Unit::CalculateSpellDamage
|
||||||
&Aura::HandleNULL, //196 SPELL_AURA_MOD_COOLDOWN
|
&Aura::HandleNULL, //196 SPELL_AURA_MOD_COOLDOWN
|
||||||
&Aura::HandleNoImmediateEffect, //197 SPELL_AURA_MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE implemented in Unit::SpellCriticalBonus Unit::GetUnitCriticalChance
|
&Aura::HandleNoImmediateEffect, //197 SPELL_AURA_MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE implemented in Unit::SpellCriticalBonus Unit::GetUnitCriticalChance
|
||||||
&Aura::HandleUnused, //198 SPELL_AURA_MOD_ALL_WEAPON_SKILLS
|
&Aura::HandleUnused, //198 SPELL_AURA_MOD_ALL_WEAPON_SKILLS
|
||||||
|
|
@ -317,10 +317,10 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||||
&Aura::HandleNULL, //264 unused
|
&Aura::HandleNULL, //264 unused
|
||||||
&Aura::HandleNULL, //265 unused
|
&Aura::HandleNULL, //265 unused
|
||||||
&Aura::HandleNULL, //266 unused
|
&Aura::HandleNULL, //266 unused
|
||||||
&Aura::HandleNULL, //267 some immunity?
|
&Aura::HandleNoImmediateEffect, //267 SPELL_AURA_MOD_IMMUNE_AURA_APPLY_SCHOOL implemented in Unit::IsImmunedToSpellEffect
|
||||||
&Aura::HandleAuraModAttackPowerOfStatPercent, //268 SPELL_AURA_MOD_ATTACK_POWER_OF_STAT_PERCENT
|
&Aura::HandleAuraModAttackPowerOfStatPercent, //268 SPELL_AURA_MOD_ATTACK_POWER_OF_STAT_PERCENT
|
||||||
&Aura::HandleNULL, //269 ignore DR effects?
|
&Aura::HandleNULL, //269 ignore DR effects?
|
||||||
&Aura::HandleNULL, //270
|
&Aura::HandleNULL, //270 SPELL_AURA_MOD_IGNORE_TARGET_RESIST
|
||||||
&Aura::HandleNoImmediateEffect, //271 SPELL_AURA_MOD_DAMAGE_FROM_CASTER implemented in Unit::SpellDamageBonus
|
&Aura::HandleNoImmediateEffect, //271 SPELL_AURA_MOD_DAMAGE_FROM_CASTER implemented in Unit::SpellDamageBonus
|
||||||
&Aura::HandleNULL, //272 reduce spell cast time?
|
&Aura::HandleNULL, //272 reduce spell cast time?
|
||||||
&Aura::HandleNULL, //273
|
&Aura::HandleNULL, //273
|
||||||
|
|
|
||||||
|
|
@ -8227,6 +8227,13 @@ bool Unit::IsImmunedToSpellEffect(SpellEntry const* spellInfo, uint32 index) con
|
||||||
for(SpellImmuneList::const_iterator itr = list.begin(); itr != list.end(); ++itr)
|
for(SpellImmuneList::const_iterator itr = list.begin(); itr != list.end(); ++itr)
|
||||||
if(itr->type == aura)
|
if(itr->type == aura)
|
||||||
return true;
|
return true;
|
||||||
|
// Check for immune to application of harmful magical effects
|
||||||
|
AuraList const& immuneAuraApply = GetAurasByType(SPELL_AURA_MOD_IMMUNE_AURA_APPLY_SCHOOL);
|
||||||
|
for(AuraList::const_iterator iter = immuneAuraApply.begin(); iter != immuneAuraApply.end(); ++iter)
|
||||||
|
if (spellInfo->Dispel == DISPEL_MAGIC && // Magic debuff
|
||||||
|
((*iter)->GetModifier()->m_miscvalue & GetSpellSchoolMask(spellInfo)) && // Check school
|
||||||
|
!IsPositiveEffect(spellInfo->Id, index)) // Harmful
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue