diff options
| -rw-r--r-- | src/server/scripts/Northrend/zone_howling_fjord.cpp | 95 |
1 files changed, 47 insertions, 48 deletions
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp index 666cc6f8015..529376ea655 100644 --- a/src/server/scripts/Northrend/zone_howling_fjord.cpp +++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp @@ -589,63 +589,62 @@ 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 + 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 + 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(); - uint8 uiRand = urand(0, 99); - - if (!player) - return; - - if (uiRand < 20) - { - player->CastSpell(me, SPELL_SUMMON_FREED_MIST_WHISPER_SCOUT, true); - player->KilledMonsterCredit(NPC_MIST_WHISPER_SCOUT); - } - else if (uiRand >= 20) - player->CastSpell(me, rivenWidowCocoonVictims[urand(0, 10)], true); - } - }; - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_riven_widow_cocoonAI(creature); - } + 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(); + uint8 uiRand = urand(0, 99); + + 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_cocoon(creature); + } }; void AddSC_howling_fjord() @@ -656,5 +655,5 @@ void AddSC_howling_fjord() new npc_daegarn(); new npc_mindless_abomination(); new spell_mindless_abomination_explosion_fx_master(); - new npc_riven_widow_cocoonAI(); + new npc_riven_widow_cocoon(); } |
