From 5d7003a28b281664036a2a4f2ae6fd166ae59da3 Mon Sep 17 00:00:00 2001 From: Kapoeira Date: Sat, 10 Dec 2011 00:35:33 -0500 Subject: Core/Spells: Fix Earthen Power. --- src/server/scripts/Spells/spell_shaman.cpp | 40 ++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 13 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index 76dac9b59f1..08ff2dd7b06 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -26,16 +26,17 @@ enum ShamanSpells { - SHAMAN_SPELL_GLYPH_OF_MANA_TIDE = 55441, - SHAMAN_SPELL_MANA_TIDE_TOTEM = 39609, - SHAMAN_SPELL_FIRE_NOVA_R1 = 1535, - SHAMAN_SPELL_FIRE_NOVA_TRIGGERED_R1 = 8349, - SHAMAN_SPELL_SATED = 57724, - SHAMAN_SPELL_EXHAUSTION = 57723, - - //For Earthen Power - SHAMAN_TOTEM_SPELL_EARTHBIND_TOTEM = 6474, //Spell casted by totem - SHAMAN_TOTEM_SPELL_EARTHEN_POWER = 59566, //Spell witch remove snare effect + SHAMAN_SPELL_GLYPH_OF_MANA_TIDE = 55441, + SHAMAN_SPELL_MANA_TIDE_TOTEM = 39609, + SHAMAN_SPELL_FIRE_NOVA_R1 = 1535, + SHAMAN_SPELL_FIRE_NOVA_TRIGGERED_R1 = 8349, + SHAMAN_SPELL_SATED = 57724, + SHAMAN_SPELL_EXHAUSTION = 57723, + + // For Earthen Power + SHAMAN_TOTEM_SPELL_EARTHBIND_TOTEM = 6474, + SHAMAN_TOTEM_SPELL_EARTHEN_POWER = 59566, + SHAMAN_TOTEM_SPELL_EARTHEN_POWER_BUFF = 63532, }; // 51474 - Astral shift @@ -215,9 +216,22 @@ class spell_sha_earthbind_totem : public SpellScriptLoader { Unit* target = GetTarget(); if (Unit* caster = aurEff->GetBase()->GetCaster()) - if (AuraEffect* aur = caster->GetDummyAuraEffect(SPELLFAMILY_SHAMAN, 2289, 0)) - if (roll_chance_i(aur->GetBaseAmount())) - target->CastSpell(target, SHAMAN_TOTEM_SPELL_EARTHEN_POWER, true, NULL, aurEff); + { + if (TempSummon* summon = caster->ToTempSummon()) + { + if (Unit* owner = summon->GetOwner()) + { + if (AuraEffect* aur = owner->GetDummyAuraEffect(SPELLFAMILY_SHAMAN, 2289, 0)) + { + if (roll_chance_i(aur->GetBaseAmount()) && owner->HasAuraWithMechanic(1 << MECHANIC_SNARE)) + { + caster->CastSpell(caster, SHAMAN_TOTEM_SPELL_EARTHEN_POWER, true, NULL, aurEff); + caster->CastSpell(caster, SHAMAN_TOTEM_SPELL_EARTHEN_POWER_BUFF, true, NULL, aurEff); + } + } + } + } + } } void Register() -- cgit v1.2.3 From 0fe3405a7061fe46dd9125000da6e382b9e5243e Mon Sep 17 00:00:00 2001 From: Kapoeira Date: Sat, 10 Dec 2011 08:18:54 -0500 Subject: Core/Spells: Fix my logic in my previous commit, thanks to @Kandera for pointing out. --- src/server/scripts/Spells/spell_shaman.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index 08ff2dd7b06..5c221d46090 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -223,7 +223,7 @@ class spell_sha_earthbind_totem : public SpellScriptLoader { if (AuraEffect* aur = owner->GetDummyAuraEffect(SPELLFAMILY_SHAMAN, 2289, 0)) { - if (roll_chance_i(aur->GetBaseAmount()) && owner->HasAuraWithMechanic(1 << MECHANIC_SNARE)) + if (roll_chance_i(aur->GetBaseAmount()) && target->HasAuraWithMechanic(1 << MECHANIC_SNARE)) { caster->CastSpell(caster, SHAMAN_TOTEM_SPELL_EARTHEN_POWER, true, NULL, aurEff); caster->CastSpell(caster, SHAMAN_TOTEM_SPELL_EARTHEN_POWER_BUFF, true, NULL, aurEff); -- cgit v1.2.3 From f35c8d69f36827334776aea7edb93e07cac8b5bf Mon Sep 17 00:00:00 2001 From: Kapoeira Date: Tue, 13 Dec 2011 16:12:26 -0500 Subject: Core/Spells: Since 3.2.2, Earthen Power should no longer provide a snare immunity aura on every pulse. Thanks @Kaelima. --- src/server/scripts/Spells/spell_shaman.cpp | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index 5c221d46090..dfc74fc044d 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -36,7 +36,6 @@ enum ShamanSpells // For Earthen Power SHAMAN_TOTEM_SPELL_EARTHBIND_TOTEM = 6474, SHAMAN_TOTEM_SPELL_EARTHEN_POWER = 59566, - SHAMAN_TOTEM_SPELL_EARTHEN_POWER_BUFF = 63532, }; // 51474 - Astral shift @@ -216,22 +215,11 @@ class spell_sha_earthbind_totem : public SpellScriptLoader { Unit* target = GetTarget(); if (Unit* caster = aurEff->GetBase()->GetCaster()) - { if (TempSummon* summon = caster->ToTempSummon()) - { if (Unit* owner = summon->GetOwner()) - { if (AuraEffect* aur = owner->GetDummyAuraEffect(SPELLFAMILY_SHAMAN, 2289, 0)) - { if (roll_chance_i(aur->GetBaseAmount()) && target->HasAuraWithMechanic(1 << MECHANIC_SNARE)) - { caster->CastSpell(caster, SHAMAN_TOTEM_SPELL_EARTHEN_POWER, true, NULL, aurEff); - caster->CastSpell(caster, SHAMAN_TOTEM_SPELL_EARTHEN_POWER_BUFF, true, NULL, aurEff); - } - } - } - } - } } void Register() -- cgit v1.2.3