From c248c358be6211d3e969b013c0718f1c6a87dc15 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Fri, 24 Jul 2009 23:24:30 +0400 Subject: [PATCH] [8239] Implement talent 44745 and ranks. Thanks to KAPATEJIb for proper rank and chance selection. Thanks to raftom for proper aura remove mode detection Thanks to me for proper triggered spell casting affect diminitshing return group selection. --- src/game/SpellAuras.cpp | 18 ++++++++++++++++++ src/shared/revision_nr.h | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 8053542a1..956155e83 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -5776,6 +5776,24 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real) m_modifier.m_amount += (int32)DoneActualBenefit; } + // Shattered Barrier + if(!apply && m_spellProto->SpellIconID == 32 && m_spellProto->SpellFamilyName == SPELLFAMILY_MAGE) + { + Unit* caster = GetCaster(); + if (!((m_removeMode == AURA_REMOVE_BY_DEFAULT && !m_modifier.m_amount) || m_removeMode == AURA_REMOVE_BY_DISPEL)) + return; + + if (caster->HasAura(44745,0)) // rank 1 + { + if(roll_chance_i(50)) + caster->CastSpell(caster, 55080, true, NULL, this); + } + else if (caster->HasAura(54787,0)) // rank 2 + { + caster->CastSpell(caster, 55080, true, NULL, this); + } + } + if (!apply && caster && // Power Word: Shield m_spellProto->SpellFamilyName == SPELLFAMILY_PRIEST && m_spellProto->Mechanic == MECHANIC_SHIELD && diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index de2fb865a..087d3533d 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 "8238" + #define REVISION_NR "8239" #endif // __REVISION_NR_H__