diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 7 | ||||
-rw-r--r-- | src/server/scripts/Pandaria/zone_the_wandering_isle.cpp | 25 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index f8b06bf8ec7..d19d1ec7cfc 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -5001,6 +5001,13 @@ void SpellMgr::LoadSpellInfoCorrections() }); }); + // Flame Spout + ApplySpellFix({ 114685 }, [](SpellInfo* spellInfo) + { + spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT; + spellInfo->AttributesEx8 |= SPELL_ATTR8_CAN_ATTACK_IMMUNE_PC; + }); + // ENDOF THE WANDERING ISLE SPELLS // diff --git a/src/server/scripts/Pandaria/zone_the_wandering_isle.cpp b/src/server/scripts/Pandaria/zone_the_wandering_isle.cpp index f11158ca977..9518d6e832b 100644 --- a/src/server/scripts/Pandaria/zone_the_wandering_isle.cpp +++ b/src/server/scripts/Pandaria/zone_the_wandering_isle.cpp @@ -1207,6 +1207,30 @@ class spell_meditation_timer_bar : public AuraScript } }; +enum FlameSpoutSpell +{ + SPELL_FLAME_SPOUT_VISUAL = 114686 +}; + +// 114684 - Flame Spout +class spell_flame_spout : public AuraScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_FLAME_SPOUT_VISUAL }); + } + + void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + GetTarget()->RemoveAurasDueToSpell(SPELL_FLAME_SPOUT_VISUAL); + } + + void Register() override + { + AfterEffectRemove += AuraEffectRemoveFn(spell_flame_spout::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL); + } +}; + void AddSC_zone_the_wandering_isle() { RegisterCreatureAI(npc_tushui_huojin_trainee); @@ -1225,6 +1249,7 @@ void AddSC_zone_the_wandering_isle() RegisterSpellScript(spell_force_summoner_to_ride_vehicle); RegisterSpellScript(spell_ride_drake); RegisterSpellScript(spell_meditation_timer_bar); + RegisterSpellScript(spell_flame_spout); new at_min_dimwind_captured(); new at_cave_of_meditation(); |