aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp29
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp14
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp8
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