aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2021_11_24_23_world_2019_03_06_02_world.sql3
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp20
2 files changed, 23 insertions, 0 deletions
diff --git a/sql/updates/world/master/2021_11_24_23_world_2019_03_06_02_world.sql b/sql/updates/world/master/2021_11_24_23_world_2019_03_06_02_world.sql
new file mode 100644
index 00000000000..5fb9a878759
--- /dev/null
+++ b/sql/updates/world/master/2021_11_24_23_world_2019_03_06_02_world.sql
@@ -0,0 +1,3 @@
+--
+UPDATE `creature_template` SET AIName="" WHERE `entry` IN (24151);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (24151) AND `source_type`=0;
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
{