From bb077c1d6fef290dafdd5241b0163b730c3bf578 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Tue, 17 Oct 2017 14:29:43 +0200 Subject: [PATCH] Core/Spells: Fixed Dragon's Breath with Living Bomb explosion --- .../world/3.3.5/2017_10_16_04_world.sql | 3 +++ src/server/scripts/Spells/spell_mage.cpp | 24 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/3.3.5/2017_10_16_04_world.sql diff --git a/sql/updates/world/3.3.5/2017_10_16_04_world.sql b/sql/updates/world/3.3.5/2017_10_16_04_world.sql new file mode 100644 index 00000000000..d53ea30e4b6 --- /dev/null +++ b/sql/updates/world/3.3.5/2017_10_16_04_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `scriptname`='spell_mage_dragon_breath'; +INSERT INTO `spell_script_names` (`spell_id`,`scriptname`) VALUES +(-31661,'spell_mage_dragon_breath'); diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index a54f5cf6e16..9536c33cb5c 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -95,7 +95,8 @@ enum MageIcons ICON_MAGE_IMPROVED_FLAMESTRIKE = 37, ICON_MAGE_IMPROVED_FREEZE = 94, ICON_MAGE_INCANTER_S_ABSORPTION = 2941, - ICON_MAGE_IMPROVED_MANA_GEM = 1036 + ICON_MAGE_IMPROVED_MANA_GEM = 1036, + SPELL_ICON_MAGE_LIVING_BOMB = 3000 }; enum MiscSpells @@ -460,6 +461,26 @@ class spell_mage_conjure_refreshment : public SpellScriptLoader } }; +// -31661 - Dragon's Breath +class spell_mage_dragon_breath : public AuraScript +{ + PrepareAuraScript(spell_mage_dragon_breath); + + bool CheckProc(ProcEventInfo& eventInfo) + { + // Dont proc with Living Bomb explosion + SpellInfo const* spellInfo = eventInfo.GetSpellInfo(); + if (spellInfo && spellInfo->SpellIconID == SPELL_ICON_MAGE_LIVING_BOMB && spellInfo->SpellFamilyName == SPELLFAMILY_MAGE) + return false; + return true; + } + + void Register() override + { + DoCheckProc += AuraCheckProcFn(spell_mage_dragon_breath::CheckProc); + } +}; + // 543 - Fire War class spell_mage_fire_frost_ward : public SpellScriptLoader { @@ -1518,6 +1539,7 @@ void AddSC_mage_spell_scripts() new spell_mage_cold_snap(); new spell_mage_cone_of_cold(); new spell_mage_conjure_refreshment(); + RegisterAuraScript(spell_mage_dragon_breath); new spell_mage_fire_frost_ward(); new spell_mage_focus_magic(); new spell_mage_frostbolt();