aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAokromes <Aokromes@users.noreply.github.com>2016-11-23 02:31:48 +0100
committerjoschiwald <joschiwald.trinity@gmail.com>2018-02-11 14:49:18 +0100
commit258a06b278f917ca1ba5ac1e45b70159eb6fe38b (patch)
tree3773350041be9d0bf7f57a210ae1733555fd17b0 /src
parentb3e2684675c34729f35915d6c1b3b6ecb7abde00 (diff)
Merge pull request #18094 from Staleness89/3.3.5
Script/Quest: Rivenwood Captives (cherry picked from commit 8a864fc0853f2a70ee666466d44ab4fab6ddfc4a)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index 4de402bd4f2..c1b499f2984 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -586,6 +586,74 @@ class spell_mindless_abomination_explosion_fx_master : public SpellScriptLoader
}
};
+enum SummonSpells
+{
+ SPELL_SUMMON_BABY_RIVEN_WIDOWS = 43275,
+ SPELL_SUMMON_DARKCLAW_BAT = 43276,
+ SPELL_SUMMON_FANGGORE_WORG = 43277,
+ SPELL_SUMMON_GJALERBRON_RUNECASTER = 43278,
+ SPELL_SUMMON_GJALERBRON_SLEEPWATCHER = 43279,
+ SPELL_SUMMON_GJALERBRON_WARRIOR = 43280,
+ SPELL_SUMMON_PUTRID_HORROR = 43281,
+ SPELL_SUMMON_WINTERSKORN_BERSERKER = 43282,
+ SPELL_SUMMON_WINTERSKORN_WOODSMAN = 43283,
+ SPELL_SUMMON_WINTERSKORN_TRIBESMAN = 43284,
+ SPELL_SUMMON_WINTERSKORN_ORACLE = 43285,
+ SPELL_SUMMON_FREED_MIST_WHISPER_SCOUT = 43289,
+ NPC_MIST_WHISPER_SCOUT = 24211
+};
+
+const uint32 rivenWidowCocoonVictims[11] =
+{
+ SPELL_SUMMON_BABY_RIVEN_WIDOWS,
+ SPELL_SUMMON_DARKCLAW_BAT,
+ SPELL_SUMMON_FANGGORE_WORG,
+ SPELL_SUMMON_GJALERBRON_RUNECASTER,
+ SPELL_SUMMON_GJALERBRON_SLEEPWATCHER,
+ SPELL_SUMMON_GJALERBRON_WARRIOR,
+ SPELL_SUMMON_PUTRID_HORROR,
+ SPELL_SUMMON_WINTERSKORN_BERSERKER,
+ SPELL_SUMMON_WINTERSKORN_WOODSMAN,
+ SPELL_SUMMON_WINTERSKORN_TRIBESMAN,
+ SPELL_SUMMON_WINTERSKORN_ORACLE
+};
+
+class npc_riven_widow_cocoon : public CreatureScript
+{
+public:
+ npc_riven_widow_cocoon() : CreatureScript("npc_riven_widow_cocoon") { }
+
+ struct npc_riven_widow_cocoonAI : public ScriptedAI
+ {
+ npc_riven_widow_cocoonAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
+
+ void JustDied(Unit* killer) override
+ {
+ Player* player = killer->ToPlayer();
+
+ if (!player)
+ return;
+
+ if (roll_chance_i(20))
+ {
+ player->CastSpell(me, SPELL_SUMMON_FREED_MIST_WHISPER_SCOUT, true);
+ player->KilledMonsterCredit(NPC_MIST_WHISPER_SCOUT);
+ }
+ else
+ player->CastSpell(me, rivenWidowCocoonVictims[urand(0, 10)], true);
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_riven_widow_cocoonAI(creature);
+ }
+};
+
void AddSC_howling_fjord()
{
new npc_apothecary_hanes();
@@ -594,4 +662,5 @@ void AddSC_howling_fjord()
new npc_daegarn();
new npc_mindless_abomination();
new spell_mindless_abomination_explosion_fx_master();
+ new npc_riven_widow_cocoon();
}