diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellAuras.cpp | 5 | ||||
-rw-r--r-- | src/game/SpellEffects.cpp | 2 | ||||
-rw-r--r-- | src/game/Unit.cpp | 10 |
3 files changed, 11 insertions, 6 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 1ae6880f2c5..fc9b4d32148 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -5304,11 +5304,10 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real) switch(m_spellProto->SpellFamilyName) { case SPELLFAMILY_PRIEST: - if(m_spellProto->SpellFamilyFlags == 0x1) //PW:S + if(m_spellProto->SpellFamilyFlags.IsEqual(0x1)) //PW:S { //+30% from +healing bonus DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.3f; - break; } break; case SPELLFAMILY_MAGE: @@ -5317,7 +5316,6 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real) //frost ward, fire ward, ice barrier //+10% from +spd bonus DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f; - break; } break; case SPELLFAMILY_WARLOCK: @@ -5326,7 +5324,6 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real) //shadow ward //+10% from +spd bonus DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f; - break; } break; default: diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 3bdad19a797..d0327ea522c 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -411,7 +411,7 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx) damage = uint32(damage * (m_caster->GetTotalAttackPowerValue(BASE_ATTACK)) / 100); } // Shield Slam - else if(m_spellInfo->SpellFamilyFlags[1] & 0x1) + else if(m_spellInfo->SpellFamilyFlags[1] & 0x200) damage += int32(m_caster->GetShieldBlockValue()); // Victory Rush else if(m_spellInfo->SpellFamilyFlags[1] & 0x100) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 2ac67aaa3fa..a6287c07a9c 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -1973,6 +1973,8 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe AuraList const& vOverRideCS = caster->GetAurasByType(SPELL_AURA_DUMMY); for(AuraList::const_iterator k = vOverRideCS.begin(); k != vOverRideCS.end(); ++k) { + if((*k)->GetSpellProto()->SpellFamilyName != SPELLFAMILY_PRIEST) + continue; switch((*k)->GetModifier()->m_miscvalue) { case 5065: // Rank 1 @@ -1985,7 +1987,6 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe reflectDamage = (*k)->GetModifier()->m_amount * RemainingDamage/100; reflectSpell = 33619; } break; - default: break; } } break; @@ -5455,6 +5456,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu target = this; break; } + // Glyph of Power Word: Shield + case 55672: + { + basepoints0 = damage * triggerAmount/100; + triggered_spell_id = 56160; + break; + } // Oracle Healing Bonus ("Garments of the Oracle" set) case 26169: { |