diff options
Diffstat (limited to 'src/server/scripts')
3 files changed, 40 insertions, 11 deletions
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp index 60a8e943bc7..52a05f6c0a3 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp @@ -20,27 +20,32 @@ enum Spells { - SPELL_ARCANE_EXPLOSION = 46608, - SPELL_CONE_OF_COLD = 38384, - SPELL_FIREBALL = 46988, - SPELL_FROSTBOLT = 46987 + SPELL_ARCANE_EXPLOSION = 46608, + SPELL_CONE_OF_COLD = 38384, + SPELL_FIREBALL = 46988, + SPELL_FROSTBOLT = 46987 }; enum Yells { - YELL_AGGRO = 0, - YELL_EVADE = 1, - YELL_SALVATION = 2, + YELL_AGGRO = 0, + YELL_EVADE = 1, + YELL_SALVATION = 2, }; enum Creatures { - NPC_WATER_ELEMENTAL = 25040 + NPC_WATER_ELEMENTAL = 25040 +}; + +enum Action +{ + ACTION_BUFF_YELL = -30001 // shared from Battleground }; enum WaterElementalSpells { - SPELL_WATERBOLT = 46983 + SPELL_WATERBOLT = 46983 }; class npc_water_elemental : public CreatureScript @@ -151,6 +156,12 @@ public: summons.DespawnAll(); } + void DoAction(int32 actionId) override + { + if (actionId == ACTION_BUFF_YELL) + Talk(YELL_AGGRO); + } + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp index c00b7db2ce7..9e4fc5838ad 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp @@ -30,7 +30,13 @@ enum Spells enum Yells { YELL_AGGRO = 0, - YELL_EVADE = 1 + YELL_EVADE = 1, + YELL_BUFF = 2 +}; + +enum Action +{ + ACTION_BUFF_YELL = -30001 // shared from Battleground }; class boss_galvangar : public CreatureScript @@ -69,6 +75,12 @@ public: Reset(); } + void DoAction(int32 actionId) override + { + if (actionId == ACTION_BUFF_YELL) + Talk(YELL_BUFF); + } + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index f60a7ba278b..11f20129b3e 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -1269,7 +1269,13 @@ class spell_putricide_mutated_plague : public SpellScriptLoader void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { uint32 healSpell = uint32(GetSpellInfo()->Effects[EFFECT_0].CalcValue()); - GetTarget()->CastSpell(GetTarget(), healSpell, true, NULL, NULL, GetCasterGUID()); + SpellInfo const* healSpellInfo = sSpellMgr->GetSpellInfo(healSpell); + + if (!healSpellInfo) + return; + + int32 heal = healSpellInfo->Effects[0].CalcValue() * GetStackAmount(); + GetTarget()->CastCustomSpell(healSpell, SPELLVALUE_BASE_POINT0, heal, GetTarget(), true, NULL, NULL, GetCasterGUID()); } void Register() override |
