From 6a85ed6b875276d1c0a6158ebe8b01a0658bb304 Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 1 Feb 2009 16:26:31 -0600 Subject: [7210] Implement shaman 51505 and ranks crit, and work 55447 glyph Signed-off-by: DiSlord --HG-- branch : trunk --- src/game/Unit.cpp | 36 ++++++++++++++++++++++++++++-------- src/shared/revision_nr.h | 2 +- 2 files changed, 29 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index fff71e8dced..bc3df2c0468 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8186,14 +8186,34 @@ bool Unit::isSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM break; } } - - // Sacred Shield - if (spellProto->SpellFamilyName == SPELLFAMILY_PALADIN && - spellProto->SpellFamilyFlags & 0x0000000040000000LL) - { - Aura *aura = pVictim->GetDummyAura(58597); - if (aura && aura->GetCasterGUID() == GetGUID()) - crit_chance+=aura->GetModifier()->m_amount; + // Custom crit by class + switch(spellProto->SpellFamilyName) + { + case SPELLFAMILY_PALADIN: + // Sacred Shield + if (spellProto->SpellFamilyFlags & 0x0000000040000000LL) + { + Aura *aura = pVictim->GetDummyAura(58597); + if (aura && aura->GetCasterGUID() == GetGUID()) + 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; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 0fc46b32fd1..67c98f12921 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7209" + #define REVISION_NR "7210" #endif // __REVISION_NR_H__ -- cgit v1.2.3