aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2017-10-16 23:36:40 -0200
committerGitHub <noreply@github.com>2017-10-16 23:36:40 -0200
commit4eababa9f065fce940d5f76e280f631047b5ec47 (patch)
tree902b904ff3763d50cb67b0b816b184b8ce24274c
parent5a90251ea28bb9b0be376d7b6110b4e93458cbea (diff)
Core/Spells: Fixed Dragon's Breath with Living Bomb explosion (#20622)
Close: #19949
-rw-r--r--sql/updates/world/3.3.5/2017_10_16_04_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp24
2 files changed, 26 insertions, 1 deletions
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 6cf70c3a6de..e45ed806ec2 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -74,7 +74,8 @@ enum MageSpellIcons
{
SPELL_ICON_MAGE_SHATTERED_BARRIER = 2945,
SPELL_ICON_MAGE_PRESENCE_OF_MIND = 139,
- SPELL_ICON_MAGE_CLEARCASTING = 212
+ SPELL_ICON_MAGE_CLEARCASTING = 212,
+ SPELL_ICON_MAGE_LIVING_BOMB = 3000
};
// Incanter's Absorbtion
@@ -408,6 +409,26 @@ class spell_mage_combustion_proc : 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);
+ }
+};
+
// -11185 - Improved Blizzard
class spell_mage_imp_blizzard : public SpellScriptLoader
{
@@ -1295,6 +1316,7 @@ void AddSC_mage_spell_scripts()
new spell_mage_cold_snap();
new spell_mage_combustion();
new spell_mage_combustion_proc();
+ RegisterAuraScript(spell_mage_dragon_breath);
new spell_mage_imp_blizzard();
new spell_mage_imp_mana_gems();
new spell_mage_empowered_fire();