aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2021-07-13 14:15:41 +0300
committerShauren <shauren.trinity@gmail.com>2022-03-11 16:18:45 +0100
commit833331c12e49c3426419fa8fa440230244f8f27e (patch)
tree4beb8a3e744f2767c984250288187c6dc5108efa
parent0a682fdd7445a3f8bbd98c78f438579e1a89adc2 (diff)
Scripts/ZG: Update scripts to new register model (1/5) (#26684)
(cherry picked from commit 3d19a71ef2d565ba4913acd68779ee03db45ae3b)
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp89
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp101
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h3
3 files changed, 87 insertions, 106 deletions
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
index 2a8e9ea85b3..2cb3681cc26 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
@@ -31,64 +31,53 @@ enum Events
{
};
-class boss_grilek : public CreatureScript
+struct boss_grilek : public BossAI
{
- public:
- boss_grilek() : CreatureScript("boss_grilek") { }
-
- struct boss_grilekAI : public BossAI
+ boss_grilek(Creature* creature) : BossAI(creature, DATA_GRILEK)
+ {
+ }
+
+ void Reset() override
+ {
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ }
+
+ void JustEngagedWith(Unit* who) override
+ {
+ BossAI::JustEngagedWith(who);
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+ /*
+ while (uint32 eventId = events.ExecuteEvent())
{
- boss_grilekAI(Creature* creature) : BossAI(creature, DATA_GRILEK)
- {
- }
-
- void Reset() override
- {
- }
-
- void JustDied(Unit* /*killer*/) override
- {
- }
-
- void JustEngagedWith(Unit* who) override
+ switch (eventId)
{
- BossAI::JustEngagedWith(who);
+ default:
+ break;
}
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
-
- events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
- /*
- while (uint32 eventId = events.ExecuteEvent())
- {
- switch (eventId)
- {
- default:
- break;
- }
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
- }
- */
-
- DoMeleeAttackIfReady();
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetZulGurubAI<boss_grilekAI>(creature);
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
}
+ */
+
+ DoMeleeAttackIfReady();
+ }
};
void AddSC_boss_grilek()
{
- new boss_grilek();
+ RegisterZulGurubCreatureAI(boss_grilek);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
index 262425ba23c..30f9a64ec2e 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
@@ -37,69 +37,58 @@ enum Events
{
};
-class boss_kilnara : public CreatureScript
+struct boss_kilnara : public BossAI
{
- public:
- boss_kilnara() : CreatureScript("boss_kilnara") { }
-
- struct boss_kilnaraAI : public BossAI
+ boss_kilnara(Creature* creature) : BossAI(creature, DATA_KILNARA) { }
+
+ void Reset() override
+ {
+ _Reset();
+ }
+
+ void JustEngagedWith(Unit* who) override
+ {
+ BossAI::JustEngagedWith(who);
+ Talk(SAY_AGGRO);
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ _JustDied();
+ Talk(SAY_DEATH);
+ }
+
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_PLAYER_KILL);
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+ /*
+ while (uint32 eventId = events.ExecuteEvent())
{
- boss_kilnaraAI(Creature* creature) : BossAI(creature, DATA_KILNARA) { }
-
- void Reset() override
- {
- _Reset();
- }
-
- void JustEngagedWith(Unit* who) override
- {
- BossAI::JustEngagedWith(who);
- Talk(SAY_AGGRO);
- }
-
- void JustDied(Unit* /*killer*/) override
- {
- _JustDied();
- Talk(SAY_DEATH);
- }
-
- void KilledUnit(Unit* victim) override
+ switch (eventId)
{
- if (victim->GetTypeId() == TYPEID_PLAYER)
- Talk(SAY_PLAYER_KILL);
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
-
- events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
- /*
- while (uint32 eventId = events.ExecuteEvent())
- {
- switch (eventId)
- {
- default:
- break;
- }
- }
- */
-
- DoMeleeAttackIfReady();
+ default:
+ break;
}
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetZulGurubAI<boss_kilnaraAI>(creature);
}
+ */
+
+ DoMeleeAttackIfReady();
+ }
};
void AddSC_boss_kilnara()
{
- new boss_kilnara();
+ RegisterZulGurubCreatureAI(boss_kilnara);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
index 517553727e6..e7b0ee0766a 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
@@ -95,4 +95,7 @@ inline AI* GetZulGurubAI(T* obj)
return GetInstanceAI<AI>(obj, ZGScriptName);
}
+#define RegisterZulGurubCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetZulGurubAI)
+#define RegisterZulGurubGameObjectAI(ai_name) RegisterGameObjectAIWithFactory(ai_name, GetZulGurubAI)
+
#endif