aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Spells
diff options
context:
space:
mode:
authorKapoeira <vertozor@gmail.com>2011-12-10 00:35:33 -0500
committerKapoeira <vertozor@gmail.com>2011-12-10 00:35:33 -0500
commit5d7003a28b281664036a2a4f2ae6fd166ae59da3 (patch)
treed3a3d67c78002d6292e28129441958fbf6913720 /src/server/scripts/Spells
parent8fb18de128f34b0d20cdd7dbee59735177029be3 (diff)
Core/Spells: Fix Earthen Power.
Diffstat (limited to 'src/server/scripts/Spells')
-rw-r--r--src/server/scripts/Spells/spell_shaman.cpp40
1 files changed, 27 insertions, 13 deletions
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()