From c72afc76be5a9be4041e9ee007cf176210055656 Mon Sep 17 00:00:00 2001 From: Keader Date: Wed, 6 Mar 2019 16:15:03 +0100 Subject: Creature/Script: Daegarn Remove the incorrect SAI and move it to cpp (cherry picked from commit 482e0dad30ccb88ae4d518fc205f1cd76202fed7) --- src/server/scripts/Northrend/zone_howling_fjord.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp index fef7eb2eaf2..41047aad08b 100644 --- a/src/server/scripts/Northrend/zone_howling_fjord.cpp +++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp @@ -355,6 +355,7 @@ enum Daegarnn NPC_PRISONER_1 = 24253, // looks the same but has different abilities NPC_PRISONER_2 = 24254, NPC_PRISONER_3 = 24255, + SAY_TEXT = 0 }; static float afSummon[] = {838.81f, -4678.06f, -94.182f}; @@ -381,10 +382,19 @@ public: bool bEventInProgress; ObjectGuid uiPlayerGUID; + TaskScheduler _scheduler; void Reset() override { Initialize(); + _scheduler.Schedule(40s, [this](TaskContext sayContext) + { + if (!bEventInProgress) + { + Talk(SAY_TEXT); + sayContext.Repeat(40s); + } + }); } void StartEvent(ObjectGuid uiGUID) @@ -394,8 +404,18 @@ public: uiPlayerGUID = uiGUID; + bEventInProgress = true; SummonGladiator(NPC_FIRJUS); } + + void UpdateAI(uint32 diff) override + { + if (bEventInProgress && !UpdateVictim()) + return; + + _scheduler.Update(diff); + DoMeleeAttackIfReady(); + } void JustSummoned(Creature* summon) override { -- cgit v1.2.3