diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 8f0c6669569..5882c844381 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -7646,6 +7646,7 @@ void Spell::GetSpellRangeAndRadius(SpellEffectIndex effIndex, float& radius, uin case 40834: // Agonizing Flames (BT, Illidan Stormrage) case 41537: // Summon Enslaved Soul (BT, Reliquary of Souls) case 44869: // Spectral Blast (SWP, Kalecgos) + case 45391: // Summon Demonic Vapor (SWP, Felmyst) case 45785: // Sinister Reflection Clone (SWP, Kil'jaeden) case 45892: // Sinister Reflection (SWP, Kil'jaeden) case 45976: // Open Portal (SWP, M'uru) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 5af4d622b99..020facef103 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -7650,6 +7650,22 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) m_caster->SetDisplayId(display_id); return; } + case 45714: // Fog of Corruption (caster inform) + { + if (!unitTarget || m_caster->GetTypeId() != TYPEID_PLAYER) + return; + + unitTarget->CastSpell(m_caster, m_spellInfo->CalculateSimpleValue(eff_idx), true); + return; + } + case 45717: // Fog of Corruption (player buff) + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + unitTarget->CastSpell(unitTarget, 45726, true); + return; + } case 45785: // Sinister Reflection Clone { if (!unitTarget) @@ -7676,6 +7692,15 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) unitTarget->CastSpell(unitTarget, 45891, true, NULL, NULL, m_caster->GetObjectGuid()); return; } + case 45918: // Soul Sever + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER || !unitTarget->HasAura(45717)) + return; + + // kill all charmed targets + unitTarget->CastSpell(unitTarget, 45917, true); + return; + } case 45958: // Signal Alliance { // "escort" aura not present, so let nothing happen diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 0815e364bd5..4ac3f1c5d6b 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -2070,6 +2070,11 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons (spellInfo_2->SpellIconID == 2302 && spellInfo_2->SpellVisual[0] == 0)) return false; + // Felblaze Visual and Fog of Corruption + if ((spellInfo_1->Id == 45068 && spellInfo_2->Id == 45582) || + (spellInfo_2->Id == 45068 && spellInfo_1->Id == 45582)) + return false; + break; } case SPELLFAMILY_MAGE: diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b56fc889d83..304f20bab59 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 "12511" + #define REVISION_NR "12512" #endif // __REVISION_NR_H__