diff options
author | offl <11556157+offl@users.noreply.github.com> | 2022-02-26 01:24:30 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-03-26 15:27:20 +0100 |
commit | 700df874b95b4aa70f28f2c208c6bd005b5b5a5d (patch) | |
tree | cb013d69ff40c25711ca9a6516c961d39772bd97 /src | |
parent | 88670c44eecb72fa2d4c1a7a51a894ee0f482c09 (diff) |
Scripts/Quest: Few updates to Zul'drak scripts (#27828)
(cherry picked from commit d0a703d1b9365d83223c0a613ab55d710f83c9a1)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/zone_zuldrak.cpp | 60 |
1 files changed, 8 insertions, 52 deletions
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index 8428b102016..bf9f0978261 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -288,49 +288,6 @@ public: }; /*###### -## Quest 12916: Our Only Hope! -## go_scourge_enclosure -######*/ - -enum ScourgeEnclosure -{ - QUEST_OUR_ONLY_HOPE = 12916, - NPC_GYMER_DUMMY = 29928, // From quest template - SPELL_GYMER_LOCK_EXPLOSION = 55529 -}; - -class go_scourge_enclosure : public GameObjectScript -{ -public: - go_scourge_enclosure() : GameObjectScript("go_scourge_enclosure") { } - - struct go_scourge_enclosureAI : public GameObjectAI - { - go_scourge_enclosureAI(GameObject* go) : GameObjectAI(go) { } - - bool OnGossipHello(Player* player) override - { - me->UseDoorOrButton(); - if (player->GetQuestStatus(QUEST_OUR_ONLY_HOPE) == QUEST_STATUS_INCOMPLETE) - { - if (Creature* gymerDummy = me->FindNearestCreature(NPC_GYMER_DUMMY, 20.0f)) - { - player->KilledMonsterCredit(gymerDummy->GetEntry(), gymerDummy->GetGUID()); - gymerDummy->CastSpell(gymerDummy, SPELL_GYMER_LOCK_EXPLOSION, true); - gymerDummy->DespawnOrUnsummon(4s); - } - } - return true; - } - }; - - GameObjectAI* GetAI(GameObject* go) const override - { - return new go_scourge_enclosureAI(go); - } -}; - -/*###### ## Quest: Troll Patrol: The Alchemist's Apprentice ######*/ @@ -1024,9 +981,15 @@ class spell_scourge_disguise_expiring : public AuraScript player->Unit::Whisper(TEXT_DISGUISE_WARNING, player, true); } + void AfterRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + GetTarget()->RemoveAurasDueToSpell(SPELL_SCOURGE_DISGUISE); + } + void Register() override { OnEffectApply += AuraEffectApplyFn(spell_scourge_disguise_expiring::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); + AfterEffectRemove += AuraEffectRemoveFn(spell_scourge_disguise_expiring::AfterRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); } }; @@ -1070,7 +1033,7 @@ class spell_cocooned_not_on_quest : public SpellScript void HandleDummy(SpellEffIndex /*effIndex*/) { - GetHitUnit()->CastSpell(GetCaster(), SPELL_SUMMON_SCOURGED_CAPTIVE, true); + GetHitUnit()->CastSpell(GetCaster(), SPELL_SUMMON_SCOURGED_CAPTIVE); } void Register() override @@ -1091,13 +1054,7 @@ class spell_cocooned_on_quest : public SpellScript void HandleDummy(SpellEffIndex /*effIndex*/) { - Unit* caster = GetCaster(); - Unit* target = GetHitUnit(); - - if (roll_chance_i(66)) - target->CastSpell(caster, SPELL_SUMMON_SCOURGED_CAPTIVE, true); - else - target->CastSpell(caster, SPELL_SUMMON_CAPTIVE_FOOTMAN, true); + GetHitUnit()->CastSpell(GetCaster(), roll_chance_i(66) ? SPELL_SUMMON_SCOURGED_CAPTIVE : SPELL_SUMMON_CAPTIVE_FOOTMAN); } void Register() override @@ -1112,7 +1069,6 @@ void AddSC_zuldrak() new npc_captured_rageclaw(); new npc_released_offspring_harkoa(); new npc_crusade_recruit(); - new go_scourge_enclosure(); new npc_alchemist_finklestein(); new go_finklesteins_cauldron(); new spell_random_ingredient_aura(); |