diff options
| author | offl <suffle.o@gmail.com> | 2025-05-17 12:51:14 +0200 |
|---|---|---|
| committer | ModoX <moardox@gmail.com> | 2025-05-17 12:53:43 +0200 |
| commit | 2f331b2fe2699296030312cbba218499daef9ecc (patch) | |
| tree | 2b4bc41d84d24fb1fc006dac444edb1a0d6f861a /src | |
| parent | e2eb8c2b32057cb0f51b881875526a2634f184cd (diff) | |
Scripts/TheBlackMorass: Modernize scripts
Diffstat (limited to 'src')
3 files changed, 56 insertions, 72 deletions
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp index 5958ae3f5e6..ab68a65a87d 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp @@ -15,41 +15,37 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* -Name: Boss_Aeonus -%Complete: 80 -Comment: Some spells not implemented -Category: Caverns of Time, The Dark Portal -*/ - #include "ScriptMgr.h" #include "InstanceScript.h" #include "ScriptedCreature.h" #include "the_black_morass.h" -enum Enums +enum AeonusTexts { SAY_ENTER = 0, SAY_AGGRO = 1, SAY_BANISH = 2, SAY_SLAY = 3, SAY_DEATH = 4, - EMOTE_FRENZY = 5, + EMOTE_FRENZY = 5 +}; +enum AeonusSpells +{ SPELL_CLEAVE = 40504, SPELL_TIME_STOP = 31422, SPELL_ENRAGE = 37605, - SPELL_SAND_BREATH = 31473, - H_SPELL_SAND_BREATH = 39049 + SPELL_SAND_BREATH = 31473 }; -enum Events +enum AeonusEvents { EVENT_SANDBREATH = 1, - EVENT_TIMESTOP = 2, - EVENT_FRENZY = 3 + EVENT_TIMESTOP, + EVENT_FRENZY }; +// 17881 - Aeonus struct boss_aeonus : public BossAI { boss_aeonus(Creature* creature) : BossAI(creature, TYPE_AEONUS) { } @@ -66,7 +62,6 @@ struct boss_aeonus : public BossAI } void MoveInLineOfSight(Unit* who) override - { //Despawn Time Keeper if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) @@ -97,7 +92,6 @@ struct boss_aeonus : public BossAI void UpdateAI(uint32 diff) override { - //Return since we have no target if (!UpdateVictim()) return; @@ -112,16 +106,16 @@ struct boss_aeonus : public BossAI { case EVENT_SANDBREATH: DoCastVictim(SPELL_SAND_BREATH); - events.ScheduleEvent(EVENT_SANDBREATH, 15s, 25s); + events.Repeat(15s, 25s); break; case EVENT_TIMESTOP: - DoCastVictim(SPELL_TIME_STOP); - events.ScheduleEvent(EVENT_TIMESTOP, 20s, 35s); + DoCastSelf(SPELL_TIME_STOP); + events.Repeat(20s, 35s); break; case EVENT_FRENZY: - Talk(EMOTE_FRENZY); - DoCast(me, SPELL_ENRAGE); - events.ScheduleEvent(EVENT_FRENZY, 20s, 35s); + Talk(EMOTE_FRENZY); + DoCastSelf(SPELL_ENRAGE); + events.Repeat(20s, 35s); break; default: break; @@ -130,6 +124,7 @@ struct boss_aeonus : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } + DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp index 752cf85b370..22c116852fc 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp @@ -15,42 +15,37 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* -Name: Boss_Chrono_Lord_Deja -%Complete: 65 -Comment: All abilities not implemented -Category: Caverns of Time, The Black Morass -*/ - #include "ScriptMgr.h" #include "InstanceScript.h" #include "ScriptedCreature.h" #include "the_black_morass.h" -enum Enums +enum DejaTexts { SAY_ENTER = 0, SAY_AGGRO = 1, SAY_BANISH = 2, SAY_SLAY = 3, - SAY_DEATH = 4, + SAY_DEATH = 4 +}; +enum DejaSpells +{ SPELL_ARCANE_BLAST = 31457, - H_SPELL_ARCANE_BLAST = 38538, SPELL_ARCANE_DISCHARGE = 31472, - H_SPELL_ARCANE_DISCHARGE = 38539, SPELL_TIME_LAPSE = 31467, SPELL_ATTRACTION = 38540 //Not Implemented (Heroic mode) }; -enum Events +enum DejaEvents { EVENT_ARCANE_BLAST = 1, - EVENT_TIME_LAPSE = 2, - EVENT_ARCANE_DISCHARGE = 3, - EVENT_ATTRACTION = 4 + EVENT_TIME_LAPSE, + EVENT_ARCANE_DISCHARGE, + EVENT_ATTRACTION }; +// 17879 - Chrono Lord Deja struct boss_chrono_lord_deja : public BossAI { boss_chrono_lord_deja(Creature* creature) : BossAI(creature, TYPE_CRONO_LORD_DEJA) { } @@ -69,7 +64,6 @@ struct boss_chrono_lord_deja : public BossAI } void MoveInLineOfSight(Unit* who) override - { //Despawn Time Keeper if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) @@ -112,21 +106,20 @@ struct boss_chrono_lord_deja : public BossAI { case EVENT_ARCANE_BLAST: DoCastVictim(SPELL_ARCANE_BLAST); - events.ScheduleEvent(EVENT_ARCANE_BLAST, 15s, 25s); + events.Repeat(15s, 25s); break; case EVENT_TIME_LAPSE: Talk(SAY_BANISH); - DoCast(me, SPELL_TIME_LAPSE); - events.ScheduleEvent(EVENT_TIME_LAPSE, 15s, 25s); + DoCastSelf(SPELL_TIME_LAPSE); + events.Repeat(15s, 25s); break; case EVENT_ARCANE_DISCHARGE: - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) - DoCast(target, SPELL_ARCANE_DISCHARGE); - events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, 20s, 30s); + DoCastSelf(SPELL_ARCANE_DISCHARGE); + events.Repeat(20s, 30s); break; - case EVENT_ATTRACTION: // Only in Heroic - DoCast(me, SPELL_ATTRACTION); - events.ScheduleEvent(EVENT_ATTRACTION, 25s, 35s); + case EVENT_ATTRACTION: + DoCastSelf(SPELL_ATTRACTION); + events.Repeat(25s, 35s); break; default: break; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp index 03ced5fb1ff..d658ad918ba 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp @@ -15,41 +15,37 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* -Name: Boss_Temporus -%Complete: 75 -Comment: More abilities need to be implemented -Category: Caverns of Time, The Black Morass -*/ - #include "ScriptMgr.h" #include "InstanceScript.h" #include "ScriptedCreature.h" #include "the_black_morass.h" -enum Enums +enum TemporusTexts { SAY_ENTER = 0, SAY_AGGRO = 1, SAY_BANISH = 2, SAY_SLAY = 3, - SAY_DEATH = 4, + SAY_DEATH = 4 +}; +enum TemporusSpells +{ SPELL_HASTE = 31458, SPELL_MORTAL_WOUND = 31464, SPELL_WING_BUFFET = 31475, - H_SPELL_WING_BUFFET = 38593, - SPELL_REFLECT = 38592 //Not Implemented (Heroic mod) + SPELL_REFLECT = 38592 }; -enum Events +enum TemporusEvents { EVENT_HASTE = 1, - EVENT_MORTAL_WOUND = 2, - EVENT_WING_BUFFET = 3, - EVENT_SPELL_REFLECTION = 4 + EVENT_MORTAL_WOUND, + EVENT_WING_BUFFET, + EVENT_SPELL_REFLECTION }; +// 17880 - Temporus struct boss_temporus : public BossAI { boss_temporus(Creature* creature) : BossAI(creature, TYPE_TEMPORUS) { } @@ -97,7 +93,6 @@ struct boss_temporus : public BossAI void UpdateAI(uint32 diff) override { - //Return since we have no target if (!UpdateVictim()) return; @@ -111,20 +106,20 @@ struct boss_temporus : public BossAI switch (eventId) { case EVENT_HASTE: - DoCast(me, SPELL_HASTE); - events.ScheduleEvent(EVENT_HASTE, 20s, 25s); + DoCastSelf(SPELL_HASTE); + events.Repeat(20s, 25s); break; case EVENT_MORTAL_WOUND: - DoCast(me, SPELL_MORTAL_WOUND); - events.ScheduleEvent(EVENT_MORTAL_WOUND, 10s, 20s); + DoCastVictim(SPELL_MORTAL_WOUND); + events.Repeat(10s, 20s); break; case EVENT_WING_BUFFET: - DoCast(me, SPELL_WING_BUFFET); - events.ScheduleEvent(EVENT_WING_BUFFET, 20s, 30s); + DoCastSelf(SPELL_WING_BUFFET); + events.Repeat(20s, 30s); break; - case EVENT_SPELL_REFLECTION: // Only in Heroic - DoCast(me, SPELL_REFLECT); - events.ScheduleEvent(EVENT_SPELL_REFLECTION, 25s, 35s); + case EVENT_SPELL_REFLECTION: + DoCastSelf(SPELL_REFLECT); + events.Repeat(25s, 35s); break; default: break; @@ -133,6 +128,7 @@ struct boss_temporus : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } + DoMeleeAttackIfReady(); } }; |
