*Fix Shield Slam damage.

*Fix Glyph of Power Word: Shield. (original patch by Maxxie)
*Fix a typo in 1570.

--HG--
branch : trunk
This commit is contained in:
QAston@qaston-pc
2009-03-01 12:56:31 +01:00
parent 783714aff3
commit 9e9708f5b7
4 changed files with 11 additions and 9 deletions
-3
View File
@@ -1,3 +0,0 @@
-- Bloodsurge
DELETE FROM `spell_proc_event` WHERE `entry` IN (46915);
INSERT INTO `spell_proc_event` VALUES (46915, 0x00, 6, 0x00000040, 0x00000404, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0);
+1 -4
View File
@@ -5304,11 +5304,10 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real)
switch(m_spellProto->SpellFamilyName) switch(m_spellProto->SpellFamilyName)
{ {
case SPELLFAMILY_PRIEST: case SPELLFAMILY_PRIEST:
if(m_spellProto->SpellFamilyFlags == 0x1) //PW:S if(m_spellProto->SpellFamilyFlags.IsEqual(0x1)) //PW:S
{ {
//+30% from +healing bonus //+30% from +healing bonus
DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.3f; DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.3f;
break;
} }
break; break;
case SPELLFAMILY_MAGE: case SPELLFAMILY_MAGE:
@@ -5317,7 +5316,6 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real)
//frost ward, fire ward, ice barrier //frost ward, fire ward, ice barrier
//+10% from +spd bonus //+10% from +spd bonus
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f; DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f;
break;
} }
break; break;
case SPELLFAMILY_WARLOCK: case SPELLFAMILY_WARLOCK:
@@ -5326,7 +5324,6 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real)
//shadow ward //shadow ward
//+10% from +spd bonus //+10% from +spd bonus
DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f; DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f;
break;
} }
break; break;
default: default:
+1 -1
View File
@@ -411,7 +411,7 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx)
damage = uint32(damage * (m_caster->GetTotalAttackPowerValue(BASE_ATTACK)) / 100); damage = uint32(damage * (m_caster->GetTotalAttackPowerValue(BASE_ATTACK)) / 100);
} }
// Shield Slam // Shield Slam
else if(m_spellInfo->SpellFamilyFlags[1] & 0x1) else if(m_spellInfo->SpellFamilyFlags[1] & 0x200)
damage += int32(m_caster->GetShieldBlockValue()); damage += int32(m_caster->GetShieldBlockValue());
// Victory Rush // Victory Rush
else if(m_spellInfo->SpellFamilyFlags[1] & 0x100) else if(m_spellInfo->SpellFamilyFlags[1] & 0x100)
+9 -1
View File
@@ -1973,6 +1973,8 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe
AuraList const& vOverRideCS = caster->GetAurasByType(SPELL_AURA_DUMMY); AuraList const& vOverRideCS = caster->GetAurasByType(SPELL_AURA_DUMMY);
for(AuraList::const_iterator k = vOverRideCS.begin(); k != vOverRideCS.end(); ++k) for(AuraList::const_iterator k = vOverRideCS.begin(); k != vOverRideCS.end(); ++k)
{ {
if((*k)->GetSpellProto()->SpellFamilyName != SPELLFAMILY_PRIEST)
continue;
switch((*k)->GetModifier()->m_miscvalue) switch((*k)->GetModifier()->m_miscvalue)
{ {
case 5065: // Rank 1 case 5065: // Rank 1
@@ -1985,7 +1987,6 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe
reflectDamage = (*k)->GetModifier()->m_amount * RemainingDamage/100; reflectDamage = (*k)->GetModifier()->m_amount * RemainingDamage/100;
reflectSpell = 33619; reflectSpell = 33619;
} break; } break;
default: break;
} }
} }
break; break;
@@ -5455,6 +5456,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
target = this; target = this;
break; 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) // Oracle Healing Bonus ("Garments of the Oracle" set)
case 26169: case 26169:
{ {