aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroffl <suffle.o@gmail.com>2025-05-17 12:51:14 +0200
committerModoX <moardox@gmail.com>2025-05-17 12:53:43 +0200
commit2f331b2fe2699296030312cbba218499daef9ecc (patch)
tree2b4bc41d84d24fb1fc006dac444edb1a0d6f861a
parente2eb8c2b32057cb0f51b881875526a2634f184cd (diff)
Scripts/TheBlackMorass: Modernize scripts
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp39
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp43
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp46
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();
}
};