aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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