diff options
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 |