aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/3.3.5/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/3.3.5/2019_03_06_02_world.sql b/sql/updates/world/3.3.5/2019_03_06_02_world.sql
new file mode 100644
index 00000000000..5fb9a878759
--- /dev/null
+++ b/sql/updates/world/3.3.5/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 36da10f76d2..df1bb427c03 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -356,6 +356,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};
@@ -382,10 +383,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)
@@ -395,8 +405,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
{