From 62f93f9da1f5f4bd8f0b27b5406fa1f7b9951ba6 Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 17 Nov 2021 22:33:41 -0300 Subject: [PATCH] refactor(DB/SAI): Move Chromatic Elite Guard script to SAI (#9194) --- .../rev_1636936439824516200.sql | 9 +++ .../BlackrockSpire/boss_drakkisath.cpp | 80 ------------------- 2 files changed, 9 insertions(+), 80 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1636936439824516200.sql diff --git a/data/sql/updates/pending_db_world/rev_1636936439824516200.sql b/data/sql/updates/pending_db_world/rev_1636936439824516200.sql new file mode 100644 index 000000000..655bd9d03 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1636936439824516200.sql @@ -0,0 +1,9 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1636936439824516200'); + +UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = 10814; + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 10814) AND (`source_type` = 0) AND (`id` IN (0, 1, 2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(10814, 0, 0, 0, 0, 0, 100, 2, 5000, 12800, 13000, 13000, 0, 11, 15708, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chromatic Elite Guard - In Combat - Cast \'Mortal Strike\' (Normal Dungeon)'), +(10814, 0, 1, 0, 0, 0, 100, 2, 5600, 15400, 11200, 25700, 0, 11, 16790, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chromatic Elite Guard - In Combat - Cast \'Knockdown\' (Normal Dungeon)'), +(10814, 0, 2, 0, 0, 0, 100, 2, 12000, 20800, 9000, 9000, 0, 11, 15580, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chromatic Elite Guard - In Combat - Cast \'Strike\' (Normal Dungeon)'); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp index 5842c00dc..80c553b70 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp @@ -39,20 +39,6 @@ enum Events EVENT_RAGE }; -enum ChromaticEliteGuardEvents -{ - EVENT_MORTAL_STRIKE = 1, - EVENT_KNOCKDOWN = 2, - EVENT_STRIKE = 3 -}; - -enum ChromaticEliteGuardSpells -{ - SPELL_MORTAL_STRIKE = 15708, - SPELL_KNOCKDOWN = 16790, - SPELL_STRIKE = 15580 -}; - class boss_drakkisath : public CreatureScript { public: @@ -62,11 +48,6 @@ public: { boss_drakkisathAI(Creature* creature) : BossAI(creature, DATA_GENERAL_DRAKKISATH) { } - void Reset() override - { - _Reset(); - } - void EnterCombat(Unit* /*who*/) override { _EnterCombat(); @@ -78,11 +59,6 @@ public: events.ScheduleEvent(EVENT_RAGE, 1000); } - void JustDied(Unit* /*killer*/) override - { - _JustDied(); - } - void UpdateAI(uint32 diff) override { if (!UpdateVictim()) @@ -133,63 +109,7 @@ public: } }; -class chromatic_elite_guard : public CreatureScript -{ -public: - chromatic_elite_guard() : CreatureScript("chromatic_elite_guard") { } - - struct chromatic_elite_guardAI : public ScriptedAI - { - chromatic_elite_guardAI(Creature* creature) : ScriptedAI(creature) { } - - EventMap _events; - - void EnterCombat(Unit* /*who*/) override - { - _events.Reset(); - _events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(5000, 12800)); - _events.ScheduleEvent(EVENT_KNOCKDOWN, urand(5600, 15400)); - _events.ScheduleEvent(EVENT_STRIKE, urand(12000, 20800)); - } - - void UpdateAI(uint32 diff) override - { - if (!UpdateVictim()) - return; - - _events.Update(diff); - - while (uint32 const eventId = _events.ExecuteEvent()) - { - switch (eventId) - { - case EVENT_MORTAL_STRIKE: - DoCastVictim(SPELL_MORTAL_STRIKE); - _events.ScheduleEvent(EVENT_MORTAL_STRIKE, 13000); - break; - case EVENT_KNOCKDOWN: - DoCastVictim(SPELL_KNOCKDOWN); - _events.ScheduleEvent(EVENT_KNOCKDOWN, urand(11200, 25700)); - break; - case EVENT_STRIKE: - DoCastVictim(SPELL_STRIKE); - _events.ScheduleEvent(EVENT_STRIKE, 9000); - break; - } - } - - DoMeleeAttackIfReady(); - } - }; - - CreatureAI* GetAI(Creature* creature) const override - { - return new chromatic_elite_guardAI(creature); - } -}; - void AddSC_boss_drakkisath() { new boss_drakkisath(); - new chromatic_elite_guard(); }