aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellAuras.cpp5
-rw-r--r--src/game/SpellEffects.cpp2
-rw-r--r--src/game/Unit.cpp10
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:
{