diff options
Diffstat (limited to 'src')
36 files changed, 210 insertions, 313 deletions
diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp index 5667f5ae0b1..93e3816b0fe 100644 --- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp @@ -112,7 +112,7 @@ struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI //Sand Breath if (SandBreath_Timer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_SAND_BREATH : SPELL_SAND_BREATH); + DoCast(m_creature->getVictim(), HEROIC(SPELL_SAND_BREATH, H_SPELL_SAND_BREATH)); SandBreath_Timer = 15000+rand()%10000; }else SandBreath_Timer -= diff; diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp index c8551c7b318..74c5ff1508d 100644 --- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp @@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI //Arcane Blast if (ArcaneBlast_Timer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_ARCANE_BLAST : SPELL_ARCANE_BLAST); + DoCast(m_creature->getVictim(), HEROIC(SPELL_ARCANE_BLAST, H_SPELL_ARCANE_BLAST)); ArcaneBlast_Timer = 15000+rand()%10000; }else ArcaneBlast_Timer -= diff; @@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI if (ArcaneDischarge_Timer < diff) { Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0); - DoCast(target,HeroicMode ? H_SPELL_ARCANE_DISCHARGE : SPELL_ARCANE_DISCHARGE); + DoCast(target,HEROIC(SPELL_ARCANE_DISCHARGE, H_SPELL_ARCANE_DISCHARGE)); ArcaneDischarge_Timer = 20000+rand()%10000; }else ArcaneDischarge_Timer -= diff; diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp index 0d1a6eec214..bf1a1a32c9a 100644 --- a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp @@ -125,7 +125,7 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI //Wing ruffet if (WingBuffet_Timer < diff) { - DoCast(m_creature,HeroicMode ? H_SPELL_WING_BUFFET : SPELL_WING_BUFFET); + DoCast(m_creature,HEROIC(SPELL_WING_BUFFET, H_SPELL_WING_BUFFET)); WingBuffet_Timer = 20000+rand()%10000; }else WingBuffet_Timer -= diff; diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp index e6fa470535f..6793ff94556 100644 --- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp @@ -138,7 +138,7 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI if (plague_Timer < diff) { - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_BROOD_PLAGUE : SPELL_BROOD_PLAGUE); + DoCast(m_creature->getVictim(),HEROIC(SPELL_BROOD_PLAGUE, H_SPELL_BROOD_PLAGUE)); plague_Timer = 15000; }else plague_Timer -= diff; diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp index 9656d6e7072..ce680f6cf92 100644 --- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp @@ -97,20 +97,20 @@ struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI if (uiMindFlayTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_MIND_FLAY : SPELL_MIND_FLAY); + DoCast(m_creature->getVictim(), HEROIC(SPELL_MIND_FLAY, H_SPELL_MIND_FLAY)); uiMindFlayTimer = 20000; } else uiMindFlayTimer -= diff; if (uiShadowBoltVolleyTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_SHADOW_BOLT_VOLLEY : SPELL_SHADOW_BOLT_VOLLEY); + DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_BOLT_VOLLEY, H_SPELL_SHADOW_BOLT_VOLLEY)); uiShadowBoltVolleyTimer = 5000; } else uiShadowBoltVolleyTimer -= diff; if (uiShiverTimer < diff) { if (Unit * target = SelectUnit(SELECT_TARGET_RANDOM, 0)) - DoCast(target, HeroicMode ? H_SPELL_SHIVER : SPELL_SHIVER); + DoCast(target, HEROIC(SPELL_SHIVER, H_SPELL_SHIVER)); uiShiverTimer = 15000; } else uiShiverTimer -= diff; diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp index 578543f9ff1..3d43522c5ba 100644 --- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp @@ -182,7 +182,7 @@ struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI break; case VANISHED: if(pEmbraceTarget) - DoCast(pEmbraceTarget,HeroicMode ? H_SPELL_EMBRACE_OF_THE_VAMPYR : SPELL_EMBRACE_OF_THE_VAMPYR ); + DoCast(pEmbraceTarget,HEROIC(SPELL_EMBRACE_OF_THE_VAMPYR, H_SPELL_EMBRACE_OF_THE_VAMPYR)); Phase = FEEDING; uiPhaseTimer = 20000; break; @@ -340,7 +340,7 @@ struct TRINITY_DLL_DECL mob_taldaram_flamesphereAI : public ScriptedAI m_creature->SetFloatValue(OBJECT_FIELD_SCALE_X, 1.0f); DoCast(m_creature, SPELL_FLAME_SPHERE_VISUAL); DoCast(m_creature, SPELL_FLAME_SPHERE_SPAWN_EFFECT); - DoCast(m_creature, HeroicMode ? H_SPELL_FLAME_SPHERE_PERIODIC : SPELL_FLAME_SPHERE_PERIODIC); + DoCast(m_creature, HEROIC(SPELL_FLAME_SPHERE_PERIODIC, H_SPELL_FLAME_SPHERE_PERIODIC)); uiDespawnTimer = 10000; } diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp index f9b47964d38..269e19edc1a 100644 --- a/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp @@ -18,7 +18,7 @@ /* ScriptData SDName: boss_krikthir_the_gatewatcher -SD%Complete: 80 % +SD%Complete: 80 % SDComment: Find in the future best timers and the event is not implemented. SDCategory: Azjol Nerub EndScriptData */ @@ -40,33 +40,7 @@ enum Spells SPELL_SUMMON_SKITTERING_SWARMER = 52438, //AOE Effect 140, maybe 52439 SPELL_SUMMON_SKITTERING_SWARMER_1 = 52439, //Summon 3x 28735 -}; -enum Mobs -{ - MOB_SKITTERING_SWARMER = 28735, - MOB_SKITTERING_SWARMER_CONTROLLER = 32593, - MOB_SKITTERING_INFECTIOR = 28736, -}; - -enum Yells -{ - SAY_AGGRO = -1601000, - SAY_SLAY_1 = -1601001, - SAY_SLAY_2 = -1601002, - SAY_DEATH = -1601003, - //Not in db - SAY_SEND_GROUP_1 = -1601004, - SAY_SEND_GROUP_2 = -1601005, - SAY_SEND_GROUP_3 = -1601006, - SAY_SWARM_1 = -1601007, - SAY_SWARM_2 = -1601008, - SAY_PREFIGHT_1 = -1601009, - SAY_PREFIGHT_2 = -1601010, - SAY_PREFIGHT_3 = -1601011, - - //npc spells - H_SPELL_ACID_SPLASH = 59363, SPELL_ACID_SPLASH = 52446, @@ -92,7 +66,30 @@ enum Yells SPELL_POSION_SPRAY = 52493, H_SPELL_POSION_SPRAY = 59366, +}; +enum Mobs +{ + MOB_SKITTERING_SWARMER = 28735, + MOB_SKITTERING_SWARMER_CONTROLLER = 32593, + MOB_SKITTERING_INFECTIOR = 28736, +}; + +enum Yells +{ + SAY_AGGRO = -1601000, + SAY_SLAY_1 = -1601001, + SAY_SLAY_2 = -1601002, + SAY_DEATH = -1601003, + //Not in db + SAY_SEND_GROUP_1 = -1601004, + SAY_SEND_GROUP_2 = -1601005, + SAY_SEND_GROUP_3 = -1601006, + SAY_SWARM_1 = -1601007, + SAY_SWARM_2 = -1601008, + SAY_PREFIGHT_1 = -1601009, + SAY_PREFIGHT_2 = -1601010, + SAY_PREFIGHT_3 = -1601011, }; enum Misc { @@ -150,28 +147,25 @@ struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI m_creature->SummonCreature(MOB_SKITTERING_SWARMER,504.01,637.693,777.479,0.506145,TEMPSUMMON_TIMED_DESPAWN,25000); m_creature->SummonCreature(MOB_SKITTERING_SWARMER,552.625,706.408,777.177,3.4383,TEMPSUMMON_TIMED_DESPAWN,25000); m_creature->SummonCreature(MOB_SKITTERING_SWARMER,552.625,706.408,777.177,3.4383,TEMPSUMMON_TIMED_DESPAWN,25000); - - } void UpdateAI(const uint32 diff) { if (!UpdateVictim()) return; - + if(SummonTimer < diff) { Summon(); SummonTimer = 15000; - }else SummonTimer -= diff; + } else SummonTimer -= diff; if (MindFlayTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_MIND_FLAY : SPELL_MIND_FLAY); - + DoCast(m_creature->getVictim(), HEROIC(SPELL_MIND_FLAY, H_SPELL_MIND_FLAY)); MindFlayTimer = 15000; - }else MindFlayTimer -= diff; + } else MindFlayTimer -= diff; if (CurseFatigueTimer < diff) { @@ -179,16 +173,14 @@ struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0); Unit* target_1 = SelectUnit(SELECT_TARGET_RANDOM, 1); - DoCast(target, HeroicMode ? H_SPELL_CURSE_OF_FATIGUE : SPELL_CURSE_OF_FATIGUE); - DoCast(target_1, HeroicMode ? H_SPELL_CURSE_OF_FATIGUE : SPELL_CURSE_OF_FATIGUE); + DoCast(target, HEROIC(SPELL_CURSE_OF_FATIGUE, H_SPELL_CURSE_OF_FATIGUE)); + DoCast(target_1, HEROIC(SPELL_CURSE_OF_FATIGUE, H_SPELL_CURSE_OF_FATIGUE)); CurseFatigueTimer = 10000; - }else CurseFatigueTimer -= diff; + } else CurseFatigueTimer -= diff; if (!m_creature->HasAura(SPELL_FRENZY) && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 10) - { m_creature->CastSpell(m_creature,SPELL_FRENZY,true); - } DoMeleeAttackIfReady(); } @@ -219,17 +211,12 @@ struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI if (victim == m_creature) return; - switch (rand()%2) - { - case 0: DoScriptText(SAY_SLAY_1, m_creature); break; - case 1: DoScriptText(SAY_SLAY_1, m_creature); break; - } + DoScriptText(RAND(SAY_SLAY_1,SAY_SLAY_2), m_creature); } void JustSummoned(Creature* summoned) { summoned->GetMotionMaster()->MovePoint(m_creature->GetEntry(),m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ()); - } }; @@ -238,8 +225,9 @@ struct TRINITY_DLL_DECL npc_skittering_infectorAI : public ScriptedAI npc_skittering_infectorAI(Creature *c) : ScriptedAI(c) {} void JustDied(Unit* killer) - { //The spell is not working propperly - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_ACID_SPLASH : SPELL_ACID_SPLASH,true); + { + //The spell is not working propperly + DoCast(m_creature->getVictim(),HEROIC(SPELL_ACID_SPLASH, H_SPELL_ACID_SPLASH), true); } }; @@ -247,13 +235,13 @@ struct TRINITY_DLL_DECL npc_skittering_infectorAI : public ScriptedAI struct TRINITY_DLL_DECL npc_anub_ar_skirmisherAI : public ScriptedAI { npc_anub_ar_skirmisherAI(Creature *c) : ScriptedAI(c) {} - + uint32 ChargeTimer; uint32 BackstabTimer; void Reset() { - ChargeTimer = 15000; + ChargeTimer = 11000; BackstabTimer = 7000; } @@ -261,28 +249,24 @@ struct TRINITY_DLL_DECL npc_anub_ar_skirmisherAI : public ScriptedAI { if (!UpdateVictim()) return; - + if(ChargeTimer < diff) { - Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0); - while (target && target->GetTypeId() != TYPEID_PLAYER) - target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target) + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) { DoResetThreat(); - m_creature->AddThreat(target,1.0f); - DoCast(target,SPELL_CHARGE,true); + m_creature->AddThreat(pTarget,1.0f); + DoCast(pTarget,SPELL_CHARGE,true); } ChargeTimer = 15000; - }else ChargeTimer -= diff; + } else ChargeTimer -= diff; if(BackstabTimer < diff) { DoCast(m_creature->getVictim(),SPELL_BACKSTAB); - - BackstabTimer = 7000; - }else BackstabTimer -= diff; + BackstabTimer = 12000; + } else BackstabTimer -= diff; DoMeleeAttackIfReady(); @@ -292,40 +276,33 @@ struct TRINITY_DLL_DECL npc_anub_ar_skirmisherAI : public ScriptedAI struct TRINITY_DLL_DECL npc_anub_ar_shadowcasterAI : public ScriptedAI { npc_anub_ar_shadowcasterAI(Creature *c) : ScriptedAI(c) {} - + uint32 ShadowBoltTimer; uint32 ShadowNovaTimer; void Reset() { ShadowBoltTimer = 6000; - ShadowNovaTimer = 20000; + ShadowNovaTimer = 15000; } void UpdateAI(const uint32 diff) { if (!UpdateVictim()) return; - + if(ShadowBoltTimer < diff) { - Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0); - while (target && target->GetTypeId() != TYPEID_PLAYER) - target = SelectUnit(SELECT_TARGET_RANDOM,0); - - if (target) - DoCast(target, HeroicMode ? H_SPELL_SHADOW_BOLT : SPELL_SHADOW_BOLT,true); - - ShadowBoltTimer = 6000; - }else ShadowBoltTimer -= diff; + if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM,0,100,true)) + DoCast(target, HEROIC(SPELL_SHADOW_BOLT : H_SPELL_SHADOW_BOLT), true); + ShadowBoltTimer = 15000; + } else ShadowBoltTimer -= diff; if(ShadowNovaTimer < diff) { - - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_SHADOW_NOVA : SPELL_SHADOW_NOVA,true); - - ShadowNovaTimer = 20000; - }else ShadowNovaTimer -= diff; + DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_NOVA, H_SPELL_SHADOW_NOVA), true); + ShadowNovaTimer = 17000; + } else ShadowNovaTimer -= diff; DoMeleeAttackIfReady(); } @@ -340,7 +317,7 @@ struct TRINITY_DLL_DECL npc_anub_ar_warriorAI : public ScriptedAI void Reset() { - CleaveTimer = 15000; + CleaveTimer = 11000; StrikeTimer = 6000; } @@ -348,22 +325,18 @@ struct TRINITY_DLL_DECL npc_anub_ar_warriorAI : public ScriptedAI { if (!UpdateVictim()) return; - + if(StrikeTimer < diff) { - m_creature->CastSpell(m_creature->getVictim(),SPELL_STRIKE,true); - - StrikeTimer = 6000; - }else StrikeTimer -= diff; + StrikeTimer = 15000; + } else StrikeTimer -= diff; if(CleaveTimer < diff) { - m_creature->CastSpell(m_creature->getVictim(), SPELL_CLEAVE ,true); - - CleaveTimer = 15000; - }else CleaveTimer -= diff; + CleaveTimer = 17000; + } else CleaveTimer -= diff; DoMeleeAttackIfReady(); @@ -380,41 +353,33 @@ struct TRINITY_DLL_DECL npc_watcher_gashraAI : public ScriptedAI void Reset() { - WebWrapTimer = 12000; - InfectedBiteTimer = 5000; + WebWrapTimer = 11000; + InfectedBiteTimer = 4000; } void EnterCombat(Unit* who) { - m_creature->CastSpell(m_creature,SPELL_ENRAGE,true); - } void UpdateAI(const uint32 diff) { if (!UpdateVictim()) return; - + if(WebWrapTimer < diff) { - Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0); - while (target && target->GetTypeId() != TYPEID_PLAYER) - target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target) + if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM,0,100,true)) m_creature->CastSpell(target, SPELL_WEB_WRAP,true); - - WebWrapTimer = 15000; - }else WebWrapTimer -= diff; + WebWrapTimer = 17000; + } else WebWrapTimer -= diff; if(InfectedBiteTimer < diff) { - - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_INFECTED_BITE : SPELL_INFECTED_BITE,true); - - InfectedBiteTimer = 6000; - }else InfectedBiteTimer -= diff; + DoCast(m_creature->getVictim(), HEROIC(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true); + InfectedBiteTimer = 15000; + } else InfectedBiteTimer -= diff; DoMeleeAttackIfReady(); } @@ -430,42 +395,34 @@ struct TRINITY_DLL_DECL npc_watcher_narjilAI : public ScriptedAI void Reset() { - WebWrapTimer = 16000; - InfectedBiteTimer = 12000; - BlindingWebsTimer = 10000; + WebWrapTimer = 11000; + InfectedBiteTimer = 4000; + BlindingWebsTimer = 17000; } void UpdateAI(const uint32 diff) { if (!UpdateVictim()) return; - + if(WebWrapTimer < diff) { - Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0); - while (target && target->GetTypeId() != TYPEID_PLAYER) - target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target) + if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM,0,100,true)) DoCast(target, SPELL_WEB_WRAP,true); - - WebWrapTimer = 16000; - }else WebWrapTimer -= diff; + WebWrapTimer = 15000; + } else WebWrapTimer -= diff; if(InfectedBiteTimer < diff) { - - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_INFECTED_BITE : SPELL_INFECTED_BITE,true); - - InfectedBiteTimer = 12000; - }else InfectedBiteTimer -= diff; + DoCast(m_creature->getVictim(), HEROIC(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true); + InfectedBiteTimer = 11000; + } else InfectedBiteTimer -= diff; if(BlindingWebsTimer < diff) { - - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_BLINDING_WEBS : SPELL_BLINDING_WEBS, true); - - BlindingWebsTimer = 10000; - }else BlindingWebsTimer -= diff; + DoCast(m_creature->getVictim(), HEROIC(SPELL_BLINDING_WEBS, H_SPELL_BLINDING_WEBS), true); + BlindingWebsTimer = 17000; + } else BlindingWebsTimer -= diff; DoMeleeAttackIfReady(); } @@ -481,43 +438,35 @@ struct TRINITY_DLL_DECL npc_watcher_silthikAI : public ScriptedAI void Reset() { - WebWrapTimer = 12000; - InfectedBiteTimer = 8000; - PosionSprayTimer = 5000; + WebWrapTimer = 11000; + InfectedBiteTimer = 4000; + PosionSprayTimer = 15000; } - void UpdateAI(const uint32 diff) { if (!UpdateVictim()) return; - + if(WebWrapTimer < diff) { - Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0); - while (target && target->GetTypeId() != TYPEID_PLAYER) - target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target) + if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM,0,100,true)) DoCast(target, SPELL_WEB_WRAP,true); - WebWrapTimer = 12000; - }else WebWrapTimer -= diff; + WebWrapTimer = 15000; + } else WebWrapTimer -= diff; if(InfectedBiteTimer < diff) { - - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_INFECTED_BITE : SPELL_INFECTED_BITE,true); - - InfectedBiteTimer = 8000; - }else InfectedBiteTimer -= diff; + DoCast(m_creature->getVictim(), HEROIC(SPELL_INFECTED_BITE, H_SPELL_INFECTED_BITE), true); + InfectedBiteTimer = 15000; + } else InfectedBiteTimer -= diff; if(PosionSprayTimer < diff) { - - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_POSION_SPRAY : SPELL_POSION_SPRAY ,true); - - PosionSprayTimer = 5000; - }else PosionSprayTimer -= diff; + DoCast(m_creature->getVictim(), HEROIC(SPELL_POSION_SPRAY , H_SPELL_POSION_SPRAY), true); + PosionSprayTimer = 17000; + } else PosionSprayTimer -= diff; DoMeleeAttackIfReady(); @@ -573,7 +522,7 @@ void AddSC_boss_krik_thir() newscript->Name="boss_krik_thir"; newscript->GetAI = &GetAI_boss_krik_thir; newscript->RegisterSelf(); - + newscript = new Script; newscript->Name="npc_skittering_infector"; newscript->GetAI = &GetAI_npc_skittering_infector; diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp index 84e94584ee1..3ca1abdd8f1 100644 --- a/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp @@ -259,6 +259,7 @@ struct TRINITY_DLL_DECL npc_living_mojoAI : public ScriptedAI Colossus->RemoveAura(SPELL_FREEZE_ANIM); Colossus->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE); Colossus->SetReactState(REACT_AGGRESSIVE); + Colossus->AI()->AttackStart(pDone_by); EnterEvadeMode(); } } @@ -272,13 +273,13 @@ struct TRINITY_DLL_DECL npc_living_mojoAI : public ScriptedAI if (MojoWaveTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_MOJO_WAVE : SPELL_MOJO_WAVE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_MOJO_WAVE, H_SPELL_MOJO_WAVE)); MojoWaveTimer = 15000; } else MojoWaveTimer -= diff; if (MojoPuddleTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_MOJO_PUDDLE : SPELL_MOJO_PUDDLE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_MOJO_PUDDLE, H_SPELL_MOJO_PUDDLE)); MojoPuddleTimer = 18000; } else MojoPuddleTimer -= diff; diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp index 9bc261db7d2..03a2740bd0a 100644 --- a/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp @@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_gal_darahAI : public ScriptedAI if (uiWhirlingSlashTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_WHIRLING_SLASH : SPELL_WHIRLING_SLASH); + DoCast(m_creature->getVictim(), HEROIC(SPELL_WHIRLING_SLASH, H_SPELL_WHIRLING_SLASH)); uiWhirlingSlashTimer = 20000; ++uiPhaseCounter; } else uiWhirlingSlashTimer -= diff; @@ -137,29 +137,26 @@ struct TRINITY_DLL_DECL boss_gal_darahAI : public ScriptedAI { if (uiPunctureTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_PUNCTURE : SPELL_PUNCTURE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_PUNCTURE, H_SPELL_PUNCTURE)); uiPunctureTimer = 8000; } else uiPunctureTimer -= diff; if (uiEnrageTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_ENRAGE : SPELL_ENRAGE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_ENRAGE, H_SPELL_ENRAGE)); uiEnrageTimer = 20000; } else uiEnrageTimer -= diff; if(uiStompTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_STOMP : SPELL_STOMP); + DoCast(m_creature->getVictim(), HEROIC(SPELL_STOMP, H_SPELL_STOMP)); uiStompTimer = 20000; } else uiStompTimer -= diff; if (uiImpalingChargeTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) - DoCast(pTarget,HeroicMode ? H_SPELL_IMPALING_CHARGE : SPELL_IMPALING_CHARGE); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(pTarget,HEROIC(SPELL_IMPALING_CHARGE, H_SPELL_IMPALING_CHARGE)); uiImpalingChargeTimer = 30000; ++uiPhaseCounter; } else uiImpalingChargeTimer -= diff; diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp index 6e7c44f7193..b82696b0103 100644 --- a/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp @@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL boss_moorabiAI : public ScriptedAI if (SPELL_DETERMINED_STAB_TIMER < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? SPELL_DETERMINED_GORE_1 : SPELL_DETERMINED_GORE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_DETERMINED_GORE, SPELL_DETERMINED_GORE_1)); SPELL_DETERMINED_STAB_TIMER = 8000; } else SPELL_DETERMINED_STAB_TIMER -=diff; } diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp index 3c3e6b92643..022b79fe682 100644 --- a/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp @@ -109,19 +109,19 @@ struct TRINITY_DLL_DECL boss_slad_ranAI : public ScriptedAI if (uiPoisonNovaTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_POISON_NOVA : SPELL_POISON_NOVA); + DoCast(m_creature->getVictim(), HEROIC(SPELL_POISON_NOVA, H_SPELL_POISON_NOVA)); uiPoisonNovaTimer = 15000; } else uiPoisonNovaTimer -= diff; if (uiPowerfullBiteTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_POWERFULL_BITE : SPELL_POWERFULL_BITE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_POWERFULL_BITE, H_SPELL_POWERFULL_BITE)); uiPowerfullBiteTimer = 10000; } else uiPowerfullBiteTimer -= diff; if (uiVenomBoltTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_VENOM_BOLT : SPELL_VENOM_BOLT); + DoCast(m_creature->getVictim(), HEROIC(SPELL_VENOM_BOLT, H_SPELL_VENOM_BOLT)); uiVenomBoltTimer = 10000; } else uiVenomBoltTimer -= diff; @@ -218,7 +218,7 @@ struct TRINITY_DLL_DECL mob_slad_ran_viperAI : public ScriptedAI if (uiVenomousBiteTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_VENOMOUS_BITE : SPELL_VENOMOUS_BITE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_VENOMOUS_BITE, H_SPELL_VENOMOUS_BITE)); uiVenomousBiteTimer = 10000; } else uiVenomousBiteTimer -= diff; } diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp index ceade964fbc..11f6d01430d 100644 --- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp @@ -198,7 +198,7 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI if (SPELL_SPARK_Timer < diff) { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) - DoCast(target, HeroicMode ? SPELL_SPARK_H : SPELL_SPARK_N); + DoCast(target, HEROIC(SPELL_SPARK_N, SPELL_SPARK_H)); SPELL_SPARK_Timer = 5000; }else SPELL_SPARK_Timer -=diff; diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp index e2fc78b821b..d478ac816eb 100644 --- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp @@ -199,7 +199,7 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI if (CRYSTALFIRE_BREATH_Timer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? SPELL_CRYSTALFIRE_BREATH_H : SPELL_CRYSTALFIRE_BREATH_N); + DoCast(m_creature->getVictim(), HEROIC(SPELL_CRYSTALFIRE_BREATH_N, SPELL_CRYSTALFIRE_BREATH_H)); CRYSTALFIRE_BREATH_Timer = 14000; }else CRYSTALFIRE_BREATH_Timer -=diff; @@ -214,11 +214,10 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI DoScriptText(SAY_CRYSTAL_NOVA , m_creature); if (HeroicMode) DoCast(m_creature, SPELL_CRYSTALIZE); - else - if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) - DoCast(target, SPELL_CRYSTAL_CHAINS); + else if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) + DoCast(target, SPELL_CRYSTAL_CHAINS); CRYSTAL_CHAINS_CRYSTALIZE_Timer = HeroicMode ? 30000 : 11000; - }else CRYSTAL_CHAINS_CRYSTALIZE_Timer -= diff; + } else CRYSTAL_CHAINS_CRYSTALIZE_Timer -= diff; DoMeleeAttackIfReady(); } diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp index 946750a42a0..917f2d14493 100644 --- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp @@ -318,7 +318,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) { - DoCast(target, HeroicMode ? SPELL_ICE_NOVA_H : SPELL_ICE_NOVA_N); + DoCast(target, HEROIC(SPELL_ICE_NOVA_N, SPELL_ICE_NOVA_H)); Cooldown = 1500; } SPELL_ICE_NOVA_Timer = 15000; @@ -338,7 +338,7 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) { - DoCast(target, HeroicMode ? SPELL_FIREBOMB_H : SPELL_FIREBOMB_N); + DoCast(target, HEROIC(SPELL_FIREBOMB_N, SPELL_FIREBOMB_H)); Cooldown = 2000; } SPELL_FIREBOMB_Timer = 2000; diff --git a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp index 7ad3cb35bbc..4266c3dc562 100644 --- a/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp @@ -145,7 +145,7 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI if (SPELL_TRAMPLE_Timer < diff) { - DoCast(m_creature, HeroicMode ? SPELL_TRAMPLE_H : SPELL_TRAMPLE_N); + DoCast(m_creature, HEROIC(SPELL_TRAMPLE_N, SPELL_TRAMPLE_H)); SPELL_TRAMPLE_Timer = 10000; }else SPELL_TRAMPLE_Timer -= diff; @@ -245,7 +245,7 @@ struct TRINITY_DLL_DECL mob_crystal_spikeAI : public Scripted_NoMovementAI if (SPELL_CRYSTALL_SPIKE_DAMAGE_Timer < diff) { - DoCast(m_creature, HeroicMode ? SPELL_CRYSTALL_SPIKE_DAMAGE_H : SPELL_CRYSTALL_SPIKE_DAMAGE_N); + DoCast(m_creature, HEROIC(SPELL_CRYSTALL_SPIKE_DAMAGE_N, SPELL_CRYSTALL_SPIKE_DAMAGE_H)); SPELL_CRYSTALL_SPIKE_DAMAGE_Timer = 10000; }else SPELL_CRYSTALL_SPIKE_DAMAGE_Timer -=diff; } diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp index a1334bdfe8d..5e221e2ea53 100644 --- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp @@ -78,27 +78,21 @@ struct TRINITY_DLL_DECL boss_krystallusAI : public ScriptedAI if (uiBoulderTossTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) - DoCast(pTarget, HeroicMode ? H_SPELL_BOULDER_TOSS : SPELL_BOULDER_TOSS); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(pTarget, HEROIC(SPELL_BOULDER_TOSS, H_SPELL_BOULDER_TOSS)); uiBoulderTossTimer = 9000 + rand()%6000; } else uiBoulderTossTimer -= diff; if (uiGroundSpikeTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(pTarget, SPELL_GROUND_SPIKE); uiGroundSpikeTimer = 12000 + rand()%5000; } else uiGroundSpikeTimer -= diff; if (uiStompTimer < diff) { - DoCast(m_creature, HeroicMode ? H_SPELL_STOMP : SPELL_STOMP); + DoCast(m_creature, HEROIC(SPELL_STOMP, H_SPELL_STOMP)); uiStompTimer = 20000 + rand()%9000; } else uiStompTimer -= diff; @@ -114,7 +108,7 @@ struct TRINITY_DLL_DECL boss_krystallusAI : public ScriptedAI { if(uiShatterTimer < diff) { - DoCast(m_creature, HeroicMode ? H_SPELL_SHATTER : SPELL_SHATTER); + DoCast(m_creature, HEROIC(SPELL_SHATTER, H_SPELL_SHATTER)); bIsSlam = false; } else uiShatterTimer -= diff; } diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp index 73d230d3d97..aaa0462e3ba 100644 --- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp @@ -120,23 +120,20 @@ struct TRINITY_DLL_DECL boss_sjonnirAI : public ScriptedAI if (uiChainLightningTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - if (pTarget) - DoCast(pTarget, HeroicMode ? H_SPELL_CHAIN_LIGHTING : SPELL_CHAIN_LIGHTING); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(pTarget, HEROIC(SPELL_CHAIN_LIGHTING, H_SPELL_CHAIN_LIGHTING)); uiChainLightningTimer = 10000 + rand()%5000; } else uiChainLightningTimer -= diff; if (uiLightningShieldTimer < diff) { - DoCast(m_creature, HeroicMode ? H_SPELL_LIGHTING_SHIELD : SPELL_LIGHTING_SHIELD); + DoCast(m_creature, HEROIC(SPELL_LIGHTING_SHIELD, H_SPELL_LIGHTING_SHIELD)); uiLightningShieldTimer -= diff; } if (uiStaticChargeTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_STATIC_CHARGE : SPELL_STATIC_CHARGE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_STATIC_CHARGE, H_SPELL_STATIC_CHARGE)); uiStaticChargeTimer = 20000 + rand()%5000; } uiStaticChargeTimer -= diff; @@ -144,7 +141,7 @@ struct TRINITY_DLL_DECL boss_sjonnirAI : public ScriptedAI { if (m_creature->IsNonMeleeSpellCasted(false)) m_creature->InterruptNonMeleeSpells(false); - DoCast(m_creature, HeroicMode ? H_SPELL_LIGHTING_RING : SPELL_LIGHTING_RING); + DoCast(m_creature, HEROIC(SPELL_LIGHTING_RING, H_SPELL_LIGHTING_RING)); uiLightningRingTimer = 30000 + rand()%5000; } else uiLightningRingTimer -= diff; @@ -176,10 +173,7 @@ struct TRINITY_DLL_DECL boss_sjonnirAI : public ScriptedAI void JustSummoned(Creature* summon) { summon->GetMotionMaster()->MovePoint(0, CenterPoint.x, CenterPoint.y, CenterPoint.z); - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - /*while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - if (pTarget) + /*if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) summon->AI()->AttackStart(pTarget);*/ } diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp index bd1eab8ce42..512087ed35e 100644 --- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp @@ -181,13 +181,11 @@ struct TRINITY_DLL_DECL mob_tribuna_controllerAI : public ScriptedAI { if (uiKaddrakEncounterTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget && !lKaddrakGUIDList.empty()) - for(std::list<Creature*>::iterator itr = lKaddrakGUIDList.begin(); itr != lKaddrakGUIDList.end(); ++itr) - if ((*itr)->isAlive()) - (*itr)->CastSpell(pTarget, HeroicMode ? H_SPELL_GLARE_OF_THE_TRIBUNAL : SPELL_GLARE_OF_THE_TRIBUNAL, true); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + if (!lKaddrakGUIDList.empty()) + for (std::list<Creature*>::iterator itr = lKaddrakGUIDList.begin(); itr != lKaddrakGUIDList.end(); ++itr) + if ((*itr)->isAlive()) + (*itr)->CastSpell(pTarget, HEROIC(SPELL_GLARE_OF_THE_TRIBUNAL, H_SPELL_GLARE_OF_THE_TRIBUNAL), true); uiKaddrakEncounterTimer = 1500; } else uiKaddrakEncounterTimer -= diff; } @@ -195,16 +193,13 @@ struct TRINITY_DLL_DECL mob_tribuna_controllerAI : public ScriptedAI { if (uiMarnakEncounterTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) { if (Creature* pSummon = m_creature->SummonCreature(CREATURE_DARK_MATTER_TARGET, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000)) { pSummon->SetDisplayId(11686); pSummon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - pSummon->CastSpell(pTarget, HeroicMode ? H_SPELL_DARK_MATTER : SPELL_DARK_MATTER, true); + pSummon->CastSpell(pTarget, HEROIC(SPELL_DARK_MATTER, H_SPELL_DARK_MATTER), true); } } uiMarnakEncounterTimer = 30000 + rand()%1000; @@ -214,16 +209,13 @@ struct TRINITY_DLL_DECL mob_tribuna_controllerAI : public ScriptedAI { if (uiAbedneumEncounterTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) { if (Creature* pSummon = m_creature->SummonCreature(CREATURE_SEARING_GAZE_TARGET, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000)) { pSummon->SetDisplayId(11686); pSummon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - pSummon->CastSpell(pTarget, HeroicMode ? H_SPELL_SEARING_GAZE : SPELL_SEARING_GAZE, true); + pSummon->CastSpell(pTarget, HEROIC(SPELL_SEARING_GAZE, H_SPELL_SEARING_GAZE), true); } } uiAbedneumEncounterTimer = 30000 + rand()%1000; diff --git a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp index aceaca2231c..278b6db583b 100644 --- a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp @@ -136,7 +136,7 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI void EnterCombat(Unit *who) { DoZoneInCombat(); - DoCast(m_creature, (HeroicMode) ? SPELL_HIGH_VOLTAGE_H : SPELL_HIGH_VOLTAGE); + DoCast(m_creature, HEROIC(SPELL_HIGH_VOLTAGE, SPELL_HIGH_VOLTAGE_H)); events.ScheduleEvent(EVENT_ENRAGE, 900000); UpdatePhase(); } @@ -204,18 +204,18 @@ struct TRINITY_DLL_DECL boss_steelbreakerAI : public ScriptedAI DoCast(SPELL_BERSERK); break; case EVENT_FUSION_PUNCH: - DoCast(me->getVictim(), (HeroicMode) ? SPELL_FUSION_PUNCH : SPELL_FUSION_PUNCH_H); + DoCast(me->getVictim(), HEROIC(SPELL_FUSION_PUNCH_H, SPELL_FUSION_PUNCH)); events.ScheduleEvent(EVENT_FUSION_PUNCH, 13000 + (rand()%9)*1000); break; case EVENT_STATIC_DISRUPTION: { Unit *target = SelectTarget(SELECT_TARGET_RANDOM); - DoCast(target, (HeroicMode) ? SPELL_STATIC_DISRUPTION : SPELL_STATIC_DISRUPTION_H); + DoCast(target, HEROIC(SPELL_STATIC_DISRUPTION_H, SPELL_STATIC_DISRUPTION)); events.ScheduleEvent(EVENT_STATIC_DISRUPTION, 20000 + (rand()%20)*1000); } break; case EVENT_OVERWHELMING_POWER: - DoCast(me->getVictim(), (HeroicMode) ? SPELL_OVERWHELMING_POWER_H : SPELL_OVERWHELMING_POWER); + DoCast(me->getVictim(), HEROIC(SPELL_OVERWHELMING_POWER, SPELL_OVERWHELMING_POWER_H)); events.ScheduleEvent(EVENT_OVERWHELMING_POWER, (HeroicMode) ? 35000 : 60000); break; } @@ -319,7 +319,7 @@ struct TRINITY_DLL_DECL boss_runemaster_molgeimAI : public ScriptedAI } break; case EVENT_SHIELD_OF_RUNES: - DoCast( m_creature, (HeroicMode) ? SPELL_SHIELD_OF_RUNES_H : SPELL_SHIELD_OF_RUNES); + DoCast( m_creature, HEROIC(SPELL_SHIELD_OF_RUNES, SPELL_SHIELD_OF_RUNES_H)); events.ScheduleEvent(EVENT_SHIELD_OF_RUNES, 27000+ (rand()%7)*1000); break; case EVENT_RUNE_OF_DEATH: @@ -366,7 +366,7 @@ struct TRINITY_DLL_DECL mob_lightning_elementalAI : public ScriptedAI if(m_creature->IsWithinMeleeRange(Target)) { - DoCast(Target, (HeroicMode) ? SPELL_LIGHTNING_BLAST_H : SPELL_LIGHTNING_BLAST); + DoCast(Target, HEROIC(SPELL_LIGHTNING_BLAST, SPELL_LIGHTNING_BLAST_H)); m_creature->Kill(m_creature); // hack until spell works } @@ -483,20 +483,20 @@ struct TRINITY_DLL_DECL boss_stormcaller_brundirAI : public ScriptedAI case EVENT_CHAIN_LIGHTNING: { Unit* Target = SelectUnit(SELECT_TARGET_RANDOM,0); - DoCast(Target, (HeroicMode) ? SPELL_CHAIN_LIGHTNING_H : SPELL_CHAIN_LIGHTNING_N ); + DoCast(Target, HEROIC(SPELL_CHAIN_LIGHTNING_N , SPELL_CHAIN_LIGHTNING_H)); events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 9000+ (rand()%8)*1000); } break; case EVENT_OVERLOAD: - DoCast( (HeroicMode) ? SPELL_OVERLOAD_H : SPELL_OVERLOAD ); + DoCast(HEROIC(SPELL_OVERLOAD , SPELL_OVERLOAD_H)); events.ScheduleEvent(EVENT_OVERLOAD, 60000+ (rand()%65)*1000); break; case EVENT_LIGHTNING_WHIRL: - DoCast( (HeroicMode) ? SPELL_LIGHTNING_WHIRL_H : SPELL_LIGHTNING_WHIRL ); + DoCast(HEROIC(SPELL_LIGHTNING_WHIRL , SPELL_LIGHTNING_WHIRL_H)); events.ScheduleEvent(EVENT_LIGHTNING_WHIRL, 20000+ (rand()%20)*1000); break; case EVENT_LIGHTNING_TENDRILS: - DoCast( (HeroicMode) ? SPELL_LIGHTNING_TENDRILS_H : SPELL_LIGHTNING_TENDRILS ); + DoCast(HEROIC(SPELL_LIGHTNING_TENDRILS, SPELL_LIGHTNING_TENDRILS_H)); events.DelayEvents(15000, 5000); DoResetThreat(); break; diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp index 625cae1f32c..e729f5c2166 100644 --- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp @@ -204,7 +204,7 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI if (!wait_Timer) { if (undead) - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_WOE_STRIKE : SPELL_WOE_STRIKE); + DoCast(m_creature->getVictim(),HEROIC(SPELL_WOE_STRIKE, H_SPELL_WOE_STRIKE)); else DoCast(m_creature->getVictim(),SPELL_CLEAVE); Cleave_Timer = rand()%5000 + 2000; @@ -220,7 +220,7 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI if (undead) DoCast(m_creature->getVictim(), SPELL_DARK_SMASH); else - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_SMASH : SPELL_SMASH); + DoCast(m_creature->getVictim(),HEROIC(SPELL_SMASH, H_SPELL_SMASH)); Smash_Timer = 10000; wait_Timer = 5000; @@ -231,7 +231,7 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI { if (Enrage_Timer < diff) { - DoCast(m_creature,HeroicMode ? H_SPELL_ENRAGE : SPELL_ENRAGE); + DoCast(m_creature,HEROIC(SPELL_ENRAGE, H_SPELL_ENRAGE)); Enrage_Timer = 10000; }else Enrage_Timer -= diff; }else // In Undead form used to summon weapon @@ -259,9 +259,9 @@ struct TRINITY_DLL_DECL boss_ingvar_the_plundererAI : public ScriptedAI if (!wait_Timer) { if (undead) - DoCast(m_creature,HeroicMode ? H_SPELL_DREADFUL_ROAR : SPELL_DREADFUL_ROAR); + DoCast(m_creature,HEROIC(SPELL_DREADFUL_ROAR, H_SPELL_DREADFUL_ROAR)); else - DoCast(m_creature,HeroicMode ? H_SPELL_STAGGERING_ROAR : SPELL_STAGGERING_ROAR); + DoCast(m_creature,HEROIC(SPELL_STAGGERING_ROAR, H_SPELL_STAGGERING_ROAR)); Roar_Timer = 10000; wait_Timer = 5000; @@ -410,7 +410,7 @@ struct TRINITY_DLL_DECL mob_ingvar_throw_dummyAI : public ScriptedAI Unit* target = m_creature->FindNearestCreature(ENTRY_THROW_TARGET,50); if (target) { - DoCast(m_creature, HeroicMode ? H_SPELL_SHADOW_AXE_DAMAGE : SPELL_SHADOW_AXE_DAMAGE); + DoCast(m_creature, HEROIC(SPELL_SHADOW_AXE_DAMAGE, H_SPELL_SHADOW_AXE_DAMAGE)); float x,y,z; target->GetPosition(x,y,z); m_creature->GetMotionMaster()->MovePoint(0,x,y,z); diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp index 702b445856a..b994b79259c 100644 --- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp @@ -345,7 +345,7 @@ struct TRINITY_DLL_DECL boss_dalronn_the_controllerAI : public ScriptedAI { if (!m_creature->IsNonMeleeSpellCasted(false)) { - DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0),HeroicMode ? H_SPELL_SHADOW_BOLT : SPELL_SHADOW_BOLT); + DoCast(SelectUnit(SELECT_TARGET_RANDOM, 0),HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT)); ShadowBolt_Timer = 1000; } }else ShadowBolt_Timer -= diff; diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp index 8b0b8c74b27..af82b7a8f47 100644 --- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp @@ -130,17 +130,14 @@ struct TRINITY_DLL_DECL boss_palehoofAI : public ScriptedAI if (uiImpaleTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) - DoCast(pTarget, HeroicMode ? H_SPELL_IMPALE : SPELL_IMPALE); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(pTarget, HEROIC(SPELL_IMPALE, H_SPELL_IMPALE)); uiImpaleTimer = 8000 + rand()%4000; } else uiImpaleTimer -= diff; if (uiWhiteringRoarTimer < diff) { - DoCast(m_creature, HeroicMode ? H_SPELL_WITHERING_ROAR : SPELL_WITHERING_ROAR); + DoCast(m_creature, HEROIC(SPELL_WITHERING_ROAR, H_SPELL_WITHERING_ROAR)); uiWhiteringRoarTimer = 8000 + rand()%4000; } else uiWhiteringRoarTimer -= diff; @@ -226,7 +223,7 @@ struct TRINITY_DLL_DECL mob_ravenous_furbolgAI : public ScriptedAI if (uiChainLightingTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_CHAIN_LIGHTING : SPELL_CHAIN_LIGHTING); + DoCast(m_creature->getVictim(), HEROIC(SPELL_CHAIN_LIGHTING, H_SPELL_CHAIN_LIGHTING)); uiChainLightingTimer = 5000 + rand()%5000; } else uiChainLightingTimer -= diff; @@ -305,7 +302,7 @@ struct TRINITY_DLL_DECL mob_frenzied_worgenAI : public ScriptedAI if (uiMortalWoundTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_MORTAL_WOUND : SPELL_MORTAL_WOUND); + DoCast(m_creature->getVictim(), HEROIC(SPELL_MORTAL_WOUND, H_SPELL_MORTAL_WOUND)); uiMortalWoundTimer = 3000 + rand()%4000; } else uiMortalWoundTimer -= diff; @@ -392,17 +389,14 @@ struct TRINITY_DLL_DECL mob_ferocious_rhinoAI : public ScriptedAI if (uiGoreTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_GORE : SPELL_GORE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_GORE, H_SPELL_GORE)); uiGoreTimer = 13000 + rand()%4000; } else uiGoreTimer -= diff; if (uiGrievousWoundTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) - DoCast(pTarget, HeroicMode ? H_SPELL_GRIEVOUS_WOUND : SPELL_GRIEVOUS_WOUND); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(pTarget, HEROIC(SPELL_GRIEVOUS_WOUND, H_SPELL_GRIEVOUS_WOUND)); uiGrievousWoundTimer = 18000 + rand()%4000; } else uiGrievousWoundTimer -= diff; @@ -469,27 +463,21 @@ struct TRINITY_DLL_DECL mob_massive_jormungarAI : public ScriptedAI if (uiAcidSpitTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(pTarget, SPELL_ACID_SPIT); uiAcidSpitTimer = 2000 + rand()%2000; } else uiAcidSpitTimer -= diff; if (uiAcidSplatterTimer < diff) { - DoCast(m_creature, HeroicMode ? H_SPELL_POISON_BREATH : SPELL_POISON_BREATH); + DoCast(m_creature, HEROIC(SPELL_POISON_BREATH, H_SPELL_POISON_BREATH)); uiAcidSplatterTimer = 10000 + rand()%4000; } else uiAcidSplatterTimer -= diff; if (uiPoisonBreathTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) - DoCast(pTarget, HeroicMode ? H_SPELL_POISON_BREATH : SPELL_POISON_BREATH); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(pTarget, HEROIC(SPELL_POISON_BREATH, H_SPELL_POISON_BREATH)); uiPoisonBreathTimer = 8000 + rand()%4000; } else uiPoisonBreathTimer -= diff; diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp index a86e304f68f..3f545f64c4d 100644 --- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp @@ -136,10 +136,7 @@ struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI Phase = SKADI; m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); - if (pTarget) + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM,0,100,true)) AttackStart(pTarget); break; } @@ -152,31 +149,21 @@ struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI if (uiCrushTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_CRUSH : SPELL_CRUSH); + DoCast(m_creature->getVictim(), HEROIC(SPELL_CRUSH, H_SPELL_CRUSH)); uiCrushTimer = 8000; } else uiCrushTimer -= diff; if (uiPoisonedSpearTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - { - SelectUnit(SELECT_TARGET_RANDOM, 0); - } - if (pTarget) - DoCast(pTarget, HeroicMode ? H_SPELL_POISONED_SPEAR : SPELL_POISONED_SPEAR); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM,0,100,true)) + DoCast(pTarget, HEROIC(SPELL_POISONED_SPEAR, H_SPELL_POISONED_SPEAR)); uiPoisonedSpearTimer = 10000; } else uiPoisonedSpearTimer -= diff; if (uiWhirlwindTimer < diff) { - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && (pTarget->GetTypeId() != TYPEID_PLAYER || pTarget == m_creature->getVictim())) - { - SelectUnit(SELECT_TARGET_RANDOM, 0); - } - if (pTarget) - m_creature->CastSpell(pTarget, HeroicMode ? H_SPELL_WHIRLWIND : SPELL_WHIRLWIND, false); + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM,0,100,true)) + m_creature->CastSpell(pTarget, HEROIC(SPELL_WHIRLWIND, H_SPELL_WHIRLWIND), false); } else uiWhirlwindTimer = 20000; DoMeleeAttackIfReady(); @@ -242,8 +229,7 @@ struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI if (pTemp) { pTemp->SetInCombatWithZone(); - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - if (pTarget) + if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0)) pTemp->AI()->AttackStart(pTarget); } } diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp index d7ffa5d1f94..4146412f798 100644 --- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp @@ -261,7 +261,7 @@ struct TRINITY_DLL_DECL boss_svala_sorrowgraveAI : public ScriptedAI if (uiSinsterStrikeTimer < diff) { - DoCast(m_creature->getVictim(), HeroicMode ? H_SPELL_SINSTER_STRIKE : SPELL_SINSTER_STRIKE); + DoCast(m_creature->getVictim(), HEROIC(SPELL_SINSTER_STRIKE, H_SPELL_SINSTER_STRIKE)); uiSinsterStrikeTimer = 5000 + rand()%4000; } else uiSinsterStrikeTimer -= diff; @@ -319,10 +319,7 @@ struct TRINITY_DLL_DECL boss_svala_sorrowgraveAI : public ScriptedAI Phase = NORMAL; pSacrificeTarget = NULL; m_creature->SetUnitMovementFlags(MOVEMENTFLAG_WALK_MODE); - Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - while (pTarget && pTarget->GetTypeId() != TYPEID_PLAYER) - pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0); - if (pTarget) + if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) m_creature->GetMotionMaster()->MoveChase(pTarget); uiSacrificeTimer = 8000; diff --git a/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp index 77e1c535340..c755c4b6af4 100644 --- a/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp @@ -92,7 +92,7 @@ struct TRINITY_DLL_DECL boss_pandemoniusAI : public ScriptedAI { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) { - DoCast(target,HeroicMode ? H_SPELL_VOID_BLAST : SPELL_VOID_BLAST); + DoCast(target,HEROIC(SPELL_VOID_BLAST, H_SPELL_VOID_BLAST)); VoidBlast_Timer = 500; ++VoidBlast_Counter; } @@ -113,7 +113,7 @@ struct TRINITY_DLL_DECL boss_pandemoniusAI : public ScriptedAI DoScriptText(EMOTE_DARK_SHELL, m_creature); - DoCast(m_creature,HeroicMode ? H_SPELL_DARK_SHELL : SPELL_DARK_SHELL); + DoCast(m_creature,HEROIC(SPELL_DARK_SHELL, H_SPELL_DARK_SHELL)); DarkShell_Timer = 20000; }else DarkShell_Timer -= diff; } diff --git a/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp index 7830fc10645..0abf7dcf45f 100644 --- a/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp @@ -139,14 +139,14 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI if (Blink) { - DoCast(m_creature,HeroicMode ? H_SPELL_ARCANE_EXPLOSION : SPELL_ARCANE_EXPLOSION); + DoCast(m_creature,HEROIC(SPELL_ARCANE_EXPLOSION, H_SPELL_ARCANE_EXPLOSION)); m_creature->CastSpell(m_creature,SPELL_ARCANE_BUBBLE,true); Blink = false; } if (ArcaneVolley_Timer < diff) { - DoCast(m_creature,HeroicMode ? H_SPELL_ARCANE_VOLLEY : SPELL_ARCANE_VOLLEY); + DoCast(m_creature,HEROIC(SPELL_ARCANE_VOLLEY, H_SPELL_ARCANE_VOLLEY)); ArcaneVolley_Timer = 7000+rand()%5000; }else ArcaneVolley_Timer -= diff; @@ -156,7 +156,7 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI Unit *target = NULL; target = HeroicMode ? SelectUnit(SELECT_TARGET_RANDOM,0) : SelectUnit(SELECT_TARGET_TOPAGGRO,1); if (target) - DoCast(target,HeroicMode ? H_SPELL_POLYMORPH : SPELL_POLYMORPH); + DoCast(target,HEROIC(SPELL_POLYMORPH, H_SPELL_POLYMORPH)); Sheep_Timer = 15000+rand()%2500; }else Sheep_Timer -= diff; diff --git a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp index 2b0b9cda16e..7aca4350cf0 100644 --- a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp @@ -162,7 +162,7 @@ struct TRINITY_DLL_DECL mob_coilfang_waterelementalAI : public ScriptedAI if (WaterBoltVolley_Timer < diff) { - DoCast(m_creature, HeroicMode ? H_SPELL_WATER_BOLT_VOLLEY : SPELL_WATER_BOLT_VOLLEY); + DoCast(m_creature, HEROIC(SPELL_WATER_BOLT_VOLLEY, H_SPELL_WATER_BOLT_VOLLEY)); WaterBoltVolley_Timer = 7000+rand()%5000; }else WaterBoltVolley_Timer -= diff; diff --git a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp index 813051e04f7..0e1ba49ef3d 100644 --- a/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp @@ -237,7 +237,7 @@ struct TRINITY_DLL_DECL mob_steamrigger_mechanicAI : public ScriptedAI //m_creature->GetMotionMaster()->MovementExpired(); //m_creature->GetMotionMaster()->MoveIdle(); - DoCast(m_creature,HeroicMode ? H_SPELL_REPAIR : SPELL_REPAIR, true); + DoCast(m_creature,HEROIC(SPELL_REPAIR, H_SPELL_REPAIR), true); } Repair_Timer = 5000; } diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp index f67b15c472e..ac62c92496e 100644 --- a/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp @@ -212,7 +212,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI { if (Firenova_Timer < diff) { - DoCast(m_creature,HeroicMode ? H_SPELL_FIRE_NOVA : SPELL_FIRE_NOVA,true); + DoCast(m_creature, HEROIC(SPELL_FIRE_NOVA, H_SPELL_FIRE_NOVA), true); Firenova = false; ShadowVolley_Timer = 2000; }else Firenova_Timer -=diff; @@ -222,7 +222,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI if (ShadowVolley_Timer < diff) { - DoCast(m_creature,HeroicMode ? H_SPELL_SHADOW_BOLT_VOLLEY : SPELL_SHADOW_BOLT_VOLLEY); + DoCast(m_creature, HEROIC(SPELL_SHADOW_BOLT_VOLLEY, H_SPELL_SHADOW_BOLT_VOLLEY)); ShadowVolley_Timer = 5000+rand()%8000; }else ShadowVolley_Timer -=diff; @@ -346,7 +346,7 @@ struct TRINITY_DLL_DECL mob_shadowmoon_channelerAI : public ScriptedAI if (ShadowBolt_Timer < diff) { - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_SHADOW_BOLT : SPELL_SHADOW_BOLT); + DoCast(m_creature->getVictim(), HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT)); ShadowBolt_Timer = 5000+rand()%1000; }else ShadowBolt_Timer -=diff; diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp index e7411187e86..f51addb144b 100644 --- a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp @@ -176,7 +176,7 @@ struct TRINITY_DLL_DECL boss_omor_the_unscarredAI : public ScriptedAI if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) { - DoCast(target,HeroicMode ? H_SPELL_BANE_OF_TREACHERY : SPELL_TREACHEROUS_AURA); + DoCast(target,HEROIC(SPELL_TREACHEROUS_AURA, H_SPELL_BANE_OF_TREACHERY)); Aura_Timer = 8000+rand()%8000; } }else Aura_Timer -= diff; @@ -188,7 +188,7 @@ struct TRINITY_DLL_DECL boss_omor_the_unscarredAI : public ScriptedAI if (target) target = m_creature->getVictim(); - DoCast(target,HeroicMode ? H_SPELL_SHADOW_BOLT : SPELL_SHADOW_BOLT); + DoCast(target,HEROIC(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT)); Shadowbolt_Timer = 4000+rand()%2500; } }else Shadowbolt_Timer -= diff; diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp index 13059c55ff2..39af98cc9d4 100644 --- a/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp @@ -116,7 +116,7 @@ struct TRINITY_DLL_DECL boss_watchkeeper_gargolmarAI : public ScriptedAI if (MortalWound_Timer < diff) { - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_MORTAL_WOUND : SPELL_MORTAL_WOUND); + DoCast(m_creature->getVictim(),HEROIC(SPELL_MORTAL_WOUND, H_SPELL_MORTAL_WOUND)); MortalWound_Timer = 5000+rand()%8000; }else MortalWound_Timer -= diff; diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp index 26ee586877c..fc199c37936 100644 --- a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp @@ -267,7 +267,7 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI if (Cleave_Timer < diff) { - DoCast(m_creature->getVictim(),(HeroicMode ? H_SPELL_SHADOW_SLAM : SPELL_SHADOW_CLEAVE)); + DoCast(m_creature->getVictim(),(HEROIC(SPELL_SHADOW_CLEAVE), H_SPELL_SHADOW_SLAM)); Cleave_Timer = 6000+rand()%2500; }else Cleave_Timer -= diff; } diff --git a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp index 524c8e7b92a..80a7072858f 100644 --- a/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp @@ -348,7 +348,7 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI if (BurningMaul_Timer < diff) { DoScriptText(EMOTE_ENRAGE, m_creature); - DoCast(m_creature,HeroicMode ? H_SPELL_BURNING_MAUL : SPELL_BURNING_MAUL); + DoCast(m_creature,HEROIC(SPELL_BURNING_MAUL, H_SPELL_BURNING_MAUL)); BurningMaul_Timer = 40000; BlastWave_Timer = 16000; BlastCount = 1; diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp index d5f0f604ce4..ae6acc109f0 100644 --- a/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp @@ -203,9 +203,9 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI if (MindRend_Timer < diff) { if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1)) - DoCast(target,HeroicMode ? H_SPELL_MIND_REND : SPELL_MIND_REND); + DoCast(target,HEROIC(SPELL_MIND_REND, H_SPELL_MIND_REND)); else - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_MIND_REND : SPELL_MIND_REND); + DoCast(m_creature->getVictim(),HEROIC(SPELL_MIND_REND, H_SPELL_MIND_REND)); MindRend_Timer = 8000; }else MindRend_Timer -=diff; @@ -241,9 +241,9 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI } if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1)) - DoCast(target,HeroicMode ? H_SPELL_DOMINATION : SPELL_DOMINATION); + DoCast(target,HEROIC(SPELL_DOMINATION, H_SPELL_DOMINATION)); else - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_DOMINATION : SPELL_DOMINATION); + DoCast(m_creature->getVictim(),HEROIC(SPELL_DOMINATION, H_SPELL_DOMINATION)); Domination_Timer = 16000+rand()%16000; }else Domination_Timer -=diff; diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp index 75514eb6c6b..6b2bfa06784 100644 --- a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp @@ -92,7 +92,7 @@ struct TRINITY_DLL_DECL boss_gatewatcher_iron_handAI : public ScriptedAI //Shadow Power if (Shadow_Power_Timer < diff) { - DoCast(m_creature,HeroicMode ? H_SPELL_SHADOW_POWER : SPELL_SHADOW_POWER); + DoCast(m_creature,HEROIC(SPELL_SHADOW_POWER, H_SPELL_SHADOW_POWER)); Shadow_Power_Timer = 20000 + rand()%8000; }else Shadow_Power_Timer -= diff; @@ -101,7 +101,7 @@ struct TRINITY_DLL_DECL boss_gatewatcher_iron_handAI : public ScriptedAI { //TODO: expect cast this about 5 times in a row (?), announce it by emote only once DoScriptText(EMOTE_HAMMER, m_creature); - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_JACKHAMMER : SPELL_JACKHAMMER); + DoCast(m_creature->getVictim(),HEROIC(SPELL_JACKHAMMER, H_SPELL_JACKHAMMER)); //chance to yell, but not same time as emote (after spell in fact casted) if (rand()%2) diff --git a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp index 7f88a4d6954..dc22fff5e4b 100644 --- a/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp @@ -77,7 +77,7 @@ struct TRINITY_DLL_DECL boss_nethermancer_sepethreaAI : public ScriptedAI pInstance->SetData(DATA_NETHERMANCER_EVENT, IN_PROGRESS); DoScriptText(SAY_AGGRO, m_creature); - DoCast(who, HeroicMode ? H_SPELL_SUMMON_RAGIN_FLAMES : SPELL_SUMMON_RAGIN_FLAMES); + DoCast(who, HEROIC(SPELL_SUMMON_RAGIN_FLAMES, H_SPELL_SUMMON_RAGIN_FLAMES)); DoScriptText(SAY_SUMMON, m_creature); } @@ -223,7 +223,7 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI if (inferno_Timer < diff) { - DoCast(m_creature->getVictim(),HeroicMode ? H_SPELL_INFERNO : SPELL_INFERNO); + DoCast(m_creature->getVictim(),HEROIC(SPELL_INFERNO, H_SPELL_INFERNO)); m_creature->TauntApply(m_creature->getVictim()); inferno_Timer = 10000; }else inferno_Timer -= diff; |