*More of that cleanup you all know and love ;)
--HG-- branch : trunk
This commit is contained in:
@@ -376,7 +376,7 @@ struct TRINITY_DLL_DECL mob_phalanxAI : public ScriptedAI
|
||||
//ThunderClap_Timer
|
||||
if (ThunderClap_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_THUNDERCLAP);
|
||||
DoCast(m_creature->getVictim(), SPELL_THUNDERCLAP);
|
||||
ThunderClap_Timer = 10000;
|
||||
} else ThunderClap_Timer -= diff;
|
||||
|
||||
@@ -385,7 +385,7 @@ struct TRINITY_DLL_DECL mob_phalanxAI : public ScriptedAI
|
||||
{
|
||||
if (FireballVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIREBALLVOLLEY);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIREBALLVOLLEY);
|
||||
FireballVolley_Timer = 15000;
|
||||
} else FireballVolley_Timer -= diff;
|
||||
}
|
||||
@@ -393,7 +393,7 @@ struct TRINITY_DLL_DECL mob_phalanxAI : public ScriptedAI
|
||||
//MightyBlow_Timer
|
||||
if (MightyBlow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MIGHTYBLOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_MIGHTYBLOW);
|
||||
MightyBlow_Timer = 10000;
|
||||
} else MightyBlow_Timer -= diff;
|
||||
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL boss_ambassador_flamelashAI : public ScriptedAI
|
||||
//FireBlast_Timer
|
||||
if (FireBlast_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIREBLAST);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIREBLAST);
|
||||
FireBlast_Timer = 7000;
|
||||
} else FireBlast_Timer -= diff;
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_anubshiahAI : public ScriptedAI
|
||||
//ShadowBolt_Timer
|
||||
if (ShadowBolt_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWBOLT);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWBOLT);
|
||||
ShadowBolt_Timer = 7000;
|
||||
} else ShadowBolt_Timer -= diff;
|
||||
|
||||
@@ -72,21 +72,21 @@ struct TRINITY_DLL_DECL boss_anubshiahAI : public ScriptedAI
|
||||
if (CurseOfTongues_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_CURSEOFTONGUES);
|
||||
DoCast(pTarget, SPELL_CURSEOFTONGUES);
|
||||
CurseOfTongues_Timer = 18000;
|
||||
} else CurseOfTongues_Timer -= diff;
|
||||
|
||||
//CurseOfWeakness_Timer
|
||||
if (CurseOfWeakness_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFWEAKNESS);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFWEAKNESS);
|
||||
CurseOfWeakness_Timer = 45000;
|
||||
} else CurseOfWeakness_Timer -= diff;
|
||||
|
||||
//DemonArmor_Timer
|
||||
if (DemonArmor_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_DEMONARMOR);
|
||||
DoCast(m_creature, SPELL_DEMONARMOR);
|
||||
DemonArmor_Timer = 300000;
|
||||
} else DemonArmor_Timer -= diff;
|
||||
|
||||
@@ -94,7 +94,7 @@ struct TRINITY_DLL_DECL boss_anubshiahAI : public ScriptedAI
|
||||
if (EnvelopingWeb_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_ENVELOPINGWEB);
|
||||
DoCast(pTarget, SPELL_ENVELOPINGWEB);
|
||||
EnvelopingWeb_Timer = 12000;
|
||||
} else EnvelopingWeb_Timer -= diff;
|
||||
|
||||
|
||||
+2
-2
@@ -70,7 +70,7 @@ struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI
|
||||
if (HandOfThaurissan_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget,SPELL_HANDOFTHAURISSAN);
|
||||
DoCast(pTarget, SPELL_HANDOFTHAURISSAN);
|
||||
|
||||
//3 Hands of Thaurissan will be casted
|
||||
//if (Counter < 3)
|
||||
@@ -88,7 +88,7 @@ struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI
|
||||
//AvatarOfFlame_Timer
|
||||
if (AvatarOfFlame_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_AVATAROFFLAME);
|
||||
DoCast(m_creature->getVictim(), SPELL_AVATAROFFLAME);
|
||||
AvatarOfFlame_Timer = 18000;
|
||||
} else AvatarOfFlame_Timer -= diff;
|
||||
|
||||
|
||||
+3
-3
@@ -74,21 +74,21 @@ struct TRINITY_DLL_DECL boss_general_angerforgeAI : public ScriptedAI
|
||||
//MightyBlow_Timer
|
||||
if (MightyBlow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MIGHTYBLOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_MIGHTYBLOW);
|
||||
MightyBlow_Timer = 18000;
|
||||
} else MightyBlow_Timer -= diff;
|
||||
|
||||
//HamString_Timer
|
||||
if (HamString_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HAMSTRING);
|
||||
DoCast(m_creature->getVictim(), SPELL_HAMSTRING);
|
||||
HamString_Timer = 15000;
|
||||
} else HamString_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 9000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
|
||||
+2
-2
@@ -55,14 +55,14 @@ struct TRINITY_DLL_DECL boss_gorosh_the_dervishAI : public ScriptedAI
|
||||
//WhirlWind_Timer
|
||||
if (WhirlWind_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_WHIRLWIND);
|
||||
DoCast(m_creature, SPELL_WHIRLWIND);
|
||||
WhirlWind_Timer = 15000;
|
||||
} else WhirlWind_Timer -= diff;
|
||||
|
||||
//MortalStrike_Timer
|
||||
if (MortalStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MORTALSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_MORTALSTRIKE);
|
||||
MortalStrike_Timer = 15000;
|
||||
} else MortalStrike_Timer -= diff;
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ struct TRINITY_DLL_DECL boss_grizzleAI : public ScriptedAI
|
||||
//GroundTremor_Timer
|
||||
if (GroundTremor_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_GROUNDTREMOR);
|
||||
DoCast(m_creature->getVictim(), SPELL_GROUNDTREMOR);
|
||||
GroundTremor_Timer = 8000;
|
||||
} else GroundTremor_Timer -= diff;
|
||||
|
||||
@@ -69,7 +69,7 @@ struct TRINITY_DLL_DECL boss_grizzleAI : public ScriptedAI
|
||||
{
|
||||
if (Frenzy_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_FRENZY);
|
||||
DoCast(m_creature, SPELL_FRENZY);
|
||||
DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature);
|
||||
|
||||
Frenzy_Timer = 15000;
|
||||
|
||||
+4
-4
@@ -62,7 +62,7 @@ struct TRINITY_DLL_DECL boss_high_interrogator_gerstahnAI : public ScriptedAI
|
||||
if (ShadowWordPain_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_SHADOWWORDPAIN);
|
||||
DoCast(pTarget, SPELL_SHADOWWORDPAIN);
|
||||
ShadowWordPain_Timer = 7000;
|
||||
} else ShadowWordPain_Timer -= diff;
|
||||
|
||||
@@ -70,21 +70,21 @@ struct TRINITY_DLL_DECL boss_high_interrogator_gerstahnAI : public ScriptedAI
|
||||
if (ManaBurn_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_MANABURN);
|
||||
DoCast(pTarget, SPELL_MANABURN);
|
||||
ManaBurn_Timer = 10000;
|
||||
} else ManaBurn_Timer -= diff;
|
||||
|
||||
//PsychicScream_Timer
|
||||
if (PsychicScream_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_PSYCHICSCREAM);
|
||||
DoCast(m_creature->getVictim(), SPELL_PSYCHICSCREAM);
|
||||
PsychicScream_Timer = 30000;
|
||||
} else PsychicScream_Timer -= diff;
|
||||
|
||||
//ShadowShield_Timer
|
||||
if (ShadowShield_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_SHADOWSHIELD);
|
||||
DoCast(m_creature, SPELL_SHADOWSHIELD);
|
||||
ShadowShield_Timer = 25000;
|
||||
} else ShadowShield_Timer -= diff;
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ struct TRINITY_DLL_DECL boss_magmusAI : public ScriptedAI
|
||||
//FieryBurst_Timer
|
||||
if (FieryBurst_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIERYBURST);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIERYBURST);
|
||||
FieryBurst_Timer = 6000;
|
||||
} else FieryBurst_Timer -= diff;
|
||||
|
||||
@@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_magmusAI : public ScriptedAI
|
||||
{
|
||||
if (WarStomp_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WARSTOMP);
|
||||
DoCast(m_creature->getVictim(), SPELL_WARSTOMP);
|
||||
WarStomp_Timer = 8000;
|
||||
} else WarStomp_Timer -= diff;
|
||||
}
|
||||
|
||||
+3
-3
@@ -67,21 +67,21 @@ struct TRINITY_DLL_DECL boss_moira_bronzebeardAI : public ScriptedAI
|
||||
//MindBlast_Timer
|
||||
if (MindBlast_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MINDBLAST);
|
||||
DoCast(m_creature->getVictim(), SPELL_MINDBLAST);
|
||||
MindBlast_Timer = 14000;
|
||||
} else MindBlast_Timer -= diff;
|
||||
|
||||
//ShadowWordPain_Timer
|
||||
if (ShadowWordPain_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWWORDPAIN);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWWORDPAIN);
|
||||
ShadowWordPain_Timer = 18000;
|
||||
} else ShadowWordPain_Timer -= diff;
|
||||
|
||||
//Smite_Timer
|
||||
if (Smite_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SMITE);
|
||||
DoCast(m_creature->getVictim(), SPELL_SMITE);
|
||||
Smite_Timer = 10000;
|
||||
} else Smite_Timer -= diff;
|
||||
|
||||
|
||||
+5
-5
@@ -163,7 +163,7 @@ struct TRINITY_DLL_DECL boss_doomrelAI : public ScriptedAI
|
||||
//ShadowVolley_Timer
|
||||
if (ShadowVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWBOLTVOLLEY);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWBOLTVOLLEY);
|
||||
ShadowVolley_Timer = 12000;
|
||||
} else ShadowVolley_Timer -= diff;
|
||||
|
||||
@@ -171,7 +171,7 @@ struct TRINITY_DLL_DECL boss_doomrelAI : public ScriptedAI
|
||||
if (Immolate_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_IMMOLATE);
|
||||
DoCast(pTarget, SPELL_IMMOLATE);
|
||||
|
||||
Immolate_Timer = 25000;
|
||||
} else Immolate_Timer -= diff;
|
||||
@@ -179,21 +179,21 @@ struct TRINITY_DLL_DECL boss_doomrelAI : public ScriptedAI
|
||||
//CurseOfWeakness_Timer
|
||||
if (CurseOfWeakness_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFWEAKNESS);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFWEAKNESS);
|
||||
CurseOfWeakness_Timer = 45000;
|
||||
} else CurseOfWeakness_Timer -= diff;
|
||||
|
||||
//DemonArmor_Timer
|
||||
if (DemonArmor_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_DEMONARMOR);
|
||||
DoCast(m_creature, SPELL_DEMONARMOR);
|
||||
DemonArmor_Timer = 300000;
|
||||
} else DemonArmor_Timer -= diff;
|
||||
|
||||
//Summon Voidwalkers
|
||||
if (!Voidwalkers && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 51)
|
||||
{
|
||||
m_creature->CastSpell(m_creature->getVictim(), SPELL_SUMMON_VOIDWALKERS, true);
|
||||
DoCast(m_creature->getVictim(), SPELL_SUMMON_VOIDWALKERS, true);
|
||||
Voidwalkers = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -58,28 +58,28 @@ struct TRINITY_DLL_DECL boss_drakkisathAI : public ScriptedAI
|
||||
//FireNova_Timer
|
||||
if (FireNova_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIRENOVA);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIRENOVA);
|
||||
FireNova_Timer = 10000;
|
||||
} else FireNova_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 8000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//Confliguration_Timer
|
||||
if (Confliguration_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CONFLIGURATION);
|
||||
DoCast(m_creature->getVictim(), SPELL_CONFLIGURATION);
|
||||
Confliguration_Timer = 18000;
|
||||
} else Confliguration_Timer -= diff;
|
||||
|
||||
//Thunderclap_Timer
|
||||
if (Thunderclap_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_THUNDERCLAP);
|
||||
DoCast(m_creature->getVictim(), SPELL_THUNDERCLAP);
|
||||
Thunderclap_Timer = 20000;
|
||||
} else Thunderclap_Timer -= diff;
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ struct TRINITY_DLL_DECL boss_gythAI : public ScriptedAI
|
||||
// Flamebreath_Timer
|
||||
if (Flamebreath_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FLAMEBREATH);
|
||||
DoCast(m_creature->getVictim(), SPELL_FLAMEBREATH);
|
||||
Flamebreath_Timer = 10500;
|
||||
} else Flamebreath_Timer -= diff;
|
||||
|
||||
|
||||
@@ -59,14 +59,14 @@ struct TRINITY_DLL_DECL boss_halyconAI : public ScriptedAI
|
||||
//CrowdPummel_Timer
|
||||
if (CrowdPummel_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CROWDPUMMEL);
|
||||
DoCast(m_creature->getVictim(), SPELL_CROWDPUMMEL);
|
||||
CrowdPummel_Timer = 14000;
|
||||
} else CrowdPummel_Timer -= diff;
|
||||
|
||||
//MightyBlow_Timer
|
||||
if (MightyBlow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MIGHTYBLOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_MIGHTYBLOW);
|
||||
MightyBlow_Timer = 10000;
|
||||
} else MightyBlow_Timer -= diff;
|
||||
|
||||
|
||||
+7
-7
@@ -67,49 +67,49 @@ struct TRINITY_DLL_DECL boss_highlordomokkAI : public ScriptedAI
|
||||
//WarStomp_Timer
|
||||
if (WarStomp_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WARSTOMP);
|
||||
DoCast(m_creature->getVictim(), SPELL_WARSTOMP);
|
||||
WarStomp_Timer = 14000;
|
||||
} else WarStomp_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 8000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//Strike_Timer
|
||||
if (Strike_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_STRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_STRIKE);
|
||||
Strike_Timer = 10000;
|
||||
} else Strike_Timer -= diff;
|
||||
|
||||
//Rend_Timer
|
||||
if (Rend_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_REND);
|
||||
DoCast(m_creature->getVictim(), SPELL_REND);
|
||||
Rend_Timer = 18000;
|
||||
} else Rend_Timer -= diff;
|
||||
|
||||
//SunderArmor_Timer
|
||||
if (SunderArmor_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SUNDERARMOR);
|
||||
DoCast(m_creature->getVictim(), SPELL_SUNDERARMOR);
|
||||
SunderArmor_Timer = 25000;
|
||||
} else SunderArmor_Timer -= diff;
|
||||
|
||||
//KnockAway_Timer
|
||||
if (KnockAway_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKAWAY);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKAWAY);
|
||||
KnockAway_Timer = 12000;
|
||||
} else KnockAway_Timer -= diff;
|
||||
|
||||
//Slow_Timer
|
||||
if (Slow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SLOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_SLOW);
|
||||
Slow_Timer = 18000;
|
||||
} else Slow_Timer -= diff;
|
||||
|
||||
|
||||
+3
-3
@@ -45,7 +45,7 @@ struct TRINITY_DLL_DECL boss_mothersmolderwebAI : public ScriptedAI
|
||||
void DamageTaken(Unit *done_by, uint32 &damage)
|
||||
{
|
||||
if (m_creature->GetHealth() <= damage)
|
||||
m_creature->CastSpell(m_creature,SPELL_SUMMON_SPIRE_SPIDERLING,true);
|
||||
DoCast(m_creature, SPELL_SUMMON_SPIRE_SPIDERLING, true);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -57,14 +57,14 @@ struct TRINITY_DLL_DECL boss_mothersmolderwebAI : public ScriptedAI
|
||||
//Crystalize_Timer
|
||||
if (Crystalize_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_CRYSTALIZE);
|
||||
DoCast(m_creature, SPELL_CRYSTALIZE);
|
||||
Crystalize_Timer = 15000;
|
||||
} else Crystalize_Timer -= diff;
|
||||
|
||||
//MothersMilk_Timer
|
||||
if (MothersMilk_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_MOTHERSMILK);
|
||||
DoCast(m_creature, SPELL_MOTHERSMILK);
|
||||
MothersMilk_Timer = urand(5000,12500);
|
||||
} else MothersMilk_Timer -= diff;
|
||||
|
||||
|
||||
+4
-4
@@ -71,28 +71,28 @@ struct TRINITY_DLL_DECL boss_overlordwyrmthalakAI : public ScriptedAI
|
||||
//BlastWave_Timer
|
||||
if (BlastWave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_BLASTWAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_BLASTWAVE);
|
||||
BlastWave_Timer = 20000;
|
||||
} else BlastWave_Timer -= diff;
|
||||
|
||||
//Shout_Timer
|
||||
if (Shout_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHOUT);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHOUT);
|
||||
Shout_Timer = 10000;
|
||||
} else Shout_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 7000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//Knockaway_Timer
|
||||
if (Knockaway_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKAWAY);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKAWAY);
|
||||
Knockaway_Timer = 14000;
|
||||
} else Knockaway_Timer -= diff;
|
||||
|
||||
|
||||
+3
-3
@@ -55,14 +55,14 @@ struct TRINITY_DLL_DECL boss_pyroguard_emberseerAI : public ScriptedAI
|
||||
//FireNova_Timer
|
||||
if (FireNova_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIRENOVA);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIRENOVA);
|
||||
FireNova_Timer = 6000;
|
||||
} else FireNova_Timer -= diff;
|
||||
|
||||
//FlameBuffet_Timer
|
||||
if (FlameBuffet_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FLAMEBUFFET);
|
||||
DoCast(m_creature->getVictim(), SPELL_FLAMEBUFFET);
|
||||
FlameBuffet_Timer = 14000;
|
||||
} else FlameBuffet_Timer -= diff;
|
||||
|
||||
@@ -70,7 +70,7 @@ struct TRINITY_DLL_DECL boss_pyroguard_emberseerAI : public ScriptedAI
|
||||
if (PyroBlast_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_PYROBLAST);
|
||||
DoCast(pTarget, SPELL_PYROBLAST);
|
||||
PyroBlast_Timer = 15000;
|
||||
} else PyroBlast_Timer -= diff;
|
||||
|
||||
|
||||
+2
-2
@@ -56,14 +56,14 @@ struct TRINITY_DLL_DECL boss_quatermasterzigrisAI : public ScriptedAI
|
||||
//Shoot_Timer
|
||||
if (Shoot_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHOOT);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHOOT);
|
||||
Shoot_Timer = 500;
|
||||
} else Shoot_Timer -= diff;
|
||||
|
||||
//StunBomb_Timer
|
||||
if (StunBomb_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_STUNBOMB);
|
||||
DoCast(m_creature->getVictim(), SPELL_STUNBOMB);
|
||||
StunBomb_Timer = 14000;
|
||||
} else StunBomb_Timer -= diff;
|
||||
|
||||
|
||||
+3
-3
@@ -55,21 +55,21 @@ struct TRINITY_DLL_DECL boss_rend_blackhandAI : public ScriptedAI
|
||||
//WhirlWind_Timer
|
||||
if (WhirlWind_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WHIRLWIND);
|
||||
DoCast(m_creature->getVictim(), SPELL_WHIRLWIND);
|
||||
WhirlWind_Timer = 18000;
|
||||
} else WhirlWind_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 10000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//Thunderclap_Timer
|
||||
if (Thunderclap_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_THUNDERCLAP);
|
||||
DoCast(m_creature->getVictim(), SPELL_THUNDERCLAP);
|
||||
Thunderclap_Timer = 16000;
|
||||
} else Thunderclap_Timer -= diff;
|
||||
|
||||
|
||||
+5
-7
@@ -41,12 +41,10 @@ struct TRINITY_DLL_DECL boss_shadowvoshAI : public ScriptedAI
|
||||
Hex_Timer = 8000;
|
||||
Cleave_Timer = 14000;
|
||||
|
||||
//m_creature->CastSpell(m_creature,SPELL_ICEARMOR,true);
|
||||
//DoCast(m_creature, SPELL_ICEARMOR, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
{
|
||||
}
|
||||
void EnterCombat(Unit *who){}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
@@ -57,7 +55,7 @@ struct TRINITY_DLL_DECL boss_shadowvoshAI : public ScriptedAI
|
||||
//CurseOfBlood_Timer
|
||||
if (CurseOfBlood_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFBLOOD);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFBLOOD);
|
||||
CurseOfBlood_Timer = 45000;
|
||||
} else CurseOfBlood_Timer -= diff;
|
||||
|
||||
@@ -65,14 +63,14 @@ struct TRINITY_DLL_DECL boss_shadowvoshAI : public ScriptedAI
|
||||
if (Hex_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_HEX);
|
||||
DoCast(pTarget, SPELL_HEX);
|
||||
Hex_Timer = 15000;
|
||||
} else Hex_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 7000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ struct TRINITY_DLL_DECL boss_thebeastAI : public ScriptedAI
|
||||
//Flamebreak_Timer
|
||||
if (Flamebreak_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FLAMEBREAK);
|
||||
DoCast(m_creature->getVictim(), SPELL_FLAMEBREAK);
|
||||
Flamebreak_Timer = 10000;
|
||||
} else Flamebreak_Timer -= diff;
|
||||
|
||||
@@ -63,14 +63,14 @@ struct TRINITY_DLL_DECL boss_thebeastAI : public ScriptedAI
|
||||
if (Immolate_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_IMMOLATE);
|
||||
DoCast(pTarget, SPELL_IMMOLATE);
|
||||
Immolate_Timer = 8000;
|
||||
} else Immolate_Timer -= diff;
|
||||
|
||||
//TerrifyingRoar_Timer
|
||||
if (TerrifyingRoar_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_TERRIFYINGROAR);
|
||||
DoCast(m_creature->getVictim(), SPELL_TERRIFYINGROAR);
|
||||
TerrifyingRoar_Timer = 20000;
|
||||
} else TerrifyingRoar_Timer -= diff;
|
||||
|
||||
|
||||
+6
-6
@@ -64,42 +64,42 @@ struct TRINITY_DLL_DECL boss_warmastervooneAI : public ScriptedAI
|
||||
//Snapkick_Timer
|
||||
if (Snapkick_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SNAPKICK);
|
||||
DoCast(m_creature->getVictim(), SPELL_SNAPKICK);
|
||||
Snapkick_Timer = 6000;
|
||||
} else Snapkick_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 12000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//Uppercut_Timer
|
||||
if (Uppercut_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_UPPERCUT);
|
||||
DoCast(m_creature->getVictim(), SPELL_UPPERCUT);
|
||||
Uppercut_Timer = 14000;
|
||||
} else Uppercut_Timer -= diff;
|
||||
|
||||
//MortalStrike_Timer
|
||||
if (MortalStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MORTALSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_MORTALSTRIKE);
|
||||
MortalStrike_Timer = 10000;
|
||||
} else MortalStrike_Timer -= diff;
|
||||
|
||||
//Pummel_Timer
|
||||
if (Pummel_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_PUMMEL);
|
||||
DoCast(m_creature->getVictim(), SPELL_PUMMEL);
|
||||
Pummel_Timer = 16000;
|
||||
} else Pummel_Timer -= diff;
|
||||
|
||||
//ThrowAxe_Timer
|
||||
if (ThrowAxe_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_THROWAXE);
|
||||
DoCast(m_creature->getVictim(), SPELL_THROWAXE);
|
||||
ThrowAxe_Timer = 8000;
|
||||
} else ThrowAxe_Timer -= diff;
|
||||
|
||||
|
||||
+4
-4
@@ -62,27 +62,27 @@ struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 7000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
// BlastWave
|
||||
if (BlastWave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_BLASTWAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_BLASTWAVE);
|
||||
BlastWave_Timer = urand(8000,16000);
|
||||
} else BlastWave_Timer -= diff;
|
||||
|
||||
//MortalStrike_Timer
|
||||
if (MortalStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MORTALSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_MORTALSTRIKE);
|
||||
MortalStrike_Timer = urand(25000,35000);
|
||||
} else MortalStrike_Timer -= diff;
|
||||
|
||||
if (KnockBack_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKBACK);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKBACK);
|
||||
//Drop 50% aggro
|
||||
if (DoGetThreat(m_creature->getVictim()))
|
||||
DoModifyThreatPercent(m_creature->getVictim(),-50);
|
||||
|
||||
@@ -205,7 +205,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI
|
||||
uint32 spell = RAND(SPELL_FIRE_VULNERABILITY, SPELL_FROST_VULNERABILITY,
|
||||
SPELL_SHADOW_VULNERABILITY, SPELL_NATURE_VULNERABILITY, SPELL_ARCANE_VULNERABILITY);
|
||||
|
||||
DoCast(m_creature,spell);
|
||||
DoCast(m_creature, spell);
|
||||
CurrentVurln_Spell = spell;
|
||||
|
||||
DoScriptText(EMOTE_SHIMMER, m_creature);
|
||||
@@ -215,14 +215,14 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI
|
||||
//Breath1_Timer
|
||||
if (Breath1_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),Breath1_Spell);
|
||||
DoCast(m_creature->getVictim(), Breath1_Spell);
|
||||
Breath1_Timer = 60000;
|
||||
} else Breath1_Timer -= diff;
|
||||
|
||||
//Breath2_Timer
|
||||
if (Breath2_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),Breath2_Spell);
|
||||
DoCast(m_creature->getVictim(), Breath2_Spell);
|
||||
Breath2_Timer = 60000;
|
||||
} else Breath2_Timer -= diff;
|
||||
|
||||
@@ -249,7 +249,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI
|
||||
&& pUnit->HasAura(SPELL_BROODAF_GREEN))
|
||||
{
|
||||
//pTarget->RemoveAllAuras();
|
||||
//DoCast(pTarget,SPELL_CHROMATIC_MUT_1);
|
||||
//DoCast(pTarget, SPELL_CHROMATIC_MUT_1);
|
||||
|
||||
//Chromatic mutation is causing issues
|
||||
//Assuming it is caused by a lack of core support for Charm
|
||||
@@ -269,7 +269,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI
|
||||
//Frenzy_Timer
|
||||
if (Frenzy_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_FRENZY);
|
||||
DoCast(m_creature, SPELL_FRENZY);
|
||||
DoScriptText(EMOTE_FRENZY, m_creature);
|
||||
Frenzy_Timer = urand(10000,15000);
|
||||
} else Frenzy_Timer -= diff;
|
||||
@@ -277,7 +277,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI
|
||||
//Enrage if not already enraged and below 20%
|
||||
if (!Enraged && (m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 20)
|
||||
{
|
||||
DoCast(m_creature,SPELL_ENRAGE);
|
||||
DoCast(m_creature, SPELL_ENRAGE);
|
||||
Enraged = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -58,21 +58,21 @@ struct TRINITY_DLL_DECL boss_ebonrocAI : public ScriptedAI
|
||||
//Shadowflame Timer
|
||||
if (ShadowFlame_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWFLAME);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWFLAME);
|
||||
ShadowFlame_Timer = urand(12000,15000);
|
||||
} else ShadowFlame_Timer -= diff;
|
||||
|
||||
//Wing Buffet Timer
|
||||
if (WingBuffet_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WINGBUFFET);
|
||||
DoCast(m_creature->getVictim(), SPELL_WINGBUFFET);
|
||||
WingBuffet_Timer = 25000;
|
||||
} else WingBuffet_Timer -= diff;
|
||||
|
||||
//Shadow of Ebonroc Timer
|
||||
if (ShadowOfEbonroc_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWOFEBONROC);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWOFEBONROC);
|
||||
ShadowOfEbonroc_Timer = urand(25000,350000);
|
||||
} else ShadowOfEbonroc_Timer -= diff;
|
||||
|
||||
|
||||
@@ -55,14 +55,14 @@ struct TRINITY_DLL_DECL boss_firemawAI : public ScriptedAI
|
||||
//ShadowFlame_Timer
|
||||
if (ShadowFlame_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWFLAME);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWFLAME);
|
||||
ShadowFlame_Timer = urand(15000,18000);
|
||||
} else ShadowFlame_Timer -= diff;
|
||||
|
||||
//WingBuffet_Timer
|
||||
if (WingBuffet_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WINGBUFFET);
|
||||
DoCast(m_creature->getVictim(), SPELL_WINGBUFFET);
|
||||
if (DoGetThreat(m_creature->getVictim()))
|
||||
DoModifyThreatPercent(m_creature->getVictim(),-75);
|
||||
|
||||
@@ -72,7 +72,7 @@ struct TRINITY_DLL_DECL boss_firemawAI : public ScriptedAI
|
||||
//FlameBuffet_Timer
|
||||
if (FlameBuffet_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FLAMEBUFFET);
|
||||
DoCast(m_creature->getVictim(), SPELL_FLAMEBUFFET);
|
||||
FlameBuffet_Timer = 5000;
|
||||
} else FlameBuffet_Timer -= diff;
|
||||
|
||||
|
||||
@@ -57,14 +57,14 @@ struct TRINITY_DLL_DECL boss_flamegorAI : public ScriptedAI
|
||||
//ShadowFlame_Timer
|
||||
if (ShadowFlame_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWFLAME);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWFLAME);
|
||||
ShadowFlame_Timer = 15000 + rand()%7000;
|
||||
} else ShadowFlame_Timer -= diff;
|
||||
|
||||
//WingBuffet_Timer
|
||||
if (WingBuffet_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WINGBUFFET);
|
||||
DoCast(m_creature->getVictim(), SPELL_WINGBUFFET);
|
||||
if (DoGetThreat(m_creature->getVictim()))
|
||||
DoModifyThreatPercent(m_creature->getVictim(),-75);
|
||||
|
||||
@@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL boss_flamegorAI : public ScriptedAI
|
||||
if (Frenzy_Timer <= diff)
|
||||
{
|
||||
DoScriptText(EMOTE_FRENZY, m_creature);
|
||||
DoCast(m_creature,SPELL_FRENZY);
|
||||
DoCast(m_creature, SPELL_FRENZY);
|
||||
Frenzy_Timer = urand(8000, 10000);
|
||||
} else Frenzy_Timer -= diff;
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
|
||||
{
|
||||
DoScriptText(RAND(SAY_XHEALTH,SAY_AGGRO,SAY_SHADOWFLAME), m_creature);
|
||||
|
||||
DoCast(who,SPELL_SHADOWFLAME_INITIAL);
|
||||
DoCast(who, SPELL_SHADOWFLAME_INITIAL);
|
||||
DoZoneInCombat();
|
||||
}
|
||||
|
||||
@@ -121,28 +121,28 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
|
||||
//ShadowFlame_Timer
|
||||
if (ShadowFlame_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWFLAME);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWFLAME);
|
||||
ShadowFlame_Timer = 12000;
|
||||
} else ShadowFlame_Timer -= diff;
|
||||
|
||||
//BellowingRoar_Timer
|
||||
if (BellowingRoar_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_BELLOWINGROAR);
|
||||
DoCast(m_creature->getVictim(), SPELL_BELLOWINGROAR);
|
||||
BellowingRoar_Timer = 30000;
|
||||
} else BellowingRoar_Timer -= diff;
|
||||
|
||||
//VeilOfShadow_Timer
|
||||
if (VeilOfShadow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_VEILOFSHADOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_VEILOFSHADOW);
|
||||
VeilOfShadow_Timer = 15000;
|
||||
} else VeilOfShadow_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 7000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
@@ -150,7 +150,7 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
|
||||
if (TailLash_Timer <= diff)
|
||||
{
|
||||
//Cast NYI since we need a better check for behind target
|
||||
//DoCast(m_creature->getVictim(),SPELL_TAILLASH);
|
||||
//DoCast(m_creature->getVictim(), SPELL_TAILLASH);
|
||||
|
||||
TailLash_Timer = 10000;
|
||||
} else TailLash_Timer -= diff;
|
||||
@@ -166,39 +166,39 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
|
||||
{
|
||||
case 0:
|
||||
DoScriptText(SAY_MAGE, m_creature);
|
||||
DoCast(m_creature,SPELL_MAGE);
|
||||
DoCast(m_creature, SPELL_MAGE);
|
||||
break;
|
||||
case 1:
|
||||
DoScriptText(SAY_WARRIOR, m_creature);
|
||||
DoCast(m_creature,SPELL_WARRIOR);
|
||||
DoCast(m_creature, SPELL_WARRIOR);
|
||||
break;
|
||||
case 2:
|
||||
DoScriptText(SAY_DRUID, m_creature);
|
||||
DoCast(m_creature,SPELL_DRUID);
|
||||
DoCast(m_creature, SPELL_DRUID);
|
||||
break;
|
||||
case 3:
|
||||
DoScriptText(SAY_PRIEST, m_creature);
|
||||
DoCast(m_creature,SPELL_PRIEST);
|
||||
DoCast(m_creature, SPELL_PRIEST);
|
||||
break;
|
||||
case 4:
|
||||
DoScriptText(SAY_PALADIN, m_creature);
|
||||
DoCast(m_creature,SPELL_PALADIN);
|
||||
DoCast(m_creature, SPELL_PALADIN);
|
||||
break;
|
||||
case 5:
|
||||
DoScriptText(SAY_SHAMAN, m_creature);
|
||||
DoCast(m_creature,SPELL_SHAMAN);
|
||||
DoCast(m_creature, SPELL_SHAMAN);
|
||||
break;
|
||||
case 6:
|
||||
DoScriptText(SAY_WARLOCK, m_creature);
|
||||
DoCast(m_creature,SPELL_WARLOCK);
|
||||
DoCast(m_creature, SPELL_WARLOCK);
|
||||
break;
|
||||
case 7:
|
||||
DoScriptText(SAY_HUNTER, m_creature);
|
||||
DoCast(m_creature,SPELL_HUNTER);
|
||||
DoCast(m_creature, SPELL_HUNTER);
|
||||
break;
|
||||
case 8:
|
||||
DoScriptText(SAY_ROGUE, m_creature);
|
||||
DoCast(m_creature,SPELL_ROGUE);
|
||||
DoCast(m_creature, SPELL_ROGUE);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,28 +70,28 @@ struct TRINITY_DLL_DECL boss_razorgoreAI : public ScriptedAI
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = urand(7000,10000);
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//WarStomp_Timer
|
||||
if (WarStomp_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WARSTOMP);
|
||||
DoCast(m_creature->getVictim(), SPELL_WARSTOMP);
|
||||
WarStomp_Timer = urand(15000,25000);
|
||||
} else WarStomp_Timer -= diff;
|
||||
|
||||
//FireballVolley_Timer
|
||||
if (FireballVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIREBALLVOLLEY);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIREBALLVOLLEY);
|
||||
FireballVolley_Timer = urand(12000,15000);
|
||||
} else FireballVolley_Timer -= diff;
|
||||
|
||||
//Conflagration_Timer
|
||||
if (Conflagration_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CONFLAGRATION);
|
||||
DoCast(m_creature->getVictim(), SPELL_CONFLAGRATION);
|
||||
//We will remove this threat reduction and add an aura check.
|
||||
|
||||
//if (DoGetThreat(m_creature->getVictim()))
|
||||
|
||||
@@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
{
|
||||
DoCast(m_creature,SPELL_ESSENCEOFTHERED);
|
||||
DoCast(m_creature, SPELL_ESSENCEOFTHERED);
|
||||
DoZoneInCombat();
|
||||
m_creature->SetHealth(int(m_creature->GetMaxHealth()*.3));
|
||||
}
|
||||
@@ -130,7 +130,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
|
||||
if (PlayerGUID && Unit::GetUnit((*m_creature),PlayerGUID))
|
||||
{
|
||||
AttackStart(Unit::GetUnit((*m_creature),PlayerGUID));
|
||||
DoCast(m_creature,SPELL_ESSENCEOFTHERED);
|
||||
DoCast(m_creature, SPELL_ESSENCEOFTHERED);
|
||||
}
|
||||
SpeechTimer = 0;
|
||||
DoingSpeech = false;
|
||||
@@ -153,14 +153,14 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 15000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//FlameBreath_Timer
|
||||
if (FlameBreath_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FLAMEBREATH);
|
||||
DoCast(m_creature->getVictim(), SPELL_FLAMEBREATH);
|
||||
FlameBreath_Timer = urand(4000,8000);
|
||||
} else FlameBreath_Timer -= diff;
|
||||
|
||||
@@ -196,7 +196,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
|
||||
//FireNova_Timer
|
||||
if (FireNova_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIRENOVA);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIRENOVA);
|
||||
FireNova_Timer = 5000;
|
||||
} else FireNova_Timer -= diff;
|
||||
|
||||
@@ -206,7 +206,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
|
||||
//Only cast if we are behind
|
||||
/*if (!m_creature->HasInArc(M_PI, m_creature->getVictim()))
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_TAILSWIPE);
|
||||
DoCast(m_creature->getVictim(), SPELL_TAILSWIPE);
|
||||
}*/
|
||||
|
||||
TailSwipe_Timer = 20000;
|
||||
|
||||
+2
-2
@@ -294,10 +294,10 @@ struct TRINITY_DLL_DECL boss_victor_nefariusAI : public ScriptedAI
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
|
||||
//Root self
|
||||
DoCast(m_creature,33356);
|
||||
DoCast(m_creature, 33356);
|
||||
|
||||
//Make super invis
|
||||
DoCast(m_creature,8149);
|
||||
DoCast(m_creature, 8149);
|
||||
|
||||
//Teleport self to a hiding spot (this causes errors in the Trinity log but no real issues)
|
||||
DoTeleportTo(HIDE_X,HIDE_Y,HIDE_Z);
|
||||
|
||||
@@ -61,7 +61,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
|
||||
void KilledUnit()
|
||||
{
|
||||
// When a player, pet or totem gets killed, Lord Kazzak casts this spell to instantly regenerate 70,000 health.
|
||||
DoCast(m_creature,SPELL_CAPTURESOUL);
|
||||
DoCast(m_creature, SPELL_CAPTURESOUL);
|
||||
}
|
||||
|
||||
void SummonHounds(Unit* pVictim)
|
||||
@@ -80,7 +80,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
|
||||
if (ShadowVolley_Timer <= diff)
|
||||
{
|
||||
if (urand(0,99) < 45)
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWVOLLEY);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWVOLLEY);
|
||||
|
||||
ShadowVolley_Timer = 5000;
|
||||
} else ShadowVolley_Timer -= diff;
|
||||
@@ -89,7 +89,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
if (urand(0,1))
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
|
||||
Cleave_Timer = 10000;
|
||||
} else Cleave_Timer -= diff;
|
||||
@@ -98,7 +98,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
|
||||
if (ThunderClap_Timer <= diff)
|
||||
{
|
||||
if (urand(0,9) < 2)
|
||||
DoCast(m_creature->getVictim(),SPELL_THUNDERCLAP);
|
||||
DoCast(m_creature->getVictim(), SPELL_THUNDERCLAP);
|
||||
|
||||
ThunderClap_Timer = 12000;
|
||||
} else ThunderClap_Timer -= diff;
|
||||
@@ -106,7 +106,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
|
||||
//TwistedReflection_Timer
|
||||
if (TwistedReflection_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_TWISTEDREFLECTION);
|
||||
DoCast(m_creature->getVictim(), SPELL_TWISTEDREFLECTION);
|
||||
TwistedReflection_Timer = 30000;
|
||||
} else TwistedReflection_Timer -= diff;
|
||||
|
||||
@@ -114,7 +114,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
|
||||
if (VoidBolt_Timer <= diff)
|
||||
{
|
||||
if (urand(0,9) < 4)
|
||||
DoCast(m_creature->getVictim(),SPELL_VOIDBOLT);
|
||||
DoCast(m_creature->getVictim(), SPELL_VOIDBOLT);
|
||||
|
||||
VoidBolt_Timer = 18000;
|
||||
} else VoidBolt_Timer -= diff;
|
||||
@@ -122,7 +122,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
|
||||
//Rage_Timer
|
||||
if (Rage_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_RAGE);
|
||||
DoCast(m_creature, SPELL_RAGE);
|
||||
Rage_Timer = 70000;
|
||||
} else Rage_Timer -= diff;
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ struct TRINITY_DLL_DECL npc_ragged_johnAI : public ScriptedAI
|
||||
{
|
||||
if (who->GetTypeId() == TYPEID_PLAYER && m_creature->IsWithinDistInMap(who, 15) && who->isInAccessiblePlaceFor(m_creature))
|
||||
{
|
||||
DoCast(who,16472);
|
||||
DoCast(who, 16472);
|
||||
CAST_PLR(who)->AreaExploredOrEventHappens(4866);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL npc_narm_faulkAI : public ScriptedAI
|
||||
{
|
||||
if (Spellkind->Id == 8593 && !spellHit)
|
||||
{
|
||||
DoCast(m_creature,32343);
|
||||
DoCast(m_creature, 32343);
|
||||
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
|
||||
//m_creature->RemoveAllAuras();
|
||||
|
||||
@@ -94,12 +94,12 @@ struct TRINITY_DLL_DECL boss_twilight_corrupterAI : public ScriptedAI
|
||||
return;
|
||||
if (SoulCorruption_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SOUL_CORRUPTION);
|
||||
DoCast(m_creature->getVictim(), SPELL_SOUL_CORRUPTION);
|
||||
SoulCorruption_Timer = rand()%4000+15000; //gotta confirm Timers
|
||||
} else SoulCorruption_Timer-=diff;
|
||||
if (CreatureOfNightmare_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SOUL_CORRUPTION);
|
||||
DoCast(m_creature->getVictim(), SPELL_SOUL_CORRUPTION);
|
||||
CreatureOfNightmare_Timer = 45000; //gotta confirm Timers
|
||||
} else CreatureOfNightmare_Timer-=diff;
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -89,7 +89,7 @@ struct TRINITY_DLL_DECL npc_darrowshire_spiritAI : public ScriptedAI
|
||||
|
||||
void Reset()
|
||||
{
|
||||
DoCast(m_creature,SPELL_SPIRIT_SPAWNIN);
|
||||
DoCast(m_creature, SPELL_SPIRIT_SPAWNIN);
|
||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL npc_henze_faulkAI : public ScriptedAI
|
||||
{
|
||||
if (Spellkind->Id == 8593 && !spellHit)
|
||||
{
|
||||
DoCast(m_creature,32343);
|
||||
DoCast(m_creature, 32343);
|
||||
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
|
||||
//m_creature->RemoveAllAuras();
|
||||
|
||||
@@ -268,7 +268,7 @@ struct TRINITY_DLL_DECL npc_secondTrialAI : public ScriptedAI
|
||||
if (spellJudLight)
|
||||
if (timerJudLight <= diff)
|
||||
{
|
||||
DoCast(m_creature, SPELL_JUDGEMENT_OF_LIGHT);
|
||||
DoCast(m_creature, SPELL_JUDGEMENT_OF_LIGHT);
|
||||
timerJudLight = TIMER_JUDGEMENT_OF_LIGHT + rand()%TIMER_JUDGEMENT_OF_LIGHT;
|
||||
}
|
||||
else
|
||||
@@ -277,7 +277,7 @@ struct TRINITY_DLL_DECL npc_secondTrialAI : public ScriptedAI
|
||||
if (spellCommand)
|
||||
if (timerCommand <= diff)
|
||||
{
|
||||
DoCast(m_creature, TIMER_SEAL_OF_COMMAND);
|
||||
DoCast(m_creature, TIMER_SEAL_OF_COMMAND);
|
||||
timerCommand = TIMER_SEAL_OF_COMMAND + rand()%TIMER_SEAL_OF_COMMAND;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -83,7 +83,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI
|
||||
|
||||
if (Enrage_Timer < diff && !Enraged)
|
||||
{
|
||||
DoCast(m_creature, SPELL_BERSERK,true);
|
||||
DoCast(m_creature, SPELL_BERSERK, true);
|
||||
Enraged = true;
|
||||
} else Enrage_Timer -= diff;
|
||||
|
||||
@@ -95,7 +95,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI
|
||||
|
||||
if (Repentance_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_REPENTANCE);
|
||||
DoCast(m_creature->getVictim(), SPELL_REPENTANCE);
|
||||
DoScriptText(RAND(SAY_REPENTANCE1,SAY_REPENTANCE2), m_creature);
|
||||
|
||||
Repentance_Timer = urand(25000,35000); //A little randomness on that spell
|
||||
@@ -104,7 +104,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI
|
||||
if (Holyfire_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_HOLYFIRE);
|
||||
DoCast(pTarget, SPELL_HOLYFIRE);
|
||||
|
||||
Holyfire_Timer = urand(8000,23000); //Anywhere from 8 to 23 seconds, good luck having several of those in a row!
|
||||
} else Holyfire_Timer -= diff;
|
||||
@@ -112,7 +112,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI
|
||||
if (Holywrath_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_HOLYWRATH);
|
||||
DoCast(pTarget, SPELL_HOLYWRATH);
|
||||
|
||||
Holywrath_Timer = urand(20000,25000); //20-30 secs sounds nice
|
||||
} else Holywrath_Timer -= diff;
|
||||
|
||||
@@ -381,7 +381,7 @@ struct TRINITY_DLL_DECL boss_baroness_dorothea_millstipeAI : public boss_moroes_
|
||||
MindFlay_Timer = 1000;
|
||||
ShadowWordPain_Timer = 6000;
|
||||
|
||||
DoCast(m_creature,SPELL_SHADOWFORM, true);
|
||||
DoCast(m_creature, SPELL_SHADOWFORM, true);
|
||||
|
||||
boss_moroes_guestAI::Reset();
|
||||
}
|
||||
@@ -395,7 +395,7 @@ struct TRINITY_DLL_DECL boss_baroness_dorothea_millstipeAI : public boss_moroes_
|
||||
|
||||
if (MindFlay_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MINDFLY);
|
||||
DoCast(m_creature->getVictim(), SPELL_MINDFLY);
|
||||
MindFlay_Timer = 12000; // 3 sec channeled
|
||||
} else MindFlay_Timer -= diff;
|
||||
|
||||
@@ -403,7 +403,7 @@ struct TRINITY_DLL_DECL boss_baroness_dorothea_millstipeAI : public boss_moroes_
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
if (pTarget->getPowerType() == POWER_MANA)
|
||||
DoCast(pTarget,SPELL_MANABURN);
|
||||
DoCast(pTarget, SPELL_MANABURN);
|
||||
ManaBurn_Timer = 5000; // 3 sec cast
|
||||
} else ManaBurn_Timer -= diff;
|
||||
|
||||
@@ -411,7 +411,7 @@ struct TRINITY_DLL_DECL boss_baroness_dorothea_millstipeAI : public boss_moroes_
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
{
|
||||
DoCast(pTarget,SPELL_SWPAIN);
|
||||
DoCast(pTarget, SPELL_SWPAIN);
|
||||
ShadowWordPain_Timer = 7000;
|
||||
}
|
||||
} else ShadowWordPain_Timer -= diff;
|
||||
@@ -449,20 +449,20 @@ struct TRINITY_DLL_DECL boss_baron_rafe_dreugerAI : public boss_moroes_guestAI
|
||||
|
||||
if (SealOfCommand_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_SEALOFCOMMAND);
|
||||
DoCast(m_creature, SPELL_SEALOFCOMMAND);
|
||||
SealOfCommand_Timer = 32000;
|
||||
JudgementOfCommand_Timer = 29000;
|
||||
} else SealOfCommand_Timer -= diff;
|
||||
|
||||
if (JudgementOfCommand_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_JUDGEMENTOFCOMMAND);
|
||||
DoCast(m_creature->getVictim(), SPELL_JUDGEMENTOFCOMMAND);
|
||||
JudgementOfCommand_Timer = SealOfCommand_Timer + 29000;
|
||||
} else JudgementOfCommand_Timer -= diff;
|
||||
|
||||
if (HammerOfJustice_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HAMMEROFJUSTICE);
|
||||
DoCast(m_creature->getVictim(), SPELL_HAMMEROFJUSTICE);
|
||||
HammerOfJustice_Timer = 12000;
|
||||
} else HammerOfJustice_Timer -= diff;
|
||||
}
|
||||
@@ -504,7 +504,7 @@ struct TRINITY_DLL_DECL boss_lady_catriona_von_indiAI : public boss_moroes_guest
|
||||
|
||||
if (PowerWordShield_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_PWSHIELD);
|
||||
DoCast(m_creature, SPELL_PWSHIELD);
|
||||
PowerWordShield_Timer = 15000;
|
||||
} else PowerWordShield_Timer -= diff;
|
||||
|
||||
@@ -518,7 +518,7 @@ struct TRINITY_DLL_DECL boss_lady_catriona_von_indiAI : public boss_moroes_guest
|
||||
|
||||
if (HolyFire_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HOLYFIRE);
|
||||
DoCast(m_creature->getVictim(), SPELL_HOLYFIRE);
|
||||
HolyFire_Timer = 22000;
|
||||
} else HolyFire_Timer -= diff;
|
||||
|
||||
@@ -568,7 +568,7 @@ struct TRINITY_DLL_DECL boss_lady_keira_berrybuckAI : public boss_moroes_guestAI
|
||||
|
||||
if (DivineShield_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_DIVINESHIELD);
|
||||
DoCast(m_creature, SPELL_DIVINESHIELD);
|
||||
DivineShield_Timer = 31000;
|
||||
} else DivineShield_Timer -= diff;
|
||||
|
||||
@@ -631,7 +631,7 @@ struct TRINITY_DLL_DECL boss_lord_robin_darisAI : public boss_moroes_guestAI
|
||||
|
||||
if (Hamstring_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HAMSTRING);
|
||||
DoCast(m_creature->getVictim(), SPELL_HAMSTRING);
|
||||
Hamstring_Timer = 12000;
|
||||
} else Hamstring_Timer -= diff;
|
||||
|
||||
@@ -643,7 +643,7 @@ struct TRINITY_DLL_DECL boss_lord_robin_darisAI : public boss_moroes_guestAI
|
||||
|
||||
if (WhirlWind_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_WHIRLWIND);
|
||||
DoCast(m_creature, SPELL_WHIRLWIND);
|
||||
WhirlWind_Timer = 21000;
|
||||
} else WhirlWind_Timer -= diff;
|
||||
}
|
||||
@@ -683,25 +683,25 @@ struct TRINITY_DLL_DECL boss_lord_crispin_ferenceAI : public boss_moroes_guestAI
|
||||
|
||||
if (Disarm_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_DISARM);
|
||||
DoCast(m_creature->getVictim(), SPELL_DISARM);
|
||||
Disarm_Timer = 12000;
|
||||
} else Disarm_Timer -= diff;
|
||||
|
||||
if (HeroicStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HEROICSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_HEROICSTRIKE);
|
||||
HeroicStrike_Timer = 10000;
|
||||
} else HeroicStrike_Timer -= diff;
|
||||
|
||||
if (ShieldBash_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHIELDBASH);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHIELDBASH);
|
||||
ShieldBash_Timer = 13000;
|
||||
} else ShieldBash_Timer -= diff;
|
||||
|
||||
if (ShieldWall_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_SHIELDWALL);
|
||||
DoCast(m_creature, SPELL_SHIELDWALL);
|
||||
ShieldWall_Timer = 21000;
|
||||
} else ShieldWall_Timer -= diff;
|
||||
}
|
||||
|
||||
@@ -228,8 +228,8 @@ struct TRINITY_DLL_DECL boss_netherspiteAI : public ScriptedAI
|
||||
{
|
||||
m_creature->RemoveAurasDueToSpell(SPELL_EMPOWERMENT);
|
||||
m_creature->RemoveAurasDueToSpell(SPELL_NETHERBURN_AURA);
|
||||
DoCast(m_creature,SPELL_BANISH_VISUAL,true);
|
||||
DoCast(m_creature,SPELL_BANISH_ROOT,true);
|
||||
DoCast(m_creature, SPELL_BANISH_VISUAL, true);
|
||||
DoCast(m_creature, SPELL_BANISH_ROOT, true);
|
||||
DestroyPortals();
|
||||
PhaseTimer = 30000;
|
||||
PortalPhase = false;
|
||||
@@ -309,7 +309,7 @@ struct TRINITY_DLL_DECL boss_netherspiteAI : public ScriptedAI
|
||||
if (NetherbreathTimer <= diff)
|
||||
{
|
||||
if(Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0,40,true))
|
||||
DoCast(pTarget,SPELL_NETHERBREATH);
|
||||
DoCast(pTarget, SPELL_NETHERBREATH);
|
||||
NetherbreathTimer = urand(5000,7000);
|
||||
} else NetherbreathTimer -= diff;
|
||||
|
||||
|
||||
@@ -297,20 +297,20 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
|
||||
|
||||
if (BellowingRoarTimer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_BELLOWING_ROAR);
|
||||
DoCast(m_creature->getVictim(), SPELL_BELLOWING_ROAR);
|
||||
BellowingRoarTimer = urand(30000,40000);
|
||||
} else BellowingRoarTimer -= diff;
|
||||
|
||||
if (SmolderingBreathTimer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SMOLDERING_BREATH);
|
||||
DoCast(m_creature->getVictim(), SPELL_SMOLDERING_BREATH);
|
||||
SmolderingBreathTimer = 20000;
|
||||
} else SmolderingBreathTimer -= diff;
|
||||
|
||||
if (CharredEarthTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_CHARRED_EARTH);
|
||||
DoCast(pTarget, SPELL_CHARRED_EARTH);
|
||||
CharredEarthTimer = 20000;
|
||||
} else CharredEarthTimer -= diff;
|
||||
|
||||
@@ -318,14 +318,14 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
if (!m_creature->HasInArc(M_PI, pTarget))
|
||||
DoCast(pTarget,SPELL_TAIL_SWEEP);
|
||||
DoCast(pTarget, SPELL_TAIL_SWEEP);
|
||||
TailSweepTimer = 15000;
|
||||
} else TailSweepTimer -= diff;
|
||||
|
||||
if (SearingCindersTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_SEARING_CINDERS);
|
||||
DoCast(pTarget, SPELL_SEARING_CINDERS);
|
||||
SearingCindersTimer = 10000;
|
||||
} else SearingCindersTimer -= diff;
|
||||
|
||||
@@ -360,7 +360,7 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
|
||||
|
||||
if (RainofBonesTimer < diff && !RainBones) // only once at the beginning of phase 2
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_RAIN_OF_BONES);
|
||||
DoCast(m_creature->getVictim(), SPELL_RAIN_OF_BONES);
|
||||
RainBones = true;
|
||||
SmokingBlastTimer = 20000;
|
||||
} else RainofBonesTimer -= diff;
|
||||
@@ -368,7 +368,7 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
|
||||
if (DistractingAshTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget,SPELL_DISTRACTING_ASH);
|
||||
DoCast(pTarget, SPELL_DISTRACTING_ASH);
|
||||
DistractingAshTimer = 2000; //timer wrong
|
||||
} else DistractingAshTimer -= diff;
|
||||
}
|
||||
@@ -377,7 +377,7 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
|
||||
{
|
||||
if (SmokingBlastTimer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SMOKING_BLAST);
|
||||
DoCast(m_creature->getVictim(), SPELL_SMOKING_BLAST);
|
||||
SmokingBlastTimer = 1500; //timer wrong
|
||||
} else SmokingBlastTimer -= diff;
|
||||
}
|
||||
@@ -385,7 +385,7 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
|
||||
if (FireballBarrageTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_FARTHEST, 0))
|
||||
DoCast(pTarget,SPELL_FIREBALL_BARRAGE);
|
||||
DoCast(pTarget, SPELL_FIREBALL_BARRAGE);
|
||||
FireballBarrageTimer = 20000;
|
||||
} else FireballBarrageTimer -= diff;
|
||||
|
||||
|
||||
@@ -386,7 +386,7 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
|
||||
DoScriptText(SAY_AXE_TOSS1, m_creature);
|
||||
|
||||
//passive thrash aura
|
||||
m_creature->CastSpell(m_creature, SPELL_THRASH_AURA, true);
|
||||
DoCast(m_creature, SPELL_THRASH_AURA, true);
|
||||
|
||||
//models
|
||||
SetEquipmentSlots(false, EQUIP_ID_AXE, EQUIP_ID_AXE, EQUIP_NO_CHANGE);
|
||||
|
||||
@@ -201,7 +201,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
|
||||
FlameWreathTarget[i] = (*itr)->GetGUID();
|
||||
FWTargPosX[i] = (*itr)->GetPositionX();
|
||||
FWTargPosY[i] = (*itr)->GetPositionY();
|
||||
m_creature->CastSpell((*itr), SPELL_FLAME_WREATH, true);
|
||||
DoCast((*itr), SPELL_FLAME_WREATH, true);
|
||||
++i;
|
||||
}
|
||||
}
|
||||
@@ -255,9 +255,9 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
|
||||
|
||||
if (!DrinkInturrupted)
|
||||
{
|
||||
m_creature->CastSpell(m_creature, SPELL_MASS_POLY, true);
|
||||
m_creature->CastSpell(m_creature, SPELL_CONJURE, false);
|
||||
m_creature->CastSpell(m_creature, SPELL_DRINK, false);
|
||||
DoCast(m_creature, SPELL_MASS_POLY, true);
|
||||
DoCast(m_creature, SPELL_CONJURE, false);
|
||||
DoCast(m_creature, SPELL_DRINK, false);
|
||||
m_creature->SetStandState(UNIT_STAND_STATE_SIT);
|
||||
DrinkInturruptTimer = 10000;
|
||||
}
|
||||
@@ -270,7 +270,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
|
||||
m_creature->RemoveAurasDueToSpell(SPELL_DRINK);
|
||||
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
m_creature->SetPower(POWER_MANA, m_creature->GetMaxPower(POWER_MANA)-32000);
|
||||
m_creature->CastSpell(m_creature, SPELL_POTION, false);
|
||||
DoCast(m_creature, SPELL_POTION, false);
|
||||
}
|
||||
|
||||
//Drink Inturrupt Timer
|
||||
@@ -280,8 +280,8 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
|
||||
else
|
||||
{
|
||||
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
m_creature->CastSpell(m_creature, SPELL_POTION, true);
|
||||
m_creature->CastSpell(m_creature, SPELL_AOE_PYROBLAST, false);
|
||||
DoCast(m_creature, SPELL_POTION, true);
|
||||
DoCast(m_creature, SPELL_AOE_PYROBLAST, false);
|
||||
DrinkInturrupted = true;
|
||||
Drinking = false;
|
||||
}
|
||||
@@ -371,10 +371,10 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI
|
||||
case SUPER_AE:
|
||||
DoScriptText(RAND(SAY_EXPLOSION1,SAY_EXPLOSION2), m_creature);
|
||||
|
||||
m_creature->CastSpell(m_creature, SPELL_BLINK_CENTER, true);
|
||||
m_creature->CastSpell(m_creature, SPELL_PLAYERPULL, true);
|
||||
m_creature->CastSpell(m_creature, SPELL_MASSSLOW, true);
|
||||
m_creature->CastSpell(m_creature, SPELL_AEXPLOSION, false);
|
||||
DoCast(m_creature, SPELL_BLINK_CENTER, true);
|
||||
DoCast(m_creature, SPELL_PLAYERPULL, true);
|
||||
DoCast(m_creature, SPELL_MASSSLOW, true);
|
||||
DoCast(m_creature, SPELL_AEXPLOSION, false);
|
||||
break;
|
||||
|
||||
case SUPER_FLAME:
|
||||
|
||||
@@ -105,7 +105,7 @@ struct TRINITY_DLL_DECL mob_kilrekAI : public ScriptedAI
|
||||
if (AmplifyTimer <= diff)
|
||||
{
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
DoCast(m_creature->getVictim(),SPELL_AMPLIFY_FLAMES);
|
||||
DoCast(m_creature->getVictim(), SPELL_AMPLIFY_FLAMES);
|
||||
|
||||
AmplifyTimer = urand(10000,20000);
|
||||
} else AmplifyTimer -= diff;
|
||||
|
||||
@@ -159,7 +159,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
|
||||
switch(i)
|
||||
{
|
||||
case 0:
|
||||
m_creature->CastSpell(m_creature, SPELL_TUXEDO, false);
|
||||
DoCast(m_creature, SPELL_TUXEDO, false);
|
||||
pInstance->DoUseDoorOrButton(pInstance->GetData64(DATA_GO_STAGEDOORLEFT));
|
||||
break;
|
||||
case 4:
|
||||
@@ -546,7 +546,7 @@ struct TRINITY_DLL_DECL npc_image_of_medivhAI : public ScriptedAI
|
||||
return 10000;
|
||||
case 10:
|
||||
if (arca)
|
||||
m_creature->CastSpell(arca, SPELL_CONFLAGRATION_BLAST, false);
|
||||
DoCast(arca, SPELL_CONFLAGRATION_BLAST, false);
|
||||
return 1000;
|
||||
case 11:
|
||||
if (arca)
|
||||
|
||||
+1
-1
@@ -466,7 +466,7 @@ struct TRINITY_DLL_DECL mob_felkael_phoenixAI : public ScriptedAI
|
||||
{
|
||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE + UNIT_FLAG_NON_ATTACKABLE);
|
||||
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
m_creature->CastSpell(m_creature,SPELL_PHOENIX_BURN,true);
|
||||
DoCast(m_creature, SPELL_PHOENIX_BURN, true);
|
||||
BurnTimer = 2000;
|
||||
Death_Timer = 3000;
|
||||
Rebirth = false;
|
||||
|
||||
+7
-7
@@ -269,7 +269,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI
|
||||
if (pAdd->isAlive())
|
||||
pTarget = pAdd;
|
||||
|
||||
DoCast(pTarget,Heroic ? SPELL_RENEW_HEROIC : SPELL_RENEW_NORMAL);
|
||||
DoCast(pTarget, Heroic ? SPELL_RENEW_HEROIC : SPELL_RENEW_NORMAL);
|
||||
RenewTimer = 5000;
|
||||
} else RenewTimer -= diff;
|
||||
|
||||
@@ -599,7 +599,7 @@ struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_lackey_
|
||||
|
||||
void Aggro(Unit* pWho)
|
||||
{
|
||||
DoCast(m_creature,SPELL_SUMMON_IMP);
|
||||
DoCast(m_creature, SPELL_SUMMON_IMP);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -611,13 +611,13 @@ struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_lackey_
|
||||
|
||||
if (Immolate_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_IMMOLATE);
|
||||
DoCast(m_creature->getVictim(), SPELL_IMMOLATE);
|
||||
Immolate_Timer = 6000;
|
||||
} else Immolate_Timer -= diff;
|
||||
|
||||
if (Shadow_Bolt_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOW_BOLT);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOW_BOLT);
|
||||
Shadow_Bolt_Timer = 5000;
|
||||
} else Shadow_Bolt_Timer -= diff;
|
||||
|
||||
@@ -685,13 +685,13 @@ struct TRINITY_DLL_DECL boss_eramas_brightblazeAI : public boss_priestess_lackey
|
||||
|
||||
if (Knockdown_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKDOWN);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKDOWN);
|
||||
Knockdown_Timer = 6000;
|
||||
} else Knockdown_Timer -= diff;
|
||||
|
||||
if (Snap_Kick_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SNAP_KICK);
|
||||
DoCast(m_creature->getVictim(), SPELL_SNAP_KICK);
|
||||
Snap_Kick_Timer = 4500;
|
||||
} else Snap_Kick_Timer -= diff;
|
||||
|
||||
@@ -904,7 +904,7 @@ struct TRINITY_DLL_DECL boss_warlord_salarisAI : public boss_priestess_lackey_co
|
||||
|
||||
if (Disarm_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_DISARM);
|
||||
DoCast(m_creature->getVictim(), SPELL_DISARM);
|
||||
Disarm_Timer = 6000;
|
||||
} else Disarm_Timer -= diff;
|
||||
|
||||
|
||||
@@ -138,11 +138,11 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI
|
||||
|
||||
if (Heroic)
|
||||
{
|
||||
m_creature->CastSpell(m_creature,H_SPELL_SUMMON_PURE_ENERGY1,false);
|
||||
m_creature->CastSpell(m_creature,H_SPELL_SUMMON_PURE_ENERGY2,false);
|
||||
DoCast(m_creature, H_SPELL_SUMMON_PURE_ENERGY1, false);
|
||||
DoCast(m_creature, H_SPELL_SUMMON_PURE_ENERGY2, false);
|
||||
}
|
||||
else
|
||||
m_creature->CastSpell(m_creature,SPELL_SUMMON_PURE_ENERGY,false);
|
||||
DoCast(m_creature, SPELL_SUMMON_PURE_ENERGY, false);
|
||||
|
||||
//below are workaround summons, remove when summoning spells w/implicitTarget 73 implemented in Mangos
|
||||
m_creature->SummonCreature(NPC_PURE_ENERGY, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
|
||||
+2
-2
@@ -104,11 +104,11 @@ struct TRINITY_DLL_DECL npc_kalecgosAI : public ScriptedAI
|
||||
{
|
||||
if (m_uiTransformTimer <= uiDiff)
|
||||
{
|
||||
m_creature->CastSpell(m_creature,SPELL_ORB_KILL_CREDIT,false);
|
||||
DoCast(m_creature, SPELL_ORB_KILL_CREDIT, false);
|
||||
DoWorkaroundForQuestCredit();
|
||||
|
||||
// Transform and update entry, now ready for quest/read gossip
|
||||
m_creature->CastSpell(m_creature,SPELL_TRANSFORM_TO_KAEL,false);
|
||||
DoCast(m_creature, SPELL_TRANSFORM_TO_KAEL, false);
|
||||
m_creature->UpdateEntry(NPC_KAEL);
|
||||
|
||||
m_uiTransformTimer = 0;
|
||||
|
||||
@@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL boss_baron_geddonAI : public ScriptedAI
|
||||
if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 2)
|
||||
{
|
||||
m_creature->InterruptNonMeleeSpells(true);
|
||||
DoCast(m_creature,SPELL_ARMAGEDDOM);
|
||||
DoCast(m_creature, SPELL_ARMAGEDDOM);
|
||||
DoScriptText(EMOTE_SERVICE, m_creature);
|
||||
return;
|
||||
}
|
||||
@@ -66,7 +66,7 @@ struct TRINITY_DLL_DECL boss_baron_geddonAI : public ScriptedAI
|
||||
//Inferno_Timer
|
||||
if (Inferno_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_INFERNO);
|
||||
DoCast(m_creature, SPELL_INFERNO);
|
||||
Inferno_Timer = 45000;
|
||||
} else Inferno_Timer -= diff;
|
||||
|
||||
@@ -74,7 +74,7 @@ struct TRINITY_DLL_DECL boss_baron_geddonAI : public ScriptedAI
|
||||
if (IgniteMana_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget,SPELL_IGNITEMANA);
|
||||
DoCast(pTarget, SPELL_IGNITEMANA);
|
||||
|
||||
IgniteMana_Timer = 30000;
|
||||
} else IgniteMana_Timer -= diff;
|
||||
@@ -83,7 +83,7 @@ struct TRINITY_DLL_DECL boss_baron_geddonAI : public ScriptedAI
|
||||
if (LivingBomb_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget,SPELL_LIVINGBOMB);
|
||||
DoCast(pTarget, SPELL_LIVINGBOMB);
|
||||
|
||||
LivingBomb_Timer = 35000;
|
||||
} else LivingBomb_Timer -= diff;
|
||||
|
||||
@@ -61,14 +61,14 @@ struct TRINITY_DLL_DECL boss_garrAI : public ScriptedAI
|
||||
//AntiMagicPulse_Timer
|
||||
if (AntiMagicPulse_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_ANTIMAGICPULSE);
|
||||
DoCast(m_creature, SPELL_ANTIMAGICPULSE);
|
||||
AntiMagicPulse_Timer = 10000 + rand()%5000;
|
||||
} else AntiMagicPulse_Timer -= diff;
|
||||
|
||||
//MagmaShackles_Timer
|
||||
if (MagmaShackles_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_MAGMASHACKLES);
|
||||
DoCast(m_creature, SPELL_MAGMASHACKLES);
|
||||
MagmaShackles_Timer = 8000 + rand()%4000;
|
||||
} else MagmaShackles_Timer -= diff;
|
||||
|
||||
@@ -100,7 +100,7 @@ struct TRINITY_DLL_DECL mob_fireswornAI : public ScriptedAI
|
||||
if (Immolate_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget,SPELL_IMMOLATE);
|
||||
DoCast(pTarget, SPELL_IMMOLATE);
|
||||
|
||||
Immolate_Timer = urand(5000,10000);
|
||||
} else Immolate_Timer -= diff;
|
||||
@@ -108,7 +108,7 @@ struct TRINITY_DLL_DECL mob_fireswornAI : public ScriptedAI
|
||||
//Cast Erruption and let them die
|
||||
if (m_creature->GetHealth() <= m_creature->GetMaxHealth() * 0.10)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_ERUPTION);
|
||||
DoCast(m_creature->getVictim(), SPELL_ERUPTION);
|
||||
m_creature->setDeathState(JUST_DIED);
|
||||
m_creature->RemoveCorpse();
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ struct TRINITY_DLL_DECL boss_gehennasAI : public ScriptedAI
|
||||
//GehennasCurse_Timer
|
||||
if (GehennasCurse_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_GEHENNASCURSE);
|
||||
DoCast(m_creature->getVictim(), SPELL_GEHENNASCURSE);
|
||||
GehennasCurse_Timer = urand(22000,30000);
|
||||
} else GehennasCurse_Timer -= diff;
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL boss_golemaggAI : public ScriptedAI
|
||||
m_uiBuffTimer = 2.5*IN_MILISECONDS;
|
||||
m_bEnraged = false;
|
||||
|
||||
m_creature->CastSpell(m_creature, SPELL_MAGMASPLASH, true);
|
||||
DoCast(m_creature, SPELL_MAGMASPLASH, true);
|
||||
}
|
||||
|
||||
void JustDied(Unit* pKiller)
|
||||
|
||||
@@ -54,21 +54,21 @@ struct TRINITY_DLL_DECL boss_lucifronAI : public ScriptedAI
|
||||
//Impending doom timer
|
||||
if (ImpendingDoom_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_IMPENDINGDOOM);
|
||||
DoCast(m_creature->getVictim(), SPELL_IMPENDINGDOOM);
|
||||
ImpendingDoom_Timer = 20000;
|
||||
} else ImpendingDoom_Timer -= diff;
|
||||
|
||||
//Lucifron's curse timer
|
||||
if (LucifronCurse_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_LUCIFRONCURSE);
|
||||
DoCast(m_creature->getVictim(), SPELL_LUCIFRONCURSE);
|
||||
LucifronCurse_Timer = 15000;
|
||||
} else LucifronCurse_Timer -= diff;
|
||||
|
||||
//Shadowshock
|
||||
if (ShadowShock_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWSHOCK);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWSHOCK);
|
||||
ShadowShock_Timer = 6000;
|
||||
} else ShadowShock_Timer -= diff;
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ struct TRINITY_DLL_DECL boss_magmadarAI : public ScriptedAI
|
||||
Panic_Timer = 20000;
|
||||
Lavabomb_Timer = 12000;
|
||||
|
||||
m_creature->CastSpell(m_creature,SPELL_MAGMASPIT,true);
|
||||
DoCast(m_creature, SPELL_MAGMASPIT, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
@@ -61,14 +61,14 @@ struct TRINITY_DLL_DECL boss_magmadarAI : public ScriptedAI
|
||||
if (Frenzy_Timer <= diff)
|
||||
{
|
||||
DoScriptText(EMOTE_FRENZY, m_creature);
|
||||
DoCast(m_creature,SPELL_FRENZY);
|
||||
DoCast(m_creature, SPELL_FRENZY);
|
||||
Frenzy_Timer = 15000;
|
||||
} else Frenzy_Timer -= diff;
|
||||
|
||||
//Panic_Timer
|
||||
if (Panic_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_PANIC);
|
||||
DoCast(m_creature->getVictim(), SPELL_PANIC);
|
||||
Panic_Timer = 35000;
|
||||
} else Panic_Timer -= diff;
|
||||
|
||||
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL boss_magmadarAI : public ScriptedAI
|
||||
if (Lavabomb_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget,SPELL_LAVABOMB_ALT);
|
||||
DoCast(pTarget, SPELL_LAVABOMB_ALT);
|
||||
|
||||
Lavabomb_Timer = 12000;
|
||||
} else Lavabomb_Timer -= diff;
|
||||
|
||||
+2
-2
@@ -87,7 +87,7 @@ struct TRINITY_DLL_DECL boss_majordomoAI : public ScriptedAI
|
||||
//Cast Ageis if less than 50% hp
|
||||
if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 50)
|
||||
{
|
||||
DoCast(m_creature,SPELL_AEGIS);
|
||||
DoCast(m_creature, SPELL_AEGIS);
|
||||
}
|
||||
|
||||
//MagicReflection_Timer
|
||||
@@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL boss_majordomoAI : public ScriptedAI
|
||||
//Blastwave_Timer
|
||||
if (Blastwave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_BLASTWAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_BLASTWAVE);
|
||||
Blastwave_Timer = 10000;
|
||||
} else Blastwave_Timer -= diff;
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
HasSubmergedOnce = false;
|
||||
WasBanished = false;
|
||||
|
||||
m_creature->CastSpell(m_creature,SPELL_MELTWEAPON,true);
|
||||
DoCast(m_creature, SPELL_MELTWEAPON, true);
|
||||
HasAura = true;
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
//Become unbanished again
|
||||
m_creature->setFaction(14);
|
||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
DoCast(m_creature,SPELL_RAGEMERGE);
|
||||
DoCast(m_creature, SPELL_RAGEMERGE);
|
||||
WasBanished = false;
|
||||
} else if (WasBanished)
|
||||
{
|
||||
@@ -157,7 +157,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
//WrathOfRagnaros_Timer
|
||||
if (WrathOfRagnaros_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WRATHOFRAGNAROS);
|
||||
DoCast(m_creature->getVictim(), SPELL_WRATHOFRAGNAROS);
|
||||
|
||||
if (urand(0,1))
|
||||
DoScriptText(SAY_WRATH, m_creature);
|
||||
@@ -168,7 +168,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
//HandOfRagnaros_Timer
|
||||
if (HandOfRagnaros_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_HANDOFRAGNAROS);
|
||||
DoCast(m_creature, SPELL_HANDOFRAGNAROS);
|
||||
|
||||
if (urand(0,1))
|
||||
DoScriptText(SAY_HAND, m_creature);
|
||||
@@ -179,21 +179,21 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
//LavaBurst_Timer
|
||||
if (LavaBurst_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_LAVABURST);
|
||||
DoCast(m_creature->getVictim(), SPELL_LAVABURST);
|
||||
LavaBurst_Timer = 10000;
|
||||
} else LavaBurst_Timer -= diff;
|
||||
|
||||
//Erruption_Timer
|
||||
if (LavaBurst_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_ERRUPTION);
|
||||
DoCast(m_creature->getVictim(), SPELL_ERRUPTION);
|
||||
Erruption_Timer = urand(20000,45000);
|
||||
} else Erruption_Timer -= diff;
|
||||
|
||||
//ElementalFire_Timer
|
||||
if (ElementalFire_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_ELEMENTALFIRE);
|
||||
DoCast(m_creature->getVictim(), SPELL_ELEMENTALFIRE);
|
||||
ElementalFire_Timer = urand(10000,14000);
|
||||
} else ElementalFire_Timer -= diff;
|
||||
|
||||
@@ -206,7 +206,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
//Root self
|
||||
DoCast(m_creature,23973);
|
||||
DoCast(m_creature, 23973);
|
||||
m_creature->setFaction(35);
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
m_creature->HandleEmoteCommand(EMOTE_ONESHOT_SUBMERGE);
|
||||
@@ -227,7 +227,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
|
||||
HasSubmergedOnce = true;
|
||||
WasBanished = true;
|
||||
DoCast(m_creature,SPELL_RAGSUBMERGE);
|
||||
DoCast(m_creature, SPELL_RAGSUBMERGE);
|
||||
Attack_Timer = 90000;
|
||||
|
||||
}
|
||||
@@ -245,7 +245,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
}
|
||||
|
||||
WasBanished = true;
|
||||
DoCast(m_creature,SPELL_RAGSUBMERGE);
|
||||
DoCast(m_creature, SPELL_RAGSUBMERGE);
|
||||
Attack_Timer = 90000;
|
||||
}
|
||||
|
||||
@@ -267,7 +267,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public ScriptedAI
|
||||
//MagmaBurst_Timer
|
||||
if (MagmaBurst_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MAGMABURST);
|
||||
DoCast(m_creature->getVictim(), SPELL_MAGMABURST);
|
||||
|
||||
if (!HasYelledMagmaBurst)
|
||||
{
|
||||
|
||||
@@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL boss_shazzrahAI : public ScriptedAI
|
||||
//ArcaneExplosion_Timer
|
||||
if (ArcaneExplosion_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_ARCANEEXPLOSION);
|
||||
DoCast(m_creature->getVictim(), SPELL_ARCANEEXPLOSION);
|
||||
ArcaneExplosion_Timer = 5000 + rand()%4000;
|
||||
} else ArcaneExplosion_Timer -= diff;
|
||||
|
||||
@@ -68,7 +68,7 @@ struct TRINITY_DLL_DECL boss_shazzrahAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_SHAZZRAHCURSE);
|
||||
if (pTarget) DoCast(pTarget, SPELL_SHAZZRAHCURSE);
|
||||
|
||||
ShazzrahCurse_Timer = 25000 + rand()%5000;
|
||||
} else ShazzrahCurse_Timer -= diff;
|
||||
@@ -76,14 +76,14 @@ struct TRINITY_DLL_DECL boss_shazzrahAI : public ScriptedAI
|
||||
//DeadenMagic_Timer
|
||||
if (DeadenMagic_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_DEADENMAGIC);
|
||||
DoCast(m_creature, SPELL_DEADENMAGIC);
|
||||
DeadenMagic_Timer = 35000;
|
||||
} else DeadenMagic_Timer -= diff;
|
||||
|
||||
//Countspell_Timer
|
||||
if (Countspell_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_COUNTERSPELL);
|
||||
DoCast(m_creature->getVictim(), SPELL_COUNTERSPELL);
|
||||
Countspell_Timer = 16000 + rand()%4000;
|
||||
} else Countspell_Timer -= diff;
|
||||
|
||||
|
||||
+7
-7
@@ -66,7 +66,7 @@ struct TRINITY_DLL_DECL boss_sulfuronAI : public ScriptedAI
|
||||
//DemoralizingShout_Timer
|
||||
if (DemoralizingShout_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_DEMORALIZINGSHOUT);
|
||||
DoCast(m_creature->getVictim(), SPELL_DEMORALIZINGSHOUT);
|
||||
DemoralizingShout_Timer = 15000 + rand()%5000;
|
||||
} else DemoralizingShout_Timer -= diff;
|
||||
|
||||
@@ -83,9 +83,9 @@ struct TRINITY_DLL_DECL boss_sulfuronAI : public ScriptedAI
|
||||
}
|
||||
|
||||
if (pTarget)
|
||||
DoCast(pTarget,SPELL_INSPIRE);
|
||||
DoCast(pTarget, SPELL_INSPIRE);
|
||||
|
||||
DoCast(m_creature,SPELL_INSPIRE);
|
||||
DoCast(m_creature, SPELL_INSPIRE);
|
||||
|
||||
Inspire_Timer = 20000 + rand()%6000;
|
||||
} else Inspire_Timer -= diff;
|
||||
@@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL boss_sulfuronAI : public ScriptedAI
|
||||
//Knockdown_Timer
|
||||
if (Knockdown_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKDOWN);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKDOWN);
|
||||
Knockdown_Timer = 12000 + rand()%3000;
|
||||
} else Knockdown_Timer -= diff;
|
||||
|
||||
@@ -102,7 +102,7 @@ struct TRINITY_DLL_DECL boss_sulfuronAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_FLAMESPEAR);
|
||||
if (pTarget) DoCast(pTarget, SPELL_FLAMESPEAR);
|
||||
|
||||
Flamespear_Timer = 12000 + rand()%4000;
|
||||
} else Flamespear_Timer -= diff;
|
||||
@@ -159,7 +159,7 @@ struct TRINITY_DLL_DECL mob_flamewaker_priestAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_SHADOWWORDPAIN);
|
||||
if (pTarget) DoCast(pTarget, SPELL_SHADOWWORDPAIN);
|
||||
|
||||
ShadowWordPain_Timer = 18000+rand()%8000;
|
||||
} else ShadowWordPain_Timer -= diff;
|
||||
@@ -169,7 +169,7 @@ struct TRINITY_DLL_DECL mob_flamewaker_priestAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_IMMOLATE);
|
||||
if (pTarget) DoCast(pTarget, SPELL_IMMOLATE);
|
||||
|
||||
Immolate_Timer = 15000+rand()%10000;
|
||||
} else Immolate_Timer -= diff;
|
||||
|
||||
@@ -43,7 +43,7 @@ struct TRINITY_DLL_DECL instance_molten_core : public ScriptedInstance
|
||||
instance_molten_core(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
|
||||
|
||||
uint64 Lucifron, Magmadar, Gehennas, Garr, Geddon, Shazzrah, Sulfuron, Golemagg, Domo, Ragnaros, FlamewakerPriest;
|
||||
uint64 RuneKoro, RuneZeth, RuneMazj, RuneTheri, RuneBlaz, RuneKress, RuneMohn, m_uiFirelordCacheGUID;;
|
||||
uint64 RuneKoro, RuneZeth, RuneMazj, RuneTheri, RuneBlaz, RuneKress, RuneMohn, m_uiFirelordCacheGUID;
|
||||
|
||||
//If all Bosses are dead.
|
||||
bool IsBossDied[9];
|
||||
|
||||
@@ -721,7 +721,7 @@ struct TRINITY_DLL_DECL npc_scarlet_ghoulAI : public ScriptedAI
|
||||
{
|
||||
// Ghouls should display their Birth Animation
|
||||
// Crawling out of the ground
|
||||
//m_creature->CastSpell(m_creature,35177,true);
|
||||
//DoCast(m_creature, 35177, true);
|
||||
//m_creature->MonsterSay("Mommy?",LANG_UNIVERSAL,0);
|
||||
m_creature->SetReactState(REACT_DEFENSIVE);
|
||||
}
|
||||
|
||||
+5
-5
@@ -66,7 +66,7 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI
|
||||
|
||||
if (bShielded && bCanDetonate)
|
||||
{
|
||||
DoCast(m_creature,SPELL_FIREAOE);
|
||||
DoCast(m_creature, SPELL_FIREAOE);
|
||||
bCanDetonate = false;
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI
|
||||
return;
|
||||
|
||||
DoScriptText(SAY_SPECIALAE, m_creature);
|
||||
DoCast(m_creature,SPELL_ARCANEBUBBLE);
|
||||
DoCast(m_creature, SPELL_ARCANEBUBBLE);
|
||||
|
||||
bCanDetonate = true;
|
||||
bShielded = true;
|
||||
@@ -90,7 +90,7 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI
|
||||
if (Polymorph_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,1))
|
||||
DoCast(pTarget,SPELL_POLYMORPH);
|
||||
DoCast(pTarget, SPELL_POLYMORPH);
|
||||
|
||||
Polymorph_Timer = 20000;
|
||||
} else Polymorph_Timer -= diff;
|
||||
@@ -98,14 +98,14 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI
|
||||
//AoESilence_Timer
|
||||
if (AoESilence_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_AOESILENCE);
|
||||
DoCast(m_creature->getVictim(), SPELL_AOESILENCE);
|
||||
AoESilence_Timer = 15000 + rand()%5000;
|
||||
} else AoESilence_Timer -= diff;
|
||||
|
||||
//ArcaneExplosion_Timer
|
||||
if (ArcaneExplosion_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_ARCANEEXPLOSION);
|
||||
DoCast(m_creature->getVictim(), SPELL_ARCANEEXPLOSION);
|
||||
ArcaneExplosion_Timer = 8000;
|
||||
} else ArcaneExplosion_Timer -= diff;
|
||||
|
||||
|
||||
+3
-3
@@ -57,7 +57,7 @@ struct TRINITY_DLL_DECL boss_azshir_the_sleeplessAI : public ScriptedAI
|
||||
//SoulSiphon_Timer
|
||||
if (SoulSiphon_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SOULSIPHON);
|
||||
DoCast(m_creature->getVictim(), SPELL_SOULSIPHON);
|
||||
return;
|
||||
|
||||
SoulSiphon_Timer = 20000;
|
||||
@@ -67,14 +67,14 @@ struct TRINITY_DLL_DECL boss_azshir_the_sleeplessAI : public ScriptedAI
|
||||
//CallOfTheGrave_Timer
|
||||
if (CallOftheGrave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CALLOFTHEGRAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CALLOFTHEGRAVE);
|
||||
CallOftheGrave_Timer = 30000;
|
||||
} else CallOftheGrave_Timer -= diff;
|
||||
|
||||
//Terrify_Timer
|
||||
if (Terrify_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_TERRIFY);
|
||||
DoCast(m_creature->getVictim(), SPELL_TERRIFY);
|
||||
Terrify_Timer = 20000;
|
||||
} else Terrify_Timer -= diff;
|
||||
|
||||
|
||||
+4
-4
@@ -79,28 +79,28 @@ struct TRINITY_DLL_DECL boss_bloodmage_thalnosAI : public ScriptedAI
|
||||
//FlameShock_Timer
|
||||
if (FlameShock_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FLAMESHOCK);
|
||||
DoCast(m_creature->getVictim(), SPELL_FLAMESHOCK);
|
||||
FlameShock_Timer = 10000 + rand()%5000;
|
||||
} else FlameShock_Timer -= diff;
|
||||
|
||||
//FlameSpike_Timer
|
||||
if (FlameSpike_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FLAMESPIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_FLAMESPIKE);
|
||||
FlameSpike_Timer = 30000;
|
||||
} else FlameSpike_Timer -= diff;
|
||||
|
||||
//FireNova_Timer
|
||||
if (FireNova_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FIRENOVA);
|
||||
DoCast(m_creature->getVictim(), SPELL_FIRENOVA);
|
||||
FireNova_Timer = 40000;
|
||||
} else FireNova_Timer -= diff;
|
||||
|
||||
//ShadowBolt_Timer
|
||||
if (ShadowBolt_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWBOLT);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWBOLT);
|
||||
ShadowBolt_Timer = 2000;
|
||||
} else ShadowBolt_Timer -= diff;
|
||||
|
||||
|
||||
+25
-25
@@ -173,7 +173,7 @@ struct TRINITY_DLL_DECL mob_wisp_invisAI : public ScriptedAI
|
||||
break;
|
||||
}
|
||||
if (spell)
|
||||
DoCast(m_creature,spell);
|
||||
DoCast(m_creature, spell);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* caster, const SpellEntry *spell)
|
||||
@@ -188,7 +188,7 @@ struct TRINITY_DLL_DECL mob_wisp_invisAI : public ScriptedAI
|
||||
return;
|
||||
|
||||
if (m_creature->IsWithinDist(who, 0.1, false) && !who->HasAura(SPELL_SQUASH_SOUL))
|
||||
DoCast(who,SPELL_SQUASH_SOUL);
|
||||
DoCast(who, SPELL_SQUASH_SOUL);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -199,7 +199,7 @@ struct TRINITY_DLL_DECL mob_wisp_invisAI : public ScriptedAI
|
||||
{
|
||||
m_creature->RemoveAurasDueToSpell(SPELL_SMOKE);
|
||||
if (spell2)
|
||||
DoCast(m_creature,spell2);
|
||||
DoCast(m_creature, spell2);
|
||||
delay = 0;
|
||||
} else delay -= diff;
|
||||
}
|
||||
@@ -233,7 +233,7 @@ struct TRINITY_DLL_DECL mob_headAI : public ScriptedAI
|
||||
void SaySound(int32 textEntry, Unit *pTarget = 0)
|
||||
{
|
||||
DoScriptText(textEntry, m_creature, pTarget);
|
||||
//DoCast(m_creature,SPELL_HEAD_SPEAKS,true);
|
||||
//DoCast(m_creature, SPELL_HEAD_SPEAKS, true);
|
||||
Creature *speaker = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1000);
|
||||
if (speaker)
|
||||
speaker->CastSpell(speaker,SPELL_HEAD_SPEAKS,false);
|
||||
@@ -265,7 +265,7 @@ struct TRINITY_DLL_DECL mob_headAI : public ScriptedAI
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
m_creature->StopMoving();
|
||||
//m_creature->GetMotionMaster()->MoveIdle();
|
||||
DoCast(m_creature,SPELL_HEAD_IS_DEAD);
|
||||
DoCast(m_creature, SPELL_HEAD_IS_DEAD);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -285,8 +285,8 @@ struct TRINITY_DLL_DECL mob_headAI : public ScriptedAI
|
||||
bodyGUID = caster->GetGUID();
|
||||
m_creature->RemoveAllAuras();
|
||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
DoCast(m_creature,SPELL_HEAD_LANDS,true);
|
||||
DoCast(m_creature,SPELL_HEAD,false);
|
||||
DoCast(m_creature, SPELL_HEAD_LANDS, true);
|
||||
DoCast(m_creature, SPELL_HEAD, false);
|
||||
SaySound(SAY_LOST_HEAD);
|
||||
m_creature->GetMotionMaster()->Clear(false);
|
||||
m_creature->GetMotionMaster()->MoveFleeing(caster->getVictim());
|
||||
@@ -309,7 +309,7 @@ struct TRINITY_DLL_DECL mob_headAI : public ScriptedAI
|
||||
{
|
||||
laugh = urand(15000,30000);
|
||||
DoPlaySoundToSet(m_creature, RandomLaugh[urand(0,2)]);
|
||||
//DoCast(m_creature,SPELL_HEAD_SPEAKS,true); //this spell remove buff "head"
|
||||
//DoCast(m_creature, SPELL_HEAD_SPEAKS, true); //this spell remove buff "head"
|
||||
Creature *speaker = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1000);
|
||||
if (speaker)
|
||||
speaker->CastSpell(speaker,SPELL_HEAD_SPEAKS,false);
|
||||
@@ -397,7 +397,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
returned = true;
|
||||
burned = false;
|
||||
IsFlying = false;
|
||||
DoCast(m_creature,SPELL_HEAD);
|
||||
DoCast(m_creature, SPELL_HEAD);
|
||||
if (headGUID)
|
||||
{
|
||||
if (Creature* Head = Unit::GetCreature((*m_creature), headGUID))
|
||||
@@ -439,7 +439,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
{
|
||||
if (Creature *smoke = m_creature->SummonCreature(HELPER,Spawn[1].x,Spawn[1].y,Spawn[1].z,0,TEMPSUMMON_TIMED_DESPAWN,20000))
|
||||
CAST_AI(mob_wisp_invisAI, smoke->AI())->SetType(3);
|
||||
DoCast(m_creature,SPELL_RHYME_BIG);
|
||||
DoCast(m_creature, SPELL_RHYME_BIG);
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
@@ -555,7 +555,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
m_creature->SetName("Headless Horseman");
|
||||
m_creature->SetHealth(m_creature->GetMaxHealth());
|
||||
SaySound(SAY_REJOINED);
|
||||
DoCast(m_creature,SPELL_HEAD);
|
||||
DoCast(m_creature, SPELL_HEAD);
|
||||
caster->GetMotionMaster()->Clear(false);
|
||||
caster->GetMotionMaster()->MoveFollow(m_creature,6,urand(0,5));
|
||||
//DoResetThreat();//not sure if need
|
||||
@@ -587,10 +587,10 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
Head->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
//Head->CastSpell(Head,SPELL_HEAD_INVIS,false);
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
DoCast(m_creature,SPELL_IMMUNE,true);
|
||||
DoCast(m_creature,SPELL_BODY_REGEN,true);
|
||||
m_creature->CastSpell(Head, SPELL_FLYING_HEAD,true);
|
||||
DoCast(m_creature,SPELL_CONFUSE,false); //test
|
||||
DoCast(m_creature, SPELL_IMMUNE, true);
|
||||
DoCast(m_creature, SPELL_BODY_REGEN, true);
|
||||
DoCast(Head, SPELL_FLYING_HEAD, true);
|
||||
DoCast(m_creature, SPELL_CONFUSE, false); //test
|
||||
done_by->ProcDamageAndSpell(m_creature,PROC_FLAG_KILL,PROC_FLAG_KILLED,PROC_EX_NONE,0);
|
||||
whirlwind = urand(4000,8000);
|
||||
regen = 0;
|
||||
@@ -619,7 +619,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
}
|
||||
else
|
||||
{
|
||||
DoCast(m_creature,SPELL_RHYME_BIG);
|
||||
DoCast(m_creature, SPELL_RHYME_BIG);
|
||||
if (plr)
|
||||
{
|
||||
plr->Say(Text[count].text,0);
|
||||
@@ -658,7 +658,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
if (conflagrate <= diff)
|
||||
{
|
||||
if (Unit *plr = SelectRandomPlayer(30.0f))
|
||||
m_creature->CastSpell(plr,SPELL_CONFLAGRATION,false);
|
||||
DoCast(plr, SPELL_CONFLAGRATION, false);
|
||||
conflagrate = urand(10000,16000);
|
||||
} else conflagrate -= diff;
|
||||
break;
|
||||
@@ -666,7 +666,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
if (summonadds <= diff)
|
||||
{
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
DoCast(m_creature,SPELL_SUMMON_PUMPKIN);
|
||||
DoCast(m_creature, SPELL_SUMMON_PUMPKIN);
|
||||
SaySound(SAY_SPROUTING_PUMPKINS);
|
||||
summonadds = urand(25000,35000);
|
||||
} else summonadds -= diff;
|
||||
@@ -685,7 +685,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
DoMeleeAttackIfReady();
|
||||
if (cleave <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
cleave = urand(2000,6000); //1 cleave per 2.0-6.0sec
|
||||
} else cleave -= diff;
|
||||
}
|
||||
@@ -718,8 +718,8 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
|
||||
if (urand(0,1))
|
||||
{
|
||||
m_creature->RemoveAurasDueToSpell(SPELL_CONFUSE);
|
||||
DoCast(m_creature,SPELL_WHIRLWIND,true);
|
||||
DoCast(m_creature,SPELL_CONFUSE);
|
||||
DoCast(m_creature, SPELL_WHIRLWIND, true);
|
||||
DoCast(m_creature, SPELL_CONFUSE);
|
||||
} else
|
||||
m_creature->RemoveAurasDueToSpell(SPELL_WHIRLWIND);
|
||||
} else whirlwind -= diff;
|
||||
@@ -739,7 +739,7 @@ void mob_headAI::Disappear()
|
||||
withbody = true;
|
||||
m_creature->RemoveAllAuras();
|
||||
body->RemoveAurasDueToSpell(SPELL_IMMUNE);//hack, SpellHit doesn't calls if body has immune aura
|
||||
DoCast(body,SPELL_FLYING_HEAD);
|
||||
DoCast(body, SPELL_FLYING_HEAD);
|
||||
m_creature->SetHealth(m_creature->GetMaxHealth());
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
@@ -771,8 +771,8 @@ struct TRINITY_DLL_DECL mob_pulsing_pumpkinAI : public ScriptedAI
|
||||
debuffGUID = debuff->GetGUID();
|
||||
}
|
||||
sprouted = false;
|
||||
DoCast(m_creature,SPELL_PUMPKIN_AURA,true);
|
||||
DoCast(m_creature,SPELL_SPROUTING);
|
||||
DoCast(m_creature, SPELL_PUMPKIN_AURA, true);
|
||||
DoCast(m_creature, SPELL_SPROUTING);
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_STUNNED);
|
||||
}
|
||||
|
||||
@@ -785,7 +785,7 @@ struct TRINITY_DLL_DECL mob_pulsing_pumpkinAI : public ScriptedAI
|
||||
sprouted = true;
|
||||
m_creature->RemoveAllAuras();
|
||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_STUNNED);
|
||||
DoCast(m_creature,SPELL_SPROUT_BODY,true);
|
||||
DoCast(m_creature, SPELL_SPROUT_BODY, true);
|
||||
m_creature->UpdateEntry(PUMPKIN_FIEND);
|
||||
DoStartMovement(m_creature->getVictim());
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ struct TRINITY_DLL_DECL boss_herodAI : public ScriptedAI
|
||||
void EnterCombat(Unit *who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
DoCast(m_creature,SPELL_RUSHINGCHARGE);
|
||||
DoCast(m_creature, SPELL_RUSHINGCHARGE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit *victim)
|
||||
@@ -81,14 +81,14 @@ struct TRINITY_DLL_DECL boss_herodAI : public ScriptedAI
|
||||
{
|
||||
DoScriptText(EMOTE_ENRAGE, m_creature);
|
||||
DoScriptText(SAY_ENRAGE, m_creature);
|
||||
DoCast(m_creature,SPELL_FRENZY);
|
||||
DoCast(m_creature, SPELL_FRENZY);
|
||||
Enrage = true;
|
||||
}
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 12000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
@@ -96,7 +96,7 @@ struct TRINITY_DLL_DECL boss_herodAI : public ScriptedAI
|
||||
if (Whirlwind_Timer <= diff)
|
||||
{
|
||||
DoScriptText(SAY_WHIRLWIND, m_creature);
|
||||
DoCast(m_creature->getVictim(),SPELL_WHIRLWIND);
|
||||
DoCast(m_creature->getVictim(), SPELL_WHIRLWIND);
|
||||
Whirlwind_Timer = 30000;
|
||||
} else Whirlwind_Timer -= diff;
|
||||
|
||||
|
||||
+5
-5
@@ -68,7 +68,7 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
|
||||
//If we are <25% hp cast Heal
|
||||
if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25 && !m_creature->IsNonMeleeSpellCasted(false) && Heal_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_HEAL);
|
||||
DoCast(m_creature, SPELL_HEAL);
|
||||
Heal_Timer = 30000;
|
||||
} else Heal_Timer -= diff;
|
||||
|
||||
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
|
||||
if (Fear_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,1))
|
||||
DoCast(pTarget,SPELL_FEAR);
|
||||
DoCast(pTarget, SPELL_FEAR);
|
||||
|
||||
Fear_Timer = 40000;
|
||||
} else Fear_Timer -= diff;
|
||||
@@ -85,7 +85,7 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
|
||||
if (Sleep_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO,0))
|
||||
DoCast(pTarget,SPELL_SLEEP);
|
||||
DoCast(pTarget, SPELL_SLEEP);
|
||||
|
||||
Sleep_Timer = 30000;
|
||||
} else Sleep_Timer -= diff;
|
||||
@@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
|
||||
//PowerWordShield_Timer
|
||||
if (!PowerWordShield && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25)
|
||||
{
|
||||
DoCast(m_creature,SPELL_POWERWORDSHIELD);
|
||||
DoCast(m_creature, SPELL_POWERWORDSHIELD);
|
||||
PowerWordShield = true;
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
|
||||
//CurseOfBlood_Timer
|
||||
if (CurseOfBlood_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFBLOOD);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFBLOOD);
|
||||
CurseOfBlood_Timer = 25000;
|
||||
} else CurseOfBlood_Timer -= diff;
|
||||
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI
|
||||
|
||||
if (BloodLust_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_BLOODLUST);
|
||||
DoCast(m_creature, SPELL_BLOODLUST);
|
||||
BloodLust_Timer = 20000;
|
||||
} else BloodLust_Timer -= diff;
|
||||
|
||||
|
||||
+2
-2
@@ -94,8 +94,8 @@ struct TRINITY_DLL_DECL boss_interrogator_vishasAI : public ScriptedAI
|
||||
//ShadowWordPain_Timer
|
||||
if (ShadowWordPain_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWWORDPAIN);
|
||||
ShadowWordPain_Timer = 5000 + rand()%10000;;
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWWORDPAIN);
|
||||
ShadowWordPain_Timer = 5000 + rand()%10000;
|
||||
} else ShadowWordPain_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
+5
-5
@@ -98,7 +98,7 @@ struct TRINITY_DLL_DECL boss_scarlet_commander_mograineAI : public ScriptedAI
|
||||
void EnterCombat(Unit* pWho)
|
||||
{
|
||||
DoScriptText(SAY_MO_AGGRO, m_creature);
|
||||
DoCast(m_creature,SPELL_RETRIBUTIONAURA);
|
||||
DoCast(m_creature, SPELL_RETRIBUTIONAURA);
|
||||
|
||||
m_creature->CallForHelp(VISIBLE_RANGE);
|
||||
}
|
||||
@@ -189,14 +189,14 @@ struct TRINITY_DLL_DECL boss_scarlet_commander_mograineAI : public ScriptedAI
|
||||
//m_uiCrusaderStrike_Timer
|
||||
if (m_uiCrusaderStrike_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CRUSADERSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CRUSADERSTRIKE);
|
||||
m_uiCrusaderStrike_Timer = 10000;
|
||||
} else m_uiCrusaderStrike_Timer -= uiDiff;
|
||||
|
||||
//m_uiHammerOfJustice_Timer
|
||||
if (m_uiHammerOfJustice_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HAMMEROFJUSTICE);
|
||||
DoCast(m_creature->getVictim(), SPELL_HAMMEROFJUSTICE);
|
||||
m_uiHammerOfJustice_Timer = 60000;
|
||||
} else m_uiHammerOfJustice_Timer -= uiDiff;
|
||||
|
||||
@@ -317,14 +317,14 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_whitemaneAI : public ScriptedAI
|
||||
//m_uiPowerWordShield_Timer
|
||||
if (m_uiPowerWordShield_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_POWERWORDSHIELD);
|
||||
DoCast(m_creature, SPELL_POWERWORDSHIELD);
|
||||
m_uiPowerWordShield_Timer = 15000;
|
||||
} else m_uiPowerWordShield_Timer -= uiDiff;
|
||||
|
||||
//m_uiHolySmite_Timer
|
||||
if (m_uiHolySmite_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HOLYSMITE);
|
||||
DoCast(m_creature->getVictim(), SPELL_HOLYSMITE);
|
||||
m_uiHolySmite_Timer = 6000;
|
||||
} else m_uiHolySmite_Timer -= uiDiff;
|
||||
|
||||
|
||||
@@ -57,28 +57,28 @@ struct TRINITY_DLL_DECL boss_scornAI : public ScriptedAI
|
||||
//LichSlap_Timer
|
||||
if (LichSlap_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_LICHSLAP);
|
||||
DoCast(m_creature->getVictim(), SPELL_LICHSLAP);
|
||||
LichSlap_Timer = 45000;
|
||||
} else LichSlap_Timer -= diff;
|
||||
|
||||
//FrostboltVolley_Timer
|
||||
if (FrostboltVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FROSTBOLTVOLLEY);
|
||||
DoCast(m_creature->getVictim(), SPELL_FROSTBOLTVOLLEY);
|
||||
FrostboltVolley_Timer = 20000;
|
||||
} else FrostboltVolley_Timer -= diff;
|
||||
|
||||
//MindFlay_Timer
|
||||
if (MindFlay_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MINDFLAY);
|
||||
DoCast(m_creature->getVictim(), SPELL_MINDFLAY);
|
||||
MindFlay_Timer = 20000;
|
||||
} else MindFlay_Timer -= diff;
|
||||
|
||||
//FrostNova_Timer
|
||||
if (FrostNova_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FROSTNOVA);
|
||||
DoCast(m_creature->getVictim(), SPELL_FROSTNOVA);
|
||||
FrostNova_Timer = 15000;
|
||||
} else FrostNova_Timer -= diff;
|
||||
|
||||
|
||||
+3
-3
@@ -90,21 +90,21 @@ struct TRINITY_DLL_DECL boss_darkmaster_gandlingAI : public ScriptedAI
|
||||
//ArcaneMissiles_Timer
|
||||
if (ArcaneMissiles_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_ARCANEMISSILES);
|
||||
DoCast(m_creature->getVictim(), SPELL_ARCANEMISSILES);
|
||||
ArcaneMissiles_Timer = 8000;
|
||||
} else ArcaneMissiles_Timer -= diff;
|
||||
|
||||
//ShadowShield_Timer
|
||||
if (ShadowShield_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_SHADOWSHIELD);
|
||||
DoCast(m_creature, SPELL_SHADOWSHIELD);
|
||||
ShadowShield_Timer = 14000 + rand()%14000;
|
||||
} else ShadowShield_Timer -= diff;
|
||||
|
||||
//Curse_Timer
|
||||
if (Curse_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSE);
|
||||
Curse_Timer = 15000 + rand()%12000;
|
||||
} else Curse_Timer -= diff;
|
||||
|
||||
|
||||
+1
-3
@@ -34,9 +34,7 @@ struct TRINITY_DLL_DECL boss_death_knight_darkreaverAI : public ScriptedAI
|
||||
void DamageTaken(Unit *done_by, uint32 &damage)
|
||||
{
|
||||
if (m_creature->GetHealth() <= damage)
|
||||
{
|
||||
m_creature->CastSpell(m_creature,23261,true); //Summon Darkreaver's Fallen Charger
|
||||
}
|
||||
DoCast(m_creature, 23261, true); //Summon Darkreaver's Fallen Charger
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ struct TRINITY_DLL_DECL boss_theolenkrastinovAI : public ScriptedAI
|
||||
{
|
||||
if (m_uiFrenzy_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_FRENZY);
|
||||
DoCast(m_creature, SPELL_FRENZY);
|
||||
DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature);
|
||||
|
||||
m_uiFrenzy_Timer = 120000;
|
||||
|
||||
@@ -70,7 +70,7 @@ struct TRINITY_DLL_DECL boss_illuciabarovAI : public ScriptedAI
|
||||
//CurseOfAgony_Timer
|
||||
if (CurseOfAgony_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFAGONY);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFAGONY);
|
||||
CurseOfAgony_Timer = 30000;
|
||||
} else CurseOfAgony_Timer -= diff;
|
||||
|
||||
@@ -79,7 +79,7 @@ struct TRINITY_DLL_DECL boss_illuciabarovAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_SHADOWSHOCK);
|
||||
if (pTarget) DoCast(pTarget, SPELL_SHADOWSHOCK);
|
||||
|
||||
ShadowShock_Timer = 12000;
|
||||
} else ShadowShock_Timer -= diff;
|
||||
@@ -87,14 +87,14 @@ struct TRINITY_DLL_DECL boss_illuciabarovAI : public ScriptedAI
|
||||
//Silence_Timer
|
||||
if (Silence_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SILENCE);
|
||||
DoCast(m_creature->getVictim(), SPELL_SILENCE);
|
||||
Silence_Timer = 14000;
|
||||
} else Silence_Timer -= diff;
|
||||
|
||||
//Fear_Timer
|
||||
if (Fear_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FEAR);
|
||||
DoCast(m_creature->getVictim(), SPELL_FEAR);
|
||||
Fear_Timer = 30000;
|
||||
} else Fear_Timer -= diff;
|
||||
|
||||
|
||||
+4
-4
@@ -77,7 +77,7 @@ struct TRINITY_DLL_DECL boss_instructormaliciaAI : public ScriptedAI
|
||||
//CallOfGraves_Timer
|
||||
if (CallOfGraves_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CALLOFGRAVES);
|
||||
DoCast(m_creature->getVictim(), SPELL_CALLOFGRAVES);
|
||||
CallOfGraves_Timer = 65000;
|
||||
} else CallOfGraves_Timer -= diff;
|
||||
|
||||
@@ -86,7 +86,7 @@ struct TRINITY_DLL_DECL boss_instructormaliciaAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_CORRUPTION);
|
||||
if (pTarget) DoCast(pTarget, SPELL_CORRUPTION);
|
||||
|
||||
Corruption_Timer = 24000;
|
||||
} else Corruption_Timer -= diff;
|
||||
@@ -101,7 +101,7 @@ struct TRINITY_DLL_DECL boss_instructormaliciaAI : public ScriptedAI
|
||||
//FlashHeal_Timer
|
||||
if (FlashHeal_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_FLASHHEAL);
|
||||
DoCast(m_creature, SPELL_FLASHHEAL);
|
||||
|
||||
//5 Flashheals will be casted
|
||||
if (FlashCounter < 2)
|
||||
@@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_instructormaliciaAI : public ScriptedAI
|
||||
//HealingTouch_Timer
|
||||
if (HealingTouch_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_HEALINGTOUCH);
|
||||
DoCast(m_creature, SPELL_HEALINGTOUCH);
|
||||
|
||||
//3 Healingtouchs will be casted
|
||||
if (HealingTouch_Timer < 2)
|
||||
|
||||
@@ -81,7 +81,7 @@ struct TRINITY_DLL_DECL boss_jandicebarovAI : public ScriptedAI
|
||||
if (CurseOfBlood_Timer <= diff)
|
||||
{
|
||||
//Cast
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFBLOOD);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFBLOOD);
|
||||
|
||||
//45 seconds
|
||||
CurseOfBlood_Timer = 30000;
|
||||
@@ -117,7 +117,7 @@ struct TRINITY_DLL_DECL boss_jandicebarovAI : public ScriptedAI
|
||||
// if (Illusion_Timer <= diff)
|
||||
// {
|
||||
// //Cast
|
||||
// DoCast(m_creature->getVictim(),SPELL_ILLUSION);
|
||||
// DoCast(m_creature->getVictim(), SPELL_ILLUSION);
|
||||
//
|
||||
// //3 Illusion will be summoned
|
||||
// if (Illusioncounter < 3)
|
||||
@@ -165,7 +165,7 @@ struct TRINITY_DLL_DECL mob_illusionofjandicebarovAI : public ScriptedAI
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
//Cast
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
|
||||
//5-8 seconds
|
||||
Cleave_Timer = 5000 + rand()%3000;
|
||||
|
||||
@@ -69,14 +69,14 @@ struct TRINITY_DLL_DECL boss_kormokAI : public ScriptedAI
|
||||
//ShadowVolley_Timer
|
||||
if (ShadowVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWBOLTVOLLEY);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWBOLTVOLLEY);
|
||||
ShadowVolley_Timer = 15000;
|
||||
} else ShadowVolley_Timer -= diff;
|
||||
|
||||
//BoneShield_Timer
|
||||
if (BoneShield_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_BONESHIELD);
|
||||
DoCast(m_creature->getVictim(), SPELL_BONESHIELD);
|
||||
BoneShield_Timer = 45000;
|
||||
} else BoneShield_Timer -= diff;
|
||||
|
||||
|
||||
+2
-2
@@ -68,7 +68,7 @@ struct TRINITY_DLL_DECL boss_lordalexeibarovAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_IMMOLATE);
|
||||
if (pTarget) DoCast(pTarget, SPELL_IMMOLATE);
|
||||
|
||||
Immolate_Timer = 12000;
|
||||
} else Immolate_Timer -= diff;
|
||||
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL boss_lordalexeibarovAI : public ScriptedAI
|
||||
//VeilofShadow_Timer
|
||||
if (VeilofShadow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_VEILOFSHADOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_VEILOFSHADOW);
|
||||
VeilofShadow_Timer = 20000;
|
||||
} else VeilofShadow_Timer -= diff;
|
||||
|
||||
|
||||
+4
-4
@@ -70,28 +70,28 @@ struct TRINITY_DLL_DECL boss_lorekeeperpolkeltAI : public ScriptedAI
|
||||
//VolatileInfection_Timer
|
||||
if (VolatileInfection_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_VOLATILEINFECTION);
|
||||
DoCast(m_creature->getVictim(), SPELL_VOLATILEINFECTION);
|
||||
VolatileInfection_Timer = 32000;
|
||||
} else VolatileInfection_Timer -= diff;
|
||||
|
||||
//Darkplague_Timer
|
||||
if (Darkplague_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_DARKPLAGUE);
|
||||
DoCast(m_creature->getVictim(), SPELL_DARKPLAGUE);
|
||||
Darkplague_Timer = 8000;
|
||||
} else Darkplague_Timer -= diff;
|
||||
|
||||
//CorrosiveAcid_Timer
|
||||
if (CorrosiveAcid_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CORROSIVEACID);
|
||||
DoCast(m_creature->getVictim(), SPELL_CORROSIVEACID);
|
||||
CorrosiveAcid_Timer = 25000;
|
||||
} else CorrosiveAcid_Timer -= diff;
|
||||
|
||||
//NoxiousCatalyst_Timer
|
||||
if (NoxiousCatalyst_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_NOXIOUSCATALYST);
|
||||
DoCast(m_creature->getVictim(), SPELL_NOXIOUSCATALYST);
|
||||
NoxiousCatalyst_Timer = 38000;
|
||||
} else NoxiousCatalyst_Timer -= diff;
|
||||
|
||||
|
||||
+8
-11
@@ -50,12 +50,10 @@ struct TRINITY_DLL_DECL boss_rasfrostAI : public ScriptedAI
|
||||
FrostVolley_Timer = 24000;
|
||||
Fear_Timer = 45000;
|
||||
|
||||
m_creature->CastSpell(m_creature,SPELL_ICEARMOR,true);
|
||||
DoCast(m_creature, SPELL_ICEARMOR, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
{
|
||||
}
|
||||
void EnterCombat(Unit *who){}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
@@ -72,9 +70,8 @@ struct TRINITY_DLL_DECL boss_rasfrostAI : public ScriptedAI
|
||||
//Frostbolt_Timer
|
||||
if (Frostbolt_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget,SPELL_FROSTBOLT);
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget, SPELL_FROSTBOLT);
|
||||
|
||||
Frostbolt_Timer = 8000;
|
||||
} else Frostbolt_Timer -= diff;
|
||||
@@ -82,28 +79,28 @@ struct TRINITY_DLL_DECL boss_rasfrostAI : public ScriptedAI
|
||||
//Freeze_Timer
|
||||
if (Freeze_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FREEZE);
|
||||
DoCast(m_creature->getVictim(), SPELL_FREEZE);
|
||||
Freeze_Timer = 24000;
|
||||
} else Freeze_Timer -= diff;
|
||||
|
||||
//Fear_Timer
|
||||
if (Fear_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FEAR);
|
||||
DoCast(m_creature->getVictim(), SPELL_FEAR);
|
||||
Fear_Timer = 30000;
|
||||
} else Fear_Timer -= diff;
|
||||
|
||||
//ChillNova_Timer
|
||||
if (ChillNova_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CHILLNOVA);
|
||||
DoCast(m_creature->getVictim(), SPELL_CHILLNOVA);
|
||||
ChillNova_Timer = 14000;
|
||||
} else ChillNova_Timer -= diff;
|
||||
|
||||
//FrostVolley_Timer
|
||||
if (FrostVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_FROSTVOLLEY);
|
||||
DoCast(m_creature->getVictim(), SPELL_FROSTVOLLEY);
|
||||
FrostVolley_Timer = 15000;
|
||||
} else FrostVolley_Timer -= diff;
|
||||
|
||||
|
||||
@@ -72,28 +72,28 @@ struct TRINITY_DLL_DECL boss_theravenianAI : public ScriptedAI
|
||||
//Trample_Timer
|
||||
if (Trample_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_TRAMPLE);
|
||||
DoCast(m_creature->getVictim(), SPELL_TRAMPLE);
|
||||
Trample_Timer = 10000;
|
||||
} else Trample_Timer -= diff;
|
||||
|
||||
//Cleave_Timer
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 7000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//SunderingCleave_Timer
|
||||
if (SunderingCleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SUNDERINCLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_SUNDERINCLEAVE);
|
||||
SunderingCleave_Timer = 20000;
|
||||
} else SunderingCleave_Timer -= diff;
|
||||
|
||||
//KnockAway_Timer
|
||||
if (KnockAway_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKAWAY);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKAWAY);
|
||||
KnockAway_Timer = 12000;
|
||||
} else KnockAway_Timer -= diff;
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ struct TRINITY_DLL_DECL npc_blood_knight_stillbladeAI : public ScriptedAI
|
||||
(Hitter->GetTypeId() == TYPEID_PLAYER) && (CAST_PLR(Hitter)->IsActiveQuest(QUEST_REDEEMING_THE_DEAD)))
|
||||
{
|
||||
CAST_PLR(Hitter)->AreaExploredOrEventHappens(QUEST_REDEEMING_THE_DEAD);
|
||||
DoCast(m_creature,SPELL_REVIVE_SELF);
|
||||
DoCast(m_creature, SPELL_REVIVE_SELF);
|
||||
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
|
||||
//m_creature->RemoveAllAuras();
|
||||
|
||||
@@ -130,7 +130,7 @@ struct TRINITY_DLL_DECL boss_baron_rivendareAI : public ScriptedAI
|
||||
if (ShadowBolt_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWBOLT);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWBOLT);
|
||||
|
||||
ShadowBolt_Timer = 10000;
|
||||
} else ShadowBolt_Timer -= diff;
|
||||
@@ -138,7 +138,7 @@ struct TRINITY_DLL_DECL boss_baron_rivendareAI : public ScriptedAI
|
||||
//Cleave
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CLEAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
|
||||
//13 seconds until we should cast this again
|
||||
Cleave_Timer = 7000 + (rand()%10000);
|
||||
} else Cleave_Timer -= diff;
|
||||
@@ -146,14 +146,14 @@ struct TRINITY_DLL_DECL boss_baron_rivendareAI : public ScriptedAI
|
||||
//MortalStrike
|
||||
if (MortalStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MORTALSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_MORTALSTRIKE);
|
||||
MortalStrike_Timer = 10000 + (rand()%15000);
|
||||
} else MortalStrike_Timer -= diff;
|
||||
|
||||
//RaiseDead
|
||||
// if (RaiseDead_Timer <= diff)
|
||||
// {
|
||||
// DoCast(m_creature,SPELL_RAISEDEAD);
|
||||
// DoCast(m_creature, SPELL_RAISEDEAD);
|
||||
// RaiseDead_Timer = 45000;
|
||||
// } else RaiseDead_Timer -= diff;
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ struct TRINITY_DLL_DECL boss_baroness_anastariAI : public ScriptedAI
|
||||
if (BansheeWail_Timer <= diff)
|
||||
{
|
||||
if (rand()%100 < 95)
|
||||
DoCast(m_creature->getVictim(),SPELL_BANSHEEWAIL);
|
||||
DoCast(m_creature->getVictim(), SPELL_BANSHEEWAIL);
|
||||
//4 seconds until we should cast this again
|
||||
BansheeWail_Timer = 4000;
|
||||
} else BansheeWail_Timer -= diff;
|
||||
@@ -79,7 +79,7 @@ struct TRINITY_DLL_DECL boss_baroness_anastariAI : public ScriptedAI
|
||||
if (BansheeCurse_Timer <= diff)
|
||||
{
|
||||
if (rand()%100 < 75)
|
||||
DoCast(m_creature->getVictim(),SPELL_BANSHEECURSE);
|
||||
DoCast(m_creature->getVictim(), SPELL_BANSHEECURSE);
|
||||
//18 seconds until we should cast this again
|
||||
BansheeCurse_Timer = 18000;
|
||||
} else BansheeCurse_Timer -= diff;
|
||||
@@ -88,7 +88,7 @@ struct TRINITY_DLL_DECL boss_baroness_anastariAI : public ScriptedAI
|
||||
if (Silence_Timer <= diff)
|
||||
{
|
||||
if (rand()%100 < 80)
|
||||
DoCast(m_creature->getVictim(),SPELL_SILENCE);
|
||||
DoCast(m_creature->getVictim(), SPELL_SILENCE);
|
||||
//13 seconds until we should cast this again
|
||||
Silence_Timer = 13000;
|
||||
} else Silence_Timer -= diff;
|
||||
@@ -101,7 +101,7 @@ struct TRINITY_DLL_DECL boss_baroness_anastariAI : public ScriptedAI
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget)DoCast(pTarget,SPELL_POSSESS);
|
||||
if (pTarget)DoCast(pTarget, SPELL_POSSESS);
|
||||
}
|
||||
//50 seconds until we should cast this again
|
||||
Possess_Timer = 50000;
|
||||
|
||||
+3
-3
@@ -118,7 +118,7 @@ struct TRINITY_DLL_DECL boss_cannon_master_willeyAI : public ScriptedAI
|
||||
//Cast
|
||||
if (rand()%100 < 90) //90% chance to cast
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_PUMMEL);
|
||||
DoCast(m_creature->getVictim(), SPELL_PUMMEL);
|
||||
}
|
||||
//12 seconds until we should cast this again
|
||||
Pummel_Timer = 12000;
|
||||
@@ -130,7 +130,7 @@ struct TRINITY_DLL_DECL boss_cannon_master_willeyAI : public ScriptedAI
|
||||
//Cast
|
||||
if (rand()%100 < 80) //80% chance to cast
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKAWAY);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKAWAY);
|
||||
}
|
||||
//14 seconds until we should cast this again
|
||||
KnockAway_Timer = 14000;
|
||||
@@ -140,7 +140,7 @@ struct TRINITY_DLL_DECL boss_cannon_master_willeyAI : public ScriptedAI
|
||||
if (Shoot_Timer <= diff)
|
||||
{
|
||||
//Cast
|
||||
DoCast(m_creature->getVictim(),SPELL_SHOOT);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHOOT);
|
||||
//1 seconds until we should cast this again
|
||||
Shoot_Timer = 1000;
|
||||
} else Shoot_Timer -= diff;
|
||||
|
||||
+10
-10
@@ -118,28 +118,28 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
|
||||
//MindBlast
|
||||
if (m_uiMindBlast_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MINDBLAST);
|
||||
DoCast(m_creature->getVictim(), SPELL_MINDBLAST);
|
||||
m_uiMindBlast_Timer = 15000 + rand()%5000;
|
||||
} else m_uiMindBlast_Timer -= uiDiff;
|
||||
|
||||
//CrusadersHammer
|
||||
if (m_uiCrusadersHammer_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CRUSADERSHAMMER);
|
||||
DoCast(m_creature->getVictim(), SPELL_CRUSADERSHAMMER);
|
||||
m_uiCrusadersHammer_Timer = 12000;
|
||||
} else m_uiCrusadersHammer_Timer -= uiDiff;
|
||||
|
||||
//CrusaderStrike
|
||||
if (m_uiCrusaderStrike_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CRUSADERSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CRUSADERSTRIKE);
|
||||
m_uiCrusaderStrike_Timer = 15000;
|
||||
} else m_uiCrusaderStrike_Timer -= uiDiff;
|
||||
|
||||
//HolyStrike
|
||||
if (m_uiHolyStrike_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_HOLYSTRIKE);
|
||||
DoCast(m_creature->getVictim(), SPELL_HOLYSTRIKE);
|
||||
m_uiHolyStrike_Timer = 15000;
|
||||
} else m_uiHolyStrike_Timer -= uiDiff;
|
||||
|
||||
@@ -150,7 +150,7 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
|
||||
//restore hp, mana and stun
|
||||
DoCast(m_creature,SPELL_BALNAZZARTRANSFORM);
|
||||
DoCast(m_creature, SPELL_BALNAZZARTRANSFORM);
|
||||
m_creature->UpdateEntry(NPC_BALNAZZAR);
|
||||
m_bTransformed = true;
|
||||
}
|
||||
@@ -160,14 +160,14 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
|
||||
//MindBlast
|
||||
if (m_uiMindBlast_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MINDBLAST);
|
||||
DoCast(m_creature->getVictim(), SPELL_MINDBLAST);
|
||||
m_uiMindBlast_Timer = 15000 + rand()%5000;
|
||||
} else m_uiMindBlast_Timer -= uiDiff;
|
||||
|
||||
//ShadowShock
|
||||
if (m_uiShadowShock_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_SHADOWSHOCK);
|
||||
DoCast(m_creature->getVictim(), SPELL_SHADOWSHOCK);
|
||||
m_uiShadowShock_Timer = 11000;
|
||||
} else m_uiShadowShock_Timer -= uiDiff;
|
||||
|
||||
@@ -175,7 +175,7 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
|
||||
if (m_uiPsychicScream_Timer <= uiDiff)
|
||||
{
|
||||
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget,SPELL_PSYCHICSCREAM);
|
||||
DoCast(pTarget, SPELL_PSYCHICSCREAM);
|
||||
|
||||
m_uiPsychicScream_Timer = 20000;
|
||||
} else m_uiPsychicScream_Timer -= uiDiff;
|
||||
@@ -184,7 +184,7 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
|
||||
if (m_uiDeepSleep_Timer <= uiDiff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget,SPELL_SLEEP);
|
||||
DoCast(pTarget, SPELL_SLEEP);
|
||||
|
||||
m_uiDeepSleep_Timer = 15000;
|
||||
} else m_uiDeepSleep_Timer -= uiDiff;
|
||||
@@ -192,7 +192,7 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
|
||||
//MindControl
|
||||
if (m_uiMindControl_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MINDCONTROL);
|
||||
DoCast(m_creature->getVictim(), SPELL_MINDCONTROL);
|
||||
m_uiMindControl_Timer = 15000;
|
||||
} else m_uiMindControl_Timer -= uiDiff;
|
||||
}
|
||||
|
||||
+4
-4
@@ -85,27 +85,27 @@ struct TRINITY_DLL_DECL boss_magistrate_barthilasAI : public ScriptedAI
|
||||
return;
|
||||
|
||||
++AngerCount;
|
||||
m_creature->CastSpell(m_creature,SPELL_FURIOUS_ANGER,false);
|
||||
DoCast(m_creature, SPELL_FURIOUS_ANGER, false);
|
||||
} else FuriousAnger_Timer -= diff;
|
||||
|
||||
//DrainingBlow
|
||||
if (DrainingBlow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_DRAININGBLOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_DRAININGBLOW);
|
||||
DrainingBlow_Timer = 15000;
|
||||
} else DrainingBlow_Timer -= diff;
|
||||
|
||||
//CrowdPummel
|
||||
if (CrowdPummel_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CROWDPUMMEL);
|
||||
DoCast(m_creature->getVictim(), SPELL_CROWDPUMMEL);
|
||||
CrowdPummel_Timer = 15000;
|
||||
} else CrowdPummel_Timer -= diff;
|
||||
|
||||
//MightyBlow
|
||||
if (MightyBlow_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_MIGHTYBLOW);
|
||||
DoCast(m_creature->getVictim(), SPELL_MIGHTYBLOW);
|
||||
MightyBlow_Timer = 20000;
|
||||
} else MightyBlow_Timer -= diff;
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ struct TRINITY_DLL_DECL boss_maleki_the_pallidAI : public ScriptedAI
|
||||
if (Frostbolt_Timer <= diff)
|
||||
{
|
||||
if (rand()%100 < 90)
|
||||
DoCast(m_creature->getVictim(),SPELL_FROSTBOLT);
|
||||
DoCast(m_creature->getVictim(), SPELL_FROSTBOLT);
|
||||
Frostbolt_Timer = 3500;
|
||||
} else Frostbolt_Timer -= diff;
|
||||
|
||||
@@ -77,7 +77,7 @@ struct TRINITY_DLL_DECL boss_maleki_the_pallidAI : public ScriptedAI
|
||||
if (IceTomb_Timer <= diff)
|
||||
{
|
||||
if (rand()%100 < 65)
|
||||
DoCast(m_creature->getVictim(),SPELL_ICETOMB);
|
||||
DoCast(m_creature->getVictim(), SPELL_ICETOMB);
|
||||
IceTomb_Timer = 28000;
|
||||
} else IceTomb_Timer -= diff;
|
||||
|
||||
@@ -85,7 +85,7 @@ struct TRINITY_DLL_DECL boss_maleki_the_pallidAI : public ScriptedAI
|
||||
if (DrainLife_Timer <= diff)
|
||||
{
|
||||
if (rand()%100 < 55)
|
||||
DoCast(m_creature->getVictim(),SPELL_DRAINLIFE);
|
||||
DoCast(m_creature->getVictim(), SPELL_DRAINLIFE);
|
||||
DrainLife_Timer = 31000;
|
||||
} else DrainLife_Timer -= diff;
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL boss_nerubenkanAI : public ScriptedAI
|
||||
//EncasingWebs
|
||||
if (EncasingWebs_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_ENCASINGWEBS);
|
||||
DoCast(m_creature->getVictim(), SPELL_ENCASINGWEBS);
|
||||
EncasingWebs_Timer = 30000;
|
||||
} else EncasingWebs_Timer -= diff;
|
||||
|
||||
@@ -83,14 +83,14 @@ struct TRINITY_DLL_DECL boss_nerubenkanAI : public ScriptedAI
|
||||
if (PierceArmor_Timer <= diff)
|
||||
{
|
||||
if (urand(0,3) < 2)
|
||||
DoCast(m_creature->getVictim(),SPELL_PIERCEARMOR);
|
||||
DoCast(m_creature->getVictim(), SPELL_PIERCEARMOR);
|
||||
PierceArmor_Timer = 35000;
|
||||
} else PierceArmor_Timer -= diff;
|
||||
|
||||
//CryptScarabs_Timer
|
||||
if (CryptScarabs_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CRYPT_SCARABS);
|
||||
DoCast(m_creature->getVictim(), SPELL_CRYPT_SCARABS);
|
||||
CryptScarabs_Timer = 20000;
|
||||
} else CryptScarabs_Timer -= diff;
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ struct TRINITY_DLL_DECL boss_postmaster_malownAI : public ScriptedAI
|
||||
//Cast
|
||||
if (rand()%100 < 65) //65% chance to cast
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_WAILINGDEAD);
|
||||
DoCast(m_creature->getVictim(), SPELL_WAILINGDEAD);
|
||||
}
|
||||
//19 seconds until we should cast this again
|
||||
WailingDead_Timer = 19000;
|
||||
@@ -83,7 +83,7 @@ struct TRINITY_DLL_DECL boss_postmaster_malownAI : public ScriptedAI
|
||||
//Cast
|
||||
if (rand()%100 < 45) //45% chance to cast
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_BACKHAND);
|
||||
DoCast(m_creature->getVictim(), SPELL_BACKHAND);
|
||||
}
|
||||
//8 seconds until we should cast this again
|
||||
Backhand_Timer = 8000;
|
||||
@@ -95,7 +95,7 @@ struct TRINITY_DLL_DECL boss_postmaster_malownAI : public ScriptedAI
|
||||
//Cast
|
||||
if (rand()%100 < 3) //3% chance to cast
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFWEAKNESS);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFWEAKNESS);
|
||||
}
|
||||
//20 seconds until we should cast this again
|
||||
CurseOfWeakness_Timer = 20000;
|
||||
@@ -107,7 +107,7 @@ struct TRINITY_DLL_DECL boss_postmaster_malownAI : public ScriptedAI
|
||||
//Cast
|
||||
if (rand()%100 < 3) //3% chance to cast
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CURSEOFTONGUES);
|
||||
DoCast(m_creature->getVictim(), SPELL_CURSEOFTONGUES);
|
||||
}
|
||||
//22 seconds until we should cast this again
|
||||
CurseOfTongues_Timer = 22000;
|
||||
@@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_postmaster_malownAI : public ScriptedAI
|
||||
//Cast
|
||||
if (rand()%100 < 5) //5% chance to cast
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_CALLOFTHEGRAVE);
|
||||
DoCast(m_creature->getVictim(), SPELL_CALLOFTHEGRAVE);
|
||||
}
|
||||
//25 seconds until we should cast this again
|
||||
CallOfTheGrave_Timer = 25000;
|
||||
|
||||
+2
-2
@@ -72,14 +72,14 @@ struct TRINITY_DLL_DECL boss_ramstein_the_gorgerAI : public ScriptedAI
|
||||
//Trample
|
||||
if (Trample_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature,SPELL_TRAMPLE);
|
||||
DoCast(m_creature, SPELL_TRAMPLE);
|
||||
Trample_Timer = 7000;
|
||||
} else Trample_Timer -= diff;
|
||||
|
||||
//Knockout
|
||||
if (Knockout_Timer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(),SPELL_KNOCKOUT);
|
||||
DoCast(m_creature->getVictim(), SPELL_KNOCKOUT);
|
||||
Knockout_Timer = 10000;
|
||||
} else Knockout_Timer -= diff;
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL boss_timmy_the_cruelAI : public ScriptedAI
|
||||
if (RavenousClaw_Timer <= diff)
|
||||
{
|
||||
//Cast
|
||||
DoCast(m_creature->getVictim(),SPELL_RAVENOUSCLAW);
|
||||
DoCast(m_creature->getVictim(), SPELL_RAVENOUSCLAW);
|
||||
//15 seconds until we should cast this again
|
||||
RavenousClaw_Timer = 15000;
|
||||
} else RavenousClaw_Timer -= diff;
|
||||
|
||||
@@ -230,7 +230,7 @@ struct TRINITY_DLL_DECL mobs_spectral_ghostly_citizenAI : public ScriptedAI
|
||||
break;
|
||||
case TEXTEMOTE_RUDE:
|
||||
if (m_creature->IsWithinDistInMap(pPlayer, 5))
|
||||
m_creature->CastSpell(pPlayer,SPELL_SLAP,false);
|
||||
DoCast(pPlayer, SPELL_SLAP, false);
|
||||
else
|
||||
m_creature->HandleEmoteCommand(EMOTE_ONESHOT_RUDE);
|
||||
break;
|
||||
|
||||
@@ -104,7 +104,7 @@ struct TRINITY_DLL_DECL boss_brutallusAI : public ScriptedAI
|
||||
|
||||
|
||||
|
||||
m_creature->CastSpell(m_creature, SPELL_DUAL_WIELD, true);
|
||||
DoCast(m_creature, SPELL_DUAL_WIELD, true);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_BRUTALLUS_EVENT, NOT_STARTED);
|
||||
|
||||
@@ -235,7 +235,7 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI
|
||||
if (Temp && Temp->isDead())
|
||||
{
|
||||
DoScriptText(YELL_SISTER_ALYTHESS_DEAD, m_creature);
|
||||
DoCast(m_creature,SPELL_EMPOWER);
|
||||
DoCast(m_creature, SPELL_EMPOWER);
|
||||
m_creature->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
SisterDeath = true;
|
||||
}
|
||||
@@ -324,7 +324,7 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI
|
||||
{
|
||||
m_creature->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
DoScriptText(YELL_ENRAGE, m_creature);
|
||||
DoCast(m_creature,SPELL_ENRAGE);
|
||||
DoCast(m_creature, SPELL_ENRAGE);
|
||||
Enraged = true;
|
||||
} else EnrageTimer -= diff;
|
||||
|
||||
@@ -641,7 +641,7 @@ struct TRINITY_DLL_DECL boss_alythessAI : public Scripted_NoMovementAI
|
||||
{
|
||||
if (!m_creature->IsNonMeleeSpellCasted(false))
|
||||
{
|
||||
DoCast(m_creature, SPELL_PYROGENICS,true);
|
||||
DoCast(m_creature, SPELL_PYROGENICS, true);
|
||||
PyrogenicsTimer = 15000;
|
||||
}
|
||||
} else PyrogenicsTimer -= diff;
|
||||
|
||||
@@ -174,8 +174,8 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
|
||||
{
|
||||
m_creature->setActive(true);
|
||||
DoZoneInCombat();
|
||||
m_creature->CastSpell(m_creature, AURA_SUNWELL_RADIANCE, true);
|
||||
m_creature->CastSpell(m_creature, AURA_NOXIOUS_FUMES, true);
|
||||
DoCast(m_creature, AURA_SUNWELL_RADIANCE, true);
|
||||
DoCast(m_creature, AURA_NOXIOUS_FUMES, true);
|
||||
EnterPhase(PHASE_GROUND);
|
||||
|
||||
if (pInstance)
|
||||
@@ -311,7 +311,7 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
|
||||
{
|
||||
Vapor->AI()->AttackStart(pTarget);
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
m_creature->CastSpell(Vapor, SPELL_VAPOR_CHANNEL, false); // core bug
|
||||
DoCast(Vapor, SPELL_VAPOR_CHANNEL, false); // core bug
|
||||
Vapor->CastSpell(Vapor, SPELL_VAPOR_TRIGGER, true);
|
||||
}
|
||||
}
|
||||
@@ -325,7 +325,7 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
|
||||
case 3: {
|
||||
DespawnSummons(MOB_VAPOR_TRAIL);
|
||||
error_log("Summon Vapor case3");
|
||||
//m_creature->CastSpell(m_creature, SPELL_VAPOR_SELECT); need core support
|
||||
//DoCast(m_creature, SPELL_VAPOR_SELECT); need core support
|
||||
Unit *pTarget;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 150, true);
|
||||
if (!pTarget) pTarget = Unit::GetUnit(*m_creature, pInstance ? pInstance->GetData64(DATA_PLAYER_GUID) : 0);
|
||||
@@ -337,7 +337,7 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
|
||||
{
|
||||
Vapor->AI()->AttackStart(pTarget);
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
m_creature->CastSpell(Vapor, SPELL_VAPOR_CHANNEL, false); // core bug
|
||||
DoCast(Vapor, SPELL_VAPOR_CHANNEL, false); // core bug
|
||||
Vapor->CastSpell(Vapor, SPELL_VAPOR_TRIGGER, true);
|
||||
}
|
||||
}
|
||||
@@ -377,7 +377,7 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
|
||||
Timer[EVENT_FLIGHT_SEQUENCE] = 10000;
|
||||
break;
|
||||
case 7:
|
||||
m_creature->CastSpell(m_creature, SPELL_FOG_BREATH, true);
|
||||
DoCast(m_creature, SPELL_FOG_BREATH, true);
|
||||
{
|
||||
float x, y, z;
|
||||
m_creature->GetPosition(x, y, z);
|
||||
@@ -451,26 +451,26 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
|
||||
{
|
||||
case EVENT_BERSERK:
|
||||
DoScriptText(YELL_BERSERK, m_creature);
|
||||
m_creature->CastSpell(m_creature, SPELL_BERSERK, true);
|
||||
DoCast(m_creature, SPELL_BERSERK, true);
|
||||
Timer[EVENT_BERSERK] = 10000;
|
||||
break;
|
||||
case EVENT_CLEAVE:
|
||||
m_creature->CastSpell(m_creature->getVictim(), SPELL_CLEAVE, false);
|
||||
Timer[EVENT_CLEAVE] = 5000 + rand()%5 * 1000;
|
||||
DoCast(m_creature->getVictim(), SPELL_CLEAVE, false);
|
||||
Timer[EVENT_CLEAVE] = urand(5000,10000);
|
||||
break;
|
||||
case EVENT_CORROSION:
|
||||
m_creature->CastSpell(m_creature->getVictim(), SPELL_CORROSION, false);
|
||||
Timer[EVENT_CORROSION] = 20000 + rand()%10 * 1000;
|
||||
DoCast(m_creature->getVictim(), SPELL_CORROSION, false);
|
||||
Timer[EVENT_CORROSION] = urand(20000,30000);
|
||||
break;
|
||||
case EVENT_GAS_NOVA:
|
||||
m_creature->CastSpell(m_creature, SPELL_GAS_NOVA, false);
|
||||
Timer[EVENT_GAS_NOVA] = 20000 + rand()%5 * 1000;
|
||||
DoCast(m_creature, SPELL_GAS_NOVA, false);
|
||||
Timer[EVENT_GAS_NOVA] = urand(20000,25000);
|
||||
break;
|
||||
case EVENT_ENCAPSULATE:
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 150, true))
|
||||
{
|
||||
m_creature->CastSpell(pTarget, SPELL_ENCAPSULATE_CHANNEL, false);
|
||||
Timer[EVENT_ENCAPSULATE] = 25000 + rand()%5 * 1000;
|
||||
DoCast(pTarget, SPELL_ENCAPSULATE_CHANNEL, false);
|
||||
Timer[EVENT_ENCAPSULATE] = urand(25000,30000);
|
||||
}
|
||||
break;
|
||||
case EVENT_FLIGHT:
|
||||
@@ -488,7 +488,7 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
|
||||
{
|
||||
case EVENT_BERSERK:
|
||||
DoScriptText(YELL_BERSERK, m_creature);
|
||||
m_creature->CastSpell(m_creature, SPELL_BERSERK, true);
|
||||
DoCast(m_creature, SPELL_BERSERK, true);
|
||||
Timer[EVENT_BERSERK] = 0;
|
||||
break;
|
||||
case EVENT_FLIGHT_SEQUENCE:
|
||||
@@ -560,12 +560,13 @@ struct TRINITY_DLL_DECL mob_felmyst_vaporAI : public ScriptedAI
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoZoneInCombat();
|
||||
//m_creature->CastSpell(m_creature, SPELL_VAPOR_FORCE, true); core bug
|
||||
//DoCast(m_creature, SPELL_VAPOR_FORCE, true); core bug
|
||||
}
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!m_creature->getVictim())
|
||||
AttackStart(SelectUnit(SELECT_TARGET_RANDOM, 0));
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
AttackStart(pTarget);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -574,7 +575,7 @@ struct TRINITY_DLL_DECL mob_felmyst_trailAI : public ScriptedAI
|
||||
mob_felmyst_trailAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
m_creature->CastSpell(m_creature, SPELL_TRAIL_TRIGGER, true);
|
||||
DoCast(m_creature, SPELL_TRAIL_TRIGGER, true);
|
||||
m_creature->SetUInt64Value(UNIT_FIELD_TARGET, m_creature->GetGUID());
|
||||
m_creature->SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, 0.01); // core bug
|
||||
}
|
||||
|
||||
@@ -604,7 +604,7 @@ struct TRINITY_DLL_DECL boss_kiljaedenAI : public Scripted_NoMovementAI
|
||||
case TIMER_SOUL_FLAY:
|
||||
if (!m_creature->IsNonMeleeSpellCasted(false))
|
||||
{
|
||||
m_creature->CastSpell(m_creature->getVictim(), SPELL_SOUL_FLAY, false);
|
||||
DoCast(m_creature->getVictim(), SPELL_SOUL_FLAY, false);
|
||||
m_creature->getVictim()->CastSpell(m_creature->getVictim(), SPELL_SOUL_FLAY_SLOW, true);
|
||||
Timer[TIMER_SOUL_FLAY] = 3500;
|
||||
}
|
||||
@@ -1319,7 +1319,7 @@ struct TRINITY_DLL_DECL mob_sinster_reflectionAI : public ScriptedAI
|
||||
}
|
||||
if (Timer[2] <= diff)
|
||||
{
|
||||
DoCast(m_creature, SPELL_SR_RENEW, false);
|
||||
DoCast(m_creature, SPELL_SR_RENEW, false);
|
||||
Timer[2] = 7000;
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user