aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp26
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)