diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp index eaf3992dabd..d68c0e3c6b8 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp @@ -709,18 +709,26 @@ CreatureAI* GetAI_npc_dkc1_gothik(Creature* pCreature) struct TRINITY_DLL_DECL npc_scarlet_ghoulAI : public ScriptedAI { - npc_scarlet_ghoulAI(Creature *c) : ScriptedAI(c) {} - - void MoveInLineOfSight(Unit *target) + npc_scarlet_ghoulAI(Creature *c) : ScriptedAI(c) { - EnterEvadeMode(); - return; + me->SetReactState(REACT_DEFENSIVE); } - void Aggro(Unit *who) + + void UpdateAI(const uint32 diff) { - EnterEvadeMode(); - return; - } + if (Unit *owner = m_creature->GetOwner()) + { + if (owner->GetTypeId() == TYPEID_PLAYER) + { + if (CAST_PLR(owner)->GetQuestStatus(12698) != QUEST_STATUS_INCOMPLETE) + { + m_creature->ForcedDespawn(); + m_creature->GetOwner()->RemoveAllMinionsByEntry(28845); + } + } + } + ScriptedAI::UpdateAI(diff); + } }; CreatureAI* GetAI_npc_scarlet_ghoul(Creature* pCreature) |