From 7e76ab97f895da1320106fad28e31d6b34c15443 Mon Sep 17 00:00:00 2001 From: Malcrom Date: Fri, 21 Jun 2013 21:56:21 -0230 Subject: Core/Scripting: Updates to Dark Portal Instance Scripting --- .../CavernsOfTime/DarkPortal/boss_aeonus.cpp | 104 +++++++++---------- .../DarkPortal/boss_chrono_lord_deja.cpp | 108 +++++++++---------- .../CavernsOfTime/DarkPortal/boss_temporus.cpp | 103 +++++++++--------- .../CavernsOfTime/DarkPortal/dark_portal.cpp | 12 +-- .../CavernsOfTime/DarkPortal/dark_portal.h | 68 +++++++----- .../DarkPortal/instance_dark_portal.cpp | 115 +++++++++++---------- 6 files changed, 261 insertions(+), 249 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp index 72e1cacbb48..a5ec73cdb30 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp @@ -16,18 +16,18 @@ * with this program. If not, see . */ -/* ScriptData -SDName: Boss_Aeonus -SD%Complete: 80 -SDComment: Some spells not implemented -SDCategory: Caverns of Time, The Dark Portal -EndScriptData */ +/* +Name: Boss_Aeonus +%Complete: 80 +Comment: Some spells not implemented +Category: Caverns of Time, The Dark Portal +*/ #include "ScriptMgr.h" #include "ScriptedCreature.h" #include "dark_portal.h" -enum eEnums +enum Enums { SAY_ENTER = 0, SAY_AGGRO = 1, @@ -43,45 +43,37 @@ enum eEnums H_SPELL_SAND_BREATH = 39049 }; +enum Events +{ + EVENT_SANDBREATH = 1, + EVENT_TIMESTOP = 2, + EVENT_FRENZY = 3 +}; + class boss_aeonus : public CreatureScript { public: boss_aeonus() : CreatureScript("boss_aeonus") { } - CreatureAI* GetAI(Creature* creature) const + struct boss_aeonusAI : public BossAI { - return new boss_aeonusAI (creature); - } + boss_aeonusAI(Creature* creature) : BossAI(creature, TYPE_AEONUS) { } - struct boss_aeonusAI : public ScriptedAI - { - boss_aeonusAI(Creature* creature) : ScriptedAI(creature) - { - instance = creature->GetInstanceScript(); - } - - InstanceScript* instance; - - uint32 SandBreath_Timer; - uint32 TimeStop_Timer; - uint32 Frenzy_Timer; - - void Reset() - { - SandBreath_Timer = 15000+rand()%15000; - TimeStop_Timer = 10000+rand()%5000; - Frenzy_Timer = 30000+rand()%15000; - } + void Reset() { } void EnterCombat(Unit* /*who*/) { + events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 30000)); + events.ScheduleEvent(EVENT_TIMESTOP, urand(10000, 15000)); + events.ScheduleEvent(EVENT_FRENZY, urand(30000, 45000)); + Talk(SAY_AGGRO); } void MoveInLineOfSight(Unit* who) { //Despawn Time Keeper - if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == C_TIME_KEEPER) + if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) { if (me->IsWithinDistInMap(who, 20.0f)) { @@ -100,7 +92,7 @@ public: if (instance) { instance->SetData(TYPE_RIFT, DONE); - instance->SetData(TYPE_MEDIVH, DONE);//FIXME: later should be removed + instance->SetData(TYPE_MEDIVH, DONE); // FIXME: later should be removed } } @@ -115,32 +107,40 @@ public: if (!UpdateVictim()) return; - //Sand Breath - if (SandBreath_Timer <= diff) - { - DoCast(me->GetVictim(), SPELL_SAND_BREATH); - SandBreath_Timer = 15000+rand()%10000; - } else SandBreath_Timer -= diff; + events.Update(diff); - //Time Stop - if (TimeStop_Timer <= diff) - { - DoCast(me->GetVictim(), SPELL_TIME_STOP); - TimeStop_Timer = 20000+rand()%15000; - } else TimeStop_Timer -= diff; + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; - //Frenzy - if (Frenzy_Timer <= diff) - { - Talk(EMOTE_FRENZY); - DoCast(me, SPELL_ENRAGE); - Frenzy_Timer = 20000+rand()%15000; - } else Frenzy_Timer -= diff; + while (uint32 eventId = events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_SANDBREATH: + DoCast(me->GetVictim(), SPELL_SAND_BREATH); + events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 25000)); + break; + case EVENT_TIMESTOP: + DoCast(me->GetVictim(), SPELL_TIME_STOP); + events.ScheduleEvent(EVENT_TIMESTOP, urand(20000, 35000)); + break; + case EVENT_FRENZY: + Talk(EMOTE_FRENZY); + DoCast(me, SPELL_ENRAGE); + events.ScheduleEvent(EVENT_FRENZY, urand(20000, 35000)); + break; + default: + break; + } + } + DoMeleeAttackIfReady(); + } - DoMeleeAttackIfReady(); + CreatureAI* GetAI(Creature* creature) const + { + return new boss_aeonusAI (creature); } }; - }; void AddSC_boss_aeonus() diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp index 03ab0f193f4..e469ba81623 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp @@ -27,7 +27,7 @@ EndScriptData */ #include "ScriptedCreature.h" #include "dark_portal.h" -enum eEnums +enum Enums { SAY_ENTER = 0, SAY_AGGRO = 1, @@ -43,47 +43,40 @@ enum eEnums SPELL_ATTRACTION = 38540 //Not Implemented (Heroic mode) }; +enum Events +{ + EVENT_ARCANE_BLAST = 1, + EVENT_TIME_LAPSE = 2, + EVENT_ARCANE_DISCHARGE = 3, + EVENT_ATTRACTION = 4 +}; + class boss_chrono_lord_deja : public CreatureScript { public: boss_chrono_lord_deja() : CreatureScript("boss_chrono_lord_deja") { } - CreatureAI* GetAI(Creature* creature) const + struct boss_chrono_lord_dejaAI : public BossAI { - return new boss_chrono_lord_dejaAI (creature); - } - - struct boss_chrono_lord_dejaAI : public ScriptedAI - { - boss_chrono_lord_dejaAI(Creature* creature) : ScriptedAI(creature) - { - instance = creature->GetInstanceScript(); - } + boss_chrono_lord_dejaAI(Creature* creature) : BossAI(creature, TYPE_CRONO_LORD_DEJA) { } - InstanceScript* instance; - - uint32 ArcaneBlast_Timer; - uint32 TimeLapse_Timer; - uint32 Attraction_Timer; - uint32 ArcaneDischarge_Timer; - - void Reset() - { - ArcaneBlast_Timer = 18000+rand()%5000; - TimeLapse_Timer = 10000+rand()%5000; - ArcaneDischarge_Timer = 20000+rand()%10000; - Attraction_Timer = 25000+rand()%10000; - } + void Reset() { } void EnterCombat(Unit* /*who*/) { + events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(18000, 23000)); + events.ScheduleEvent(EVENT_TIME_LAPSE, urand(10000, 15000)); + events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); + if (IsHeroic()) + events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); + Talk(SAY_AGGRO); } void MoveInLineOfSight(Unit* who) { //Despawn Time Keeper - if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == C_TIME_KEEPER) + if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) { if (me->IsWithinDistInMap(who, 20.0f)) { @@ -114,42 +107,43 @@ public: if (!UpdateVictim()) return; - //Arcane Blast - if (ArcaneBlast_Timer <= diff) - { - DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); - ArcaneBlast_Timer = 15000+rand()%10000; - } else ArcaneBlast_Timer -= diff; - - //Arcane Discharge - if (ArcaneDischarge_Timer <= diff) - { - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) - DoCast(target, SPELL_ARCANE_DISCHARGE); - ArcaneDischarge_Timer = 20000+rand()%10000; - } else ArcaneDischarge_Timer -= diff; + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; - //Time Lapse - if (TimeLapse_Timer <= diff) - { - Talk(SAY_BANISH); - DoCast(me, SPELL_TIME_LAPSE); - TimeLapse_Timer = 15000+rand()%10000; - } else TimeLapse_Timer -= diff; - - if (IsHeroic()) - { - if (Attraction_Timer <= diff) + while (uint32 eventId = events.ExecuteEvent()) { - DoCast(me, SPELL_ATTRACTION); - Attraction_Timer = 25000+rand()%10000; - } else Attraction_Timer -= diff; - } + switch (eventId) + { + case EVENT_ARCANE_BLAST: + DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); + events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(15000, 25000)); + break; + case EVENT_TIME_LAPSE: + Talk(SAY_BANISH); + DoCast(me, SPELL_TIME_LAPSE); + events.ScheduleEvent(EVENT_TIME_LAPSE, urand(15000, 25000)); + break; + case EVENT_ARCANE_DISCHARGE: + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) + DoCast(target, SPELL_ARCANE_DISCHARGE); + events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); + break; + case EVENT_ATTRACTION: // Only in Heroic + DoCast(me, SPELL_ATTRACTION); + events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); + break; + default: + break; + } + } + DoMeleeAttackIfReady(); + } - DoMeleeAttackIfReady(); + CreatureAI* GetAI(Creature* creature) const + { + return new boss_chrono_lord_dejaAI (creature); } }; - }; void AddSC_boss_chrono_lord_deja() diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp index e224094b1f9..bf311fe29ca 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp @@ -27,7 +27,7 @@ EndScriptData */ #include "ScriptedCreature.h" #include "dark_portal.h" -enum eEnums +enum Enums { SAY_ENTER = 0, SAY_AGGRO = 1, @@ -42,40 +42,33 @@ enum eEnums SPELL_REFLECT = 38592 //Not Implemented (Heroic mod) }; +enum Events +{ + EVENT_HASTE = 1, + EVENT_MORTAL_WOUND = 2, + EVENT_WING_BUFFET = 3, + EVENT_SPELL_REFLECTION = 4 +}; + class boss_temporus : public CreatureScript { public: boss_temporus() : CreatureScript("boss_temporus") { } - CreatureAI* GetAI(Creature* creature) const + struct boss_temporusAI : public BossAI { - return new boss_temporusAI (creature); - } - - struct boss_temporusAI : public ScriptedAI - { - boss_temporusAI(Creature* creature) : ScriptedAI(creature) - { - instance = creature->GetInstanceScript(); - } - - InstanceScript* instance; - - uint32 Haste_Timer; - uint32 SpellReflection_Timer; - uint32 MortalWound_Timer; - uint32 WingBuffet_Timer; + boss_temporusAI(Creature* creature) : BossAI(creature, TYPE_TEMPORUS) { } - void Reset() - { - Haste_Timer = 15000+rand()%8000; - SpellReflection_Timer = 30000; - MortalWound_Timer = 8000; - WingBuffet_Timer = 25000+rand()%10000; - } + void Reset() { } void EnterCombat(Unit* /*who*/) { + events.ScheduleEvent(EVENT_HASTE, urand(15000, 23000)); + events.ScheduleEvent(EVENT_MORTAL_WOUND, 8000); + events.ScheduleEvent(EVENT_WING_BUFFET, urand(25000, 35000)); + if (IsHeroic()) + events.ScheduleEvent(EVENT_SPELL_REFLECTION, 30000); + Talk(SAY_AGGRO); } @@ -95,7 +88,7 @@ public: void MoveInLineOfSight(Unit* who) { //Despawn Time Keeper - if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == C_TIME_KEEPER) + if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) { if (me->IsWithinDistInMap(who, 20.0f)) { @@ -114,37 +107,41 @@ public: if (!UpdateVictim()) return; - //Attack Haste - if (Haste_Timer <= diff) - { - DoCast(me, SPELL_HASTE); - Haste_Timer = 20000+rand()%5000; - } else Haste_Timer -= diff; - - //MortalWound_Timer - if (MortalWound_Timer <= diff) - { - DoCast(me, SPELL_MORTAL_WOUND); - MortalWound_Timer = 10000+rand()%10000; - } else MortalWound_Timer -= diff; + events.Update(diff); - //Wing ruffet - if (WingBuffet_Timer <= diff) - { - DoCast(me, SPELL_WING_BUFFET); - WingBuffet_Timer = 20000+rand()%10000; - } else WingBuffet_Timer -= diff; + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; - if (IsHeroic()) - { - if (SpellReflection_Timer <= diff) + while (uint32 eventId = events.ExecuteEvent()) { - DoCast(me, SPELL_REFLECT); - SpellReflection_Timer = 25000+rand()%10000; - } else SpellReflection_Timer -= diff; - } + switch (eventId) + { + case EVENT_HASTE: + DoCast(me, SPELL_HASTE); + events.ScheduleEvent(EVENT_HASTE, urand(20000, 25000)); + break; + case EVENT_MORTAL_WOUND: + DoCast(me, SPELL_MORTAL_WOUND); + events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(10000, 20000)); + break; + case EVENT_WING_BUFFET: + DoCast(me, SPELL_WING_BUFFET); + events.ScheduleEvent(EVENT_WING_BUFFET, urand(20000, 30000)); + break; + case EVENT_SPELL_REFLECTION: // Only in Heroic + DoCast(me, SPELL_REFLECT); + events.ScheduleEvent(EVENT_SPELL_REFLECTION, urand(25000, 35000)); + break; + default: + break; + } + } + DoMeleeAttackIfReady(); + } - DoMeleeAttackIfReady(); + CreatureAI* GetAI(Creature* creature) const + { + return new boss_temporusAI (creature); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp index ca60a0ca0ef..f49325041f7 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp @@ -125,12 +125,12 @@ public: return; uint32 entry = who->GetEntry(); - if (entry == C_ASSAS || entry == C_WHELP || entry == C_CHRON || entry == C_EXECU || entry == C_VANQU) + if (entry == NPC_INFINITE_ASSASIN || entry == NPC_INFINITE_WHELP || entry == NPC_INFINITE_CRONOMANCER || entry == NPC_INFINITE_EXECUTIONER || entry == NPC_INFINITE_VANQUISHER) { who->StopMoving(); who->CastSpell(me, SPELL_CORRUPT, false); } - else if (entry == C_AEONUS) + else if (entry == NPC_AEONUS) { who->StopMoving(); who->CastSpell(me, SPELL_CORRUPT_AEONUS, false); @@ -251,9 +251,9 @@ struct Wave static Wave PortalWaves[]= { - { {C_ASSAS, C_WHELP, C_CHRON, 0} }, - { {C_EXECU, C_CHRON, C_WHELP, C_ASSAS} }, - { {C_EXECU, C_VANQU, C_CHRON, C_ASSAS} } + { {NPC_INFINITE_ASSASIN, NPC_INFINITE_WHELP, NPC_INFINITE_CRONOMANCER, 0} }, + { {NPC_INFINITE_EXECUTIONER, NPC_INFINITE_CRONOMANCER, NPC_INFINITE_WHELP, NPC_INFINITE_ASSASIN} }, + { {NPC_INFINITE_EXECUTIONER, NPC_INFINITE_VANQUISHER, NPC_INFINITE_CRONOMANCER, NPC_INFINITE_ASSASIN} } }; class npc_time_rift : public CreatureScript @@ -335,7 +335,7 @@ public: ++mRiftWaveCount; - if (entry == C_WHELP) + if (entry == NPC_INFINITE_WHELP) { for (uint8 i = 0; i < 3; ++i) DoSummonAtRift(entry); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h index 490ac4c2e50..09f693d73f4 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h @@ -19,31 +19,49 @@ #ifndef DEF_DARKPORTAL_H #define DEF_DARKPORTAL_H -#define TYPE_MEDIVH 1 -#define TYPE_RIFT 2 - -#define DATA_MEDIVH 10 -#define DATA_PORTAL_COUNT 11 -#define DATA_SHIELD 12 - -#define WORLD_STATE_BM 2541 -#define WORLD_STATE_BM_SHIELD 2540 -#define WORLD_STATE_BM_RIFT 2784 - -#define QUEST_OPENING_PORTAL 10297 -#define QUEST_MASTER_TOUCH 9836 - -#define C_TIME_KEEPER 17918 -#define C_RKEEP 21104 -#define C_RLORD 17839 -#define C_DEJA 17879 -#define C_TEMPO 17880 -#define C_AEONUS 17881 -#define C_ASSAS 17835 -#define C_WHELP 21818 -#define C_CHRON 17892 -#define C_EXECU 18994 -#define C_VANQU 18995 +uint32 const EncounterCount = 2; + +enum DataTypes +{ + TYPE_MEDIVH = 1, + TYPE_RIFT = 2, + TYPE_AEONUS = 3, + TYPE_TEMPORUS = 4, + TYPE_CRONO_LORD_DEJA = 5, + DATA_MEDIVH = 10, + DATA_PORTAL_COUNT = 11, + DATA_SHIELD = 12 +}; + +enum WorldStateIds +{ + WORLD_STATE_BM = 2541, + WORLD_STATE_BM_SHIELD = 2540, + WORLD_STATE_BM_RIFT = 2784 +}; + +enum QuestIds +{ + QUEST_OPENING_PORTAL = 10297, + QUEST_MASTER_TOUCH = 9836 +}; + +enum CreatureIds +{ + NPC_MEDIVH = 15608, + NPC_TIME_RIFT = 17838, + NPC_TIME_KEEPER = 17918, + NPC_RIFT_KEEPER = 21104, + NPC_RIFT_LORD = 17839, + NPC_CRONO_LORD_DEJA = 17879, + NPC_TEMPORUS = 17880, + NPC_AEONUS = 17881, + NPC_INFINITE_ASSASIN = 17835, + NPC_INFINITE_WHELP = 21818, + NPC_INFINITE_CRONOMANCER = 17892, + NPC_INFINITE_EXECUTIONER = 18994, + NPC_INFINITE_VANQUISHER = 18995 +}; #endif diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp index 1278688d7ad..28f16a10ed3 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp @@ -30,16 +30,13 @@ EndScriptData */ #include "TemporarySummon.h" #include "SpellInfo.h" -#define MAX_ENCOUNTER 2 - -#define C_MEDIVH 15608 -#define C_TIME_RIFT 17838 - -#define SPELL_RIFT_CHANNEL 31387 - -#define RIFT_BOSS 1 +enum Misc +{ + SPELL_RIFT_CHANNEL = 31387, + RIFT_BOSS = 1 +}; -inline uint32 RandRiftBoss() { return ((rand()%2) ? C_RKEEP : C_RLORD); } +inline uint32 RandRiftBoss() { return ((rand()%2) ? NPC_RIFT_KEEPER : NPC_RIFT_LORD); } float PortalLocation[4][4]= { @@ -57,12 +54,17 @@ struct Wave static Wave RiftWaves[]= { - {RIFT_BOSS, 0}, - {C_DEJA, 0}, - {RIFT_BOSS, 120000}, - {C_TEMPO, 140000}, - {RIFT_BOSS, 120000}, - {C_AEONUS, 0} + { RIFT_BOSS, 0 }, + { NPC_CRONO_LORD_DEJA, 0 }, + { RIFT_BOSS, 120000 }, + { NPC_TEMPORUS, 140000 }, + { RIFT_BOSS, 120000 }, + { NPC_AEONUS, 0 } +}; + +enum EventIds +{ + EVENT_NEXT_PORTAL = 1 }; class instance_dark_portal : public InstanceMapScript @@ -77,25 +79,21 @@ public: struct instance_dark_portal_InstanceMapScript : public InstanceScript { - instance_dark_portal_InstanceMapScript(Map* map) : InstanceScript(map) - { - } + instance_dark_portal_InstanceMapScript(Map* map) : InstanceScript(map) { } - uint32 m_auiEncounter[MAX_ENCOUNTER]; + uint32 m_auiEncounter[EncounterCount]; uint32 mRiftPortalCount; uint32 mShieldPercent; - uint8 mRiftWaveCount; - uint8 mRiftWaveId; - - uint32 NextPortal_Timer; + uint8 mRiftWaveCount; + uint8 mRiftWaveId; - uint64 MedivhGUID; - uint8 CurrentRiftId; + uint64 _medivhGUID; + uint8 _currentRiftId; void Initialize() { - MedivhGUID = 0; + _medivhGUID = 0; Clear(); } @@ -108,9 +106,7 @@ public: mRiftWaveCount = 0; mRiftWaveId = 0; - CurrentRiftId = 0; - - NextPortal_Timer = 0; + _currentRiftId = 0; } void InitWorldState(bool Enable = true) @@ -138,8 +134,8 @@ public: void OnCreatureCreate(Creature* creature) { - if (creature->GetEntry() == C_MEDIVH) - MedivhGUID = creature->GetGUID(); + if (creature->GetEntry() == NPC_MEDIVH) + _medivhGUID = creature->GetGUID(); } //what other conditions to check? @@ -181,11 +177,11 @@ public: if (!mShieldPercent) { - if (Creature* pMedivh = instance->GetCreature(MedivhGUID)) + if (Creature* medivh = instance->GetCreature(_medivhGUID)) { - if (pMedivh->IsAlive()) + if (medivh->IsAlive()) { - pMedivh->DealDamage(pMedivh, pMedivh->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + medivh->DealDamage(medivh, medivh->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); m_auiEncounter[0] = FAIL; m_auiEncounter[1] = NOT_STARTED; } @@ -199,7 +195,7 @@ public: TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: Starting event."); InitWorldState(); m_auiEncounter[1] = IN_PROGRESS; - NextPortal_Timer = 15000; + _events.ScheduleEvent(EVENT_NEXT_PORTAL, 15000); } if (data == DONE) @@ -231,7 +227,7 @@ public: if (data == SPECIAL) { if (mRiftPortalCount < 7) - NextPortal_Timer = 5000; + _events.ScheduleEvent(EVENT_NEXT_PORTAL, 5000); } else m_auiEncounter[1] = data; @@ -258,7 +254,7 @@ public: uint64 GetData64(uint32 data) const { if (data == DATA_MEDIVH) - return MedivhGUID; + return _medivhGUID; return 0; } @@ -287,18 +283,18 @@ public: void DoSpawnPortal() { - if (Creature* pMedivh = instance->GetCreature(MedivhGUID)) + if (Creature* medivh = instance->GetCreature(_medivhGUID)) { uint8 tmp = urand(0, 2); - if (tmp >= CurrentRiftId) + if (tmp >= _currentRiftId) ++tmp; - TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: Creating Time Rift at locationId %i (old locationId was %u).", tmp, CurrentRiftId); + TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: Creating Time Rift at locationId %i (old locationId was %u).", tmp, _currentRiftId); - CurrentRiftId = tmp; + _currentRiftId = tmp; - Creature* temp = pMedivh->SummonCreature(C_TIME_RIFT, + Creature* temp = medivh->SummonCreature(NPC_TIME_RIFT, PortalLocation[tmp][0], PortalLocation[tmp][1], PortalLocation[tmp][2], PortalLocation[tmp][3], TEMPSUMMON_CORPSE_DESPAWN, 0); if (temp) @@ -306,14 +302,14 @@ public: temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - if (Creature* pBoss = SummonedPortalBoss(temp)) + if (Creature* boss = SummonedPortalBoss(temp)) { - if (pBoss->GetEntry() == C_AEONUS) - pBoss->AddThreat(pMedivh, 0.0f); + if (boss->GetEntry() == NPC_AEONUS) + boss->AddThreat(medivh, 0.0f); else { - pBoss->AddThreat(temp, 0.0f); - temp->CastSpell(pBoss, SPELL_RIFT_CHANNEL, false); + boss->AddThreat(temp, 0.0f); + temp->CastSpell(boss, SPELL_RIFT_CHANNEL, false); } } } @@ -332,19 +328,26 @@ public: return; } - if (NextPortal_Timer) + _events.Update(diff); + + while (uint32 eventId = _events.ExecuteEvent()) { - if (NextPortal_Timer <= diff) + switch (eventId) { - ++mRiftPortalCount; - - DoUpdateWorldState(WORLD_STATE_BM_RIFT, mRiftPortalCount); - - DoSpawnPortal(); - NextPortal_Timer = RiftWaves[GetRiftWaveId()].NextPortalTime; - } else NextPortal_Timer -= diff; + case EVENT_NEXT_PORTAL: + ++mRiftPortalCount; + DoUpdateWorldState(WORLD_STATE_BM_RIFT, mRiftPortalCount); + DoSpawnPortal(); + _events.ScheduleEvent(EVENT_NEXT_PORTAL, RiftWaves[GetRiftWaveId()].NextPortalTime); + break; + default: + break; + } } } + + private: + EventMap _events; }; }; -- cgit v1.2.3 From 6623a9dc4253e7b55cea3ff2e7a9a8946b24a736 Mon Sep 17 00:00:00 2001 From: Malcrom Date: Fri, 21 Jun 2013 23:14:59 -0230 Subject: Core/Scripting: Renamed Dark Portal scripts to The Black Morass --- src/server/game/Scripting/ScriptLoader.cpp | 12 +- src/server/scripts/Kalimdor/CMakeLists.txt | 12 +- .../CavernsOfTime/DarkPortal/boss_aeonus.cpp | 149 -------- .../DarkPortal/boss_chrono_lord_deja.cpp | 152 -------- .../CavernsOfTime/DarkPortal/boss_temporus.cpp | 153 -------- .../CavernsOfTime/DarkPortal/dark_portal.cpp | 422 --------------------- .../CavernsOfTime/DarkPortal/dark_portal.h | 67 ---- .../DarkPortal/instance_dark_portal.cpp | 358 ----------------- .../CavernsOfTime/TheBlackMorass/boss_aeonus.cpp | 149 ++++++++ .../TheBlackMorass/boss_chrono_lord_deja.cpp | 152 ++++++++ .../CavernsOfTime/TheBlackMorass/boss_temporus.cpp | 153 ++++++++ .../TheBlackMorass/instance_the_black_morass.cpp | 352 +++++++++++++++++ .../TheBlackMorass/the_black_morass.cpp | 422 +++++++++++++++++++++ .../TheBlackMorass/the_black_morass.h | 67 ++++ 14 files changed, 1307 insertions(+), 1313 deletions(-) delete mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp delete mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp delete mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp delete mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp delete mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h delete mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp create mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp create mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp create mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp create mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp create mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp create mode 100644 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h (limited to 'src/server/scripts') diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index e65c5884319..b240100f642 100644 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -294,11 +294,11 @@ void AddSC_boss_epoch_hunter(); void AddSC_boss_lieutenant_drake(); void AddSC_instance_old_hillsbrad(); void AddSC_old_hillsbrad(); -void AddSC_boss_aeonus(); //CoT The Dark Portal +void AddSC_boss_aeonus(); //CoT The Black Morass void AddSC_boss_chrono_lord_deja(); void AddSC_boss_temporus(); -void AddSC_dark_portal(); -void AddSC_instance_dark_portal(); +void AddSC_the_black_morass(); +void AddSC_instance_the_black_morass(); void AddSC_boss_epoch(); //CoT Culling Of Stratholme void AddSC_boss_infinite_corruptor(); void AddSC_boss_salramm(); @@ -940,11 +940,11 @@ void AddKalimdorScripts() AddSC_boss_lieutenant_drake(); AddSC_instance_old_hillsbrad(); AddSC_old_hillsbrad(); - AddSC_boss_aeonus(); //CoT The Dark Portal + AddSC_boss_aeonus(); //CoT The Black Morass AddSC_boss_chrono_lord_deja(); AddSC_boss_temporus(); - AddSC_dark_portal(); - AddSC_instance_dark_portal(); + AddSC_the_black_morass(); + AddSC_instance_the_black_morass(); AddSC_boss_epoch(); //CoT Culling Of Stratholme AddSC_boss_infinite_corruptor(); AddSC_boss_salramm(); diff --git a/src/server/scripts/Kalimdor/CMakeLists.txt b/src/server/scripts/Kalimdor/CMakeLists.txt index 536824e7a63..6a54d777c1e 100644 --- a/src/server/scripts/Kalimdor/CMakeLists.txt +++ b/src/server/scripts/Kalimdor/CMakeLists.txt @@ -46,12 +46,12 @@ set(scripts_STAT_SRCS Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h - Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h - Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp - Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp - Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp - Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp - Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp + Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h + Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp + Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp + Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp + Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp + Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp Kalimdor/BlackfathomDeeps/boss_kelris.cpp Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp Kalimdor/BlackfathomDeeps/boss_gelihast.cpp diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp deleted file mode 100644 index a5ec73cdb30..00000000000 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 2008-2013 TrinityCore - * Copyright (C) 2006-2009 ScriptDev2 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -/* -Name: Boss_Aeonus -%Complete: 80 -Comment: Some spells not implemented -Category: Caverns of Time, The Dark Portal -*/ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "dark_portal.h" - -enum Enums -{ - SAY_ENTER = 0, - SAY_AGGRO = 1, - SAY_BANISH = 2, - SAY_SLAY = 3, - SAY_DEATH = 4, - EMOTE_FRENZY = 5, - - SPELL_CLEAVE = 40504, - SPELL_TIME_STOP = 31422, - SPELL_ENRAGE = 37605, - SPELL_SAND_BREATH = 31473, - H_SPELL_SAND_BREATH = 39049 -}; - -enum Events -{ - EVENT_SANDBREATH = 1, - EVENT_TIMESTOP = 2, - EVENT_FRENZY = 3 -}; - -class boss_aeonus : public CreatureScript -{ -public: - boss_aeonus() : CreatureScript("boss_aeonus") { } - - struct boss_aeonusAI : public BossAI - { - boss_aeonusAI(Creature* creature) : BossAI(creature, TYPE_AEONUS) { } - - void Reset() { } - - void EnterCombat(Unit* /*who*/) - { - events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 30000)); - events.ScheduleEvent(EVENT_TIMESTOP, urand(10000, 15000)); - events.ScheduleEvent(EVENT_FRENZY, urand(30000, 45000)); - - Talk(SAY_AGGRO); - } - - void MoveInLineOfSight(Unit* who) - { - //Despawn Time Keeper - if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) - { - if (me->IsWithinDistInMap(who, 20.0f)) - { - Talk(SAY_BANISH); - me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - } - } - - ScriptedAI::MoveInLineOfSight(who); - } - - void JustDied(Unit* /*killer*/) - { - Talk(SAY_DEATH); - - if (instance) - { - instance->SetData(TYPE_RIFT, DONE); - instance->SetData(TYPE_MEDIVH, DONE); // FIXME: later should be removed - } - } - - void KilledUnit(Unit* /*victim*/) - { - Talk(SAY_SLAY); - } - - void UpdateAI(uint32 diff) - { - //Return since we have no target - if (!UpdateVictim()) - return; - - events.Update(diff); - - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - while (uint32 eventId = events.ExecuteEvent()) - { - switch (eventId) - { - case EVENT_SANDBREATH: - DoCast(me->GetVictim(), SPELL_SAND_BREATH); - events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 25000)); - break; - case EVENT_TIMESTOP: - DoCast(me->GetVictim(), SPELL_TIME_STOP); - events.ScheduleEvent(EVENT_TIMESTOP, urand(20000, 35000)); - break; - case EVENT_FRENZY: - Talk(EMOTE_FRENZY); - DoCast(me, SPELL_ENRAGE); - events.ScheduleEvent(EVENT_FRENZY, urand(20000, 35000)); - break; - default: - break; - } - } - DoMeleeAttackIfReady(); - } - - CreatureAI* GetAI(Creature* creature) const - { - return new boss_aeonusAI (creature); - } - }; -}; - -void AddSC_boss_aeonus() -{ - new boss_aeonus(); -} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp deleted file mode 100644 index e469ba81623..00000000000 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright (C) 2008-2013 TrinityCore - * Copyright (C) 2006-2009 ScriptDev2 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -/* ScriptData -SDName: Boss_Chrono_Lord_Deja -SD%Complete: 65 -SDComment: All abilities not implemented -SDCategory: Caverns of Time, The Dark Portal -EndScriptData */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "dark_portal.h" - -enum Enums -{ - SAY_ENTER = 0, - SAY_AGGRO = 1, - SAY_BANISH = 2, - SAY_SLAY = 3, - SAY_DEATH = 4, - - SPELL_ARCANE_BLAST = 31457, - H_SPELL_ARCANE_BLAST = 38538, - SPELL_ARCANE_DISCHARGE = 31472, - H_SPELL_ARCANE_DISCHARGE = 38539, - SPELL_TIME_LAPSE = 31467, - SPELL_ATTRACTION = 38540 //Not Implemented (Heroic mode) -}; - -enum Events -{ - EVENT_ARCANE_BLAST = 1, - EVENT_TIME_LAPSE = 2, - EVENT_ARCANE_DISCHARGE = 3, - EVENT_ATTRACTION = 4 -}; - -class boss_chrono_lord_deja : public CreatureScript -{ -public: - boss_chrono_lord_deja() : CreatureScript("boss_chrono_lord_deja") { } - - struct boss_chrono_lord_dejaAI : public BossAI - { - boss_chrono_lord_dejaAI(Creature* creature) : BossAI(creature, TYPE_CRONO_LORD_DEJA) { } - - void Reset() { } - - void EnterCombat(Unit* /*who*/) - { - events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(18000, 23000)); - events.ScheduleEvent(EVENT_TIME_LAPSE, urand(10000, 15000)); - events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); - if (IsHeroic()) - events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); - - Talk(SAY_AGGRO); - } - - void MoveInLineOfSight(Unit* who) - { - //Despawn Time Keeper - if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) - { - if (me->IsWithinDistInMap(who, 20.0f)) - { - Talk(SAY_BANISH); - me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - } - } - - ScriptedAI::MoveInLineOfSight(who); - } - - void KilledUnit(Unit* /*victim*/) - { - Talk(SAY_SLAY); - } - - void JustDied(Unit* /*killer*/) - { - Talk(SAY_DEATH); - - if (instance) - instance->SetData(TYPE_RIFT, SPECIAL); - } - - void UpdateAI(uint32 diff) - { - //Return since we have no target - if (!UpdateVictim()) - return; - - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - while (uint32 eventId = events.ExecuteEvent()) - { - switch (eventId) - { - case EVENT_ARCANE_BLAST: - DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); - events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(15000, 25000)); - break; - case EVENT_TIME_LAPSE: - Talk(SAY_BANISH); - DoCast(me, SPELL_TIME_LAPSE); - events.ScheduleEvent(EVENT_TIME_LAPSE, urand(15000, 25000)); - break; - case EVENT_ARCANE_DISCHARGE: - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) - DoCast(target, SPELL_ARCANE_DISCHARGE); - events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); - break; - case EVENT_ATTRACTION: // Only in Heroic - DoCast(me, SPELL_ATTRACTION); - events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); - break; - default: - break; - } - } - DoMeleeAttackIfReady(); - } - - CreatureAI* GetAI(Creature* creature) const - { - return new boss_chrono_lord_dejaAI (creature); - } - }; -}; - -void AddSC_boss_chrono_lord_deja() -{ - new boss_chrono_lord_deja(); -} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp deleted file mode 100644 index bf311fe29ca..00000000000 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (C) 2008-2013 TrinityCore - * Copyright (C) 2006-2009 ScriptDev2 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -/* ScriptData -SDName: Boss_Temporus -SD%Complete: 75 -SDComment: More abilities need to be implemented -SDCategory: Caverns of Time, The Dark Portal -EndScriptData */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "dark_portal.h" - -enum Enums -{ - SAY_ENTER = 0, - SAY_AGGRO = 1, - SAY_BANISH = 2, - SAY_SLAY = 3, - SAY_DEATH = 4, - - SPELL_HASTE = 31458, - SPELL_MORTAL_WOUND = 31464, - SPELL_WING_BUFFET = 31475, - H_SPELL_WING_BUFFET = 38593, - SPELL_REFLECT = 38592 //Not Implemented (Heroic mod) -}; - -enum Events -{ - EVENT_HASTE = 1, - EVENT_MORTAL_WOUND = 2, - EVENT_WING_BUFFET = 3, - EVENT_SPELL_REFLECTION = 4 -}; - -class boss_temporus : public CreatureScript -{ -public: - boss_temporus() : CreatureScript("boss_temporus") { } - - struct boss_temporusAI : public BossAI - { - boss_temporusAI(Creature* creature) : BossAI(creature, TYPE_TEMPORUS) { } - - void Reset() { } - - void EnterCombat(Unit* /*who*/) - { - events.ScheduleEvent(EVENT_HASTE, urand(15000, 23000)); - events.ScheduleEvent(EVENT_MORTAL_WOUND, 8000); - events.ScheduleEvent(EVENT_WING_BUFFET, urand(25000, 35000)); - if (IsHeroic()) - events.ScheduleEvent(EVENT_SPELL_REFLECTION, 30000); - - Talk(SAY_AGGRO); - } - - void KilledUnit(Unit* /*victim*/) - { - Talk(SAY_SLAY); - } - - void JustDied(Unit* /*killer*/) - { - Talk(SAY_DEATH); - - if (instance) - instance->SetData(TYPE_RIFT, SPECIAL); - } - - void MoveInLineOfSight(Unit* who) - { - //Despawn Time Keeper - if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) - { - if (me->IsWithinDistInMap(who, 20.0f)) - { - Talk(SAY_BANISH); - - me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - } - } - - ScriptedAI::MoveInLineOfSight(who); - } - - void UpdateAI(uint32 diff) - { - //Return since we have no target - if (!UpdateVictim()) - return; - - events.Update(diff); - - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - while (uint32 eventId = events.ExecuteEvent()) - { - switch (eventId) - { - case EVENT_HASTE: - DoCast(me, SPELL_HASTE); - events.ScheduleEvent(EVENT_HASTE, urand(20000, 25000)); - break; - case EVENT_MORTAL_WOUND: - DoCast(me, SPELL_MORTAL_WOUND); - events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(10000, 20000)); - break; - case EVENT_WING_BUFFET: - DoCast(me, SPELL_WING_BUFFET); - events.ScheduleEvent(EVENT_WING_BUFFET, urand(20000, 30000)); - break; - case EVENT_SPELL_REFLECTION: // Only in Heroic - DoCast(me, SPELL_REFLECT); - events.ScheduleEvent(EVENT_SPELL_REFLECTION, urand(25000, 35000)); - break; - default: - break; - } - } - DoMeleeAttackIfReady(); - } - - CreatureAI* GetAI(Creature* creature) const - { - return new boss_temporusAI (creature); - } - }; - -}; - -void AddSC_boss_temporus() -{ - new boss_temporus(); -} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp deleted file mode 100644 index f49325041f7..00000000000 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp +++ /dev/null @@ -1,422 +0,0 @@ -/* - * Copyright (C) 2008-2013 TrinityCore - * Copyright (C) 2006-2009 ScriptDev2 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -/* ScriptData -SDName: Dark_Portal -SD%Complete: 30 -SDComment: Misc NPC's and mobs for instance. Most here far from complete. -SDCategory: Caverns of Time, The Dark Portal -EndScriptData */ - -/* ContentData -npc_medivh_bm -npc_time_rift -npc_saat -EndContentData */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "ScriptedGossip.h" -#include "dark_portal.h" -#include "Player.h" -#include "SpellInfo.h" - -enum MedivhBm -{ - SAY_ENTER = 0, //where does this belong? - SAY_INTRO = 1, - SAY_WEAK75 = 2, - SAY_WEAK50 = 3, - SAY_WEAK25 = 4, - SAY_DEATH = 5, - SAY_WIN = 6, - SAY_ORCS_ENTER = 7, - SAY_ORCS_ANSWER = 8, - - SPELL_CHANNEL = 31556, - SPELL_PORTAL_RUNE = 32570, //aura(portal on ground effect) - - SPELL_BLACK_CRYSTAL = 32563, //aura - SPELL_PORTAL_CRYSTAL = 32564, //summon - - SPELL_BANISH_PURPLE = 32566, //aura - SPELL_BANISH_GREEN = 32567, //aura - - SPELL_CORRUPT = 31326, - SPELL_CORRUPT_AEONUS = 37853, - - C_COUNCIL_ENFORCER = 17023 -}; - -class npc_medivh_bm : public CreatureScript -{ -public: - npc_medivh_bm() : CreatureScript("npc_medivh_bm") { } - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_medivh_bmAI (creature); - } - - struct npc_medivh_bmAI : public ScriptedAI - { - npc_medivh_bmAI(Creature* creature) : ScriptedAI(creature) - { - instance = creature->GetInstanceScript(); - } - - InstanceScript* instance; - - uint32 SpellCorrupt_Timer; - uint32 Check_Timer; - - bool Life75; - bool Life50; - bool Life25; - - void Reset() - { - SpellCorrupt_Timer = 0; - - if (!instance) - return; - - if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS) - DoCast(me, SPELL_CHANNEL, true); - else if (me->HasAura(SPELL_CHANNEL)) - me->RemoveAura(SPELL_CHANNEL); - - DoCast(me, SPELL_PORTAL_RUNE, true); - } - - void MoveInLineOfSight(Unit* who) - { - if (!instance) - return; - - if (who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 10.0f)) - { - if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS || instance->GetData(TYPE_MEDIVH) == DONE) - return; - - Talk(SAY_INTRO); - instance->SetData(TYPE_MEDIVH, IN_PROGRESS); - DoCast(me, SPELL_CHANNEL, false); - Check_Timer = 5000; - } - else if (who->GetTypeId() == TYPEID_UNIT && me->IsWithinDistInMap(who, 15.0f)) - { - if (instance->GetData(TYPE_MEDIVH) != IN_PROGRESS) - return; - - uint32 entry = who->GetEntry(); - if (entry == NPC_INFINITE_ASSASIN || entry == NPC_INFINITE_WHELP || entry == NPC_INFINITE_CRONOMANCER || entry == NPC_INFINITE_EXECUTIONER || entry == NPC_INFINITE_VANQUISHER) - { - who->StopMoving(); - who->CastSpell(me, SPELL_CORRUPT, false); - } - else if (entry == NPC_AEONUS) - { - who->StopMoving(); - who->CastSpell(me, SPELL_CORRUPT_AEONUS, false); - } - } - } - - void AttackStart(Unit* /*who*/) - { - //if (instance && instance->GetData(TYPE_MEDIVH) == IN_PROGRESS) - //return; - - //ScriptedAI::AttackStart(who); - } - - void EnterCombat(Unit* /*who*/) {} - - void SpellHit(Unit* /*caster*/, const SpellInfo* spell) - { - if (SpellCorrupt_Timer) - return; - - if (spell->Id == SPELL_CORRUPT_AEONUS) - SpellCorrupt_Timer = 1000; - - if (spell->Id == SPELL_CORRUPT) - SpellCorrupt_Timer = 3000; - } - - void JustDied(Unit* killer) - { - if (killer->GetEntry() == me->GetEntry()) - return; - - Talk(SAY_DEATH); - } - - void UpdateAI(uint32 diff) - { - if (!instance) - return; - - if (SpellCorrupt_Timer) - { - if (SpellCorrupt_Timer <= diff) - { - instance->SetData(TYPE_MEDIVH, SPECIAL); - - if (me->HasAura(SPELL_CORRUPT_AEONUS)) - SpellCorrupt_Timer = 1000; - else if (me->HasAura(SPELL_CORRUPT)) - SpellCorrupt_Timer = 3000; - else - SpellCorrupt_Timer = 0; - } else SpellCorrupt_Timer -= diff; - } - - if (Check_Timer) - { - if (Check_Timer <= diff) - { - uint32 pct = instance->GetData(DATA_SHIELD); - - Check_Timer = 5000; - - if (Life25 && pct <= 25) - { - Talk(SAY_WEAK25); - Life25 = false; - } - else if (Life50 && pct <= 50) - { - Talk(SAY_WEAK50); - Life50 = false; - } - else if (Life75 && pct <= 75) - { - Talk(SAY_WEAK75); - Life75 = false; - } - - //if we reach this it means event was running but at some point reset. - if (instance->GetData(TYPE_MEDIVH) == NOT_STARTED) - { - me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - me->RemoveCorpse(); - me->Respawn(); - return; - } - - if (instance->GetData(TYPE_RIFT) == DONE) - { - Talk(SAY_WIN); - Check_Timer = 0; - - if (me->HasAura(SPELL_CHANNEL)) - me->RemoveAura(SPELL_CHANNEL); - - /// @todo start the post-event here - instance->SetData(TYPE_MEDIVH, DONE); - } - } else Check_Timer -= diff; - } - - //if (!UpdateVictim()) - //return; - - //DoMeleeAttackIfReady(); - } - }; - -}; - -struct Wave -{ - uint32 PortalMob[4]; //spawns for portal waves (in order) -}; - -static Wave PortalWaves[]= -{ - { {NPC_INFINITE_ASSASIN, NPC_INFINITE_WHELP, NPC_INFINITE_CRONOMANCER, 0} }, - { {NPC_INFINITE_EXECUTIONER, NPC_INFINITE_CRONOMANCER, NPC_INFINITE_WHELP, NPC_INFINITE_ASSASIN} }, - { {NPC_INFINITE_EXECUTIONER, NPC_INFINITE_VANQUISHER, NPC_INFINITE_CRONOMANCER, NPC_INFINITE_ASSASIN} } -}; - -class npc_time_rift : public CreatureScript -{ -public: - npc_time_rift() : CreatureScript("npc_time_rift") { } - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_time_riftAI (creature); - } - - struct npc_time_riftAI : public ScriptedAI - { - npc_time_riftAI(Creature* creature) : ScriptedAI(creature) - { - instance = creature->GetInstanceScript(); - } - - InstanceScript* instance; - - uint32 TimeRiftWave_Timer; - uint8 mRiftWaveCount; - uint8 mPortalCount; - uint8 mWaveId; - - void Reset() - { - - TimeRiftWave_Timer = 15000; - mRiftWaveCount = 0; - - if (!instance) - return; - - mPortalCount = instance->GetData(DATA_PORTAL_COUNT); - - if (mPortalCount < 6) - mWaveId = 0; - else if (mPortalCount > 12) - mWaveId = 2; - else mWaveId = 1; - - } - void EnterCombat(Unit* /*who*/) {} - - void DoSummonAtRift(uint32 creature_entry) - { - if (!creature_entry) - return; - - if (instance && instance->GetData(TYPE_MEDIVH) != IN_PROGRESS) - { - me->InterruptNonMeleeSpells(true); - me->RemoveAllAuras(); - return; - } - - Position pos; - me->GetRandomNearPosition(pos, 10.0f); - - //normalize Z-level if we can, if rift is not at ground level. - pos.m_positionZ = std::max(me->GetMap()->GetHeight(pos.m_positionX, pos.m_positionY, MAX_HEIGHT), me->GetMap()->GetWaterLevel(pos.m_positionX, pos.m_positionY)); - - if (Unit* Summon = DoSummon(creature_entry, pos, 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT)) - if (Unit* temp = Unit::GetUnit(*me, instance ? instance->GetData64(DATA_MEDIVH) : 0)) - Summon->AddThreat(temp, 0.0f); - } - - void DoSelectSummon() - { - if ((mRiftWaveCount > 2 && mWaveId < 1) || mRiftWaveCount > 3) - mRiftWaveCount = 0; - - uint32 entry = 0; - - entry = PortalWaves[mWaveId].PortalMob[mRiftWaveCount]; - TC_LOG_DEBUG(LOG_FILTER_TSCR, "npc_time_rift: summoning wave Creature (Wave %u, Entry %u).", mRiftWaveCount, entry); - - ++mRiftWaveCount; - - if (entry == NPC_INFINITE_WHELP) - { - for (uint8 i = 0; i < 3; ++i) - DoSummonAtRift(entry); - } else DoSummonAtRift(entry); - } - - void UpdateAI(uint32 diff) - { - if (!instance) - return; - - if (TimeRiftWave_Timer <= diff) - { - DoSelectSummon(); - TimeRiftWave_Timer = 15000; - } else TimeRiftWave_Timer -= diff; - - if (me->IsNonMeleeSpellCasted(false)) - return; - - TC_LOG_DEBUG(LOG_FILTER_TSCR, "npc_time_rift: not casting anylonger, i need to die."); - me->setDeathState(JUST_DIED); - - if (instance->GetData(TYPE_RIFT) == IN_PROGRESS) - instance->SetData(TYPE_RIFT, SPECIAL); - } - }; - -}; - -enum Saat -{ - SPELL_CHRONO_BEACON = 34975, - ITEM_CHRONO_BEACON = 24289 -}; - -#define GOSSIP_ITEM_OBTAIN "[PH] Obtain Chrono-Beacon" - -class npc_saat : public CreatureScript -{ -public: - npc_saat() : CreatureScript("npc_saat") { } - - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) - { - player->PlayerTalkClass->ClearMenus(); - if (action == GOSSIP_ACTION_INFO_DEF+1) - { - player->CLOSE_GOSSIP_MENU(); - creature->CastSpell(player, SPELL_CHRONO_BEACON, false); - } - return true; - } - - bool OnGossipHello(Player* player, Creature* creature) - { - if (creature->IsQuestGiver()) - player->PrepareQuestMenu(creature->GetGUID()); - - if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(ITEM_CHRONO_BEACON)) - { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_OBTAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(10000, creature->GetGUID()); - return true; - } - else if (player->GetQuestRewardStatus(QUEST_OPENING_PORTAL) && !player->HasItemCount(ITEM_CHRONO_BEACON)) - { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_OBTAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(10001, creature->GetGUID()); - return true; - } - - player->SEND_GOSSIP_MENU(10002, creature->GetGUID()); - return true; - } - -}; - -void AddSC_dark_portal() -{ - new npc_medivh_bm(); - new npc_time_rift(); - new npc_saat(); -} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h deleted file mode 100644 index 09f693d73f4..00000000000 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2008-2013 TrinityCore - * Copyright (C) 2006-2009 ScriptDev2 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -#ifndef DEF_DARKPORTAL_H -#define DEF_DARKPORTAL_H - -uint32 const EncounterCount = 2; - -enum DataTypes -{ - TYPE_MEDIVH = 1, - TYPE_RIFT = 2, - TYPE_AEONUS = 3, - TYPE_TEMPORUS = 4, - TYPE_CRONO_LORD_DEJA = 5, - DATA_MEDIVH = 10, - DATA_PORTAL_COUNT = 11, - DATA_SHIELD = 12 -}; - -enum WorldStateIds -{ - WORLD_STATE_BM = 2541, - WORLD_STATE_BM_SHIELD = 2540, - WORLD_STATE_BM_RIFT = 2784 -}; - -enum QuestIds -{ - QUEST_OPENING_PORTAL = 10297, - QUEST_MASTER_TOUCH = 9836 -}; - -enum CreatureIds -{ - NPC_MEDIVH = 15608, - NPC_TIME_RIFT = 17838, - NPC_TIME_KEEPER = 17918, - NPC_RIFT_KEEPER = 21104, - NPC_RIFT_LORD = 17839, - NPC_CRONO_LORD_DEJA = 17879, - NPC_TEMPORUS = 17880, - NPC_AEONUS = 17881, - NPC_INFINITE_ASSASIN = 17835, - NPC_INFINITE_WHELP = 21818, - NPC_INFINITE_CRONOMANCER = 17892, - NPC_INFINITE_EXECUTIONER = 18994, - NPC_INFINITE_VANQUISHER = 18995 -}; - -#endif - diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp deleted file mode 100644 index 28f16a10ed3..00000000000 --- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp +++ /dev/null @@ -1,358 +0,0 @@ -/* - * Copyright (C) 2008-2013 TrinityCore - * Copyright (C) 2006-2009 ScriptDev2 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -/* ScriptData -SDName: Instance_Dark_Portal -SD%Complete: 50 -SDComment: Quest support: 9836, 10297. Currently in progress. -SDCategory: Caverns of Time, The Dark Portal -EndScriptData */ - -#include "ScriptMgr.h" -#include "InstanceScript.h" -#include "dark_portal.h" -#include "Player.h" -#include "TemporarySummon.h" -#include "SpellInfo.h" - -enum Misc -{ - SPELL_RIFT_CHANNEL = 31387, - RIFT_BOSS = 1 -}; - -inline uint32 RandRiftBoss() { return ((rand()%2) ? NPC_RIFT_KEEPER : NPC_RIFT_LORD); } - -float PortalLocation[4][4]= -{ - {-2041.06f, 7042.08f, 29.99f, 1.30f}, - {-1968.18f, 7042.11f, 21.93f, 2.12f}, - {-1885.82f, 7107.36f, 22.32f, 3.07f}, - {-1928.11f, 7175.95f, 22.11f, 3.44f} -}; - -struct Wave -{ - uint32 PortalBoss; //protector of current portal - uint32 NextPortalTime; //time to next portal, or 0 if portal boss need to be killed -}; - -static Wave RiftWaves[]= -{ - { RIFT_BOSS, 0 }, - { NPC_CRONO_LORD_DEJA, 0 }, - { RIFT_BOSS, 120000 }, - { NPC_TEMPORUS, 140000 }, - { RIFT_BOSS, 120000 }, - { NPC_AEONUS, 0 } -}; - -enum EventIds -{ - EVENT_NEXT_PORTAL = 1 -}; - -class instance_dark_portal : public InstanceMapScript -{ -public: - instance_dark_portal() : InstanceMapScript("instance_dark_portal", 269) { } - - InstanceScript* GetInstanceScript(InstanceMap* map) const - { - return new instance_dark_portal_InstanceMapScript(map); - } - - struct instance_dark_portal_InstanceMapScript : public InstanceScript - { - instance_dark_portal_InstanceMapScript(Map* map) : InstanceScript(map) { } - - uint32 m_auiEncounter[EncounterCount]; - - uint32 mRiftPortalCount; - uint32 mShieldPercent; - uint8 mRiftWaveCount; - uint8 mRiftWaveId; - - uint64 _medivhGUID; - uint8 _currentRiftId; - - void Initialize() - { - _medivhGUID = 0; - Clear(); - } - - void Clear() - { - memset(&m_auiEncounter, 0, sizeof(m_auiEncounter)); - - mRiftPortalCount = 0; - mShieldPercent = 100; - mRiftWaveCount = 0; - mRiftWaveId = 0; - - _currentRiftId = 0; - } - - void InitWorldState(bool Enable = true) - { - DoUpdateWorldState(WORLD_STATE_BM, Enable ? 1 : 0); - DoUpdateWorldState(WORLD_STATE_BM_SHIELD, 100); - DoUpdateWorldState(WORLD_STATE_BM_RIFT, 0); - } - - bool IsEncounterInProgress() const - { - if (GetData(TYPE_MEDIVH) == IN_PROGRESS) - return true; - - return false; - } - - void OnPlayerEnter(Player* player) - { - if (GetData(TYPE_MEDIVH) == IN_PROGRESS) - return; - - player->SendUpdateWorldState(WORLD_STATE_BM, 0); - } - - void OnCreatureCreate(Creature* creature) - { - if (creature->GetEntry() == NPC_MEDIVH) - _medivhGUID = creature->GetGUID(); - } - - //what other conditions to check? - bool CanProgressEvent() - { - if (instance->GetPlayers().isEmpty()) - return false; - - return true; - } - - uint8 GetRiftWaveId() - { - switch (mRiftPortalCount) - { - case 6: - mRiftWaveId = 2; - return 1; - case 12: - mRiftWaveId = 4; - return 3; - case 18: - return 5; - default: - return mRiftWaveId; - } - } - - void SetData(uint32 type, uint32 data) - { - switch (type) - { - case TYPE_MEDIVH: - if (data == SPECIAL && m_auiEncounter[0] == IN_PROGRESS) - { - --mShieldPercent; - - DoUpdateWorldState(WORLD_STATE_BM_SHIELD, mShieldPercent); - - if (!mShieldPercent) - { - if (Creature* medivh = instance->GetCreature(_medivhGUID)) - { - if (medivh->IsAlive()) - { - medivh->DealDamage(medivh, medivh->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - m_auiEncounter[0] = FAIL; - m_auiEncounter[1] = NOT_STARTED; - } - } - } - } - else - { - if (data == IN_PROGRESS) - { - TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: Starting event."); - InitWorldState(); - m_auiEncounter[1] = IN_PROGRESS; - _events.ScheduleEvent(EVENT_NEXT_PORTAL, 15000); - } - - if (data == DONE) - { - //this may be completed further out in the post-event - TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: Event completed."); - Map::PlayerList const& players = instance->GetPlayers(); - - if (!players.isEmpty()) - { - for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) - { - if (Player* player = itr->GetSource()) - { - if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE) - player->AreaExploredOrEventHappens(QUEST_OPENING_PORTAL); - - if (player->GetQuestStatus(QUEST_MASTER_TOUCH) == QUEST_STATUS_INCOMPLETE) - player->AreaExploredOrEventHappens(QUEST_MASTER_TOUCH); - } - } - } - } - - m_auiEncounter[0] = data; - } - break; - case TYPE_RIFT: - if (data == SPECIAL) - { - if (mRiftPortalCount < 7) - _events.ScheduleEvent(EVENT_NEXT_PORTAL, 5000); - } - else - m_auiEncounter[1] = data; - break; - } - } - - uint32 GetData(uint32 type) const - { - switch (type) - { - case TYPE_MEDIVH: - return m_auiEncounter[0]; - case TYPE_RIFT: - return m_auiEncounter[1]; - case DATA_PORTAL_COUNT: - return mRiftPortalCount; - case DATA_SHIELD: - return mShieldPercent; - } - return 0; - } - - uint64 GetData64(uint32 data) const - { - if (data == DATA_MEDIVH) - return _medivhGUID; - - return 0; - } - - Creature* SummonedPortalBoss(Creature* me) - { - uint32 entry = RiftWaves[GetRiftWaveId()].PortalBoss; - - if (entry == RIFT_BOSS) - entry = RandRiftBoss(); - - TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: Summoning rift boss entry %u.", entry); - - Position pos; - me->GetRandomNearPosition(pos, 10.0f); - - //normalize Z-level if we can, if rift is not at ground level. - pos.m_positionZ = std::max(me->GetMap()->GetHeight(pos.m_positionX, pos.m_positionY, MAX_HEIGHT), me->GetMap()->GetWaterLevel(pos.m_positionX, pos.m_positionY)); - - if (Creature* summon = me->SummonCreature(entry, pos, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000)) - return summon; - - TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: What just happened there? No boss, no loot, no fun..."); - return NULL; - } - - void DoSpawnPortal() - { - if (Creature* medivh = instance->GetCreature(_medivhGUID)) - { - uint8 tmp = urand(0, 2); - - if (tmp >= _currentRiftId) - ++tmp; - - TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Dark Portal: Creating Time Rift at locationId %i (old locationId was %u).", tmp, _currentRiftId); - - _currentRiftId = tmp; - - Creature* temp = medivh->SummonCreature(NPC_TIME_RIFT, - PortalLocation[tmp][0], PortalLocation[tmp][1], PortalLocation[tmp][2], PortalLocation[tmp][3], - TEMPSUMMON_CORPSE_DESPAWN, 0); - if (temp) - { - temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - - if (Creature* boss = SummonedPortalBoss(temp)) - { - if (boss->GetEntry() == NPC_AEONUS) - boss->AddThreat(medivh, 0.0f); - else - { - boss->AddThreat(temp, 0.0f); - temp->CastSpell(boss, SPELL_RIFT_CHANNEL, false); - } - } - } - } - } - - void Update(uint32 diff) - { - if (m_auiEncounter[1] != IN_PROGRESS) - return; - - //add delay timer? - if (!CanProgressEvent()) - { - Clear(); - return; - } - - _events.Update(diff); - - while (uint32 eventId = _events.ExecuteEvent()) - { - switch (eventId) - { - case EVENT_NEXT_PORTAL: - ++mRiftPortalCount; - DoUpdateWorldState(WORLD_STATE_BM_RIFT, mRiftPortalCount); - DoSpawnPortal(); - _events.ScheduleEvent(EVENT_NEXT_PORTAL, RiftWaves[GetRiftWaveId()].NextPortalTime); - break; - default: - break; - } - } - } - - private: - EventMap _events; - }; - -}; - -void AddSC_instance_dark_portal() -{ - new instance_dark_portal(); -} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp new file mode 100644 index 00000000000..3b1987e04f5 --- /dev/null +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp @@ -0,0 +1,149 @@ +/* + * Copyright (C) 2008-2013 TrinityCore + * Copyright (C) 2006-2009 ScriptDev2 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +/* +Name: Boss_Aeonus +%Complete: 80 +Comment: Some spells not implemented +Category: Caverns of Time, The Dark Portal +*/ + +#include "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "the_black_morass.h" + +enum Enums +{ + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_BANISH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + EMOTE_FRENZY = 5, + + SPELL_CLEAVE = 40504, + SPELL_TIME_STOP = 31422, + SPELL_ENRAGE = 37605, + SPELL_SAND_BREATH = 31473, + H_SPELL_SAND_BREATH = 39049 +}; + +enum Events +{ + EVENT_SANDBREATH = 1, + EVENT_TIMESTOP = 2, + EVENT_FRENZY = 3 +}; + +class boss_aeonus : public CreatureScript +{ +public: + boss_aeonus() : CreatureScript("boss_aeonus") { } + + struct boss_aeonusAI : public BossAI + { + boss_aeonusAI(Creature* creature) : BossAI(creature, TYPE_AEONUS) { } + + void Reset() { } + + void EnterCombat(Unit* /*who*/) + { + events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 30000)); + events.ScheduleEvent(EVENT_TIMESTOP, urand(10000, 15000)); + events.ScheduleEvent(EVENT_FRENZY, urand(30000, 45000)); + + Talk(SAY_AGGRO); + } + + void MoveInLineOfSight(Unit* who) + { + //Despawn Time Keeper + if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) + { + if (me->IsWithinDistInMap(who, 20.0f)) + { + Talk(SAY_BANISH); + me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + } + } + + ScriptedAI::MoveInLineOfSight(who); + } + + void JustDied(Unit* /*killer*/) + { + Talk(SAY_DEATH); + + if (instance) + { + instance->SetData(TYPE_RIFT, DONE); + instance->SetData(TYPE_MEDIVH, DONE); // FIXME: later should be removed + } + } + + void KilledUnit(Unit* /*victim*/) + { + Talk(SAY_SLAY); + } + + void UpdateAI(uint32 diff) + { + //Return since we have no target + if (!UpdateVictim()) + return; + + events.Update(diff); + + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + + while (uint32 eventId = events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_SANDBREATH: + DoCast(me->GetVictim(), SPELL_SAND_BREATH); + events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 25000)); + break; + case EVENT_TIMESTOP: + DoCast(me->GetVictim(), SPELL_TIME_STOP); + events.ScheduleEvent(EVENT_TIMESTOP, urand(20000, 35000)); + break; + case EVENT_FRENZY: + Talk(EMOTE_FRENZY); + DoCast(me, SPELL_ENRAGE); + events.ScheduleEvent(EVENT_FRENZY, urand(20000, 35000)); + break; + default: + break; + } + } + DoMeleeAttackIfReady(); + } + + CreatureAI* GetAI(Creature* creature) const + { + return new boss_aeonusAI (creature); + } + }; +}; + +void AddSC_boss_aeonus() +{ + new boss_aeonus(); +} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp new file mode 100644 index 00000000000..9fd7b22a1da --- /dev/null +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2008-2013 TrinityCore + * Copyright (C) 2006-2009 ScriptDev2 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +/* +Name: Boss_Chrono_Lord_Deja +%Complete: 65 +Comment: All abilities not implemented +Category: Caverns of Time, The Black Morass +*/ + +#include "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "the_black_morass.h" + +enum Enums +{ + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_BANISH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + + SPELL_ARCANE_BLAST = 31457, + H_SPELL_ARCANE_BLAST = 38538, + SPELL_ARCANE_DISCHARGE = 31472, + H_SPELL_ARCANE_DISCHARGE = 38539, + SPELL_TIME_LAPSE = 31467, + SPELL_ATTRACTION = 38540 //Not Implemented (Heroic mode) +}; + +enum Events +{ + EVENT_ARCANE_BLAST = 1, + EVENT_TIME_LAPSE = 2, + EVENT_ARCANE_DISCHARGE = 3, + EVENT_ATTRACTION = 4 +}; + +class boss_chrono_lord_deja : public CreatureScript +{ +public: + boss_chrono_lord_deja() : CreatureScript("boss_chrono_lord_deja") { } + + struct boss_chrono_lord_dejaAI : public BossAI + { + boss_chrono_lord_dejaAI(Creature* creature) : BossAI(creature, TYPE_CRONO_LORD_DEJA) { } + + void Reset() { } + + void EnterCombat(Unit* /*who*/) + { + events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(18000, 23000)); + events.ScheduleEvent(EVENT_TIME_LAPSE, urand(10000, 15000)); + events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); + if (IsHeroic()) + events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); + + Talk(SAY_AGGRO); + } + + void MoveInLineOfSight(Unit* who) + { + //Despawn Time Keeper + if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) + { + if (me->IsWithinDistInMap(who, 20.0f)) + { + Talk(SAY_BANISH); + me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + } + } + + ScriptedAI::MoveInLineOfSight(who); + } + + void KilledUnit(Unit* /*victim*/) + { + Talk(SAY_SLAY); + } + + void JustDied(Unit* /*killer*/) + { + Talk(SAY_DEATH); + + if (instance) + instance->SetData(TYPE_RIFT, SPECIAL); + } + + void UpdateAI(uint32 diff) + { + //Return since we have no target + if (!UpdateVictim()) + return; + + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + + while (uint32 eventId = events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_ARCANE_BLAST: + DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); + events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(15000, 25000)); + break; + case EVENT_TIME_LAPSE: + Talk(SAY_BANISH); + DoCast(me, SPELL_TIME_LAPSE); + events.ScheduleEvent(EVENT_TIME_LAPSE, urand(15000, 25000)); + break; + case EVENT_ARCANE_DISCHARGE: + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) + DoCast(target, SPELL_ARCANE_DISCHARGE); + events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); + break; + case EVENT_ATTRACTION: // Only in Heroic + DoCast(me, SPELL_ATTRACTION); + events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); + break; + default: + break; + } + } + DoMeleeAttackIfReady(); + } + + CreatureAI* GetAI(Creature* creature) const + { + return new boss_chrono_lord_dejaAI (creature); + } + }; +}; + +void AddSC_boss_chrono_lord_deja() +{ + new boss_chrono_lord_deja(); +} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp new file mode 100644 index 00000000000..8ded2388083 --- /dev/null +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp @@ -0,0 +1,153 @@ +/* + * Copyright (C) 2008-2013 TrinityCore + * Copyright (C) 2006-2009 ScriptDev2 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +/* +Name: Boss_Temporus +%Complete: 75 +Comment: More abilities need to be implemented +Category: Caverns of Time, The Black Morass +*/ + +#include "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "the_black_morass.h" + +enum Enums +{ + SAY_ENTER = 0, + SAY_AGGRO = 1, + SAY_BANISH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4, + + SPELL_HASTE = 31458, + SPELL_MORTAL_WOUND = 31464, + SPELL_WING_BUFFET = 31475, + H_SPELL_WING_BUFFET = 38593, + SPELL_REFLECT = 38592 //Not Implemented (Heroic mod) +}; + +enum Events +{ + EVENT_HASTE = 1, + EVENT_MORTAL_WOUND = 2, + EVENT_WING_BUFFET = 3, + EVENT_SPELL_REFLECTION = 4 +}; + +class boss_temporus : public CreatureScript +{ +public: + boss_temporus() : CreatureScript("boss_temporus") { } + + struct boss_temporusAI : public BossAI + { + boss_temporusAI(Creature* creature) : BossAI(creature, TYPE_TEMPORUS) { } + + void Reset() { } + + void EnterCombat(Unit* /*who*/) + { + events.ScheduleEvent(EVENT_HASTE, urand(15000, 23000)); + events.ScheduleEvent(EVENT_MORTAL_WOUND, 8000); + events.ScheduleEvent(EVENT_WING_BUFFET, urand(25000, 35000)); + if (IsHeroic()) + events.ScheduleEvent(EVENT_SPELL_REFLECTION, 30000); + + Talk(SAY_AGGRO); + } + + void KilledUnit(Unit* /*victim*/) + { + Talk(SAY_SLAY); + } + + void JustDied(Unit* /*killer*/) + { + Talk(SAY_DEATH); + + if (instance) + instance->SetData(TYPE_RIFT, SPECIAL); + } + + void MoveInLineOfSight(Unit* who) + { + //Despawn Time Keeper + if (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_TIME_KEEPER) + { + if (me->IsWithinDistInMap(who, 20.0f)) + { + Talk(SAY_BANISH); + + me->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + } + } + + ScriptedAI::MoveInLineOfSight(who); + } + + void UpdateAI(uint32 diff) + { + //Return since we have no target + if (!UpdateVictim()) + return; + + events.Update(diff); + + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + + while (uint32 eventId = events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_HASTE: + DoCast(me, SPELL_HASTE); + events.ScheduleEvent(EVENT_HASTE, urand(20000, 25000)); + break; + case EVENT_MORTAL_WOUND: + DoCast(me, SPELL_MORTAL_WOUND); + events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(10000, 20000)); + break; + case EVENT_WING_BUFFET: + DoCast(me, SPELL_WING_BUFFET); + events.ScheduleEvent(EVENT_WING_BUFFET, urand(20000, 30000)); + break; + case EVENT_SPELL_REFLECTION: // Only in Heroic + DoCast(me, SPELL_REFLECT); + events.ScheduleEvent(EVENT_SPELL_REFLECTION, urand(25000, 35000)); + break; + default: + break; + } + } + DoMeleeAttackIfReady(); + } + + CreatureAI* GetAI(Creature* creature) const + { + return new boss_temporusAI (creature); + } + }; + +}; + +void AddSC_boss_temporus() +{ + new boss_temporus(); +} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp new file mode 100644 index 00000000000..7d76cce6ddb --- /dev/null +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp @@ -0,0 +1,352 @@ +/* + * Copyright (C) 2008-2013 TrinityCore + * Copyright (C) 2006-2009 ScriptDev2 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +/* +Name: Instance_The_Black_Morass +%Complete: 50 +Comment: Quest support: 9836, 10297. Currently in progress. +Category: Caverns of Time, The Black Morass +*/ + +#include "ScriptMgr.h" +#include "InstanceScript.h" +#include "the_black_morass.h" +#include "Player.h" +#include "TemporarySummon.h" +#include "SpellInfo.h" +#include "ScriptedCreature.h" + +enum Misc +{ + SPELL_RIFT_CHANNEL = 31387, + RIFT_BOSS = 1 +}; + +inline uint32 RandRiftBoss() { return ((rand()%2) ? NPC_RIFT_KEEPER : NPC_RIFT_LORD); } + +float PortalLocation[4][4]= +{ + {-2041.06f, 7042.08f, 29.99f, 1.30f}, + {-1968.18f, 7042.11f, 21.93f, 2.12f}, + {-1885.82f, 7107.36f, 22.32f, 3.07f}, + {-1928.11f, 7175.95f, 22.11f, 3.44f} +}; + +struct Wave +{ + uint32 PortalBoss; //protector of current portal + uint32 NextPortalTime; //time to next portal, or 0 if portal boss need to be killed +}; + +static Wave RiftWaves[]= +{ + { RIFT_BOSS, 0 }, + { NPC_CRONO_LORD_DEJA, 0 }, + { RIFT_BOSS, 120000 }, + { NPC_TEMPORUS, 140000 }, + { RIFT_BOSS, 120000 }, + { NPC_AEONUS, 0 } +}; + +enum EventIds +{ + EVENT_NEXT_PORTAL = 1 +}; + +class instance_the_black_morass : public InstanceMapScript +{ +public: + instance_the_black_morass() : InstanceMapScript("instance_the_black_morass", 269) { } + + InstanceScript* GetInstanceScript(InstanceMap* map) const + { + return new instance_the_black_morass_InstanceMapScript(map); + } + + struct instance_the_black_morass_InstanceMapScript : public InstanceScript + { + instance_the_black_morass_InstanceMapScript(Map* map) : InstanceScript(map) { } + + uint32 m_auiEncounter[EncounterCount]; + + uint32 mRiftPortalCount; + uint32 mShieldPercent; + uint8 mRiftWaveCount; + uint8 mRiftWaveId; + + uint64 _medivhGUID; + uint8 _currentRiftId; + + void Initialize() + { + _medivhGUID = 0; + Clear(); + } + + void Clear() + { + memset(&m_auiEncounter, 0, sizeof(m_auiEncounter)); + + mRiftPortalCount = 0; + mShieldPercent = 100; + mRiftWaveCount = 0; + mRiftWaveId = 0; + + _currentRiftId = 0; + } + + void InitWorldState(bool Enable = true) + { + DoUpdateWorldState(WORLD_STATE_BM, Enable ? 1 : 0); + DoUpdateWorldState(WORLD_STATE_BM_SHIELD, 100); + DoUpdateWorldState(WORLD_STATE_BM_RIFT, 0); + } + + bool IsEncounterInProgress() const + { + if (GetData(TYPE_MEDIVH) == IN_PROGRESS) + return true; + + return false; + } + + void OnPlayerEnter(Player* player) + { + if (GetData(TYPE_MEDIVH) == IN_PROGRESS) + return; + + player->SendUpdateWorldState(WORLD_STATE_BM, 0); + } + + void OnCreatureCreate(Creature* creature) + { + if (creature->GetEntry() == NPC_MEDIVH) + _medivhGUID = creature->GetGUID(); + } + + //what other conditions to check? + bool CanProgressEvent() + { + if (instance->GetPlayers().isEmpty()) + return false; + + return true; + } + + uint8 GetRiftWaveId() + { + switch (mRiftPortalCount) + { + case 6: + mRiftWaveId = 2; + return 1; + case 12: + mRiftWaveId = 4; + return 3; + case 18: + return 5; + default: + return mRiftWaveId; + } + } + + void SetData(uint32 type, uint32 data) + { + switch (type) + { + case TYPE_MEDIVH: + if (data == SPECIAL && m_auiEncounter[0] == IN_PROGRESS) + { + --mShieldPercent; + + DoUpdateWorldState(WORLD_STATE_BM_SHIELD, mShieldPercent); + + if (!mShieldPercent) + { + if (Creature* medivh = instance->GetCreature(_medivhGUID)) + { + if (medivh->IsAlive()) + { + medivh->DealDamage(medivh, medivh->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + m_auiEncounter[0] = FAIL; + m_auiEncounter[1] = NOT_STARTED; + } + } + } + } + else + { + if (data == IN_PROGRESS) + { + TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance The Black Morass: Starting event."); + InitWorldState(); + m_auiEncounter[1] = IN_PROGRESS; + Events.ScheduleEvent(EVENT_NEXT_PORTAL, 15000); + } + + if (data == DONE) + { + //this may be completed further out in the post-event + TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance The Black Morass: Event completed."); + Map::PlayerList const& players = instance->GetPlayers(); + + if (!players.isEmpty()) + { + for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) + { + if (Player* player = itr->GetSource()) + { + if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE) + player->AreaExploredOrEventHappens(QUEST_OPENING_PORTAL); + + if (player->GetQuestStatus(QUEST_MASTER_TOUCH) == QUEST_STATUS_INCOMPLETE) + player->AreaExploredOrEventHappens(QUEST_MASTER_TOUCH); + } + } + } + } + + m_auiEncounter[0] = data; + } + break; + case TYPE_RIFT: + if (data == SPECIAL) + { + if (mRiftPortalCount < 7) + Events.ScheduleEvent(EVENT_NEXT_PORTAL, 5000); + } + else + m_auiEncounter[1] = data; + break; + } + } + + uint32 GetData(uint32 type) const + { + switch (type) + { + case TYPE_MEDIVH: + return m_auiEncounter[0]; + case TYPE_RIFT: + return m_auiEncounter[1]; + case DATA_PORTAL_COUNT: + return mRiftPortalCount; + case DATA_SHIELD: + return mShieldPercent; + } + return 0; + } + + uint64 GetData64(uint32 data) const + { + if (data == DATA_MEDIVH) + return _medivhGUID; + + return 0; + } + + Creature* SummonedPortalBoss(Creature* me) + { + uint32 entry = RiftWaves[GetRiftWaveId()].PortalBoss; + + if (entry == RIFT_BOSS) + entry = RandRiftBoss(); + + TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance The Black Morass: Summoning rift boss entry %u.", entry); + + Position pos; + me->GetRandomNearPosition(pos, 10.0f); + + //normalize Z-level if we can, if rift is not at ground level. + pos.m_positionZ = std::max(me->GetMap()->GetHeight(pos.m_positionX, pos.m_positionY, MAX_HEIGHT), me->GetMap()->GetWaterLevel(pos.m_positionX, pos.m_positionY)); + + if (Creature* summon = me->SummonCreature(entry, pos, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000)) + return summon; + + TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance The Black Morass: What just happened there? No boss, no loot, no fun..."); + return NULL; + } + + void DoSpawnPortal() + { + if (Creature* medivh = instance->GetCreature(_medivhGUID)) + { + uint8 tmp = urand(0, 2); + + if (tmp >= _currentRiftId) + ++tmp; + + TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance The Black Morass: Creating Time Rift at locationId %i (old locationId was %u).", tmp, _currentRiftId); + + _currentRiftId = tmp; + + Creature* temp = medivh->SummonCreature(NPC_TIME_RIFT, + PortalLocation[tmp][0], PortalLocation[tmp][1], PortalLocation[tmp][2], PortalLocation[tmp][3], + TEMPSUMMON_CORPSE_DESPAWN, 0); + if (temp) + { + temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + + if (Creature* boss = SummonedPortalBoss(temp)) + { + if (boss->GetEntry() == NPC_AEONUS) + boss->AddThreat(medivh, 0.0f); + else + { + boss->AddThreat(temp, 0.0f); + temp->CastSpell(boss, SPELL_RIFT_CHANNEL, false); + } + } + } + } + } + + void Update(uint32 diff) + { + if (m_auiEncounter[1] != IN_PROGRESS) + return; + + //add delay timer? + if (!CanProgressEvent()) + { + Clear(); + return; + } + + Events.Update(diff); + + if (Events.ExecuteEvent() == EVENT_NEXT_PORTAL) + { + ++mRiftPortalCount; + DoUpdateWorldState(WORLD_STATE_BM_RIFT, mRiftPortalCount); + DoSpawnPortal(); + Events.ScheduleEvent(EVENT_NEXT_PORTAL, RiftWaves[GetRiftWaveId()].NextPortalTime); + } + } + + protected: + EventMap Events; + }; + +}; + +void AddSC_instance_the_black_morass() +{ + new instance_the_black_morass(); +} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp new file mode 100644 index 00000000000..d27b4b330b4 --- /dev/null +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp @@ -0,0 +1,422 @@ +/* + * Copyright (C) 2008-2013 TrinityCore + * Copyright (C) 2006-2009 ScriptDev2 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +/* +Name: The_Black_Morass +%Complete: 30 +Comment: Misc NPC's and mobs for instance. Most here far from complete. +Category: Caverns of Time, The Black Morass +*/ + +/* ContentData +npc_medivh_bm +npc_time_rift +npc_saat +EndContentData */ + +#include "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "ScriptedGossip.h" +#include "the_black_morass.h" +#include "Player.h" +#include "SpellInfo.h" + +enum MedivhBm +{ + SAY_ENTER = 0, //where does this belong? + SAY_INTRO = 1, + SAY_WEAK75 = 2, + SAY_WEAK50 = 3, + SAY_WEAK25 = 4, + SAY_DEATH = 5, + SAY_WIN = 6, + SAY_ORCS_ENTER = 7, + SAY_ORCS_ANSWER = 8, + + SPELL_CHANNEL = 31556, + SPELL_PORTAL_RUNE = 32570, //aura(portal on ground effect) + + SPELL_BLACK_CRYSTAL = 32563, //aura + SPELL_PORTAL_CRYSTAL = 32564, //summon + + SPELL_BANISH_PURPLE = 32566, //aura + SPELL_BANISH_GREEN = 32567, //aura + + SPELL_CORRUPT = 31326, + SPELL_CORRUPT_AEONUS = 37853, + + C_COUNCIL_ENFORCER = 17023 +}; + +class npc_medivh_bm : public CreatureScript +{ +public: + npc_medivh_bm() : CreatureScript("npc_medivh_bm") { } + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_medivh_bmAI (creature); + } + + struct npc_medivh_bmAI : public ScriptedAI + { + npc_medivh_bmAI(Creature* creature) : ScriptedAI(creature) + { + instance = creature->GetInstanceScript(); + } + + InstanceScript* instance; + + uint32 SpellCorrupt_Timer; + uint32 Check_Timer; + + bool Life75; + bool Life50; + bool Life25; + + void Reset() + { + SpellCorrupt_Timer = 0; + + if (!instance) + return; + + if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS) + DoCast(me, SPELL_CHANNEL, true); + else if (me->HasAura(SPELL_CHANNEL)) + me->RemoveAura(SPELL_CHANNEL); + + DoCast(me, SPELL_PORTAL_RUNE, true); + } + + void MoveInLineOfSight(Unit* who) + { + if (!instance) + return; + + if (who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 10.0f)) + { + if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS || instance->GetData(TYPE_MEDIVH) == DONE) + return; + + Talk(SAY_INTRO); + instance->SetData(TYPE_MEDIVH, IN_PROGRESS); + DoCast(me, SPELL_CHANNEL, false); + Check_Timer = 5000; + } + else if (who->GetTypeId() == TYPEID_UNIT && me->IsWithinDistInMap(who, 15.0f)) + { + if (instance->GetData(TYPE_MEDIVH) != IN_PROGRESS) + return; + + uint32 entry = who->GetEntry(); + if (entry == NPC_INFINITE_ASSASIN || entry == NPC_INFINITE_WHELP || entry == NPC_INFINITE_CRONOMANCER || entry == NPC_INFINITE_EXECUTIONER || entry == NPC_INFINITE_VANQUISHER) + { + who->StopMoving(); + who->CastSpell(me, SPELL_CORRUPT, false); + } + else if (entry == NPC_AEONUS) + { + who->StopMoving(); + who->CastSpell(me, SPELL_CORRUPT_AEONUS, false); + } + } + } + + void AttackStart(Unit* /*who*/) + { + //if (instance && instance->GetData(TYPE_MEDIVH) == IN_PROGRESS) + //return; + + //ScriptedAI::AttackStart(who); + } + + void EnterCombat(Unit* /*who*/) {} + + void SpellHit(Unit* /*caster*/, const SpellInfo* spell) + { + if (SpellCorrupt_Timer) + return; + + if (spell->Id == SPELL_CORRUPT_AEONUS) + SpellCorrupt_Timer = 1000; + + if (spell->Id == SPELL_CORRUPT) + SpellCorrupt_Timer = 3000; + } + + void JustDied(Unit* killer) + { + if (killer->GetEntry() == me->GetEntry()) + return; + + Talk(SAY_DEATH); + } + + void UpdateAI(uint32 diff) + { + if (!instance) + return; + + if (SpellCorrupt_Timer) + { + if (SpellCorrupt_Timer <= diff) + { + instance->SetData(TYPE_MEDIVH, SPECIAL); + + if (me->HasAura(SPELL_CORRUPT_AEONUS)) + SpellCorrupt_Timer = 1000; + else if (me->HasAura(SPELL_CORRUPT)) + SpellCorrupt_Timer = 3000; + else + SpellCorrupt_Timer = 0; + } else SpellCorrupt_Timer -= diff; + } + + if (Check_Timer) + { + if (Check_Timer <= diff) + { + uint32 pct = instance->GetData(DATA_SHIELD); + + Check_Timer = 5000; + + if (Life25 && pct <= 25) + { + Talk(SAY_WEAK25); + Life25 = false; + } + else if (Life50 && pct <= 50) + { + Talk(SAY_WEAK50); + Life50 = false; + } + else if (Life75 && pct <= 75) + { + Talk(SAY_WEAK75); + Life75 = false; + } + + //if we reach this it means event was running but at some point reset. + if (instance->GetData(TYPE_MEDIVH) == NOT_STARTED) + { + me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + me->RemoveCorpse(); + me->Respawn(); + return; + } + + if (instance->GetData(TYPE_RIFT) == DONE) + { + Talk(SAY_WIN); + Check_Timer = 0; + + if (me->HasAura(SPELL_CHANNEL)) + me->RemoveAura(SPELL_CHANNEL); + + /// @todo start the post-event here + instance->SetData(TYPE_MEDIVH, DONE); + } + } else Check_Timer -= diff; + } + + //if (!UpdateVictim()) + //return; + + //DoMeleeAttackIfReady(); + } + }; + +}; + +struct Wave +{ + uint32 PortalMob[4]; //spawns for portal waves (in order) +}; + +static Wave PortalWaves[]= +{ + { {NPC_INFINITE_ASSASIN, NPC_INFINITE_WHELP, NPC_INFINITE_CRONOMANCER, 0} }, + { {NPC_INFINITE_EXECUTIONER, NPC_INFINITE_CRONOMANCER, NPC_INFINITE_WHELP, NPC_INFINITE_ASSASIN} }, + { {NPC_INFINITE_EXECUTIONER, NPC_INFINITE_VANQUISHER, NPC_INFINITE_CRONOMANCER, NPC_INFINITE_ASSASIN} } +}; + +class npc_time_rift : public CreatureScript +{ +public: + npc_time_rift() : CreatureScript("npc_time_rift") { } + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_time_riftAI (creature); + } + + struct npc_time_riftAI : public ScriptedAI + { + npc_time_riftAI(Creature* creature) : ScriptedAI(creature) + { + instance = creature->GetInstanceScript(); + } + + InstanceScript* instance; + + uint32 TimeRiftWave_Timer; + uint8 mRiftWaveCount; + uint8 mPortalCount; + uint8 mWaveId; + + void Reset() + { + + TimeRiftWave_Timer = 15000; + mRiftWaveCount = 0; + + if (!instance) + return; + + mPortalCount = instance->GetData(DATA_PORTAL_COUNT); + + if (mPortalCount < 6) + mWaveId = 0; + else if (mPortalCount > 12) + mWaveId = 2; + else mWaveId = 1; + + } + void EnterCombat(Unit* /*who*/) {} + + void DoSummonAtRift(uint32 creature_entry) + { + if (!creature_entry) + return; + + if (instance && instance->GetData(TYPE_MEDIVH) != IN_PROGRESS) + { + me->InterruptNonMeleeSpells(true); + me->RemoveAllAuras(); + return; + } + + Position pos; + me->GetRandomNearPosition(pos, 10.0f); + + //normalize Z-level if we can, if rift is not at ground level. + pos.m_positionZ = std::max(me->GetMap()->GetHeight(pos.m_positionX, pos.m_positionY, MAX_HEIGHT), me->GetMap()->GetWaterLevel(pos.m_positionX, pos.m_positionY)); + + if (Unit* Summon = DoSummon(creature_entry, pos, 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT)) + if (Unit* temp = Unit::GetUnit(*me, instance ? instance->GetData64(DATA_MEDIVH) : 0)) + Summon->AddThreat(temp, 0.0f); + } + + void DoSelectSummon() + { + if ((mRiftWaveCount > 2 && mWaveId < 1) || mRiftWaveCount > 3) + mRiftWaveCount = 0; + + uint32 entry = 0; + + entry = PortalWaves[mWaveId].PortalMob[mRiftWaveCount]; + TC_LOG_DEBUG(LOG_FILTER_TSCR, "npc_time_rift: summoning wave Creature (Wave %u, Entry %u).", mRiftWaveCount, entry); + + ++mRiftWaveCount; + + if (entry == NPC_INFINITE_WHELP) + { + for (uint8 i = 0; i < 3; ++i) + DoSummonAtRift(entry); + } else DoSummonAtRift(entry); + } + + void UpdateAI(uint32 diff) + { + if (!instance) + return; + + if (TimeRiftWave_Timer <= diff) + { + DoSelectSummon(); + TimeRiftWave_Timer = 15000; + } else TimeRiftWave_Timer -= diff; + + if (me->IsNonMeleeSpellCasted(false)) + return; + + TC_LOG_DEBUG(LOG_FILTER_TSCR, "npc_time_rift: not casting anylonger, i need to die."); + me->setDeathState(JUST_DIED); + + if (instance->GetData(TYPE_RIFT) == IN_PROGRESS) + instance->SetData(TYPE_RIFT, SPECIAL); + } + }; + +}; + +enum Saat +{ + SPELL_CHRONO_BEACON = 34975, + ITEM_CHRONO_BEACON = 24289 +}; + +#define GOSSIP_ITEM_OBTAIN "[PH] Obtain Chrono-Beacon" + +class npc_saat : public CreatureScript +{ +public: + npc_saat() : CreatureScript("npc_saat") { } + + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + { + player->PlayerTalkClass->ClearMenus(); + if (action == GOSSIP_ACTION_INFO_DEF+1) + { + player->CLOSE_GOSSIP_MENU(); + creature->CastSpell(player, SPELL_CHRONO_BEACON, false); + } + return true; + } + + bool OnGossipHello(Player* player, Creature* creature) + { + if (creature->IsQuestGiver()) + player->PrepareQuestMenu(creature->GetGUID()); + + if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(ITEM_CHRONO_BEACON)) + { + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_OBTAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + player->SEND_GOSSIP_MENU(10000, creature->GetGUID()); + return true; + } + else if (player->GetQuestRewardStatus(QUEST_OPENING_PORTAL) && !player->HasItemCount(ITEM_CHRONO_BEACON)) + { + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_OBTAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + player->SEND_GOSSIP_MENU(10001, creature->GetGUID()); + return true; + } + + player->SEND_GOSSIP_MENU(10002, creature->GetGUID()); + return true; + } + +}; + +void AddSC_the_black_morass() +{ + new npc_medivh_bm(); + new npc_time_rift(); + new npc_saat(); +} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h new file mode 100644 index 00000000000..729eb42e9c5 --- /dev/null +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2008-2013 TrinityCore + * Copyright (C) 2006-2009 ScriptDev2 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#ifndef DEF_THEBLACKMORASS_H +#define DEF_THEBLACKMORASS_H + +uint32 const EncounterCount = 2; + +enum DataTypes +{ + TYPE_MEDIVH = 1, + TYPE_RIFT = 2, + TYPE_AEONUS = 3, + TYPE_TEMPORUS = 4, + TYPE_CRONO_LORD_DEJA = 5, + DATA_MEDIVH = 10, + DATA_PORTAL_COUNT = 11, + DATA_SHIELD = 12 +}; + +enum WorldStateIds +{ + WORLD_STATE_BM = 2541, + WORLD_STATE_BM_SHIELD = 2540, + WORLD_STATE_BM_RIFT = 2784 +}; + +enum QuestIds +{ + QUEST_OPENING_PORTAL = 10297, + QUEST_MASTER_TOUCH = 9836 +}; + +enum CreatureIds +{ + NPC_MEDIVH = 15608, + NPC_TIME_RIFT = 17838, + NPC_TIME_KEEPER = 17918, + NPC_RIFT_KEEPER = 21104, + NPC_RIFT_LORD = 17839, + NPC_CRONO_LORD_DEJA = 17879, + NPC_TEMPORUS = 17880, + NPC_AEONUS = 17881, + NPC_INFINITE_ASSASIN = 17835, + NPC_INFINITE_WHELP = 21818, + NPC_INFINITE_CRONOMANCER = 17892, + NPC_INFINITE_EXECUTIONER = 18994, + NPC_INFINITE_VANQUISHER = 18995 +}; + +#endif + -- cgit v1.2.3 From f22e1508f64836281e4c5c2fd7a145cd8713d042 Mon Sep 17 00:00:00 2001 From: Malcrom Date: Sat, 22 Jun 2013 00:47:41 -0230 Subject: Core/Scripting: Update Boss Akilzon Script to use Events --- .../EasternKingdoms/ZulAman/boss_akilzon.cpp | 300 ++++++++++----------- 1 file changed, 145 insertions(+), 155 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp index 3cd2587affe..e4f86852bbf 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp @@ -43,7 +43,9 @@ enum Spells SPELL_ELECTRICAL_STORM = 43648, SPELL_BERSERK = 45078, SPELL_ELECTRICAL_OVERLOAD = 43658, - SPELL_EAGLE_SWOOP = 44732 + SPELL_EAGLE_SWOOP = 44732, + SPELL_ZAP = 43137, + SPELL_SAND_STORM = 25160 }; enum Says @@ -65,54 +67,35 @@ enum Misc SE_LOC_Y_MIN = 1370 }; +enum Events +{ + EVENT_STATIC_DISRUPTION = 1, + EVENT_GUST_OF_WIND = 2, + EVENT_CALL_LIGHTNING = 3, + EVENT_ELECTRICAL_STORM = 4, + EVENT_RAIN = 5, + EVENT_SUMMON_EAGLES = 6, + EVENT_STORM_SEQUENCE = 7, + EVENT_ENRAGE = 8 +}; + class boss_akilzon : public CreatureScript { public: + boss_akilzon() : CreatureScript("boss_akilzon") { } - boss_akilzon() - : CreatureScript("boss_akilzon") - { - } - - struct boss_akilzonAI : public ScriptedAI + struct boss_akilzonAI : public BossAI { - boss_akilzonAI(Creature* creature) : ScriptedAI(creature) + boss_akilzonAI(Creature* creature) : BossAI(creature, DATA_AKILZONEVENT) { - instance = creature->GetInstanceScript(); memset(BirdGUIDs, 0, sizeof(BirdGUIDs)); } - InstanceScript* instance; - - uint64 BirdGUIDs[8]; - uint64 TargetGUID; - uint64 CycloneGUID; - uint64 CloudGUID; - - uint32 StaticDisruption_Timer; - uint32 GustOfWind_Timer; - uint32 CallLighting_Timer; - uint32 ElectricalStorm_Timer; - uint32 SummonEagles_Timer; - uint32 Enrage_Timer; - - uint32 StormCount; - uint32 StormSequenceTimer; - - bool isRaining; - void Reset() { if (instance) instance->SetData(DATA_AKILZONEVENT, NOT_STARTED); - StaticDisruption_Timer = urand(10000, 20000); //10 to 20 seconds (bosskillers) - GustOfWind_Timer = urand(20000, 30000); //20 to 30 seconds(bosskillers) - CallLighting_Timer = urand(10000, 20000); //totaly random timer. can't find any info on this - ElectricalStorm_Timer = 60000; //60 seconds(bosskillers) - Enrage_Timer = 10*MINUTE*IN_MILLISECONDS; //10 minutes till enrage(bosskillers) - SummonEagles_Timer = 99999; - TargetGUID = 0; CloudGUID = 0; CycloneGUID = 0; @@ -129,6 +112,13 @@ class boss_akilzon : public CreatureScript void EnterCombat(Unit* /*who*/) { + events.ScheduleEvent(EVENT_STATIC_DISRUPTION, urand(10000, 20000)); // 10 to 20 seconds (bosskillers) + events.ScheduleEvent(EVENT_GUST_OF_WIND, urand(20000, 30000)); // 20 to 30 seconds(bosskillers) + events.ScheduleEvent(EVENT_CALL_LIGHTNING, urand(10000, 20000)); // totaly random timer. can't find any info on this + events.ScheduleEvent(EVENT_ELECTRICAL_STORM, 60000); // 60 seconds(bosskillers) + events.ScheduleEvent(EVENT_RAIN, urand(47000, 52000)); + events.ScheduleEvent(EVENT_ENRAGE, 10*MINUTE*IN_MILLISECONDS); // 10 minutes till enrage(bosskillers) + Talk(SAY_AGGRO); //DoZoneInCombat(); if (instance) @@ -204,7 +194,7 @@ class boss_akilzon : public CreatureScript if (Unit* target = (*i)) { if (!Cloud->IsWithinDist(target, 6, false)) - Cloud->CastCustomSpell(target, 43137, &bp0, NULL, NULL, true, 0, 0, me->GetGUID()); + Cloud->CastCustomSpell(target, SPELL_ZAP, &bp0, NULL, NULL, true, 0, 0, me->GetGUID()); } } // visual @@ -221,7 +211,7 @@ class boss_akilzon : public CreatureScript trigger->SetHealth(100000); trigger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); if (Cloud) - Cloud->CastCustomSpell(trigger, /*43661*/43137, &bp0, NULL, NULL, true, 0, 0, Cloud->GetGUID()); + Cloud->CastCustomSpell(trigger, /*43661*/SPELL_ZAP, &bp0, NULL, NULL, true, 0, 0, Cloud->GetGUID()); } } } @@ -229,7 +219,7 @@ class boss_akilzon : public CreatureScript if (StormCount > 10) { StormCount = 0; // finish - SummonEagles_Timer = 5000; + events.ScheduleEvent(EVENT_SUMMON_EAGLES, 5000); me->InterruptNonMeleeSpells(false); CloudGUID = 0; if (Cloud) @@ -237,7 +227,7 @@ class boss_akilzon : public CreatureScript SetWeather(WEATHER_STATE_FINE, 0.0f); isRaining = false; } - StormSequenceTimer = 1000; + events.ScheduleEvent(EVENT_STORM_SEQUENCE, 1000); } void UpdateAI(uint32 diff) @@ -245,133 +235,133 @@ class boss_akilzon : public CreatureScript if (!UpdateVictim()) return; - if (StormCount) - { - Unit* target = Unit::GetUnit(*me, CloudGUID); - if (!target || !target->IsAlive()) - { - EnterEvadeMode(); - return; - } - else if (Unit* Cyclone = Unit::GetUnit(*me, CycloneGUID)) - Cyclone->CastSpell(target, 25160, true); // keep casting or... - - if (StormSequenceTimer <= diff) - HandleStormSequence(target); - else - StormSequenceTimer -= diff; - - return; - } - - if (Enrage_Timer <= diff) - { - Talk(SAY_ENRAGE); - DoCast(me, SPELL_BERSERK, true); - Enrage_Timer = 600000; - } else Enrage_Timer -= diff; - - if (StaticDisruption_Timer <= diff) - { - Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); - if (!target) target = me->GetVictim(); - TargetGUID = target->GetGUID(); - DoCast(target, SPELL_STATIC_DISRUPTION, false); - me->SetInFront(me->GetVictim()); - StaticDisruption_Timer = (10+rand()%8)*1000; // < 20s - - /*if (float dist = me->IsWithinDist3d(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 5.0f) dist = 5.0f; - SDisruptAOEVisual_Timer = 1000 + floor(dist / 30 * 1000.0f);*/ - } else StaticDisruption_Timer -= diff; - - if (GustOfWind_Timer <= diff) - { - Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); - if (!target) target = me->GetVictim(); - DoCast(target, SPELL_GUST_OF_WIND); - GustOfWind_Timer = urand(20, 30) * 1000; //20 to 30 seconds(bosskillers) - } else GustOfWind_Timer -= diff; - - if (CallLighting_Timer <= diff) - { - DoCast(me->GetVictim(), SPELL_CALL_LIGHTNING); - CallLighting_Timer = urand(12, 17) * 1000; //totaly random timer. can't find any info on this - } else CallLighting_Timer -= diff; - - if (!isRaining && ElectricalStorm_Timer < uint32(8000 + rand() % 5000)) - { - SetWeather(WEATHER_STATE_HEAVY_RAIN, 0.9999f); - isRaining = true; - } - - if (ElectricalStorm_Timer <= diff) - { - Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true); - if (!target) - { - EnterEvadeMode(); - return; - } - target->CastSpell(target, 44007, true);//cloud visual - DoCast(target, SPELL_ELECTRICAL_STORM, false);//storm cyclon + visual - float x, y, z; - target->GetPosition(x, y, z); - if (target) - { - target->SetDisableGravity(true); - target->MonsterMoveWithSpeed(x, y, me->GetPositionZ()+15, 0); - } - Unit* Cloud = me->SummonTrigger(x, y, me->GetPositionZ()+16, 0, 15000); - if (Cloud) - { - CloudGUID = Cloud->GetGUID(); - Cloud->SetDisableGravity(true); - Cloud->StopMoving(); - Cloud->SetObjectScale(1.0f); - Cloud->setFaction(35); - Cloud->SetMaxHealth(9999999); - Cloud->SetHealth(9999999); - Cloud->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - } - ElectricalStorm_Timer = 60000; //60 seconds(bosskillers) - StormCount = 1; - StormSequenceTimer = 0; - } else ElectricalStorm_Timer -= diff; + events.Update(diff); - if (SummonEagles_Timer <= diff) + while (uint32 eventId = events.ExecuteEvent()) { - Talk(SAY_SUMMON); - - float x, y, z; - me->GetPosition(x, y, z); - - for (uint8 i = 0; i < 8; ++i) + switch (eventId) { - Unit* bird = Unit::GetUnit(*me, BirdGUIDs[i]); - if (!bird) //they despawned on die - { - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) + case EVENT_STATIC_DISRUPTION: + Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); + if (!target) target = me->GetVictim(); + TargetGUID = target->GetGUID(); + DoCast(target, SPELL_STATIC_DISRUPTION, false); + me->SetInFront(me->GetVictim()); + /*if (float dist = me->IsWithinDist3d(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 5.0f) dist = 5.0f; + SDisruptAOEVisual_Timer = 1000 + floor(dist / 30 * 1000.0f);*/ + events.ScheduleEvent(EVENT_STATIC_DISRUPTION, urand(10000, 18000)); + break; + case EVENT_GUST_OF_WIND: + Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); + if (!target) target = me->GetVictim(); + DoCast(target, SPELL_GUST_OF_WIND); + events.ScheduleEvent(EVENT_GUST_OF_WIND, urand(20000, 30000)); + break; + case EVENT_CALL_LIGHTNING: + DoCast(me->GetVictim(), SPELL_CALL_LIGHTNING); + events.ScheduleEvent(EVENT_CALL_LIGHTNING, urand(12000, 17000)); // totaly random timer. can't find any info on this + break; + case EVENT_ELECTRICAL_STORM: + Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true); + if (!target) { - x = target->GetPositionX() + irand(-10, 10); - y = target->GetPositionY() + irand(-10, 10); - z = target->GetPositionZ() + urand(16, 20); - if (z > 95) - z = 95.0f - urand(0, 5); + EnterEvadeMode(); + return; } - Creature* creature = me->SummonCreature(MOB_SOARING_EAGLE, x, y, z, 0, TEMPSUMMON_CORPSE_DESPAWN, 0); - if (creature) + target->CastSpell(target, 44007, true); // cloud visual + DoCast(target, SPELL_ELECTRICAL_STORM, false); // storm cyclon + visual + float x, y, z; + target->GetPosition(x, y, z); + if (target) { - creature->AddThreat(me->GetVictim(), 1.0f); - creature->AI()->AttackStart(me->GetVictim()); - BirdGUIDs[i] = creature->GetGUID(); + target->SetDisableGravity(true); + target->MonsterMoveWithSpeed(x, y, me->GetPositionZ()+15, 0); } - } + Unit* Cloud = me->SummonTrigger(x, y, me->GetPositionZ()+16, 0, 15000); + if (Cloud) + { + CloudGUID = Cloud->GetGUID(); + Cloud->SetDisableGravity(true); + Cloud->StopMoving(); + Cloud->SetObjectScale(1.0f); + Cloud->setFaction(35); + Cloud->SetMaxHealth(9999999); + Cloud->SetHealth(9999999); + Cloud->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + } + StormCount = 1; + events.ScheduleEvent(EVENT_ELECTRICAL_STORM, 60000); // 60 seconds(bosskillers) + events.ScheduleEvent(EVENT_RAIN, urand(47000, 52000)); + break; + case EVENT_RAIN: + if (!isRaining) + { + SetWeather(WEATHER_STATE_HEAVY_RAIN, 0.9999f); + isRaining = true; + } + else + events.ScheduleEvent(EVENT_RAIN, 1000); + break; + case EVENT_STORM_SEQUENCE: + Unit* target = Unit::GetUnit(*me, CloudGUID); + if (!target || !target->IsAlive()) + { + EnterEvadeMode(); + return; + } + else if (Unit* Cyclone = Unit::GetUnit(*me, CycloneGUID)) + Cyclone->CastSpell(target, SPELL_SAND_STORM, true); // keep casting or... + HandleStormSequence(target); + break; + case EVENT_SUMMON_EAGLES: + Talk(SAY_SUMMON); + + float x, y, z; + me->GetPosition(x, y, z); + + for (uint8 i = 0; i < 8; ++i) + { + Unit* bird = Unit::GetUnit(*me, BirdGUIDs[i]); + if (!bird) //they despawned on die + { + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) + { + x = target->GetPositionX() + irand(-10, 10); + y = target->GetPositionY() + irand(-10, 10); + z = target->GetPositionZ() + urand(16, 20); + if (z > 95) + z = 95.0f - urand(0, 5); + } + Creature* creature = me->SummonCreature(MOB_SOARING_EAGLE, x, y, z, 0, TEMPSUMMON_CORPSE_DESPAWN, 0); + if (creature) + { + creature->AddThreat(me->GetVictim(), 1.0f); + creature->AI()->AttackStart(me->GetVictim()); + BirdGUIDs[i] = creature->GetGUID(); + } + } + } + break; + case EVENT_ENRAGE: + Talk(SAY_ENRAGE); + DoCast(me, SPELL_BERSERK, true); + events.ScheduleEvent(EVENT_ENRAGE, 600000); + break; + default: + break; } - SummonEagles_Timer = 999999; - } else SummonEagles_Timer -= diff; + } DoMeleeAttackIfReady(); } + + private: + uint64 BirdGUIDs[8]; + uint64 TargetGUID; + uint64 CycloneGUID; + uint64 CloudGUID; + uint8 StormCount; + bool isRaining; }; CreatureAI* GetAI(Creature* creature) const -- cgit v1.2.3 From 1b8973a5ac95677ee610e29cf88745ae894c0331 Mon Sep 17 00:00:00 2001 From: Malcrom Date: Sat, 22 Jun 2013 01:01:51 -0230 Subject: Core/Scripting: Fix previous commit --- .../EasternKingdoms/ZulAman/boss_akilzon.cpp | 94 ++++++++++++---------- 1 file changed, 51 insertions(+), 43 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp index e4f86852bbf..ca0138c826f 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp @@ -103,7 +103,6 @@ class boss_akilzon : public CreatureScript memset(BirdGUIDs, 0, sizeof(BirdGUIDs)); StormCount = 0; - StormSequenceTimer = 0; isRaining = false; @@ -242,6 +241,7 @@ class boss_akilzon : public CreatureScript switch (eventId) { case EVENT_STATIC_DISRUPTION: + { Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); if (!target) target = me->GetVictim(); TargetGUID = target->GetGUID(); @@ -251,48 +251,54 @@ class boss_akilzon : public CreatureScript SDisruptAOEVisual_Timer = 1000 + floor(dist / 30 * 1000.0f);*/ events.ScheduleEvent(EVENT_STATIC_DISRUPTION, urand(10000, 18000)); break; + } case EVENT_GUST_OF_WIND: - Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); - if (!target) target = me->GetVictim(); - DoCast(target, SPELL_GUST_OF_WIND); - events.ScheduleEvent(EVENT_GUST_OF_WIND, urand(20000, 30000)); - break; + { + Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); + if (!target) target = me->GetVictim(); + DoCast(target, SPELL_GUST_OF_WIND); + events.ScheduleEvent(EVENT_GUST_OF_WIND, urand(20000, 30000)); + break; + } case EVENT_CALL_LIGHTNING: DoCast(me->GetVictim(), SPELL_CALL_LIGHTNING); events.ScheduleEvent(EVENT_CALL_LIGHTNING, urand(12000, 17000)); // totaly random timer. can't find any info on this break; case EVENT_ELECTRICAL_STORM: - Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true); - if (!target) - { - EnterEvadeMode(); - return; - } - target->CastSpell(target, 44007, true); // cloud visual - DoCast(target, SPELL_ELECTRICAL_STORM, false); // storm cyclon + visual - float x, y, z; - target->GetPosition(x, y, z); - if (target) - { - target->SetDisableGravity(true); - target->MonsterMoveWithSpeed(x, y, me->GetPositionZ()+15, 0); - } - Unit* Cloud = me->SummonTrigger(x, y, me->GetPositionZ()+16, 0, 15000); - if (Cloud) { - CloudGUID = Cloud->GetGUID(); - Cloud->SetDisableGravity(true); - Cloud->StopMoving(); - Cloud->SetObjectScale(1.0f); - Cloud->setFaction(35); - Cloud->SetMaxHealth(9999999); - Cloud->SetHealth(9999999); - Cloud->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true); + if (!target) + { + EnterEvadeMode(); + return; + } + target->CastSpell(target, 44007, true); // cloud visual + DoCast(target, SPELL_ELECTRICAL_STORM, false); // storm cyclon + visual + float x, y, z; + target->GetPosition(x, y, z); + if (target) + { + target->SetDisableGravity(true); + target->MonsterMoveWithSpeed(x, y, me->GetPositionZ()+15, 0); + } + + Unit* Cloud = me->SummonTrigger(x, y, me->GetPositionZ()+16, 0, 15000); + if (Cloud) + { + CloudGUID = Cloud->GetGUID(); + Cloud->SetDisableGravity(true); + Cloud->StopMoving(); + Cloud->SetObjectScale(1.0f); + Cloud->setFaction(35); + Cloud->SetMaxHealth(9999999); + Cloud->SetHealth(9999999); + Cloud->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + } + StormCount = 1; + events.ScheduleEvent(EVENT_ELECTRICAL_STORM, 60000); // 60 seconds(bosskillers) + events.ScheduleEvent(EVENT_RAIN, urand(47000, 52000)); + break; } - StormCount = 1; - events.ScheduleEvent(EVENT_ELECTRICAL_STORM, 60000); // 60 seconds(bosskillers) - events.ScheduleEvent(EVENT_RAIN, urand(47000, 52000)); - break; case EVENT_RAIN: if (!isRaining) { @@ -303,16 +309,18 @@ class boss_akilzon : public CreatureScript events.ScheduleEvent(EVENT_RAIN, 1000); break; case EVENT_STORM_SEQUENCE: - Unit* target = Unit::GetUnit(*me, CloudGUID); - if (!target || !target->IsAlive()) { - EnterEvadeMode(); - return; + Unit* target = Unit::GetUnit(*me, CloudGUID); + if (!target || !target->IsAlive()) + { + EnterEvadeMode(); + return; + } + else if (Unit* Cyclone = Unit::GetUnit(*me, CycloneGUID)) + Cyclone->CastSpell(target, SPELL_SAND_STORM, true); // keep casting or... + HandleStormSequence(target); + break; } - else if (Unit* Cyclone = Unit::GetUnit(*me, CycloneGUID)) - Cyclone->CastSpell(target, SPELL_SAND_STORM, true); // keep casting or... - HandleStormSequence(target); - break; case EVENT_SUMMON_EAGLES: Talk(SAY_SUMMON); -- cgit v1.2.3 From 154dd377437aded96319338633b28eb9a4fee881 Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Sat, 22 Jun 2013 16:45:48 +0200 Subject: Scripts: Add missing code and fix codestyle --- .../TheBlackMorass/boss_chrono_lord_deja.cpp | 58 +++++++++++----------- 1 file changed, 30 insertions(+), 28 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp index 9fd7b22a1da..79eca4f186e 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp @@ -103,40 +103,42 @@ public: void UpdateAI(uint32 diff) { - //Return since we have no target if (!UpdateVictim()) return; - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + + events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) + while (uint32 eventId = events.ExecuteEvent()) + { + switch (eventId) { - switch (eventId) - { - case EVENT_ARCANE_BLAST: - DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); - events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(15000, 25000)); - break; - case EVENT_TIME_LAPSE: - Talk(SAY_BANISH); - DoCast(me, SPELL_TIME_LAPSE); - events.ScheduleEvent(EVENT_TIME_LAPSE, urand(15000, 25000)); - break; - case EVENT_ARCANE_DISCHARGE: - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) - DoCast(target, SPELL_ARCANE_DISCHARGE); - events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); - break; - case EVENT_ATTRACTION: // Only in Heroic - DoCast(me, SPELL_ATTRACTION); - events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); - break; - default: - break; - } + case EVENT_ARCANE_BLAST: + DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); + events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(15000, 25000)); + break; + case EVENT_TIME_LAPSE: + Talk(SAY_BANISH); + DoCast(me, SPELL_TIME_LAPSE); + events.ScheduleEvent(EVENT_TIME_LAPSE, urand(15000, 25000)); + break; + case EVENT_ARCANE_DISCHARGE: + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) + DoCast(target, SPELL_ARCANE_DISCHARGE); + events.ScheduleEvent(EVENT_ARCANE_DISCHARGE, urand(20000, 30000)); + break; + case EVENT_ATTRACTION: // Only in Heroic + DoCast(me, SPELL_ATTRACTION); + events.ScheduleEvent(EVENT_ATTRACTION, urand(25000, 35000)); + break; + default: + break; } - DoMeleeAttackIfReady(); + } + + DoMeleeAttackIfReady(); } CreatureAI* GetAI(Creature* creature) const -- cgit v1.2.3 From e6185c92fc224e5427e634fdb1d44565a0fcf269 Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Sat, 22 Jun 2013 16:53:13 +0200 Subject: Scripts: Convert DoCast(me->GetVictim(), SPELL_XXXXX); in DoCastVictim(SPELL_XXX); --- .../AlteracValley/alterac_valley.cpp | 4 +- .../EasternKingdoms/AlteracValley/boss_balinda.cpp | 10 ++-- .../AlteracValley/boss_drekthar.cpp | 8 ++-- .../AlteracValley/boss_galvangar.cpp | 10 ++-- .../EasternKingdoms/AlteracValley/boss_vanndar.cpp | 6 +-- .../BlackrockDepths/blackrock_depths.cpp | 6 +-- .../BlackrockDepths/boss_ambassador_flamelash.cpp | 2 +- .../BlackrockDepths/boss_anubshiah.cpp | 4 +- .../boss_emperor_dagran_thaurissan.cpp | 2 +- .../BlackrockDepths/boss_general_angerforge.cpp | 6 +-- .../BlackrockDepths/boss_gorosh_the_dervish.cpp | 2 +- .../BlackrockDepths/boss_grizzle.cpp | 2 +- .../boss_high_interrogator_gerstahn.cpp | 2 +- .../BlackrockDepths/boss_magmus.cpp | 4 +- .../BlackrockDepths/boss_moira_bronzebeard.cpp | 6 +-- .../BlackrockDepths/boss_tomb_of_seven.cpp | 6 +-- .../BlackrockSpire/boss_drakkisath.cpp | 8 ++-- .../EasternKingdoms/BlackrockSpire/boss_gyth.cpp | 6 +-- .../BlackrockSpire/boss_halycon.cpp | 4 +- .../BlackrockSpire/boss_highlord_omokk.cpp | 14 +++--- .../BlackrockSpire/boss_overlord_wyrmthalak.cpp | 8 ++-- .../BlackrockSpire/boss_quartermaster_zigris.cpp | 4 +- .../BlackrockSpire/boss_rend_blackhand.cpp | 6 +-- .../boss_shadow_hunter_voshgajin.cpp | 4 +- .../BlackrockSpire/boss_the_beast.cpp | 4 +- .../BlackrockSpire/boss_warmaster_voone.cpp | 12 ++--- .../BlackwingLair/boss_chromaggus.cpp | 4 +- .../BlackwingLair/boss_nefarian.cpp | 10 ++-- .../BlackwingLair/boss_razorgore.cpp | 8 ++-- .../BlackwingLair/boss_vaelastrasz.cpp | 8 ++-- .../EasternKingdoms/Deadmines/boss_mr_smite.cpp | 2 +- .../Karazhan/boss_maiden_of_virtue.cpp | 2 +- .../EasternKingdoms/Karazhan/boss_midnight.cpp | 4 +- .../EasternKingdoms/Karazhan/boss_moroes.cpp | 18 ++++---- .../EasternKingdoms/Karazhan/boss_nightbane.cpp | 10 ++-- .../Karazhan/boss_prince_malchezaar.cpp | 6 +-- .../Karazhan/boss_shade_of_aran.cpp | 2 +- .../Karazhan/boss_terestian_illhoof.cpp | 8 ++-- .../EasternKingdoms/Karazhan/bosses_opera.cpp | 22 ++++----- .../MagistersTerrace/boss_felblood_kaelthas.cpp | 4 +- .../MagistersTerrace/boss_priestess_delrissa.cpp | 54 +++++++++++----------- .../MagistersTerrace/boss_vexallus.cpp | 2 +- .../EasternKingdoms/MoltenCore/boss_golemagg.cpp | 2 +- .../EasternKingdoms/ScarletEnclave/chapter1.cpp | 8 ++-- .../EasternKingdoms/ScarletEnclave/chapter2.cpp | 4 +- .../EasternKingdoms/ScarletEnclave/chapter5.cpp | 8 ++-- .../ScarletMonastery/boss_arcanist_doan.cpp | 4 +- .../ScarletMonastery/boss_azshir_the_sleepless.cpp | 6 +-- .../ScarletMonastery/boss_bloodmage_thalnos.cpp | 8 ++-- .../ScarletMonastery/boss_headless_horseman.cpp | 2 +- .../ScarletMonastery/boss_herod.cpp | 4 +- .../boss_high_inquisitor_fairbanks.cpp | 2 +- .../ScarletMonastery/boss_interrogator_vishas.cpp | 2 +- .../boss_mograine_and_whitemane.cpp | 8 ++-- .../ScarletMonastery/boss_scorn.cpp | 8 ++-- .../Scholomance/boss_jandice_barov.cpp | 6 +-- .../EasternKingdoms/Scholomance/boss_kormok.cpp | 4 +- .../Scholomance/boss_ras_frostwhisper.cpp | 8 ++-- .../EasternKingdoms/Scholomance/boss_vectus.cpp | 2 +- .../Stratholme/boss_baron_rivendare.cpp | 6 +-- .../Stratholme/boss_baroness_anastari.cpp | 6 +-- .../Stratholme/boss_cannon_master_willey.cpp | 6 +-- .../Stratholme/boss_dathrohan_balnazzar.cpp | 14 +++--- .../Stratholme/boss_magistrate_barthilas.cpp | 6 +-- .../Stratholme/boss_maleki_the_pallid.cpp | 6 +-- .../EasternKingdoms/Stratholme/boss_nerubenkan.cpp | 6 +-- .../Stratholme/boss_ramstein_the_gorger.cpp | 2 +- .../Stratholme/boss_timmy_the_cruel.cpp | 2 +- .../SunwellPlateau/boss_brutallus.cpp | 4 +- .../SunwellPlateau/boss_eredar_twins.cpp | 4 +- .../SunwellPlateau/boss_felmyst.cpp | 4 +- .../SunwellPlateau/boss_kalecgos.cpp | 4 +- .../SunwellPlateau/boss_kiljaeden.cpp | 32 ++++++------- .../EasternKingdoms/SunwellPlateau/boss_muru.cpp | 2 +- .../EasternKingdoms/Uldaman/boss_archaedas.cpp | 2 +- .../EasternKingdoms/Uldaman/boss_ironaya.cpp | 2 +- .../EasternKingdoms/ZulAman/boss_akilzon.cpp | 2 +- .../EasternKingdoms/ZulAman/boss_halazzi.cpp | 4 +- .../EasternKingdoms/ZulAman/boss_hexlord.cpp | 12 ++--- .../EasternKingdoms/ZulAman/boss_janalai.cpp | 2 +- .../EasternKingdoms/ZulAman/boss_nalorakk.cpp | 10 ++-- .../EasternKingdoms/ZulAman/boss_zuljin.cpp | 2 +- .../EasternKingdoms/ZulGurub/boss_jeklik.cpp | 8 ++-- .../EasternKingdoms/ZulGurub/boss_jindo.cpp | 2 +- .../EasternKingdoms/ZulGurub/boss_marli.cpp | 2 +- .../EasternKingdoms/ZulGurub/boss_renataki.cpp | 2 +- .../EasternKingdoms/ZulGurub/boss_thekal.cpp | 12 ++--- .../EasternKingdoms/ZulGurub/boss_venoxis.cpp | 2 +- src/server/scripts/EasternKingdoms/boss_kruul.cpp | 10 ++-- .../scripts/EasternKingdoms/zone_duskwood.cpp | 4 +- .../EasternKingdoms/zone_redridge_mountains.cpp | 4 +- .../scripts/EasternKingdoms/zone_westfall.cpp | 2 +- src/server/scripts/Examples/example_creature.cpp | 10 ++-- src/server/scripts/Examples/example_escort.cpp | 2 +- .../BattleForMountHyjal/boss_archimonde.cpp | 6 +-- .../BattleForMountHyjal/boss_azgalor.cpp | 2 +- .../BattleForMountHyjal/boss_rage_winterchill.cpp | 4 +- .../BattleForMountHyjal/hyjal_trash.cpp | 18 ++++---- .../boss_salramm_the_fleshcrafter.cpp | 2 +- .../boss_captain_skarloc.cpp | 4 +- .../EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp | 4 +- .../boss_leutenant_drake.cpp | 6 +-- .../CavernsOfTime/TheBlackMorass/boss_aeonus.cpp | 4 +- .../TheBlackMorass/boss_chrono_lord_deja.cpp | 2 +- .../boss_amnennar_the_coldbringer.cpp | 8 ++-- .../Kalimdor/RazorfenDowns/razorfen_downs.cpp | 2 +- .../Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp | 4 +- .../Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp | 10 ++-- .../Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp | 10 ++-- .../Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp | 2 +- .../Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp | 6 +-- .../Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp | 8 ++-- .../TempleOfAhnQiraj/boss_twinemperors.cpp | 4 +- .../scripts/Kalimdor/ZulFarrak/zulfarrak.cpp | 8 ++-- src/server/scripts/Kalimdor/boss_azuregos.cpp | 8 ++-- src/server/scripts/Kalimdor/zone_ashenvale.cpp | 2 +- .../scripts/Kalimdor/zone_azuremyst_isle.cpp | 6 +-- src/server/scripts/Kalimdor/zone_orgrimmar.cpp | 4 +- src/server/scripts/Kalimdor/zone_tanaris.cpp | 2 +- src/server/scripts/Kalimdor/zone_thunder_bluff.cpp | 8 ++-- src/server/scripts/Kalimdor/zone_ungoro_crater.cpp | 2 +- .../AzjolNerub/Ahnkahet/boss_herald_volazj.cpp | 4 +- .../AzjolNerub/AzjolNerub/boss_anubarak.cpp | 2 +- .../AzjolNerub/AzjolNerub/boss_hadronox.cpp | 2 +- .../AzjolNerub/boss_krikthir_the_gatewatcher.cpp | 22 ++++----- .../ObsidianSanctum/boss_sartharion.cpp | 20 ++++---- .../TrialOfTheChampion/boss_grand_champions.cpp | 2 +- .../HallsOfReflection/halls_of_reflection.cpp | 8 ++-- .../Northrend/Gundrak/boss_drakkari_colossus.cpp | 6 +-- src/server/scripts/Northrend/Gundrak/boss_eck.cpp | 4 +- .../scripts/Northrend/Gundrak/boss_gal_darah.cpp | 8 ++-- .../scripts/Northrend/Gundrak/boss_moorabi.cpp | 12 ++--- .../scripts/Northrend/Gundrak/boss_slad_ran.cpp | 8 ++-- .../Northrend/Naxxramas/boss_four_horsemen.cpp | 2 +- .../scripts/Northrend/Naxxramas/boss_gluth.cpp | 2 +- .../scripts/Northrend/Naxxramas/boss_gothik.cpp | 4 +- .../scripts/Northrend/Naxxramas/boss_maexxna.cpp | 2 +- .../scripts/Northrend/Naxxramas/boss_patchwerk.cpp | 2 +- .../scripts/Northrend/Naxxramas/boss_razuvious.cpp | 2 +- .../scripts/Northrend/Naxxramas/boss_thaddius.cpp | 4 +- .../Northrend/Nexus/EyeOfEternity/boss_malygos.cpp | 2 +- .../Northrend/Nexus/Nexus/boss_keristrasza.cpp | 2 +- .../scripts/Northrend/Nexus/Oculus/boss_eregos.cpp | 2 +- .../scripts/Northrend/Nexus/Oculus/boss_varos.cpp | 2 +- .../Ulduar/HallsOfLightning/boss_bjarngrim.cpp | 12 ++--- .../Ulduar/HallsOfLightning/boss_ionar.cpp | 2 +- .../Ulduar/HallsOfLightning/boss_volkhan.cpp | 2 +- .../Ulduar/HallsOfStone/boss_maiden_of_grief.cpp | 4 +- .../Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp | 2 +- .../Northrend/Ulduar/Ulduar/boss_razorscale.cpp | 10 ++-- .../scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp | 8 ++-- .../UtgardeKeep/boss_skarvald_dalronn.cpp | 2 +- .../UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp | 8 ++-- .../UtgardeKeep/UtgardePinnacle/boss_svala.cpp | 2 +- .../UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp | 6 +-- .../scripts/Northrend/VioletHold/boss_erekem.cpp | 10 ++-- .../Northrend/VioletHold/boss_lavanthor.cpp | 8 ++-- .../scripts/Northrend/VioletHold/boss_moragg.cpp | 2 +- .../scripts/Northrend/VioletHold/boss_xevozz.cpp | 2 +- .../scripts/Northrend/VioletHold/boss_zuramat.cpp | 4 +- .../scripts/Northrend/VioletHold/violet_hold.cpp | 10 ++-- .../scripts/Northrend/zone_borean_tundra.cpp | 6 +-- .../scripts/Northrend/zone_grizzly_hills.cpp | 2 +- src/server/scripts/Northrend/zone_zuldrak.cpp | 6 +-- .../AuchenaiCrypts/boss_exarch_maladaar.cpp | 20 ++++---- .../ManaTombs/boss_nexusprince_shaffar.cpp | 10 ++-- .../ShadowLabyrinth/boss_ambassador_hellmaw.cpp | 2 +- .../scripts/Outland/BlackTemple/boss_bloodboil.cpp | 16 +++---- .../scripts/Outland/BlackTemple/boss_illidan.cpp | 24 +++++----- .../Outland/BlackTemple/boss_mother_shahraz.cpp | 4 +- .../BlackTemple/boss_reliquary_of_souls.cpp | 6 +-- .../Outland/BlackTemple/boss_shade_of_akama.cpp | 2 +- .../Outland/BlackTemple/illidari_council.cpp | 8 ++-- .../SerpentShrine/boss_fathomlord_karathress.cpp | 12 ++--- .../SerpentShrine/boss_hydross_the_unstable.cpp | 4 +- .../SerpentShrine/boss_lady_vashj.cpp | 8 ++-- .../SerpentShrine/boss_leotheras_the_blind.cpp | 8 ++-- .../SerpentShrine/boss_lurker_below.cpp | 2 +- .../SerpentShrine/boss_morogrim_tidewalker.cpp | 6 +-- .../SteamVault/boss_mekgineer_steamrigger.cpp | 6 +-- .../scripts/Outland/GruulsLair/boss_gruul.cpp | 4 +- .../Outland/GruulsLair/boss_high_king_maulgar.cpp | 18 ++++---- .../HellfireCitadel/BloodFurnace/boss_broggok.cpp | 4 +- .../BloodFurnace/boss_kelidan_the_breaker.cpp | 2 +- .../BloodFurnace/boss_the_maker.cpp | 4 +- .../boss_watchkeeper_gargolmar.cpp | 2 +- .../MagtheridonsLair/boss_magtheridon.cpp | 4 +- .../ShatteredHalls/boss_nethekurse.cpp | 6 +-- .../scripts/Outland/TempestKeep/Eye/boss_alar.cpp | 2 +- .../Outland/TempestKeep/Eye/boss_astromancer.cpp | 8 ++-- .../Outland/TempestKeep/Eye/boss_kaelthas.cpp | 16 +++---- .../Outland/TempestKeep/Eye/boss_void_reaver.cpp | 4 +- .../scripts/Outland/TempestKeep/Eye/the_eye.cpp | 2 +- .../Mechanar/boss_nethermancer_sepethrea.cpp | 2 +- .../Mechanar/boss_pathaleon_the_calculator.cpp | 2 +- .../Outland/TempestKeep/arcatraz/arcatraz.cpp | 4 +- .../arcatraz/boss_harbinger_skyriss.cpp | 6 +-- .../Outland/TempestKeep/botanica/boss_laj.cpp | 2 +- .../TempestKeep/botanica/boss_warp_splinter.cpp | 4 +- .../scripts/Outland/zone_blades_edge_mountains.cpp | 4 +- .../scripts/Outland/zone_hellfire_peninsula.cpp | 4 +- src/server/scripts/Outland/zone_nagrand.cpp | 8 ++-- .../scripts/Outland/zone_shadowmoon_valley.cpp | 16 +++---- src/server/scripts/Outland/zone_shattrath_city.cpp | 4 +- .../scripts/Outland/zone_terokkar_forest.cpp | 4 +- src/server/scripts/Outland/zone_zangarmarsh.cpp | 2 +- src/server/scripts/World/boss_emerald_dragons.cpp | 2 +- src/server/scripts/World/guards.cpp | 4 +- src/server/scripts/World/npcs_special.cpp | 14 +++--- 209 files changed, 637 insertions(+), 637 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp index 33b32fa6978..5f05f21b1de 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp @@ -129,11 +129,11 @@ class mob_av_marshal_or_warmaster : public CreatureScript switch (eventId) { case EVENT_CHARGE_TARGET: - DoCast(me->GetVictim(), SPELL_CHARGE); + DoCastVictim(SPELL_CHARGE); events.ScheduleEvent(EVENT_CHARGE, urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS)); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); events.ScheduleEvent(EVENT_CLEAVE, urand(10 * IN_MILLISECONDS, 16 * IN_MILLISECONDS)); break; case EVENT_DEMORALIZING_SHOUT: diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp index 1d2d4435966..d5eafbb17a6 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp @@ -69,7 +69,7 @@ public: if (waterBoltTimer < diff) { - DoCast(me->GetVictim(), SPELL_WATERBOLT); + DoCastVictim(SPELL_WATERBOLT); waterBoltTimer = 5 * IN_MILLISECONDS; } else waterBoltTimer -= diff; @@ -159,25 +159,25 @@ public: if (arcaneExplosionTimer < diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_EXPLOSION); + DoCastVictim(SPELL_ARCANE_EXPLOSION); arcaneExplosionTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); } else arcaneExplosionTimer -= diff; if (coneOfColdTimer < diff) { - DoCast(me->GetVictim(), SPELL_CONE_OF_COLD); + DoCastVictim(SPELL_CONE_OF_COLD); coneOfColdTimer = urand(10 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); } else coneOfColdTimer -= diff; if (fireBoltTimer < diff) { - DoCast(me->GetVictim(), SPELL_FIREBALL); + DoCastVictim(SPELL_FIREBALL); fireBoltTimer = urand(5 * IN_MILLISECONDS, 9 * IN_MILLISECONDS); } else fireBoltTimer -= diff; if (frostboltTimer < diff) { - DoCast(me->GetVictim(), SPELL_FROSTBOLT); + DoCastVictim(SPELL_FROSTBOLT); frostboltTimer = urand(4 * IN_MILLISECONDS, 12 * IN_MILLISECONDS); } else frostboltTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp index ba415bf9b37..f423bca9372 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp @@ -82,25 +82,25 @@ public: if (WhirlwindTimer <= diff) { - DoCast(me->GetVictim(), SPELL_WHIRLWIND); + DoCastVictim(SPELL_WHIRLWIND); WhirlwindTimer = urand(8 * IN_MILLISECONDS, 18 * IN_MILLISECONDS); } else WhirlwindTimer -= diff; if (Whirlwind2Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WHIRLWIND2); + DoCastVictim(SPELL_WHIRLWIND2); Whirlwind2Timer = urand(7 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); } else Whirlwind2Timer -= diff; if (KnockdownTimer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCKDOWN); + DoCastVictim(SPELL_KNOCKDOWN); KnockdownTimer = urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); } else KnockdownTimer -= diff; if (FrenzyTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FRENZY); + DoCastVictim(SPELL_FRENZY); FrenzyTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); } else FrenzyTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp index 020d82c8be2..3622259ffcd 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp @@ -76,31 +76,31 @@ public: if (CleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); CleaveTimer = urand(10 * IN_MILLISECONDS, 16 * IN_MILLISECONDS); } else CleaveTimer -= diff; if (FrighteningShoutTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FRIGHTENING_SHOUT); + DoCastVictim(SPELL_FRIGHTENING_SHOUT); FrighteningShoutTimer = urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); } else FrighteningShoutTimer -= diff; if (Whirlwind1Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WHIRLWIND1); + DoCastVictim(SPELL_WHIRLWIND1); Whirlwind1Timer = urand(6 * IN_MILLISECONDS, 10 * IN_MILLISECONDS); } else Whirlwind1Timer -= diff; if (Whirlwind2Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WHIRLWIND2); + DoCastVictim(SPELL_WHIRLWIND2); Whirlwind2Timer = urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); } else Whirlwind2Timer -= diff; if (MortalStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTAL_STRIKE); + DoCastVictim(SPELL_MORTAL_STRIKE); MortalStrikeTimer = urand(10 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); } else MortalStrikeTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp index 747793044cf..034d8aff42a 100644 --- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp +++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp @@ -71,19 +71,19 @@ public: if (AvatarTimer <= diff) { - DoCast(me->GetVictim(), SPELL_AVATAR); + DoCastVictim(SPELL_AVATAR); AvatarTimer = urand(15 * IN_MILLISECONDS, 20 * IN_MILLISECONDS); } else AvatarTimer -= diff; if (ThunderclapTimer <= diff) { - DoCast(me->GetVictim(), SPELL_THUNDERCLAP); + DoCastVictim(SPELL_THUNDERCLAP); ThunderclapTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS); } else ThunderclapTimer -= diff; if (StormboltTimer <= diff) { - DoCast(me->GetVictim(), SPELL_STORMBOLT); + DoCastVictim(SPELL_STORMBOLT); StormboltTimer = urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS); } else StormboltTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp index 343f3f577f4..cded76874c7 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp @@ -381,7 +381,7 @@ public: //ThunderClap_Timer if (ThunderClap_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_THUNDERCLAP); + DoCastVictim(SPELL_THUNDERCLAP); ThunderClap_Timer = 10000; } else ThunderClap_Timer -= diff; @@ -390,7 +390,7 @@ public: { if (FireballVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBALLVOLLEY); + DoCastVictim(SPELL_FIREBALLVOLLEY); FireballVolley_Timer = 15000; } else FireballVolley_Timer -= diff; } @@ -398,7 +398,7 @@ public: //MightyBlow_Timer if (MightyBlow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MIGHTYBLOW); + DoCastVictim(SPELL_MIGHTYBLOW); MightyBlow_Timer = 10000; } else MightyBlow_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp index 8cab58124a0..97de0b1b2da 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp @@ -64,7 +64,7 @@ public: //FireBlast_Timer if (FireBlast_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBLAST); + DoCastVictim(SPELL_FIREBLAST); FireBlast_Timer = 7000; } else FireBlast_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp index e75147bcb92..66458a30113 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp @@ -68,7 +68,7 @@ public: //ShadowBolt_Timer if (ShadowBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWBOLT); + DoCastVictim(SPELL_SHADOWBOLT); ShadowBolt_Timer = 7000; } else ShadowBolt_Timer -= diff; @@ -83,7 +83,7 @@ public: //CurseOfWeakness_Timer if (CurseOfWeakness_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CURSEOFWEAKNESS); + DoCastVictim(SPELL_CURSEOFWEAKNESS); CurseOfWeakness_Timer = 45000; } else CurseOfWeakness_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp index 2e7f0064457..3a058e1b9bb 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp @@ -108,7 +108,7 @@ public: //AvatarOfFlame_Timer if (AvatarOfFlame_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_AVATAROFFLAME); + DoCastVictim(SPELL_AVATAROFFLAME); AvatarOfFlame_Timer = 18000; } else AvatarOfFlame_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp index 766bc729545..85256d763c3 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp @@ -78,21 +78,21 @@ public: //MightyBlow_Timer if (MightyBlow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MIGHTYBLOW); + DoCastVictim(SPELL_MIGHTYBLOW); MightyBlow_Timer = 18000; } else MightyBlow_Timer -= diff; //HamString_Timer if (HamString_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMSTRING); + DoCastVictim(SPELL_HAMSTRING); HamString_Timer = 15000; } else HamString_Timer -= diff; //Cleave_Timer if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = 9000; } else Cleave_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp index e0eb1f19bb0..b70bbf670bc 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp @@ -68,7 +68,7 @@ public: //MortalStrike_Timer if (MortalStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTALSTRIKE); + DoCastVictim(SPELL_MORTALSTRIKE); MortalStrike_Timer = 15000; } else MortalStrike_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp index 0848f8bb086..e3f4a665e03 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp @@ -60,7 +60,7 @@ public: //GroundTremor_Timer if (GroundTremor_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_GROUNDTREMOR); + DoCastVictim(SPELL_GROUNDTREMOR); GroundTremor_Timer = 8000; } else GroundTremor_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp index 1a92fc621da..680b358418c 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp @@ -81,7 +81,7 @@ public: //PsychicScream_Timer if (PsychicScream_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_PSYCHICSCREAM); + DoCastVictim(SPELL_PSYCHICSCREAM); PsychicScream_Timer = 30000; } else PsychicScream_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp index 750a739d07c..edcb1b5ca42 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp @@ -64,7 +64,7 @@ public: //FieryBurst_Timer if (FieryBurst_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIERYBURST); + DoCastVictim(SPELL_FIERYBURST); FieryBurst_Timer = 6000; } else FieryBurst_Timer -= diff; @@ -73,7 +73,7 @@ public: { if (WarStomp_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WARSTOMP); + DoCastVictim(SPELL_WARSTOMP); WarStomp_Timer = 8000; } else WarStomp_Timer -= diff; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp index 4fb0785bb8f..6de2a4999af 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp @@ -67,21 +67,21 @@ public: //MindBlast_Timer if (MindBlast_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MINDBLAST); + DoCastVictim(SPELL_MINDBLAST); MindBlast_Timer = 14000; } else MindBlast_Timer -= diff; //ShadowWordPain_Timer if (ShadowWordPain_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWWORDPAIN); + DoCastVictim(SPELL_SHADOWWORDPAIN); ShadowWordPain_Timer = 18000; } else ShadowWordPain_Timer -= diff; //Smite_Timer if (Smite_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SMITE); + DoCastVictim(SPELL_SMITE); Smite_Timer = 10000; } else Smite_Timer -= diff; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp index 55a5baf9a70..4931608ea00 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp @@ -210,7 +210,7 @@ public: //ShadowVolley_Timer if (ShadowVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWBOLTVOLLEY); + DoCastVictim(SPELL_SHADOWBOLTVOLLEY); ShadowVolley_Timer = 12000; } else ShadowVolley_Timer -= diff; @@ -226,7 +226,7 @@ public: //CurseOfWeakness_Timer if (CurseOfWeakness_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CURSEOFWEAKNESS); + DoCastVictim(SPELL_CURSEOFWEAKNESS); CurseOfWeakness_Timer = 45000; } else CurseOfWeakness_Timer -= diff; @@ -240,7 +240,7 @@ public: //Summon Voidwalkers if (!Voidwalkers && HealthBelowPct(51)) { - DoCast(me->GetVictim(), SPELL_SUMMON_VOIDWALKERS, true); + DoCastVictim(SPELL_SUMMON_VOIDWALKERS, true); Voidwalkers = true; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp index af777d0474e..c480e3115e2 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp @@ -84,19 +84,19 @@ public: switch (eventId) { case EVENT_FIRE_NOVA: - DoCast(me->GetVictim(), SPELL_FIRENOVA); + DoCastVictim(SPELL_FIRENOVA); events.ScheduleEvent(EVENT_FIRE_NOVA, 10 * IN_MILLISECONDS); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); events.ScheduleEvent(EVENT_CLEAVE, 8 * IN_MILLISECONDS); break; case EVENT_CONFLIGURATION: - DoCast(me->GetVictim(), SPELL_CONFLIGURATION); + DoCastVictim(SPELL_CONFLIGURATION); events.ScheduleEvent(EVENT_CONFLIGURATION, 18 * IN_MILLISECONDS); break; case EVENT_THUNDERCLAP: - DoCast(me->GetVictim(), SPELL_THUNDERCLAP); + DoCastVictim(SPELL_THUNDERCLAP); events.ScheduleEvent(EVENT_THUNDERCLAP, 20 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp index cdb0e9e2454..e1cce4f319e 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp @@ -151,15 +151,15 @@ public: events.CancelEvent(EVENT_SUMMON_ORC_PACK); break; case EVENT_CORROSIVE_ACID: - DoCast(me->GetVictim(), SPELL_CORROSIVE_ACID); + DoCastVictim(SPELL_CORROSIVE_ACID); events.ScheduleEvent(EVENT_CORROSIVE_ACID, 7 * IN_MILLISECONDS); break; case EVENT_FREEZE: - DoCast(me->GetVictim(), SPELL_FREEZE); + DoCastVictim(SPELL_FREEZE); events.ScheduleEvent(EVENT_FREEZE, 16 * IN_MILLISECONDS); break; case EVENT_FLAME_BREATH: - DoCast(me->GetVictim(), SPELL_FLAMEBREATH); + DoCastVictim(SPELL_FLAMEBREATH); events.ScheduleEvent(EVENT_FLAME_BREATH, 10500); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp index a55c7578d6e..887506bc4f9 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp @@ -90,11 +90,11 @@ public: switch (eventId) { case EVENT_CROWD_PUMMEL: - DoCast(me->GetVictim(), SPELL_CROWDPUMMEL); + DoCastVictim(SPELL_CROWDPUMMEL); events.ScheduleEvent(EVENT_CROWD_PUMMEL, 14 * IN_MILLISECONDS); break; case EVENT_MIGHTY_BLOW: - DoCast(me->GetVictim(), SPELL_MIGHTYBLOW); + DoCastVictim(SPELL_MIGHTYBLOW); events.ScheduleEvent(EVENT_MIGHTY_BLOW, 10 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp index 3576d1272ac..4cba989d737 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp @@ -93,31 +93,31 @@ public: switch (eventId) { case EVENT_WARSTOMP: - DoCast(me->GetVictim(), SPELL_WARSTOMP); + DoCastVictim(SPELL_WARSTOMP); events.ScheduleEvent(EVENT_WARSTOMP, 14 * IN_MILLISECONDS); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); events.ScheduleEvent(EVENT_CLEAVE, 8 * IN_MILLISECONDS); break; case EVENT_STRIKE: - DoCast(me->GetVictim(), SPELL_STRIKE); + DoCastVictim(SPELL_STRIKE); events.ScheduleEvent(EVENT_STRIKE, 10 * IN_MILLISECONDS); break; case EVENT_REND: - DoCast(me->GetVictim(), SPELL_REND); + DoCastVictim(SPELL_REND); events.ScheduleEvent(EVENT_REND, 18 * IN_MILLISECONDS); break; case EVENT_SUNDER_ARMOR: - DoCast(me->GetVictim(), SPELL_SUNDERARMOR); + DoCastVictim(SPELL_SUNDERARMOR); events.ScheduleEvent(EVENT_SUNDER_ARMOR, 25 * IN_MILLISECONDS); break; case EVENT_KNOCK_AWAY: - DoCast(me->GetVictim(), SPELL_KNOCKAWAY); + DoCastVictim(SPELL_KNOCKAWAY); events.ScheduleEvent(EVENT_KNOCK_AWAY, 12 * IN_MILLISECONDS); break; case EVENT_SLOW: - DoCast(me->GetVictim(), SPELL_SLOW); + DoCastVictim(SPELL_SLOW); events.ScheduleEvent(EVENT_SLOW, 18 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp index f7edaeeb388..b792a49b714 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp @@ -108,19 +108,19 @@ public: switch (eventId) { case EVENT_BLAST_WAVE: - DoCast(me->GetVictim(), SPELL_BLASTWAVE); + DoCastVictim(SPELL_BLASTWAVE); events.ScheduleEvent(EVENT_BLAST_WAVE, 20 * IN_MILLISECONDS); break; case EVENT_SHOUT: - DoCast(me->GetVictim(), SPELL_SHOUT); + DoCastVictim(SPELL_SHOUT); events.ScheduleEvent(EVENT_SHOUT, 10 * IN_MILLISECONDS); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); events.ScheduleEvent(EVENT_CLEAVE, 7 * IN_MILLISECONDS); break; case EVENT_KNOCK_AWAY: - DoCast(me->GetVictim(), SPELL_KNOCKAWAY); + DoCastVictim(SPELL_KNOCKAWAY); events.ScheduleEvent(EVENT_KNOCK_AWAY, 14 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp index 0e934553ab7..f735159afb6 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp @@ -80,11 +80,11 @@ public: switch (eventId) { case EVENT_SHOOT: - DoCast(me->GetVictim(), SPELL_SHOOT); + DoCastVictim(SPELL_SHOOT); events.ScheduleEvent(EVENT_SHOOT, 500); break; case EVENT_STUN_BOMB: - DoCast(me->GetVictim(), SPELL_STUNBOMB); + DoCastVictim(SPELL_STUNBOMB); events.ScheduleEvent(EVENT_STUN_BOMB, 14 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp index edfa5b0c5a6..34bcedf91d7 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp @@ -81,15 +81,15 @@ public: switch (eventId) { case EVENT_WHIRLWIND: - DoCast(me->GetVictim(), SPELL_WHIRLWIND); + DoCastVictim(SPELL_WHIRLWIND); events.ScheduleEvent(EVENT_WHIRLWIND, 18 * IN_MILLISECONDS); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); events.ScheduleEvent(EVENT_CLEAVE, 10 * IN_MILLISECONDS); break; case EVENT_THUNDERCLAP: - DoCast(me->GetVictim(), SPELL_THUNDERCLAP); + DoCastVictim(SPELL_THUNDERCLAP); events.ScheduleEvent(EVENT_THUNDERCLAP, 16 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp index a521a40ab8e..b4a62ecb918 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp @@ -82,7 +82,7 @@ public: switch (eventId) { case EVENT_CURSE_OF_BLOOD: - DoCast(me->GetVictim(), SPELL_CURSEOFBLOOD); + DoCastVictim(SPELL_CURSEOFBLOOD); events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 45 * IN_MILLISECONDS); break; case EVENT_HEX: @@ -91,7 +91,7 @@ public: events.ScheduleEvent(EVENT_HEX, 15 * IN_MILLISECONDS); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); events.ScheduleEvent(EVENT_CLEAVE, 7 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp index 44f2e98f848..ff4b080282e 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp @@ -81,7 +81,7 @@ public: switch (eventId) { case EVENT_FLAME_BREAK: - DoCast(me->GetVictim(), SPELL_FLAMEBREAK); + DoCastVictim(SPELL_FLAMEBREAK); events.ScheduleEvent(EVENT_FLAME_BREAK, 10 * IN_MILLISECONDS); break; case EVENT_IMMOLATE: @@ -90,7 +90,7 @@ public: events.ScheduleEvent(EVENT_IMMOLATE, 8 * IN_MILLISECONDS); break; case EVENT_TERRIFYING_ROAR: - DoCast(me->GetVictim(), SPELL_TERRIFYINGROAR); + DoCastVictim(SPELL_TERRIFYINGROAR); events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 20 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp index 586b7c9e140..7c4a976bca8 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp @@ -90,27 +90,27 @@ public: switch (eventId) { case EVENT_SNAP_KICK: - DoCast(me->GetVictim(), SPELL_SNAPKICK); + DoCastVictim(SPELL_SNAPKICK); events.ScheduleEvent(EVENT_SNAP_KICK, 6 * IN_MILLISECONDS); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); events.ScheduleEvent(EVENT_CLEAVE, 12 * IN_MILLISECONDS); break; case EVENT_UPPERCUT: - DoCast(me->GetVictim(), SPELL_UPPERCUT); + DoCastVictim(SPELL_UPPERCUT); events.ScheduleEvent(EVENT_UPPERCUT, 14 * IN_MILLISECONDS); break; case EVENT_MORTAL_STRIKE: - DoCast(me->GetVictim(), SPELL_MORTALSTRIKE); + DoCastVictim(SPELL_MORTALSTRIKE); events.ScheduleEvent(EVENT_MORTAL_STRIKE, 10 * IN_MILLISECONDS); break; case EVENT_PUMMEL: - DoCast(me->GetVictim(), SPELL_PUMMEL); + DoCastVictim(SPELL_PUMMEL); events.ScheduleEvent(EVENT_MORTAL_STRIKE, 16 * IN_MILLISECONDS); break; case EVENT_THROW_AXE: - DoCast(me->GetVictim(), SPELL_THROWAXE); + DoCastVictim(SPELL_THROWAXE); events.ScheduleEvent(EVENT_THROW_AXE, 8 * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp index c93cc291760..9698d8c147f 100644 --- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp @@ -226,14 +226,14 @@ public: //Breath1_Timer if (Breath1_Timer <= diff) { - DoCast(me->GetVictim(), Breath1_Spell); + DoCastVictim(Breath1_Spell); Breath1_Timer = 60000; } else Breath1_Timer -= diff; //Breath2_Timer if (Breath2_Timer <= diff) { - DoCast(me->GetVictim(), Breath2_Spell); + DoCastVictim(Breath2_Spell); Breath2_Timer = 60000; } else Breath2_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp index 28eebe9f71f..77da6e54df0 100644 --- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp @@ -138,28 +138,28 @@ public: //ShadowFlame_Timer if (ShadowFlame_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWFLAME); + DoCastVictim(SPELL_SHADOWFLAME); ShadowFlame_Timer = 12000; } else ShadowFlame_Timer -= diff; //BellowingRoar_Timer if (BellowingRoar_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_BELLOWINGROAR); + DoCastVictim(SPELL_BELLOWINGROAR); BellowingRoar_Timer = 30000; } else BellowingRoar_Timer -= diff; //VeilOfShadow_Timer if (VeilOfShadow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_VEILOFSHADOW); + DoCastVictim(SPELL_VEILOFSHADOW); VeilOfShadow_Timer = 15000; } else VeilOfShadow_Timer -= diff; //Cleave_Timer if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = 7000; } else Cleave_Timer -= diff; @@ -167,7 +167,7 @@ public: if (TailLash_Timer <= diff) { //Cast NYI since we need a better check for behind target - //DoCast(me->GetVictim(), SPELL_TAILLASH); + //DoCastVictim(SPELL_TAILLASH); TailLash_Timer = 10000; } else TailLash_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp index 66afb4cd565..369e97ca99a 100644 --- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp +++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp @@ -89,28 +89,28 @@ public: //Cleave_Timer if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = urand(7000, 10000); } else Cleave_Timer -= diff; //WarStomp_Timer if (WarStomp_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WARSTOMP); + DoCastVictim(SPELL_WARSTOMP); WarStomp_Timer = urand(15000, 25000); } else WarStomp_Timer -= diff; //FireballVolley_Timer if (FireballVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBALLVOLLEY); + DoCastVictim(SPELL_FIREBALLVOLLEY); FireballVolley_Timer = urand(12000, 15000); } else FireballVolley_Timer -= diff; //Conflagration_Timer if (Conflagration_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CONFLAGRATION); + DoCastVictim(SPELL_CONFLAGRATION); //We will remove this threat reduction and add an aura check. //if (DoGetThreat(me->GetVictim())) diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp index be3d5e42014..dfa0f42f4a6 100644 --- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp +++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp @@ -205,14 +205,14 @@ public: //Cleave_Timer if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = 15000; } else Cleave_Timer -= diff; //FlameBreath_Timer if (FlameBreath_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FLAMEBREATH); + DoCastVictim(SPELL_FLAMEBREATH); FlameBreath_Timer = urand(4000, 8000); } else FlameBreath_Timer -= diff; @@ -248,7 +248,7 @@ public: //FireNova_Timer if (FireNova_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIRENOVA); + DoCastVictim(SPELL_FIRENOVA); FireNova_Timer = 5000; } else FireNova_Timer -= diff; @@ -258,7 +258,7 @@ public: //Only cast if we are behind /*if (!me->HasInArc(M_PI, me->GetVictim())) { - DoCast(me->GetVictim(), SPELL_TAILSWIPE); + DoCastVictim(SPELL_TAILSWIPE); }*/ TailSwipe_Timer = 20000; diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp index b1642f8fc0b..04ae634eb55 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp @@ -110,7 +110,7 @@ public: if (uiSlamTimer <= uiDiff) { if (bCheckChances()) - DoCast(me->GetVictim(), SPELL_SMITE_SLAM); + DoCastVictim(SPELL_SMITE_SLAM); uiSlamTimer = 11000; } else uiSlamTimer -= uiDiff; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp index 9d59ea5ee1f..ff31074617c 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp @@ -108,7 +108,7 @@ public: if (Repentance_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_REPENTANCE); + DoCastVictim(SPELL_REPENTANCE); Talk(SAY_REPENTANCE); Repentance_Timer = urand(25000, 35000); //A little randomness on that spell diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp index 1ebde76ea77..be6eac01cc4 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp @@ -262,13 +262,13 @@ void boss_attumen::boss_attumenAI::UpdateAI(uint32 diff) if (CleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWCLEAVE); + DoCastVictim(SPELL_SHADOWCLEAVE); CleaveTimer = urand(10000, 15000); } else CleaveTimer -= diff; if (CurseTimer <= diff) { - DoCast(me->GetVictim(), SPELL_INTANGIBLE_PRESENCE); + DoCastVictim(SPELL_INTANGIBLE_PRESENCE); CurseTimer = 30000; } else CurseTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp index 7c1e7cac71a..69631ca90b9 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp @@ -430,7 +430,7 @@ public: if (MindFlay_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MINDFLY); + DoCastVictim(SPELL_MINDFLY); MindFlay_Timer = 12000; // 3 sec channeled } else MindFlay_Timer -= diff; @@ -498,13 +498,13 @@ public: if (JudgementOfCommand_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_JUDGEMENTOFCOMMAND); + DoCastVictim(SPELL_JUDGEMENTOFCOMMAND); JudgementOfCommand_Timer = SealOfCommand_Timer + 29000; } else JudgementOfCommand_Timer -= diff; if (HammerOfJustice_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMMEROFJUSTICE); + DoCastVictim(SPELL_HAMMEROFJUSTICE); HammerOfJustice_Timer = 12000; } else HammerOfJustice_Timer -= diff; } @@ -566,7 +566,7 @@ public: if (HolyFire_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HOLYFIRE); + DoCastVictim(SPELL_HOLYFIRE); HolyFire_Timer = 22000; } else HolyFire_Timer -= diff; @@ -692,13 +692,13 @@ public: if (Hamstring_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMSTRING); + DoCastVictim(SPELL_HAMSTRING); Hamstring_Timer = 12000; } else Hamstring_Timer -= diff; if (MortalStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTALSTRIKE); + DoCastVictim(SPELL_MORTALSTRIKE); MortalStrike_Timer = 18000; } else MortalStrike_Timer -= diff; @@ -750,19 +750,19 @@ public: if (Disarm_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_DISARM); + DoCastVictim(SPELL_DISARM); Disarm_Timer = 12000; } else Disarm_Timer -= diff; if (HeroicStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HEROICSTRIKE); + DoCastVictim(SPELL_HEROICSTRIKE); HeroicStrike_Timer = 10000; } else HeroicStrike_Timer -= diff; if (ShieldBash_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHIELDBASH); + DoCastVictim(SPELL_SHIELDBASH); ShieldBash_Timer = 13000; } else ShieldBash_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index 5e8921825c5..cccf45d9c32 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -315,13 +315,13 @@ public: if (BellowingRoarTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BELLOWING_ROAR); + DoCastVictim(SPELL_BELLOWING_ROAR); BellowingRoarTimer = urand(30000, 40000); } else BellowingRoarTimer -= diff; if (SmolderingBreathTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SMOLDERING_BREATH); + DoCastVictim(SPELL_SMOLDERING_BREATH); SmolderingBreathTimer = 20000; } else SmolderingBreathTimer -= diff; @@ -370,14 +370,14 @@ public: { for (uint8 i = 0; i <= 3; ++i) { - DoCast(me->GetVictim(), SPELL_SUMMON_SKELETON); + DoCastVictim(SPELL_SUMMON_SKELETON); Skeletons = true; } } if (RainofBonesTimer < diff && !RainBones) // only once at the beginning of phase 2 { - DoCast(me->GetVictim(), SPELL_RAIN_OF_BONES); + DoCastVictim(SPELL_RAIN_OF_BONES); RainBones = true; SmokingBlastTimer = 20000; } else RainofBonesTimer -= diff; @@ -394,7 +394,7 @@ public: { if (SmokingBlastTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SMOKING_BLAST); + DoCastVictim(SPELL_SMOKING_BLAST); SmokingBlastTimer = 1500; //timer wrong } else SmokingBlastTimer -= diff; } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index 324c8e077e6..bb9f36f36c9 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -480,13 +480,13 @@ public: if (SunderArmorTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SUNDER_ARMOR); + DoCastVictim(SPELL_SUNDER_ARMOR); SunderArmorTimer = urand(10000, 18000); } else SunderArmorTimer -= diff; if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = urand(6000, 12000); } else Cleave_Timer -= diff; } @@ -530,7 +530,7 @@ public: if (ShadowNovaTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWNOVA); + DoCastVictim(SPELL_SHADOWNOVA); ShadowNovaTimer = phase == 3 ? 31000 : uint32(-1); } else ShadowNovaTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp index 77cf0e4f226..998406e6d8c 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp @@ -538,7 +538,7 @@ public: if (CastTimer <= diff) { - DoCast(me->GetVictim(), SPELL_WATERBOLT); + DoCastVictim(SPELL_WATERBOLT); CastTimer = urand(2000, 5000); } else CastTimer -= diff; } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp index c10c45a400d..ea2793a1463 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp @@ -120,7 +120,7 @@ public: if (AmplifyTimer <= diff) { me->InterruptNonMeleeSpells(false); - DoCast(me->GetVictim(), SPELL_AMPLIFY_FLAMES); + DoCastVictim(SPELL_AMPLIFY_FLAMES); AmplifyTimer = urand(10000, 20000); } else AmplifyTimer -= diff; @@ -236,7 +236,7 @@ public: if (FireboltTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBOLT); + DoCastVictim(SPELL_FIREBOLT); FireboltTimer = 2200; } else FireboltTimer -= diff; @@ -394,10 +394,10 @@ public: if (SummonTimer <= diff) { if (!PortalGUID[0]) - DoCast(me->GetVictim(), SPELL_FIENDISH_PORTAL, false); + DoCastVictim(SPELL_FIENDISH_PORTAL, false); if (!PortalGUID[1]) - DoCast(me->GetVictim(), SPELL_FIENDISH_PORTAL_1, false); + DoCastVictim(SPELL_FIENDISH_PORTAL_1, false); if (PortalGUID[0] && PortalGUID[1]) { diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index 9425bf269d1..c23c282f7e6 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -209,7 +209,7 @@ public: if (FearTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SCREAM); + DoCastVictim(SPELL_SCREAM); FearTimer = 30000; } else FearTimer -= diff; @@ -270,7 +270,7 @@ public: if (YipTimer <= diff) { - DoCast(me->GetVictim(), SPELL_YIPPING); + DoCastVictim(SPELL_YIPPING); YipTimer = 10000; } else YipTimer -= diff; @@ -389,7 +389,7 @@ public: if (BrainBashTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BRAIN_BASH); + DoCastVictim(SPELL_BRAIN_BASH); BrainBashTimer = 15000; } else BrainBashTimer -= diff; @@ -494,7 +494,7 @@ public: if (CleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); CleaveTimer = 5000; } else CleaveTimer -= diff; @@ -601,19 +601,19 @@ public: if (MangleTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MANGLE); + DoCastVictim(SPELL_MANGLE); MangleTimer = urand(5000, 8000); } else MangleTimer -= diff; if (ShredTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHRED); + DoCastVictim(SPELL_SHRED); ShredTimer = urand(10000, 15000); } else ShredTimer -= diff; if (ScreamTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FRIGHTENED_SCREAM); + DoCastVictim(SPELL_FRIGHTENED_SCREAM); ScreamTimer = urand(20000, 30000); } else ScreamTimer -= diff; @@ -699,7 +699,7 @@ public: if (ChainLightningTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CHAIN_LIGHTNING); + DoCastVictim(SPELL_CHAIN_LIGHTNING); ChainLightningTimer = 15000; } else ChainLightningTimer -= diff; @@ -917,13 +917,13 @@ public: if (FearTimer <= diff) { - DoCast(me->GetVictim(), SPELL_TERRIFYING_HOWL); + DoCastVictim(SPELL_TERRIFYING_HOWL); FearTimer = urand(25000, 35000); } else FearTimer -= diff; if (SwipeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_WIDE_SWIPE); + DoCastVictim(SPELL_WIDE_SWIPE); SwipeTimer = urand(25000, 30000); } else SwipeTimer -= diff; } @@ -1322,7 +1322,7 @@ public: if (PoisonThrustTimer <= diff) { - DoCast(me->GetVictim(), SPELL_POISON_THRUST); + DoCastVictim(SPELL_POISON_THRUST); PoisonThrustTimer = urand(10000, 20000); } else PoisonThrustTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index 35ca6e578de..dcb7acac7d6 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -298,14 +298,14 @@ public: me->InterruptSpell(CURRENT_CHANNELED_SPELL); me->InterruptSpell(CURRENT_GENERIC_SPELL); DoCast(me, SPELL_SHOCK_BARRIER, true); - DoCast(me->GetVictim(), SPELL_PYROBLAST); + DoCastVictim(SPELL_PYROBLAST); PyroblastTimer = 60000; } else PyroblastTimer -= diff; } if (FireballTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBALL_NORMAL); + DoCastVictim(SPELL_FIREBALL_NORMAL); FireballTimer = urand(2000, 6000); } else FireballTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp index 53d1c4561bd..56361e2fd54 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp @@ -544,8 +544,8 @@ public: { if (Wait_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_BACKSTAB, true); - DoCast(me->GetVictim(), SPELL_KIDNEY_SHOT, true); + DoCastVictim(SPELL_BACKSTAB, true); + DoCastVictim(SPELL_KIDNEY_SHOT, true); me->SetVisible(true); // ...? Hacklike InVanish = false; } else Wait_Timer -= diff; @@ -553,19 +553,19 @@ public: if (Gouge_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_GOUGE); + DoCastVictim(SPELL_GOUGE); Gouge_Timer = 5500; } else Gouge_Timer -= diff; if (Kick_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KICK); + DoCastVictim(SPELL_KICK); Kick_Timer = 7000; } else Kick_Timer -= diff; if (Eviscerate_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_EVISCERATE); + DoCastVictim(SPELL_EVISCERATE); Eviscerate_Timer = 4000; } else Eviscerate_Timer -= diff; @@ -632,13 +632,13 @@ public: if (Immolate_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_IMMOLATE); + DoCastVictim(SPELL_IMMOLATE); Immolate_Timer = 6000; } else Immolate_Timer -= diff; if (Shadow_Bolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOW_BOLT); + DoCastVictim(SPELL_SHADOW_BOLT); Shadow_Bolt_Timer = 5000; } else Shadow_Bolt_Timer -= diff; @@ -712,13 +712,13 @@ public: if (Knockdown_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCKDOWN); + DoCastVictim(SPELL_KNOCKDOWN); Knockdown_Timer = 6000; } else Knockdown_Timer -= diff; if (Snap_Kick_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SNAP_KICK); + DoCastVictim(SPELL_SNAP_KICK); Snap_Kick_Timer = 4500; } else Snap_Kick_Timer -= diff; @@ -812,19 +812,19 @@ public: if (Ice_Lance_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ICE_LANCE); + DoCastVictim(SPELL_ICE_LANCE); Ice_Lance_Timer = 12000; } else Ice_Lance_Timer -= diff; if (Cone_of_Cold_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CONE_OF_COLD); + DoCastVictim(SPELL_CONE_OF_COLD); Cone_of_Cold_Timer = 10000; } else Cone_of_Cold_Timer -= diff; if (Frostbolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTBOLT); + DoCastVictim(SPELL_FROSTBOLT); Frostbolt_Timer = 8000; } else Frostbolt_Timer -= diff; @@ -943,31 +943,31 @@ public: if (Disarm_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_DISARM); + DoCastVictim(SPELL_DISARM); Disarm_Timer = 6000; } else Disarm_Timer -= diff; if (Hamstring_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMSTRING); + DoCastVictim(SPELL_HAMSTRING); Hamstring_Timer = 4500; } else Hamstring_Timer -= diff; if (Mortal_Strike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTAL_STRIKE); + DoCastVictim(SPELL_MORTAL_STRIKE); Mortal_Strike_Timer = 4500; } else Mortal_Strike_Timer -= diff; if (Piercing_Howl_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_PIERCING_HOWL); + DoCastVictim(SPELL_PIERCING_HOWL); Piercing_Howl_Timer = 10000; } else Piercing_Howl_Timer -= diff; if (Frightening_Shout_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FRIGHTENING_SHOUT); + DoCastVictim(SPELL_FRIGHTENING_SHOUT); Frightening_Shout_Timer = 18000; } else Frightening_Shout_Timer -= diff; @@ -1047,7 +1047,7 @@ public: { if (Wing_Clip_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WING_CLIP); + DoCastVictim(SPELL_WING_CLIP); Wing_Clip_Timer = 4000; } else Wing_Clip_Timer -= diff; @@ -1062,7 +1062,7 @@ public: else { //if go does not exist, then we can cast - DoCast(me->GetVictim(), SPELL_FREEZING_TRAP); + DoCastVictim(SPELL_FREEZING_TRAP); Freezing_Trap_Timer = 15000; } } else Freezing_Trap_Timer -= diff; @@ -1073,25 +1073,25 @@ public: { if (Concussive_Shot_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CONCUSSIVE_SHOT); + DoCastVictim(SPELL_CONCUSSIVE_SHOT); Concussive_Shot_Timer = 8000; } else Concussive_Shot_Timer -= diff; if (Multi_Shot_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MULTI_SHOT); + DoCastVictim(SPELL_MULTI_SHOT); Multi_Shot_Timer = 10000; } else Multi_Shot_Timer -= diff; if (Aimed_Shot_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_AIMED_SHOT); + DoCastVictim(SPELL_AIMED_SHOT); Aimed_Shot_Timer = 6000; } else Aimed_Shot_Timer -= diff; if (Shoot_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHOOT); + DoCastVictim(SPELL_SHOOT); Shoot_Timer = 2500; } else Shoot_Timer -= diff; } @@ -1174,7 +1174,7 @@ public: if (Frost_Shock_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROST_SHOCK); + DoCastVictim(SPELL_FROST_SHOCK); Frost_Shock_Timer = 7000; } else Frost_Shock_Timer -= diff; @@ -1249,19 +1249,19 @@ public: if (Goblin_Dragon_Gun_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_GOBLIN_DRAGON_GUN); + DoCastVictim(SPELL_GOBLIN_DRAGON_GUN); Goblin_Dragon_Gun_Timer = 10000; } else Goblin_Dragon_Gun_Timer -= diff; if (Rocket_Launch_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ROCKET_LAUNCH); + DoCastVictim(SPELL_ROCKET_LAUNCH); Rocket_Launch_Timer = 9000; } else Rocket_Launch_Timer -= diff; if (Fel_Iron_Bomb_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FEL_IRON_BOMB); + DoCastVictim(SPELL_FEL_IRON_BOMB); Fel_Iron_Bomb_Timer = 15000; } else Fel_Iron_Bomb_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp index bea25ec0471..0872e5b9935 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp @@ -185,7 +185,7 @@ public: { if (OverloadTimer <= diff) { - DoCast(me->GetVictim(), SPELL_OVERLOAD); + DoCastVictim(SPELL_OVERLOAD); OverloadTimer = 2000; } else OverloadTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp index 9d313883b40..8ddc7dc01bd 100644 --- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp +++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp @@ -163,7 +163,7 @@ class mob_core_rager : public CreatureScript // Mangle if (mangleTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MANGLE); + DoCastVictim(SPELL_MANGLE); mangleTimer = 10*IN_MILLISECONDS; } else diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index fc3eb1318b2..7f5936ff289 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -245,22 +245,22 @@ public: switch (eventId) { case EVENT_ICY_TOUCH: - DoCast(me->GetVictim(), SPELL_ICY_TOUCH); + DoCastVictim(SPELL_ICY_TOUCH); events.DelayEvents(1000, GCD_CAST); events.ScheduleEvent(EVENT_ICY_TOUCH, 5000, GCD_CAST); break; case EVENT_PLAGUE_STRIKE: - DoCast(me->GetVictim(), SPELL_PLAGUE_STRIKE); + DoCastVictim(SPELL_PLAGUE_STRIKE); events.DelayEvents(1000, GCD_CAST); events.ScheduleEvent(SPELL_PLAGUE_STRIKE, 5000, GCD_CAST); break; case EVENT_BLOOD_STRIKE: - DoCast(me->GetVictim(), SPELL_BLOOD_STRIKE); + DoCastVictim(SPELL_BLOOD_STRIKE); events.DelayEvents(1000, GCD_CAST); events.ScheduleEvent(EVENT_BLOOD_STRIKE, 5000, GCD_CAST); break; case EVENT_DEATH_COIL: - DoCast(me->GetVictim(), SPELL_DEATH_COIL); + DoCastVictim(SPELL_DEATH_COIL); events.DelayEvents(1000, GCD_CAST); events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST); break; diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp index 7cc3f3cc2e4..a9374481b77 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp @@ -498,14 +498,14 @@ public: if (uiInquisitor_Penance_timer <= diff) { Shout(); - DoCast(me->GetVictim(), SPELL_INQUISITOR_PENANCE); + DoCastVictim(SPELL_INQUISITOR_PENANCE); uiInquisitor_Penance_timer = urand(2000, 7000); } else uiInquisitor_Penance_timer -= diff; if (uiValroth_Smite_timer <= diff) { Shout(); - DoCast(me->GetVictim(), SPELL_VALROTH_SMITE); + DoCastVictim(SPELL_VALROTH_SMITE); uiValroth_Smite_timer = urand(1000, 6000); } else uiValroth_Smite_timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index b500ec60b87..4aff2e93212 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -1343,25 +1343,25 @@ public: if (uiDeath_strike <= diff) { - DoCast(me->GetVictim(), SPELL_DEATH_STRIKE); + DoCastVictim(SPELL_DEATH_STRIKE); uiDeath_strike = urand(5000, 10000); } else uiDeath_strike -= diff; if (uiDeath_embrace <= diff) { - DoCast(me->GetVictim(), SPELL_DEATH_EMBRACE); + DoCastVictim(SPELL_DEATH_EMBRACE); uiDeath_embrace = urand(5000, 10000); } else uiDeath_embrace -= diff; if (uiIcy_touch <= diff) { - DoCast(me->GetVictim(), SPELL_ICY_TOUCH1); + DoCastVictim(SPELL_ICY_TOUCH1); uiIcy_touch = urand(5000, 10000); } else uiIcy_touch -= diff; if (uiUnholy_blight <= diff) { - DoCast(me->GetVictim(), SPELL_UNHOLY_BLIGHT); + DoCastVictim(SPELL_UNHOLY_BLIGHT); uiUnholy_blight = urand(5000, 10000); } else uiUnholy_blight -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp index b08eb55d7a4..1e7ae1d16b7 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp @@ -112,7 +112,7 @@ public: //AoESilence_Timer if (AoESilence_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_AOESILENCE); + DoCastVictim(SPELL_AOESILENCE); AoESilence_Timer = urand(15000, 20000); } else AoESilence_Timer -= diff; @@ -120,7 +120,7 @@ public: //ArcaneExplosion_Timer if (ArcaneExplosion_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANEEXPLOSION); + DoCastVictim(SPELL_ARCANEEXPLOSION); ArcaneExplosion_Timer = 8000; } else ArcaneExplosion_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp index ad1a3604354..b225faa04e0 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp @@ -71,7 +71,7 @@ public: //SoulSiphon_Timer if (SoulSiphon_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SOULSIPHON); + DoCastVictim(SPELL_SOULSIPHON); return; //SoulSiphon_Timer = 20000; @@ -82,7 +82,7 @@ public: //CallOfTheGrave_Timer if (CallOftheGrave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CALLOFTHEGRAVE); + DoCastVictim(SPELL_CALLOFTHEGRAVE); CallOftheGrave_Timer = 30000; } else CallOftheGrave_Timer -= diff; @@ -90,7 +90,7 @@ public: //Terrify_Timer if (Terrify_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_TERRIFY); + DoCastVictim(SPELL_TERRIFY); Terrify_Timer = 20000; } else Terrify_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp index 60a95b3ffea..cdd67645213 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp @@ -92,7 +92,7 @@ public: //FlameShock_Timer if (FlameShock_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FLAMESHOCK); + DoCastVictim(SPELL_FLAMESHOCK); FlameShock_Timer = urand(10000, 15000); } else FlameShock_Timer -= diff; @@ -100,7 +100,7 @@ public: //FlameSpike_Timer if (FlameSpike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FLAMESPIKE); + DoCastVictim(SPELL_FLAMESPIKE); FlameSpike_Timer = 30000; } else FlameSpike_Timer -= diff; @@ -108,7 +108,7 @@ public: //FireNova_Timer if (FireNova_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIRENOVA); + DoCastVictim(SPELL_FIRENOVA); FireNova_Timer = 40000; } else FireNova_Timer -= diff; @@ -116,7 +116,7 @@ public: //ShadowBolt_Timer if (ShadowBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWBOLT); + DoCastVictim(SPELL_SHADOWBOLT); ShadowBolt_Timer = 2000; } else ShadowBolt_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp index 7b833b07abb..baac9609c57 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp @@ -731,7 +731,7 @@ public: DoMeleeAttackIfReady(); if (cleave <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); cleave = urand(2000, 6000); //1 cleave per 2.0f-6.0fsec } else cleave -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp index 6f03ae70c81..491cbf6ea11 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp @@ -110,7 +110,7 @@ public: //Cleave_Timer if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = 12000; } else Cleave_Timer -= diff; @@ -119,7 +119,7 @@ public: if (Whirlwind_Timer <= diff) { Talk(SAY_WHIRLWIND); - DoCast(me->GetVictim(), SPELL_WHIRLWIND); + DoCastVictim(SPELL_WHIRLWIND); Whirlwind_Timer = 30000; } else Whirlwind_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp index d482fb28894..8db98127f65 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp @@ -130,7 +130,7 @@ public: //CurseOfBlood_Timer if (CurseOfBlood_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CURSEOFBLOOD); + DoCastVictim(SPELL_CURSEOFBLOOD); CurseOfBlood_Timer = 25000; } else CurseOfBlood_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp index 326fb0e4591..857e046ec04 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp @@ -110,7 +110,7 @@ public: //ShadowWordPain_Timer if (ShadowWordPain_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWWORDPAIN); + DoCastVictim(SPELL_SHADOWWORDPAIN); ShadowWordPain_Timer = urand(5000, 15000); } else ShadowWordPain_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp index fe12bbc0c5d..3169bf754f3 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp @@ -206,7 +206,7 @@ public: //CrusaderStrike_Timer if (CrusaderStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CRUSADERSTRIKE); + DoCastVictim(SPELL_CRUSADERSTRIKE); CrusaderStrike_Timer = 10000; } else CrusaderStrike_Timer -= diff; @@ -214,7 +214,7 @@ public: //HammerOfJustice_Timer if (HammerOfJustice_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMMEROFJUSTICE); + DoCastVictim(SPELL_HAMMEROFJUSTICE); HammerOfJustice_Timer = 60000; } else HammerOfJustice_Timer -= diff; @@ -316,7 +316,7 @@ public: if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(false); - DoCast(me->GetVictim(), SPELL_DEEPSLEEP); + DoCastVictim(SPELL_DEEPSLEEP); _bCanResurrectCheck = true; _bCanResurrect = true; return; @@ -362,7 +362,7 @@ public: //HolySmite_Timer if (HolySmite_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HOLYSMITE); + DoCastVictim(SPELL_HOLYSMITE); HolySmite_Timer = 6000; } else HolySmite_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp index 66457d48995..8a61b3088e1 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp @@ -71,7 +71,7 @@ public: //LichSlap_Timer if (LichSlap_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_LICHSLAP); + DoCastVictim(SPELL_LICHSLAP); LichSlap_Timer = 45000; } else LichSlap_Timer -= diff; @@ -79,7 +79,7 @@ public: //FrostboltVolley_Timer if (FrostboltVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTBOLTVOLLEY); + DoCastVictim(SPELL_FROSTBOLTVOLLEY); FrostboltVolley_Timer = 20000; } else FrostboltVolley_Timer -= diff; @@ -87,7 +87,7 @@ public: //MindFlay_Timer if (MindFlay_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MINDFLAY); + DoCastVictim(SPELL_MINDFLAY); MindFlay_Timer = 20000; } else MindFlay_Timer -= diff; @@ -95,7 +95,7 @@ public: //FrostNova_Timer if (FrostNova_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTNOVA); + DoCastVictim(SPELL_FROSTNOVA); FrostNova_Timer = 15000; } else FrostNova_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp index 1e932e00190..7a46483a897 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp @@ -94,7 +94,7 @@ public: if (CurseOfBlood_Timer <= diff) { //Cast - DoCast(me->GetVictim(), SPELL_CURSEOFBLOOD); + DoCastVictim(SPELL_CURSEOFBLOOD); //45 seconds CurseOfBlood_Timer = 30000; @@ -130,7 +130,7 @@ public: // if (Illusion_Timer <= diff) // { // //Cast - // DoCast(me->GetVictim(), SPELL_ILLUSION); + // DoCastVictim(SPELL_ILLUSION); // // //3 Illusion will be summoned // if (Illusioncounter < 3) @@ -190,7 +190,7 @@ public: if (Cleave_Timer <= diff) { //Cast - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); //5-8 seconds Cleave_Timer = urand(5000, 8000); diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp index c386da3fc97..b7556334691 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp @@ -82,14 +82,14 @@ public: //ShadowVolley_Timer if (ShadowVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWBOLTVOLLEY); + DoCastVictim(SPELL_SHADOWBOLTVOLLEY); ShadowVolley_Timer = 15000; } else ShadowVolley_Timer -= diff; //BoneShield_Timer if (BoneShield_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_BONESHIELD); + DoCastVictim(SPELL_BONESHIELD); BoneShield_Timer = 45000; } else BoneShield_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp index dbe4f2755ce..00fb2220210 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp @@ -95,28 +95,28 @@ public: //Freeze_Timer if (Freeze_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FREEZE); + DoCastVictim(SPELL_FREEZE); Freeze_Timer = 24000; } else Freeze_Timer -= diff; //Fear_Timer if (Fear_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FEAR); + DoCastVictim(SPELL_FEAR); Fear_Timer = 30000; } else Fear_Timer -= diff; //ChillNova_Timer if (ChillNova_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CHILLNOVA); + DoCastVictim(SPELL_CHILLNOVA); ChillNova_Timer = 14000; } else ChillNova_Timer -= diff; //FrostVolley_Timer if (FrostVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTVOLLEY); + DoCastVictim(SPELL_FROSTVOLLEY); FrostVolley_Timer = 15000; } else FrostVolley_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp index ee6d9780a1a..e606ff2229f 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp @@ -77,7 +77,7 @@ public: //BlastWave_Timer if (m_uiBlastWave_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_BLAST_WAVE); + DoCastVictim(SPELL_BLAST_WAVE); m_uiBlastWave_Timer = 12000; } else diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp index d1a43c5e4b7..d2b884188c6 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp @@ -125,7 +125,7 @@ public: if (ShadowBolt_Timer <= diff) { if (SelectTarget(SELECT_TARGET_RANDOM, 0)) - DoCast(me->GetVictim(), SPELL_SHADOWBOLT); + DoCastVictim(SPELL_SHADOWBOLT); ShadowBolt_Timer = 10000; } else ShadowBolt_Timer -= diff; @@ -133,7 +133,7 @@ public: //Cleave if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); //13 seconds until we should cast this again Cleave_Timer = 7000 + (rand()%10000); } else Cleave_Timer -= diff; @@ -141,7 +141,7 @@ public: //MortalStrike if (MortalStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTALSTRIKE); + DoCastVictim(SPELL_MORTALSTRIKE); MortalStrike_Timer = 10000 + (rand()%15000); } else MortalStrike_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp index eddaae4e106..258bef64612 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp @@ -83,7 +83,7 @@ public: if (BansheeWail_Timer <= diff) { if (rand()%100 < 95) - DoCast(me->GetVictim(), SPELL_BANSHEEWAIL); + DoCastVictim(SPELL_BANSHEEWAIL); //4 seconds until we should cast this again BansheeWail_Timer = 4000; } else BansheeWail_Timer -= diff; @@ -92,7 +92,7 @@ public: if (BansheeCurse_Timer <= diff) { if (rand()%100 < 75) - DoCast(me->GetVictim(), SPELL_BANSHEECURSE); + DoCastVictim(SPELL_BANSHEECURSE); //18 seconds until we should cast this again BansheeCurse_Timer = 18000; } else BansheeCurse_Timer -= diff; @@ -101,7 +101,7 @@ public: if (Silence_Timer <= diff) { if (rand()%100 < 80) - DoCast(me->GetVictim(), SPELL_SILENCE); + DoCastVictim(SPELL_SILENCE); //13 seconds until we should cast this again Silence_Timer = 13000; } else Silence_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp index 98fc6093496..345f42d21c8 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp @@ -131,7 +131,7 @@ public: //Cast if (rand()%100 < 90) //90% chance to cast { - DoCast(me->GetVictim(), SPELL_PUMMEL); + DoCastVictim(SPELL_PUMMEL); } //12 seconds until we should cast this again Pummel_Timer = 12000; @@ -143,7 +143,7 @@ public: //Cast if (rand()%100 < 80) //80% chance to cast { - DoCast(me->GetVictim(), SPELL_KNOCKAWAY); + DoCastVictim(SPELL_KNOCKAWAY); } //14 seconds until we should cast this again KnockAway_Timer = 14000; @@ -153,7 +153,7 @@ public: if (Shoot_Timer <= diff) { //Cast - DoCast(me->GetVictim(), SPELL_SHOOT); + DoCastVictim(SPELL_SHOOT); //1 seconds until we should cast this again Shoot_Timer = 1000; } else Shoot_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp index 96fa0b71876..593b2fd53b1 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp @@ -131,28 +131,28 @@ public: //MindBlast if (m_uiMindBlast_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_MINDBLAST); + DoCastVictim(SPELL_MINDBLAST); m_uiMindBlast_Timer = urand(15000, 20000); } else m_uiMindBlast_Timer -= uiDiff; //CrusadersHammer if (m_uiCrusadersHammer_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_CRUSADERSHAMMER); + DoCastVictim(SPELL_CRUSADERSHAMMER); m_uiCrusadersHammer_Timer = 12000; } else m_uiCrusadersHammer_Timer -= uiDiff; //CrusaderStrike if (m_uiCrusaderStrike_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_CRUSADERSTRIKE); + DoCastVictim(SPELL_CRUSADERSTRIKE); m_uiCrusaderStrike_Timer = 15000; } else m_uiCrusaderStrike_Timer -= uiDiff; //HolyStrike if (m_uiHolyStrike_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_HOLYSTRIKE); + DoCastVictim(SPELL_HOLYSTRIKE); m_uiHolyStrike_Timer = 15000; } else m_uiHolyStrike_Timer -= uiDiff; @@ -173,14 +173,14 @@ public: //MindBlast if (m_uiMindBlast_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_MINDBLAST); + DoCastVictim(SPELL_MINDBLAST); m_uiMindBlast_Timer = urand(15000, 20000); } else m_uiMindBlast_Timer -= uiDiff; //ShadowShock if (m_uiShadowShock_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_SHADOWSHOCK); + DoCastVictim(SPELL_SHADOWSHOCK); m_uiShadowShock_Timer = 11000; } else m_uiShadowShock_Timer -= uiDiff; @@ -205,7 +205,7 @@ public: //MindControl if (m_uiMindControl_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_MINDCONTROL); + DoCastVictim(SPELL_MINDCONTROL); m_uiMindControl_Timer = 15000; } else m_uiMindControl_Timer -= uiDiff; } diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp index bda54375bdb..db5509662ef 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp @@ -104,21 +104,21 @@ public: //DrainingBlow if (DrainingBlow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_DRAININGBLOW); + DoCastVictim(SPELL_DRAININGBLOW); DrainingBlow_Timer = 15000; } else DrainingBlow_Timer -= diff; //CrowdPummel if (CrowdPummel_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CROWDPUMMEL); + DoCastVictim(SPELL_CROWDPUMMEL); CrowdPummel_Timer = 15000; } else CrowdPummel_Timer -= diff; //MightyBlow if (MightyBlow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MIGHTYBLOW); + DoCastVictim(SPELL_MIGHTYBLOW); MightyBlow_Timer = 20000; } else MightyBlow_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp index 25d297b81b7..83fbcac20fd 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp @@ -82,7 +82,7 @@ public: if (Frostbolt_Timer <= diff) { if (rand()%100 < 90) - DoCast(me->GetVictim(), SPELL_FROSTBOLT); + DoCastVictim(SPELL_FROSTBOLT); Frostbolt_Timer = 3500; } else Frostbolt_Timer -= diff; @@ -90,7 +90,7 @@ public: if (IceTomb_Timer <= diff) { if (rand()%100 < 65) - DoCast(me->GetVictim(), SPELL_ICETOMB); + DoCastVictim(SPELL_ICETOMB); IceTomb_Timer = 28000; } else IceTomb_Timer -= diff; @@ -98,7 +98,7 @@ public: if (DrainLife_Timer <= diff) { if (rand()%100 < 55) - DoCast(me->GetVictim(), SPELL_DRAINLIFE); + DoCastVictim(SPELL_DRAINLIFE); DrainLife_Timer = 31000; } else DrainLife_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp index 690b3035da3..51fa2418560 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp @@ -92,7 +92,7 @@ public: //EncasingWebs if (EncasingWebs_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ENCASINGWEBS); + DoCastVictim(SPELL_ENCASINGWEBS); EncasingWebs_Timer = 30000; } else EncasingWebs_Timer -= diff; @@ -100,14 +100,14 @@ public: if (PierceArmor_Timer <= diff) { if (urand(0, 3) < 2) - DoCast(me->GetVictim(), SPELL_PIERCEARMOR); + DoCastVictim(SPELL_PIERCEARMOR); PierceArmor_Timer = 35000; } else PierceArmor_Timer -= diff; //CryptScarabs_Timer if (CryptScarabs_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CRYPT_SCARABS); + DoCastVictim(SPELL_CRYPT_SCARABS); CryptScarabs_Timer = 20000; } else CryptScarabs_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp index a0cfb383872..3d876671238 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp @@ -98,7 +98,7 @@ public: //Knockout if (Knockout_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCKOUT); + DoCastVictim(SPELL_KNOCKOUT); Knockout_Timer = 10000; } else Knockout_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp index dc2a8188ea9..df00dfcaa4f 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp @@ -78,7 +78,7 @@ public: if (RavenousClaw_Timer <= diff) { //Cast - DoCast(me->GetVictim(), SPELL_RAVENOUSCLAW); + DoCastVictim(SPELL_RAVENOUSCLAW); //15 seconds until we should cast this again RavenousClaw_Timer = 15000; } else RavenousClaw_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index 1e800c617bf..ca6464f2080 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -306,14 +306,14 @@ public: if (SlashTimer <= diff) { - DoCast(me->GetVictim(), SPELL_METEOR_SLASH); + DoCastVictim(SPELL_METEOR_SLASH); SlashTimer = 11000; } else SlashTimer -= diff; if (StompTimer <= diff) { Talk(YELL_LOVE); - DoCast(me->GetVictim(), SPELL_STOMP); + DoCastVictim(SPELL_STOMP); StompTimer = 30000; } else StompTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp index 35b48aaea70..b9aef826738 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp @@ -645,7 +645,7 @@ public: { if (!me->IsNonMeleeSpellCasted(false)) { - DoCast(me->GetVictim(), SPELL_BLAZE); + DoCastVictim(SPELL_BLAZE); BlazeTimer = 3800; } } else BlazeTimer -= diff; @@ -733,7 +733,7 @@ public: { //If we are within range melee the target if (me->IsWithinMeleeRange(me->GetVictim())) - DoCast(me->GetVictim(), SPELL_DARK_STRIKE); + DoCastVictim(SPELL_DARK_STRIKE); } DarkstrikeTimer = 3000; } else DarkstrikeTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp index 6af7634a90a..7db85b79d20 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp @@ -428,11 +428,11 @@ public: events.ScheduleEvent(EVENT_BERSERK, 10000); break; case EVENT_CLEAVE: - DoCast(me->GetVictim(), SPELL_CLEAVE, false); + DoCastVictim(SPELL_CLEAVE, false); events.ScheduleEvent(EVENT_CLEAVE, urand(5000, 10000)); break; case EVENT_CORROSION: - DoCast(me->GetVictim(), SPELL_CORROSION, false); + DoCastVictim(SPELL_CORROSION, false); events.ScheduleEvent(EVENT_CORROSION, urand(20000, 30000)); break; case EVENT_GAS_NOVA: diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp index 345112ac48e..c24e5864fae 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp @@ -528,7 +528,7 @@ public: if (HeroicStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_HEROIC_STRIKE); + DoCastVictim(SPELL_HEROIC_STRIKE); HeroicStrikeTimer = 2000; } else HeroicStrikeTimer -= diff; @@ -789,7 +789,7 @@ public: if (CorruptionStrikeTimer <= diff) { if (!(rand()%5))Talk(SAY_SATH_SPELL2); - DoCast(me->GetVictim(), SPELL_CORRUPTION_STRIKE); + DoCastVictim(SPELL_CORRUPTION_STRIKE); CorruptionStrikeTimer = 13000; } else CorruptionStrikeTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index a051274d1b1..c0d7bb19b9d 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -725,8 +725,8 @@ public: case TIMER_SOUL_FLAY: if (!me->IsNonMeleeSpellCasted(false)) { - DoCast(me->GetVictim(), SPELL_SOUL_FLAY_SLOW, false); - DoCast(me->GetVictim(), SPELL_SOUL_FLAY, false); + DoCastVictim(SPELL_SOUL_FLAY_SLOW, false); + DoCastVictim(SPELL_SOUL_FLAY, false); Timer[TIMER_SOUL_FLAY] = 3500; } break; @@ -966,7 +966,7 @@ public: // Shadow Bolt Volley - Shoots Shadow Bolts at all enemies within 30 yards, for ~2k Shadow damage. if (ShadowBoltVolleyTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOW_BOLT_VOLLEY); + DoCastVictim(SPELL_SHADOW_BOLT_VOLLEY); ShadowBoltVolleyTimer = 12000; } else @@ -1090,7 +1090,7 @@ public: } else if (me->IsWithinDistInMap(me->GetVictim(), 3)) // Explode if it's close enough to it's target { - DoCast(me->GetVictim(), SPELL_FELFIRE_FISSION); + DoCastVictim(SPELL_FELFIRE_FISSION); me->Kill(me); } } @@ -1306,7 +1306,7 @@ public: case CLASS_DRUID: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_MOONFIRE, false); + DoCastVictim(SPELL_SR_MOONFIRE, false); uiTimer[1] = urand(2000, 4000); } DoMeleeAttackIfReady(); @@ -1314,19 +1314,19 @@ public: case CLASS_HUNTER: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_MULTI_SHOT, false); + DoCastVictim(SPELL_SR_MULTI_SHOT, false); uiTimer[1] = urand(8000, 10000); } if (uiTimer[2] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_SHOOT, false); + DoCastVictim(SPELL_SR_SHOOT, false); uiTimer[2] = urand(4000, 6000); } if (me->IsWithinMeleeRange(me->GetVictim(), 6)) { if (uiTimer[0] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_MULTI_SHOT, false); + DoCastVictim(SPELL_SR_MULTI_SHOT, false); uiTimer[0] = urand(6000, 8000); } DoMeleeAttackIfReady(); @@ -1335,7 +1335,7 @@ public: case CLASS_MAGE: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_FIREBALL, false); + DoCastVictim(SPELL_SR_FIREBALL, false); uiTimer[1] = urand(2000, 4000); } DoMeleeAttackIfReady(); @@ -1343,7 +1343,7 @@ public: case CLASS_WARLOCK: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_SHADOW_BOLT, false); + DoCastVictim(SPELL_SR_SHADOW_BOLT, false); uiTimer[1] = urand(3000, 5000); } if (uiTimer[2] <= diff) @@ -1356,7 +1356,7 @@ public: case CLASS_WARRIOR: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_WHIRLWIND, false); + DoCastVictim(SPELL_SR_WHIRLWIND, false); uiTimer[1] = urand(9000, 11000); } DoMeleeAttackIfReady(); @@ -1364,12 +1364,12 @@ public: case CLASS_PALADIN: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_HAMMER_OF_JUSTICE, false); + DoCastVictim(SPELL_SR_HAMMER_OF_JUSTICE, false); uiTimer[1] = urand(6000, 8000); } if (uiTimer[2] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_HOLY_SHOCK, false); + DoCastVictim(SPELL_SR_HOLY_SHOCK, false); uiTimer[2] = urand(2000, 4000); } DoMeleeAttackIfReady(); @@ -1377,7 +1377,7 @@ public: case CLASS_PRIEST: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_HOLY_SMITE, false); + DoCastVictim(SPELL_SR_HOLY_SMITE, false); uiTimer[1] = urand(4000, 6000); } if (uiTimer[2] <= diff) @@ -1390,7 +1390,7 @@ public: case CLASS_SHAMAN: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_EARTH_SHOCK, false); + DoCastVictim(SPELL_SR_EARTH_SHOCK, false); uiTimer[1] = urand(4000, 6000); } DoMeleeAttackIfReady(); @@ -1398,7 +1398,7 @@ public: case CLASS_ROGUE: if (uiTimer[1] <= diff) { - DoCast(me->GetVictim(), SPELL_SR_HEMORRHAGE, true); + DoCastVictim(SPELL_SR_HEMORRHAGE, true); uiTimer[1] = urand(4000, 6000); } DoMeleeAttackIfReady(); diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index 9766e9189b5..dd5edc969b7 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -559,7 +559,7 @@ public: if (VoidBlastTimer <= diff) { - DoCast(me->GetVictim(), SPELL_VOID_BLAST, false); + DoCastVictim(SPELL_VOID_BLAST, false); VoidBlastTimer = 45000; } else VoidBlastTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp index 30182f00ccb..f7f2dbfa6f7 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp @@ -185,7 +185,7 @@ class boss_archaedas : public CreatureScript if (uiTremorTimer <= uiDiff) { //Cast - DoCast(me->GetVictim(), SPELL_GROUND_TREMOR); + DoCastVictim(SPELL_GROUND_TREMOR); //45 seconds until we should cast this agian uiTremorTimer = 45000; diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp index 126745fccfe..7d745d4f89a 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp @@ -72,7 +72,7 @@ class boss_ironaya : public CreatureScript //If we are <50% hp do knockaway ONCE if (!bHasCastedKnockaway && HealthBelowPct(50)) { - DoCast(me->GetVictim(), SPELL_KNOCKAWAY, true); + DoCastVictim(SPELL_KNOCKAWAY, true); // current aggro target is knocked away pick new target Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 0); diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp index ca0138c826f..e0aede6cd1b 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp @@ -261,7 +261,7 @@ class boss_akilzon : public CreatureScript break; } case EVENT_CALL_LIGHTNING: - DoCast(me->GetVictim(), SPELL_CALL_LIGHTNING); + DoCastVictim(SPELL_CALL_LIGHTNING); events.ScheduleEvent(EVENT_CALL_LIGHTNING, urand(12000, 17000)); // totaly random timer. can't find any info on this break; case EVENT_ELECTRICAL_STORM: diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp index 60e25af862b..142bc46a1f1 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp @@ -232,7 +232,7 @@ class boss_halazzi : public CreatureScript { // A tank with more than 490 defense skills should receive no critical hit //DoCast(me, 41296, true); - DoCast(me->GetVictim(), SPELL_SABER_LASH, true); + DoCastVictim(SPELL_SABER_LASH, true); //me->RemoveAurasDueToSpell(41296); SaberlashTimer = 30000; } else SaberlashTimer -= diff; @@ -397,7 +397,7 @@ class mob_halazzi_lynx : public CreatureScript if (shredder_timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHRED_ARMOR); + DoCastVictim(SPELL_SHRED_ARMOR); shredder_timer = 4000; } else shredder_timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index 195e21ca102..5b5d1ce4bb1 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -529,7 +529,7 @@ class boss_thurg : public CreatureScript if (cleave_timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE, false); + DoCastVictim(SPELL_CLEAVE, false); cleave_timer = 12000; //3 sec cast } else cleave_timer -= diff; @@ -679,7 +679,7 @@ struct boss_gazakrothAI : public boss_hexlord_addAI if (firebolt_timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBOLT, false); + DoCastVictim(SPELL_FIREBOLT, false); firebolt_timer = 700; } else firebolt_timer -= diff; @@ -721,13 +721,13 @@ class boss_lord_raadan : public CreatureScript if (thunderclap_timer <= diff) { - DoCast(me->GetVictim(), SPELL_THUNDERCLAP, false); + DoCastVictim(SPELL_THUNDERCLAP, false); thunderclap_timer = 12000; } else thunderclap_timer -= diff; if (flamebreath_timer <= diff) { - DoCast(me->GetVictim(), SPELL_FLAME_BREATH, false); + DoCastVictim(SPELL_FLAME_BREATH, false); flamebreath_timer = 12000; } else flamebreath_timer -= diff; @@ -770,7 +770,7 @@ class boss_darkheart : public CreatureScript if (psychicwail_timer <= diff) { - DoCast(me->GetVictim(), SPELL_PSYCHIC_WAIL, false); + DoCastVictim(SPELL_PSYCHIC_WAIL, false); psychicwail_timer = 12000; } else psychicwail_timer -= diff; @@ -923,7 +923,7 @@ class boss_koragg : public CreatureScript if (mightyblow_timer <= diff) { - DoCast(me->GetVictim(), SPELL_MIGHTY_BLOW, false); + DoCastVictim(SPELL_MIGHTY_BLOW, false); mightyblow_timer = 12000; } if (coldstare_timer <= diff) diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp index 9fac48c10a1..267e58e9d4c 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp @@ -654,7 +654,7 @@ class mob_janalai_hatchling : public CreatureScript if (BuffetTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FLAMEBUFFET, false); + DoCastVictim(SPELL_FLAMEBUFFET, false); BuffetTimer = 10000; } else BuffetTimer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp index e8e72fe9e10..d73612a7935 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp @@ -398,7 +398,7 @@ class boss_nalorakk : public CreatureScript { if (BrutalSwipe_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_BRUTALSWIPE); + DoCastVictim(SPELL_BRUTALSWIPE); BrutalSwipe_Timer = urand(7000, 12000); } else BrutalSwipe_Timer -= diff; @@ -406,7 +406,7 @@ class boss_nalorakk : public CreatureScript { if (me->GetVictim() && !me->GetVictim()->HasAura(SPELL_MANGLEEFFECT)) { - DoCast(me->GetVictim(), SPELL_MANGLE); + DoCastVictim(SPELL_MANGLE); Mangle_Timer = 1000; } else Mangle_Timer = urand(10000, 15000); @@ -426,19 +426,19 @@ class boss_nalorakk : public CreatureScript { if (LaceratingSlash_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_LACERATINGSLASH); + DoCastVictim(SPELL_LACERATINGSLASH); LaceratingSlash_Timer = urand(18000, 23000); } else LaceratingSlash_Timer -= diff; if (RendFlesh_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_RENDFLESH); + DoCastVictim(SPELL_RENDFLESH); RendFlesh_Timer = urand(5000, 10000); } else RendFlesh_Timer -= diff; if (DeafeningRoar_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_DEAFENINGROAR); + DoCastVictim(SPELL_DEAFENINGROAR); DeafeningRoar_Timer = urand(15000, 20000); } else DeafeningRoar_Timer -= diff; } diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp index 9a3fbd0358f..77f45754745 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp @@ -256,7 +256,7 @@ class boss_zuljin : public CreatureScript me->AttackerStateUpdate(me->GetVictim()); if (me->GetVictim() && health == me->GetVictim()->GetHealth()) { - DoCast(me->GetVictim(), SPELL_OVERPOWER, false); + DoCastVictim(SPELL_OVERPOWER, false); Overpower_Timer = 5000; } } else me->AttackerStateUpdate(me->GetVictim()); diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp index 31e8e09fc6e..c52157b5303 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp @@ -119,13 +119,13 @@ class boss_jeklik : public CreatureScript //jeklik if (SonicBurst_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SONICBURST); + DoCastVictim(SPELL_SONICBURST); SonicBurst_Timer = urand(8000, 13000); } else SonicBurst_Timer -= diff; if (Screech_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SCREECH); + DoCastVictim(SPELL_SCREECH); Screech_Timer = urand(18000, 26000); } else Screech_Timer -= diff; @@ -169,14 +169,14 @@ class boss_jeklik : public CreatureScript //jeklik if (MindFlay_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MIND_FLAY); + DoCastVictim(SPELL_MIND_FLAY); MindFlay_Timer = 16000; }MindFlay_Timer -=diff; if (ChainMindFlay_Timer <= diff) { me->InterruptNonMeleeSpells(false); - DoCast(me->GetVictim(), SPELL_CHAIN_MIND_FLAY); + DoCastVictim(SPELL_CHAIN_MIND_FLAY); ChainMindFlay_Timer = urand(15000, 30000); }ChainMindFlay_Timer -=diff; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp index 6870cb3b784..0a61d20577f 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp @@ -266,7 +266,7 @@ class mob_shade_of_jindo : public CreatureScript //ShadowShock_Timer if (ShadowShock_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWSHOCK); + DoCastVictim(SPELL_SHADOWSHOCK); ShadowShock_Timer = 2000; } else ShadowShock_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp index e2b04ca1350..7f9f681eea3 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp @@ -160,7 +160,7 @@ class boss_marli : public CreatureScript me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35))); me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35))); me->UpdateDamagePhysical(BASE_ATTACK); - DoCast(me->GetVictim(), SPELL_ENVOLWINGWEB); + DoCastVictim(SPELL_ENVOLWINGWEB); if (DoGetThreat(me->GetVictim())) DoModifyThreatPercent(me->GetVictim(), -100); events.ScheduleEvent(EVENT_CHARGE_PLAYER, 1500, 0, PHASE_THREE); diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp index 68672be7740..8b526c7ad82 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp @@ -149,7 +149,7 @@ class boss_renataki : public CreatureScript if (ThousandBlades_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_THOUSANDBLADES); + DoCastVictim(SPELL_THOUSANDBLADES); ThousandBlades_Timer = urand(7000, 12000); } else ThousandBlades_Timer -= diff; } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp index 5d3a2ee83e0..592c53d7025 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp @@ -347,7 +347,7 @@ class mob_zealot_lorkhan : public CreatureScript //Disarm_Timer if (Disarm_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_DISARM); + DoCastVictim(SPELL_DISARM); Disarm_Timer = 15000+rand()%10000; } else Disarm_Timer -= diff; @@ -468,21 +468,21 @@ class mob_zealot_zath : public CreatureScript //SweepingStrikes_Timer if (SweepingStrikes_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SWEEPINGSTRIKES); + DoCastVictim(SPELL_SWEEPINGSTRIKES); SweepingStrikes_Timer = 22000+rand()%4000; } else SweepingStrikes_Timer -= diff; //SinisterStrike_Timer if (SinisterStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SINISTERSTRIKE); + DoCastVictim(SPELL_SINISTERSTRIKE); SinisterStrike_Timer = 8000+rand()%8000; } else SinisterStrike_Timer -= diff; //Gouge_Timer if (Gouge_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_GOUGE); + DoCastVictim(SPELL_GOUGE); if (DoGetThreat(me->GetVictim())) DoModifyThreatPercent(me->GetVictim(), -100); @@ -493,14 +493,14 @@ class mob_zealot_zath : public CreatureScript //Kick_Timer if (Kick_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KICK); + DoCastVictim(SPELL_KICK); Kick_Timer = 15000+rand()%10000; } else Kick_Timer -= diff; //Blind_Timer if (Blind_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_BLIND); + DoCastVictim(SPELL_BLIND); Blind_Timer = 10000+rand()%10000; } else Blind_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp index 1b0864fcbcb..955781e3097 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp @@ -190,7 +190,7 @@ class boss_venoxis : public CreatureScript // trigger spellcast only if we have 3 or more targets to affect if (_inMeleeRange >= 3) - DoCast(me->GetVictim(), SPELL_HOLY_NOVA); + DoCastVictim(SPELL_HOLY_NOVA); events.ScheduleEvent(EVENT_HOLY_NOVA, urand(45000, 75000), 0, PHASE_ONE); break; diff --git a/src/server/scripts/EasternKingdoms/boss_kruul.cpp b/src/server/scripts/EasternKingdoms/boss_kruul.cpp index 0a84804bed4..80237b5013c 100644 --- a/src/server/scripts/EasternKingdoms/boss_kruul.cpp +++ b/src/server/scripts/EasternKingdoms/boss_kruul.cpp @@ -96,7 +96,7 @@ public: if (ShadowVolley_Timer <= diff) { if (urand(0, 99) < 45) - DoCast(me->GetVictim(), SPELL_SHADOWVOLLEY); + DoCastVictim(SPELL_SHADOWVOLLEY); ShadowVolley_Timer = 5000; } else ShadowVolley_Timer -= diff; @@ -105,7 +105,7 @@ public: if (Cleave_Timer <= diff) { if (urand(0, 1)) - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = 10000; } else Cleave_Timer -= diff; @@ -114,7 +114,7 @@ public: if (ThunderClap_Timer <= diff) { if (urand(0, 9) < 2) - DoCast(me->GetVictim(), SPELL_THUNDERCLAP); + DoCastVictim(SPELL_THUNDERCLAP); ThunderClap_Timer = 12000; } else ThunderClap_Timer -= diff; @@ -122,7 +122,7 @@ public: //TwistedReflection_Timer if (TwistedReflection_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_TWISTEDREFLECTION); + DoCastVictim(SPELL_TWISTEDREFLECTION); TwistedReflection_Timer = 30000; } else TwistedReflection_Timer -= diff; @@ -130,7 +130,7 @@ public: if (VoidBolt_Timer <= diff) { if (urand(0, 9) < 4) - DoCast(me->GetVictim(), SPELL_VOIDBOLT); + DoCastVictim(SPELL_VOIDBOLT); VoidBolt_Timer = 18000; } else VoidBolt_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp index d2143af2252..df9265e5621 100644 --- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp +++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp @@ -122,13 +122,13 @@ public: return; if (SoulCorruption_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SOUL_CORRUPTION); + DoCastVictim(SPELL_SOUL_CORRUPTION); SoulCorruption_Timer = rand()%4000+15000; //gotta confirm Timers } else SoulCorruption_Timer-=diff; if (CreatureOfNightmare_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CREATURE_OF_NIGHTMARE); + DoCastVictim(SPELL_CREATURE_OF_NIGHTMARE); CreatureOfNightmare_Timer = 45000; //gotta confirm Timers } else CreatureOfNightmare_Timer-=diff; DoMeleeAttackIfReady(); diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp index bf3040d5d03..55e1294d9e7 100644 --- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp +++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp @@ -152,13 +152,13 @@ public: if (uiMockingBlowTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_MOCKING_BLOW); + DoCastVictim(SPELL_MOCKING_BLOW); uiMockingBlowTimer = 5000; } else uiMockingBlowTimer -= uiDiff; if (uiShieldBashTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_MOCKING_BLOW); + DoCastVictim(SPELL_MOCKING_BLOW); uiShieldBashTimer = 8000; } else uiShieldBashTimer -= uiDiff; diff --git a/src/server/scripts/EasternKingdoms/zone_westfall.cpp b/src/server/scripts/EasternKingdoms/zone_westfall.cpp index 9ca880a1261..a0c1c01d3a2 100644 --- a/src/server/scripts/EasternKingdoms/zone_westfall.cpp +++ b/src/server/scripts/EasternKingdoms/zone_westfall.cpp @@ -188,7 +188,7 @@ public: uiShootTimer = 1500; if (!me->IsWithinDist(me->GetVictim(), ATTACK_DISTANCE)) - DoCast(me->GetVictim(), SPELL_SHOOT); + DoCastVictim(SPELL_SHOOT); } else uiShootTimer -= diff; } }; diff --git a/src/server/scripts/Examples/example_creature.cpp b/src/server/scripts/Examples/example_creature.cpp index 6a6c348bfcf..78c66750c5c 100644 --- a/src/server/scripts/Examples/example_creature.cpp +++ b/src/server/scripts/Examples/example_creature.cpp @@ -200,9 +200,9 @@ class example_creature : public CreatureScript { //Cast spell one on our current target. if (rand()%50 > 10) - DoCast(me->GetVictim(), SPELL_ONE_ALT); + DoCastVictim(SPELL_ONE_ALT); else if (me->IsWithinDist(me->GetVictim(), 25.0f)) - DoCast(me->GetVictim(), SPELL_ONE); + DoCastVictim(SPELL_ONE); m_uiSpell1Timer = 5000; } @@ -213,7 +213,7 @@ class example_creature : public CreatureScript if (m_uiSpell2Timer <= uiDiff) { //Cast spell two on our current target. - DoCast(me->GetVictim(), SPELL_TWO); + DoCastVictim(SPELL_TWO); m_uiSpell2Timer = 37000; } else @@ -226,7 +226,7 @@ class example_creature : public CreatureScript if (m_uiSpell3Timer <= uiDiff) { //Cast spell one on our current target. - DoCast(me->GetVictim(), SPELL_THREE); + DoCastVictim(SPELL_THREE); m_uiSpell3Timer = 19000; } @@ -237,7 +237,7 @@ class example_creature : public CreatureScript { //Say our line then cast uber death spell Talk(SAY_BERSERK, me->GetVictim() ? me->GetVictim()->GetGUID() : 0); - DoCast(me->GetVictim(), SPELL_BERSERK); + DoCastVictim(SPELL_BERSERK); //Cast our beserk spell agian in 12 seconds if we didn't kill everyone m_uiBeserkTimer = 12000; diff --git a/src/server/scripts/Examples/example_escort.cpp b/src/server/scripts/Examples/example_escort.cpp index bf3daa1443f..f4cb5c24e18 100644 --- a/src/server/scripts/Examples/example_escort.cpp +++ b/src/server/scripts/Examples/example_escort.cpp @@ -147,7 +147,7 @@ class example_escort : public CreatureScript if (m_uiDeathCoilTimer <= uiDiff) { Talk(SAY_SPELL); - DoCast(me->GetVictim(), SPELL_DEATH_COIL, false); + DoCastVictim(SPELL_DEATH_COIL, false); m_uiDeathCoilTimer = 4000; } else diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index 332ac33c56b..9b1f2475c1b 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -456,7 +456,7 @@ public: if (me->HasAura(chargeSpell)) { me->RemoveAuraFromStack(chargeSpell); - DoCast(me->GetVictim(), unleashSpell); + DoCastVictim(unleashSpell); HasCast = true; SoulChargeCount--; } @@ -577,7 +577,7 @@ public: { if (HandOfDeathTimer <= diff) { - DoCast(me->GetVictim(), SPELL_HAND_OF_DEATH); + DoCastVictim(SPELL_HAND_OF_DEATH); HandOfDeathTimer = 2000; } else HandOfDeathTimer -= diff; return; // Don't do anything after this point. @@ -605,7 +605,7 @@ public: if (FearTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FEAR); + DoCastVictim(SPELL_FEAR); FearTimer = 42000; } else FearTimer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp index f47ba2cc3a3..b45ace791fc 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp @@ -161,7 +161,7 @@ public: if (CleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); CleaveTimer = 10000+rand()%5000; } else CleaveTimer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp index 6d9a66c1a64..966aed69374 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp @@ -139,13 +139,13 @@ public: } else FrostArmorTimer -= diff; if (DecayTimer <= diff) { - DoCast(me->GetVictim(), SPELL_DEATH_AND_DECAY); + DoCastVictim(SPELL_DEATH_AND_DECAY); DecayTimer = 60000+rand()%20000; Talk(SAY_DECAY); } else DecayTimer -= diff; if (NovaTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FROST_NOVA); + DoCastVictim(SPELL_FROST_NOVA); NovaTimer = 30000+rand()%15000; Talk(SAY_NOVA); } else NovaTimer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp index 9796614d2f2..df928f30f21 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp @@ -528,7 +528,7 @@ public: } if (FlameBuffetTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FLAME_BUFFET, true); + DoCastVictim(SPELL_FLAME_BUFFET, true); FlameBuffetTimer = 7000; } else FlameBuffetTimer -= diff; DoMeleeAttackIfReady(); @@ -630,7 +630,7 @@ public: return; if (KnockDownTimer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCKDOWN); + DoCastVictim(SPELL_KNOCKDOWN); KnockDownTimer = 15000+rand()%10000; } else KnockDownTimer -= diff; DoMeleeAttackIfReady(); @@ -858,7 +858,7 @@ public: if (ShadowBoltTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOW_BOLT); + DoCastVictim(SPELL_SHADOW_BOLT); ShadowBoltTimer = 20000+rand()%10000; } else ShadowBoltTimer -= diff; @@ -952,12 +952,12 @@ public: return; if (CourseTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BANSHEE_CURSE); + DoCastVictim(SPELL_BANSHEE_CURSE); CourseTimer = 20000+rand()%5000; } else CourseTimer -= diff; if (WailTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BANSHEE_WAIL); + DoCastVictim(SPELL_BANSHEE_WAIL); WailTimer = 15000+rand()%5000; } else WailTimer -= diff; if (ShellTimer <= diff) @@ -1052,7 +1052,7 @@ public: return; if (WebTimer <= diff) { - DoCast(me->GetVictim(), SPELL_WEB); + DoCastVictim(SPELL_WEB); WebTimer = 20000+rand()%5000; } else WebTimer -= diff; DoMeleeAttackIfReady(); @@ -1142,7 +1142,7 @@ public: return; if (ManaBurnTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MANA_BURN); + DoCastVictim(SPELL_MANA_BURN); ManaBurnTimer = 9000+rand()%5000; } else ManaBurnTimer -= diff; DoMeleeAttackIfReady(); @@ -1252,7 +1252,7 @@ public: { if (!me->IsWithinDist(me->GetVictim(), 25)) { - DoCast(me->GetVictim(), SPELL_FROST_BREATH); + DoCastVictim(SPELL_FROST_BREATH); me->StopMoving(); me->GetMotionMaster()->Clear(); FrostBreathTimer = 4000; @@ -1387,7 +1387,7 @@ public: { if (me->IsWithinDist(me->GetVictim(), 20)) { - DoCast(me->GetVictim(), SPELL_GARGOYLE_STRIKE); + DoCastVictim(SPELL_GARGOYLE_STRIKE); me->StopMoving(); me->GetMotionMaster()->Clear(); StrikeTimer = 2000+rand()%1000; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp index c12171486ae..ba4439907ba 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp @@ -105,7 +105,7 @@ public: //Curse of twisted flesh timer if (uiCurseFleshTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CURSE_OF_TWISTED_FLESH); + DoCastVictim(SPELL_CURSE_OF_TWISTED_FLESH); uiCurseFleshTimer = 37000; } else uiCurseFleshTimer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp index c5828966438..31e3c033833 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp @@ -126,7 +126,7 @@ public: //Hammer of Justice if (HammerOfJustice_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMMER_OF_JUSTICE); + DoCastVictim(SPELL_HAMMER_OF_JUSTICE); HammerOfJustice_Timer = 60000; } else HammerOfJustice_Timer -= diff; @@ -147,7 +147,7 @@ public: //Consecration if (Consecration_Timer <= diff) { - //DoCast(me->GetVictim(), SPELL_CONSECRATION); + //DoCastVictim(SPELL_CONSECRATION); Consecration_Timer = urand(5000, 10000); } else Consecration_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp index 7421a116ec0..4352740e6f4 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp @@ -107,7 +107,7 @@ public: if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(false); - DoCast(me->GetVictim(), SPELL_SAND_BREATH); + DoCastVictim(SPELL_SAND_BREATH); Talk(SAY_BREATH); @@ -116,7 +116,7 @@ public: if (ImpendingDeath_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_IMPENDING_DEATH); + DoCastVictim(SPELL_IMPENDING_DEATH); ImpendingDeath_Timer = 25000+rand()%5000; } else ImpendingDeath_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp index 1fb704fb67e..db2d965f761 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp @@ -166,7 +166,7 @@ public: //Whirlwind if (Whirlwind_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WHIRLWIND); + DoCastVictim(SPELL_WHIRLWIND); Whirlwind_Timer = 20000+rand()%5000; } else Whirlwind_Timer -= diff; @@ -174,7 +174,7 @@ public: if (Fear_Timer <= diff) { Talk(SAY_SHOUT); - DoCast(me->GetVictim(), SPELL_FRIGHTENING_SHOUT); + DoCastVictim(SPELL_FRIGHTENING_SHOUT); Fear_Timer = 25000+rand()%10000; } else Fear_Timer -= diff; @@ -182,7 +182,7 @@ public: if (MortalStrike_Timer <= diff) { Talk(SAY_MORTAL); - DoCast(me->GetVictim(), SPELL_MORTAL_STRIKE); + DoCastVictim(SPELL_MORTAL_STRIKE); MortalStrike_Timer = 20000+rand()%10000; } else MortalStrike_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp index 3b1987e04f5..498a4368168 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp @@ -117,11 +117,11 @@ public: switch (eventId) { case EVENT_SANDBREATH: - DoCast(me->GetVictim(), SPELL_SAND_BREATH); + DoCastVictim(SPELL_SAND_BREATH); events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 25000)); break; case EVENT_TIMESTOP: - DoCast(me->GetVictim(), SPELL_TIME_STOP); + DoCastVictim(SPELL_TIME_STOP); events.ScheduleEvent(EVENT_TIMESTOP, urand(20000, 35000)); break; case EVENT_FRENZY: diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp index 79eca4f186e..d02dc0dd359 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp @@ -116,7 +116,7 @@ public: switch (eventId) { case EVENT_ARCANE_BLAST: - DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); + DoCastVictim(SPELL_ARCANE_BLAST); events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(15000, 25000)); break; case EVENT_TIME_LAPSE: diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp index d2d5c45d864..46ef908bf37 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp @@ -89,14 +89,14 @@ public: //AmnenarsWrath_Timer if (AmnenarsWrath_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_AMNENNARSWRATH); + DoCastVictim(SPELL_AMNENNARSWRATH); AmnenarsWrath_Timer = 12000; } else AmnenarsWrath_Timer -= diff; //FrostBolt_Timer if (FrostBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTBOLT); + DoCastVictim(SPELL_FROSTBOLT); FrostBolt_Timer = 8000; } else FrostBolt_Timer -= diff; @@ -109,7 +109,7 @@ public: if (!Spectrals60 && HealthBelowPct(60)) { Talk(SAY_SUMMON60); - DoCast(me->GetVictim(), SPELL_FROST_SPECTRES); + DoCastVictim(SPELL_FROST_SPECTRES); Spectrals60 = true; } @@ -122,7 +122,7 @@ public: if (!Spectrals30 && HealthBelowPct(30)) { Talk(SAY_SUMMON30); - DoCast(me->GetVictim(), SPELL_FROST_SPECTRES); + DoCastVictim(SPELL_FROST_SPECTRES); Spectrals30 = true; } diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index 8bea6c5d058..6b63c98e7d8 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -152,7 +152,7 @@ public: { if (uiWebTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_WEB); + DoCastVictim(SPELL_WEB); uiWebTimer = urand(7000, 16000); } else uiWebTimer -= uiDiff; } diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp index 0d49302bec3..bd5f76c0c85 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp @@ -221,7 +221,7 @@ class boss_ossirian : public CreatureScript // No kiting! if (me->GetDistance(me->GetVictim()) > 60.00f && me->GetDistance(me->GetVictim()) < 120.00f) - DoCast(me->GetVictim(), SPELL_SUMMON); + DoCastVictim(SPELL_SUMMON); bool ApplySupreme = true; @@ -254,7 +254,7 @@ class boss_ossirian : public CreatureScript events.ScheduleEvent(EVENT_SILENCE, urand(20000, 30000)); break; case EVENT_CYCLONE: - DoCast(me->GetVictim(), SPELL_CYCLONE); + DoCastVictim(SPELL_CYCLONE); events.ScheduleEvent(EVENT_CYCLONE, 20000); break; case EVENT_STOMP: diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp index 908d2a7a691..9935248c39e 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp @@ -98,20 +98,20 @@ public: //Cleave_Timer if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = urand(5000, 12000); } else Cleave_Timer -= diff; //ToxicVolley_Timer if (ToxicVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_TOXIC_VOLLEY); + DoCastVictim(SPELL_TOXIC_VOLLEY); ToxicVolley_Timer = urand(10000, 15000); } else ToxicVolley_Timer -= diff; if (!HealthAbovePct(5) && !Death) { - DoCast(me->GetVictim(), SPELL_POISON_CLOUD); + DoCastVictim(SPELL_POISON_CLOUD); Death = true; } @@ -209,7 +209,7 @@ public: //KnockBack_Timer if (KnockBack_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCKBACK); + DoCastVictim(SPELL_KNOCKBACK); if (DoGetThreat(me->GetVictim())) DoModifyThreatPercent(me->GetVictim(), -80); KnockBack_Timer = urand(15000, 25000); @@ -295,7 +295,7 @@ public: //Fear_Timer if (Fear_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FEAR); + DoCastVictim(SPELL_FEAR); DoResetThreat(); Fear_Timer = 20000; } else Fear_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp index b99b092dd7e..44b9999d9bc 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp @@ -1076,14 +1076,14 @@ public: //GroundRuptureTimer if (GroundRuptureTimer <= diff) { - DoCast(me->GetVictim(), SPELL_GROUND_RUPTURE); + DoCastVictim(SPELL_GROUND_RUPTURE); GroundRuptureTimer = 30000; } else GroundRuptureTimer -= diff; //HamstringTimer if (HamstringTimer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMSTRING); + DoCastVictim(SPELL_HAMSTRING); HamstringTimer = 5000; } else HamstringTimer -= diff; @@ -1188,21 +1188,21 @@ public: //GroundRuptureTimer if (GroundRuptureTimer <= diff) { - DoCast(me->GetVictim(), SPELL_GROUND_RUPTURE); + DoCastVictim(SPELL_GROUND_RUPTURE); GroundRuptureTimer = 30000; } else GroundRuptureTimer -= diff; //ThrashTimer if (ThrashTimer <= diff) { - DoCast(me->GetVictim(), SPELL_THRASH); + DoCastVictim(SPELL_THRASH); ThrashTimer = 10000; } else ThrashTimer -= diff; //HamstringTimer if (HamstringTimer <= diff) { - DoCast(me->GetVictim(), SPELL_HAMSTRING); + DoCastVictim(SPELL_HAMSTRING); HamstringTimer = 10000; } else HamstringTimer -= diff; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp index 44352c7ef35..4b442604881 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp @@ -106,7 +106,7 @@ public: //MortalWound_Timer if (MortalWound_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTAL_WOUND); + DoCastVictim(SPELL_MORTAL_WOUND); MortalWound_Timer = urand(10000, 20000); } else MortalWound_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp index 206de40320f..5435de8c3ef 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp @@ -107,14 +107,14 @@ public: //Spit Timer if (Spit_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ACIDSPIT); + DoCastVictim(SPELL_ACIDSPIT); Spit_Timer = urand(5000, 10000); } else Spit_Timer -= diff; //NoxiousPoison_Timer if (NoxiousPoison_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_NOXIOUSPOISON); + DoCastVictim(SPELL_NOXIOUSPOISON); NoxiousPoison_Timer = urand(12000, 24000); } else NoxiousPoison_Timer -= diff; @@ -123,7 +123,7 @@ public: { if (PoisonBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_POISONBOLT); + DoCastVictim(SPELL_POISONBOLT); PoisonBolt_Timer = 3000; } else PoisonBolt_Timer -= diff; } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp index 84f35fdf9c0..d1cc2025be4 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp @@ -75,7 +75,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoCast(me->GetVictim(), SPELL_BIRTH); + DoCastVictim(SPELL_BIRTH); } void UpdateAI(uint32 diff) @@ -87,14 +87,14 @@ public: //Sweep_Timer if (!Submerged && Sweep_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SWEEP); + DoCastVictim(SPELL_SWEEP); Sweep_Timer = urand(15000, 30000); } else Sweep_Timer -= diff; //SandBlast_Timer if (!Submerged && SandBlast_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SANDBLAST); + DoCastVictim(SPELL_SANDBLAST); SandBlast_Timer = urand(20000, 35000); } else SandBlast_Timer -= diff; @@ -129,7 +129,7 @@ public: me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->setFaction(14); - DoCast(me->GetVictim(), SPELL_GROUND_RUPTURE); + DoCastVictim(SPELL_GROUND_RUPTURE); Submerged = false; Submerge_Timer = urand(60000, 120000); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index d4b73a2e4a6..833ba83432b 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -441,7 +441,7 @@ public: //UnbalancingStrike_Timer if (UnbalancingStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_UNBALANCING_STRIKE); + DoCastVictim(SPELL_UNBALANCING_STRIKE); UnbalancingStrike_Timer = 8000+rand()%12000; } else UnbalancingStrike_Timer -= diff; @@ -538,7 +538,7 @@ public: if (!me->IsWithinDist(me->GetVictim(), 45.0f)) me->GetMotionMaster()->MoveChase(me->GetVictim(), VEKLOR_DIST, 0); else - DoCast(me->GetVictim(), SPELL_SHADOWBOLT); + DoCastVictim(SPELL_SHADOWBOLT); ShadowBolt_Timer = 2000; } else ShadowBolt_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index fdbc40600a3..af76ea041a8 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -165,7 +165,7 @@ public: if (ShieldBash_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHIELD_BASH); + DoCastVictim(SPELL_SHIELD_BASH); ShieldBash_Timer = 15000; } else @@ -173,7 +173,7 @@ public: if (Revenge_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_REVENGE); + DoCastVictim(SPELL_REVENGE); Revenge_Timer = 10000; } else @@ -338,7 +338,7 @@ public: if (Bomb_Timer < diff) { - DoCast(me->GetVictim(), SPELL_BOMB); + DoCastVictim(SPELL_BOMB); Bomb_Timer = 10000; } else @@ -346,7 +346,7 @@ public: if (me->isAttackReady() && !me->IsWithinMeleeRange(me->GetVictim())) { - DoCast(me->GetVictim(), SPELL_SHOOT); + DoCastVictim(SPELL_SHOOT); me->SetSheath(SHEATH_STATE_RANGED); } else diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp index 1cb7d5cfd37..4f70191810a 100644 --- a/src/server/scripts/Kalimdor/boss_azuregos.cpp +++ b/src/server/scripts/Kalimdor/boss_azuregos.cpp @@ -108,21 +108,21 @@ public: // //MarkOfFrostTimer // if (MarkOfFrostTimer <= diff) // { - // DoCast(me->GetVictim(), SPELL_MARKOFFROST); + // DoCastVictim(SPELL_MARKOFFROST); // MarkOfFrostTimer = 25000; // } else MarkOfFrostTimer -= diff; //ChillTimer if (ChillTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CHILL); + DoCastVictim(SPELL_CHILL); ChillTimer = urand(13000, 25000); } else ChillTimer -= diff; //BreathTimer if (BreathTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTBREATH); + DoCastVictim(SPELL_FROSTBREATH); BreathTimer = urand(10000, 15000); } else BreathTimer -= diff; @@ -144,7 +144,7 @@ public: //CleaveTimer if (CleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); CleaveTimer = 7000; } else CleaveTimer -= diff; diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp index 4d689d30508..315ee609bca 100644 --- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp +++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp @@ -133,7 +133,7 @@ class npc_torek : public CreatureScript if (Rend_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_REND); + DoCastVictim(SPELL_REND); Rend_Timer = 20000; } else Rend_Timer -= diff; diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp index 86ea023349f..9d910fd4103 100644 --- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp @@ -274,7 +274,7 @@ public: if (DynamiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_DYNAMITE); + DoCastVictim(SPELL_DYNAMITE); DynamiteTimer = 8000; } else DynamiteTimer -= diff; @@ -634,14 +634,14 @@ public: if (RendTimer <= diff) { - DoCast(me->GetVictim(), SPELL_REND); + DoCastVictim(SPELL_REND); RendTimer = 30000; } else RendTimer -= diff; if (EnragingBiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ENRAGING_BITE); + DoCastVictim(SPELL_ENRAGING_BITE); EnragingBiteTimer = 15000; } else EnragingBiteTimer -= diff; diff --git a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp index 7478b957c92..a497bc82abc 100644 --- a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp +++ b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp @@ -231,13 +231,13 @@ public: if (ChainLightningTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CHAIN_LIGHTNING); + DoCastVictim(SPELL_CHAIN_LIGHTNING); ChainLightningTimer = 9000; } else ChainLightningTimer -= diff; if (ShockTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHOCK); + DoCastVictim(SPELL_SHOCK); ShockTimer = 15000; } else ShockTimer -= diff; diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp index e68e4ecc222..9159d56fc22 100644 --- a/src/server/scripts/Kalimdor/zone_tanaris.cpp +++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp @@ -132,7 +132,7 @@ public: if (FrostShockTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FROST_SHOCK); + DoCastVictim(SPELL_FROST_SHOCK); FrostShockTimer = 15000; } else FrostShockTimer -= diff; diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp index b1dc9072d29..f7dd842070e 100644 --- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp +++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp @@ -112,25 +112,25 @@ public: if (UppercutTimer <= diff) { - DoCast(me->GetVictim(), SPELL_UPPERCUT); + DoCastVictim(SPELL_UPPERCUT); UppercutTimer = 20000; } else UppercutTimer -= diff; if (ThunderclapTimer <= diff) { - DoCast(me->GetVictim(), SPELL_THUNDERCLAP); + DoCastVictim(SPELL_THUNDERCLAP); ThunderclapTimer = 15000; } else ThunderclapTimer -= diff; if (MortalStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTAL_STRIKE); + DoCastVictim(SPELL_MORTAL_STRIKE); MortalStrikeTimer = 15000; } else MortalStrikeTimer -= diff; if (CleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); CleaveTimer = 7000; } else CleaveTimer -= diff; diff --git a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp index 9f2e1114ed8..221eed14afe 100644 --- a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp +++ b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp @@ -134,7 +134,7 @@ public: if (DemoralizingShoutTimer <= diff) { - DoCast(me->GetVictim(), SPELL_DEMORALIZINGSHOUT); + DoCastVictim(SPELL_DEMORALIZINGSHOUT); DemoralizingShoutTimer = 70000; } else DemoralizingShoutTimer -= diff; } diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp index 692f4c2d25c..6c7a434ac14 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp @@ -277,13 +277,13 @@ public: if (uiMindFlayTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MIND_FLAY); + DoCastVictim(SPELL_MIND_FLAY); uiMindFlayTimer = 20*IN_MILLISECONDS; } else uiMindFlayTimer -= diff; if (uiShadowBoltVolleyTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOW_BOLT_VOLLEY); + DoCastVictim(SPELL_SHADOW_BOLT_VOLLEY); uiShadowBoltVolleyTimer = 5*IN_MILLISECONDS; } else uiShadowBoltVolleyTimer -= diff; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp index 874d025f2d9..dd196866032 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp @@ -300,7 +300,7 @@ public: if (Channeling == true) { for (uint8 i = 0; i < 8; ++i) - DoCast(me->GetVictim(), SPELL_SUMMON_CARRION_BEETLES, true); + DoCastVictim(SPELL_SUMMON_CARRION_BEETLES, true); Channeling = false; } else if (CarrionBeetlesTimer <= diff) diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp index 384ecb06670..23705da6571 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp @@ -153,7 +153,7 @@ public: if (uiPierceTimer <= diff) { - DoCast(me->GetVictim(), SPELL_PIERCE_ARMOR); + DoCastVictim(SPELL_PIERCE_ARMOR); uiPierceTimer = 8*IN_MILLISECONDS; } else uiPierceTimer -= diff; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp index 5c5982c2c01..43d4f1bfdd9 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp @@ -151,7 +151,7 @@ public: if (uiMindFlayTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MIND_FLAY); + DoCastVictim(SPELL_MIND_FLAY); uiMindFlayTimer = 15*IN_MILLISECONDS; } else uiMindFlayTimer -= diff; @@ -211,7 +211,7 @@ public: void JustDied(Unit* /*killer*/) { //The spell is not working propperly - DoCast(me->GetVictim(), SPELL_ACID_SPLASH, true); + DoCastVictim(SPELL_ACID_SPLASH, true); } }; @@ -257,7 +257,7 @@ public: if (uiBackstabTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BACKSTAB); + DoCastVictim(SPELL_BACKSTAB); uiBackstabTimer = 12*IN_MILLISECONDS; } else uiBackstabTimer -= diff; @@ -304,7 +304,7 @@ public: if (uiShadowNovaTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOW_NOVA, true); + DoCastVictim(SPELL_SHADOW_NOVA, true); uiShadowNovaTimer = 17*IN_MILLISECONDS; } else uiShadowNovaTimer -= diff; @@ -343,13 +343,13 @@ public: if (uiStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_STRIKE, true); + DoCastVictim(SPELL_STRIKE, true); uiStrikeTimer = 15*IN_MILLISECONDS; } else uiStrikeTimer -= diff; if (uiCleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE, true); + DoCastVictim(SPELL_CLEAVE, true); uiCleaveTimer = 17*IN_MILLISECONDS; } else uiCleaveTimer -= diff; @@ -400,7 +400,7 @@ public: if (uiInfectedBiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_INFECTED_BITE, true); + DoCastVictim(SPELL_INFECTED_BITE, true); uiInfectedBiteTimer = 15*IN_MILLISECONDS; } else uiInfectedBiteTimer -= diff; @@ -448,13 +448,13 @@ public: if (uiInfectedBiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_INFECTED_BITE, true); + DoCastVictim(SPELL_INFECTED_BITE, true); uiInfectedBiteTimer = 11*IN_MILLISECONDS; } else uiInfectedBiteTimer -= diff; if (uiBindingWebsTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BLINDING_WEBS, true); + DoCastVictim(SPELL_BLINDING_WEBS, true); uiBindingWebsTimer = 17*IN_MILLISECONDS; } else uiBindingWebsTimer -= diff; @@ -503,13 +503,13 @@ public: if (uiInfectedBiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_INFECTED_BITE, true); + DoCastVictim(SPELL_INFECTED_BITE, true); uiInfectedBiteTimer = 15*IN_MILLISECONDS; } else uiInfectedBiteTimer -= diff; if (uiPoisonSprayTimer <= diff) { - DoCast(me->GetVictim(), SPELL_POSION_SPRAY, true); + DoCastVictim(SPELL_POSION_SPRAY, true); uiPoisonSprayTimer = 17*IN_MILLISECONDS; } else uiPoisonSprayTimer -= diff; diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index a4749d63cb2..eca287a2be4 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -619,7 +619,7 @@ public: if (m_uiFlameBreathTimer <= uiDiff) { Talk(SAY_SARTHARION_BREATH); - DoCast(me->GetVictim(), RAID_MODE(SPELL_FLAME_BREATH, SPELL_FLAME_BREATH_H)); + DoCastVictim(RAID_MODE(SPELL_FLAME_BREATH, SPELL_FLAME_BREATH_H)); m_uiFlameBreathTimer = urand(25000, 35000); } else @@ -628,7 +628,7 @@ public: // Tail Sweep if (m_uiTailSweepTimer <= uiDiff) { - DoCast(me->GetVictim(), RAID_MODE(SPELL_TAIL_LASH, SPELL_TAIL_LASH_H)); + DoCastVictim(RAID_MODE(SPELL_TAIL_LASH, SPELL_TAIL_LASH_H)); m_uiTailSweepTimer = urand(15000, 20000); } else @@ -637,7 +637,7 @@ public: // Cleave if (m_uiCleaveTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); m_uiCleaveTimer = urand(7000, 10000); } else @@ -1049,7 +1049,7 @@ public: if (m_uiShadowBreathTimer <= uiDiff) { Talk(SAY_TENEBRON_BREATH); - DoCast(me->GetVictim(), RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H)); + DoCastVictim(RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H)); m_uiShadowBreathTimer = urand(20000, 25000); } else @@ -1153,7 +1153,7 @@ public: if (m_uiShadowBreathTimer <= uiDiff) { Talk(SAY_SHADRON_BREATH); - DoCast(me->GetVictim(), RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H)); + DoCastVictim(RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H)); m_uiShadowBreathTimer = urand(20000, 25000); } else @@ -1237,7 +1237,7 @@ public: else { OpenPortal(); - DoCast(me->GetVictim(), SPELL_TWILIGHT_TORMENT_VESP); + DoCastVictim(SPELL_TWILIGHT_TORMENT_VESP); m_uiAcolyteVesperonTimer = urand(60000, 70000); } } @@ -1248,7 +1248,7 @@ public: if (m_uiShadowBreathTimer <= uiDiff) { Talk(SAY_VESPERON_BREATH); - DoCast(me->GetVictim(), RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H)); + DoCastVictim(RAID_MODE(SPELL_SHADOW_BREATH, SPELL_SHADOW_BREATH_H)); m_uiShadowBreathTimer = urand(20000, 25000); } else @@ -1626,8 +1626,8 @@ public: { DoCastAOE(RAID_MODE(SPELL_VOID_BLAST, SPELL_VOID_BLAST_H)); ////twilight realm - //DoCast(me->GetVictim(), 57620, true); - //DoCast(me->GetVictim(), 57874, true); + //DoCastVictim(57620, true); + //DoCastVictim(57874, true); VoidBlast_Timer = 9000; me->RemoveAllAuras(); me->Kill(me); @@ -1676,7 +1676,7 @@ public: // twilight torment if (m_uiFadeArmorTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_FADE_ARMOR); + DoCastVictim(SPELL_FADE_ARMOR); m_uiFadeArmorTimer = urand(5000, 10000); } else diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index 2127ee51ace..38d417ff075 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -967,7 +967,7 @@ public: if (uiEviscerateTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_EVISCERATE); + DoCastVictim(SPELL_EVISCERATE); uiEviscerateTimer = 8000; } else uiEviscerateTimer -= uiDiff; diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index efe9697a358..60209f04c30 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -887,7 +887,7 @@ public: events.ScheduleEvent(EVENT_SHADOW_STEP, 8000); break; case EVENT_DEADLY_POISON: - DoCast(me->GetVictim(), SPELL_DEADLY_POISON); + DoCastVictim(SPELL_DEADLY_POISON); events.ScheduleEvent(EVENT_DEADLY_POISON, 10000); break; case EVENT_ENVENOMED_DAGGER_THROW: @@ -896,7 +896,7 @@ public: events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000); break; case EVENT_KIDNEY_SHOT: - DoCast(me->GetVictim(), SPELL_KIDNEY_SHOT); + DoCastVictim(SPELL_KIDNEY_SHOT); events.ScheduleEvent(EVENT_KIDNEY_SHOT, 10000); break; } @@ -942,11 +942,11 @@ public: switch (events.ExecuteEvent()) { case EVENT_SPECTRAL_STRIKE: - DoCast(me->GetVictim(), SPELL_SPECTRAL_STRIKE); + DoCastVictim(SPELL_SPECTRAL_STRIKE); events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000); break; case EVENT_SHIELD_BASH: - DoCast(me->GetVictim(), SPELL_SHIELD_BASH); + DoCastVictim(SPELL_SHIELD_BASH); events.ScheduleEvent(EVENT_SHIELD_BASH, 5000); break; case EVENT_TORTURED_ENRAGE: diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp index b0befe98404..958e8c3f39f 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp @@ -223,7 +223,7 @@ class boss_drakkari_colossus : public CreatureScript switch (eventId) { case EVENT_MIGHTY_BLOW: - DoCast(me->GetVictim(), SPELL_MIGHTY_BLOW); + DoCastVictim(SPELL_MIGHTY_BLOW); events.ScheduleEvent(EVENT_MIGHTY_BLOW, urand(5000, 15000)); break; } @@ -474,13 +474,13 @@ public: if (mojoWaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MOJO_WAVE); + DoCastVictim(SPELL_MOJO_WAVE); mojoWaveTimer = 15*IN_MILLISECONDS; } else mojoWaveTimer -= diff; if (mojoPuddleTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MOJO_PUDDLE); + DoCastVictim(SPELL_MOJO_PUDDLE); mojoPuddleTimer = 18*IN_MILLISECONDS; } else mojoPuddleTimer -= diff; diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp index 14dcfb9e932..6aca3a2ff88 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp @@ -83,13 +83,13 @@ public: if (uiBiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ECK_BITE); + DoCastVictim(SPELL_ECK_BITE); uiBiteTimer = urand(8*IN_MILLISECONDS, 12*IN_MILLISECONDS); } else uiBiteTimer -= diff; if (uiSpitTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ECK_SPIT); + DoCastVictim(SPELL_ECK_SPIT); uiSpitTimer = urand(6*IN_MILLISECONDS, 14*IN_MILLISECONDS); } else uiSpitTimer -= diff; diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp index 6f5626229e2..1d2398dbfb4 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp @@ -171,7 +171,7 @@ public: if (uiWhirlingSlashTimer <= diff) { - DoCast(me->GetVictim(), SPELL_WHIRLING_SLASH); + DoCastVictim(SPELL_WHIRLING_SLASH); uiWhirlingSlashTimer = 21*IN_MILLISECONDS; ++uiPhaseCounter; } else uiWhirlingSlashTimer -= diff; @@ -207,19 +207,19 @@ public: { if (uiPunctureTimer <= diff) { - DoCast(me->GetVictim(), SPELL_PUNCTURE); + DoCastVictim(SPELL_PUNCTURE); uiPunctureTimer = 8*IN_MILLISECONDS; } else uiPunctureTimer -= diff; if (uiEnrageTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ENRAGE); + DoCastVictim(SPELL_ENRAGE); uiEnrageTimer = 20*IN_MILLISECONDS; } else uiEnrageTimer -= diff; if (uiStompTimer <= diff) { - DoCast(me->GetVictim(), SPELL_STOMP); + DoCastVictim(SPELL_STOMP); uiStompTimer = 20*IN_MILLISECONDS; } else uiStompTimer -= diff; diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp index 58c82307065..bfc1b9cfcb6 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp @@ -107,27 +107,27 @@ public: { Talk(SAY_QUAKE); if (bPhase) - DoCast(me->GetVictim(), SPELL_QUAKE, true); + DoCastVictim(SPELL_QUAKE, true); else - DoCast(me->GetVictim(), SPELL_GROUND_TREMOR, true); + DoCastVictim(SPELL_GROUND_TREMOR, true); uiGroundTremorTimer = 10*IN_MILLISECONDS; } else uiGroundTremorTimer -= uiDiff; if (uiNumblingShoutTimer <= uiDiff) { if (bPhase) - DoCast(me->GetVictim(), SPELL_NUMBING_ROAR, true); + DoCastVictim(SPELL_NUMBING_ROAR, true); else - DoCast(me->GetVictim(), SPELL_NUMBING_SHOUT, true); + DoCastVictim(SPELL_NUMBING_SHOUT, true); uiNumblingShoutTimer = 10*IN_MILLISECONDS; } else uiNumblingShoutTimer -=uiDiff; if (uiDeterminedStabTimer <= uiDiff) { if (bPhase) - DoCast(me->GetVictim(), SPELL_DETERMINED_GORE); + DoCastVictim(SPELL_DETERMINED_GORE); else - DoCast(me->GetVictim(), SPELL_DETERMINED_STAB, true); + DoCastVictim(SPELL_DETERMINED_STAB, true); uiDeterminedStabTimer = 8*IN_MILLISECONDS; } else uiDeterminedStabTimer -=uiDiff; diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp index 38e3a9621f6..2f252a91050 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp @@ -130,20 +130,20 @@ public: if (uiPoisonNovaTimer <= diff) { - DoCast(me->GetVictim(), SPELL_POISON_NOVA); + DoCastVictim(SPELL_POISON_NOVA); Talk(EMOTE_NOVA); uiPoisonNovaTimer = 15*IN_MILLISECONDS; } else uiPoisonNovaTimer -= diff; if (uiPowerfullBiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_POWERFULL_BITE); + DoCastVictim(SPELL_POWERFULL_BITE); uiPowerfullBiteTimer = 10*IN_MILLISECONDS; } else uiPowerfullBiteTimer -= diff; if (uiVenomBoltTimer <= diff) { - DoCast(me->GetVictim(), SPELL_VENOM_BOLT); + DoCastVictim(SPELL_VENOM_BOLT); uiVenomBoltTimer = 10*IN_MILLISECONDS; } else uiVenomBoltTimer -= diff; @@ -293,7 +293,7 @@ public: if (uiVenomousBiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_VENOMOUS_BITE); + DoCastVictim(SPELL_VENOMOUS_BITE); uiVenomousBiteTimer = 10*IN_MILLISECONDS; } else uiVenomousBiteTimer -= diff; } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp index c34843494ba..013bfe91987 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp @@ -362,7 +362,7 @@ public: DoCast(target, SPELL_PRIMARY(id)); } else - DoCast(me->GetVictim(), SPELL_PRIMARY(id)); + DoCastVictim(SPELL_PRIMARY(id)); events.ScheduleEvent(EVENT_CAST, 15000); break; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp index 53e02f639ad..9a20dbcf498 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp @@ -105,7 +105,7 @@ public: switch (eventId) { case EVENT_WOUND: - DoCast(me->GetVictim(), SPELL_MORTAL_WOUND); + DoCastVictim(SPELL_MORTAL_WOUND); events.ScheduleEvent(EVENT_WOUND, 10000); break; case EVENT_ENRAGE: diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp index 1138e3a463f..bad5429e547 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp @@ -464,11 +464,11 @@ class boss_gothik : public CreatureScript } break; case EVENT_BOLT: - DoCast(me->GetVictim(), RAID_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT)); + DoCastVictim(RAID_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT)); events.ScheduleEvent(EVENT_BOLT, 1000); break; case EVENT_HARVEST: - DoCast(me->GetVictim(), SPELL_HARVEST_SOUL, true); + DoCastVictim(SPELL_HARVEST_SOUL, true); events.ScheduleEvent(EVENT_HARVEST, urand(20000, 25000)); break; case EVENT_TELEPORT: diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp index c124051cc0b..4c807c515e1 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp @@ -126,7 +126,7 @@ public: events.ScheduleEvent(EVENT_SHOCK, urand(10000, 20000)); break; case EVENT_POISON: - DoCast(me->GetVictim(), RAID_MODE(SPELL_NECROTIC_POISON_10, SPELL_NECROTIC_POISON_25)); + DoCastVictim(RAID_MODE(SPELL_NECROTIC_POISON_10, SPELL_NECROTIC_POISON_25)); events.ScheduleEvent(EVENT_POISON, urand(10000, 20000)); break; case EVENT_FRENZY: diff --git a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp index cdc7de912da..831e74097d2 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp @@ -140,7 +140,7 @@ public: events.ScheduleEvent(EVENT_SLIME, 2000); break; case EVENT_SLIME: - DoCast(me->GetVictim(), SPELL_SLIME_BOLT, true); + DoCastVictim(SPELL_SLIME_BOLT, true); events.ScheduleEvent(EVENT_SLIME, 2000); break; } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp index 4b865046e60..abd3fb35a51 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp @@ -111,7 +111,7 @@ public: switch (eventId) { case EVENT_STRIKE: - DoCast(me->GetVictim(), SPELL_UNBALANCING_STRIKE); + DoCastVictim(SPELL_UNBALANCING_STRIKE); events.ScheduleEvent(EVENT_STRIKE, 30000); return; case EVENT_SHOUT: diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp index 1a2c5294f61..2b681750573 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp @@ -260,7 +260,7 @@ public: events.ScheduleEvent(EVENT_SHIFT, 30000); return; case EVENT_CHAIN: - DoCast(me->GetVictim(), RAID_MODE(SPELL_CHAIN_LIGHTNING, H_SPELL_CHAIN_LIGHTNING)); + DoCastVictim(RAID_MODE(SPELL_CHAIN_LIGHTNING, H_SPELL_CHAIN_LIGHTNING)); events.ScheduleEvent(EVENT_CHAIN, urand(10000, 20000)); return; case EVENT_BERSERK: @@ -270,7 +270,7 @@ public: } if (events.GetTimer() > 15000 && !me->IsWithinMeleeRange(me->GetVictim())) - DoCast(me->GetVictim(), SPELL_BALL_LIGHTNING); + DoCastVictim(SPELL_BALL_LIGHTNING); else DoMeleeAttackIfReady(); } diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 9fe4c930768..06b34487c7d 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -1426,7 +1426,7 @@ class npc_nexus_lord : public CreatureScript _events.ScheduleEvent(EVENT_HASTE_BUFF, 15*IN_MILLISECONDS); break; case EVENT_NUKE_DUMMY: - DoCast(me->GetVictim(), SPELL_DUMMY_NUKE, true); + DoCastVictim(SPELL_DUMMY_NUKE, true); DoCast(me, SPELL_ALIGN_DISK_AGGRO, true); _events.ScheduleEvent(EVENT_NUKE_DUMMY, 1*IN_MILLISECONDS); break; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index c20f7da5d2e..422560f52b8 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -181,7 +181,7 @@ public: if (uiCrystalfireBreathTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CRYSTALFIRE_BREATH); + DoCastVictim(SPELL_CRYSTALFIRE_BREATH); uiCrystalfireBreathTimer = 14*IN_MILLISECONDS; } else uiCrystalfireBreathTimer -= diff; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp index bdc7096d2ad..f8469d6b78e 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp @@ -210,7 +210,7 @@ public: switch (eventId) { case EVENT_ARCANE_BARRAGE: - DoCast(me->GetVictim(), SPELL_ARCANE_BARRAGE); + DoCastVictim(SPELL_ARCANE_BARRAGE); events.ScheduleEvent(EVENT_ARCANE_BARRAGE, urand(3, 10) * IN_MILLISECONDS, 0, PHASE_NORMAL); break; case EVENT_ARCANE_VOLLEY: diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp index c7da2e695f4..b5525334f5d 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp @@ -134,7 +134,7 @@ public: events.ScheduleEvent(EVENT_CALL_AZURE, urand(20, 25) * IN_MILLISECONDS); break; case EVENT_AMPLIFY_MAGIC: - DoCast(me->GetVictim(), SPELL_CALL_AMPLIFY_MAGIC); + DoCastVictim(SPELL_CALL_AMPLIFY_MAGIC); events.ScheduleEvent(EVENT_AMPLIFY_MAGIC, urand(17, 20) * IN_MILLISECONDS); break; } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp index 80453d62e29..f5ea71c1928 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp @@ -295,7 +295,7 @@ public: if (m_uiPummel_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_PUMMEL); + DoCastVictim(SPELL_PUMMEL); m_uiPummel_Timer = urand(10000, 11000); } else @@ -316,7 +316,7 @@ public: if (m_uiIntercept_Timer <= uiDiff) { //not much point is this, better random target and more often? - DoCast(me->GetVictim(), SPELL_INTERCEPT); + DoCastVictim(SPELL_INTERCEPT); m_uiIntercept_Timer = urand(45000, 46000); } else @@ -332,7 +332,7 @@ public: if (m_uiCleave_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); m_uiCleave_Timer = urand(8000, 9000); } else @@ -344,7 +344,7 @@ public: { if (m_uiMortalStrike_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_MORTAL_STRIKE); + DoCastVictim(SPELL_MORTAL_STRIKE); m_uiMortalStrike_Timer = urand(20000, 21000); } else @@ -352,7 +352,7 @@ public: if (m_uiSlam_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_SLAM); + DoCastVictim(SPELL_SLAM); m_uiSlam_Timer = urand(15000, 16000); } else @@ -420,7 +420,7 @@ public: if (m_uiArcWeld_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_ARC_WELD); + DoCastVictim(SPELL_ARC_WELD); m_uiArcWeld_Timer = urand(20000, 21000); } else diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp index 5ebe44c7b22..80ebb702fed 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp @@ -265,7 +265,7 @@ public: if (uiBallLightningTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_BALL_LIGHTNING); + DoCastVictim(SPELL_BALL_LIGHTNING); uiBallLightningTimer = urand(10*IN_MILLISECONDS, 11*IN_MILLISECONDS); } else diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp index e76622280ac..9635049131f 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp @@ -443,7 +443,7 @@ public: if (m_uiImmolation_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_IMMOLATION_STRIKE_N); + DoCastVictim(SPELL_IMMOLATION_STRIKE_N); m_uiImmolation_Timer = 5000; } else diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp index 3e4ebcb5929..8fe7e17adf7 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp @@ -126,7 +126,7 @@ public: if (StormOfGriefTimer <= diff) { - DoCast(me->GetVictim(), SPELL_STORM_OF_GRIEF_N, true); + DoCastVictim(SPELL_STORM_OF_GRIEF_N, true); StormOfGriefTimer = urand(15000, 20000); } else StormOfGriefTimer -= diff; @@ -145,7 +145,7 @@ public: if (target) DoCast(target, SPELL_PILLAR_OF_WOE_N); else - DoCast(me->GetVictim(), SPELL_PILLAR_OF_WOE_N); + DoCastVictim(SPELL_PILLAR_OF_WOE_N); PillarOfWoeTimer = urand(5000, 25000); } else PillarOfWoeTimer -= diff; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp index c594ecf3447..83dc49556b4 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp @@ -168,7 +168,7 @@ public: if (uiStaticChargeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_STATIC_CHARGE); + DoCastVictim(SPELL_STATIC_CHARGE); uiStaticChargeTimer = urand(20000, 25000); } uiStaticChargeTimer -= diff; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 79b04d412d1..8f8f05a4018 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -494,7 +494,7 @@ class boss_razorscale : public CreatureScript events.CancelEvent(EVENT_BUFFET); return; case EVENT_FUSE: - DoCast(me->GetVictim(), SPELL_FUSEARMOR); + DoCastVictim(SPELL_FUSEARMOR); events.ScheduleEvent(EVENT_FUSE, 10000, 0, PHASE_PERMAGROUND); return; } @@ -864,7 +864,7 @@ class npc_darkrune_watcher : public CreatureScript if (ChainTimer <= Diff) { - DoCast(me->GetVictim(), SPELL_CHAIN_LIGHTNING); + DoCastVictim(SPELL_CHAIN_LIGHTNING); ChainTimer = urand(10000, 15000); } else @@ -924,7 +924,7 @@ class npc_darkrune_guardian : public CreatureScript if (StormTimer <= Diff) { - DoCast(me->GetVictim(), SPELL_STORMSTRIKE); + DoCastVictim(SPELL_STORMSTRIKE); StormTimer = urand(4000, 8000); } else @@ -970,7 +970,7 @@ class npc_darkrune_sentinel : public CreatureScript if (HeroicTimer <= Diff) { - DoCast(me->GetVictim(), SPELL_HEROIC_STRIKE); + DoCastVictim(SPELL_HEROIC_STRIKE); HeroicTimer = urand(4000, 6000); } else @@ -978,7 +978,7 @@ class npc_darkrune_sentinel : public CreatureScript if (WhirlTimer <= Diff) { - DoCast(me->GetVictim(), SPELL_WHIRLWIND); + DoCastVictim(SPELL_WHIRLWIND); WhirlTimer = urand(20000, 25000); } else diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index 39ef5284ba7..f26e2ec5f51 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -583,7 +583,7 @@ class mob_pummeller : public CreatureScript { if (_arcingSmashTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCING_SMASH); + DoCastVictim(SPELL_ARCING_SMASH); _arcingSmashTimer = TIMER_ARCING_SMASH; } else @@ -591,7 +591,7 @@ class mob_pummeller : public CreatureScript if (_trampleTimer <= diff) { - DoCast(me->GetVictim(), SPELL_TRAMPLE); + DoCastVictim(SPELL_TRAMPLE); _trampleTimer = TIMER_TRAMPLE; } else @@ -599,7 +599,7 @@ class mob_pummeller : public CreatureScript if (_uppercutTimer <= diff) { - DoCast(me->GetVictim(), SPELL_UPPERCUT); + DoCastVictim(SPELL_UPPERCUT); _uppercutTimer = TIMER_UPPERCUT; } else @@ -755,7 +755,7 @@ class mob_life_spark : public CreatureScript { if (me->IsWithinMeleeRange(me->GetVictim())) { - DoCast(me->GetVictim(), SPELL_SHOCK); + DoCastVictim(SPELL_SHOCK); _shockTimer = TIMER_SHOCK; } } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp index 0331606240f..40f704d4588 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp @@ -226,7 +226,7 @@ public: if (StoneStrike_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_STONE_STRIKE); + DoCastVictim(SPELL_STONE_STRIKE); StoneStrike_Timer = 5000+rand()%5000; } else StoneStrike_Timer -= diff; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index 07567eb83da..12fc9604474 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -320,7 +320,7 @@ public: if (uiChainLightingTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CHAIN_LIGHTING); + DoCastVictim(SPELL_CHAIN_LIGHTING); uiChainLightingTimer = 5000 + rand() % 5000; } else uiChainLightingTimer -= diff; @@ -433,7 +433,7 @@ public: if (uiMortalWoundTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTAL_WOUND); + DoCastVictim(SPELL_MORTAL_WOUND); uiMortalWoundTimer = 3000 + rand() % 4000; } else uiMortalWoundTimer -= diff; @@ -549,13 +549,13 @@ public: if (uiStompTimer <= diff) { - DoCast(me->GetVictim(), SPELL_STOMP); + DoCastVictim(SPELL_STOMP); uiStompTimer = 8000 + rand() % 4000; } else uiStompTimer -= diff; if (uiGoreTimer <= diff) { - DoCast(me->GetVictim(), SPELL_GORE); + DoCastVictim(SPELL_GORE); uiGoreTimer = 13000 + rand() % 4000; } else uiGoreTimer -= diff; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp index beef2eb0f6b..cd8837c9494 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp @@ -366,7 +366,7 @@ public: if (sinsterStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SINSTER_STRIKE); + DoCastVictim(SPELL_SINSTER_STRIKE); sinsterStrikeTimer = urand(5 * IN_MILLISECONDS, 9 * IN_MILLISECONDS); } else diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp index 33cf1a96f80..6097e1ab84b 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp @@ -266,13 +266,13 @@ public: if (m_uiFetidRot_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FETID_ROT); + DoCastVictim(SPELL_FETID_ROT); m_uiFetidRot_Timer = urand(10000, 15000); } else m_uiFetidRot_Timer -= diff; if (m_uiDarkSlash_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_DARK_SLASH); + DoCastVictim(SPELL_DARK_SLASH); m_uiDarkSlash_Timer = urand(30000, 35000); } else m_uiDarkSlash_Timer -= diff; @@ -299,7 +299,7 @@ public: if (m_bIsActiveWithHALDOR && m_uiAbility_HALDOR_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SPIRIT_STRIKE); + DoCastVictim(SPELL_SPIRIT_STRIKE); m_uiAbility_HALDOR_Timer = 5000; // overtime } else m_uiAbility_HALDOR_Timer -= diff; diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp index 5245f3c4586..5e69959732f 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp @@ -158,7 +158,7 @@ public: if (Creature* pGuard2 = Unit::GetCreature(*me, instance ? instance->GetData64(DATA_EREKEM_GUARD_2) : 0)) { if (!pGuard1->IsAlive() && !pGuard2->IsAlive()) - DoCast(me->GetVictim(), SPELL_STORMSTRIKE); + DoCastVictim(SPELL_STORMSTRIKE); } } } @@ -191,7 +191,7 @@ public: if (uiEarthShockTimer <= diff) { - DoCast(me->GetVictim(), SPELL_EARTH_SHOCK); + DoCastVictim(SPELL_EARTH_SHOCK); uiEarthShockTimer = urand(8000, 13000); } else uiEarthShockTimer -= diff; @@ -313,19 +313,19 @@ public: if (uiStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_STRIKE); + DoCastVictim(SPELL_STRIKE); uiStrikeTimer = urand(4000, 8000); } else uiStrikeTimer -= diff; if (uiHowlingScreechTimer <= diff) { - DoCast(me->GetVictim(), SPELL_HOWLING_SCREECH); + DoCastVictim(SPELL_HOWLING_SCREECH); uiHowlingScreechTimer = urand(8000, 13000); } else uiHowlingScreechTimer -= diff; if (uiGushingWoundTimer <= diff) { - DoCast(me->GetVictim(), SPELL_GUSHING_WOUND); + DoCastVictim(SPELL_GUSHING_WOUND); uiGushingWoundTimer = urand(7000, 12000); } else uiGushingWoundTimer -= diff; } diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp index bca65240794..35711d34709 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp @@ -110,19 +110,19 @@ public: if (uiFireboltTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBOLT); + DoCastVictim(SPELL_FIREBOLT); uiFireboltTimer = urand(5000, 13000); } else uiFireboltTimer -= diff; if (uiFlameBreathTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FLAME_BREATH); + DoCastVictim(SPELL_FLAME_BREATH); uiFlameBreathTimer = urand(10000, 15000); } else uiFlameBreathTimer -= diff; if (uiLavaBurnTimer <= diff) { - DoCast(me->GetVictim(), SPELL_LAVA_BURN); + DoCastVictim(SPELL_LAVA_BURN); uiLavaBurnTimer = urand(15000, 23000); } @@ -130,7 +130,7 @@ public: { if (uiCauterizingFlamesTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CAUTERIZING_FLAMES); + DoCastVictim(SPELL_CAUTERIZING_FLAMES); uiCauterizingFlamesTimer = urand(10000, 16000); } else uiCauterizingFlamesTimer -= diff; } diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp index 59ff6873a56..6519ccfbde0 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp @@ -110,7 +110,7 @@ public: if (uiCorrosiveSalivaTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CORROSIVE_SALIVA); + DoCastVictim(SPELL_CORROSIVE_SALIVA); uiCorrosiveSalivaTimer = 10000; } else uiCorrosiveSalivaTimer -= diff; diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp index a73c97a9157..1546db45b7a 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp @@ -171,7 +171,7 @@ public: { if (uiArcaneBuffet_Timer < uiDiff) { - DoCast(me->GetVictim(), SPELL_ARCANE_BUFFET); + DoCastVictim(SPELL_ARCANE_BUFFET); uiArcaneBuffet_Timer = 0; } else uiArcaneBuffet_Timer -= uiDiff; diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp index b8e42384229..7b8641b1b32 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp @@ -130,7 +130,7 @@ public: if (SpellSummonVoidTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SUMMON_VOID_SENTRY, false); + DoCastVictim(SPELL_SUMMON_VOID_SENTRY, false); SpellSummonVoidTimer = 20000; } else SpellSummonVoidTimer -=diff; @@ -143,7 +143,7 @@ public: if (SpellShroudOfDarknessTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SHROUD_OF_DARKNESS); + DoCastVictim(SPELL_SHROUD_OF_DARKNESS); SpellShroudOfDarknessTimer = 20000; } else SpellShroudOfDarknessTimer -=diff; diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index 303a1449644..b1a9a3c7deb 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -844,7 +844,7 @@ public: { if (uiCleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); uiCleaveTimer = 5000; } else uiCleaveTimer -= diff; @@ -861,13 +861,13 @@ public: { if (uiBrutalStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BRUTAL_STRIKE); + DoCastVictim(SPELL_BRUTAL_STRIKE); uiBrutalStrikeTimer = 5000; } else uiBrutalStrikeTimer -= diff; if (uiSunderArmorTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SUNDER_ARMOR); + DoCastVictim(SPELL_SUNDER_ARMOR); uiSunderArmorTimer = urand(8000, 10000); } else uiSunderArmorTimer -= diff; @@ -1054,7 +1054,7 @@ public: if (uiConcussionBlowTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CONCUSSION_BLOW); + DoCastVictim(SPELL_CONCUSSION_BLOW); uiConcussionBlowTimer = 5000; } else uiConcussionBlowTimer -= diff; @@ -1249,7 +1249,7 @@ public: if (uiMortalStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTAL_STRIKE); + DoCastVictim(SPELL_MORTAL_STRIKE); uiMortalStrikeTimer = 5000; } else uiMortalStrikeTimer -= diff; diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 53d7e4c707a..816fe22b21c 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -1381,19 +1381,19 @@ public: { if (shadowBoltTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_SHADOW_BOLT); + DoCastVictim(SPELL_SHADOW_BOLT); shadowBoltTimer = urand(5000, 12000); } else shadowBoltTimer -= uiDiff; if (deflectionTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_DEFLECTION); + DoCastVictim(SPELL_DEFLECTION); deflectionTimer = urand(20000, 25000); } else deflectionTimer -= uiDiff; if (soulBlastTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_SOUL_BLAST); + DoCastVictim(SPELL_SOUL_BLAST); soulBlastTimer = urand (12000, 18000); } else soulBlastTimer -= uiDiff; } diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index 560ab86e3e4..965d197050e 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -656,7 +656,7 @@ public: break; case EVENT_CHOP: if (UpdateVictim()) - DoCast(me->GetVictim(), SPELL_CHOP); + DoCastVictim(SPELL_CHOP); _events.ScheduleEvent(EVENT_CHOP, 10000, 12000); break; default: diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index 39cd99e55ec..4e258486f23 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -577,7 +577,7 @@ public: if (!_summoned && !HealthAbovePct(50)) { Talk(SAY_CALL_FOR_HELP); - //DoCast(me->GetVictim(), SPELL_SUMMON_WHISKER); petai is not working correctly??? + //DoCastVictim(SPELL_SUMMON_WHISKER); petai is not working correctly??? if (Creature* whisker = me->SummonCreature(NPC_WHISKER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 0)) _whiskerGUID = whisker->GetGUID(); @@ -780,13 +780,13 @@ public: if (_cleaveTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); _cleaveTimer = 9000; } else _cleaveTimer -= diff; if (_corrodeFleshTimer <= diff) { - DoCast(me->GetVictim(), SPELL_CORRODE_FLESH); + DoCastVictim(SPELL_CORRODE_FLESH); _corrodeFleshTimer = 6000; } else _corrodeFleshTimer -= diff; diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp index 698e5c2eb43..fce20a0fcdf 100644 --- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp +++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp @@ -82,39 +82,39 @@ public: switch (myClass) { case CLASS_WARRIOR: - DoCast(me->GetVictim(), SPELL_MORTAL_STRIKE); + DoCastVictim(SPELL_MORTAL_STRIKE); Class_Timer = 6000; break; case CLASS_PALADIN: - DoCast(me->GetVictim(), SPELL_HAMMER_OF_JUSTICE); + DoCastVictim(SPELL_HAMMER_OF_JUSTICE); Class_Timer = 6000; break; case CLASS_HUNTER: - DoCast(me->GetVictim(), SPELL_FREEZING_TRAP); + DoCastVictim(SPELL_FREEZING_TRAP); Class_Timer = 20000; break; case CLASS_ROGUE: - DoCast(me->GetVictim(), SPELL_HEMORRHAGE); + DoCastVictim(SPELL_HEMORRHAGE); Class_Timer = 10000; break; case CLASS_PRIEST: - DoCast(me->GetVictim(), SPELL_MIND_FLAY); + DoCastVictim(SPELL_MIND_FLAY); Class_Timer = 5000; break; case CLASS_SHAMAN: - DoCast(me->GetVictim(), SPELL_FROSTSHOCK); + DoCastVictim(SPELL_FROSTSHOCK); Class_Timer = 8000; break; case CLASS_MAGE: - DoCast(me->GetVictim(), SPELL_FIREBALL); + DoCastVictim(SPELL_FIREBALL); Class_Timer = 5000; break; case CLASS_WARLOCK: - DoCast(me->GetVictim(), SPELL_CURSE_OF_AGONY); + DoCastVictim(SPELL_CURSE_OF_AGONY); Class_Timer = 20000; break; case CLASS_DRUID: - DoCast(me->GetVictim(), SPELL_MOONFIRE); + DoCastVictim(SPELL_MOONFIRE); Class_Timer = 10000; break; } @@ -329,7 +329,7 @@ public: if (Mortal_Strike_timer <= diff) { - DoCast(me->GetVictim(), SPELL_AV_MORTAL_STRIKE); + DoCastVictim(SPELL_AV_MORTAL_STRIKE); Mortal_Strike_timer = urand(10, 30) * 1000; } else Mortal_Strike_timer -= diff; diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp index 9d5ee14ec65..5870cd51b4d 100644 --- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp +++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp @@ -166,13 +166,13 @@ public: if (Frostbolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTBOLT); + DoCastVictim(SPELL_FROSTBOLT); Frostbolt_Timer = urand(4500, 6000); } else Frostbolt_Timer -= diff; if (FireBall_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBALL); + DoCastVictim(SPELL_FIREBALL); FireBall_Timer = urand(4500, 6000); } else FireBall_Timer -= diff; @@ -287,7 +287,7 @@ public: if (ArcaneBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_BOLT); + DoCastVictim(SPELL_ARCANE_BOLT); ArcaneBolt_Timer = urand(2000, 4500); } else ArcaneBolt_Timer -= diff; @@ -344,10 +344,10 @@ public: { if (isFireboltTurn) { - DoCast(me->GetVictim(), SPELL_ETHEREAL_APPRENTICE_FIREBOLT, true); + DoCastVictim(SPELL_ETHEREAL_APPRENTICE_FIREBOLT, true); isFireboltTurn = false; }else{ - DoCast(me->GetVictim(), SPELL_ETHEREAL_APPRENTICE_FROSTBOLT, true); + DoCastVictim(SPELL_ETHEREAL_APPRENTICE_FROSTBOLT, true); isFireboltTurn = true; } Cast_Timer = 3000; diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp index e8968659ea4..f16a629dd0c 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp @@ -179,7 +179,7 @@ public: if (CorrosiveAcid_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CORROSIVE_ACID); + DoCastVictim(SPELL_CORROSIVE_ACID); CorrosiveAcid_Timer = urand(15000, 25000); } else CorrosiveAcid_Timer -= diff; diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp index 858a80c9b9c..d5db702a9fc 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp @@ -203,13 +203,13 @@ public: if (ArcingSmashTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCING_SMASH); + DoCastVictim(SPELL_ARCING_SMASH); ArcingSmashTimer = 10000; } else ArcingSmashTimer -= diff; if (FelAcidTimer <= diff) { - DoCast(me->GetVictim(), SPELL_FEL_ACID); + DoCastVictim(SPELL_FEL_ACID); FelAcidTimer = 25000; } else FelAcidTimer -= diff; @@ -226,7 +226,7 @@ public: { if (BewilderingStrikeTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BEWILDERING_STRIKE); + DoCastVictim(SPELL_BEWILDERING_STRIKE); float mt_threat = DoGetThreat(me->GetVictim()); if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 1)) me->AddThreat(target, mt_threat); @@ -235,14 +235,14 @@ public: if (EjectTimer <= diff) { - DoCast(me->GetVictim(), SPELL_EJECT1); + DoCastVictim(SPELL_EJECT1); DoModifyThreatPercent(me->GetVictim(), -40); EjectTimer = 15000; } else EjectTimer -= diff; if (AcidicWoundTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ACIDIC_WOUND); + DoCastVictim(SPELL_ACIDIC_WOUND); AcidicWoundTimer = 10000; } else AcidicWoundTimer -= diff; @@ -251,7 +251,7 @@ public: if (BloodboilCount < 5) // Only cast it five times. { //CastBloodboil(); // Causes issues on windows, so is commented out. - DoCast(me->GetVictim(), SPELL_BLOODBOIL); + DoCastVictim(SPELL_BLOODBOIL); ++BloodboilCount; BloodboilTimer = 10000*BloodboilCount; } @@ -262,13 +262,13 @@ public: { if (AcidGeyserTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ACID_GEYSER); + DoCastVictim(SPELL_ACID_GEYSER); AcidGeyserTimer = 30000; } else AcidGeyserTimer -= diff; if (EjectTimer <= diff) { - DoCast(me->GetVictim(), SPELL_EJECT2); + DoCastVictim(SPELL_EJECT2); EjectTimer = 15000; } else EjectTimer -= diff; } diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 06e6c676ffa..9ef7aaa6dad 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -448,8 +448,8 @@ public: if (FlameBlastTimer <= diff) { - DoCast(me->GetVictim(), SPELL_BLAZE_SUMMON, true); // appear at victim - DoCast(me->GetVictim(), SPELL_FLAME_BLAST); + DoCastVictim(SPELL_BLAZE_SUMMON, true); // appear at victim + DoCastVictim(SPELL_FLAME_BLAST); FlameBlastTimer = 15000; // 10000 is official-like? DoZoneInCombat(); // in case someone is revived } else FlameBlastTimer -= diff; @@ -1039,12 +1039,12 @@ public: case EVENT_SHEAR: // no longer exists in 3.0f.2 - // DoCast(me->GetVictim(), SPELL_SHEAR); + // DoCastVictim(SPELL_SHEAR); Timer[EVENT_SHEAR] = 25000 + (rand()%16 * 1000); break; case EVENT_FLAME_CRASH: - DoCast(me->GetVictim(), SPELL_FLAME_CRASH); + DoCastVictim(SPELL_FLAME_CRASH); Timer[EVENT_FLAME_CRASH] = urand(30000, 40000); break; @@ -1061,7 +1061,7 @@ public: break; case EVENT_DRAW_SOUL: - DoCast(me->GetVictim(), SPELL_DRAW_SOUL); + DoCastVictim(SPELL_DRAW_SOUL); Timer[EVENT_DRAW_SOUL] = urand(50000, 60000); break; @@ -1130,7 +1130,7 @@ public: me->GetMotionMaster()->MoveChase(me->GetVictim(), 30); else me->GetMotionMaster()->MoveIdle(); - DoCast(me->GetVictim(), SPELL_SHADOW_BLAST); + DoCastVictim(SPELL_SHADOW_BLAST); Timer[EVENT_SHADOW_BLAST] = 4000; break; case EVENT_SHADOWDEMON: @@ -1340,7 +1340,7 @@ public: } break; case EVENT_MAIEV_SHADOW_STRIKE: - DoCast(me->GetVictim(), SPELL_SHADOW_STRIKE); + DoCastVictim(SPELL_SHADOW_STRIKE); Timer[EVENT_MAIEV_SHADOW_STRIKE] = 60000; break; case EVENT_MAIEV_TRAP: @@ -1354,7 +1354,7 @@ public: { if (!me->IsWithinDistInMap(me->GetVictim(), 40)) me->GetMotionMaster()->MoveChase(me->GetVictim(), 30); - DoCast(me->GetVictim(), SPELL_THROW_DAGGER); + DoCastVictim(SPELL_THROW_DAGGER); Timer[EVENT_MAIEV_THROW_DAGGER] = 2000; } break; @@ -1777,7 +1777,7 @@ public: EnterPhase(PHASE_TALK); else { - DoCast(me->GetVictim(), SPELL_CHAIN_LIGHTNING); + DoCastVictim(SPELL_CHAIN_LIGHTNING); Timer = 30000; } } @@ -2161,12 +2161,12 @@ public: { TargetGUID = me->GetVictim()->GetGUID(); me->AddThreat(me->GetVictim(), 10000000.0f); - DoCast(me->GetVictim(), SPELL_PURPLE_BEAM, true); - DoCast(me->GetVictim(), SPELL_PARALYZE, true); + DoCastVictim(SPELL_PURPLE_BEAM, true); + DoCastVictim(SPELL_PARALYZE, true); } // Kill our target if we're very close. if (me->IsWithinDistInMap(me->GetVictim(), 3)) - DoCast(me->GetVictim(), SPELL_CONSUME_SOUL); + DoCastVictim(SPELL_CONSUME_SOUL); } }; }; diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp index 8ac3046c07f..1695c729b86 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp @@ -266,13 +266,13 @@ public: if (ShriekTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SILENCING_SHRIEK); + DoCastVictim(SPELL_SILENCING_SHRIEK); ShriekTimer = 25000+rand()%10 * 1000; } else ShriekTimer -= diff; if (SaberTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SABER_LASH); + DoCastVictim(SPELL_SABER_LASH); SaberTimer = 25000+rand()%10 * 1000; } else SaberTimer -= diff; diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index 182b43fe0d0..c2d2c67dc48 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -590,14 +590,14 @@ public: if (SoulShockTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SOUL_SHOCK); + DoCastVictim(SPELL_SOUL_SHOCK); SoulShockTimer = 5000; } else SoulShockTimer -= diff; if (DeadenTimer <= diff) { me->InterruptNonMeleeSpells(false); - DoCast(me->GetVictim(), SPELL_DEADEN); + DoCastVictim(SPELL_DEADEN); DeadenTimer = urand(25000, 35000); if (!(rand()%2)) { @@ -690,7 +690,7 @@ public: if (SoulScreamTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SOUL_SCREAM); + DoCastVictim(SPELL_SOUL_SCREAM); SoulScreamTimer = urand(9000, 11000); if (!(rand()%3)) { diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index ec29dd628bf..cf937ee0cd1 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -887,7 +887,7 @@ public: if (LightningBoltTimer <= diff) { - DoCast(me->GetVictim(), SPELL_LIGHTNING_BOLT); + DoCastVictim(SPELL_LIGHTNING_BOLT); LightningBoltTimer = 10000; } else LightningBoltTimer -= diff; diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp index c6b56566d47..b75296a59e3 100644 --- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp @@ -666,14 +666,14 @@ public: if (ArcaneExplosionTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_EXPLOSION); + DoCastVictim(SPELL_ARCANE_EXPLOSION); Cooldown = 1000; ArcaneExplosionTimer = 14000; } else ArcaneExplosionTimer -= diff; if (ArcaneBoltTimer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_BOLT); + DoCastVictim(SPELL_ARCANE_BOLT); ArcaneBoltTimer = 3000; Cooldown = 2000; } else ArcaneBoltTimer -= diff; @@ -836,13 +836,13 @@ public: { if (DeadlyPoisonTimer <= diff) { - DoCast(me->GetVictim(), SPELL_DEADLY_POISON); + DoCastVictim(SPELL_DEADLY_POISON); DeadlyPoisonTimer = urand(15, 46) * 1000; } else DeadlyPoisonTimer -= diff; if (AppearEnvenomTimer <= diff) // Cast Envenom. This is cast 4 seconds after Vanish is over { - DoCast(me->GetVictim(), SPELL_ENVENOM); + DoCastVictim(SPELL_ENVENOM); AppearEnvenomTimer = 90000; } else AppearEnvenomTimer -= diff; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp index 8e23bd2a0c9..d25b9a25a85 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp @@ -263,7 +263,7 @@ public: //SearNova_Timer if (SearNova_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SEAR_NOVA); + DoCastVictim(SPELL_SEAR_NOVA); SearNova_Timer = 20000+rand()%40000; } else SearNova_Timer -= diff; @@ -395,14 +395,14 @@ public: //LeechingThrow_Timer if (LeechingThrow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_LEECHING_THROW); + DoCastVictim(SPELL_LEECHING_THROW); LeechingThrow_Timer = 20000; } else LeechingThrow_Timer -= diff; //Multishot_Timer if (Multishot_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MULTISHOT); + DoCastVictim(SPELL_MULTISHOT); Multishot_Timer = 20000; } else Multishot_Timer -= diff; @@ -534,7 +534,7 @@ public: //FrostShock_Timer if (FrostShock_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROST_SHOCK); + DoCastVictim(SPELL_FROST_SHOCK); FrostShock_Timer = 25000+rand()%5000; } else FrostShock_Timer -= diff; @@ -651,14 +651,14 @@ public: //WaterBoltVolley_Timer if (WaterBoltVolley_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WATER_BOLT_VOLLEY); + DoCastVictim(SPELL_WATER_BOLT_VOLLEY); WaterBoltVolley_Timer = 30000; } else WaterBoltVolley_Timer -= diff; //TidalSurge_Timer if (TidalSurge_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_TIDAL_SURGE); + DoCastVictim(SPELL_TIDAL_SURGE); // Hacky way to do it - won't trigger elseways me->GetVictim()->CastSpell(me->GetVictim(), SPELL_TIDAL_SURGE_FREEZE, true); TidalSurge_Timer = 15000+rand()%5000; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp index 7e203dfeed9..3b19393fa44 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp @@ -260,7 +260,7 @@ public: break; } - DoCast(me->GetVictim(), mark_spell); + DoCastVictim(mark_spell); if (MarkOfCorruption_Count < 5) ++MarkOfCorruption_Count; @@ -343,7 +343,7 @@ public: break; } - DoCast(me->GetVictim(), mark_spell); + DoCastVictim(mark_spell); if (MarkOfHydross_Count < 5) ++MarkOfHydross_Count; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp index 5ee43b9b0fb..8aa8d939a6d 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp @@ -296,12 +296,12 @@ public: case 0: // Shoot // Used in Phases 1 and 3 after Entangle or while having nobody in melee range. A shot that hits her target for 4097-5543 Physical damage. - DoCast(me->GetVictim(), SPELL_SHOOT); + DoCastVictim(SPELL_SHOOT); break; case 1: // Multishot // Used in Phases 1 and 3 after Entangle or while having nobody in melee range. A shot that hits 1 person and 4 people around him for 6475-7525 physical damage. - DoCast(me->GetVictim(), SPELL_MULTI_SHOT); + DoCastVictim(SPELL_MULTI_SHOT); break; } if (rand()%3) @@ -343,7 +343,7 @@ public: { // Shock Burst // Randomly used in Phases 1 and 3 on Vashj's target, it's a Shock spell doing 8325-9675 nature damage and stunning the target for 5 seconds, during which she will not attack her target but switch to the next person on the aggro list. - DoCast(me->GetVictim(), SPELL_SHOCK_BLAST); + DoCastVictim(SPELL_SHOCK_BLAST); me->TauntApply(me->GetVictim()); ShockBlastTimer = 1000+rand()%14000; // random cooldown @@ -368,7 +368,7 @@ public: { // Entangle // Used in Phases 1 and 3, it casts Entangling Roots on everybody in a 15 yard radius of Vashj, immobilzing them for 10 seconds and dealing 500 damage every 2 seconds. It's not a magic effect so it cannot be dispelled, but is removed by various buffs such as Cloak of Shadows or Blessing of Freedom. - DoCast(me->GetVictim(), SPELL_ENTANGLE); + DoCastVictim(SPELL_ENTANGLE); Entangle = true; EntangleTimer = 10000; } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp index d0b0166b918..02a86e1ab6d 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp @@ -155,7 +155,7 @@ public: if (Link_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SOUL_LINK, true); + DoCastVictim(SPELL_SOUL_LINK, true); Link_Timer = 1000; } else Link_Timer -= diff; @@ -164,7 +164,7 @@ public: if (ShadowBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOWBOLT, false); + DoCastVictim(SPELL_SHADOWBOLT, false); ShadowBolt_Timer = 10000; } else ShadowBolt_Timer -= diff; @@ -507,7 +507,7 @@ public: // will cast only when in range of spell if (me->IsWithinDist(me->GetVictim(), 30)) { - //DoCast(me->GetVictim(), SPELL_CHAOS_BLAST, true); + //DoCastVictim(SPELL_CHAOS_BLAST, true); int damage = 100; me->CastCustomSpell(me->GetVictim(), SPELL_CHAOS_BLAST, &damage, NULL, NULL, false, NULL, NULL, me->GetGUID()); } @@ -657,7 +657,7 @@ public: // will cast only when in range od spell if (me->IsWithinDist(me->GetVictim(), 30)) { - //DoCast(me->GetVictim(), SPELL_CHAOS_BLAST, true); + //DoCastVictim(SPELL_CHAOS_BLAST, true); int damage = 100; me->CastCustomSpell(me->GetVictim(), SPELL_CHAOS_BLAST, &damage, NULL, NULL, false, NULL, NULL, me->GetGUID()); ChaosBlast_Timer = 3000; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index 13e6a1abd05..3f42379dd62 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -399,7 +399,7 @@ public: if (MultiShotTimer <= diff) { if (me->GetVictim()) - DoCast(me->GetVictim(), SPELL_SPREAD_SHOT, true); + DoCastVictim(SPELL_SPREAD_SHOT, true); MultiShotTimer = 10000+rand()%10000; ShootBowTimer += 1500; // add global cooldown diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp index 9202bdb653b..877e1113962 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp @@ -174,7 +174,7 @@ public: { if (!Earthquake) { - DoCast(me->GetVictim(), SPELL_EARTHQUAKE); + DoCastVictim(SPELL_EARTHQUAKE); Earthquake = true; Earthquake_Timer = 10000; } @@ -197,7 +197,7 @@ public: //TidalWave_Timer if (TidalWave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_TIDAL_WAVE); + DoCastVictim(SPELL_TIDAL_WAVE); TidalWave_Timer = 20000; } else TidalWave_Timer -= diff; @@ -330,7 +330,7 @@ public: { if (me->IsWithinDistInMap(me->GetVictim(), 5)) { - DoCast(me->GetVictim(), SPELL_GLOBULE_EXPLOSION); + DoCastVictim(SPELL_GLOBULE_EXPLOSION); //despawn me->DespawnOrUnsummon(); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp index 3d64d258e0a..5d8d44ee70c 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp @@ -129,7 +129,7 @@ public: if (Shrink_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SUPER_SHRINK_RAY); + DoCastVictim(SPELL_SUPER_SHRINK_RAY); Shrink_Timer = 20000; } else Shrink_Timer -= diff; @@ -138,14 +138,14 @@ public: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_SAW_BLADE); else - DoCast(me->GetVictim(), SPELL_SAW_BLADE); + DoCastVictim(SPELL_SAW_BLADE); Saw_Blade_Timer = 15000; } else Saw_Blade_Timer -= diff; if (Electrified_Net_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ELECTRIFIED_NET); + DoCastVictim(SPELL_ELECTRIFIED_NET); Electrified_Net_Timer = 10000; } else Electrified_Net_Timer -= diff; diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp index 6b7190e3853..473630cc9af 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp @@ -200,7 +200,7 @@ public: if (target && me->IsWithinMeleeRange(me->GetVictim())) DoCast(target, SPELL_HURTFUL_STRIKE); else - DoCast(me->GetVictim(), SPELL_HURTFUL_STRIKE); + DoCastVictim(SPELL_HURTFUL_STRIKE); m_uiHurtfulStrike_Timer= 8000; } @@ -210,7 +210,7 @@ public: // Reverberation if (m_uiReverberation_Timer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_REVERBERATION, true); + DoCastVictim(SPELL_REVERBERATION, true); m_uiReverberation_Timer = urand(15000, 25000); } else diff --git a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp index 6812a77d01c..f927f606bda 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp @@ -245,21 +245,21 @@ public: //ArcingSmash_Timer if (ArcingSmash_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCING_SMASH); + DoCastVictim(SPELL_ARCING_SMASH); ArcingSmash_Timer = 10000; } else ArcingSmash_Timer -= diff; //Whirlwind_Timer if (Whirlwind_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_WHIRLWIND); + DoCastVictim(SPELL_WHIRLWIND); Whirlwind_Timer = 55000; } else Whirlwind_Timer -= diff; //MightyBlow_Timer if (MightyBlow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MIGHTY_BLOW); + DoCastVictim(SPELL_MIGHTY_BLOW); MightyBlow_Timer = 30000+rand()%10000; } else MightyBlow_Timer -= diff; @@ -404,7 +404,7 @@ public: //DarkDecay_Timer if (DarkDecay_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_DARK_DECAY); + DoCastVictim(SPELL_DARK_DECAY); DarkDecay_Timer = 20000; } else DarkDecay_Timer -= diff; @@ -528,21 +528,21 @@ public: //LightningBolt_Timer if (LightningBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_LIGHTNING_BOLT); + DoCastVictim(SPELL_LIGHTNING_BOLT); LightningBolt_Timer = 15000; } else LightningBolt_Timer -= diff; //ArcaneShock_Timer if (ArcaneShock_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_SHOCK); + DoCastVictim(SPELL_ARCANE_SHOCK); ArcaneShock_Timer = 20000; } else ArcaneShock_Timer -= diff; //ArcaneExplosion_Timer if (ArcaneExplosion_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_EXPLOSION); + DoCastVictim(SPELL_ARCANE_EXPLOSION); ArcaneExplosion_Timer = 30000; } else ArcaneExplosion_Timer -= diff; @@ -748,7 +748,7 @@ public: //GreaterFireball_Timer if (GreaterFireball_Timer < diff || me->IsWithinDist(me->GetVictim(), 30)) { - DoCast(me->GetVictim(), SPELL_GREATER_FIREBALL); + DoCastVictim(SPELL_GREATER_FIREBALL); GreaterFireball_Timer = 2000; } else GreaterFireball_Timer -= diff; @@ -756,7 +756,7 @@ public: if (SpellShield_Timer <= diff) { me->InterruptNonMeleeSpells(false); - DoCast(me->GetVictim(), SPELL_SPELLSHIELD); + DoCastVictim(SPELL_SPELLSHIELD); SpellShield_Timer = 30000; } else SpellShield_Timer -= diff; diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index c9a3c09d3fb..fdbd0b9dcc6 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -92,7 +92,7 @@ class boss_broggok : public CreatureScript return; if (AcidSpray_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SLIME_SPRAY); + DoCastVictim(SPELL_SLIME_SPRAY); AcidSpray_Timer = 4000+rand()%8000; } else @@ -100,7 +100,7 @@ class boss_broggok : public CreatureScript if (PoisonBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_POISON_BOLT); + DoCastVictim(SPELL_POISON_BOLT); PoisonBolt_Timer = 4000+rand()%8000; } else diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp index 2d663465660..f491c5d4c9a 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp @@ -361,7 +361,7 @@ class mob_shadowmoon_channeler : public CreatureScript if (ShadowBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOW_BOLT); + DoCastVictim(SPELL_SHADOW_BOLT); ShadowBolt_Timer = 5000+rand()%1000; } else diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp index 7a755b40ba7..134284acab5 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp @@ -112,7 +112,7 @@ class boss_the_maker : public CreatureScript if (AcidSpray_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ACID_SPRAY); + DoCastVictim(SPELL_ACID_SPRAY); AcidSpray_Timer = 15000+rand()%8000; } else @@ -141,7 +141,7 @@ class boss_the_maker : public CreatureScript if (Knockdown_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCKDOWN); + DoCastVictim(SPELL_KNOCKDOWN); Knockdown_Timer = 4000+rand()%8000; } else diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp index cf5becb56ce..afde225407d 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp @@ -119,7 +119,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript if (MortalWound_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MORTAL_WOUND); + DoCastVictim(SPELL_MORTAL_WOUND); MortalWound_Timer = 5000+rand()%8000; } else diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp index ca0c60aafde..21b77525ea3 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -178,7 +178,7 @@ class mob_abyssal : public CreatureScript if (FireBlast_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIRE_BLAST); + DoCastVictim(SPELL_FIRE_BLAST); FireBlast_Timer = 5000+rand()%10000; } else FireBlast_Timer -= diff; @@ -368,7 +368,7 @@ class boss_magtheridon : public CreatureScript if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CLEAVE); + DoCastVictim(SPELL_CLEAVE); Cleave_Timer = 10000; } else diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp index ed414215bef..f53748d0aa4 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp @@ -239,13 +239,13 @@ class boss_grand_warlock_nethekurse : public CreatureScript { if (!SpinOnce) { - DoCast(me->GetVictim(), SPELL_DARK_SPIN); + DoCastVictim(SPELL_DARK_SPIN); SpinOnce = true; } if (Cleave_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHADOW_CLEAVE); + DoCastVictim(SPELL_SHADOW_CLEAVE); Cleave_Timer = 6000+rand()%2500; } else @@ -353,7 +353,7 @@ class mob_fel_orc_convert : public CreatureScript if (Hemorrhage_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_HEMORRHAGE); + DoCastVictim(SPELL_HEMORRHAGE); Hemorrhage_Timer = 15000; } else Hemorrhage_Timer -= diff; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 61cccc7ae24..62863edc2d7 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -383,7 +383,7 @@ class boss_alar : public CreatureScript if (MeltArmor_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MELT_ARMOR); + DoCastVictim(SPELL_MELT_ARMOR); MeltArmor_Timer = 60000; } else diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index 88fb5ca6c74..a18b34f7867 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -240,7 +240,7 @@ class boss_high_astromancer_solarian : public CreatureScript { if (BlindingLight) { - DoCast(me->GetVictim(), SPELL_BLINDING_LIGHT); + DoCastVictim(SPELL_BLINDING_LIGHT); BlindingLight = false; } else @@ -381,7 +381,7 @@ class boss_high_astromancer_solarian : public CreatureScript //VoidBolt_Timer if (VoidBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_VOID_BOLT); + DoCastVictim(SPELL_VOID_BOLT); VoidBolt_Timer = 10000; } else @@ -473,7 +473,7 @@ class mob_solarium_priest : public CreatureScript if (holysmiteTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SOLARIUM_HOLY_SMITE); + DoCastVictim(SPELL_SOLARIUM_HOLY_SMITE); holysmiteTimer = 4000; } else @@ -481,7 +481,7 @@ class mob_solarium_priest : public CreatureScript if (aoesilenceTimer <= diff) { - DoCast(me->GetVictim(), SPELL_SOLARIUM_ARCANE_TORRENT); + DoCastVictim(SPELL_SOLARIUM_ARCANE_TORRENT); aoesilenceTimer = 13000; } else diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index f995a454671..d52c67bc2d6 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -761,7 +761,7 @@ class boss_kaelthas : public CreatureScript //ArcaneDisruption_Timer if (ArcaneDisruption_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_DISRUPTION, true); + DoCastVictim(SPELL_ARCANE_DISRUPTION, true); ArcaneDisruption_Timer = 60000; } else @@ -842,7 +842,7 @@ class boss_kaelthas : public CreatureScript { if (PyrosCasted < 3) { - DoCast(me->GetVictim(), SPELL_PYROBLAST); + DoCastVictim(SPELL_PYROBLAST); ++PyrosCasted; } else @@ -1075,7 +1075,7 @@ class boss_thaladred_the_darkener : public CreatureScript //Silence_Timer if (Silence_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SILENCE); + DoCastVictim(SPELL_SILENCE); Silence_Timer = 20000; } else @@ -1084,7 +1084,7 @@ class boss_thaladred_the_darkener : public CreatureScript //PsychicBlow_Timer if (PsychicBlow_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_PSYCHIC_BLOW); + DoCastVictim(SPELL_PSYCHIC_BLOW); PsychicBlow_Timer = 20000+rand()%5000; } else @@ -1153,7 +1153,7 @@ class boss_lord_sanguinar : public CreatureScript //Fear_Timer if (Fear_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_BELLOWING_ROAR); + DoCastVictim(SPELL_BELLOWING_ROAR); Fear_Timer = 25000+rand()%10000; //approximately every 30 seconds } else @@ -1254,7 +1254,7 @@ class boss_grand_astromancer_capernian : public CreatureScript //Fireball_Timer if (Fireball_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_CAPERNIAN_FIREBALL); + DoCastVictim(SPELL_CAPERNIAN_FIREBALL); Fireball_Timer = 4000; } else @@ -1269,7 +1269,7 @@ class boss_grand_astromancer_capernian : public CreatureScript if (target && me->IsWithinDistInMap(target, 30)) DoCast(target, SPELL_CONFLAGRATION); else - DoCast(me->GetVictim(), SPELL_CONFLAGRATION); + DoCastVictim(SPELL_CONFLAGRATION); Conflagration_Timer = 10000+rand()%5000; } @@ -1368,7 +1368,7 @@ class boss_master_engineer_telonicus : public CreatureScript //Bomb_Timer if (Bomb_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_BOMB); + DoCastVictim(SPELL_BOMB); Bomb_Timer = 25000; } else diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp index 684b37cc245..26668a77742 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp @@ -107,7 +107,7 @@ class boss_void_reaver : public CreatureScript // Pounding if (Pounding_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_POUNDING); + DoCastVictim(SPELL_POUNDING); Talk(SAY_POUNDING); Pounding_Timer = 15000; //cast time(3000) + cooldown time(12000) } @@ -144,7 +144,7 @@ class boss_void_reaver : public CreatureScript // Single Target knock back, reduces aggro if (KnockAway_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCK_AWAY); + DoCastVictim(SPELL_KNOCK_AWAY); //Drop 25% aggro if (DoGetThreat(me->GetVictim())) DoModifyThreatPercent(me->GetVictim(), -25); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp index 3d72dae58df..c843f09beb9 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp @@ -71,7 +71,7 @@ class mob_crystalcore_devastator : public CreatureScript //Knockaway_Timer if (Knockaway_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_KNOCKAWAY, true); + DoCastVictim(SPELL_KNOCKAWAY, true); // current aggro target is knocked away pick new target Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 0); diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp index 5954d885f72..1a4916f491a 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp @@ -206,7 +206,7 @@ class mob_ragin_flames : public CreatureScript if (inferno_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_INFERNO); + DoCastVictim(SPELL_INFERNO); me->TauntApply(me->GetVictim()); inferno_Timer = 10000; } else inferno_Timer -= diff; diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp index cb687aea432..67fadf34caa 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp @@ -199,7 +199,7 @@ class mob_nether_wraith : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_ARCANE_MISSILES); else - DoCast(me->GetVictim(), SPELL_ARCANE_MISSILES); + DoCastVictim(SPELL_ARCANE_MISSILES); ArcaneMissiles_Timer = urand(5000, 10000); } else diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp index 172a5b05a96..56e7dbe2a1f 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp @@ -203,7 +203,7 @@ class npc_millhouse_manastorm : public CreatureScript Talk(SAY_PYRO); - DoCast(me->GetVictim(), SPELL_PYROBLAST); + DoCastVictim(SPELL_PYROBLAST); Pyroblast_Timer = 40000; } else @@ -211,7 +211,7 @@ class npc_millhouse_manastorm : public CreatureScript if (Fireball_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBALL); + DoCastVictim(SPELL_FIREBALL); Fireball_Timer = 4000; } else diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp index 2e6a4e52d67..3cf9f01a601 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp @@ -209,7 +209,7 @@ class boss_harbinger_skyriss : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_MIND_REND); else - DoCast(me->GetVictim(), SPELL_MIND_REND); + DoCastVictim(SPELL_MIND_REND); MindRend_Timer = 8000; } @@ -226,7 +226,7 @@ class boss_harbinger_skyriss : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_FEAR); else - DoCast(me->GetVictim(), SPELL_FEAR); + DoCastVictim(SPELL_FEAR); Fear_Timer = 25000; } @@ -243,7 +243,7 @@ class boss_harbinger_skyriss : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_DOMINATION); else - DoCast(me->GetVictim(), SPELL_DOMINATION); + DoCastVictim(SPELL_DOMINATION); Domination_Timer = 16000+rand()%16000; } diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp index ad1f6327207..91bf42351b4 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp @@ -186,7 +186,7 @@ class boss_laj : public CreatureScript if (Allergic_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ALLERGIC_REACTION); + DoCastVictim(SPELL_ALLERGIC_REACTION); Allergic_Timer = 25000+rand()%15000; } else diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp index 4fb04aaeb2f..8f959334c5e 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp @@ -198,7 +198,7 @@ class boss_warp_splinter : public CreatureScript //Check for War Stomp if (War_Stomp_Timer <= diff) { - DoCast(me->GetVictim(), WAR_STOMP); + DoCastVictim(WAR_STOMP); War_Stomp_Timer = urand(25000, 40000); } else @@ -207,7 +207,7 @@ class boss_warp_splinter : public CreatureScript //Check for Arcane Volley if (Arcane_Volley_Timer <= diff) { - DoCast(me->GetVictim(), DUNGEON_MODE(ARCANE_VOLLEY, ARCANE_VOLLEY_H)); + DoCastVictim(DUNGEON_MODE(ARCANE_VOLLEY, ARCANE_VOLLEY_H)); Arcane_Volley_Timer = urand(20000, 35000); } else diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 0e167987e74..3bf6840b6f4 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -238,7 +238,7 @@ public: if (IntangiblePresence_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_INTANGIBLE_PRESENCE); + DoCastVictim(SPELL_INTANGIBLE_PRESENCE); IntangiblePresence_Timer = 15000+rand()%15000; } else IntangiblePresence_Timer -= diff; @@ -252,7 +252,7 @@ public: if (ArcaneBlast_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ARCANE_BLAST); + DoCastVictim(SPELL_ARCANE_BLAST); ArcaneBlast_Timer = 2500+rand()%5000; } else ArcaneBlast_Timer -= diff; diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp index 10fd4e126cb..ea1fde3139f 100644 --- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp +++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp @@ -113,13 +113,13 @@ public: if (Shock_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SHOCK); + DoCastVictim(SPELL_SHOCK); Shock_Timer = 10000; } else Shock_Timer -= diff; if (EnvelopingWinds_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ENVELOPING_WINDS); + DoCastVictim(SPELL_ENVELOPING_WINDS); EnvelopingWinds_Timer = 25000; } else EnvelopingWinds_Timer -= diff; diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp index 442698ab2da..2bb688026d1 100644 --- a/src/server/scripts/Outland/zone_nagrand.cpp +++ b/src/server/scripts/Outland/zone_nagrand.cpp @@ -282,7 +282,7 @@ public: if (m_uiChainLightningTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_CHAIN_LIGHTNING); + DoCastVictim(SPELL_CHAIN_LIGHTNING); m_uiChainLightningTimer = urand(7000, 14000); } else @@ -301,7 +301,7 @@ public: if (m_uiFrostShockTimer <= uiDiff) { - DoCast(me->GetVictim(), SPELL_FROST_SHOCK); + DoCastVictim(SPELL_FROST_SHOCK); m_uiFrostShockTimer = urand(7500, 15000); } else @@ -636,7 +636,7 @@ public: if (ChainLightningTimer <= diff) { - DoCast(me->GetVictim(), SPELL_KUR_CHAIN_LIGHTNING); + DoCastVictim(SPELL_KUR_CHAIN_LIGHTNING); ChainLightningTimer = urand(7000, 14000); } else ChainLightningTimer -= diff; @@ -651,7 +651,7 @@ public: if (FrostShockTimer <= diff) { - DoCast(me->GetVictim(), SPELL_KUR_FROST_SHOCK); + DoCastVictim(SPELL_KUR_FROST_SHOCK); FrostShockTimer = urand(7500, 15000); } else FrostShockTimer -= diff; diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index 110875f7ace..ff89c065c98 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -177,7 +177,7 @@ public: if (CastTimer <= diff) { - DoCast(me->GetVictim(), SPELL_NETHER_BREATH); + DoCastVictim(SPELL_NETHER_BREATH); CastTimer = 5000; } else CastTimer -= diff; @@ -1351,13 +1351,13 @@ public: { if (SpellTimer1 <= diff) { - DoCast(me->GetVictim(), SpawnCast[6].SpellId);//Cleave + DoCastVictim(SpawnCast[6].SpellId);//Cleave SpellTimer1 = SpawnCast[6].Timer2 + (rand()%10 * 1000); } else SpellTimer1 -= diff; if (SpellTimer2 <= diff) { - DoCast(me->GetVictim(), SpawnCast[7].SpellId);//Shadowfury + DoCastVictim(SpawnCast[7].SpellId);//Shadowfury SpellTimer2 = SpawnCast[7].Timer2 + (rand()%5 * 1000); } else SpellTimer2 -= diff; @@ -1609,7 +1609,7 @@ public: { if (SpellTimer1 <= diff) { - DoCast(me->GetVictim(), SpawnCast[0].SpellId);//Spellbreaker + DoCastVictim(SpawnCast[0].SpellId);//Spellbreaker SpellTimer1 = SpawnCast[0].Timer2 + (rand()%5 * 1000); } else SpellTimer1 -= diff; } @@ -1630,13 +1630,13 @@ public: if (SpellTimer2 <= diff) { - DoCast(me->GetVictim(), SpawnCast[2].SpellId);//Psychic Scream + DoCastVictim(SpawnCast[2].SpellId);//Psychic Scream SpellTimer2 = SpawnCast[2].Timer2 + (rand()%13 * 1000); } else SpellTimer2 -= diff; if (SpellTimer3 <= diff) { - DoCast(me->GetVictim(), SpawnCast[3].SpellId);//Mind Blast + DoCastVictim(SpawnCast[3].SpellId);//Mind Blast SpellTimer3 = SpawnCast[3].Timer2 + (rand()%8 * 1000); } else SpellTimer3 -= diff; } @@ -1645,13 +1645,13 @@ public: { if (SpellTimer1 <= diff) { - DoCast(me->GetVictim(), SpawnCast[4].SpellId);//Curse Of Flames + DoCastVictim(SpawnCast[4].SpellId);//Curse Of Flames SpellTimer1 = SpawnCast[4].Timer2 + (rand()%10 * 1000); } else SpellTimer1 -= diff; if (SpellTimer2 <= diff) { - DoCast(me->GetVictim(), SpawnCast[5].SpellId);//Flamestrike + DoCastVictim(SpawnCast[5].SpellId);//Flamestrike SpellTimer2 = SpawnCast[5].Timer2 + (rand()%7 * 13000); } else SpellTimer2 -= diff; } diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp index f0c3910e737..06b34a8f0e2 100644 --- a/src/server/scripts/Outland/zone_shattrath_city.cpp +++ b/src/server/scripts/Outland/zone_shattrath_city.cpp @@ -107,7 +107,7 @@ public: if (Uppercut_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_UPPERCUT); + DoCastVictim(SPELL_UPPERCUT); Uppercut_Timer = 15000; } else Uppercut_Timer -= diff; @@ -181,7 +181,7 @@ public: if (MagneticPull_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_MAGNETIC_PULL); + DoCastVictim(SPELL_MAGNETIC_PULL); MagneticPull_Timer = 15000; } else MagneticPull_Timer -= diff; diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp index 73991466f6e..d463f003523 100644 --- a/src/server/scripts/Outland/zone_terokkar_forest.cpp +++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp @@ -417,7 +417,7 @@ public: if (Silence_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_SILENCE); + DoCastVictim(SPELL_SILENCE); Silence_Timer = 30000; } else Silence_Timer -= diff; @@ -429,7 +429,7 @@ public: if (Frostbolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FROSTBOLT); + DoCastVictim(SPELL_FROSTBOLT); Frostbolt_Timer = 5000; } else Frostbolt_Timer -= diff; diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp index 27143d47b8d..1f98d4aa337 100644 --- a/src/server/scripts/Outland/zone_zangarmarsh.cpp +++ b/src/server/scripts/Outland/zone_zangarmarsh.cpp @@ -199,7 +199,7 @@ public: if (LightningBolt_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_LIGHTNING_BOLT); + DoCastVictim(SPELL_LIGHTNING_BOLT); LightningBolt_Timer = 5000; } else LightningBolt_Timer -= diff; diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp index 9c12be9c916..663127e8cf3 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -593,7 +593,7 @@ class boss_taerar : public CreatureScript uint32 count = sizeof(TaerarShadeSpells) / sizeof(uint32); for (uint32 i = 0; i < count; ++i) - DoCast(me->GetVictim(), TaerarShadeSpells[i], true); + DoCastVictim(TaerarShadeSpells[i], true); _shades += count; DoCast(SPELL_SHADE); diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp index 8c477c38c2b..32b362c47c2 100644 --- a/src/server/scripts/World/guards.cpp +++ b/src/server/scripts/World/guards.cpp @@ -131,7 +131,7 @@ public: if (healing) DoCast(me, info->Id); else - DoCast(me->GetVictim(), info->Id); + DoCastVictim(info->Id); //Set our global cooldown globalCooldown = GENERIC_CREATURE_COOLDOWN; @@ -174,7 +174,7 @@ public: if (healing) DoCast(me, info->Id); else - DoCast(me->GetVictim(), info->Id); + DoCastVictim(info->Id); //Set our global cooldown globalCooldown = GENERIC_CREATURE_COOLDOWN; diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 8a1b5e8b146..28b6c5faaff 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -1136,7 +1136,7 @@ public: if (me->isAttackReady()) { - DoCast(me->GetVictim(), SPELL_DEATHTOUCH, true); + DoCastVictim(SPELL_DEATHTOUCH, true); me->resetAttackTimer(); } } @@ -1680,7 +1680,7 @@ public: else spell = SPELL_CRIPPLING_POISON; - DoCast(me->GetVictim(), spell); + DoCastVictim(spell); } SpellTimer = VIPER_TIMER; @@ -1688,7 +1688,7 @@ public: else //Venomous Snake { if (urand(0, 2) == 0) //33% chance to cast - DoCast(me->GetVictim(), SPELL_DEADLY_POISON); + DoCastVictim(SPELL_DEADLY_POISON); SpellTimer = VENOMOUS_SNAKE_TIMER + (rand() % 5) * 100; } } @@ -2122,7 +2122,7 @@ public: if (FireShield_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIRESHIELD); + DoCastVictim(SPELL_FIRESHIELD); FireShield_Timer = 2 * IN_MILLISECONDS; } else @@ -2130,7 +2130,7 @@ public: if (FireBlast_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIREBLAST); + DoCastVictim(SPELL_FIREBLAST); FireBlast_Timer = 5000 + rand() % 15000; // 5-20 sec cd } else @@ -2138,7 +2138,7 @@ public: if (FireNova_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_FIRENOVA); + DoCastVictim(SPELL_FIRENOVA); FireNova_Timer = 5000 + rand() % 15000; // 5-20 sec cd } else @@ -2183,7 +2183,7 @@ public: if (AngeredEarth_Timer <= diff) { - DoCast(me->GetVictim(), SPELL_ANGEREDEARTH); + DoCastVictim(SPELL_ANGEREDEARTH); AngeredEarth_Timer = 5000 + rand() % 15000; // 5-20 sec cd } else -- cgit v1.2.3 From 7e01ac23db0ddbfc4aee3eff112f8bb77204ebcf Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Sat, 22 Jun 2013 17:24:23 +0200 Subject: Scripts: Fix some typos --- src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp | 2 +- src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 7f5936ff289..0f0810e128a 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -252,7 +252,7 @@ public: case EVENT_PLAGUE_STRIKE: DoCastVictim(SPELL_PLAGUE_STRIKE); events.DelayEvents(1000, GCD_CAST); - events.ScheduleEvent(SPELL_PLAGUE_STRIKE, 5000, GCD_CAST); + events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 5000, GCD_CAST); break; case EVENT_BLOOD_STRIKE: DoCastVictim(SPELL_BLOOD_STRIKE); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp index 2863d81160e..6d8a561a013 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp @@ -672,7 +672,7 @@ class npc_cult_fanatic : public CreatureScript { case EVENT_FANATIC_NECROTIC_STRIKE: DoCastVictim(SPELL_NECROTIC_STRIKE); - Events.ScheduleEvent(SPELL_NECROTIC_STRIKE, urand(11000, 13000)); + Events.ScheduleEvent(EVENT_FANATIC_NECROTIC_STRIKE, urand(11000, 13000)); break; case EVENT_FANATIC_SHADOW_CLEAVE: DoCastVictim(SPELL_SHADOW_CLEAVE); -- cgit v1.2.3 From 180cd5cf6eb3b08e39d0bbff2f9762724a8a2ce3 Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Sun, 23 Jun 2013 01:49:28 +0200 Subject: Core: Fix warning --- src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index 33958f0a38a..19c80fd7d0e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -924,7 +924,7 @@ class spell_biting_cold : public SpellScriptLoader for (TargetList::iterator itr = listOfTargets.begin(); itr != listOfTargets.end(); ++itr) { if (itr->first != target->GetGUID()) - return; + continue; if (itr->second >= 4) { -- cgit v1.2.3