aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/include/sc_creature.cpp3
-rw-r--r--src/bindings/scripts/include/sc_creature.h65
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp10
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp6
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp10
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp10
-rw-r--r--src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp2
-rw-r--r--src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp6
-rw-r--r--src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp4
-rw-r--r--src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp2
-rw-r--r--src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp4
-rw-r--r--src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp4
-rw-r--r--src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp26
-rw-r--r--src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp14
-rw-r--r--src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp21
-rw-r--r--src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp12
-rw-r--r--src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp15
-rw-r--r--src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp7
-rw-r--r--src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp4
-rw-r--r--src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp12
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp12
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp4
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp2
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp2
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp2
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp4
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp20
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp4
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp2
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp14
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp12
-rw-r--r--src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp12
-rw-r--r--src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp22
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp19
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp14
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp16
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp22
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp16
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp4
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp16
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp6
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp18
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp2
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp16
-rw-r--r--src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp12
-rw-r--r--src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp4
-rw-r--r--src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp8
-rw-r--r--src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp13
-rw-r--r--src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp6
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp9
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp4
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp6
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp23
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp21
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp4
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp10
-rw-r--r--src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp10
-rw-r--r--src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp17
-rw-r--r--src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp6
-rw-r--r--src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp2
-rw-r--r--src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp4
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp13
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp7
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp27
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp5
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp4
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp4
-rw-r--r--src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp9
-rw-r--r--src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp15
-rw-r--r--src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp4
-rw-r--r--src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp7
-rw-r--r--src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp13
-rw-r--r--src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp5
-rw-r--r--src/game/CreatureAIImpl.h2
-rw-r--r--src/game/UnitAI.h2
103 files changed, 455 insertions, 537 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp
index bb4d3e68888..565eb76cfae 100644
--- a/src/bindings/scripts/include/sc_creature.cpp
+++ b/src/bindings/scripts/include/sc_creature.cpp
@@ -87,7 +87,8 @@ ScriptedAI::ScriptedAI(Creature* pCreature) : CreatureAI(pCreature),
m_bCombatMovement(true),
m_uiEvadeCheckCooldown(2500)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
+ m_heroicMode = m_creature->GetMap()->IsHeroic();
+ m_difficulty = Difficulty(m_creature->GetMap()->GetSpawnMode());
}
void ScriptedAI::AttackStartNoMove(Unit* pWho)
diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h
index fdeea02997c..ac6cc4fcba5 100644
--- a/src/bindings/scripts/include/sc_creature.h
+++ b/src/bindings/scripts/include/sc_creature.h
@@ -43,7 +43,7 @@ class SummonList : public std::list<uint64>
struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
{
explicit ScriptedAI(Creature* pCreature);
- ~ScriptedAI() {}
+ virtual ~ScriptedAI() {}
//*************
//CreatureAI Functions
@@ -91,8 +91,6 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
//For fleeing
bool IsFleeing;
- bool HeroicMode;
-
//*************
//Pure virtual functions
//*************
@@ -171,14 +169,74 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
bool EnterEvadeIfOutOfCombatArea(const uint32 uiDiff);
+ // return true for heroic mode. i.e.
+ // - for dungeon in mode 10-heroic,
+ // - for raid in mode 10-Heroic
+ // - for raid in mode 25-heroic
+ // DO NOT USE to check raid in mode 25-normal.
+ bool IsHeroic() { return m_heroicMode; }
+
+ // return the dungeon or raid difficulty
+ Difficulty getDifficulty() { return m_difficulty; }
+
+ template<class T> inline
+ const T& DUNGEON_MODE(const T& normal5, const T& heroic10)
+ {
+ switch(m_difficulty)
+ {
+ case DUNGEON_DIFFICULTY_NORMAL:
+ return normal5;
+ case DUNGEON_DIFFICULTY_HEROIC:
+ return heroic10;
+ }
+
+ return heroic10;
+ }
+
+ template<class T> inline
+ const T& RAID_MODE(const T& normal10, const T& normal25)
+ {
+ switch(m_difficulty)
+ {
+ case RAID_DIFFICULTY_10MAN_NORMAL:
+ return normal10;
+ case RAID_DIFFICULTY_25MAN_NORMAL:
+ return normal25;
+ }
+
+ return normal25;
+ }
+
+ template<class T> inline
+ const T& RAID_MODE(const T& normal10, const T& normal25, const T& heroic10, const T& heroic25)
+ {
+ switch(m_difficulty)
+ {
+ case RAID_DIFFICULTY_10MAN_NORMAL:
+ return normal10;
+ case RAID_DIFFICULTY_25MAN_NORMAL:
+ return normal25;
+ case RAID_DIFFICULTY_10MAN_HEROIC:
+ return heroic10;
+ case RAID_DIFFICULTY_25MAN_HEROIC:
+ return heroic25;
+ }
+
+ return heroic25;
+ }
+
private:
bool m_bCombatMovement;
uint32 m_uiEvadeCheckCooldown;
+
+ bool m_heroicMode;
+ Difficulty m_difficulty;
};
struct TRINITY_DLL_DECL Scripted_NoMovementAI : public ScriptedAI
{
Scripted_NoMovementAI(Creature* creature) : ScriptedAI(creature) {}
+ virtual ~Scripted_NoMovementAI() {}
//Called at each attack of m_creature by any victim
void AttackStart(Unit* who);
@@ -187,6 +245,7 @@ struct TRINITY_DLL_DECL Scripted_NoMovementAI : public ScriptedAI
struct TRINITY_DLL_DECL BossAI : public ScriptedAI
{
BossAI(Creature *c, uint32 id);
+ virtual ~BossAI() {}
const uint32 bossId;
EventMap events;
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp
index 6a35f458bf5..48ec974a86b 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp
@@ -80,7 +80,6 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
boss_felblood_kaelthasAI(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- Heroic = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
@@ -102,7 +101,6 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
// 4 = Applied an aura that allows them to fly, channeling visual, relased Arcane Orbs.
bool FirstGravityLapse;
- bool Heroic;
bool HasTaunted;
uint8 Phase;
@@ -271,7 +269,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
case 0:
{
// *Heroic mode only:
- if (Heroic)
+ if (IsHeroic())
{
if (PyroblastTimer <= diff)
{
@@ -285,7 +283,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI
if (FireballTimer <= diff)
{
- DoCast(m_creature->getVictim(), Heroic ? SPELL_FIREBALL_HEROIC : SPELL_FIREBALL_NORMAL);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_FIREBALL_NORMAL, SPELL_FIREBALL_HEROIC));
FireballTimer = urand(2000,6000);
} else FireballTimer -= diff;
@@ -421,11 +419,9 @@ struct TRINITY_DLL_DECL mob_felkael_flamestrikeAI : public ScriptedAI
{
mob_felkael_flamestrikeAI(Creature *c) : ScriptedAI(c)
{
- Heroic = c->GetMap()->IsHeroic();
}
uint32 FlameStrikeTimer;
- bool Heroic;
void Reset()
{
@@ -443,7 +439,7 @@ struct TRINITY_DLL_DECL mob_felkael_flamestrikeAI : public ScriptedAI
{
if (FlameStrikeTimer <= diff)
{
- DoCast(m_creature, Heroic ? SPELL_FLAMESTRIKE1_HEROIC : SPELL_FLAMESTRIKE1_NORMAL, true);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_FLAMESTRIKE1_NORMAL, SPELL_FLAMESTRIKE1_HEROIC), true);
m_creature->Kill(m_creature);
} else FlameStrikeTimer -= diff;
}
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp
index 2a92b19166c..2c76872176c 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp
@@ -90,13 +90,11 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
boss_priestess_delrissaAI(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- Heroic = c->GetMap()->IsHeroic();
memset(&m_auiLackeyGUID, 0, sizeof(m_auiLackeyGUID));
LackeyEntryList.clear();
}
ScriptedInstance* pInstance;
- bool Heroic;
std::vector<uint32> LackeyEntryList;
uint64 m_auiLackeyGUID[MAX_ACTIVE_LACKEY];
@@ -269,7 +267,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
if (pAdd->isAlive())
pTarget = pAdd;
- DoCast(pTarget, Heroic ? SPELL_RENEW_HEROIC : SPELL_RENEW_NORMAL);
+ DoCast(pTarget, DUNGEON_MODE(SPELL_RENEW_NORMAL, SPELL_RENEW_HEROIC));
RenewTimer = 5000;
} else RenewTimer -= diff;
@@ -314,7 +312,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
if (SWPainTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, Heroic ? SPELL_SW_PAIN_HEROIC : SPELL_SW_PAIN_NORMAL);
+ DoCast(pTarget, DUNGEON_MODE(SPELL_SW_PAIN_NORMAL, SPELL_SW_PAIN_HEROIC));
SWPainTimer = 10000;
} else SWPainTimer -= diff;
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp
index d9fb4c5e7ce..e9223432811 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp
@@ -67,11 +67,9 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
Crystals.push_back(guid);
}
}
- Heroic = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool Heroic;
std::list<uint64> Crystals;
@@ -246,7 +244,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
} else DrainLifeTimer -= diff;
// Heroic only
- if (Heroic)
+ if (IsHeroic())
{
if (DrainManaTimer <= diff)
{
@@ -272,8 +270,10 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
if (DrainCrystalTimer <= diff)
{
SelectNearestCrystal();
- if (Heroic) DrainCrystalTimer = 10000 + rand()%5000;
- else DrainCrystalTimer = 20000 + rand()%5000;
+ if (IsHeroic())
+ DrainCrystalTimer = 10000 + rand()%5000;
+ else
+ DrainCrystalTimer = 20000 + rand()%5000;
} else DrainCrystalTimer -= diff;
}
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp
index c4159937aca..73569237e74 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp
@@ -62,11 +62,9 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI
boss_vexallusAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- Heroic = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool Heroic;
uint32 ChainLightningTimer;
uint32 ArcaneShockTimer;
@@ -136,7 +134,7 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI
DoScriptText(SAY_ENERGY, m_creature);
DoScriptText(EMOTE_DISCHARGE_ENERGY, m_creature);
- if (Heroic)
+ if (IsHeroic())
{
DoCast(m_creature, H_SPELL_SUMMON_PURE_ENERGY1, false);
DoCast(m_creature, H_SPELL_SUMMON_PURE_ENERGY2, false);
@@ -147,14 +145,14 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI
//below are workaround summons, remove when summoning spells w/implicitTarget 73 implemented in Mangos
m_creature->SummonCreature(NPC_PURE_ENERGY, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_CORPSE_DESPAWN, 0);
- if (Heroic)
+ if (IsHeroic())
m_creature->SummonCreature(NPC_PURE_ENERGY, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_CORPSE_DESPAWN, 0);
}
if (ChainLightningTimer <= diff)
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, Heroic ? SPELL_H_CHAIN_LIGHTNING : SPELL_CHAIN_LIGHTNING);
+ DoCast(pTarget, DUNGEON_MODE(SPELL_CHAIN_LIGHTNING, SPELL_H_CHAIN_LIGHTNING));
ChainLightningTimer = 8000;
} else ChainLightningTimer -= diff;
@@ -163,7 +161,7 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
if (pTarget)
- DoCast(pTarget, Heroic ? SPELL_H_ARCANE_SHOCK : SPELL_ARCANE_SHOCK);
+ DoCast(pTarget, DUNGEON_MODE(SPELL_ARCANE_SHOCK, SPELL_H_ARCANE_SHOCK));
ArcaneShockTimer = 8000;
} else ArcaneShockTimer -= diff;
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp
index a8d5c40da9d..082380ac03f 100644
--- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp
@@ -116,7 +116,7 @@ struct TRINITY_DLL_DECL boss_epochAI : public ScriptedAI
if (uiWoundingStrikeTimer < diff)
{
- DoCastVictim(HEROIC(SPELL_WOUNDING_STRIKE, H_SPELL_WOUNDING_STRIKE));
+ DoCastVictim(DUNGEON_MODE(SPELL_WOUNDING_STRIKE, H_SPELL_WOUNDING_STRIKE));
uiWoundingStrikeTimer = 5300;
} else uiWoundingStrikeTimer -= diff;
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp
index f8bc418f1fc..2ade53360dd 100644
--- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp
@@ -156,14 +156,14 @@ struct TRINITY_DLL_DECL boss_mal_ganisAI : public ScriptedAI
if (uiCarrionSwarmTimer < diff)
{
- DoCastVictim(HEROIC(SPELL_CARRION_SWARM,H_SPELL_CARRION_SWARM));
+ DoCastVictim(DUNGEON_MODE(SPELL_CARRION_SWARM,H_SPELL_CARRION_SWARM));
uiCarrionSwarmTimer = 7000;
} else uiCarrionSwarmTimer -= diff;
if (uiMindBlastTimer < diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_MIND_BLAST, H_SPELL_MIND_BLAST));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_MIND_BLAST, H_SPELL_MIND_BLAST));
} else uiMindBlastTimer -= diff;
if (uiVampiricTouchTimer < diff)
@@ -175,7 +175,7 @@ struct TRINITY_DLL_DECL boss_mal_ganisAI : public ScriptedAI
if (uiSleepTimer < diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_SLEEP, H_SPELL_SLEEP));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_SLEEP, H_SPELL_SLEEP));
uiSleepTimer = urand(15000,20000);
} else uiSleepTimer -= diff;
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp
index c69d29f9235..2fdc9302370 100644
--- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp
@@ -87,7 +87,7 @@ struct TRINITY_DLL_DECL boss_meathookAI : public ScriptedAI
if (uiDiseaseTimer <= diff)
{
- DoCastAOE(HEROIC(SPELL_DISEASE_EXPULSION,H_SPELL_DISEASE_EXPULSION));
+ DoCastAOE(DUNGEON_MODE(SPELL_DISEASE_EXPULSION,H_SPELL_DISEASE_EXPULSION));
uiDiseaseTimer = urand(1500,4000);
} else uiDiseaseTimer -= diff;
@@ -100,7 +100,7 @@ struct TRINITY_DLL_DECL boss_meathookAI : public ScriptedAI
if (uiChainTimer <= diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_CONSTRICTING_CHAINS, H_SPELL_CONSTRICTING_CHAINS)); //anyone but the tank
+ DoCast(pTarget, DUNGEON_MODE(SPELL_CONSTRICTING_CHAINS, H_SPELL_CONSTRICTING_CHAINS)); //anyone but the tank
uiChainTimer = urand(2000,4000);
} else uiChainTimer -= diff;
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp
index dfb85910fbf..b6a26118a8f 100644
--- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp
@@ -113,7 +113,7 @@ struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI
if (Shadow_bolt_Timer <= diff)
{
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
Shadow_bolt_Timer = urand(8000,12000);
} else Shadow_bolt_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp
index d8afba8ce5a..82b1d92ac28 100644
--- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp
@@ -46,11 +46,9 @@ struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI
boss_aeonusAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
ScriptedInstance *pInstance;
- bool HeroicMode;
uint32 SandBreath_Timer;
uint32 TimeStop_Timer;
@@ -108,7 +106,7 @@ struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI
//Sand Breath
if (SandBreath_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SAND_BREATH, H_SPELL_SAND_BREATH));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SAND_BREATH, H_SPELL_SAND_BREATH));
SandBreath_Timer = 15000+rand()%10000;
} else SandBreath_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
index 43e04ef83c9..3dbbb57a7db 100644
--- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
@@ -46,11 +46,9 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI
boss_chrono_lord_dejaAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance *pInstance;
- bool HeroicMode;
uint32 ArcaneBlast_Timer;
uint32 TimeLapse_Timer;
@@ -107,7 +105,7 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI
//Arcane Blast
if (ArcaneBlast_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_ARCANE_BLAST, H_SPELL_ARCANE_BLAST));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_ARCANE_BLAST, H_SPELL_ARCANE_BLAST));
ArcaneBlast_Timer = 15000+rand()%10000;
} else ArcaneBlast_Timer -= diff;
@@ -115,7 +113,7 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI
if (ArcaneDischarge_Timer <= diff)
{
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0);
- DoCast(pTarget, HEROIC(SPELL_ARCANE_DISCHARGE, H_SPELL_ARCANE_DISCHARGE));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_ARCANE_DISCHARGE, H_SPELL_ARCANE_DISCHARGE));
ArcaneDischarge_Timer = 20000+rand()%10000;
} else ArcaneDischarge_Timer -= diff;
@@ -127,7 +125,7 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI
TimeLapse_Timer = 15000+rand()%10000;
} else TimeLapse_Timer -= diff;
- if (HeroicMode)
+ if (IsHeroic())
{
if (Attraction_Timer <= diff)
{
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp
index 4ce7554cde9..a92a0e076fe 100644
--- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp
@@ -45,11 +45,9 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI
boss_temporusAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance *pInstance;
- bool HeroicMode;
uint32 Haste_Timer;
uint32 SpellReflection_Timer;
@@ -121,11 +119,11 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI
//Wing ruffet
if (WingBuffet_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_WING_BUFFET, H_SPELL_WING_BUFFET));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_WING_BUFFET, H_SPELL_WING_BUFFET));
WingBuffet_Timer = 20000+rand()%10000;
} else WingBuffet_Timer -= diff;
- if (HeroicMode)
+ if (IsHeroic())
{
if (SpellReflection_Timer <= diff)
{
diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
index 7059b393502..f6a25457e3d 100644
--- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
+++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
@@ -58,10 +58,8 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
boss_elder_nadoxAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
- bool HeroicMode;
uint32 plague_Timer;
uint32 rage_Timer;
@@ -106,7 +104,7 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
{
DoScriptText(SAY_SLAY_3,m_creature); //SAY_SLAY_3 on death?
- if (HeroicMode && !DeadAhnkaharGuardian)
+ if (IsHeroic() && !DeadAhnkaharGuardian)
{
AchievementEntry const *AchievRespectYourElders = GetAchievementStore()->LookupEntry(ACHIEVEMENT_RESPECT_YOUR_ELDERS);
if (AchievRespectYourElders)
@@ -132,11 +130,11 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
if (plague_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_BROOD_PLAGUE, H_SPELL_BROOD_PLAGUE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_BROOD_PLAGUE, H_SPELL_BROOD_PLAGUE));
plague_Timer = 15000;
} else plague_Timer -= diff;
- if (HeroicMode)
+ if (IsHeroic())
if (rage_Timer <= diff)
{
Unit* Swarmer = m_creature->FindNearestCreature(MOB_AHNKAHAR_SWARMER, 35);
diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
index f236c472c68..fd568507160 100644
--- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
+++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
@@ -97,20 +97,20 @@ struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI
if (uiMindFlayTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_MIND_FLAY, H_SPELL_MIND_FLAY));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MIND_FLAY, H_SPELL_MIND_FLAY));
uiMindFlayTimer = 20000;
} else uiMindFlayTimer -= diff;
if (uiShadowBoltVolleyTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_BOLT_VOLLEY, H_SPELL_SHADOW_BOLT_VOLLEY));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SHADOW_BOLT_VOLLEY, H_SPELL_SHADOW_BOLT_VOLLEY));
uiShadowBoltVolleyTimer = 5000;
} else uiShadowBoltVolleyTimer -= diff;
if (uiShiverTimer <= diff)
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_SHIVER, H_SPELL_SHIVER));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_SHIVER, H_SPELL_SHIVER));
uiShiverTimer = 15000;
} else uiShiverTimer -= diff;
@@ -128,7 +128,7 @@ struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI
AchievementEntry const *AchievQuickDemise = GetAchievementStore()->LookupEntry(ACHIEVEMENT_QUICK_DEMISE);
Map* pMap = m_creature->GetMap();
- if (HeroicMode && uiEncounterTimer < 120000 && pMap && pMap->IsDungeon() && AchievQuickDemise)
+ if (IsHeroic() && uiEncounterTimer < 120000 && pMap && pMap->IsDungeon() && AchievQuickDemise)
{
Map::PlayerList const &players = pMap->GetPlayers();
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp
index f3c71ab2605..f8dc9ae93e6 100644
--- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -303,14 +303,14 @@ struct TRINITY_DLL_DECL boss_jedoga_shadowseekerAI : public ScriptedAI
if (uiCycloneTimer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_CYCLONE_STRIKE, SPELL_CYCLONE_STRIKE_H), false);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_CYCLONE_STRIKE, SPELL_CYCLONE_STRIKE_H), false);
uiCycloneTimer = urand(15000,30000);
} else uiCycloneTimer -= diff;
if (uiBoltTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- m_creature->CastSpell(pTarget, HEROIC(SPELL_LIGHTNING_BOLT, SPELL_LIGHTNING_BOLT_H), false);
+ m_creature->CastSpell(pTarget, DUNGEON_MODE(SPELL_LIGHTNING_BOLT, SPELL_LIGHTNING_BOLT_H), false);
uiBoltTimer = urand(15000,30000);
} else uiBoltTimer -= diff;
@@ -318,7 +318,7 @@ struct TRINITY_DLL_DECL boss_jedoga_shadowseekerAI : public ScriptedAI
if (uiThunderTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- m_creature->CastSpell(pTarget, HEROIC(SPELL_THUNDERSHOCK, SPELL_THUNDERSHOCK_H), false);
+ m_creature->CastSpell(pTarget, DUNGEON_MODE(SPELL_THUNDERSHOCK, SPELL_THUNDERSHOCK_H), false);
uiThunderTimer = urand(15000,30000);
} else uiThunderTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
index 7e2234e6672..e4e6b90d555 100644
--- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
+++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
@@ -148,7 +148,7 @@ struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI
y = pSpheres[0]->GetPositionY() + DATA_SPHERE_DISTANCE * sin(angle);
pSpheres[0]->GetMotionMaster()->MovePoint(0, x, y, pSpheres[0]->GetPositionZ());
}
- if (HeroicMode)
+ if (IsHeroic())
{
//DoCast(m_creature, H_SPELL_FLAME_SPHERE_SUMMON_1);
pSpheres[1] = DoSpawnCreature(H_CREATURE_FLAME_SPHERE_1, 0, 0, 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10000);
@@ -183,7 +183,7 @@ struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI
break;
case VANISHED:
if(pEmbraceTarget)
- DoCast(pEmbraceTarget, HEROIC(SPELL_EMBRACE_OF_THE_VAMPYR, H_SPELL_EMBRACE_OF_THE_VAMPYR));
+ DoCast(pEmbraceTarget, DUNGEON_MODE(SPELL_EMBRACE_OF_THE_VAMPYR, H_SPELL_EMBRACE_OF_THE_VAMPYR));
m_creature->GetMotionMaster()->Clear();
m_creature->SetSpeed(MOVE_WALK, 1.0f, true);
m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim());
@@ -247,7 +247,7 @@ struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI
if (Phase == FEEDING && pEmbraceTarget && pEmbraceTarget->isAlive())
{
uiEmbraceTakenDamage += damage;
- if (uiEmbraceTakenDamage > (HeroicMode ? H_DATA_EMBRACE_DMG : DATA_EMBRACE_DMG))
+ if (uiEmbraceTakenDamage > DUNGEON_MODE(DATA_EMBRACE_DMG, H_DATA_EMBRACE_DMG))
{
Phase = NORMAL;
uiPhaseTimer = 0;
@@ -268,7 +268,7 @@ struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI
//The Party's Over achievement:
AchievementEntry const *AchievThePartyIsOver = GetAchievementStore()->LookupEntry(ACHIEVEMENT_THE_PARTY_IS_OVER);
Map* pMap = m_creature->GetMap();
- if (pMap && pMap->IsDungeon() && HeroicMode && AchievThePartyIsOver)
+ if (pMap && pMap->IsDungeon() && IsHeroic() && AchievThePartyIsOver)
{
Map::PlayerList const &players = pMap->GetPlayers();
if (players.getSize() < 5)
@@ -343,7 +343,7 @@ struct TRINITY_DLL_DECL mob_taldaram_flamesphereAI : public ScriptedAI
m_creature->SetFloatValue(OBJECT_FIELD_SCALE_X, 1.0f);
DoCast(m_creature, SPELL_FLAME_SPHERE_VISUAL);
DoCast(m_creature, SPELL_FLAME_SPHERE_SPAWN_EFFECT);
- DoCast(m_creature, HEROIC(SPELL_FLAME_SPHERE_PERIODIC, H_SPELL_FLAME_SPHERE_PERIODIC));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_FLAME_SPHERE_PERIODIC, H_SPELL_FLAME_SPHERE_PERIODIC));
uiDespawnTimer = 10000;
}
diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp
index f4a6b7a7ead..290228a4b57 100644
--- a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp
+++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp
@@ -145,7 +145,7 @@ struct TRINITY_DLL_DECL boss_anub_arakAI : public ScriptedAI
if (SPELL_IMPALE_Timer <= diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- m_creature->CastSpell(pTarget, HEROIC(SPELL_IMPALE,H_SPELL_IMPALE), true);
+ m_creature->CastSpell(pTarget, DUNGEON_MODE(SPELL_IMPALE,H_SPELL_IMPALE), true);
SPELL_IMPALE_Timer = 9000;
} else SPELL_IMPALE_Timer -= diff;
@@ -226,7 +226,7 @@ struct TRINITY_DLL_DECL boss_anub_arakAI : public ScriptedAI
if (SPELL_POUND_Timer <= diff)
{
- DoCastVictim(HEROIC(SPELL_POUND, H_SPELL_POUND));
+ DoCastVictim(DUNGEON_MODE(SPELL_POUND, H_SPELL_POUND));
SPELL_POUND_Timer = 16500;
} else SPELL_POUND_Timer -= diff;
}
diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp
index 72269f5b440..0c918cd52c5 100644
--- a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp
+++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp
@@ -95,7 +95,7 @@ struct TRINITY_DLL_DECL boss_hadronoxAI : public ScriptedAI
void KilledUnit(Unit* Victim)
{
// not sure if this aura check is correct, I think it is though
- if (!Victim || !Victim->HasAura(HEROIC(SPELL_LEECH_POISON, SPELL_LEECH_POISON_H)) || !m_creature->isAlive())
+ if (!Victim || !Victim->HasAura(DUNGEON_MODE(SPELL_LEECH_POISON, SPELL_LEECH_POISON_H)) || !m_creature->isAlive())
return;
uint32 health = (m_creature->GetMaxHealth()/100)*10;
@@ -165,7 +165,7 @@ struct TRINITY_DLL_DECL boss_hadronoxAI : public ScriptedAI
if (acidtimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_ACID_CLOUD, SPELL_ACID_CLOUD_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_ACID_CLOUD, SPELL_ACID_CLOUD_H));
acidtimer = urand(20000,30000);
} else acidtimer -= diff;
@@ -173,7 +173,7 @@ struct TRINITY_DLL_DECL boss_hadronoxAI : public ScriptedAI
if (leechtimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_LEECH_POISON, SPELL_LEECH_POISON_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_LEECH_POISON, SPELL_LEECH_POISON_H));
leechtimer = urand(11000,14000);
} else leechtimer -= diff;
@@ -181,7 +181,7 @@ struct TRINITY_DLL_DECL boss_hadronoxAI : public ScriptedAI
if (grabtimer <= diff)
{
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0)) // Draws all players (and attacking Mobs) to itself.
- DoCast(pTarget, HEROIC(SPELL_WEB_GRAB, SPELL_WEB_GRAB_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_WEB_GRAB, SPELL_WEB_GRAB_H));
grabtimer = urand(15000,30000);
} else grabtimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp
index ded84a23aae..5f828f2c9c0 100644
--- a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp
+++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp
@@ -100,11 +100,9 @@ struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI
boss_krik_thirAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint32 MindFlayTimer;
uint32 CurseFatigueTimer;
@@ -162,7 +160,7 @@ struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI
if (MindFlayTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_MIND_FLAY, H_SPELL_MIND_FLAY));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MIND_FLAY, H_SPELL_MIND_FLAY));
MindFlayTimer = 15000;
} else MindFlayTimer -= diff;
@@ -172,8 +170,8 @@ struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
Unit *pTarget_1 = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true);
- DoCast(pTarget, HEROIC(SPELL_CURSE_OF_FATIGUE, H_SPELL_CURSE_OF_FATIGUE));
- DoCast(pTarget_1, HEROIC(SPELL_CURSE_OF_FATIGUE, H_SPELL_CURSE_OF_FATIGUE));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_CURSE_OF_FATIGUE, H_SPELL_CURSE_OF_FATIGUE));
+ DoCast(pTarget_1, DUNGEON_MODE(SPELL_CURSE_OF_FATIGUE, H_SPELL_CURSE_OF_FATIGUE));
CurseFatigueTimer = 10000;
} else CurseFatigueTimer -= diff;
@@ -197,7 +195,7 @@ struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI
if ((pAdd1 = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_WATCHER_GASHRA))) && pAdd1->isAlive() &&
(pAdd2 = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_WATCHER_SILTHIK))) && pAdd2->isAlive() &&
(pAdd3 = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_WATCHER_NARJIL))) && pAdd3->isAlive() &&
- HeroicMode && pMap && pMap->IsDungeon() && AchievWatchHimDie)
+ IsHeroic() && pMap && pMap->IsDungeon() && AchievWatchHimDie)
{
Map::PlayerList const &players = pMap->GetPlayers();
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
@@ -227,7 +225,7 @@ struct TRINITY_DLL_DECL npc_skittering_infectorAI : public ScriptedAI
void JustDied(Unit* killer)
{
//The spell is not working propperly
- DoCast(m_creature->getVictim(),HEROIC(SPELL_ACID_SPLASH, H_SPELL_ACID_SPLASH), true);
+ DoCast(m_creature->getVictim(),DUNGEON_MODE(SPELL_ACID_SPLASH, H_SPELL_ACID_SPLASH), true);
}
};
@@ -294,13 +292,13 @@ struct TRINITY_DLL_DECL npc_anub_ar_shadowcasterAI : public ScriptedAI
if (ShadowBoltTimer <= diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT), true);
+ DoCast(pTarget, DUNGEON_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT), true);
ShadowBoltTimer = 15000;
} else ShadowBoltTimer -= diff;
if (ShadowNovaTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_NOVA, H_SPELL_SHADOW_NOVA), true);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SHADOW_NOVA, H_SPELL_SHADOW_NOVA), true);
ShadowNovaTimer = 17000;
} else ShadowNovaTimer -= diff;
@@ -376,7 +374,7 @@ struct TRINITY_DLL_DECL npc_watcher_gashraAI : public ScriptedAI
if (InfectedBiteTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true);
InfectedBiteTimer = 15000;
} else InfectedBiteTimer -= diff;
@@ -413,13 +411,13 @@ struct TRINITY_DLL_DECL npc_watcher_narjilAI : public ScriptedAI
if (InfectedBiteTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true);
InfectedBiteTimer = 11000;
} else InfectedBiteTimer -= diff;
if (BlindingWebsTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_BLINDING_WEBS, H_SPELL_BLINDING_WEBS), true);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_BLINDING_WEBS, H_SPELL_BLINDING_WEBS), true);
BlindingWebsTimer = 17000;
} else BlindingWebsTimer -= diff;
@@ -457,13 +455,13 @@ struct TRINITY_DLL_DECL npc_watcher_silthikAI : public ScriptedAI
if (InfectedBiteTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true);
InfectedBiteTimer = 15000;
} else InfectedBiteTimer -= diff;
if (PosionSprayTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_POSION_SPRAY, H_SPELL_POSION_SPRAY), true);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_POSION_SPRAY, H_SPELL_POSION_SPRAY), true);
PosionSprayTimer = 17000;
} else PosionSprayTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp
index abffa3914c1..9c82b7de011 100644
--- a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp
+++ b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp
@@ -164,7 +164,7 @@ struct TRINITY_DLL_DECL boss_paletressAI : public ScriptedAI
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 250, true))
{
if (pTarget && pTarget->isAlive())
- DoCast(pTarget,HEROIC(SPELL_HOLY_FIRE,SPELL_HOLY_FIRE_H));
+ DoCast(pTarget,DUNGEON_MODE(SPELL_HOLY_FIRE,SPELL_HOLY_FIRE_H));
}
if (m_creature->HasAura(SPELL_SHIELD))
uiHolyFireTimer = 13000;
@@ -177,7 +177,7 @@ struct TRINITY_DLL_DECL boss_paletressAI : public ScriptedAI
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 250, true))
{
if (pTarget && pTarget->isAlive())
- DoCast(pTarget,HEROIC(SPELL_SMITE,SPELL_SMITE_H));
+ DoCast(pTarget,DUNGEON_MODE(SPELL_SMITE,SPELL_SMITE_H));
}
if (m_creature->HasAura(SPELL_SHIELD))
uiHolySmiteTimer = 9000;
@@ -193,11 +193,11 @@ struct TRINITY_DLL_DECL boss_paletressAI : public ScriptedAI
switch(uiTarget)
{
case 0:
- DoCast(m_creature,HEROIC(SPELL_RENEW,SPELL_RENEW_H));
+ DoCast(m_creature,DUNGEON_MODE(SPELL_RENEW,SPELL_RENEW_H));
break;
case 1:
if (pMemory && pMemory->isAlive())
- DoCast(pMemory,HEROIC(SPELL_RENEW,SPELL_RENEW_H));
+ DoCast(pMemory,DUNGEON_MODE(SPELL_RENEW,SPELL_RENEW_H));
break;
}
uiRenewTimer = urand(15000,17000);
@@ -255,14 +255,14 @@ struct TRINITY_DLL_DECL npc_memoryAI : public ScriptedAI
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
{
if (pTarget && pTarget->isAlive())
- DoCast(pTarget, HEROIC(SPELL_OLD_WOUNDS,SPELL_OLD_WOUNDS_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_OLD_WOUNDS,SPELL_OLD_WOUNDS_H));
}
uiOldWoundsTimer = 12000;
}else uiOldWoundsTimer -= uiDiff;
if (uiWakingNightmare <= uiDiff)
{
- DoCast(m_creature, HEROIC(SPELL_WAKING_NIGHTMARE,SPELL_WAKING_NIGHTMARE_H));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_WAKING_NIGHTMARE,SPELL_WAKING_NIGHTMARE_H));
uiWakingNightmare = 7000;
}else uiWakingNightmare -= uiDiff;
@@ -271,7 +271,7 @@ struct TRINITY_DLL_DECL npc_memoryAI : public ScriptedAI
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,1))
{
if (pTarget && pTarget->isAlive())
- DoCast(pTarget,HEROIC(SPELL_SHADOWS_PAST,SPELL_SHADOWS_PAST_H));
+ DoCast(pTarget,DUNGEON_MODE(SPELL_SHADOWS_PAST,SPELL_SHADOWS_PAST_H));
}
uiShadowPastTimer = 5000;
}else uiShadowPastTimer -= uiDiff;
diff --git a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
index 0a1f97f6489..4e2d4a6852c 100644
--- a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
+++ b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
@@ -169,17 +169,17 @@ struct TRINITY_DLL_DECL boss_black_knightAI : public ScriptedAI
{
if (uiIcyTouchTimer <= uiDiff)
{
- DoCastVictim(HEROIC(SPELL_ICY_TOUCH,SPELL_ICY_TOUCH_H));
+ DoCastVictim(DUNGEON_MODE(SPELL_ICY_TOUCH,SPELL_ICY_TOUCH_H));
uiIcyTouchTimer = urand(5000,7000);
} else uiIcyTouchTimer -= uiDiff;
if (uiPlagueStrikeTimer <= uiDiff)
{
- DoCastVictim(HEROIC(SPELL_ICY_TOUCH,SPELL_ICY_TOUCH_H));
+ DoCastVictim(DUNGEON_MODE(SPELL_ICY_TOUCH,SPELL_ICY_TOUCH_H));
uiPlagueStrikeTimer = urand(12000,15000);
} else uiPlagueStrikeTimer -= uiDiff;
if (uiObliterateTimer <= uiDiff)
{
- DoCastVictim(HEROIC(SPELL_OBLITERATE,SPELL_OBLITERATE_H));
+ DoCastVictim(DUNGEON_MODE(SPELL_OBLITERATE,SPELL_OBLITERATE_H));
uiObliterateTimer = urand(17000,19000);
} else uiObliterateTimer -= uiDiff;
switch(uiPhase)
@@ -236,7 +236,7 @@ struct TRINITY_DLL_DECL boss_black_knightAI : public ScriptedAI
{
if (uiDeathBiteTimer <= uiDiff)
{
- DoCastAOE(HEROIC(SPELL_DEATH_BITE_H,SPELL_DEATH_BITE));
+ DoCastAOE(DUNGEON_MODE(SPELL_DEATH_BITE,SPELL_DEATH_BITE_H));
uiDeathBiteTimer = urand (2000, 4000);
} else uiDeathBiteTimer -= uiDiff;
if (uiMarkedDeathTimer <= uiDiff)
@@ -304,7 +304,7 @@ struct TRINITY_DLL_DECL npc_risen_ghoulAI : public ScriptedAI
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true))
{
if (pTarget && pTarget->isAlive())
- DoCast(pTarget, (HEROIC(SPELL_LEAP_H,SPELL_LEAP)));
+ DoCast(pTarget, (DUNGEON_MODE(SPELL_LEAP,SPELL_LEAP_H)));
}
uiAttackTimer = 3500;
} else uiAttackTimer -= uiDiff;
diff --git a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp
index f711073ab4e..e111c6fe353 100644
--- a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp
+++ b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp
@@ -71,7 +71,6 @@ struct TRINITY_DLL_DECL mob_toc5_warriorAI : public ScriptedAI
}
ScriptedInstance* m_pInstance;
- bool m_bIsRegularMode;
uint32 Mortal_Strike_Timer;
uint32 Bladestorm_Timer;
@@ -122,7 +121,7 @@ struct TRINITY_DLL_DECL mob_toc5_warriorAI : public ScriptedAI
if (Mortal_Strike_Timer < diff)
{
- DoCast(m_creature->getVictim(), m_bIsRegularMode ? SPELL_MORTAL_STRIKE : SPELL_MORTAL_STRIKE_H);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MORTAL_STRIKE, SPELL_MORTAL_STRIKE_H));
Mortal_Strike_Timer = 6000;
}else Mortal_Strike_Timer -= diff;
@@ -172,7 +171,6 @@ struct TRINITY_DLL_DECL mob_toc5_mageAI : public ScriptedAI
}
ScriptedInstance* m_pInstance;
- bool m_bIsRegularMode;
uint32 Fireball_Timer;
uint32 Blast_Wave_Timer;
@@ -221,13 +219,13 @@ struct TRINITY_DLL_DECL mob_toc5_mageAI : public ScriptedAI
if (Fireball_Timer < diff)
{
- DoCast(m_creature->getVictim(), m_bIsRegularMode ? SPELL_FIREBALL : SPELL_FIREBALL_H);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_FIREBALL, SPELL_FIREBALL_H));
Fireball_Timer = 3000;
}else Fireball_Timer -= diff;
if (Blast_Wave_Timer < diff)
{
- DoCast(m_creature, m_bIsRegularMode ? SPELL_BLAST_WAVE : SPELL_BLAST_WAVE_H);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_BLAST_WAVE, SPELL_BLAST_WAVE_H));
Blast_Wave_Timer = 20000;
}else Blast_Wave_Timer -= diff;
@@ -240,7 +238,7 @@ struct TRINITY_DLL_DECL mob_toc5_mageAI : public ScriptedAI
if (Polymorph_Timer < diff)
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1))
- DoCast(target, m_bIsRegularMode ? SPELL_POLYMORPH : SPELL_POLYMORPH_H);
+ DoCast(target, DUNGEON_MODE(SPELL_POLYMORPH, SPELL_POLYMORPH_H));
Polymorph_Timer = 15000;
}else Polymorph_Timer -= diff;
@@ -263,7 +261,6 @@ struct TRINITY_DLL_DECL mob_toc5_shamanAI : public ScriptedAI
}
ScriptedInstance* m_pInstance;
- bool m_bIsRegularMode;
uint32 Chain_Lightning_Timer;
uint32 Earth_Shield_Timer;
@@ -316,7 +313,7 @@ struct TRINITY_DLL_DECL mob_toc5_shamanAI : public ScriptedAI
if (Chain_Lightning_Timer < diff)
{
- DoCast(m_creature->getVictim(), m_bIsRegularMode ? SPELL_CHAIN_LIGHTNING : SPELL_CHAIN_LIGHTNING_H);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_CHAIN_LIGHTNING, SPELL_CHAIN_LIGHTNING_H));
Chain_Lightning_Timer = 10000;
}else Chain_Lightning_Timer -= diff;
@@ -331,7 +328,7 @@ struct TRINITY_DLL_DECL mob_toc5_shamanAI : public ScriptedAI
if(Unit* target = m_creature->SelectNearestTarget(40))
if(target->GetHealth() == target->GetHealth() * 100 / target->GetMaxHealth() && target->IsFriendlyTo(m_creature))
{
- DoCast(target, HEROIC(SPELL_HEALING_WAVE, SPELL_HEALING_WAVE_H));
+ DoCast(target, DUNGEON_MODE(SPELL_HEALING_WAVE, SPELL_HEALING_WAVE_H));
Healing_Wave_Timer = 8000;
}
}else Healing_Wave_Timer -= diff;
@@ -365,9 +362,8 @@ struct TRINITY_DLL_DECL mob_toc5_hunterAI : public ScriptedAI
}
ScriptedInstance* m_pInstance;
- bool m_bIsRegularMode;
- uint32 Shoot_Timer;
+ uint32 Shoot_Timer;
uint32 Lightning_Arrows_Timer;
uint32 Multi_Shot_Timer;
uint32 Disengage_Cooldown;
@@ -481,7 +477,6 @@ struct TRINITY_DLL_DECL mob_toc5_rogueAI : public ScriptedAI
}
ScriptedInstance* m_pInstance;
- bool m_bIsRegularMode;
uint32 Eviscerate_Timer;
uint32 FoK_Timer;
@@ -528,7 +523,7 @@ struct TRINITY_DLL_DECL mob_toc5_rogueAI : public ScriptedAI
if (Eviscerate_Timer < diff)
{
- DoCast(m_creature->getVictim(), m_bIsRegularMode ? SPELL_EVISCERATE : SPELL_EVISCERATE_H);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_EVISCERATE, SPELL_EVISCERATE_H));
Eviscerate_Timer = 10000;
}else Eviscerate_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp
index a29503299ac..5c20653f55c 100644
--- a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp
+++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp
@@ -115,7 +115,7 @@ struct TRINITY_DLL_DECL boss_dredAI : public ScriptedAI
if (FearsomeRoarTimer < diff)
{
- DoCastAOE(HEROIC(SPELL_FEARSOME_ROAR, H_SPELL_FEARSOME_ROAR),false);
+ DoCastAOE(DUNGEON_MODE(SPELL_FEARSOME_ROAR, H_SPELL_FEARSOME_ROAR),false);
FearsomeRoarTimer = urand(16,18)*1000;
} else FearsomeRoarTimer -=diff;
@@ -146,7 +146,7 @@ struct TRINITY_DLL_DECL boss_dredAI : public ScriptedAI
{
pInstance->SetData(DATA_DRED_EVENT,DONE);
- if (HeroicMode && pInstance->GetData(DATA_KING_DRED_ACHIEV) == 6)
+ if (IsHeroic() && pInstance->GetData(DATA_KING_DRED_ACHIEV) == 6)
pInstance->DoCompleteAchievement(ACHIEV_BETTER_OFF_DRED);
}
}
@@ -192,7 +192,7 @@ struct TRINITY_DLL_DECL npc_drakkari_gutripperAI : public ScriptedAI
{
if (pInstance)
{
- if (m_creature->GetMap()->IsHeroic() && pInstance->GetData(DATA_DRED_EVENT) == IN_PROGRESS && pInstance->GetData(DATA_KING_DRED_ACHIEV) < 6)
+ if (IsHeroic() && pInstance->GetData(DATA_DRED_EVENT) == IN_PROGRESS && pInstance->GetData(DATA_KING_DRED_ACHIEV) < 6)
{
pInstance->SetData(DATA_KING_DRED_ACHIEV, pInstance->GetData(DATA_KING_DRED_ACHIEV) + 1);
}
@@ -240,7 +240,7 @@ struct TRINITY_DLL_DECL npc_drakkari_scytheclawAI : public ScriptedAI
{
if (pInstance)
{
- if (m_creature->GetMap()->IsHeroic() && pInstance->GetData(DATA_DRED_EVENT) == IN_PROGRESS && pInstance->GetData(DATA_KING_DRED_ACHIEV) < 6)
+ if (IsHeroic() && pInstance->GetData(DATA_DRED_EVENT) == IN_PROGRESS && pInstance->GetData(DATA_KING_DRED_ACHIEV) < 6)
{
pInstance->SetData(DATA_KING_DRED_ACHIEV, pInstance->GetData(DATA_KING_DRED_ACHIEV) + 1);
}
diff --git a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp
index 480694ae3b2..c3deace83f2 100644
--- a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp
+++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp
@@ -169,8 +169,8 @@ struct TRINITY_DLL_DECL boss_novosAI : public Scripted_NoMovementAI
if (uiTimer <= diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(RAND(SPELL_ARCANE_BLAST,SPELL_BLIZZARD,SPELL_FROSTBOLT,SPELL_WRATH_OF_MISERY),
- RAND(H_SPELL_ARCANE_BLAST,H_SPELL_BLIZZARD,H_SPELL_FROSTBOLT,H_SPELL_WRATH_OF_MISERY)));
+ DoCast(pTarget, DUNGEON_MODE(RAND(SPELL_ARCANE_BLAST,SPELL_BLIZZARD,SPELL_FROSTBOLT,SPELL_WRATH_OF_MISERY),
+ RAND(H_SPELL_ARCANE_BLAST,H_SPELL_BLIZZARD,H_SPELL_FROSTBOLT,H_SPELL_WRATH_OF_MISERY)));
uiTimer = urand(1000,3000);
} else uiTimer -= diff;
break;
@@ -182,7 +182,7 @@ struct TRINITY_DLL_DECL boss_novosAI : public Scripted_NoMovementAI
{
pInstance->SetData(DATA_NOVOS_EVENT, DONE);
- if (HeroicMode && bAchiev)
+ if (IsHeroic() && bAchiev)
pInstance->DoCompleteAchievement(ACHIEV_OH_NOVOS);
}
lSummons.DespawnAll();
diff --git a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
index b7a370639a8..15a092a7e8d 100644
--- a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
+++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
@@ -136,19 +136,19 @@ struct TRINITY_DLL_DECL boss_tharon_jaAI : public ScriptedAI
if (uiCurseOfLifeTimer < diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_CURSE_OF_LIFE, H_SPELL_CURSE_OF_LIFE));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_CURSE_OF_LIFE, H_SPELL_CURSE_OF_LIFE));
uiCurseOfLifeTimer = urand(10000,15000);
} else uiCurseOfLifeTimer -= diff;
if (uiShadowVolleyTimer < diff)
{
- DoCastVictim(HEROIC(SPELL_SHADOW_VOLLEY,H_SPELL_SHADOW_VOLLEY));
+ DoCastVictim(DUNGEON_MODE(SPELL_SHADOW_VOLLEY,H_SPELL_SHADOW_VOLLEY));
uiShadowVolleyTimer = urand(8000,10000);
} else uiShadowVolleyTimer -= diff;
if (uiRainOfFireTimer < diff)
{
- DoCastAOE(HEROIC(SPELL_RAIN_OF_FIRE,H_SPELL_RAIN_OF_FIRE));
+ DoCastAOE(DUNGEON_MODE(SPELL_RAIN_OF_FIRE,H_SPELL_RAIN_OF_FIRE));
uiRainOfFireTimer = urand(14000,18000);
} else uiRainOfFireTimer -= diff;
@@ -187,20 +187,20 @@ struct TRINITY_DLL_DECL boss_tharon_jaAI : public ScriptedAI
if (uiLightningBreathTimer < diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_LIGHTNING_BREATH, H_SPELL_LIGHTNING_BREATH));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_LIGHTNING_BREATH, H_SPELL_LIGHTNING_BREATH));
uiLightningBreathTimer = urand(6000,7000);
} else uiLightningBreathTimer -= diff;
if (uiEyeBeamTimer < diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_EYE_BEAM, H_SPELL_EYE_BEAM));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_EYE_BEAM, H_SPELL_EYE_BEAM));
uiEyeBeamTimer = urand(4000,6000);
} else uiEyeBeamTimer -= diff;
if (uiPoisonCloudTimer < diff)
{
- DoCastAOE(HEROIC(SPELL_POISON_CLOUD,H_SPELL_POISON_CLOUD));
+ DoCastAOE(DUNGEON_MODE(SPELL_POISON_CLOUD, H_SPELL_POISON_CLOUD));
uiPoisonCloudTimer = urand(10000,12000);
} else uiPoisonCloudTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp
index ed54bd05eb8..f4809b999a0 100644
--- a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp
+++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp
@@ -90,12 +90,12 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
uiExplodeCorpseTimer = 3000;
uiSpawnTimer = urand(30000,40000);
- bAchiev = HeroicMode;
+ bAchiev = IsHeroic();
lSummons.DespawnAll();
- if (m_creature->HasAura(HEROIC(SPELL_CONSUME,H_SPELL_CONSUME)))
- m_creature->RemoveAura(HEROIC(SPELL_CONSUME,H_SPELL_CONSUME));
+ if (m_creature->HasAura(DUNGEON_MODE(SPELL_CONSUME,H_SPELL_CONSUME)))
+ m_creature->RemoveAura(DUNGEON_MODE(SPELL_CONSUME,H_SPELL_CONSUME));
if (pInstance)
pInstance->SetData(DATA_TROLLGORE_EVENT, NOT_STARTED);
@@ -117,7 +117,8 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
if (uiSpawnTimer <= diff)
{
- for (uint8 i = 0; i < urand(2,HEROIC(3,5)); ++i)
+ uint32 spawnNumber = urand(2,DUNGEON_MODE(3,5));
+ for (uint8 i = 0; i < spawnNumber; ++i)
DoSpawnCreature(RAND(NPC_DRAKKARI_INVADER_1,NPC_DRAKKARI_INVADER_2), AddSpawnPoint.GetPositionX(), AddSpawnPoint.GetPositionY(), AddSpawnPoint.GetPositionZ(), AddSpawnPoint.GetOrientation(), TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 90000);
uiSpawnTimer = urand(30000,40000);
} else uiSpawnTimer -= diff;
@@ -125,7 +126,7 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
if (uiConsumeTimer <= diff)
{
DoScriptText(SAY_CONSUME, m_creature);
- DoCast(HEROIC(SPELL_CONSUME, H_SPELL_CONSUME));
+ DoCast(DUNGEON_MODE(SPELL_CONSUME, H_SPELL_CONSUME));
uiConsumeTimer = 15000;
} else uiConsumeTimer -= diff;
@@ -133,7 +134,7 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
{
if (uiAuraCountTimer <= diff)
{
- if (Aura *pConsumeAura = m_creature->GetAura(HEROIC(SPELL_CONSUME,H_SPELL_CONSUME)))
+ if (Aura *pConsumeAura = m_creature->GetAura(DUNGEON_MODE(SPELL_CONSUME,H_SPELL_CONSUME)))
{
if (pConsumeAura && pConsumeAura->GetStackAmount() > 9)
bAchiev = false;
@@ -156,7 +157,7 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
if (uiExplodeCorpseTimer <= diff)
{
- DoCast(HEROIC(SPELL_CORPSE_EXPLODE, H_SPELL_CORPSE_EXPLODE));
+ DoCast(DUNGEON_MODE(SPELL_CORPSE_EXPLODE, H_SPELL_CORPSE_EXPLODE));
DoScriptText(SAY_EXPLODE, m_creature);
uiExplodeCorpseTimer = urand(15000,19000);
} else uiExplodeCorpseTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp
index e8e284986f4..ef735146cfa 100644
--- a/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp
+++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp
@@ -222,7 +222,6 @@ struct TRINITY_DLL_DECL npc_living_mojoAI : public ScriptedAI
{
npc_living_mojoAI(Creature* pCreature) : ScriptedAI(pCreature)
{
- HeroicMode = pCreature->GetMap()->IsHeroic();
pInstance = pCreature->GetInstanceData();
}
@@ -230,8 +229,6 @@ struct TRINITY_DLL_DECL npc_living_mojoAI : public ScriptedAI
ScriptedInstance* pInstance;
- bool HeroicMode;
-
uint32 uiMojoWaveTimer;
uint32 uiMojoPuddleTimer;
@@ -277,13 +274,13 @@ struct TRINITY_DLL_DECL npc_living_mojoAI : public ScriptedAI
if (uiMojoWaveTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_MOJO_WAVE, H_SPELL_MOJO_WAVE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MOJO_WAVE, H_SPELL_MOJO_WAVE));
uiMojoWaveTimer = 15000;
} else uiMojoWaveTimer -= diff;
if (uiMojoPuddleTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_MOJO_PUDDLE, H_SPELL_MOJO_PUDDLE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MOJO_PUDDLE, H_SPELL_MOJO_PUDDLE));
uiMojoPuddleTimer = 18000;
} else uiMojoPuddleTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp
index 4831004fd38..bf899a95ae3 100644
--- a/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp
+++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp
@@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_gal_darahAI : public ScriptedAI
if (uiWhirlingSlashTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_WHIRLING_SLASH, H_SPELL_WHIRLING_SLASH));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_WHIRLING_SLASH, H_SPELL_WHIRLING_SLASH));
uiWhirlingSlashTimer = 20000;
++uiPhaseCounter;
} else uiWhirlingSlashTimer -= diff;
@@ -137,26 +137,26 @@ struct TRINITY_DLL_DECL boss_gal_darahAI : public ScriptedAI
{
if (uiPunctureTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_PUNCTURE, H_SPELL_PUNCTURE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_PUNCTURE, H_SPELL_PUNCTURE));
uiPunctureTimer = 8000;
} else uiPunctureTimer -= diff;
if (uiEnrageTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_ENRAGE, H_SPELL_ENRAGE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_ENRAGE, H_SPELL_ENRAGE));
uiEnrageTimer = 20000;
} else uiEnrageTimer -= diff;
if (uiStompTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_STOMP, H_SPELL_STOMP));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_STOMP, H_SPELL_STOMP));
uiStompTimer = 20000;
} else uiStompTimer -= diff;
if (uiImpalingChargeTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_IMPALING_CHARGE, H_SPELL_IMPALING_CHARGE));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_IMPALING_CHARGE, H_SPELL_IMPALING_CHARGE));
uiImpalingChargeTimer = 30000;
++uiPhaseCounter;
} else uiImpalingChargeTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp
index 7129e61833e..d4ebb46314b 100644
--- a/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp
+++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp
@@ -112,7 +112,7 @@ struct TRINITY_DLL_DECL boss_moorabiAI : public ScriptedAI
if (uiDeterminedStabTimer <= uiDiff)
{
if (bPhase)
- DoCast(m_creature->getVictim(), HEROIC(SPELL_DETERMINED_GORE, SPELL_DETERMINED_GORE_1));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_DETERMINED_GORE, SPELL_DETERMINED_GORE_1));
else
DoCast(m_creature->getVictim(), SPELL_DETERMINED_STAB, true);
uiDeterminedStabTimer = 8000;
@@ -133,7 +133,7 @@ struct TRINITY_DLL_DECL boss_moorabiAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
- if (HeroicMode && !bPhase)
+ if (IsHeroic() && !bPhase)
{
AchievementEntry const *AchievLessRabi = GetAchievementStore()->LookupEntry(ACHIEVEMENT_LESS_RABI);
if (AchievLessRabi)
diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp
index 9d12b20feda..798f9f4ff72 100644
--- a/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp
+++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp
@@ -109,19 +109,19 @@ struct TRINITY_DLL_DECL boss_slad_ranAI : public ScriptedAI
if (uiPoisonNovaTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_POISON_NOVA, H_SPELL_POISON_NOVA));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_POISON_NOVA, H_SPELL_POISON_NOVA));
uiPoisonNovaTimer = 15000;
} else uiPoisonNovaTimer -= diff;
if (uiPowerfullBiteTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_POWERFULL_BITE, H_SPELL_POWERFULL_BITE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_POWERFULL_BITE, H_SPELL_POWERFULL_BITE));
uiPowerfullBiteTimer = 10000;
} else uiPowerfullBiteTimer -= diff;
if (uiVenomBoltTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_VENOM_BOLT, H_SPELL_VENOM_BOLT));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_VENOM_BOLT, H_SPELL_VENOM_BOLT));
uiVenomBoltTimer = 10000;
} else uiVenomBoltTimer -= diff;
@@ -130,10 +130,10 @@ struct TRINITY_DLL_DECL boss_slad_ranAI : public ScriptedAI
if (uiSpawnTimer <= diff)
{
if (uiPhase == 1)
- for (uint8 i = 0; i < (HeroicMode ? 5 : 3); ++i)
+ for (uint8 i = 0; i < DUNGEON_MODE(3, 5); ++i)
m_creature->SummonCreature(CREATURE_SNAKE, SpawnLoc[i].x, SpawnLoc[i].y, SpawnLoc[i].z, SpawnLoc[i].orientation, TEMPSUMMON_CORPSE_TIMED_DESPAWN,20000);
if (uiPhase == 2)
- for (uint8 i = 0; i < (HeroicMode ? 5 : 3); ++i)
+ for (uint8 i = 0; i < DUNGEON_MODE(3, 5); ++i)
m_creature->SummonCreature(CREATURE_CONSTRICTORS, SpawnLoc[i].x, SpawnLoc[i].y, SpawnLoc[i].z, SpawnLoc[i].orientation, TEMPSUMMON_CORPSE_TIMED_DESPAWN,20000);
uiSpawnTimer = 5000;
} else uiSpawnTimer -= diff;
@@ -218,7 +218,7 @@ struct TRINITY_DLL_DECL mob_slad_ran_viperAI : public ScriptedAI
if (uiVenomousBiteTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_VENOMOUS_BITE, H_SPELL_VENOMOUS_BITE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_VENOMOUS_BITE, H_SPELL_VENOMOUS_BITE));
uiVenomousBiteTimer = 10000;
} else uiVenomousBiteTimer -= diff;
}
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp
index 5376c5f7d82..d1c89a3218f 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp
@@ -21,8 +21,8 @@
#define SAY_AGGRO RAND(-1533001,-1533002,-1533003)
#define SAY_SLAY -1533008
-#define SPELL_IMPALE HEROIC(28783,56090)
-#define SPELL_LOCUSTSWARM HEROIC(28785,54021)
+#define SPELL_IMPALE RAID_MODE(28783,56090)
+#define SPELL_LOCUSTSWARM RAID_MODE(28785,54021)
#define SPELL_SELF_SPAWN_5 29105 //This spawns 5 corpse scarabs ontop of us (most likely the player casts this on death)
@@ -41,7 +41,7 @@ struct TRINITY_DLL_DECL boss_anubrekhanAI : public BossAI
{
HasTaunted = false;
- if (HeroicMode)
+ if (IsHeroic())
{
DoSpawnCreature(MOB_CRYPT_GUARD, 0, -10, 0, me->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
DoSpawnCreature(MOB_CRYPT_GUARD, 0, 10, 0, me->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp
index dd8034d6d6e..994fa6ad991 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp
@@ -115,16 +115,16 @@ struct TRINITY_DLL_DECL boss_faerlinaAI : public BossAI
{
case EVENT_POISON:
if (!me->HasAura(SPELL_WIDOWS_EMBRACE))
- DoCastAOE(HEROIC(SPELL_POISON_BOLT_VOLLEY,H_SPELL_POISON_BOLT_VOLLEY));
+ DoCastAOE(RAID_MODE(SPELL_POISON_BOLT_VOLLEY,H_SPELL_POISON_BOLT_VOLLEY));
events.ScheduleEvent(EVENT_POISON, urand(12000,15000));
return;
case EVENT_FIRE:
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_RAIN_OF_FIRE, H_SPELL_RAIN_OF_FIRE));
+ DoCast(pTarget, RAID_MODE(SPELL_RAIN_OF_FIRE, H_SPELL_RAIN_OF_FIRE));
events.ScheduleEvent(EVENT_FIRE, urand(6000,18000));
return;
case EVENT_FRENZY:
- DoCast(me, HEROIC(SPELL_FRENZY, H_SPELL_FRENZY));
+ DoCast(me, RAID_MODE(SPELL_FRENZY, H_SPELL_FRENZY));
delayFrenzy = false;
return;
case EVENT_AFTERENRAGE:
@@ -139,7 +139,7 @@ struct TRINITY_DLL_DECL boss_faerlinaAI : public BossAI
{
if (spell->Id == SPELL_WIDOWS_EMBRACE || spell->Id == H_SPELL_WIDOWS_EMBRACE)
{
- if (m_creature->HasAura(HEROIC(SPELL_FRENZY,H_SPELL_FRENZY)))
+ if (m_creature->HasAura(RAID_MODE(SPELL_FRENZY,H_SPELL_FRENZY)))
{
if (!delayFrenzy)
{
@@ -169,7 +169,7 @@ struct TRINITY_DLL_DECL mob_faerlina_addAI : public ScriptedAI
void Reset()
{
- if (!HeroicMode)
+ if (getDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, SPELL_EFFECT_BIND, true);
}
@@ -178,7 +178,7 @@ struct TRINITY_DLL_DECL mob_faerlina_addAI : public ScriptedAI
if (pInstance)
{
if (Creature *pFaerlina = pInstance->instance->GetCreature(pInstance->GetData64(DATA_FAERLINA)))
- DoCast(pFaerlina, HEROIC(SPELL_WIDOWS_EMBRACE, H_SPELL_WIDOWS_EMBRACE));
+ DoCast(pFaerlina, RAID_MODE(SPELL_WIDOWS_EMBRACE, H_SPELL_WIDOWS_EMBRACE));
}
}
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp
index 9ad9551adc0..170b48edee1 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp
@@ -55,10 +55,10 @@ const Position WaypointPositions[12] =
const uint32 MOB_HORSEMEN[] = {16064, 16065, 30549, 16063};
const uint32 SPELL_MARK[] = {28832, 28833, 28834, 28835};
-#define SPELL_PRIMARY(i) HEROIC(SPELL_PRIMARY_N[i],SPELL_PRIMARY_H[i])
+#define SPELL_PRIMARY(i) RAID_MODE(SPELL_PRIMARY_N[i],SPELL_PRIMARY_H[i])
const uint32 SPELL_PRIMARY_N[] = {28884, 28863, 28882, 28883};
const uint32 SPELL_PRIMARY_H[] = {57467, 57463, 57369, 57466};
-#define SPELL_SECONDARY(i) HEROIC(SPELL_SECONDARY_N[i],SPELL_SECONDARY_H[i])
+#define SPELL_SECONDARY(i) RAID_MODE(SPELL_SECONDARY_N[i],SPELL_SECONDARY_H[i])
const uint32 SPELL_SECONDARY_N[]= {0, 57374, 0, 57376};
const uint32 SPELL_SECONDARY_H[]= {0, 57464, 0, 57465};
const uint32 SPELL_PUNISH[] = {0, 57381, 0, 57377};
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp
index 94d9843df30..b78a1dfdf6f 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp
@@ -18,8 +18,8 @@
#include "naxxramas.h"
#define SPELL_MORTAL_WOUND 25646
-#define SPELL_ENRAGE HEROIC(28371,54427)
-#define SPELL_DECIMATE HEROIC(28374,54426)
+#define SPELL_ENRAGE RAID_MODE(28371,54427)
+#define SPELL_DECIMATE RAID_MODE(28374,54426)
#define SPELL_BERSERK 26662
#define SPELL_INFECTED_WOUND 29306
@@ -131,7 +131,7 @@ struct TRINITY_DLL_DECL boss_gluthAI : public BossAI
events.ScheduleEvent(EVENT_BERSERK, 5*60000);
break;
case EVENT_SUMMON:
- for (uint32 i = 0; i < HEROIC(1,2); ++i)
+ for (uint32 i = 0; i < RAID_MODE(1,2); ++i)
DoSummon(MOB_ZOMBIE, triggers[rand()%3]);
events.ScheduleEvent(EVENT_SUMMON, 10000);
break;
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp
index 83b6bff7b95..4cde7236b55 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp
@@ -290,7 +290,7 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI
}
break;
case EVENT_BOLT:
- DoCast(me->getVictim(), HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
+ DoCast(me->getVictim(), RAID_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
events.ScheduleEvent(EVENT_BOLT, 1000);
return;
case EVENT_HARVEST:
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp
index 0b47f90374a..e43aae5ae54 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp
@@ -21,7 +21,7 @@
#define SPELL_POISON_CLOUD 28240
#define SPELL_MUTATING_INJECTION 28169
-#define SPELL_SLIME_SPRAY HEROIC(28157,54364)
+#define SPELL_SLIME_SPRAY RAID_MODE(28157,54364)
#define SPELL_BERSERK 26662
#define SPELL_POISON_CLOUD_ADD 59116
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp
index 4b4ed343dcb..15768e4d18a 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp
@@ -23,7 +23,7 @@
#define SAY_DEATH -1533118
#define SPELL_SPELL_DISRUPTION 29310
-#define SPELL_DECREPIT_FEVER HEROIC(29998,55011)
+#define SPELL_DECREPIT_FEVER RAID_MODE(29998,55011)
#define SPELL_PLAGUE_CLOUD 29350
enum Events
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp
index b0cbc6e7873..c59f9d4b9ee 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp
@@ -188,7 +188,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
events.ScheduleEvent(EVENT_DETONATE, 20000);
events.ScheduleEvent(EVENT_FISSURE, 25000);
events.ScheduleEvent(EVENT_BLAST, urand(30000,60000));
- if (HeroicMode)
+ if (getDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)
events.ScheduleEvent(EVENT_CHAIN, urand(30000,60000));
Phase = 2;
return;
@@ -212,7 +212,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
DoScriptText(SAY_ANSWER_REQUEST, m_creature);
}
}
- else if (GuardiansOfIcecrown_Count < HEROIC(2,5))
+ else if (GuardiansOfIcecrown_Count < RAID_MODE(2,5))
{
if (GuardiansOfIcecrown_Timer <= diff)
{
@@ -231,11 +231,11 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public BossAI
switch(eventId)
{
case EVENT_BOLT:
- DoCastVictim(HEROIC(SPELL_FROST_BOLT,H_SPELL_FROST_BOLT));
+ DoCastVictim(RAID_MODE(SPELL_FROST_BOLT,H_SPELL_FROST_BOLT));
events.RepeatEvent(urand(1000,10000));
return;
case EVENT_NOVA:
- DoCastAOE(HEROIC(SPELL_FROST_BOLT_AOE,H_SPELL_FROST_BOLT_AOE));
+ DoCastAOE(RAID_MODE(SPELL_FROST_BOLT_AOE,H_SPELL_FROST_BOLT_AOE));
events.RepeatEvent(urand(10000,20000));
return;
case EVENT_CHAIN:
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp
index ea3edb5e2a7..3d3e2051dd7 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp
@@ -66,11 +66,11 @@ struct TRINITY_DLL_DECL boss_loathebAI : public BossAI
return;
case EVENT_BLOOM:
DoCastAOE(SPELL_SUMMON_SPORE, true);
- DoCastAOE(HEROIC(SPELL_DEATHBLOOM,H_SPELL_DEATHBLOOM));
+ DoCastAOE(RAID_MODE(SPELL_DEATHBLOOM,H_SPELL_DEATHBLOOM));
events.ScheduleEvent(EVENT_BLOOM, 30000);
return;
case EVENT_DOOM:
- DoCastAOE(HEROIC(SPELL_INEVITABLE_DOOM,H_SPELL_INEVITABLE_DOOM));
+ DoCastAOE(RAID_MODE(SPELL_INEVITABLE_DOOM,H_SPELL_INEVITABLE_DOOM));
events.ScheduleEvent(EVENT_DOOM, events.GetTimer() < 5*60000 ? 30000 : 15000);
return;
}
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp
index cd337fd3b27..1923af6713b 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp
@@ -20,10 +20,10 @@
#include "naxxramas.h"
#define SPELL_WEB_WRAP 28622
-#define SPELL_WEB_SPRAY HEROIC(29484,54125)
-#define SPELL_POISON_SHOCK HEROIC(28741,54122)
-#define SPELL_NECROTIC_POISON HEROIC(54121,28776)
-#define SPELL_FRENZY HEROIC(54123,54124)
+#define SPELL_WEB_SPRAY RAID_MODE(29484,54125)
+#define SPELL_POISON_SHOCK RAID_MODE(28741,54122)
+#define SPELL_NECROTIC_POISON RAID_MODE(54121,28776)
+#define SPELL_FRENZY RAID_MODE(54123,54124)
#define MOB_WEB_WRAP 16486
#define MOB_SPIDERLING 17055
@@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL boss_maexxnaAI : public BossAI
switch(eventId)
{
case EVENT_WRAP:
- for (uint8 i = 0; i < HEROIC(1,2); ++i)
+ for (uint8 i = 0; i < RAID_MODE(1,2); ++i)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1, 0, true, -SPELL_WEB_WRAP))
{
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp
index 707c3049820..4e91b5516e1 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp
@@ -24,9 +24,9 @@
#define SOUND_DEATH 8848
-#define SPELL_CURSE_PLAGUEBRINGER HEROIC(29213,54835)
+#define SPELL_CURSE_PLAGUEBRINGER RAID_MODE(29213,54835)
#define SPELL_BLINK RAND(29208,29209,29210,29211)
-#define SPELL_CRIPPLE HEROIC(29212,54814)
+#define SPELL_CRIPPLE RAID_MODE(29212,54814)
#define SPELL_TELEPORT 29216
#define MOB_WARRIOR 16984
@@ -95,7 +95,7 @@ struct TRINITY_DLL_DECL boss_nothAI : public BossAI
events.ScheduleEvent(EVENT_BALCONY, 110000);
events.ScheduleEvent(EVENT_CURSE, 20000+rand()%10000);
events.ScheduleEvent(EVENT_WARRIOR, 30000);
- if (HeroicMode)
+ if (getDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)
events.ScheduleEvent(EVENT_BLINK, 20000+rand()%10000);
}
}
@@ -146,7 +146,7 @@ struct TRINITY_DLL_DECL boss_nothAI : public BossAI
return;
case EVENT_WARRIOR:
DoScriptText(SAY_SUMMON, me);
- SummonUndead(MOB_WARRIOR, HEROIC(2,3));
+ SummonUndead(MOB_WARRIOR, RAID_MODE(2,3));
events.ScheduleEvent(EVENT_WARRIOR, 30000);
return;
case EVENT_BLINK:
@@ -169,12 +169,12 @@ struct TRINITY_DLL_DECL boss_nothAI : public BossAI
DoScriptText(SAY_SUMMON, me);
switch(balconyCount)
{
- case 0: SummonUndead(MOB_CHAMPION, HEROIC(2,4)); break;
- case 1: SummonUndead(MOB_CHAMPION, HEROIC(1,2));
- SummonUndead(MOB_GUARDIAN, HEROIC(1,2)); break;
- case 2: SummonUndead(MOB_GUARDIAN, HEROIC(2,4)); break;
- default:SummonUndead(MOB_CHAMPION, HEROIC(5,10));
- SummonUndead(MOB_GUARDIAN, HEROIC(5,10));break;
+ case 0: SummonUndead(MOB_CHAMPION, RAID_MODE(2,4)); break;
+ case 1: SummonUndead(MOB_CHAMPION, RAID_MODE(1,2));
+ SummonUndead(MOB_GUARDIAN, RAID_MODE(1,2)); break;
+ case 2: SummonUndead(MOB_GUARDIAN, RAID_MODE(2,4)); break;
+ default:SummonUndead(MOB_CHAMPION, RAID_MODE(5,10));
+ SummonUndead(MOB_GUARDIAN, RAID_MODE(5,10));break;
}
++waveCount;
events.ScheduleEvent(waveCount < 2 ? EVENT_WAVE : EVENT_GROUND, 34000);
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp
index 42130b31c82..628a2e9bb14 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp
@@ -24,7 +24,7 @@
#define EMOTE_BERSERK -1533021
#define EMOTE_ENRAGE -1533022
-#define SPELL_HATEFULSTRIKE HEROIC(41926,59192)
+#define SPELL_HATEFULSTRIKE RAID_MODE(41926,59192)
#define SPELL_FRENZY 28131
#define SPELL_BERSERK 26662
#define SPELL_SLIMEBOLT 32309
@@ -33,7 +33,7 @@
#define EVENT_HATEFUL 2
#define EVENT_SLIME 3
-#define ACHIEVEMENT_MAKE_QUICK_WERK_OF_HIM HEROIC(1856, 1857)
+#define ACHIEVEMENT_MAKE_QUICK_WERK_OF_HIM RAID_MODE(1856, 1857)
#define MAX_ENCOUNTER_TIME 3 * 60 * 1000
struct TRINITY_DLL_DECL boss_patchwerkAI : public BossAI
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp
index d79962ee521..69a3b61160c 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp
@@ -40,7 +40,7 @@
#define SOUND_AGGROMIX 8847
#define SPELL_UNBALANCING_STRIKE 26613
-#define SPELL_DISRUPTING_SHOUT HEROIC(29107,55543)
+#define SPELL_DISRUPTING_SHOUT RAID_MODE(29107,55543)
#define SPELL_JAGGED_KNIFE 55550
#define SPELL_HOPELESS 29125
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp
index 6de3c89b61d..c2334e08fdb 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp
@@ -22,11 +22,11 @@
#define EMOTE_BREATH -1533082
#define EMOTE_ENRAGE -1533083
-#define SPELL_FROST_AURA HEROIC(28531,55799)
+#define SPELL_FROST_AURA RAID_MODE(28531,55799)
#define SPELL_CLEAVE 19983
-#define SPELL_TAIL_SWEEP HEROIC(55697,55696)
+#define SPELL_TAIL_SWEEP RAID_MODE(55697,55696)
#define SPELL_SUMMON_BLIZZARD 28560
-#define SPELL_LIFE_DRAIN HEROIC(28542,55665)
+#define SPELL_LIFE_DRAIN RAID_MODE(28542,55665)
#define SPELL_ICEBOLT 28522
#define SPELL_FROST_BREATH 29318
#define SPELL_FROST_EXPLOSION 28524
@@ -34,12 +34,12 @@
#define SPELL_BERSERK 26662
#define SPELL_DIES 29357
-#define SPELL_CHILL HEROIC(28547,55699)
+#define SPELL_CHILL RAID_MODE(28547,55699)
#define MOB_BLIZZARD 16474
#define GO_ICEBLOCK 181247
-#define ACHIEVEMENT_THE_HUNDRED_CLUB HEROIC(2146, 2147)
+#define ACHIEVEMENT_THE_HUNDRED_CLUB RAID_MODE(2146, 2147)
#define MAX_FROST_RESISTANCE 100
enum Phases
@@ -258,7 +258,7 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public BossAI
//DoCastAOE(SPELL_SUMMON_BLIZZARD);
if (Creature *pSummon = DoSummon(MOB_BLIZZARD, me, 0.0f, urand(25000,30000), TEMPSUMMON_TIMED_DESPAWN))
pSummon->GetMotionMaster()->MoveRandom(40);
- events.ScheduleEvent(EVENT_BLIZZARD, HEROIC(20000,7000), 0, PHASE_GROUND);
+ events.ScheduleEvent(EVENT_BLIZZARD, RAID_MODE(20000,7000), 0, PHASE_GROUND);
break;
}
case EVENT_FLIGHT:
@@ -286,7 +286,7 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public BossAI
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
me->SendMovementFlagUpdate();
events.ScheduleEvent(EVENT_ICEBOLT, 1500);
- iceboltCount = HEROIC(2,3);
+ iceboltCount = RAID_MODE(2,3);
return;
case EVENT_ICEBOLT:
{
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp
index c41e0464648..ebbce83b3e2 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp
@@ -139,7 +139,7 @@ struct TRINITY_DLL_DECL boss_thaddiusAI : public BossAI
events.ScheduleEvent(EVENT_SHIFT, 30000);
return;
case EVENT_CHAIN:
- DoCast(me->getVictim(), HEROIC(SPELL_CHAIN_LIGHTNING, H_SPELL_CHAIN_LIGHTNING));
+ DoCast(me->getVictim(), RAID_MODE(SPELL_CHAIN_LIGHTNING, H_SPELL_CHAIN_LIGHTNING));
events.ScheduleEvent(EVENT_CHAIN, urand(10000,20000));
return;
case EVENT_BERSERK:
@@ -180,7 +180,7 @@ struct TRINITY_DLL_DECL mob_stalaggAI : public ScriptedAI
{
if (PowerSurgeTimer <= uiDiff)
{
- DoCast(m_creature, HEROIC(SPELL_POWERSURGE, H_SPELL_POWERSURGE));
+ DoCast(m_creature, RAID_MODE(SPELL_POWERSURGE, H_SPELL_POWERSURGE));
PowerSurgeTimer = urand(15000,20000);
} else PowerSurgeTimer -= uiDiff;
DoMeleeAttackIfReady();
@@ -213,7 +213,7 @@ struct TRINITY_DLL_DECL mob_feugenAI : public ScriptedAI
{
if (StaticFieldTimer <= uiDiff)
{
- DoCast(m_creature, HEROIC(SPELL_STATICFIELD, H_SPELL_STATICFIELD));
+ DoCast(m_creature, RAID_MODE(SPELL_STATICFIELD, H_SPELL_STATICFIELD));
StaticFieldTimer = 5000;
} else StaticFieldTimer -= uiDiff;
DoMeleeAttackIfReady();
diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp
index f6829eff7a0..f0e353c1863 100644
--- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp
+++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp
@@ -66,11 +66,9 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
boss_anomalusAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint8 Phase;
uint32 SPELL_SPARK_Timer;
@@ -102,7 +100,7 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
- if (HeroicMode && !DeadChaoticRift)
+ if (IsHeroic() && !DeadChaoticRift)
{
AchievementEntry const *AchievChaosTheory = GetAchievementStore()->LookupEntry(ACHIEVEMENT_CHAOS_THEORY);
if (AchievChaosTheory)
@@ -205,7 +203,7 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
if (SPELL_SPARK_Timer <= diff)
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_SPARK_N, SPELL_SPARK_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_SPARK_N, SPELL_SPARK_H));
SPELL_SPARK_Timer = 5000;
} else SPELL_SPARK_Timer -=diff;
diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp
index 3ca75a3f15f..46894750098 100644
--- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp
+++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp
@@ -54,11 +54,9 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
boss_keristraszaAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint32 CRYSTALFIRE_BREATH_Timer;
uint32 CRYSTAL_CHAINS_CRYSTALIZE_Timer;
@@ -73,7 +71,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
void Reset()
{
CRYSTALFIRE_BREATH_Timer = 14000;
- CRYSTAL_CHAINS_CRYSTALIZE_Timer = HEROIC(30000,11000);
+ CRYSTAL_CHAINS_CRYSTALIZE_Timer = DUNGEON_MODE(30000,11000);
TAIL_SWEEP_Timer = 5000;
Enrage = false;
@@ -101,7 +99,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
- if (HeroicMode && !MoreThanTwoIntenseCold)
+ if (IsHeroic() && !MoreThanTwoIntenseCold)
{
AchievementEntry const *AchievIntenseCold = GetAchievementStore()->LookupEntry(ACHIEVEMENT_INTENSE_COLD);
if (AchievIntenseCold)
@@ -199,7 +197,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
if (CRYSTALFIRE_BREATH_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_CRYSTALFIRE_BREATH_N, SPELL_CRYSTALFIRE_BREATH_H));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_CRYSTALFIRE_BREATH_N, SPELL_CRYSTALFIRE_BREATH_H));
CRYSTALFIRE_BREATH_Timer = 14000;
} else CRYSTALFIRE_BREATH_Timer -=diff;
@@ -212,11 +210,11 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
if (CRYSTAL_CHAINS_CRYSTALIZE_Timer <= diff)
{
DoScriptText(SAY_CRYSTAL_NOVA, m_creature);
- if (HeroicMode)
+ if (IsHeroic())
DoCast(m_creature, SPELL_CRYSTALIZE);
else if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, SPELL_CRYSTAL_CHAINS);
- CRYSTAL_CHAINS_CRYSTALIZE_Timer = HEROIC(30000,11000);
+ CRYSTAL_CHAINS_CRYSTALIZE_Timer = DUNGEON_MODE(30000,11000);
} else CRYSTAL_CHAINS_CRYSTALIZE_Timer -= diff;
DoMeleeAttackIfReady();
diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp
index 97c11f39f1f..26950badb89 100644
--- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp
+++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp
@@ -66,11 +66,9 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
boss_magus_telestraAI(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint64 FireMagusGUID;
uint64 FrostMagusGUID;
@@ -131,7 +129,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
- if (HeroicMode && AchievementProgress == 2)
+ if (IsHeroic() && AchievementProgress == 2)
{
AchievementEntry const *AchievSplitPersonality = GetAchievementStore()->LookupEntry(ACHIEV_SPLIT_PERSONALITY);
if (AchievSplitPersonality)
@@ -277,7 +275,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
return;
}
- if (HeroicMode && (Phase == 2) && (m_creature->GetHealth() <= (m_creature->GetMaxHealth() * 0.1)))
+ if (IsHeroic() && (Phase == 2) && (m_creature->GetHealth() <= (m_creature->GetMaxHealth() * 0.1)))
{
Phase = 3;
m_creature->CastStop();
@@ -309,7 +307,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
{
- DoCast(pTarget, HEROIC(SPELL_ICE_NOVA_N, SPELL_ICE_NOVA_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_ICE_NOVA_N, SPELL_ICE_NOVA_H));
Cooldown = 1500;
}
SPELL_ICE_NOVA_Timer = 15000;
@@ -329,7 +327,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
{
- DoCast(pTarget, HEROIC(SPELL_FIREBOMB_N, SPELL_FIREBOMB_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_FIREBOMB_N, SPELL_FIREBOMB_H));
Cooldown = 2000;
}
SPELL_FIREBOMB_Timer = 2000;
diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp
index 0e26d011d82..982e604f352 100644
--- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp
+++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp
@@ -58,11 +58,10 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
boss_ormorokAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
+
bool Frenzy;
bool CrystalSpikes;
uint8 CrystalSpikes_Count;
@@ -145,7 +144,7 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
if (SPELL_TRAMPLE_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_TRAMPLE_N, SPELL_TRAMPLE_H));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_TRAMPLE_N, SPELL_TRAMPLE_H));
SPELL_TRAMPLE_Timer = 10000;
} else SPELL_TRAMPLE_Timer -= diff;
@@ -169,7 +168,7 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
SPELL_CRYSTAL_SPIKES_Timer = 20000;
} else SPELL_CRYSTAL_SPIKES_Timer -=diff;
- if (HeroicMode && (SPELL_SUMMON_CRYSTALLINE_TANGLER_Timer <= diff))
+ if (IsHeroic() && (SPELL_SUMMON_CRYSTALLINE_TANGLER_Timer <= diff))
{
Creature* Crystalline_Tangler = m_creature->SummonCreature(MOB_CRYSTALLINE_TANGLER, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ(), m_creature->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
if (Crystalline_Tangler)
@@ -217,11 +216,8 @@ struct TRINITY_DLL_DECL mob_crystal_spikeAI : public Scripted_NoMovementAI
{
mob_crystal_spikeAI(Creature *c) : Scripted_NoMovementAI(c)
{
- HeroicMode = c->GetMap()->IsHeroic();
}
- bool HeroicMode;
-
uint32 SPELL_CRYSTALL_SPIKE_DAMAGE_Timer;
uint32 SPELL_CRYSTAL_SPIKE_PREVISUAL_Timer;
@@ -245,7 +241,7 @@ struct TRINITY_DLL_DECL mob_crystal_spikeAI : public Scripted_NoMovementAI
if (SPELL_CRYSTALL_SPIKE_DAMAGE_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_CRYSTALL_SPIKE_DAMAGE_N, SPELL_CRYSTALL_SPIKE_DAMAGE_H));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_CRYSTALL_SPIKE_DAMAGE_N, SPELL_CRYSTALL_SPIKE_DAMAGE_H));
SPELL_CRYSTALL_SPIKE_DAMAGE_Timer = 10000;
} else SPELL_CRYSTALL_SPIKE_DAMAGE_Timer -=diff;
}
diff --git a/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp
index f09978dd11b..00f693ce8f7 100644
--- a/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp
+++ b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp
@@ -255,11 +255,11 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
if (pInstance)
{
if (achievProgress == 1)
- pInstance->DoCompleteAchievement(HEROIC(ACHIEV_TWILIGHT_ASSIST,H_ACHIEV_TWILIGHT_ASSIST));
+ pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_ASSIST,H_ACHIEV_TWILIGHT_ASSIST));
else if (achievProgress == 2)
- pInstance->DoCompleteAchievement(HEROIC(ACHIEV_TWILIGHT_DUO,H_ACHIEV_TWILIGHT_DUO));
+ pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_DUO,H_ACHIEV_TWILIGHT_DUO));
else if (achievProgress == 3)
- pInstance->DoCompleteAchievement(HEROIC(ACHIEV_TWILIGHT_ZONE,H_ACHIEV_TWILIGHT_ZONE));
+ pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_ZONE,H_ACHIEV_TWILIGHT_ZONE));
pInstance->SetData(TYPE_SARTHARION_EVENT, DONE);
}
@@ -430,7 +430,7 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
if (m_uiFlameBreathTimer <= uiDiff)
{
DoScriptText(SAY_SARTHARION_BREATH, m_creature);
- DoCast(m_creature->getVictim(), HEROIC(SPELL_FLAME_BREATH, SPELL_FLAME_BREATH_H));
+ DoCast(m_creature->getVictim(), RAID_MODE(SPELL_FLAME_BREATH, SPELL_FLAME_BREATH_H));
m_uiFlameBreathTimer = urand(25000,35000);
}
else
@@ -439,7 +439,7 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
// Tail Sweep
if (m_uiTailSweepTimer <= uiDiff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_TAIL_LASH, SPELL_TAIL_LASH_H));
+ DoCast(m_creature->getVictim(), RAID_MODE(SPELL_TAIL_LASH, SPELL_TAIL_LASH_H));
m_uiTailSweepTimer = urand(15000,20000);
}
else
@@ -760,7 +760,7 @@ struct TRINITY_DLL_DECL mob_tenebronAI : public dummy_dragonAI
if (m_uiShadowFissureTimer <= uiDiff)
{
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_SHADOW_FISSURE, SPELL_SHADOW_FISSURE));
+ DoCast(pTarget, RAID_MODE(SPELL_SHADOW_FISSURE, SPELL_SHADOW_FISSURE));
m_uiShadowFissureTimer = urand(15000,20000);
}
@@ -771,7 +771,7 @@ struct TRINITY_DLL_DECL mob_tenebronAI : public dummy_dragonAI
if (m_uiShadowBreathTimer <= uiDiff)
{
DoScriptText(SAY_TENEBRON_BREATH, m_creature);
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H));
+ DoCast(m_creature->getVictim(), RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H));
m_uiShadowBreathTimer = urand(20000,25000);
}
else
@@ -836,7 +836,7 @@ struct TRINITY_DLL_DECL mob_shadronAI : public dummy_dragonAI
if (m_uiShadowFissureTimer <= uiDiff)
{
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_SHADOW_FISSURE, SPELL_SHADOW_FISSURE_H));
+ DoCast(pTarget, RAID_MODE(SPELL_SHADOW_FISSURE, SPELL_SHADOW_FISSURE_H));
m_uiShadowFissureTimer = urand(15000,20000);
}
@@ -847,7 +847,7 @@ struct TRINITY_DLL_DECL mob_shadronAI : public dummy_dragonAI
if (m_uiShadowBreathTimer <= uiDiff)
{
DoScriptText(SAY_SHADRON_BREATH, m_creature);
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H));
+ DoCast(m_creature->getVictim(), RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H));
m_uiShadowBreathTimer = urand(20000,25000);
}
else
@@ -906,7 +906,7 @@ struct TRINITY_DLL_DECL mob_vesperonAI : public dummy_dragonAI
if (m_uiShadowFissureTimer <= uiDiff)
{
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_SHADOW_FISSURE, SPELL_SHADOW_FISSURE_H));
+ DoCast(pTarget, RAID_MODE(SPELL_SHADOW_FISSURE, SPELL_SHADOW_FISSURE_H));
m_uiShadowFissureTimer = urand(15000,20000);
}
@@ -917,7 +917,7 @@ struct TRINITY_DLL_DECL mob_vesperonAI : public dummy_dragonAI
if (m_uiShadowBreathTimer <= uiDiff)
{
DoScriptText(SAY_VESPERON_BREATH, m_creature);
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H));
+ DoCast(m_creature->getVictim(), RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H));
m_uiShadowBreathTimer = urand(20000,25000);
}
else
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp
index 440ad50b5b2..47634072625 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp
@@ -84,14 +84,12 @@ struct TRINITY_DLL_DECL boss_bjarngrimAI : public ScriptedAI
boss_bjarngrimAI(Creature *pCreature) : ScriptedAI(pCreature)
{
m_pInstance = pCreature->GetInstanceData();
- m_bIsHeroic = pCreature->GetMap()->IsHeroic();
m_uiStance = STANCE_DEFENSIVE;
memset(&m_auiStormforgedLieutenantGUID, 0, sizeof(m_auiStormforgedLieutenantGUID));
}
ScriptedInstance* m_pInstance;
- bool m_bIsHeroic;
bool m_bIsChangingStance;
uint8 m_uiChargingStatus;
@@ -350,11 +348,9 @@ struct TRINITY_DLL_DECL mob_stormforged_lieutenantAI : public ScriptedAI
mob_stormforged_lieutenantAI(Creature *pCreature) : ScriptedAI(pCreature)
{
m_pInstance = pCreature->GetInstanceData();
- m_bIsHeroic = pCreature->GetMap()->IsHeroic();
}
ScriptedInstance* m_pInstance;
- bool m_bIsHeroic;
uint32 m_uiArcWeld_Timer;
uint32 m_uiRenewSteel_Timer;
@@ -398,7 +394,7 @@ struct TRINITY_DLL_DECL mob_stormforged_lieutenantAI : public ScriptedAI
if (Creature* pBjarngrim = m_pInstance->instance->GetCreature(m_pInstance->GetData64(DATA_BJARNGRIM)))
{
if (pBjarngrim->isAlive())
- DoCast(pBjarngrim, m_bIsHeroic ? SPELL_RENEW_STEEL_H : SPELL_RENEW_STEEL_N);
+ DoCast(pBjarngrim, DUNGEON_MODE(SPELL_RENEW_STEEL_N, SPELL_RENEW_STEEL_H));
}
}
m_uiRenewSteel_Timer = 10000 + rand()%4000;
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
index 87b4ab64cbe..3e4494f4205 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
@@ -195,7 +195,7 @@ struct TRINITY_DLL_DECL boss_ionarAI : public ScriptedAI
{
if (pSummoned->GetEntry() == NPC_SPARK_OF_IONAR)
{
- pSummoned->CastSpell(pSummoned, HEROIC(SPELL_SPARK_VISUAL_TRIGGER_N,SPELL_SPARK_VISUAL_TRIGGER_H), true);
+ pSummoned->CastSpell(pSummoned, DUNGEON_MODE(SPELL_SPARK_VISUAL_TRIGGER_N,SPELL_SPARK_VISUAL_TRIGGER_H), true);
Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0);
@@ -259,7 +259,7 @@ struct TRINITY_DLL_DECL boss_ionarAI : public ScriptedAI
if (m_uiStaticOverload_Timer <= uiDiff)
{
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pTarget, HEROIC(SPELL_STATIC_OVERLOAD_N, SPELL_STATIC_OVERLOAD_H));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_STATIC_OVERLOAD_N, SPELL_STATIC_OVERLOAD_H));
m_uiStaticOverload_Timer = 5000 + rand()%1000;
}
@@ -268,7 +268,7 @@ struct TRINITY_DLL_DECL boss_ionarAI : public ScriptedAI
if (m_uiBallLightning_Timer <= uiDiff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_BALL_LIGHTNING_N, SPELL_BALL_LIGHTNING_H));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_BALL_LIGHTNING_N, SPELL_BALL_LIGHTNING_H));
m_uiBallLightning_Timer = 10000 + rand()%1000;
}
else
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp
index 39a889df46a..fdb40810e2c 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp
@@ -63,12 +63,10 @@ struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI
boss_lokenAI(Creature* pCreature) : ScriptedAI(pCreature)
{
m_pInstance = pCreature->GetInstanceData();
- m_bIsHeroic = pCreature->GetMap()->IsHeroic();
}
ScriptedInstance* m_pInstance;
- bool m_bIsHeroic;
bool m_bIsAura;
uint32 m_uiArcLightning_Timer;
@@ -109,7 +107,7 @@ struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
- if (m_bIsHeroic && EncounterTime <= MAX_ENCOUNTER_TIME)
+ if (IsHeroic() && EncounterTime <= MAX_ENCOUNTER_TIME)
{
AchievementEntry const *AchievTimelyDeath = GetAchievementStore()->LookupEntry(ACHIEVEMENT_TIMELY_DEATH);
if (AchievTimelyDeath)
@@ -160,12 +158,11 @@ struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI
int32 dmg;
float m_fDist = m_creature->GetExactDist(i->getSource()->GetPositionX(), i->getSource()->GetPositionY(), i->getSource()->GetPositionZ());
- if (m_fDist <= 1.0f) // Less than 1 yard
- dmg = (m_bIsHeroic ? 150 : 100); // need to correct damage
- else // Further from 1 yard
- dmg = ((m_bIsHeroic ? 150 : 100) * m_fDist) + (m_bIsHeroic ? 150 : 100); // need to correct damage
+ dmg = DUNGEON_MODE(100, 150); // need to correct damage
+ if (m_fDist > 1.0f) // Further from 1 yard
+ dmg *= m_fDist;
- m_creature->CastCustomSpell(i->getSource(), (m_bIsHeroic ? 59837 : 52942), &dmg, 0, 0, false);
+ m_creature->CastCustomSpell(i->getSource(), DUNGEON_MODE(52942, 59837), &dmg, 0, 0, false);
}
}
m_uiPulsingShockwave_Timer = 2000;
@@ -178,7 +175,7 @@ struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI
//breaks at movement, can we assume when it's time, this spell is casted and also must stop movement?
DoCast(m_creature, SPELL_PULSING_SHOCKWAVE_AURA, true);
- DoCast(m_creature, m_bIsHeroic ? SPELL_PULSING_SHOCKWAVE_H : SPELL_PULSING_SHOCKWAVE_N); // need core support
+ DoCast(m_creature, DUNGEON_MODE(SPELL_PULSING_SHOCKWAVE_N, SPELL_PULSING_SHOCKWAVE_H)); // need core support
m_bIsAura = true;
m_uiResumePulsingShockwave_Timer = 0;
}
@@ -200,10 +197,10 @@ struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI
{
DoScriptText(RAND(SAY_NOVA_1,SAY_NOVA_2,SAY_NOVA_3), m_creature);
DoScriptText(EMOTE_NOVA, m_creature);
- DoCast(m_creature, m_bIsHeroic ? SPELL_LIGHTNING_NOVA_H : SPELL_LIGHTNING_NOVA_N);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_LIGHTNING_NOVA_N, SPELL_LIGHTNING_NOVA_H));
m_bIsAura = false;
- m_uiResumePulsingShockwave_Timer = (m_bIsHeroic ? 4000 : 5000); // Pause Pulsing Shockwave aura
+ m_uiResumePulsingShockwave_Timer = DUNGEON_MODE(5000, 4000); // Pause Pulsing Shockwave aura
m_uiLightningNova_Timer = 20000 + rand()%1000;
}
else
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
index e8b524e772a..def0290ba0a 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
@@ -77,14 +77,12 @@ struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI
boss_volkhanAI(Creature *pCreature) : ScriptedAI(pCreature)
{
m_pInstance = pCreature->GetInstanceData();
- m_bIsHeroic = pCreature->GetMap()->IsHeroic();
}
ScriptedInstance* m_pInstance;
std::list<uint64> m_lGolemGUIDList;
- bool m_bIsHeroic;
bool m_bHasTemper;
bool m_bIsStriking;
bool m_bCanShatterGolem;
@@ -145,7 +143,7 @@ struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI
if (m_pInstance)
m_pInstance->SetData(TYPE_VOLKHAN, DONE);
- if (HeroicMode && GolemsShattered < 5)
+ if (IsHeroic() && GolemsShattered < 5)
{
AchievementEntry const *AchievShatterResistant = GetAchievementStore()->LookupEntry(ACHIEVEMENT_SHATTER_RESISTANT);
if (AchievShatterResistant)
@@ -195,7 +193,7 @@ struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI
// only shatter brittle golems
if (pTemp->isAlive() && pTemp->GetEntry() == NPC_BRITTLE_GOLEM)
{
- pTemp->CastSpell(pTemp, m_bIsHeroic ? SPELL_SHATTER_H : SPELL_SHATTER_N, false);
+ pTemp->CastSpell(pTemp, DUNGEON_MODE(SPELL_SHATTER_N, SPELL_SHATTER_H), false);
GolemsShattered += 1;
}
}
@@ -218,7 +216,7 @@ struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI
pSummoned->AI()->AttackStart(pTarget);
//why healing when just summoned?
- pSummoned->CastSpell(pSummoned, m_bIsHeroic ? SPELL_HEAT_H : SPELL_HEAT_N, false, NULL, NULL, m_creature->GetGUID());
+ pSummoned->CastSpell(pSummoned, DUNGEON_MODE(SPELL_HEAT_N, SPELL_HEAT_H), false, NULL, NULL, m_creature->GetGUID());
}
}
@@ -257,7 +255,7 @@ struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI
DoScriptText(RAND(SAY_STOMP_1,SAY_STOMP_2), m_creature);
- DoCast(m_creature, m_bIsHeroic ? SPELL_SHATTERING_STOMP_H : SPELL_SHATTERING_STOMP_N);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_SHATTERING_STOMP_N, SPELL_SHATTERING_STOMP_H));
DoScriptText(EMOTE_SHATTER, m_creature);
@@ -369,10 +367,8 @@ struct TRINITY_DLL_DECL mob_molten_golemAI : public ScriptedAI
{
mob_molten_golemAI(Creature *pCreature) : ScriptedAI(pCreature)
{
- m_bIsHeroic = pCreature->GetMap()->IsHeroic();
}
- bool m_bIsHeroic;
bool m_bIsFrozen;
uint32 m_uiBlast_Timer;
@@ -445,7 +441,7 @@ struct TRINITY_DLL_DECL mob_molten_golemAI : public ScriptedAI
if (m_uiImmolation_Timer <= uiDiff)
{
- DoCast(m_creature->getVictim(), m_bIsHeroic ? SPELL_IMMOLATION_STRIKE_H : SPELL_IMMOLATION_STRIKE_N);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_IMMOLATION_STRIKE_N, SPELL_IMMOLATION_STRIKE_H));
m_uiImmolation_Timer = 5000;
}
else
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp
index 4e914fa0f13..fad779437db 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp
@@ -79,7 +79,7 @@ struct TRINITY_DLL_DECL boss_krystallusAI : public ScriptedAI
if (uiBoulderTossTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_BOULDER_TOSS, H_SPELL_BOULDER_TOSS));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_BOULDER_TOSS, H_SPELL_BOULDER_TOSS));
uiBoulderTossTimer = 9000 + rand()%6000;
} else uiBoulderTossTimer -= diff;
@@ -92,7 +92,7 @@ struct TRINITY_DLL_DECL boss_krystallusAI : public ScriptedAI
if (uiStompTimer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_STOMP, H_SPELL_STOMP));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_STOMP, H_SPELL_STOMP));
uiStompTimer = 20000 + rand()%9000;
} else uiStompTimer -= diff;
@@ -108,7 +108,7 @@ struct TRINITY_DLL_DECL boss_krystallusAI : public ScriptedAI
{
if (uiShatterTimer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_SHATTER, H_SPELL_SHATTER));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_SHATTER, H_SPELL_SHATTER));
bIsSlam = false;
} else uiShatterTimer -= diff;
}
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
index 85b2e8fba67..50d9d71a619 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
@@ -44,11 +44,9 @@ struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
boss_maiden_of_griefAI(Creature *c) : ScriptedAI(c)
{
pInstance = m_creature->GetInstanceData();
- IsHeroic = m_creature->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool IsHeroic;
uint32 PartingSorrowTimer;
uint32 StormOfGriefTimer;
@@ -92,7 +90,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
if (pInstance->GetData(DATA_MAIDEN_OF_GRIEF_EVENT) == IN_PROGRESS)
AchievTimer += diff;
- if(IsHeroic)
+ if (IsHeroic())
{
if (PartingSorrowTimer <= diff)
{
@@ -107,7 +105,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
if (StormOfGriefTimer <= diff)
{
- DoCast(m_creature->getVictim(), IsHeroic ? SPELL_STORM_OF_GRIEF_H : SPELL_STORM_OF_GRIEF_N, true);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_STORM_OF_GRIEF_N, SPELL_STORM_OF_GRIEF_H), true);
StormOfGriefTimer = 15000 + rand()%5000;
} else StormOfGriefTimer -= diff;
@@ -115,7 +113,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
{
DoResetThreat();
DoScriptText(SAY_STUN, m_creature);
- DoCast(m_creature, IsHeroic ? SPELL_SHOCK_OF_SORROW_H : SPELL_SHOCK_OF_SORROW_N);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_SHOCK_OF_SORROW_N, SPELL_SHOCK_OF_SORROW_H));
ShockOfSorrowTimer = 20000 + rand()%10000;
} else ShockOfSorrowTimer -= diff;
@@ -123,10 +121,10 @@ struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
{
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 1);
- if(pTarget)
- DoCast(pTarget, IsHeroic ? SPELL_PILLAR_OF_WOE_H : SPELL_PILLAR_OF_WOE_N);
+ if (pTarget)
+ DoCast(pTarget, DUNGEON_MODE(SPELL_PILLAR_OF_WOE_N, SPELL_PILLAR_OF_WOE_H));
else
- DoCast(m_creature->getVictim(), IsHeroic ? SPELL_PILLAR_OF_WOE_H : SPELL_PILLAR_OF_WOE_N);
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_PILLAR_OF_WOE_N, SPELL_PILLAR_OF_WOE_H));
PillarOfWoeTimer = 5000 + rand()%20000;
} else PillarOfWoeTimer -= diff;
@@ -143,7 +141,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
AchievementEntry const *AchievGoodGrief = GetAchievementStore()->LookupEntry(ACHIEVEMENT_GOOD_GRIEF);
Map* pMap = m_creature->GetMap();
- if (HeroicMode && AchievTimer < 60000 && pMap && pMap->IsDungeon() && AchievGoodGrief)
+ if (IsHeroic() && AchievTimer < 60000 && pMap && pMap->IsDungeon() && AchievGoodGrief)
{
Map::PlayerList const &players = pMap->GetPlayers();
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp
index 0e4db427246..9424685be20 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp
@@ -130,19 +130,19 @@ struct TRINITY_DLL_DECL boss_sjonnirAI : public ScriptedAI
if (uiChainLightningTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_CHAIN_LIGHTING, H_SPELL_CHAIN_LIGHTING));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_CHAIN_LIGHTING, H_SPELL_CHAIN_LIGHTING));
uiChainLightningTimer = 10000 + rand()%5000;
} else uiChainLightningTimer -= diff;
if (uiLightningShieldTimer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_LIGHTING_SHIELD, H_SPELL_LIGHTING_SHIELD));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_LIGHTING_SHIELD, H_SPELL_LIGHTING_SHIELD));
uiLightningShieldTimer -= diff;
}
if (uiStaticChargeTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_STATIC_CHARGE, H_SPELL_STATIC_CHARGE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_STATIC_CHARGE, H_SPELL_STATIC_CHARGE));
uiStaticChargeTimer = 20000 + rand()%5000;
} uiStaticChargeTimer -= diff;
@@ -150,7 +150,7 @@ struct TRINITY_DLL_DECL boss_sjonnirAI : public ScriptedAI
{
if (m_creature->IsNonMeleeSpellCasted(false))
m_creature->InterruptNonMeleeSpells(false);
- DoCast(m_creature, HEROIC(SPELL_LIGHTING_RING, H_SPELL_LIGHTING_RING));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_LIGHTING_RING, H_SPELL_LIGHTING_RING));
uiLightningRingTimer = 30000 + rand()%5000;
} else uiLightningRingTimer -= diff;
@@ -195,7 +195,7 @@ struct TRINITY_DLL_DECL boss_sjonnirAI : public ScriptedAI
if (pInstance)
{
pInstance->SetData(DATA_SJONNIR_EVENT, DONE);
- if (HeroicMode && uiKilledIronSludges > 4)
+ if (IsHeroic() && uiKilledIronSludges > 4)
pInstance->DoCompleteAchievement(ACHIEV_ABUSE_THE_OOZE);
}
}
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
index a8141edb987..5a03d583b13 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
@@ -184,7 +184,7 @@ struct TRINITY_DLL_DECL mob_tribuna_controllerAI : public ScriptedAI
if (!lKaddrakGUIDList.empty())
for (std::list<Creature*>::iterator itr = lKaddrakGUIDList.begin(); itr != lKaddrakGUIDList.end(); ++itr)
if ((*itr)->isAlive())
- (*itr)->CastSpell(pTarget, HEROIC(SPELL_GLARE_OF_THE_TRIBUNAL, H_SPELL_GLARE_OF_THE_TRIBUNAL), true);
+ (*itr)->CastSpell(pTarget, DUNGEON_MODE(SPELL_GLARE_OF_THE_TRIBUNAL, H_SPELL_GLARE_OF_THE_TRIBUNAL), true);
uiKaddrakEncounterTimer = 1500;
} else uiKaddrakEncounterTimer -= diff;
}
@@ -198,7 +198,7 @@ struct TRINITY_DLL_DECL mob_tribuna_controllerAI : public ScriptedAI
{
pSummon->SetDisplayId(11686);
pSummon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- pSummon->CastSpell(pTarget, HEROIC(SPELL_DARK_MATTER, H_SPELL_DARK_MATTER), true);
+ pSummon->CastSpell(pTarget, DUNGEON_MODE(SPELL_DARK_MATTER, H_SPELL_DARK_MATTER), true);
}
}
uiMarnakEncounterTimer = 30000 + rand()%1000;
@@ -214,7 +214,7 @@ struct TRINITY_DLL_DECL mob_tribuna_controllerAI : public ScriptedAI
{
pSummon->SetDisplayId(11686);
pSummon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- pSummon->CastSpell(pTarget, HEROIC(SPELL_SEARING_GAZE, H_SPELL_SEARING_GAZE), true);
+ pSummon->CastSpell(pTarget, DUNGEON_MODE(SPELL_SEARING_GAZE, H_SPELL_SEARING_GAZE), true);
}
}
uiAbedneumEncounterTimer = 30000 + rand()%1000;
@@ -310,7 +310,7 @@ struct TRINITY_DLL_DECL npc_brann_hosAI : public npc_escortAI
{
case 1:
{
- uint32 uiSpawnNumber = (HeroicMode ? 3 : 2);
+ uint32 uiSpawnNumber = DUNGEON_MODE(2,3);
for (uint8 i = 0; i < uiSpawnNumber; ++i)
m_creature->SummonCreature(CREATURE_DARK_RUNE_PROTECTOR, SpawnLocations[0].x, SpawnLocations[0].y, SpawnLocations[0].z, 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000);
m_creature->SummonCreature(CREATURE_DARK_RUNE_STORMCALLER, SpawnLocations[0].x, SpawnLocations[0].y, SpawnLocations[0].z, 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000);
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp
index 54f309afaa3..b3a3b5403b6 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp
@@ -132,7 +132,7 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
void EnterCombat(Unit *who)
{
DoZoneInCombat();
- DoCast(m_creature, HEROIC(SPELL_HIGH_VOLTAGE, SPELL_HIGH_VOLTAGE_H));
+ DoCast(m_creature, RAID_MODE(SPELL_HIGH_VOLTAGE, SPELL_HIGH_VOLTAGE_H));
events.ScheduleEvent(EVENT_ENRAGE, 900000);
UpdatePhase();
}
@@ -200,19 +200,19 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI
DoCast(SPELL_BERSERK);
break;
case EVENT_FUSION_PUNCH:
- DoCast(me->getVictim(), HEROIC(SPELL_FUSION_PUNCH_H, SPELL_FUSION_PUNCH));
+ DoCast(me->getVictim(), RAID_MODE(SPELL_FUSION_PUNCH_H, SPELL_FUSION_PUNCH));
events.ScheduleEvent(EVENT_FUSION_PUNCH, 13000 + (rand()%9)*1000);
break;
case EVENT_STATIC_DISRUPTION:
{
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM);
- DoCast(pTarget, HEROIC(SPELL_STATIC_DISRUPTION_H, SPELL_STATIC_DISRUPTION));
+ DoCast(pTarget, RAID_MODE(SPELL_STATIC_DISRUPTION_H, SPELL_STATIC_DISRUPTION));
events.ScheduleEvent(EVENT_STATIC_DISRUPTION, 20000 + (rand()%20)*1000);
}
break;
case EVENT_OVERWHELMING_POWER:
- DoCast(me->getVictim(), HEROIC(SPELL_OVERWHELMING_POWER, SPELL_OVERWHELMING_POWER_H));
- events.ScheduleEvent(EVENT_OVERWHELMING_POWER, (HeroicMode) ? 35000 : 60000);
+ DoCast(me->getVictim(), RAID_MODE(SPELL_OVERWHELMING_POWER, SPELL_OVERWHELMING_POWER_H));
+ events.ScheduleEvent(EVENT_OVERWHELMING_POWER, RAID_MODE(60000, 35000));
break;
}
}
@@ -315,7 +315,7 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI
}
break;
case EVENT_SHIELD_OF_RUNES:
- DoCast(m_creature, HEROIC(SPELL_SHIELD_OF_RUNES, SPELL_SHIELD_OF_RUNES_H));
+ DoCast(m_creature, RAID_MODE(SPELL_SHIELD_OF_RUNES, SPELL_SHIELD_OF_RUNES_H));
events.ScheduleEvent(EVENT_SHIELD_OF_RUNES, 27000+ (rand()%7)*1000);
break;
case EVENT_RUNE_OF_DEATH:
@@ -362,7 +362,7 @@ struct TRINITY_DLL_DECL mob_lightning_elementalAI : public ScriptedAI
if(m_creature->IsWithinMeleeRange(Target))
{
- DoCast(Target, HEROIC(SPELL_LIGHTNING_BLAST, SPELL_LIGHTNING_BLAST_H));
+ DoCast(Target, RAID_MODE(SPELL_LIGHTNING_BLAST, SPELL_LIGHTNING_BLAST_H));
m_creature->Kill(m_creature); // hack until spell works
}
@@ -479,20 +479,20 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI
case EVENT_CHAIN_LIGHTNING:
{
Unit* Target = SelectUnit(SELECT_TARGET_RANDOM,0);
- DoCast(Target, HEROIC(SPELL_CHAIN_LIGHTNING_N , SPELL_CHAIN_LIGHTNING_H));
+ DoCast(Target, RAID_MODE(SPELL_CHAIN_LIGHTNING_N , SPELL_CHAIN_LIGHTNING_H));
events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 9000+ (rand()%8)*1000);
}
break;
case EVENT_OVERLOAD:
- DoCast(HEROIC(SPELL_OVERLOAD , SPELL_OVERLOAD_H));
+ DoCast(RAID_MODE(SPELL_OVERLOAD , SPELL_OVERLOAD_H));
events.ScheduleEvent(EVENT_OVERLOAD, 60000+ (rand()%65)*1000);
break;
case EVENT_LIGHTNING_WHIRL:
- DoCast(HEROIC(SPELL_LIGHTNING_WHIRL , SPELL_LIGHTNING_WHIRL_H));
+ DoCast(RAID_MODE(SPELL_LIGHTNING_WHIRL , SPELL_LIGHTNING_WHIRL_H));
events.ScheduleEvent(EVENT_LIGHTNING_WHIRL, 20000+ (rand()%20)*1000);
break;
case EVENT_LIGHTNING_TENDRILS:
- DoCast(HEROIC(SPELL_LIGHTNING_TENDRILS, SPELL_LIGHTNING_TENDRILS_H));
+ DoCast(RAID_MODE(SPELL_LIGHTNING_TENDRILS, SPELL_LIGHTNING_TENDRILS_H));
events.DelayEvents(15000, 5000);
DoResetThreat();
break;
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp
index 80faac62951..7560cfa2e22 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp
@@ -20,14 +20,14 @@
#include "ulduar.h"
#include "Vehicle.h"
-#define SPELL_ARM_DEAD_DAMAGE HEROIC(63629,63979)
-#define SPELL_TWO_ARM_SMASH HEROIC(63356,64003)
-#define SPELL_ONE_ARM_SMASH HEROIC(63573,64006)
-#define SPELL_STONE_SHOUT HEROIC(63716,64005)
-#define SPELL_PETRIFY_BREATH HEROIC(62030,63980)
-
-#define SPELL_STONE_GRIP HEROIC(62166,63981)
-#define SPELL_ARM_SWEEP HEROIC(63766,63983)
+#define SPELL_ARM_DEAD_DAMAGE RAID_MODE(63629,63979)
+#define SPELL_TWO_ARM_SMASH RAID_MODE(63356,64003)
+#define SPELL_ONE_ARM_SMASH RAID_MODE(63573,64006)
+#define SPELL_STONE_SHOUT RAID_MODE(63716,64005)
+#define SPELL_PETRIFY_BREATH RAID_MODE(62030,63980)
+
+#define SPELL_STONE_GRIP RAID_MODE(62166,63981)
+#define SPELL_ARM_SWEEP RAID_MODE(63766,63983)
enum Events
{
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
index 535fb275d3c..138f155a9d6 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
@@ -185,7 +185,7 @@ struct TRINITY_DLL_DECL boss_razorscaleAI : public BossAI
{
DoScriptText(EMOTE_BREATH, m_creature);
std::list<Unit*> pTargets;
- SelectTargetList(pTargets, HEROIC(3,9), SELECT_TARGET_RANDOM, 100, true);
+ SelectTargetList(pTargets, RAID_MODE(3,9), SELECT_TARGET_RANDOM, 100, true);
uint8 i = 0;
for (std::list<Unit*>::iterator itr = pTargets.begin(); itr != pTargets.end();)
{
@@ -194,7 +194,7 @@ struct TRINITY_DLL_DECL boss_razorscaleAI : public BossAI
DoCast(*itr, SPELL_FLAMEBUFFET, true);
++i;
}
- if (++itr == pTargets.end() || i == HEROIC(3,9))
+ if (++itr == pTargets.end() || i == RAID_MODE(3,9))
{
AttackStart(*--itr); // seems to attack targets randomly during perma-ground phase..
break;
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp
index 3ad97654e2e..8dbb8aff58f 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp
@@ -73,12 +73,10 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI
boss_ingvar_the_plundererAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
bool undead;
bool event_inProgress;
@@ -204,7 +202,7 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI
if (!wait_Timer)
{
if (undead)
- DoCast(m_creature->getVictim(), HEROIC(SPELL_WOE_STRIKE, H_SPELL_WOE_STRIKE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_WOE_STRIKE, H_SPELL_WOE_STRIKE));
else
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
Cleave_Timer = rand()%5000 + 2000;
@@ -220,7 +218,7 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI
if (undead)
DoCast(m_creature->getVictim(), SPELL_DARK_SMASH);
else
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SMASH, H_SPELL_SMASH));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SMASH, H_SPELL_SMASH));
Smash_Timer = 10000;
wait_Timer = 5000;
@@ -231,7 +229,7 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI
{
if (Enrage_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_ENRAGE, H_SPELL_ENRAGE));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_ENRAGE, H_SPELL_ENRAGE));
Enrage_Timer = 10000;
} else Enrage_Timer -= diff;
} else // In Undead form used to summon weapon
@@ -258,9 +256,9 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI
if (!wait_Timer)
{
if (undead)
- DoCast(m_creature, HEROIC(SPELL_DREADFUL_ROAR, H_SPELL_DREADFUL_ROAR));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_DREADFUL_ROAR, H_SPELL_DREADFUL_ROAR));
else
- DoCast(m_creature, HEROIC(SPELL_STAGGERING_ROAR, H_SPELL_STAGGERING_ROAR));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_STAGGERING_ROAR, H_SPELL_STAGGERING_ROAR));
Roar_Timer = 10000;
wait_Timer = 5000;
@@ -398,10 +396,8 @@ struct TRINITY_DLL_DECL mob_ingvar_throw_dummyAI : public ScriptedAI
{
mob_ingvar_throw_dummyAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = c->GetMap()->IsHeroic();
}
- bool HeroicMode;
uint32 Despawn_Timer;
void Reset()
@@ -409,7 +405,7 @@ struct TRINITY_DLL_DECL mob_ingvar_throw_dummyAI : public ScriptedAI
Unit *pTarget = m_creature->FindNearestCreature(ENTRY_THROW_TARGET,50);
if (pTarget)
{
- DoCast(m_creature, HEROIC(SPELL_SHADOW_AXE_DAMAGE, H_SPELL_SHADOW_AXE_DAMAGE));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_SHADOW_AXE_DAMAGE, H_SPELL_SHADOW_AXE_DAMAGE));
float x,y,z;
pTarget->GetPosition(x,y,z);
m_creature->GetMotionMaster()->MovePoint(0,x,y,z);
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp
index 0c90f71259d..56e78ffebb6 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp
@@ -106,7 +106,6 @@ struct TRINITY_DLL_DECL boss_kelesethAI : public ScriptedAI
boss_kelesethAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- Heroic = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
@@ -117,7 +116,6 @@ struct TRINITY_DLL_DECL boss_kelesethAI : public ScriptedAI
uint32 ShadowboltTimer;
uint64 SkeletonGUID[5];
bool Skeletons;
- bool Heroic;
bool RespawnSkeletons;
void Reset()
@@ -145,7 +143,7 @@ struct TRINITY_DLL_DECL boss_kelesethAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
- if (Heroic && !ShatterFrostTomb)
+ if (IsHeroic() && !ShatterFrostTomb)
{
AchievementEntry const *AchievOnTheRocks = GetAchievementStore()->LookupEntry(ACHIEVEMENT_ON_THE_ROCKS);
if (AchievOnTheRocks)
@@ -188,7 +186,7 @@ struct TRINITY_DLL_DECL boss_kelesethAI : public ScriptedAI
{
Unit *pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO, 0);
if (pTarget && pTarget->isAlive() && pTarget->GetTypeId() == TYPEID_PLAYER)
- m_creature->CastSpell(pTarget, HEROIC(SPELL_SHADOWBOLT, SPELL_SHADOWBOLT_HEROIC), true);
+ m_creature->CastSpell(pTarget, DUNGEON_MODE(SPELL_SHADOWBOLT, SPELL_SHADOWBOLT_HEROIC), true);
ShadowboltTimer = 10000;
} else ShadowboltTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp
index c6fee361b87..52064e0f1a9 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp
@@ -63,13 +63,11 @@ struct TRINITY_DLL_DECL boss_skarvald_the_constructorAI : public ScriptedAI
boss_skarvald_the_constructorAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
bool ghost;
- bool HeroicMode;
uint32 Charge_Timer;
uint32 StoneStrike_Timer;
uint32 Response_Timer;
@@ -208,13 +206,11 @@ struct TRINITY_DLL_DECL boss_dalronn_the_controllerAI : public ScriptedAI
boss_dalronn_the_controllerAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
bool ghost;
- bool HeroicMode;
uint32 ShadowBolt_Timer;
uint32 Debilitate_Timer;
uint32 Summon_Timer;
@@ -344,7 +340,7 @@ struct TRINITY_DLL_DECL boss_dalronn_the_controllerAI : public ScriptedAI
{
if (!m_creature->IsNonMeleeSpellCasted(false))
{
- DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0),HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
+ DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0), DUNGEON_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
ShadowBolt_Timer = 1000;
}
} else ShadowBolt_Timer -= diff;
@@ -358,7 +354,7 @@ struct TRINITY_DLL_DECL boss_dalronn_the_controllerAI : public ScriptedAI
}
} else Debilitate_Timer -= diff;
- if (HeroicMode)
+ if (IsHeroic())
if (Summon_Timer <= diff)
{
DoCast(m_creature, H_SPELL_SUMMON_SKELETONS);
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp
index bbebb204eaf..1bee086880f 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp
@@ -164,13 +164,13 @@ struct TRINITY_DLL_DECL boss_palehoofAI : public ScriptedAI
if (uiImpaleTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_IMPALE, H_SPELL_IMPALE));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_IMPALE, H_SPELL_IMPALE));
uiImpaleTimer = urand(8000,12000);
} else uiImpaleTimer -= diff;
if (uiWhiteringRoarTimer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_WITHERING_ROAR, H_SPELL_WITHERING_ROAR));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_WITHERING_ROAR, H_SPELL_WITHERING_ROAR));
uiWhiteringRoarTimer = urand(8000,12000);
} else uiWhiteringRoarTimer -= diff;
@@ -200,7 +200,7 @@ struct TRINITY_DLL_DECL boss_palehoofAI : public ScriptedAI
m_creature->SummonCreature(MOB_STASIS_CONTROLLER,moveLocs[5].x,moveLocs[5].y,moveLocs[5].z,0,TEMPSUMMON_CORPSE_DESPAWN);
}
Phase move = PHASE_NONE;
- if (AddCount >= HEROIC(2,4))
+ if (AddCount >= DUNGEON_MODE(2,4))
move = PHASE_GORTOK_PALEHOOF;
else
{
@@ -290,7 +290,7 @@ struct TRINITY_DLL_DECL mob_ravenous_furbolgAI : public ScriptedAI
if (uiChainLightingTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_CHAIN_LIGHTING, H_SPELL_CHAIN_LIGHTING));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_CHAIN_LIGHTING, H_SPELL_CHAIN_LIGHTING));
uiChainLightingTimer = 5000 + rand()%5000;
} else uiChainLightingTimer -= diff;
@@ -396,7 +396,7 @@ struct TRINITY_DLL_DECL mob_frenzied_worgenAI : public ScriptedAI
if (uiMortalWoundTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_MORTAL_WOUND, H_SPELL_MORTAL_WOUND));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MORTAL_WOUND, H_SPELL_MORTAL_WOUND));
uiMortalWoundTimer = 3000 + rand()%4000;
} else uiMortalWoundTimer -= diff;
@@ -511,14 +511,14 @@ struct TRINITY_DLL_DECL mob_ferocious_rhinoAI : public ScriptedAI
if (uiGoreTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_GORE, H_SPELL_GORE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_GORE, H_SPELL_GORE));
uiGoreTimer = 13000 + rand()%4000;
} else uiGoreTimer -= diff;
if (uiGrievousWoundTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_GRIEVOUS_WOUND, H_SPELL_GRIEVOUS_WOUND));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_GRIEVOUS_WOUND, H_SPELL_GRIEVOUS_WOUND));
uiGrievousWoundTimer = 18000 + rand()%4000;
} else uiGrievousWoundTimer -= diff;
@@ -625,14 +625,14 @@ struct TRINITY_DLL_DECL mob_massive_jormungarAI : public ScriptedAI
if (uiAcidSplatterTimer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_POISON_BREATH, H_SPELL_POISON_BREATH));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_POISON_BREATH, H_SPELL_POISON_BREATH));
uiAcidSplatterTimer = 10000 + rand()%4000;
} else uiAcidSplatterTimer -= diff;
if (uiPoisonBreathTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_POISON_BREATH, H_SPELL_POISON_BREATH));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_POISON_BREATH, H_SPELL_POISON_BREATH));
uiPoisonBreathTimer = 8000 + rand()%4000;
} else uiPoisonBreathTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp
index e393e518f08..e8557fb11c3 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp
@@ -149,21 +149,21 @@ struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI
if (uiCrushTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_CRUSH, H_SPELL_CRUSH));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_CRUSH, H_SPELL_CRUSH));
uiCrushTimer = 8000;
} else uiCrushTimer -= diff;
if (uiPoisonedSpearTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_POISONED_SPEAR, H_SPELL_POISONED_SPEAR));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_POISONED_SPEAR, H_SPELL_POISONED_SPEAR));
uiPoisonedSpearTimer = 10000;
} else uiPoisonedSpearTimer -= diff;
if (uiWhirlwindTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- m_creature->CastSpell(pTarget, HEROIC(SPELL_WHIRLWIND, H_SPELL_WHIRLWIND), false);
+ m_creature->CastSpell(pTarget, DUNGEON_MODE(SPELL_WHIRLWIND, H_SPELL_WHIRLWIND), false);
} else uiWhirlwindTimer = 20000;
DoMeleeAttackIfReady();
@@ -189,7 +189,7 @@ struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI
if(type != POINT_MOTION_TYPE)
return;
- if (HeroicMode ? (uiSpawnCounter >= 4) : (uiSpawnCounter >= 5))
+ if (uiSpawnCounter >= DUNGEON_MODE(4, 5))
{
uiWaypointId = 200;
uiMovementTimer = 3000;
@@ -216,7 +216,7 @@ struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI
void SpawnMobs(uint32 spot)
{
- uint8 uiMaxSpawn = (HeroicMode ? 6 : 5);
+ uint8 uiMaxSpawn = DUNGEON_MODE(5, 6);
for (uint8 i = 0; i < uiMaxSpawn; ++i)
{
Creature* pTemp;
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
index 5cd32b112f0..abffae12e51 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
@@ -263,7 +263,7 @@ struct TRINITY_DLL_DECL boss_svala_sorrowgraveAI : public ScriptedAI
if (uiSinsterStrikeTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SINSTER_STRIKE, H_SPELL_SINSTER_STRIKE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SINSTER_STRIKE, H_SPELL_SINSTER_STRIKE));
uiSinsterStrikeTimer = urand(5000,9000);
} else uiSinsterStrikeTimer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp
index 58dbf5ab07b..2541f8ee04c 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp
@@ -137,7 +137,7 @@ struct TRINITY_DLL_DECL boss_ymironAI : public ScriptedAI
m_uiFetidRot_Timer = urand(8000,13000);
m_uiBane_Timer = urand(18000,23000);
m_uiDarkSlash_Timer = urand(28000,33000);
- m_uiAncestors_Vengeance_Timer = HEROIC(60000,45000);
+ m_uiAncestors_Vengeance_Timer = DUNGEON_MODE(60000,45000);
m_uiPause_Timer = 0;
m_uiAbility_BJORN_Timer = 0;
@@ -147,7 +147,7 @@ struct TRINITY_DLL_DECL boss_ymironAI : public ScriptedAI
m_uiActivedNumber = 0;
m_uiHealthAmountModifier = 1;
- m_uiHealthAmountMultipler = HEROIC(20,25);
+ m_uiHealthAmountMultipler = DUNGEON_MODE(20,25);
DespawnBoatGhosts(m_uiActivedCreatureGUID);
DespawnBoatGhosts(m_uiOrbGUID);
@@ -218,13 +218,13 @@ struct TRINITY_DLL_DECL boss_ymironAI : public ScriptedAI
// Normal spells ------------------------------------------------------------------------
if (m_uiBane_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_BANE, H_SPELL_BANE));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_BANE, H_SPELL_BANE));
m_uiBane_Timer = urand(20000,25000);
} else m_uiBane_Timer -= diff;
if (m_uiFetidRot_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_FETID_ROT, H_SPELL_FETID_ROT));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_FETID_ROT, H_SPELL_FETID_ROT));
m_uiFetidRot_Timer = urand(10000,15000);
} else m_uiFetidRot_Timer -= diff;
@@ -237,7 +237,7 @@ struct TRINITY_DLL_DECL boss_ymironAI : public ScriptedAI
if (m_uiAncestors_Vengeance_Timer <= diff)
{
DoCast(m_creature, SPELL_ANCESTORS_VENGEANCE);
- m_uiAncestors_Vengeance_Timer = HEROIC(urand(60000,65000),urand(45000,50000));
+ m_uiAncestors_Vengeance_Timer = DUNGEON_MODE(urand(60000,65000),urand(45000,50000));
} else m_uiAncestors_Vengeance_Timer -= diff;
// Abilities ------------------------------------------------------------------------------
@@ -247,7 +247,7 @@ struct TRINITY_DLL_DECL boss_ymironAI : public ScriptedAI
if (Creature* pTemp = m_creature->SummonCreature(CREATURE_SPIRIT_FOUNT, 385+rand()%10, -330+rand()%10, 104.756, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 180000))
{
pTemp->SetSpeed(MOVE_RUN, 0.4f);
- pTemp->CastSpell(pTemp, HEROIC(SPELL_SPIRIT_FOUNT, H_SPELL_SPIRIT_FOUNT), true);
+ pTemp->CastSpell(pTemp, DUNGEON_MODE(SPELL_SPIRIT_FOUNT, H_SPELL_SPIRIT_FOUNT), true);
pTemp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pTemp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
pTemp->SetDisplayId(11686);
@@ -259,13 +259,13 @@ struct TRINITY_DLL_DECL boss_ymironAI : public ScriptedAI
if (m_bIsActiveWithHALDOR && m_uiAbility_HALDOR_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SPIRIT_STRIKE, H_SPELL_SPIRIT_STRIKE));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SPIRIT_STRIKE, H_SPELL_SPIRIT_STRIKE));
m_uiAbility_HALDOR_Timer = 5000; // overtime
} else m_uiAbility_HALDOR_Timer -= diff;
if (m_bIsActiveWithRANULF && m_uiAbility_RANULF_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_SPIRIT_BURST, H_SPELL_SPIRIT_BURST));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_SPIRIT_BURST, H_SPELL_SPIRIT_BURST));
m_uiAbility_RANULF_Timer = 10000; // overtime
} else m_uiAbility_RANULF_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp
index b389a6d426e..b85a12ba4d4 100644
--- a/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp
+++ b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp
@@ -9,14 +9,14 @@ UPDATE `creature_template` SET `ScriptName`='mob_archavon_warder' WHERE `entry`=
//Spells Archavon
#define SPELL_ROCK_SHARDS 58678
-#define SPELL_CRUSHING_LEAP HEROIC(58960,60894)//Instant (10-80yr range) -- Leaps at an enemy, inflicting 8000 Physical damage, knocking all nearby enemies away, and creating a cloud of choking debris.
-#define SPELL_STOMP HEROIC(58663,60880)
-#define SPELL_IMPALE HEROIC(58666,60882) //Lifts an enemy off the ground with a spiked fist, inflicting 47125 to 52875 Physical damage and 9425 to 10575 additional damage each second for 8 sec.
+#define SPELL_CRUSHING_LEAP RAID_MODE(58960,60894)//Instant (10-80yr range) -- Leaps at an enemy, inflicting 8000 Physical damage, knocking all nearby enemies away, and creating a cloud of choking debris.
+#define SPELL_STOMP RAID_MODE(58663,60880)
+#define SPELL_IMPALE RAID_MODE(58666,60882) //Lifts an enemy off the ground with a spiked fist, inflicting 47125 to 52875 Physical damage and 9425 to 10575 additional damage each second for 8 sec.
#define SPELL_BERSERK 47008
//Spells Archavon Warders
-#define SPELL_ROCK_SHOWER HEROIC(60919,60923)
-#define SPELL_SHIELD_CRUSH HEROIC(60897,60899)
-#define SPELL_WHIRL HEROIC(60902,60916)
+#define SPELL_ROCK_SHOWER RAID_MODE(60919,60923)
+#define SPELL_SHIELD_CRUSH RAID_MODE(60897,60899)
+#define SPELL_WHIRL RAID_MODE(60902,60916)
//4 Warders spawned
#define ARCHAVON_WARDER 32353 //npc 32353
diff --git a/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp
index 412920961a6..de9bf7d7fcf 100644
--- a/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp
+++ b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp
@@ -2,8 +2,8 @@
#include "vault_of_archavon.h"
//Emalon spells
-#define SPELL_CHAIN_LIGHTNING HEROIC(64213, 64215)
-#define SPELL_LIGHTNING_NOVA HEROIC(64216, 65279)
+#define SPELL_CHAIN_LIGHTNING RAID_MODE(64213, 64215)
+#define SPELL_LIGHTNING_NOVA RAID_MODE(64216, 65279)
#define SPELL_OVERCHARGE 64218 //Casted every 45 sec on a random Tempest Minion
#define SPELL_BERSERK 26662
diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp
index 8ac30af4e59..45d7f047b55 100644
--- a/src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp
+++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp
@@ -97,23 +97,23 @@ struct TRINITY_DLL_DECL boss_cyanigosaAI : public ScriptedAI
if (uiBlizzardTimer <= diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(pTarget, HEROIC(SPELL_BLIZZARD, H_SPELL_BLIZZARD));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_BLIZZARD, H_SPELL_BLIZZARD));
uiBlizzardTimer = 15000;
} else uiBlizzardTimer -= diff;
if (uiTailSweepTimer <= diff)
{
- DoCast(HEROIC(SPELL_TAIL_SWEEP, H_SPELL_TAIL_SWEEP));
+ DoCast(DUNGEON_MODE(SPELL_TAIL_SWEEP, H_SPELL_TAIL_SWEEP));
uiTailSweepTimer = 20000;
} else uiTailSweepTimer -= diff;
if (uiUncontrollableEnergyTimer <= diff)
{
- DoCastVictim(HEROIC(SPELL_UNCONTROLLABLE_ENERGY,H_SPELL_UNCONTROLLABLE_ENERGY));
+ DoCastVictim(DUNGEON_MODE(SPELL_UNCONTROLLABLE_ENERGY,H_SPELL_UNCONTROLLABLE_ENERGY));
uiUncontrollableEnergyTimer = 25000;
} else uiUncontrollableEnergyTimer -= diff;
- if (HeroicMode)
+ if (IsHeroic())
if (uiManaDestructionTimer <= diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp
index 659c400c13f..c2afc38000f 100644
--- a/src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp
+++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp
@@ -91,7 +91,7 @@ struct TRINITY_DLL_DECL boss_erekemAI : public ScriptedAI
void EnterCombat(Unit* who)
{
DoScriptText(SAY_AGGRO, m_creature);
- DoCast(m_creature, HEROIC(SPELL_EARTH_SHIELD, H_SPELL_EARTH_SHIELD));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_EARTH_SHIELD, H_SPELL_EARTH_SHIELD));
if (pInstance)
{
@@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL boss_erekemAI : public ScriptedAI
return;
//spam stormstrike in hc mode if spawns are dead
- if (HeroicMode)
+ if (IsHeroic())
{
if (pGuard1 && !pGuard1->isAlive() && pGuard2 && !pGuard2->isAlive())
{
@@ -121,7 +121,7 @@ struct TRINITY_DLL_DECL boss_erekemAI : public ScriptedAI
if (uiEarthShieldTimer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_EARTH_SHIELD, H_SPELL_EARTH_SHIELD));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_EARTH_SHIELD, H_SPELL_EARTH_SHIELD));
uiEarthShieldTimer = 20000;
} else uiEarthShieldTimer -= diff;
@@ -129,7 +129,7 @@ struct TRINITY_DLL_DECL boss_erekemAI : public ScriptedAI
{
if (Creature *pTarget = GetChainHealTarget())
{
- DoCast(pTarget, HEROIC(SPELL_CHAIN_HEAL, H_SPELL_CHAIN_HEAL));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_CHAIN_HEAL, H_SPELL_CHAIN_HEAL));
//If one of the adds is dead spawn heals faster
uiChainHealTimer = ((pGuard1 && !pGuard1->isAlive()) || (pGuard2 && !pGuard2->isAlive()) ? 3000 : 8000) + rand()%3000;
}
diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp
index 0e885e6c145..be82830458f 100644
--- a/src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp
+++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp
@@ -78,10 +78,8 @@ struct TRINITY_DLL_DECL boss_ichoronAI : public ScriptedAI
boss_ichoronAI(Creature* pCreature) : ScriptedAI(pCreature)
{
pInstance = pCreature->GetInstanceData();
- HeroicMode = pCreature->GetMap()->IsHeroic();
}
- bool HeroicMode;
bool bIsExploded;
bool bIsFrenzy;
@@ -186,7 +184,7 @@ struct TRINITY_DLL_DECL boss_ichoronAI : public ScriptedAI
{
if (!m_creature->HasAura(SPELL_PROTECTIVE_BUBBLE, 0))
{
- DoCast(m_creature, HEROIC(SPELL_WATER_BLAST, SPELL_WATER_BLAST_H));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_WATER_BLAST, SPELL_WATER_BLAST_H));
//DoCast(m_creature, SPELL_DRAINED);
bIsExploded = true;
uiShowup_Counter = 0;
@@ -230,14 +228,14 @@ struct TRINITY_DLL_DECL boss_ichoronAI : public ScriptedAI
{
if (uiWaterBoltVolley_Timer < uiDiff)
{
- DoCast(m_creature, HEROIC(SPELL_WATER_BOLT_VOLLEY, SPELL_WATER_BOLT_VOLLEY_H));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_WATER_BOLT_VOLLEY, SPELL_WATER_BOLT_VOLLEY_H));
uiWaterBoltVolley_Timer = urand(10000, 15000);
}
else uiWaterBoltVolley_Timer -= uiDiff;
if (!bIsFrenzy && (m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 25)
{
- DoCast(m_creature, HEROIC(SPELL_FRENZY, SPELL_FRENZY_H));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_FRENZY, SPELL_FRENZY_H));
bIsFrenzy = true;
}
diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp
index 3b4661d6b74..f2c4057a095 100644
--- a/src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp
+++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp
@@ -87,23 +87,23 @@ struct TRINITY_DLL_DECL boss_lavanthorAI : public ScriptedAI
if (uiFireboltTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_FIREBOLT, H_SPELL_FIREBOLT));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_FIREBOLT, H_SPELL_FIREBOLT));
uiFireboltTimer = urand(5000,13000);
} else uiFireboltTimer -= diff;
if (uiFlameBreathTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_FLAME_BREATH, H_SPELL_FLAME_BREATH));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_FLAME_BREATH, H_SPELL_FLAME_BREATH));
uiFlameBreathTimer = urand(10000,15000);
} else uiFlameBreathTimer -= diff;
if (uiLavaBurnTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_LAVA_BURN, H_SPELL_LAVA_BURN));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_LAVA_BURN, H_SPELL_LAVA_BURN));
uiLavaBurnTimer = urand(15000,23000);
}
- if (HeroicMode)
+ if (IsHeroic())
{
if (uiCauterizingFlamesTimer <= diff)
{
diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp
index 10298c039bd..2d013a7e56f 100644
--- a/src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp
+++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp
@@ -69,13 +69,10 @@ struct TRINITY_DLL_DECL boss_xevozzAI : public ScriptedAI
boss_xevozzAI(Creature* pCreature) : ScriptedAI(pCreature)
{
pInstance = pCreature->GetInstanceData();
- HeroicMode = pCreature->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
-
uint32 uiSummonEtherealSphere_Timer;
uint32 uiArcaneBarrageVolley_Timer;
uint32 uiArcaneBuffet_Timer;
@@ -157,7 +154,7 @@ struct TRINITY_DLL_DECL boss_xevozzAI : public ScriptedAI
if (uiArcaneBarrageVolley_Timer < uiDiff)
{
- DoCast(m_creature, HEROIC(SPELL_ARCANE_BARRAGE_VOLLEY, SPELL_ARCANE_BARRAGE_VOLLEY_H));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_ARCANE_BARRAGE_VOLLEY, SPELL_ARCANE_BARRAGE_VOLLEY_H));
uiArcaneBarrageVolley_Timer = urand(20000, 22000);
}
else uiArcaneBarrageVolley_Timer -= uiDiff;
@@ -165,7 +162,7 @@ struct TRINITY_DLL_DECL boss_xevozzAI : public ScriptedAI
if (uiArcaneBuffet_Timer)
if (uiArcaneBuffet_Timer < uiDiff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_ARCANE_BUFFET, SPELL_ARCANE_BUFFET_H));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_ARCANE_BUFFET, SPELL_ARCANE_BUFFET_H));
uiArcaneBuffet_Timer = 0;
}
else uiArcaneBuffet_Timer -= uiDiff;
@@ -174,7 +171,7 @@ struct TRINITY_DLL_DECL boss_xevozzAI : public ScriptedAI
{
DoScriptText(SAY_SPAWN, m_creature);
DoCast(m_creature, SPELL_SUMMON_ETHEREAL_SPHERE_1);
- if (HeroicMode) // extra one for heroic
+ if (IsHeroic()) // extra one for heroic
m_creature->SummonCreature(NPC_ETHEREAL_SPHERE, m_creature->GetPositionX()-5+rand()%10, m_creature->GetPositionY()-5+rand()%10, m_creature->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 40000);
uiSummonEtherealSphere_Timer = urand(45000, 47000);
@@ -224,11 +221,9 @@ struct TRINITY_DLL_DECL mob_ethereal_sphereAI : public ScriptedAI
mob_ethereal_sphereAI(Creature* pCreature) : ScriptedAI(pCreature)
{
pInstance = pCreature->GetInstanceData();
- HeroicMode = pCreature->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint32 uiSummonPlayers_Timer;
uint32 uiRangeCheck_Timer;
@@ -256,7 +251,7 @@ struct TRINITY_DLL_DECL mob_ethereal_sphereAI : public ScriptedAI
{
float fDistance = m_creature->GetDistance2d(pXevozz);
if (fDistance <= 3)
- DoCast(pXevozz, HEROIC(SPELL_ARCANE_POWER, H_SPELL_ARCANE_POWER));
+ DoCast(pXevozz, DUNGEON_MODE(SPELL_ARCANE_POWER, H_SPELL_ARCANE_POWER));
else
DoCast(m_creature, 35845); //Is it blizzlike?
}
diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp
index b65b81a2d59..b02c9b6c4f5 100644
--- a/src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp
+++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp
@@ -109,13 +109,13 @@ struct TRINITY_DLL_DECL boss_zuramatAI : public ScriptedAI
if (SpellVoidShiftTimer <= diff)
{
if (Unit* pUnit = SelectUnit(SELECT_TARGET_RANDOM, 0))
- DoCast(pUnit, HEROIC(SPELL_VOID_SHIFT, H_SPELL_VOID_SHIFT));
+ DoCast(pUnit, DUNGEON_MODE(SPELL_VOID_SHIFT, H_SPELL_VOID_SHIFT));
SpellVoidShiftTimer = 20000;
} else SpellVoidShiftTimer -=diff;
if (SpellShroudOfDarknessTimer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHROUD_OF_DARKNESS, H_SPELL_SHROUD_OF_DARKNESS));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SHROUD_OF_DARKNESS, H_SPELL_SHROUD_OF_DARKNESS));
SpellShroudOfDarknessTimer = 20000;
} else SpellShroudOfDarknessTimer -=diff;
@@ -152,7 +152,7 @@ struct TRINITY_DLL_DECL boss_zuramatAI : public ScriptedAI
void JustSummoned(Creature* summon)
{
summon->AI()->AttackStart(m_creature->getVictim());
- summon->AI()->DoCastAOE(HEROIC(SPELL_ZUMARAT_ADD_2, H_SPELL_ZUMARAT_ADD_2));
+ summon->AI()->DoCastAOE(DUNGEON_MODE(SPELL_ZUMARAT_ADD_2, H_SPELL_ZUMARAT_ADD_2));
summon->SetPhaseMask(17,true);
}
};
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
index b702667399b..5f09c8a4f1c 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
@@ -27,13 +27,13 @@ EndScriptData */
#define SPELL_ATTRACTMAGIC 32265
#define N_SPELL_CARNIVOROUSBITE 36383
#define H_SPELL_CARNIVOROUSBITE 39382
-#define SPELL_CARNIVOROUSBITE (HeroicMode?H_SPELL_CARNIVOROUSBITE:N_SPELL_CARNIVOROUSBITE)
+#define SPELL_CARNIVOROUSBITE DUNGEON_MODE(N_SPELL_CARNIVOROUSBITE, H_SPELL_CARNIVOROUSBITE)
#define ENTRY_FOCUS_FIRE 18374
#define N_SPELL_FIERY_BLAST 32302
#define H_SPELL_FIERY_BLAST 38382
-#define SPELL_FIERY_BLAST (HeroicMode?H_SPELL_FIERY_BLAST:N_SPELL_FIERY_BLAST)
+#define SPELL_FIERY_BLAST DUNGEON_MODE(N_SPELL_FIERY_BLAST, H_SPELL_FIERY_BLAST)
#define SPELL_FOCUS_FIRE_VISUAL 42075 //need to find better visual
#define EMOTE_FOCUSES_ON "focuses on "
@@ -42,14 +42,13 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
{
boss_shirrak_the_dead_watcherAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 Inhibitmagic_Timer;
uint32 Attractmagic_Timer;
uint32 Carnivorousbite_Timer;
uint32 FocusFire_Timer;
- bool HeroicMode;
+
Unit *focusedTarget;
void Reset()
@@ -156,10 +155,8 @@ struct TRINITY_DLL_DECL mob_focus_fireAI : public ScriptedAI
{
mob_focus_fireAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
uint32 FieryBlast_Timer;
bool fiery1, fiery2;
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
index 03576794008..dca6540e3c3 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
@@ -216,10 +216,8 @@ struct TRINITY_DLL_DECL mob_ethereal_beaconAI : public ScriptedAI
{
mob_ethereal_beaconAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
uint32 Apprentice_Timer;
uint32 ArcaneBolt_Timer;
uint32 Check_Timer;
@@ -231,7 +229,7 @@ struct TRINITY_DLL_DECL mob_ethereal_beaconAI : public ScriptedAI
void Reset()
{
- Apprentice_Timer = (HeroicMode ? 10000 : 20000);
+ Apprentice_Timer = DUNGEON_MODE(20000, 10000);
ArcaneBolt_Timer = 1000;
Check_Timer = 1000;
}
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp
index a4dd539e5c9..6a0173a26a2 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp
@@ -43,10 +43,8 @@ struct TRINITY_DLL_DECL boss_pandemoniusAI : public ScriptedAI
{
boss_pandemoniusAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
uint32 VoidBlast_Timer;
uint32 DarkShell_Timer;
uint32 VoidBlast_Counter;
@@ -82,7 +80,7 @@ struct TRINITY_DLL_DECL boss_pandemoniusAI : public ScriptedAI
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
{
- DoCast(pTarget, HEROIC(SPELL_VOID_BLAST, H_SPELL_VOID_BLAST));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_VOID_BLAST, H_SPELL_VOID_BLAST));
VoidBlast_Timer = 500;
++VoidBlast_Counter;
}
@@ -103,7 +101,7 @@ struct TRINITY_DLL_DECL boss_pandemoniusAI : public ScriptedAI
DoScriptText(EMOTE_DARK_SHELL, m_creature);
- DoCast(m_creature, HEROIC(SPELL_DARK_SHELL, H_SPELL_DARK_SHELL));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_DARK_SHELL, H_SPELL_DARK_SHELL));
DarkShell_Timer = 20000;
} else DarkShell_Timer -= diff;
}
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp
index 8c8bfacd7bc..9a6dd62020c 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp
@@ -46,17 +46,15 @@ EndScriptData */
#define SPELL_SUMMON_SYTH_FROST 33539 // Spawns 19204
#define SPELL_SUMMON_SYTH_SHADOW 33540 // Spawns 19206
-#define SPELL_FLAME_BUFFET (HeroicMode?38141:33526)
-#define SPELL_ARCANE_BUFFET (HeroicMode?38138:33527)
-#define SPELL_FROST_BUFFET (HeroicMode?38142:33528)
-#define SPELL_SHADOW_BUFFET (HeroicMode?38143:33529)
+#define SPELL_FLAME_BUFFET DUNGEON_MODE(33526, 38141)
+#define SPELL_ARCANE_BUFFET DUNGEON_MODE(33527, 38138)
+#define SPELL_FROST_BUFFET DUNGEON_MODE(33528, 38142)
+#define SPELL_SHADOW_BUFFET DUNGEON_MODE(33529, 38143)
struct TRINITY_DLL_DECL boss_darkweaver_sythAI : public ScriptedAI
{
boss_darkweaver_sythAI(Creature *c) : ScriptedAI(c)
-
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 flameshock_timer;
@@ -68,7 +66,6 @@ struct TRINITY_DLL_DECL boss_darkweaver_sythAI : public ScriptedAI
bool summon90;
bool summon50;
bool summon10;
- bool HeroicMode;
void Reset()
{
@@ -197,14 +194,11 @@ CreatureAI* GetAI_boss_darkweaver_syth(Creature* pCreature)
struct TRINITY_DLL_DECL mob_syth_fireAI : public ScriptedAI
{
mob_syth_fireAI(Creature *c) : ScriptedAI(c)
-
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 flameshock_timer;
uint32 flamebuffet_timer;
- bool HeroicMode;
void Reset()
{
@@ -248,14 +242,11 @@ CreatureAI* GetAI_mob_syth_fire(Creature* pCreature)
struct TRINITY_DLL_DECL mob_syth_arcaneAI : public ScriptedAI
{
mob_syth_arcaneAI(Creature *c) : ScriptedAI(c)
-
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 arcaneshock_timer;
uint32 arcanebuffet_timer;
- bool HeroicMode;
void Reset()
{
@@ -299,14 +290,11 @@ CreatureAI* GetAI_mob_syth_arcane(Creature* pCreature)
struct TRINITY_DLL_DECL mob_syth_frostAI : public ScriptedAI
{
mob_syth_frostAI(Creature *c) : ScriptedAI(c)
-
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 frostshock_timer;
uint32 frostbuffet_timer;
- bool HeroicMode;
void Reset()
{
@@ -350,14 +338,11 @@ CreatureAI* GetAI_mob_syth_frost(Creature* pCreature)
struct TRINITY_DLL_DECL mob_syth_shadowAI : public ScriptedAI
{
mob_syth_shadowAI(Creature *c) : ScriptedAI(c)
-
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 shadowshock_timer;
uint32 shadowbuffet_timer;
- bool HeroicMode;
void Reset()
{
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
index 4af8b26b88d..fb510082c2a 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
@@ -59,8 +59,6 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI
ScriptedInstance* pInstance;
- bool HeroicMode;
-
uint32 ArcaneVolley_Timer;
uint32 Sheep_Timer;
uint32 Blink_Timer;
@@ -72,8 +70,6 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI
void Reset()
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
-
ArcaneVolley_Timer = 5000;
Sheep_Timer = 8000;
Blink_Timer = 35000;
@@ -130,24 +126,29 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI
if (Blink)
{
- DoCast(m_creature, HEROIC(SPELL_ARCANE_EXPLOSION, H_SPELL_ARCANE_EXPLOSION));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_ARCANE_EXPLOSION, H_SPELL_ARCANE_EXPLOSION));
DoCast(m_creature, SPELL_ARCANE_BUBBLE, true);
Blink = false;
}
if (ArcaneVolley_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_ARCANE_VOLLEY, H_SPELL_ARCANE_VOLLEY));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_ARCANE_VOLLEY, H_SPELL_ARCANE_VOLLEY));
ArcaneVolley_Timer = 7000+rand()%5000;
} else ArcaneVolley_Timer -= diff;
if (Sheep_Timer <= diff)
{
+ Unit *pTarget;
+
//second top aggro target in normal, random target in heroic correct?
- Unit *pTarget = NULL;
- pTarget = HeroicMode ? SelectUnit(SELECT_TARGET_RANDOM,0) : SelectUnit(SELECT_TARGET_TOPAGGRO,1);
+ if (IsHeroic())
+ pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
+ else
+ pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO,1);
+
if (pTarget)
- DoCast(pTarget, HEROIC(SPELL_POLYMORPH, H_SPELL_POLYMORPH));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_POLYMORPH, H_SPELL_POLYMORPH));
Sheep_Timer = 15000+rand()%2500;
} else Sheep_Timer -= diff;
@@ -158,7 +159,7 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI
ManaShield = true;
}
- if (HeroicMode)
+ if (IsHeroic())
{
if (Slow_Timer <= diff)
{
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
index 7a0c82f0926..ac00c31fbd3 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
@@ -47,11 +47,9 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public npc_escortAI
boss_ambassador_hellmawAI(Creature* pCreature) : npc_escortAI(pCreature)
{
m_pInstance = pCreature->GetInstanceData();
- HeroicMode = pCreature->GetMap()->IsHeroic();
}
ScriptedInstance* m_pInstance;
- bool HeroicMode;
uint32 EventCheck_Timer;
uint32 CorrosiveAcid_Timer;
@@ -181,7 +179,7 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public npc_escortAI
Fear_Timer = 20000 + rand()%15000;
} else Fear_Timer -= diff;
- if (HeroicMode)
+ if (IsHeroic())
{
if (!Enraged && Enrage_Timer <= diff)
{
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
index 0a4fe3e8cd1..d8205e4e76b 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
@@ -64,10 +64,8 @@ struct TRINITY_DLL_DECL mob_voidtravelerAI : public ScriptedAI
{
mob_voidtravelerAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
Unit *Vorpil;
uint32 move;
bool sacrificed;
@@ -92,7 +90,7 @@ struct TRINITY_DLL_DECL mob_voidtravelerAI : public ScriptedAI
{
if (sacrificed)
{
- m_creature->AddAura(HEROIC(H_SPELL_EMPOWERING_SHADOWS, SPELL_EMPOWERING_SHADOWS), Vorpil);
+ m_creature->AddAura(DUNGEON_MODE(SPELL_EMPOWERING_SHADOWS, H_SPELL_EMPOWERING_SHADOWS), Vorpil);
Vorpil->SetHealth(Vorpil->GetHealth() + Vorpil->GetMaxHealth()/25);
DoCast(m_creature, SPELL_SHADOW_NOVA, true);
m_creature->Kill(m_creature);
@@ -125,14 +123,12 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
boss_grandmaster_vorpilAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
Intro = false;
}
ScriptedInstance *pInstance;
bool Intro, HelpYell;
bool sumportals;
- bool HeroicMode;
uint32 ShadowBoltVolley_Timer;
uint32 DrawShadows_Timer;
@@ -249,7 +245,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
ShadowBoltVolley_Timer = 15000 + rand()%15000;
} else ShadowBoltVolley_Timer -= diff;
- if (HeroicMode && banish_Timer <= diff)
+ if (IsHeroic() && banish_Timer <= diff)
{
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0,30,false);
if (pTarget)
@@ -271,7 +267,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
m_creature->GetMap()->CreatureRelocation(m_creature, VorpilPosition[0],VorpilPosition[1],VorpilPosition[2],0.0f);
DoCast(m_creature, SPELL_DRAW_SHADOWS, true);
- DoCast(m_creature, HeroicMode?H_SPELL_RAIN_OF_FIRE:SPELL_RAIN_OF_FIRE);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_RAIN_OF_FIRE, H_SPELL_RAIN_OF_FIRE));
ShadowBoltVolley_Timer = 6000;
DrawShadows_Timer = 30000;
diff --git a/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp
index 02955b630f0..7ed766268bb 100644
--- a/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp
+++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp
@@ -26,10 +26,10 @@ EndScriptData */
#define EMOTE_SONIC_BOOM -1555036
-#define SPELL_SONIC_BOOM_CAST (HeroicMode?38796:33923)
-#define SPELL_SONIC_BOOM_EFFECT (HeroicMode?38795:33666)
+#define SPELL_SONIC_BOOM_CAST DUNGEON_MODE(33923, 38796)
+#define SPELL_SONIC_BOOM_EFFECT DUNGEON_MODE(33666, 38795)
#define SPELL_RESONANCE 33657
-#define SPELL_MURMURS_TOUCH (HeroicMode?38794:33711)
+#define SPELL_MURMURS_TOUCH DUNGEON_MODE(33711, 38794)
#define SPELL_MAGNETIC_PULL 33689
#define SPELL_SONIC_SHOCK 38797
#define SPELL_THUNDERING_STORM 39365
@@ -39,7 +39,6 @@ struct TRINITY_DLL_DECL boss_murmurAI : public ScriptedAI
boss_murmurAI(Creature *c) : ScriptedAI(c)
{
SetCombatMovement(false);
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 SonicBoom_Timer;
@@ -48,7 +47,6 @@ struct TRINITY_DLL_DECL boss_murmurAI : public ScriptedAI
uint32 MagneticPull_Timer;
uint32 SonicShock_Timer;
uint32 ThunderingStorm_Timer;
- bool HeroicMode;
bool SonicBoom;
void Reset()
@@ -149,7 +147,7 @@ struct TRINITY_DLL_DECL boss_murmurAI : public ScriptedAI
MagneticPull_Timer = 500;
} else MagneticPull_Timer -= diff;
- if (HeroicMode)
+ if (IsHeroic())
{
// Thundering Storm
if (ThunderingStorm_Timer <= diff)
diff --git a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
index 7ae790bb623..6b92359ae0b 100644
--- a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
+++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
@@ -46,11 +46,9 @@ struct TRINITY_DLL_DECL boss_thespiaAI : public ScriptedAI
boss_thespiaAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
ScriptedInstance *pInstance;
- bool HeroicMode;
uint32 LightningCloud_Timer;
uint32 LungBurst_Timer;
@@ -95,12 +93,14 @@ struct TRINITY_DLL_DECL boss_thespiaAI : public ScriptedAI
//LightningCloud_Timer
if (LightningCloud_Timer <= diff)
{
- //cast twice in Heroic mode
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
DoCast(pTarget, SPELL_LIGHTNING_CLOUD);
- if (HeroicMode)
+
+ //cast twice in Heroic mode
+ if (IsHeroic())
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
DoCast(pTarget, SPELL_LIGHTNING_CLOUD);
+
LightningCloud_Timer = 15000+rand()%10000;
} else LightningCloud_Timer -=diff;
@@ -115,10 +115,11 @@ struct TRINITY_DLL_DECL boss_thespiaAI : public ScriptedAI
//EnvelopingWinds_Timer
if (EnvelopingWinds_Timer <= diff)
{
- //cast twice in Heroic mode
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
DoCast(pTarget, SPELL_ENVELOPING_WINDS);
- if (HeroicMode)
+
+ //cast twice in Heroic mode
+ if (IsHeroic())
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
DoCast(pTarget, SPELL_ENVELOPING_WINDS);
EnvelopingWinds_Timer = 10000+rand()%5000;
@@ -135,12 +136,10 @@ struct TRINITY_DLL_DECL mob_coilfang_waterelementalAI : public ScriptedAI
{
mob_coilfang_waterelementalAI(Creature *c) : ScriptedAI(c) {}
- bool HeroicMode;
uint32 WaterBoltVolley_Timer;
void Reset()
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
WaterBoltVolley_Timer = 3000+rand()%3000;
}
@@ -153,7 +152,7 @@ struct TRINITY_DLL_DECL mob_coilfang_waterelementalAI : public ScriptedAI
if (WaterBoltVolley_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_WATER_BOLT_VOLLEY, H_SPELL_WATER_BOLT_VOLLEY));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_WATER_BOLT_VOLLEY, H_SPELL_WATER_BOLT_VOLLEY));
WaterBoltVolley_Timer = 7000+rand()%5000;
} else WaterBoltVolley_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
index 5d48d5ecf44..bd134d6dae8 100644
--- a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
+++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
@@ -51,11 +51,9 @@ struct TRINITY_DLL_DECL boss_mekgineer_steamriggerAI : public ScriptedAI
boss_mekgineer_steamriggerAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance *pInstance;
- bool HeroicMode;
uint32 Shrink_Timer;
uint32 Saw_Blade_Timer;
@@ -190,11 +188,9 @@ struct TRINITY_DLL_DECL mob_steamrigger_mechanicAI : public ScriptedAI
mob_steamrigger_mechanicAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint32 Repair_Timer;
@@ -227,7 +223,7 @@ struct TRINITY_DLL_DECL mob_steamrigger_mechanicAI : public ScriptedAI
//m_creature->GetMotionMaster()->MovementExpired();
//m_creature->GetMotionMaster()->MoveIdle();
- DoCast(m_creature,HEROIC(SPELL_REPAIR, H_SPELL_REPAIR), true);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_REPAIR, H_SPELL_REPAIR), true);
}
Repair_Timer = 5000;
}
diff --git a/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp
index 469e5160648..51e963b2298 100644
--- a/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp
+++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp
@@ -30,10 +30,8 @@ struct TRINITY_DLL_DECL boss_hungarfenAI : public ScriptedAI
{
boss_hungarfenAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
bool Root;
uint32 Mushroom_Timer;
uint32 AcidGeyser_Timer;
diff --git a/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
index b5e868954da..222a76c75dd 100644
--- a/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
+++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
@@ -37,10 +37,8 @@ struct TRINITY_DLL_DECL boss_the_black_stalkerAI : public ScriptedAI
{
boss_the_black_stalkerAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
uint32 SporeStriders_Timer;
uint32 Levitate_Timer;
uint32 ChainLightning_Timer;
@@ -104,7 +102,7 @@ struct TRINITY_DLL_DECL boss_the_black_stalkerAI : public ScriptedAI
} else check_Timer -= diff;
// Spore Striders
- if (HeroicMode && SporeStriders_Timer <= diff)
+ if (IsHeroic() && SporeStriders_Timer <= diff)
{
DoCast(m_creature, SPELL_SUMMON_SPORE_STRIDER);
SporeStriders_Timer = 10000+rand()%5000;
diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
index 49b167422af..c07c3da07be 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
@@ -70,13 +70,11 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
boss_kelidan_the_breakerAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
for (uint8 i=0; i<5; ++i)
Channelers[i] = 0;
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint32 ShadowVolley_Timer;
uint32 BurningNova_Timer;
@@ -203,7 +201,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
{
if (Firenova_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_FIRE_NOVA, H_SPELL_FIRE_NOVA), true);
+ DoCast(m_creature, DUNGEON_MODE(SPELL_FIRE_NOVA, H_SPELL_FIRE_NOVA), true);
Firenova = false;
ShadowVolley_Timer = 2000;
} else Firenova_Timer -=diff;
@@ -213,7 +211,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
if (ShadowVolley_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_SHADOW_BOLT_VOLLEY, H_SPELL_SHADOW_BOLT_VOLLEY));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_SHADOW_BOLT_VOLLEY, H_SPELL_SHADOW_BOLT_VOLLEY));
ShadowVolley_Timer = 5000+rand()%8000;
} else ShadowVolley_Timer -=diff;
@@ -236,7 +234,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
aura->ApplyForTargets();
}
- if (HeroicMode)
+ if (IsHeroic())
DoTeleportAll(m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ(),m_creature->GetOrientation());
BurningNova_Timer = 20000+rand()%8000;
@@ -271,11 +269,8 @@ struct TRINITY_DLL_DECL mob_shadowmoon_channelerAI : public ScriptedAI
{
mob_shadowmoon_channelerAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = c->GetMap()->IsHeroic();
}
- bool HeroicMode;
-
uint32 ShadowBolt_Timer;
uint32 MarkOfShadow_Timer;
uint32 check_Timer;
@@ -331,7 +326,7 @@ struct TRINITY_DLL_DECL mob_shadowmoon_channelerAI : public ScriptedAI
if (ShadowBolt_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
ShadowBolt_Timer = 5000+rand()%1000;
} else ShadowBolt_Timer -=diff;
diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
index e48f06ae5b9..d6e2aed5d7a 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
@@ -46,11 +46,8 @@ struct TRINITY_DLL_DECL boss_omor_the_unscarredAI : public ScriptedAI
boss_omor_the_unscarredAI(Creature *c) : ScriptedAI(c)
{
SetCombatMovement(false);
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
-
uint32 OrbitalStrike_Timer;
uint32 ShadowWhip_Timer;
uint32 Aura_Timer;
@@ -171,7 +168,7 @@ struct TRINITY_DLL_DECL boss_omor_the_unscarredAI : public ScriptedAI
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
{
- DoCast(pTarget, HEROIC(SPELL_TREACHEROUS_AURA, H_SPELL_BANE_OF_TREACHERY));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_TREACHEROUS_AURA, H_SPELL_BANE_OF_TREACHERY));
Aura_Timer = 8000+rand()%8000;
}
} else Aura_Timer -= diff;
@@ -183,7 +180,7 @@ struct TRINITY_DLL_DECL boss_omor_the_unscarredAI : public ScriptedAI
if (pTarget)
pTarget = m_creature->getVictim();
- DoCast(pTarget, HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
Shadowbolt_Timer = 4000+rand()%2500;
}
} else Shadowbolt_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
index 7fb673bcaba..88c453ee0c8 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
@@ -23,11 +23,11 @@ EndScriptData */
#include "precompiled.h"
-#define SPELL_FIREBALL (HeroicMode?36920:34653)
-#define SPELL_CONE_OF_FIRE (HeroicMode?36921:30926)
-#define SPELL_SUMMON_LIQUID_FIRE (HeroicMode?30928:23971)
+#define SPELL_FIREBALL DUNGEON_MODE(34653, 36920)
+#define SPELL_CONE_OF_FIRE DUNGEON_MODE(30926, 36921)
+#define SPELL_SUMMON_LIQUID_FIRE DUNGEON_MODE(23971, 30928)
#define SPELL_BELLOWING_ROAR 39427
-#define SPELL_REVENGE (HeroicMode?40392:19130)
+#define SPELL_REVENGE DUNGEON_MODE(19130, 40392)
#define SPELL_KIDNEY_SHOT 30621
#define SPELL_FIRE_NOVA_VISUAL 19823
@@ -36,7 +36,7 @@ EndScriptData */
#define ENTRY_VAZRUDEN 17537
#define ENTRY_NAZAN 17536
#define ENTRY_LIQUID_FIRE 22515
-#define ENTRY_REINFORCED_FEL_IRON_CHEST (HeroicMode?185169:185168)
+#define ENTRY_REINFORCED_FEL_IRON_CHEST DUNGEON_MODE(185168, 185169)
#define SAY_INTRO -1543017
#define SAY_WIPE -1543018
@@ -61,7 +61,6 @@ struct TRINITY_DLL_DECL boss_nazanAI : public ScriptedAI
{
boss_nazanAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
VazrudenGUID = 0;
flight = true;
}
@@ -74,7 +73,6 @@ struct TRINITY_DLL_DECL boss_nazanAI : public ScriptedAI
uint32 UnsummonCheck;
bool flight;
uint64 VazrudenGUID;
- bool HeroicMode;
SpellEntry *liquid_fire;
void Reset()
@@ -157,11 +155,12 @@ struct TRINITY_DLL_DECL boss_nazanAI : public ScriptedAI
Fireball_Timer = 4000;
} else ConeOfFire_Timer -= diff;
- if (HeroicMode && BellowingRoar_Timer <= diff)
- {
- DoCast(m_creature, SPELL_BELLOWING_ROAR);
- BellowingRoar_Timer = 45000;
- } else BellowingRoar_Timer -= diff;
+ if (IsHeroic())
+ if (BellowingRoar_Timer <= diff)
+ {
+ DoCast(m_creature, SPELL_BELLOWING_ROAR);
+ BellowingRoar_Timer = 45000;
+ } else BellowingRoar_Timer -= diff;
DoMeleeAttackIfReady();
}
@@ -172,11 +171,9 @@ struct TRINITY_DLL_DECL boss_vazrudenAI : public ScriptedAI
{
boss_vazrudenAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 Revenge_Timer;
- bool HeroicMode;
bool WipeSaid;
uint32 UnsummonCheck;
@@ -239,7 +236,6 @@ struct TRINITY_DLL_DECL boss_vazruden_the_heraldAI : public ScriptedAI
sentryDown = false;
NazanGUID = 0;
VazrudenGUID = 0;
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
uint32 phase;
@@ -249,7 +245,6 @@ struct TRINITY_DLL_DECL boss_vazruden_the_heraldAI : public ScriptedAI
uint64 NazanGUID;
uint64 VazrudenGUID;
bool summoned;
- bool HeroicMode;
void Reset()
{
diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
index 900c3dea267..80c1e85bf15 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
@@ -42,11 +42,8 @@ struct TRINITY_DLL_DECL boss_watchkeeper_gargolmarAI : public ScriptedAI
{
boss_watchkeeper_gargolmarAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = m_creature->GetMap()->IsHeroic();
}
- bool HeroicMode;
-
uint32 Surge_Timer;
uint32 MortalWound_Timer;
uint32 Retaliation_Timer;
@@ -107,7 +104,7 @@ struct TRINITY_DLL_DECL boss_watchkeeper_gargolmarAI : public ScriptedAI
if (MortalWound_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_MORTAL_WOUND, H_SPELL_MORTAL_WOUND));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MORTAL_WOUND, H_SPELL_MORTAL_WOUND));
MortalWound_Timer = 5000+rand()%8000;
} else MortalWound_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
index 8b479522ff3..75a41fa0c7c 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
@@ -78,11 +78,9 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI
boss_grand_warlock_nethekurseAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
bool IntroOnce;
bool IsIntroEvent;
@@ -255,7 +253,7 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI
if (Cleave_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_CLEAVE, H_SPELL_SHADOW_SLAM));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SHADOW_CLEAVE, H_SPELL_SHADOW_SLAM));
Cleave_Timer = 6000+rand()%2500;
} else Cleave_Timer -= diff;
}
diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
index 64c2c84890a..e0108ec7f04 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
@@ -138,11 +138,9 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI
LeftHeadGUID = 0;
RightHeadGUID = 0;
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance* pInstance;
- bool HeroicMode;
uint64 LeftHeadGUID;
uint64 RightHeadGUID;
@@ -346,7 +344,7 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI
if (BurningMaul_Timer <= diff)
{
DoScriptText(EMOTE_ENRAGE, m_creature);
- DoCast(m_creature, HEROIC(SPELL_BURNING_MAUL, H_SPELL_BURNING_MAUL));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_BURNING_MAUL, H_SPELL_BURNING_MAUL));
BurningMaul_Timer = 40000;
BlastWave_Timer = 16000;
BlastCount = 1;
diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
index 78e7d7a22e5..bbe771b03a9 100644
--- a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
+++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
@@ -52,11 +52,8 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI
{
boss_warchief_kargath_bladefistAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = c->GetMap()->IsHeroic();
}
- bool HeroicMode;
-
std::vector<uint64> adds;
std::vector<uint64> assassins;
@@ -202,10 +199,10 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI
// stop bladedance
InBlade = false;
m_creature->SetSpeed(MOVE_RUN,2);
- (*m_creature).GetMotionMaster()->MoveChase(m_creature->getVictim());
+ m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim());
Blade_Dance_Timer = 30000;
Wait_Timer = 0;
- if (HeroicMode)
+ if (IsHeroic())
Charge_timer = 5000;
}
else
@@ -216,7 +213,7 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI
randy = (rand()%40);
x = 210+ randx ;
y = -60- randy ;
- (*m_creature).GetMotionMaster()->MovePoint(1,x,y,m_creature->GetPositionZ());
+ m_creature->GetMotionMaster()->MovePoint(1,x,y,m_creature->GetPositionZ());
Wait_Timer = 0;
}
} else Wait_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
index 3b768f95c0d..e2eaace900d 100644
--- a/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
@@ -58,12 +58,10 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
boss_harbinger_skyrissAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
Intro = false;
}
ScriptedInstance *pInstance;
- bool HeroicMode;
bool Intro;
bool IsImage33;
@@ -199,9 +197,9 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
if (MindRend_Timer <= diff)
{
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,1))
- DoCast(pTarget, HEROIC(SPELL_MIND_REND, H_SPELL_MIND_REND));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_MIND_REND, H_SPELL_MIND_REND));
else
- DoCast(m_creature->getVictim(), HEROIC(SPELL_MIND_REND, H_SPELL_MIND_REND));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_MIND_REND, H_SPELL_MIND_REND));
MindRend_Timer = 8000;
} else MindRend_Timer -=diff;
@@ -229,14 +227,14 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
DoScriptText(RAND(SAY_MIND_1,SAY_MIND_2), m_creature);
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,1))
- DoCast(pTarget, HEROIC(SPELL_DOMINATION, H_SPELL_DOMINATION));
+ DoCast(pTarget, DUNGEON_MODE(SPELL_DOMINATION, H_SPELL_DOMINATION));
else
- DoCast(m_creature->getVictim(), HEROIC(SPELL_DOMINATION, H_SPELL_DOMINATION));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_DOMINATION, H_SPELL_DOMINATION));
Domination_Timer = 16000+rand()%16000;
} else Domination_Timer -=diff;
- if (HeroicMode)
+ if (IsHeroic())
{
if (ManaBurn_Timer <= diff)
{
@@ -266,11 +264,8 @@ struct TRINITY_DLL_DECL boss_harbinger_skyriss_illusionAI : public ScriptedAI
{
boss_harbinger_skyriss_illusionAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = c->GetMap()->IsHeroic();
}
- bool HeroicMode;
-
void Reset() { }
void EnterCombat(Unit *who) { }
diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp
index c3d72f02835..794668d8dda 100644
--- a/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp
+++ b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp
@@ -88,7 +88,7 @@ struct TRINITY_DLL_DECL mob_treantAI : public ScriptedAI
#define WAR_STOMP 34716
#define SUMMON_TREANTS 34727 // DBC: 34727, 34731, 34733, 34734, 34736, 34739, 34741 (with Ancestral Life spell 34742) // won't work (guardian summon)
-#define ARCANE_VOLLEY (HeroicMode?39133:36705)
+#define ARCANE_VOLLEY DUNGEON_MODE(36705, 39133)
#define CREATURE_TREANT 19949
@@ -108,7 +108,6 @@ struct TRINITY_DLL_DECL boss_warp_splinterAI : public ScriptedAI
{
boss_warp_splinterAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = c->GetMap()->IsHeroic();
Treant_Spawn_Pos_X = c->GetPositionX();
Treant_Spawn_Pos_Y = c->GetPositionY();
}
@@ -116,7 +115,6 @@ struct TRINITY_DLL_DECL boss_warp_splinterAI : public ScriptedAI
uint32 War_Stomp_Timer;
uint32 Summon_Treants_Timer;
uint32 Arcane_Volley_Timer;
- bool HeroicMode;
float Treant_Spawn_Pos_X;
float Treant_Spawn_Pos_Y;
diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
index 2f8dd1a64b9..5cfb0f9de5e 100644
--- a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
+++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
@@ -44,11 +44,8 @@ struct TRINITY_DLL_DECL boss_gatewatcher_iron_handAI : public ScriptedAI
{
boss_gatewatcher_iron_handAI(Creature *c) : ScriptedAI(c)
{
- HeroicMode = c->GetMap()->IsHeroic();
}
- bool HeroicMode;
-
uint32 Shadow_Power_Timer;
uint32 Jackhammer_Timer;
uint32 Stream_of_Machine_Fluid_Timer;
@@ -88,7 +85,7 @@ struct TRINITY_DLL_DECL boss_gatewatcher_iron_handAI : public ScriptedAI
//Shadow Power
if (Shadow_Power_Timer <= diff)
{
- DoCast(m_creature, HEROIC(SPELL_SHADOW_POWER, H_SPELL_SHADOW_POWER));
+ DoCast(m_creature, DUNGEON_MODE(SPELL_SHADOW_POWER, H_SPELL_SHADOW_POWER));
Shadow_Power_Timer = 20000 + rand()%8000;
} else Shadow_Power_Timer -= diff;
@@ -97,7 +94,7 @@ struct TRINITY_DLL_DECL boss_gatewatcher_iron_handAI : public ScriptedAI
{
//TODO: expect cast this about 5 times in a row (?), announce it by emote only once
DoScriptText(EMOTE_HAMMER, m_creature);
- DoCast(m_creature->getVictim(), HEROIC(SPELL_JACKHAMMER, H_SPELL_JACKHAMMER));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_JACKHAMMER, H_SPELL_JACKHAMMER));
//chance to yell, but not same time as emote (after spell in fact casted)
if (rand()%2)
diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
index 3a5b95f706d..96cbbb293cf 100644
--- a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
+++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
@@ -46,13 +46,10 @@ struct TRINITY_DLL_DECL boss_nethermancer_sepethreaAI : public ScriptedAI
boss_nethermancer_sepethreaAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- HeroicMode = c->GetMap()->IsHeroic();
}
ScriptedInstance *pInstance;
- bool HeroicMode;
-
uint32 frost_attack_Timer;
uint32 arcane_blast_Timer;
uint32 dragons_breath_Timer;
@@ -77,7 +74,7 @@ struct TRINITY_DLL_DECL boss_nethermancer_sepethreaAI : public ScriptedAI
pInstance->SetData(DATA_NETHERMANCER_EVENT, IN_PROGRESS);
DoScriptText(SAY_AGGRO, m_creature);
- DoCast(who, HEROIC(SPELL_SUMMON_RAGIN_FLAMES, H_SPELL_SUMMON_RAGIN_FLAMES));
+ DoCast(who, DUNGEON_MODE(SPELL_SUMMON_RAGIN_FLAMES, H_SPELL_SUMMON_RAGIN_FLAMES));
DoScriptText(SAY_SUMMON, m_creature);
}
@@ -158,13 +155,11 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI
{
mob_ragin_flamesAI(Creature *c) : ScriptedAI(c)
{
- pInstance = c->GetInstanceData(); HeroicMode = m_creature->GetMap()->IsHeroic();
+ pInstance = c->GetInstanceData();
}
ScriptedInstance *pInstance;
- bool HeroicMode;
-
uint32 inferno_Timer;
uint32 flame_timer;
uint32 Check_Timer;
@@ -179,7 +174,7 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI
onlyonce = false;
m_creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true);
m_creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true);
- m_creature->SetSpeed(MOVE_RUN, HeroicMode ? 0.7f : 0.5f);
+ m_creature->SetSpeed(MOVE_RUN, DUNGEON_MODE(0.5f, 0.7f));
}
void EnterCombat(Unit* who)
@@ -215,7 +210,7 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI
if (inferno_Timer <= diff)
{
- DoCast(m_creature->getVictim(), HEROIC(SPELL_INFERNO, H_SPELL_INFERNO));
+ DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_INFERNO, H_SPELL_INFERNO));
m_creature->TauntApply(m_creature->getVictim());
inferno_Timer = 10000;
} else inferno_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
index 9264edc6644..7848173329b 100644
--- a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
+++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
@@ -52,7 +52,6 @@ struct TRINITY_DLL_DECL boss_pathaleon_the_calculatorAI : public ScriptedAI
{
boss_pathaleon_the_calculatorAI(Creature *c) : ScriptedAI(c), summons(m_creature)
{
- HeroicMode = c->GetMap()->IsHeroic();
}
uint32 Summon_Timer;
@@ -61,7 +60,7 @@ struct TRINITY_DLL_DECL boss_pathaleon_the_calculatorAI : public ScriptedAI
uint32 ArcaneTorrent_Timer;
uint32 Domination_Timer;
uint32 ArcaneExplosion_Timer;
- bool HeroicMode;
+
bool Enraged;
uint32 Counter;
@@ -142,7 +141,7 @@ struct TRINITY_DLL_DECL boss_pathaleon_the_calculatorAI : public ScriptedAI
} else Domination_Timer -= diff;
//Only casting if Heroic Mode is used
- if (HeroicMode)
+ if (IsHeroic())
{
if (ArcaneExplosion_Timer <= diff)
{
diff --git a/src/game/CreatureAIImpl.h b/src/game/CreatureAIImpl.h
index 9f61216e489..8312499dc1c 100644
--- a/src/game/CreatureAIImpl.h
+++ b/src/game/CreatureAIImpl.h
@@ -23,8 +23,6 @@
#include "TemporarySummon.h"
#include "CreatureAI.h"
-#define HEROIC(n,h) (HeroicMode ? h : n)
-
template<class T>
inline
const T& RAND(const T& v1, const T& v2)
diff --git a/src/game/UnitAI.h b/src/game/UnitAI.h
index e56ae6a8e0a..c3167101ba6 100644
--- a/src/game/UnitAI.h
+++ b/src/game/UnitAI.h
@@ -45,6 +45,8 @@ class TRINITY_DLL_SPEC UnitAI
Unit * const me;
public:
explicit UnitAI(Unit *u) : me(u) {}
+ virtual ~UnitAI() {}
+
virtual bool CanAIAttack(const Unit *who) const { return true; }
virtual void AttackStart(Unit *);
virtual void UpdateAI(const uint32 diff) = 0;