[7210] Implement shaman 51505 and ranks crit, and work 55447 glyph

Signed-off-by: DiSlord <[email protected]>

--HG--
branch : trunk
This commit is contained in:
megamage
2009-02-01 16:26:31 -06:00
parent 20b8efd932
commit 6a85ed6b87
2 changed files with 28 additions and 8 deletions
+23 -3
View File
@@ -8186,14 +8186,34 @@ bool Unit::isSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM
break; break;
} }
} }
// Custom crit by class
switch(spellProto->SpellFamilyName)
{
case SPELLFAMILY_PALADIN:
// Sacred Shield // Sacred Shield
if (spellProto->SpellFamilyName == SPELLFAMILY_PALADIN && if (spellProto->SpellFamilyFlags & 0x0000000040000000LL)
spellProto->SpellFamilyFlags & 0x0000000040000000LL)
{ {
Aura *aura = pVictim->GetDummyAura(58597); Aura *aura = pVictim->GetDummyAura(58597);
if (aura && aura->GetCasterGUID() == GetGUID()) if (aura && aura->GetCasterGUID() == GetGUID())
crit_chance+=aura->GetModifier()->m_amount; crit_chance+=aura->GetModifier()->m_amount;
break;
}
break;
case SPELLFAMILY_SHAMAN:
// Lava Burst
if (spellProto->SpellFamilyFlags & 0x0000100000000000LL)
{
if (Aura *flameShock = pVictim->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_SHAMAN, 0x0000000010000000LL, 0, GetGUID()))
{
// Consume shock aura if not have Glyph of Flame Shock
if (!GetAura(55447, 0))
pVictim->RemoveAurasByCasterSpell(flameShock->GetId(), GetGUID());
return true;
}
break;
}
break;
} }
} }
break; break;
+1 -1
View File
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "7209" #define REVISION_NR "7210"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__