diff options
author | offl <offl@users.noreply.github.com> | 2020-09-12 22:20:19 +0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-06 00:05:16 +0100 |
commit | 2b515f97a681cddb86dadc86f920952bf67abd96 (patch) | |
tree | 753db0966285e4cea6ae0ffdbb8670f7ced6e7ad /src | |
parent | 7090fe5c18478316254f635e5fe1bfde90ccba6c (diff) |
DB/Quest: Convert & update support for 'A Slow Death' to SAI
Closes #25399
Based on dr-j's script
(cherry picked from commit 29b39ae6063f69e185b26712079c5b77000027b5)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Outland/zone_shadowmoon_valley.cpp | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index 841ec1bffcf..7d0d67f7d00 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -465,97 +465,6 @@ public: } }; -/*##### -# npc_dragonmaw_peon -#####*/ - -class npc_dragonmaw_peon : public CreatureScript -{ -public: - npc_dragonmaw_peon() : CreatureScript("npc_dragonmaw_peon") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_dragonmaw_peonAI(creature); - } - - struct npc_dragonmaw_peonAI : public ScriptedAI - { - npc_dragonmaw_peonAI(Creature* creature) : ScriptedAI(creature) - { - Initialize(); - } - - void Initialize() - { - PlayerGUID.Clear(); - Tapped = false; - PoisonTimer = 0; - } - - ObjectGuid PlayerGUID; - bool Tapped; - uint32 PoisonTimer; - - void Reset() override - { - Initialize(); - } - - void SpellHit(WorldObject* caster, SpellInfo const* spellInfo) override - { - if (!caster) - return; - - if (caster->GetTypeId() == TYPEID_PLAYER && spellInfo->Id == 40468 && !Tapped) - { - PlayerGUID = caster->GetGUID(); - - Tapped = true; - float x, y, z; - caster->GetClosePoint(x, y, z, me->GetCombatReach()); - - me->SetWalk(false); - me->GetMotionMaster()->MovePoint(1, x, y, z); - } - } - - void MovementInform(uint32 type, uint32 id) override - { - if (type != POINT_MOTION_TYPE) - return; - - if (id) - { - me->SetEmoteState(EMOTE_ONESHOT_EAT); - PoisonTimer = 15000; - } - } - - void UpdateAI(uint32 diff) override - { - if (PoisonTimer) - { - if (PoisonTimer <= diff) - { - if (!PlayerGUID.IsEmpty()) - { - Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID); - if (player && player->GetQuestStatus(11020) == QUEST_STATUS_INCOMPLETE) - player->KilledMonsterCredit(23209); - } - PoisonTimer = 0; - me->KillSelf(); - } else PoisonTimer -= diff; - } - if (!UpdateVictim()) - return; - - DoMeleeAttackIfReady(); - } - }; -}; - /*#### # npc_earthmender_wilda ####*/ @@ -1683,7 +1592,6 @@ void AddSC_shadowmoon_valley() new npc_infernal_attacker(); new npc_mature_netherwing_drake(); new npc_enslaved_netherwing_drake(); - new npc_dragonmaw_peon(); new npc_earthmender_wilda(); new npc_lord_illidan_stormrage(); new go_crystal_prison(); |