Core/Scripts: Replace rand with urand in most cases (using regexp)

Used: perl -pi -e 's/([0-9]+) \+ rand\(\)\%([0-9]+)/"urand(".$1.", ".($1+$2).")"/ge'
This commit is contained in:
Spp
2011-12-28 10:51:16 +01:00
parent 4fb634f9a5
commit 3792b470e0
66 changed files with 309 additions and 309 deletions
@@ -70,7 +70,7 @@ public:
if (ShadowFlame_Timer <= diff) if (ShadowFlame_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SHADOWFLAME); DoCast(me->getVictim(), SPELL_SHADOWFLAME);
ShadowFlame_Timer = 15000 + rand()%7000; ShadowFlame_Timer = urand(15000, 22000);
} else ShadowFlame_Timer -= diff; } else ShadowFlame_Timer -= diff;
//WingBuffet_Timer //WingBuffet_Timer
@@ -824,7 +824,7 @@ public:
void Reset() void Reset()
{ {
ChaseTimer = 30000; ChaseTimer = 30000;
FearTimer = 25000 + rand()%10000; FearTimer = urand(25000, 35000);
SwipeTimer = 5000; SwipeTimer = 5000;
HoodGUID = 0; HoodGUID = 0;
@@ -467,7 +467,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
if (ResetThreatTimer <= diff) if (ResetThreatTimer <= diff)
{ {
DoResetThreat(); DoResetThreat();
ResetThreatTimer = 5000 + rand()%15000; ResetThreatTimer = urand(5000, 20000);
} else ResetThreatTimer -= diff; } else ResetThreatTimer -= diff;
} }
}; };
@@ -122,13 +122,13 @@ public:
instance->SetData(DATA_SELIN_EVENT, NOT_STARTED); instance->SetData(DATA_SELIN_EVENT, NOT_STARTED);
} else sLog->outError(ERROR_INST_DATA); } else sLog->outError(ERROR_INST_DATA);
DrainLifeTimer = 3000 + rand()%4000; DrainLifeTimer = urand(3000, 7000);
DrainManaTimer = DrainLifeTimer + 5000; DrainManaTimer = DrainLifeTimer + 5000;
FelExplosionTimer = 2100; FelExplosionTimer = 2100;
if (IsHeroic()) if (IsHeroic())
DrainCrystalTimer = 10000 + rand()%5000; DrainCrystalTimer = urand(10000, 15000);
else else
DrainCrystalTimer = 20000 + rand()%5000; DrainCrystalTimer = urand(20000, 25000);
EmpowerTimer = 10000; EmpowerTimer = 10000;
IsDraining = false; IsDraining = false;
@@ -285,9 +285,9 @@ public:
{ {
SelectNearestCrystal(); SelectNearestCrystal();
if (IsHeroic()) if (IsHeroic())
DrainCrystalTimer = 10000 + rand()%5000; DrainCrystalTimer = urand(10000, 15000);
else else
DrainCrystalTimer = 20000 + rand()%5000; DrainCrystalTimer = urand(20000, 25000);
} else DrainCrystalTimer -= diff; } else DrainCrystalTimer -= diff;
} }
@@ -108,14 +108,14 @@ public:
if (ShadowShield_Timer <= diff) if (ShadowShield_Timer <= diff)
{ {
DoCast(me, SPELL_SHADOWSHIELD); DoCast(me, SPELL_SHADOWSHIELD);
ShadowShield_Timer = 14000 + rand()%14000; ShadowShield_Timer = urand(14000, 28000);
} else ShadowShield_Timer -= diff; } else ShadowShield_Timer -= diff;
//Curse_Timer //Curse_Timer
if (Curse_Timer <= diff) if (Curse_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_CURSE); DoCast(me->getVictim(), SPELL_CURSE);
Curse_Timer = 15000 + rand()%12000; Curse_Timer = urand(15000, 27000);
} else Curse_Timer -= diff; } else Curse_Timer -= diff;
//Teleporting Random Target to one of the six pre boss rooms and spawn 3-4 skeletons near the gamer. //Teleporting Random Target to one of the six pre boss rooms and spawn 3-4 skeletons near the gamer.
@@ -214,7 +214,7 @@ public:
break; break;
} }
} }
Teleport_Timer = 20000 + rand()%15000; Teleport_Timer = urand(20000, 35000);
} else Teleport_Timer -= diff; } else Teleport_Timer -= diff;
} }
@@ -171,7 +171,7 @@ public:
void Reset() void Reset()
{ {
Cleave_Timer = 2000 + rand()%6000; Cleave_Timer = urand(2000, 8000);
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true);
} }
@@ -192,7 +192,7 @@ public:
DoCast(me->getVictim(), SPELL_CLEAVE); DoCast(me->getVictim(), SPELL_CLEAVE);
//5-8 seconds //5-8 seconds
Cleave_Timer = 5000 + rand()%3000; Cleave_Timer = urand(5000, 8000);
} else Cleave_Timer -= diff; } else Cleave_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -131,7 +131,7 @@ public:
if (m_uiMindBlast_Timer <= uiDiff) if (m_uiMindBlast_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_MINDBLAST); DoCast(me->getVictim(), SPELL_MINDBLAST);
m_uiMindBlast_Timer = 15000 + rand()%5000; m_uiMindBlast_Timer = urand(15000, 20000);
} else m_uiMindBlast_Timer -= uiDiff; } else m_uiMindBlast_Timer -= uiDiff;
//CrusadersHammer //CrusadersHammer
@@ -173,7 +173,7 @@ public:
if (m_uiMindBlast_Timer <= uiDiff) if (m_uiMindBlast_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_MINDBLAST); DoCast(me->getVictim(), SPELL_MINDBLAST);
m_uiMindBlast_Timer = 15000 + rand()%5000; m_uiMindBlast_Timer = urand(15000, 20000);
} else m_uiMindBlast_Timer -= uiDiff; } else m_uiMindBlast_Timer -= uiDiff;
//ShadowShock //ShadowShock
@@ -612,7 +612,7 @@ public:
KalecGUID = 0; KalecGUID = 0;
} }
ShadowBoltTimer = 7000 + rand()%3 * 1000; ShadowBoltTimer = urand(7, 10) * 1000;
AgonyCurseTimer = 20000; AgonyCurseTimer = 20000;
CorruptionStrikeTimer = 13000; CorruptionStrikeTimer = 13000;
CheckTimer = 1000; CheckTimer = 1000;
@@ -296,13 +296,13 @@ class boss_akilzon : public CreatureScript
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1); Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1);
if (!target) target = me->getVictim(); if (!target) target = me->getVictim();
DoCast(target, SPELL_GUST_OF_WIND); DoCast(target, SPELL_GUST_OF_WIND);
GustOfWind_Timer = (20+rand()%10)*1000; //20 to 30 seconds(bosskillers) GustOfWind_Timer = urand(20, 30) * 1000; //20 to 30 seconds(bosskillers)
} else GustOfWind_Timer -= diff; } else GustOfWind_Timer -= diff;
if (CallLighting_Timer <= diff) if (CallLighting_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_CALL_LIGHTNING); DoCast(me->getVictim(), SPELL_CALL_LIGHTNING);
CallLighting_Timer = (12 + rand()%5)*1000; //totaly random timer. can't find any info on this CallLighting_Timer = urand(12, 17) * 1000; //totaly random timer. can't find any info on this
} else CallLighting_Timer -= diff; } else CallLighting_Timer -= diff;
if (!isRaining && ElectricalStorm_Timer < uint32(8000 + rand() % 5000)) if (!isRaining && ElectricalStorm_Timer < uint32(8000 + rand() % 5000))
@@ -406,7 +406,7 @@ class mob_akilzon_eagle : public CreatureScript
void Reset() void Reset()
{ {
EagleSwoop_Timer = 5000 + rand()%5000; EagleSwoop_Timer = urand(5000, 10000);
arrived = true; arrived = true;
TargetGUID = 0; TargetGUID = 0;
me->SetUnitMovementFlags(MOVEMENTFLAG_LEVITATING); me->SetUnitMovementFlags(MOVEMENTFLAG_LEVITATING);
@@ -425,7 +425,7 @@ class mob_akilzon_eagle : public CreatureScript
DoCast(target, SPELL_EAGLE_SWOOP, true); DoCast(target, SPELL_EAGLE_SWOOP, true);
TargetGUID = 0; TargetGUID = 0;
me->SetSpeed(MOVE_RUN, 1.2f); me->SetSpeed(MOVE_RUN, 1.2f);
EagleSwoop_Timer = 5000 + rand()%5000; EagleSwoop_Timer = urand(5000, 10000);
} }
} }
@@ -263,7 +263,7 @@ class boss_halazzi : public CreatureScript
DoCast(target, SPELL_EARTHSHOCK); DoCast(target, SPELL_EARTHSHOCK);
else else
DoCast(target, SPELL_FLAMESHOCK); DoCast(target, SPELL_FLAMESHOCK);
ShockTimer = 10000 + rand()%5000; ShockTimer = urand(10000, 15000);
} }
} else ShockTimer -= diff; } else ShockTimer -= diff;
@@ -145,10 +145,10 @@ class boss_nalorakk : public CreatureScript
if (instance) if (instance)
instance->SetData(DATA_NALORAKKEVENT, NOT_STARTED); instance->SetData(DATA_NALORAKKEVENT, NOT_STARTED);
Surge_Timer = 15000 + rand()%5000; Surge_Timer = urand(15000, 20000);
BrutalSwipe_Timer = 7000 + rand()%5000; BrutalSwipe_Timer = urand(7000, 12000);
Mangle_Timer = 10000 + rand()%5000; Mangle_Timer = urand(10000, 15000);
ShapeShift_Timer = 45000 + rand()%5000; ShapeShift_Timer = urand(45000, 50000);
Berserk_Timer = 600000; Berserk_Timer = 600000;
inBearForm = false; inBearForm = false;
@@ -371,10 +371,10 @@ class boss_nalorakk : public CreatureScript
me->MonsterYell(YELL_SHIFTEDTOTROLL, LANG_UNIVERSAL, 0); me->MonsterYell(YELL_SHIFTEDTOTROLL, LANG_UNIVERSAL, 0);
DoPlaySoundToSet(me, SOUND_YELL_TOTROLL); DoPlaySoundToSet(me, SOUND_YELL_TOTROLL);
me->RemoveAurasDueToSpell(SPELL_BEARFORM); me->RemoveAurasDueToSpell(SPELL_BEARFORM);
Surge_Timer = 15000 + rand()%5000; Surge_Timer = urand(15000, 20000);
BrutalSwipe_Timer = 7000 + rand()%5000; BrutalSwipe_Timer = urand(7000, 12000);
Mangle_Timer = 10000 + rand()%5000; Mangle_Timer = urand(10000, 15000);
ShapeShift_Timer = 45000 + rand()%5000; ShapeShift_Timer = urand(45000, 50000);
inBearForm = false; inBearForm = false;
} }
else else
@@ -385,8 +385,8 @@ class boss_nalorakk : public CreatureScript
DoCast(me, SPELL_BEARFORM, true); DoCast(me, SPELL_BEARFORM, true);
LaceratingSlash_Timer = 2000; // dur 18s LaceratingSlash_Timer = 2000; // dur 18s
RendFlesh_Timer = 3000; // dur 5s RendFlesh_Timer = 3000; // dur 5s
DeafeningRoar_Timer = 5000 + rand()%5000; // dur 2s DeafeningRoar_Timer = urand(5000, 10000); // dur 2s
ShapeShift_Timer = 20000 + rand()%5000; // dur 30s ShapeShift_Timer = urand(20000, 25000); // dur 30s
inBearForm = true; inBearForm = true;
} }
} else ShapeShift_Timer -= diff; } else ShapeShift_Timer -= diff;
@@ -396,7 +396,7 @@ class boss_nalorakk : public CreatureScript
if (BrutalSwipe_Timer <= diff) if (BrutalSwipe_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_BRUTALSWIPE); DoCast(me->getVictim(), SPELL_BRUTALSWIPE);
BrutalSwipe_Timer = 7000 + rand()%5000; BrutalSwipe_Timer = urand(7000, 12000);
} else BrutalSwipe_Timer -= diff; } else BrutalSwipe_Timer -= diff;
if (Mangle_Timer <= diff) if (Mangle_Timer <= diff)
@@ -406,7 +406,7 @@ class boss_nalorakk : public CreatureScript
DoCast(me->getVictim(), SPELL_MANGLE); DoCast(me->getVictim(), SPELL_MANGLE);
Mangle_Timer = 1000; Mangle_Timer = 1000;
} }
else Mangle_Timer = 10000 + rand()%5000; else Mangle_Timer = urand(10000, 15000);
} else Mangle_Timer -= diff; } else Mangle_Timer -= diff;
if (Surge_Timer <= diff) if (Surge_Timer <= diff)
@@ -416,7 +416,7 @@ class boss_nalorakk : public CreatureScript
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 45, true); Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 45, true);
if (target) if (target)
DoCast(target, SPELL_SURGE); DoCast(target, SPELL_SURGE);
Surge_Timer = 15000 + rand()%5000; Surge_Timer = urand(15000, 20000);
} else Surge_Timer -= diff; } else Surge_Timer -= diff;
} }
else else
@@ -424,19 +424,19 @@ class boss_nalorakk : public CreatureScript
if (LaceratingSlash_Timer <= diff) if (LaceratingSlash_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_LACERATINGSLASH); DoCast(me->getVictim(), SPELL_LACERATINGSLASH);
LaceratingSlash_Timer = 18000 + rand()%5000; LaceratingSlash_Timer = urand(18000, 23000);
} else LaceratingSlash_Timer -= diff; } else LaceratingSlash_Timer -= diff;
if (RendFlesh_Timer <= diff) if (RendFlesh_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_RENDFLESH); DoCast(me->getVictim(), SPELL_RENDFLESH);
RendFlesh_Timer = 5000 + rand()%5000; RendFlesh_Timer = urand(5000, 10000);
} else RendFlesh_Timer -= diff; } else RendFlesh_Timer -= diff;
if (DeafeningRoar_Timer <= diff) if (DeafeningRoar_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_DEAFENINGROAR); DoCast(me->getVictim(), SPELL_DEAFENINGROAR);
DeafeningRoar_Timer = 15000 + rand()%5000; DeafeningRoar_Timer = urand(15000, 20000);
} else DeafeningRoar_Timer -= diff; } else DeafeningRoar_Timer -= diff;
} }
@@ -430,7 +430,7 @@ class boss_zuljin : public CreatureScript
if (Whirlwind_Timer <= diff) if (Whirlwind_Timer <= diff)
{ {
DoCast(me, SPELL_WHIRLWIND); DoCast(me, SPELL_WHIRLWIND);
Whirlwind_Timer = 15000 + rand()%5000; Whirlwind_Timer = urand(15000, 20000);
} else Whirlwind_Timer -= diff; } else Whirlwind_Timer -= diff;
if (Grievous_Throw_Timer <= diff) if (Grievous_Throw_Timer <= diff)
@@ -489,7 +489,7 @@ class boss_zuljin : public CreatureScript
++Claw_Counter; ++Claw_Counter;
if (Claw_Counter == 12) if (Claw_Counter == 12)
{ {
Claw_Rage_Timer = 15000 + rand()%5000; Claw_Rage_Timer = urand(15000, 20000);
me->SetSpeed(MOVE_RUN, 1.2f); me->SetSpeed(MOVE_RUN, 1.2f);
AttackStart(Unit::GetUnit(*me, TankGUID)); AttackStart(Unit::GetUnit(*me, TankGUID));
TankGUID = 0; TankGUID = 0;
@@ -537,7 +537,7 @@ class boss_zuljin : public CreatureScript
++Claw_Counter; ++Claw_Counter;
if (Claw_Counter == 9) if (Claw_Counter == 9)
{ {
Lynx_Rush_Timer = 15000 + rand()%5000; Lynx_Rush_Timer = urand(15000, 20000);
me->SetSpeed(MOVE_RUN, 1.2f); me->SetSpeed(MOVE_RUN, 1.2f);
AttackStart(Unit::GetUnit(*me, TankGUID)); AttackStart(Unit::GetUnit(*me, TankGUID));
TankGUID = 0; TankGUID = 0;
@@ -66,7 +66,7 @@ class boss_gahzranka : public CreatureScript
if (Frostbreath_Timer <= diff) if (Frostbreath_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_FROSTBREATH); DoCast(me->getVictim(), SPELL_FROSTBREATH);
Frostbreath_Timer = 7000 + rand()%4000; Frostbreath_Timer = urand(7000, 11000);
} else Frostbreath_Timer -= diff; } else Frostbreath_Timer -= diff;
//MassiveGeyser_Timer //MassiveGeyser_Timer
@@ -75,14 +75,14 @@ class boss_gahzranka : public CreatureScript
DoCast(me->getVictim(), SPELL_MASSIVEGEYSER); DoCast(me->getVictim(), SPELL_MASSIVEGEYSER);
DoResetThreat(); DoResetThreat();
MassiveGeyser_Timer = 22000 + rand()%10000; MassiveGeyser_Timer = urand(22000, 32000);
} else MassiveGeyser_Timer -= diff; } else MassiveGeyser_Timer -= diff;
//Slam_Timer //Slam_Timer
if (Slam_Timer <= diff) if (Slam_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SLAM); DoCast(me->getVictim(), SPELL_SLAM);
Slam_Timer = 12000 + rand()%8000; Slam_Timer = urand(12000, 20000);
} else Slam_Timer -= diff; } else Slam_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -47,8 +47,8 @@ class boss_grilek : public CreatureScript
void Reset() void Reset()
{ {
Avartar_Timer = 15000 + rand()%10000; Avartar_Timer = urand(15000, 25000);
GroundTremor_Timer = 8000 + rand()%8000; GroundTremor_Timer = urand(8000, 16000);
} }
void EnterCombat(Unit* /*who*/) void EnterCombat(Unit* /*who*/)
@@ -75,14 +75,14 @@ class boss_grilek : public CreatureScript
if (target) if (target)
AttackStart(target); AttackStart(target);
Avartar_Timer = 25000 + rand()%10000; Avartar_Timer = urand(25000, 35000);
} else Avartar_Timer -= diff; } else Avartar_Timer -= diff;
//GroundTremor_Timer //GroundTremor_Timer
if (GroundTremor_Timer <= diff) if (GroundTremor_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_GROUNDTREMOR); DoCast(me->getVictim(), SPELL_GROUNDTREMOR);
GroundTremor_Timer = 12000 + rand()%4000; GroundTremor_Timer = urand(12000, 16000);
} else GroundTremor_Timer -= diff; } else GroundTremor_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -126,7 +126,7 @@ class boss_hakkar : public CreatureScript
if (CorruptedBlood_Timer <= diff) if (CorruptedBlood_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_CORRUPTEDBLOOD); DoCast(me->getVictim(), SPELL_CORRUPTEDBLOOD);
CorruptedBlood_Timer = 30000 + rand()%15000; CorruptedBlood_Timer = urand(30000, 45000);
} else CorruptedBlood_Timer -= diff; } else CorruptedBlood_Timer -= diff;
//CauseInsanity_Timer //CauseInsanity_Timer
@@ -135,7 +135,7 @@ class boss_hakkar : public CreatureScript
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_CAUSEINSANITY); DoCast(target, SPELL_CAUSEINSANITY);
CauseInsanity_Timer = 35000 + rand()%8000; CauseInsanity_Timer = urand(35000, 43000);
} else CauseInsanity_Timer -= diff;*/ } else CauseInsanity_Timer -= diff;*/
//WillOfHakkar_Timer //WillOfHakkar_Timer
@@ -144,7 +144,7 @@ class boss_hakkar : public CreatureScript
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_WILLOFHAKKAR); DoCast(target, SPELL_WILLOFHAKKAR);
WillOfHakkar_Timer = 25000 + rand()%10000; WillOfHakkar_Timer = urand(25000, 35000);
} else WillOfHakkar_Timer -= diff; } else WillOfHakkar_Timer -= diff;
if (!Enraged && Enrage_Timer <= diff) if (!Enraged && Enrage_Timer <= diff)
@@ -163,7 +163,7 @@ class boss_hakkar : public CreatureScript
if (AspectOfJeklik_Timer <= diff) if (AspectOfJeklik_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_ASPECT_OF_JEKLIK); DoCast(me->getVictim(), SPELL_ASPECT_OF_JEKLIK);
AspectOfJeklik_Timer = 10000 + rand()%4000; AspectOfJeklik_Timer = urand(10000, 14000);
} else AspectOfJeklik_Timer -= diff; } else AspectOfJeklik_Timer -= diff;
} }
} }
@@ -234,7 +234,7 @@ class boss_hakkar : public CreatureScript
DoCast(me, SPELL_ASPECT_OF_ARLOKK); DoCast(me, SPELL_ASPECT_OF_ARLOKK);
DoResetThreat(); DoResetThreat();
AspectOfArlokk_Timer = 10000 + rand()%5000; AspectOfArlokk_Timer = urand(10000, 15000);
} else AspectOfArlokk_Timer -= diff; } else AspectOfArlokk_Timer -= diff;
} }
} }
@@ -48,9 +48,9 @@ class boss_hazzarah : public CreatureScript
void Reset() void Reset()
{ {
ManaBurn_Timer = 4000 + rand()%6000; ManaBurn_Timer = urand(4000, 10000);
Sleep_Timer = 10000 + rand()%8000; Sleep_Timer = urand(10000, 18000);
Illusions_Timer = 10000 + rand()%8000; Illusions_Timer = urand(10000, 18000);
} }
void EnterCombat(Unit* /*who*/) void EnterCombat(Unit* /*who*/)
@@ -66,14 +66,14 @@ class boss_hazzarah : public CreatureScript
if (ManaBurn_Timer <= diff) if (ManaBurn_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_MANABURN); DoCast(me->getVictim(), SPELL_MANABURN);
ManaBurn_Timer = 8000 + rand()%8000; ManaBurn_Timer = urand(8000, 16000);
} else ManaBurn_Timer -= diff; } else ManaBurn_Timer -= diff;
//Sleep_Timer //Sleep_Timer
if (Sleep_Timer <= diff) if (Sleep_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SLEEP); DoCast(me->getVictim(), SPELL_SLEEP);
Sleep_Timer = 12000 + rand()%8000; Sleep_Timer = urand(12000, 20000);
} else Sleep_Timer -= diff; } else Sleep_Timer -= diff;
//Illusions_Timer //Illusions_Timer
@@ -93,7 +93,7 @@ class boss_hazzarah : public CreatureScript
Illusion->AI()->AttackStart(target); Illusion->AI()->AttackStart(target);
} }
Illusions_Timer = 15000 + rand()%10000; Illusions_Timer = urand(15000, 25000);
} else Illusions_Timer -= diff; } else Illusions_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -119,19 +119,19 @@ class boss_jeklik : public CreatureScript
AttackStart(target); AttackStart(target);
} }
Charge_Timer = 15000 + rand()%15000; Charge_Timer = urand(15000, 30000);
} else Charge_Timer -= diff; } else Charge_Timer -= diff;
if (SonicBurst_Timer <= diff) if (SonicBurst_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SONICBURST); DoCast(me->getVictim(), SPELL_SONICBURST);
SonicBurst_Timer = 8000 + rand()%5000; SonicBurst_Timer = urand(8000, 13000);
} else SonicBurst_Timer -= diff; } else SonicBurst_Timer -= diff;
if (Screech_Timer <= diff) if (Screech_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SCREECH); DoCast(me->getVictim(), SPELL_SCREECH);
Screech_Timer = 18000 + rand()%8000; Screech_Timer = urand(18000, 26000);
} else Screech_Timer -= diff; } else Screech_Timer -= diff;
if (SpawnBats_Timer <= diff) if (SpawnBats_Timer <= diff)
@@ -168,7 +168,7 @@ class boss_jeklik : public CreatureScript
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{ {
DoCast(target, SPELL_SHADOW_WORD_PAIN); DoCast(target, SPELL_SHADOW_WORD_PAIN);
ShadowWordPain_Timer = 12000 + rand()%6000; ShadowWordPain_Timer = urand(12000, 18000);
} }
}ShadowWordPain_Timer -=diff; }ShadowWordPain_Timer -=diff;
@@ -182,14 +182,14 @@ class boss_jeklik : public CreatureScript
{ {
me->InterruptNonMeleeSpells(false); me->InterruptNonMeleeSpells(false);
DoCast(me->getVictim(), SPELL_CHAIN_MIND_FLAY); DoCast(me->getVictim(), SPELL_CHAIN_MIND_FLAY);
ChainMindFlay_Timer = 15000 + rand()%15000; ChainMindFlay_Timer = urand(15000, 30000);
}ChainMindFlay_Timer -=diff; }ChainMindFlay_Timer -=diff;
if (GreaterHeal_Timer <= diff) if (GreaterHeal_Timer <= diff)
{ {
me->InterruptNonMeleeSpells(false); me->InterruptNonMeleeSpells(false);
DoCast(me, SPELL_GREATERHEAL); DoCast(me, SPELL_GREATERHEAL);
GreaterHeal_Timer = 25000 + rand()%10000; GreaterHeal_Timer = urand(25000, 35000);
}GreaterHeal_Timer -=diff; }GreaterHeal_Timer -=diff;
if (SpawnFlyingBats_Timer <= diff) if (SpawnFlyingBats_Timer <= diff)
@@ -202,7 +202,7 @@ class boss_jeklik : public CreatureScript
if (FlyingBat) if (FlyingBat)
FlyingBat->AI()->AttackStart(target); FlyingBat->AI()->AttackStart(target);
SpawnFlyingBats_Timer = 10000 + rand()%5000; SpawnFlyingBats_Timer = urand(10000, 15000);
} else SpawnFlyingBats_Timer -=diff; } else SpawnFlyingBats_Timer -=diff;
} }
else else
@@ -83,7 +83,7 @@ class boss_jindo : public CreatureScript
if (BrainWashTotem_Timer <= diff) if (BrainWashTotem_Timer <= diff)
{ {
DoCast(me, SPELL_BRAINWASHTOTEM); DoCast(me, SPELL_BRAINWASHTOTEM);
BrainWashTotem_Timer = 18000 + rand()%8000; BrainWashTotem_Timer = urand(18000, 26000);
} else BrainWashTotem_Timer -= diff; } else BrainWashTotem_Timer -= diff;
//HealingWard_Timer //HealingWard_Timer
@@ -91,7 +91,7 @@ class boss_jindo : public CreatureScript
{ {
//DoCast(me, SPELL_POWERFULLHEALINGWARD); //DoCast(me, SPELL_POWERFULLHEALINGWARD);
me->SummonCreature(14987, me->GetPositionX()+3, me->GetPositionY()-2, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30000); me->SummonCreature(14987, me->GetPositionX()+3, me->GetPositionY()-2, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30000);
HealingWard_Timer = 14000 + rand()%6000; HealingWard_Timer = urand(14000, 20000);
} else HealingWard_Timer -= diff; } else HealingWard_Timer -= diff;
//Hex_Timer //Hex_Timer
@@ -102,7 +102,7 @@ class boss_jindo : public CreatureScript
if (DoGetThreat(me->getVictim())) if (DoGetThreat(me->getVictim()))
DoModifyThreatPercent(me->getVictim(), -80); DoModifyThreatPercent(me->getVictim(), -80);
Hex_Timer = 12000 + rand()%8000; Hex_Timer = urand(12000, 20000);
} else Hex_Timer -= diff; } else Hex_Timer -= diff;
//Casting the delusion curse with a shade. So shade will attack the same target with the curse. //Casting the delusion curse with a shade. So shade will attack the same target with the curse.
@@ -117,7 +117,7 @@ class boss_jindo : public CreatureScript
Shade->AI()->AttackStart(target); Shade->AI()->AttackStart(target);
} }
Delusions_Timer = 4000 + rand()%8000; Delusions_Timer = urand(4000, 12000);
} else Delusions_Timer -= diff; } else Delusions_Timer -= diff;
//Teleporting a random gamer and spawning 9 skeletons that will attack this gamer //Teleporting a random gamer and spawning 9 skeletons that will attack this gamer
@@ -162,7 +162,7 @@ class boss_jindo : public CreatureScript
Skeletons->AI()->AttackStart(target); Skeletons->AI()->AttackStart(target);
} }
Teleport_Timer = 15000 + rand()%8000; Teleport_Timer = urand(15000, 23000);
} else Teleport_Timer -= diff; } else Teleport_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -325,7 +325,7 @@ class mob_ohgan : public CreatureScript
if (SunderArmor_Timer <= diff) if (SunderArmor_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SUNDERARMOR); DoCast(me->getVictim(), SPELL_SUNDERARMOR);
SunderArmor_Timer = 10000 + rand()%5000; SunderArmor_Timer = urand(10000, 15000);
} else SunderArmor_Timer -= diff; } else SunderArmor_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -105,13 +105,13 @@ class boss_marli : public CreatureScript
if (PoisonVolley_Timer <= diff) if (PoisonVolley_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_POISONVOLLEY); DoCast(me->getVictim(), SPELL_POISONVOLLEY);
PoisonVolley_Timer = 10000 + rand()%10000; PoisonVolley_Timer = urand(10000, 20000);
} else PoisonVolley_Timer -= diff; } else PoisonVolley_Timer -= diff;
if (!PhaseTwo && Aspect_Timer <= diff) if (!PhaseTwo && Aspect_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_ASPECT_OF_MARLI); DoCast(me->getVictim(), SPELL_ASPECT_OF_MARLI);
Aspect_Timer = 13000 + rand()%5000; Aspect_Timer = urand(13000, 18000);
} else Aspect_Timer -= diff; } else Aspect_Timer -= diff;
if (!Spawned && SpawnStartSpiders_Timer <= diff) if (!Spawned && SpawnStartSpiders_Timer <= diff)
@@ -149,7 +149,7 @@ class boss_marli : public CreatureScript
Creature* Spider = me->SummonCreature(15041, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000); Creature* Spider = me->SummonCreature(15041, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
if (Spider) if (Spider)
Spider->AI()->AttackStart(target); Spider->AI()->AttackStart(target);
SpawnSpider_Timer = 12000 + rand()%5000; SpawnSpider_Timer = urand(12000, 17000);
} else SpawnSpider_Timer -= diff; } else SpawnSpider_Timer -= diff;
if (!PhaseTwo && Transform_Timer <= diff) if (!PhaseTwo && Transform_Timer <= diff)
@@ -55,11 +55,11 @@ class boss_renataki : public CreatureScript
void Reset() void Reset()
{ {
Invisible_Timer = 8000 + rand()%10000; Invisible_Timer = urand(8000, 18000);
Ambush_Timer = 3000; Ambush_Timer = 3000;
Visible_Timer = 4000; Visible_Timer = 4000;
Aggro_Timer = 15000 + rand()%10000; Aggro_Timer = urand(15000, 25000);
ThousandBlades_Timer = 4000 + rand()%4000; ThousandBlades_Timer = urand(4000, 8000);
Invisible = false; Invisible = false;
Ambushed = false; Ambushed = false;
@@ -85,7 +85,7 @@ class boss_renataki : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
Invisible = true; Invisible = true;
Invisible_Timer = 15000 + rand()%15000; Invisible_Timer = urand(15000, 30000);
} else Invisible_Timer -= diff; } else Invisible_Timer -= diff;
if (Invisible) if (Invisible)
@@ -135,13 +135,13 @@ class boss_renataki : public CreatureScript
if (target) if (target)
AttackStart(target); AttackStart(target);
Aggro_Timer = 7000 + rand()%13000; Aggro_Timer = urand(7000, 20000);
} else Aggro_Timer -= diff; } else Aggro_Timer -= diff;
if (ThousandBlades_Timer <= diff) if (ThousandBlades_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_THOUSANDBLADES); DoCast(me->getVictim(), SPELL_THOUSANDBLADES);
ThousandBlades_Timer = 7000 + rand()%5000; ThousandBlades_Timer = urand(7000, 12000);
} else ThousandBlades_Timer -= diff; } else ThousandBlades_Timer -= diff;
} }
@@ -167,13 +167,13 @@ class boss_thekal : public CreatureScript
if (!PhaseTwo && MortalCleave_Timer <= diff) if (!PhaseTwo && MortalCleave_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_MORTALCLEAVE); DoCast(me->getVictim(), SPELL_MORTALCLEAVE);
MortalCleave_Timer = 15000 + rand()%5000; MortalCleave_Timer = urand(15000, 20000);
} else MortalCleave_Timer -= diff; } else MortalCleave_Timer -= diff;
if (!PhaseTwo && Silence_Timer <= diff) if (!PhaseTwo && Silence_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SILENCE); DoCast(me->getVictim(), SPELL_SILENCE);
Silence_Timer = 20000 + rand()%5000; Silence_Timer = urand(20000, 25000);
} else Silence_Timer -= diff; } else Silence_Timer -= diff;
if (!PhaseTwo && !WasDead && !HealthAbovePct(5)) if (!PhaseTwo && !WasDead && !HealthAbovePct(5))
@@ -226,7 +226,7 @@ class boss_thekal : public CreatureScript
AttackStart(target); AttackStart(target);
} }
Charge_Timer = 15000 + rand()%7000; Charge_Timer = urand(15000, 22000);
} else Charge_Timer -= diff; } else Charge_Timer -= diff;
if (Frenzy_Timer <= diff) if (Frenzy_Timer <= diff)
@@ -238,13 +238,13 @@ class boss_thekal : public CreatureScript
if (ForcePunch_Timer <= diff) if (ForcePunch_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SILENCE); DoCast(me->getVictim(), SPELL_SILENCE);
ForcePunch_Timer = 16000 + rand()%5000; ForcePunch_Timer = urand(16000, 21000);
} else ForcePunch_Timer -= diff; } else ForcePunch_Timer -= diff;
if (SummonTigers_Timer <= diff) if (SummonTigers_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SUMMONTIGERS); DoCast(me->getVictim(), SPELL_SUMMONTIGERS);
SummonTigers_Timer = 10000 + rand()%4000; SummonTigers_Timer = urand(10000, 14000);
} else SummonTigers_Timer -= diff; } else SummonTigers_Timer -= diff;
if (HealthBelowPct(11) && !Enraged) if (HealthBelowPct(11) && !Enraged)
@@ -47,8 +47,8 @@ class boss_wushoolay : public CreatureScript
void Reset() void Reset()
{ {
LightningCloud_Timer = 5000 + rand()%5000; LightningCloud_Timer = urand(5000, 10000);
LightningWave_Timer = 8000 + rand()%8000; LightningWave_Timer = urand(8000, 16000);
} }
void EnterCombat(Unit* /*who*/) void EnterCombat(Unit* /*who*/)
@@ -64,7 +64,7 @@ class boss_wushoolay : public CreatureScript
if (LightningCloud_Timer <= diff) if (LightningCloud_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_LIGHTNINGCLOUD); DoCast(me->getVictim(), SPELL_LIGHTNINGCLOUD);
LightningCloud_Timer = 15000 + rand()%5000; LightningCloud_Timer = urand(15000, 20000);
} else LightningCloud_Timer -= diff; } else LightningCloud_Timer -= diff;
//LightningWave_Timer //LightningWave_Timer
@@ -74,7 +74,7 @@ class boss_wushoolay : public CreatureScript
target = SelectTarget(SELECT_TARGET_RANDOM, 0); target = SelectTarget(SELECT_TARGET_RANDOM, 0);
if (target) DoCast(target, SPELL_LIGHTNINGWAVE); if (target) DoCast(target, SPELL_LIGHTNINGWAVE);
LightningWave_Timer = 12000 + rand()%4000; LightningWave_Timer = urand(12000, 16000);
} else LightningWave_Timer -= diff; } else LightningWave_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -204,7 +204,7 @@ public:
if (timerJustice <= diff) if (timerJustice <= diff)
{ {
DoCast(me, SPELL_SEAL_OF_JUSTICE); DoCast(me, SPELL_SEAL_OF_JUSTICE);
timerJustice = 10000 + rand()%10000; timerJustice = urand(10000, 20000);
} }
else else
timerJustice -= diff; timerJustice -= diff;
@@ -215,7 +215,7 @@ public:
if (timerJudLight <= diff) if (timerJudLight <= diff)
{ {
DoCast(me, SPELL_JUDGEMENT_OF_LIGHT); DoCast(me, SPELL_JUDGEMENT_OF_LIGHT);
timerJudLight = 10000 + rand()%10000; timerJudLight = urand(10000, 20000);
} }
else else
timerJudLight -= diff; timerJudLight -= diff;
@@ -226,7 +226,7 @@ public:
if (timerCommand <= diff) if (timerCommand <= diff)
{ {
DoCast(me, SPELL_SEAL_OF_COMMAND); DoCast(me, SPELL_SEAL_OF_COMMAND);
timerCommand = 20000 + rand()%20000; timerCommand = urand(20000, 40000);
} }
else else
timerCommand -= diff; timerCommand -= diff;
@@ -105,15 +105,15 @@ public:
ai->EnterEvadeMode(); ai->EnterEvadeMode();
ai->Spells[0].SpellId = SPELL_BLIZZARD; ai->Spells[0].SpellId = SPELL_BLIZZARD;
ai->Spells[0].Cooldown = 15000 + rand()%20000; ai->Spells[0].Cooldown = urand(15000, 35000);
ai->Spells[0].TargetType = TARGETTYPE_RANDOM; ai->Spells[0].TargetType = TARGETTYPE_RANDOM;
ai->Spells[1].SpellId = SPELL_PYROBLAST; ai->Spells[1].SpellId = SPELL_PYROBLAST;
ai->Spells[1].Cooldown = 5500 + rand()%4000; ai->Spells[1].Cooldown = urand(5500, 9500);
ai->Spells[1].TargetType = TARGETTYPE_RANDOM; ai->Spells[1].TargetType = TARGETTYPE_RANDOM;
ai->Spells[2].SpellId = SPELL_SUMMON_ELEMENTALS; ai->Spells[2].SpellId = SPELL_SUMMON_ELEMENTALS;
ai->Spells[2].Cooldown = 15000 + rand()%30000; ai->Spells[2].Cooldown = urand(15000, 45000);
ai->Spells[2].TargetType = TARGETTYPE_SELF; ai->Spells[2].TargetType = TARGETTYPE_SELF;
return ai; return ai;
@@ -187,11 +187,11 @@ public:
ai->EnterEvadeMode(); ai->EnterEvadeMode();
ai->Spells[0].SpellId = SPELL_CHAIN_LIGHTNING; ai->Spells[0].SpellId = SPELL_CHAIN_LIGHTNING;
ai->Spells[0].Cooldown = 3000 + rand()%5000; ai->Spells[0].Cooldown = urand(3000, 8000);
ai->Spells[0].TargetType = TARGETTYPE_VICTIM; ai->Spells[0].TargetType = TARGETTYPE_VICTIM;
ai->Spells[1].SpellId = SPELL_SUMMON_DIRE_WOLF; ai->Spells[1].SpellId = SPELL_SUMMON_DIRE_WOLF;
ai->Spells[1].Cooldown = 6000 + rand()%35000; ai->Spells[1].Cooldown = urand(6000, 41000);
ai->Spells[1].TargetType = TARGETTYPE_RANDOM; ai->Spells[1].TargetType = TARGETTYPE_RANDOM;
return ai; return ai;
@@ -68,9 +68,9 @@ public:
void Reset() void Reset()
{ {
Holy_Light_Timer = 20000 + rand()%10000; Holy_Light_Timer = urand(20000, 30000);
Cleanse_Timer = 10000; Cleanse_Timer = 10000;
HammerOfJustice_Timer = 20000 + rand()%15000; HammerOfJustice_Timer = urand(20000, 35000);
HolyShield_Timer = 240000; HolyShield_Timer = 240000;
DevotionAura_Timer = 3000; DevotionAura_Timer = 3000;
Consecration_Timer = 8000; Consecration_Timer = 8000;
@@ -134,14 +134,14 @@ public:
if (DevotionAura_Timer <= diff) if (DevotionAura_Timer <= diff)
{ {
DoCast(me, SPELL_DEVOTION_AURA); DoCast(me, SPELL_DEVOTION_AURA);
DevotionAura_Timer = 45000 + rand()%10000; DevotionAura_Timer = urand(45000, 55000);
} else DevotionAura_Timer -= diff; } else DevotionAura_Timer -= diff;
//Consecration //Consecration
if (Consecration_Timer <= diff) if (Consecration_Timer <= diff)
{ {
//DoCast(me->getVictim(), SPELL_CONSECRATION); //DoCast(me->getVictim(), SPELL_CONSECRATION);
Consecration_Timer = 5000 + rand()%5000; Consecration_Timer = urand(5000, 10000);
} else Consecration_Timer -= diff; } else Consecration_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -68,8 +68,8 @@ public:
void Reset() void Reset()
{ {
SandBreath_Timer = 8000 + rand()%8000; SandBreath_Timer = urand(8000, 16000);
ImpendingDeath_Timer = 25000 + rand()%5000; ImpendingDeath_Timer = urand(25000, 30000);
WingBuffet_Timer = 35000; WingBuffet_Timer = 35000;
Mda_Timer = 40000; Mda_Timer = 40000;
} }
@@ -108,7 +108,7 @@ public:
DoScriptText(RAND(SAY_BREATH1, SAY_BREATH2), me); DoScriptText(RAND(SAY_BREATH1, SAY_BREATH2), me);
SandBreath_Timer = 10000 + rand()%10000; SandBreath_Timer = urand(10000, 20000);
} else SandBreath_Timer -= diff; } else SandBreath_Timer -= diff;
if (ImpendingDeath_Timer <= diff) if (ImpendingDeath_Timer <= diff)
@@ -61,7 +61,7 @@ public:
{ {
AmnenarsWrath_Timer = 8000; AmnenarsWrath_Timer = 8000;
FrostBolt_Timer = 1000; FrostBolt_Timer = 1000;
FrostNova_Timer = 10000 + rand()%5000; FrostNova_Timer = urand(10000, 15000);
Spectrals30 = false; Spectrals30 = false;
Spectrals60 = false; Spectrals60 = false;
Hp = false; Hp = false;
@@ -65,8 +65,8 @@ public:
void Reset() void Reset()
{ {
Cleave_Timer = 4000 + rand()%4000; Cleave_Timer = urand(4000, 8000);
ToxicVolley_Timer = 6000 + rand()%6000; ToxicVolley_Timer = urand(6000, 12000);
Check_Timer = 2000; Check_Timer = 2000;
VemDead = false; VemDead = false;
@@ -98,14 +98,14 @@ public:
if (Cleave_Timer <= diff) if (Cleave_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_CLEAVE); DoCast(me->getVictim(), SPELL_CLEAVE);
Cleave_Timer = 5000 + rand()%7000; Cleave_Timer = urand(5000, 12000);
} else Cleave_Timer -= diff; } else Cleave_Timer -= diff;
//ToxicVolley_Timer //ToxicVolley_Timer
if (ToxicVolley_Timer <= diff) if (ToxicVolley_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_TOXIC_VOLLEY); DoCast(me->getVictim(), SPELL_TOXIC_VOLLEY);
ToxicVolley_Timer = 10000 + rand()%5000; ToxicVolley_Timer = urand(10000, 15000);
} else ToxicVolley_Timer -= diff; } else ToxicVolley_Timer -= diff;
if (!HealthAbovePct(5) && !Death) if (!HealthAbovePct(5) && !Death)
@@ -161,8 +161,8 @@ public:
void Reset() void Reset()
{ {
Charge_Timer = 15000 + rand()%12000; Charge_Timer = urand(15000, 27000);
KnockBack_Timer = 8000 + rand()%12000; KnockBack_Timer = urand(8000, 20000);
Enrage_Timer = 120000; Enrage_Timer = 120000;
Enraged = false; Enraged = false;
@@ -202,7 +202,7 @@ public:
AttackStart(target); AttackStart(target);
} }
Charge_Timer = 8000 + rand()%8000; Charge_Timer = urand(8000, 16000);
} else Charge_Timer -= diff; } else Charge_Timer -= diff;
//KnockBack_Timer //KnockBack_Timer
@@ -211,7 +211,7 @@ public:
DoCast(me->getVictim(), SPELL_KNOCKBACK); DoCast(me->getVictim(), SPELL_KNOCKBACK);
if (DoGetThreat(me->getVictim())) if (DoGetThreat(me->getVictim()))
DoModifyThreatPercent(me->getVictim(), -80); DoModifyThreatPercent(me->getVictim(), -80);
KnockBack_Timer = 15000 + rand()%10000; KnockBack_Timer = urand(15000, 25000);
} else KnockBack_Timer -= diff; } else KnockBack_Timer -= diff;
//Enrage_Timer //Enrage_Timer
@@ -254,8 +254,8 @@ public:
void Reset() void Reset()
{ {
Heal_Timer = 25000 + rand()%15000; Heal_Timer = urand(25000, 40000);
Fear_Timer = 12000 + rand()%12000; Fear_Timer = urand(12000, 24000);
Check_Timer = 2000; Check_Timer = 2000;
VemDead = false; VemDead = false;
@@ -63,9 +63,9 @@ public:
void Reset() void Reset()
{ {
MortalWound_Timer = 10000 + rand()%5000; MortalWound_Timer = urand(10000, 15000);
SpawnHatchlings_Timer = 6000 + rand()%6000; SpawnHatchlings_Timer = urand(6000, 12000);
SpawnSpawns_Timer = 15000 + rand()%30000; SpawnSpawns_Timer = urand(15000, 45000);
} }
void SummonSpawn(Unit* victim) void SummonSpawn(Unit* victim)
@@ -106,7 +106,7 @@ public:
if (MortalWound_Timer <= diff) if (MortalWound_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_MORTAL_WOUND); DoCast(me->getVictim(), SPELL_MORTAL_WOUND);
MortalWound_Timer = 10000 + rand()%10000; MortalWound_Timer = urand(10000, 20000);
} else MortalWound_Timer -= diff; } else MortalWound_Timer -= diff;
//Summon 1-3 Spawns of Fankriss at random time. //Summon 1-3 Spawns of Fankriss at random time.
@@ -127,7 +127,7 @@ public:
SummonSpawn(SelectTarget(SELECT_TARGET_RANDOM, 0)); SummonSpawn(SelectTarget(SELECT_TARGET_RANDOM, 0));
break; break;
} }
SpawnSpawns_Timer = 30000 + rand()%30000; SpawnSpawns_Timer = urand(30000, 60000);
} else SpawnSpawns_Timer -= diff; } else SpawnSpawns_Timer -= diff;
// Teleporting Random Target to one of the three tunnels and spawn 4 hatchlings near the gamer. // Teleporting Random Target to one of the three tunnels and spawn 4 hatchlings near the gamer.
@@ -194,7 +194,7 @@ public:
break; break;
} }
} }
SpawnHatchlings_Timer = 45000 + rand()%15000; SpawnHatchlings_Timer = urand(45000, 60000);
} else SpawnHatchlings_Timer -= diff; } else SpawnHatchlings_Timer -= diff;
} }
@@ -61,11 +61,11 @@ public:
void Reset() void Reset()
{ {
Frenzy_Timer = 25000 + rand()%10000; Frenzy_Timer = urand(25000, 35000);
Wyvern_Timer = 18000 + rand()%10000; Wyvern_Timer = urand(18000, 28000);
Spit_Timer = 8000; Spit_Timer = 8000;
PoisonBolt_Timer = 4000; PoisonBolt_Timer = 4000;
NoxiousPoison_Timer = 10000 + rand()%10000; NoxiousPoison_Timer = urand(10000, 20000);
FrenzyBack_Timer = 15000; FrenzyBack_Timer = 15000;
Frenzy = false; Frenzy = false;
@@ -89,7 +89,7 @@ public:
DoScriptText(EMOTE_GENERIC_FRENZY_KILL, me); DoScriptText(EMOTE_GENERIC_FRENZY_KILL, me);
Frenzy = true; Frenzy = true;
PoisonBolt_Timer = 3000; PoisonBolt_Timer = 3000;
Frenzy_Timer = 25000 + rand()%10000; Frenzy_Timer = urand(25000, 35000);
} else Frenzy_Timer -= diff; } else Frenzy_Timer -= diff;
// Wyvern Timer // Wyvern Timer
@@ -97,21 +97,21 @@ public:
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_WYVERNSTING); DoCast(target, SPELL_WYVERNSTING);
Wyvern_Timer = 15000 + rand()%17000; Wyvern_Timer = urand(15000, 32000);
} else Wyvern_Timer -= diff; } else Wyvern_Timer -= diff;
//Spit Timer //Spit Timer
if (Spit_Timer <= diff) if (Spit_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_ACIDSPIT); DoCast(me->getVictim(), SPELL_ACIDSPIT);
Spit_Timer = 5000 + rand()%5000; Spit_Timer = urand(5000, 10000);
} else Spit_Timer -= diff; } else Spit_Timer -= diff;
//NoxiousPoison_Timer //NoxiousPoison_Timer
if (NoxiousPoison_Timer <= diff) if (NoxiousPoison_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_NOXIOUSPOISON); DoCast(me->getVictim(), SPELL_NOXIOUSPOISON);
NoxiousPoison_Timer = 12000 + rand()%12000; NoxiousPoison_Timer = urand(12000, 24000);
} else NoxiousPoison_Timer -= diff; } else NoxiousPoison_Timer -= diff;
//PoisonBolt only if frenzy or berserk //PoisonBolt only if frenzy or berserk
@@ -59,12 +59,12 @@ public:
void Reset() void Reset()
{ {
Sweep_Timer = 5000 + rand()%5000; Sweep_Timer = urand(5000, 10000);
SandBlast_Timer = 20000 + rand()%15000; SandBlast_Timer = urand(20000, 35000);
Submerge_Timer = 90000 + rand()%60000; Submerge_Timer = urand(90000, 150000);
Back_Timer = 30000 + rand()%15000; Back_Timer = urand(30000, 45000);
ChangeTarget_Timer = 5000 + rand()%3000; ChangeTarget_Timer = urand(5000, 8000);
Spawn_Timer = 10000 + rand()%10000; Spawn_Timer = urand(10000, 20000);
Enrage = false; Enrage = false;
Submerged = false; Submerged = false;
@@ -85,14 +85,14 @@ public:
if (!Submerged && Sweep_Timer <= diff) if (!Submerged && Sweep_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SWEEP); DoCast(me->getVictim(), SPELL_SWEEP);
Sweep_Timer = 15000 + rand()%15000; Sweep_Timer = urand(15000, 30000);
} else Sweep_Timer -= diff; } else Sweep_Timer -= diff;
//SandBlast_Timer //SandBlast_Timer
if (!Submerged && SandBlast_Timer <= diff) if (!Submerged && SandBlast_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SANDBLAST); DoCast(me->getVictim(), SPELL_SANDBLAST);
SandBlast_Timer = 20000 + rand()%15000; SandBlast_Timer = urand(20000, 35000);
} else SandBlast_Timer -= diff; } else SandBlast_Timer -= diff;
//Submerge_Timer //Submerge_Timer
@@ -105,7 +105,7 @@ public:
DoCast(me, SPELL_DIRTMOUND_PASSIVE); DoCast(me, SPELL_DIRTMOUND_PASSIVE);
Submerged = true; Submerged = true;
Back_Timer = 30000 + rand()%15000; Back_Timer = urand(30000, 45000);
} else Submerge_Timer -= diff; } else Submerge_Timer -= diff;
//ChangeTarget_Timer //ChangeTarget_Timer
@@ -117,7 +117,7 @@ public:
if (target) if (target)
DoTeleportTo(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()); DoTeleportTo(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
ChangeTarget_Timer = 10000 + rand()%10000; ChangeTarget_Timer = urand(10000, 20000);
} else ChangeTarget_Timer -= diff; } else ChangeTarget_Timer -= diff;
//Back_Timer //Back_Timer
@@ -129,7 +129,7 @@ public:
DoCast(me->getVictim(), SPELL_GROUND_RUPTURE); DoCast(me->getVictim(), SPELL_GROUND_RUPTURE);
Submerged = false; Submerged = false;
Submerge_Timer = 60000 + rand()%60000; Submerge_Timer = urand(60000, 120000);
} else Back_Timer -= diff; } else Back_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -66,9 +66,9 @@ public:
void Reset() void Reset()
{ {
WhirlWind_Timer = 30000; WhirlWind_Timer = 30000;
WhirlWindRandom_Timer = 3000 + rand()%4000; WhirlWindRandom_Timer = urand(3000, 7000);
WhirlWindEnd_Timer = 15000; WhirlWindEnd_Timer = 15000;
AggroReset_Timer = 45000 + rand()%10000; AggroReset_Timer = urand(45000, 55000);
AggroResetEnd_Timer = 5000; AggroResetEnd_Timer = 5000;
EnrageHard_Timer = 10*60000; EnrageHard_Timer = 10*60000;
@@ -111,13 +111,13 @@ public:
me->TauntApply(target); me->TauntApply(target);
AttackStart(target); AttackStart(target);
} }
WhirlWindRandom_Timer = 3000 + rand()%4000; WhirlWindRandom_Timer = urand(3000, 7000);
} else WhirlWindRandom_Timer -= diff; } else WhirlWindRandom_Timer -= diff;
if (WhirlWindEnd_Timer <= diff) if (WhirlWindEnd_Timer <= diff)
{ {
WhirlWind = false; WhirlWind = false;
WhirlWind_Timer = 25000 + rand()%15000; WhirlWind_Timer = urand(25000, 40000);
} else WhirlWindEnd_Timer -= diff; } else WhirlWindEnd_Timer -= diff;
} }
@@ -140,7 +140,7 @@ public:
AttackStart(target); AttackStart(target);
} }
AggroReset = true; AggroReset = true;
AggroReset_Timer = 2000 + rand()%3000; AggroReset_Timer = urand(2000, 5000);
} else AggroReset_Timer -= diff; } else AggroReset_Timer -= diff;
if (AggroReset) if (AggroReset)
@@ -149,7 +149,7 @@ public:
{ {
AggroReset = false; AggroReset = false;
AggroResetEnd_Timer = 5000; AggroResetEnd_Timer = 5000;
AggroReset_Timer = 35000 + rand()%10000; AggroReset_Timer = urand(35000, 45000);
} else AggroResetEnd_Timer -= diff; } else AggroResetEnd_Timer -= diff;
} }
@@ -207,9 +207,9 @@ public:
void Reset() void Reset()
{ {
WhirlWind_Timer = 30000; WhirlWind_Timer = 30000;
WhirlWindRandom_Timer = 3000 + rand()%4000; WhirlWindRandom_Timer = urand(3000, 7000);
WhirlWindEnd_Timer = 15000; WhirlWindEnd_Timer = 15000;
AggroReset_Timer = 45000 + rand()%10000; AggroReset_Timer = urand(45000, 55000);
AggroResetEnd_Timer = 5000; AggroResetEnd_Timer = 5000;
KnockBack_Timer = 10000; KnockBack_Timer = 10000;
@@ -231,7 +231,7 @@ public:
{ {
DoCast(me, SPELL_WHIRLWINDADD); DoCast(me, SPELL_WHIRLWINDADD);
WhirlWind = true; WhirlWind = true;
WhirlWind_Timer = 25000 + rand()%15000; WhirlWind_Timer = urand(25000, 40000);
WhirlWindEnd_Timer = 15000; WhirlWindEnd_Timer = 15000;
} else WhirlWind_Timer -= diff; } else WhirlWind_Timer -= diff;
@@ -247,7 +247,7 @@ public:
AttackStart(target); AttackStart(target);
} }
WhirlWindRandom_Timer = 3000 + rand()%4000; WhirlWindRandom_Timer = urand(3000, 7000);
} else WhirlWindRandom_Timer -= diff; } else WhirlWindRandom_Timer -= diff;
if (WhirlWindEnd_Timer <= diff) if (WhirlWindEnd_Timer <= diff)
@@ -269,13 +269,13 @@ public:
} }
AggroReset = true; AggroReset = true;
AggroReset_Timer = 2000 + rand()%3000; AggroReset_Timer = urand(2000, 5000);
} else AggroReset_Timer -= diff; } else AggroReset_Timer -= diff;
if (KnockBack_Timer <= diff) if (KnockBack_Timer <= diff)
{ {
DoCast(me, SPELL_WHIRLWINDADD); DoCast(me, SPELL_WHIRLWINDADD);
KnockBack_Timer = 10000 + rand()%10000; KnockBack_Timer = urand(10000, 20000);
} else KnockBack_Timer -= diff; } else KnockBack_Timer -= diff;
} }
@@ -285,7 +285,7 @@ public:
{ {
AggroReset = false; AggroReset = false;
AggroResetEnd_Timer = 5000; AggroResetEnd_Timer = 5000;
AggroReset_Timer = 30000 + rand()%10000; AggroReset_Timer = urand(30000, 40000);
} else AggroResetEnd_Timer -= diff; } else AggroResetEnd_Timer -= diff;
} }
@@ -82,10 +82,10 @@ public:
void Reset() void Reset()
{ {
ArcaneExplosion_Timer = 6000 + rand()%6000; ArcaneExplosion_Timer = urand(6000, 12000);
EarthShock_Timer = 2000; EarthShock_Timer = 2000;
FullFillment_Timer = 15000; FullFillment_Timer = 15000;
Blink_Timer = 8000 + rand()%12000; Blink_Timer = urand(8000, 20000);
Invisible_Timer = 500; Invisible_Timer = 500;
Images75 = false; Images75 = false;
@@ -128,7 +128,7 @@ public:
if (ArcaneExplosion_Timer <= diff) if (ArcaneExplosion_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_ARCANE_EXPLOSION); DoCast(me->getVictim(), SPELL_ARCANE_EXPLOSION);
ArcaneExplosion_Timer = 8000 + rand()%10000; ArcaneExplosion_Timer = urand(8000, 18000);
} else ArcaneExplosion_Timer -= diff; } else ArcaneExplosion_Timer -= diff;
//If we are within range melee the target //If we are within range melee the target
@@ -171,7 +171,7 @@ public:
} }
DoStopAttack(); DoStopAttack();
Blink_Timer= 20000 + rand()%20000; Blink_Timer= urand(20000, 40000);
} else Blink_Timer -= diff; } else Blink_Timer -= diff;
int procent = (int) (me->GetHealthPct() + 0.5f); int procent = (int) (me->GetHealthPct() + 0.5f);
@@ -88,7 +88,7 @@ struct boss_twinemperorsAI : public ScriptedAI
AfterTeleport = false; AfterTeleport = false;
tspellcasted = false; tspellcasted = false;
AfterTeleportTimer = 0; AfterTeleportTimer = 0;
Abuse_Bug_Timer = 10000 + rand()%7000; Abuse_Bug_Timer = urand(10000, 17000);
BugsTimer = 2000; BugsTimer = 2000;
me->ClearUnitState(UNIT_STAT_STUNNED); me->ClearUnitState(UNIT_STAT_STUNNED);
DontYellWhenDead = false; DontYellWhenDead = false;
@@ -347,7 +347,7 @@ struct boss_twinemperorsAI : public ScriptedAI
if (c) if (c)
{ {
CastSpellOnBug(c); CastSpellOnBug(c);
Abuse_Bug_Timer = 10000 + rand()%7000; Abuse_Bug_Timer = urand(10000, 17000);
} }
else else
{ {
@@ -407,9 +407,9 @@ public:
void Reset() void Reset()
{ {
TwinReset(); TwinReset();
UpperCut_Timer = 14000 + rand()%15000; UpperCut_Timer = urand(14000, 29000);
UnbalancingStrike_Timer = 8000 + rand()%10000; UnbalancingStrike_Timer = urand(8000, 18000);
Scarabs_Timer = 7000 + rand()%7000; Scarabs_Timer = urand(7000, 14000);
//Added. Can be removed if its included in DB. //Added. Can be removed if its included in DB.
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true);
@@ -495,9 +495,9 @@ public:
{ {
TwinReset(); TwinReset();
ShadowBolt_Timer = 0; ShadowBolt_Timer = 0;
Blizzard_Timer = 15000 + rand()%5000; Blizzard_Timer = urand(15000, 20000);
ArcaneBurst_Timer = 1000; ArcaneBurst_Timer = 1000;
Scorpions_Timer = 7000 + rand()%7000; Scorpions_Timer = urand(7000, 14000);
//Added. Can be removed if its included in DB. //Added. Can be removed if its included in DB.
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true); me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true);
@@ -243,7 +243,7 @@ public:
void Reset() void Reset()
{ {
Dynamite_Timer = 8000; Dynamite_Timer = 8000;
Emote_Timer = 120000 + rand()%30000; Emote_Timer = urand(120000, 150000);
me->setFaction(NormFaction); me->setFaction(NormFaction);
me->SetUInt32Value(UNIT_NPC_FLAGS, NpcFlags); me->SetUInt32Value(UNIT_NPC_FLAGS, NpcFlags);
@@ -264,7 +264,7 @@ public:
{ {
DoScriptText(SAY_TEXT, me); DoScriptText(SAY_TEXT, me);
DoScriptText(SAY_EMOTE, me); DoScriptText(SAY_EMOTE, me);
Emote_Timer = 120000 + rand()%30000; Emote_Timer = urand(120000, 150000);
} else Emote_Timer -= diff; } else Emote_Timer -= diff;
} }
else if (IsTreeEvent) else if (IsTreeEvent)
@@ -62,11 +62,11 @@ public:
void Reset() void Reset()
{ {
MarkOfFrost_Timer = 35000; MarkOfFrost_Timer = 35000;
ManaStorm_Timer = 5000 + rand()%12000; ManaStorm_Timer = urand(5000, 17000);
Chill_Timer = 10000 + rand()%20000; Chill_Timer = urand(10000, 30000);
Breath_Timer = 2000 + rand()%6000; Breath_Timer = urand(2000, 8000);
Teleport_Timer = 30000; Teleport_Timer = 30000;
Reflect_Timer = 15000 + rand()%15000; Reflect_Timer = urand(15000, 30000);
Cleave_Timer = 7000; Cleave_Timer = 7000;
Enrage_Timer = 0; Enrage_Timer = 0;
Enraged = false; Enraged = false;
@@ -109,14 +109,14 @@ public:
if (Chill_Timer <= diff) if (Chill_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_CHILL); DoCast(me->getVictim(), SPELL_CHILL);
Chill_Timer = 13000 + rand()%12000; Chill_Timer = urand(13000, 25000);
} else Chill_Timer -= diff; } else Chill_Timer -= diff;
//Breath_Timer //Breath_Timer
if (Breath_Timer <= diff) if (Breath_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_FROSTBREATH); DoCast(me->getVictim(), SPELL_FROSTBREATH);
Breath_Timer = 10000 + rand()%5000; Breath_Timer = urand(10000, 15000);
} else Breath_Timer -= diff; } else Breath_Timer -= diff;
//ManaStorm_Timer //ManaStorm_Timer
@@ -124,14 +124,14 @@ public:
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_MANASTORM); DoCast(target, SPELL_MANASTORM);
ManaStorm_Timer = 7500 + rand()%5000; ManaStorm_Timer = urand(7500, 12500);
} else ManaStorm_Timer -= diff; } else ManaStorm_Timer -= diff;
//Reflect_Timer //Reflect_Timer
if (Reflect_Timer <= diff) if (Reflect_Timer <= diff)
{ {
DoCast(me, SPELL_REFLECT); DoCast(me, SPELL_REFLECT);
Reflect_Timer = 20000 + rand()%15000; Reflect_Timer = urand(20000, 35000);
} else Reflect_Timer -= diff; } else Reflect_Timer -= diff;
//Cleave_Timer //Cleave_Timer
@@ -111,7 +111,7 @@ public:
{ {
_EnterCombat(); _EnterCombat();
DoScriptText(SAY_AGGRO, me); DoScriptText(SAY_AGGRO, me);
events.ScheduleEvent(EVENT_IMPALE, 10000 + rand()%10000); events.ScheduleEvent(EVENT_IMPALE, urand(10000, 20000));
events.ScheduleEvent(EVENT_LOCUST, 90000); events.ScheduleEvent(EVENT_LOCUST, 90000);
events.ScheduleEvent(EVENT_BERSERK, 600000); events.ScheduleEvent(EVENT_BERSERK, 600000);
@@ -107,7 +107,7 @@ public:
events.ScheduleEvent(EVENT_CURSE, 10000+rand()%15000); events.ScheduleEvent(EVENT_CURSE, 10000+rand()%15000);
events.ScheduleEvent(EVENT_WARRIOR, 30000); events.ScheduleEvent(EVENT_WARRIOR, 30000);
if (GetDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL) if (GetDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)
events.ScheduleEvent(EVENT_BLINK, 20000 + rand()%20000); events.ScheduleEvent(EVENT_BLINK, urand(20000, 40000));
} }
} }
@@ -153,7 +153,7 @@ public:
{ {
case EVENT_CURSE: case EVENT_CURSE:
DoCastAOE(SPELL_CURSE_PLAGUEBRINGER); DoCastAOE(SPELL_CURSE_PLAGUEBRINGER);
events.ScheduleEvent(EVENT_CURSE, 50000 + rand()%10000); events.ScheduleEvent(EVENT_CURSE, urand(50000, 60000));
return; return;
case EVENT_WARRIOR: case EVENT_WARRIOR:
DoScriptText(SAY_SUMMON, me); DoScriptText(SAY_SUMMON, me);
@@ -173,7 +173,7 @@ public:
me->RemoveAllAuras(); me->RemoveAllAuras();
me->NearTeleportTo(TELE_X, TELE_Y, TELE_Z, TELE_O); me->NearTeleportTo(TELE_X, TELE_Y, TELE_Z, TELE_O);
events.Reset(); events.Reset();
events.ScheduleEvent(EVENT_WAVE, 2000 + rand()%3000); events.ScheduleEvent(EVENT_WAVE, urand(2000, 5000));
waveCount = 0; waveCount = 0;
return; return;
case EVENT_WAVE: case EVENT_WAVE:
@@ -188,7 +188,7 @@ public:
SummonUndead(MOB_GUARDIAN, RAID_MODE(5, 10));break; SummonUndead(MOB_GUARDIAN, RAID_MODE(5, 10));break;
} }
++waveCount; ++waveCount;
events.ScheduleEvent(waveCount < 2 ? EVENT_WAVE : EVENT_GROUND, 30000 + rand()%15000); events.ScheduleEvent(waveCount < 2 ? EVENT_WAVE : EVENT_GROUND, urand(30000, 45000));
return; return;
case EVENT_GROUND: case EVENT_GROUND:
{ {
@@ -131,7 +131,7 @@ public:
m_uiChargingStatus = 0; m_uiChargingStatus = 0;
m_uiCharge_Timer = 1000; m_uiCharge_Timer = 1000;
m_uiChangeStance_Timer = 20000 + rand()%5000; m_uiChangeStance_Timer = urand(20000, 25000);
m_uiReflection_Timer = 8000; m_uiReflection_Timer = 8000;
m_uiKnockAway_Timer = 20000; m_uiKnockAway_Timer = 20000;
@@ -252,7 +252,7 @@ public:
break; break;
} }
m_uiChangeStance_Timer = 20000 + rand()%5000; m_uiChangeStance_Timer = urand(20000, 25000);
return; return;
} }
else else
@@ -265,7 +265,7 @@ public:
if (m_uiReflection_Timer <= uiDiff) if (m_uiReflection_Timer <= uiDiff)
{ {
DoCast(me, SPELL_SPELL_REFLECTION); DoCast(me, SPELL_SPELL_REFLECTION);
m_uiReflection_Timer = 8000 + rand()%1000; m_uiReflection_Timer = urand(8000, 9000);
} }
else else
m_uiReflection_Timer -= uiDiff; m_uiReflection_Timer -= uiDiff;
@@ -273,7 +273,7 @@ public:
if (m_uiKnockAway_Timer <= uiDiff) if (m_uiKnockAway_Timer <= uiDiff)
{ {
DoCast(me, SPELL_KNOCK_AWAY); DoCast(me, SPELL_KNOCK_AWAY);
m_uiKnockAway_Timer = 20000 + rand()%1000; m_uiKnockAway_Timer = urand(20000, 21000);
} }
else else
m_uiKnockAway_Timer -= uiDiff; m_uiKnockAway_Timer -= uiDiff;
@@ -281,7 +281,7 @@ public:
if (m_uiPummel_Timer <= uiDiff) if (m_uiPummel_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_PUMMEL); DoCast(me->getVictim(), SPELL_PUMMEL);
m_uiPummel_Timer = 10000 + rand()%1000; m_uiPummel_Timer = urand(10000, 11000);
} }
else else
m_uiPummel_Timer -= uiDiff; m_uiPummel_Timer -= uiDiff;
@@ -289,7 +289,7 @@ public:
if (m_uiIronform_Timer <= uiDiff) if (m_uiIronform_Timer <= uiDiff)
{ {
DoCast(me, SPELL_IRONFORM); DoCast(me, SPELL_IRONFORM);
m_uiIronform_Timer = 25000 + rand()%1000; m_uiIronform_Timer = urand(25000, 26000);
} }
else else
m_uiIronform_Timer -= uiDiff; m_uiIronform_Timer -= uiDiff;
@@ -302,7 +302,7 @@ public:
{ {
//not much point is this, better random target and more often? //not much point is this, better random target and more often?
DoCast(me->getVictim(), SPELL_INTERCEPT); DoCast(me->getVictim(), SPELL_INTERCEPT);
m_uiIntercept_Timer = 45000 + rand()%1000; m_uiIntercept_Timer = urand(45000, 46000);
} }
else else
m_uiIntercept_Timer -= uiDiff; m_uiIntercept_Timer -= uiDiff;
@@ -310,7 +310,7 @@ public:
if (m_uiWhirlwind_Timer <= uiDiff) if (m_uiWhirlwind_Timer <= uiDiff)
{ {
DoCast(me, SPELL_WHIRLWIND); DoCast(me, SPELL_WHIRLWIND);
m_uiWhirlwind_Timer = 10000 + rand()%1000; m_uiWhirlwind_Timer = urand(10000, 11000);
} }
else else
m_uiWhirlwind_Timer -= uiDiff; m_uiWhirlwind_Timer -= uiDiff;
@@ -318,7 +318,7 @@ public:
if (m_uiCleave_Timer <= uiDiff) if (m_uiCleave_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_CLEAVE); DoCast(me->getVictim(), SPELL_CLEAVE);
m_uiCleave_Timer = 8000 + rand()%1000; m_uiCleave_Timer = urand(8000, 9000);
} }
else else
m_uiCleave_Timer -= uiDiff; m_uiCleave_Timer -= uiDiff;
@@ -330,7 +330,7 @@ public:
if (m_uiMortalStrike_Timer <= uiDiff) if (m_uiMortalStrike_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_MORTAL_STRIKE); DoCast(me->getVictim(), SPELL_MORTAL_STRIKE);
m_uiMortalStrike_Timer = 20000 + rand()%1000; m_uiMortalStrike_Timer = urand(20000, 21000);
} }
else else
m_uiMortalStrike_Timer -= uiDiff; m_uiMortalStrike_Timer -= uiDiff;
@@ -338,7 +338,7 @@ public:
if (m_uiSlam_Timer <= uiDiff) if (m_uiSlam_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_SLAM); DoCast(me->getVictim(), SPELL_SLAM);
m_uiSlam_Timer = 15000 + rand()%1000; m_uiSlam_Timer = urand(15000, 16000);
} }
else else
m_uiSlam_Timer -= uiDiff; m_uiSlam_Timer -= uiDiff;
@@ -381,8 +381,8 @@ public:
void Reset() void Reset()
{ {
m_uiArcWeld_Timer = 20000 + rand()%1000; m_uiArcWeld_Timer = urand(20000, 21000);
m_uiRenewSteel_Timer = 10000 + rand()%1000; m_uiRenewSteel_Timer = urand(10000, 11000);
} }
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
@@ -406,7 +406,7 @@ public:
if (m_uiArcWeld_Timer <= uiDiff) if (m_uiArcWeld_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_ARC_WELD); DoCast(me->getVictim(), SPELL_ARC_WELD);
m_uiArcWeld_Timer = 20000 + rand()%1000; m_uiArcWeld_Timer = urand(20000, 21000);
} }
else else
m_uiArcWeld_Timer -= uiDiff; m_uiArcWeld_Timer -= uiDiff;
@@ -421,7 +421,7 @@ public:
DoCast(pBjarngrim, SPELL_RENEW_STEEL_N); DoCast(pBjarngrim, SPELL_RENEW_STEEL_N);
} }
} }
m_uiRenewSteel_Timer = 10000 + rand()%4000; m_uiRenewSteel_Timer = urand(10000, 14000);
} }
else else
m_uiRenewSteel_Timer -= uiDiff; m_uiRenewSteel_Timer -= uiDiff;
@@ -183,7 +183,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_ARC_LIGHTNING); DoCast(target, SPELL_ARC_LIGHTNING);
m_uiArcLightning_Timer = 15000 + rand()%1000; m_uiArcLightning_Timer = urand(15000, 16000);
} }
else else
m_uiArcLightning_Timer -= uiDiff; m_uiArcLightning_Timer -= uiDiff;
@@ -196,7 +196,7 @@ public:
m_bIsAura = false; m_bIsAura = false;
m_uiResumePulsingShockwave_Timer = DUNGEON_MODE(5000, 4000); // Pause Pulsing Shockwave aura m_uiResumePulsingShockwave_Timer = DUNGEON_MODE(5000, 4000); // Pause Pulsing Shockwave aura
m_uiLightningNova_Timer = 20000 + rand()%1000; m_uiLightningNova_Timer = urand(20000, 21000);
} }
else else
m_uiLightningNova_Timer -= uiDiff; m_uiLightningNova_Timer -= uiDiff;
@@ -80,10 +80,10 @@ public:
{ {
bIsSlam = false; bIsSlam = false;
uiBoulderTossTimer = 3000 + rand()%6000; uiBoulderTossTimer = urand(3000, 9000);
uiGroundSpikeTimer = 9000 + rand()%5000; uiGroundSpikeTimer = urand(9000, 14000);
uiGroundSlamTimer = 15000 + rand()%3000; uiGroundSlamTimer = urand(15000, 18000);
uiStompTimer = 20000 + rand()%9000; uiStompTimer = urand(20000, 29000);
uiShatterTimer = 0; uiShatterTimer = 0;
if (instance) if (instance)
@@ -107,20 +107,20 @@ public:
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(target, SPELL_BOULDER_TOSS); DoCast(target, SPELL_BOULDER_TOSS);
uiBoulderTossTimer = 9000 + rand()%6000; uiBoulderTossTimer = urand(9000, 15000);
} else uiBoulderTossTimer -= diff; } else uiBoulderTossTimer -= diff;
if (uiGroundSpikeTimer <= diff) if (uiGroundSpikeTimer <= diff)
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(target, SPELL_GROUND_SPIKE); DoCast(target, SPELL_GROUND_SPIKE);
uiGroundSpikeTimer = 12000 + rand()%5000; uiGroundSpikeTimer = urand(12000, 17000);
} else uiGroundSpikeTimer -= diff; } else uiGroundSpikeTimer -= diff;
if (uiStompTimer <= diff) if (uiStompTimer <= diff)
{ {
DoCast(me, SPELL_STOMP); DoCast(me, SPELL_STOMP);
uiStompTimer = 20000 + rand()%9000; uiStompTimer = urand(20000, 29000);
} else uiStompTimer -= diff; } else uiStompTimer -= diff;
if (uiGroundSlamTimer <= diff) if (uiGroundSlamTimer <= diff)
@@ -128,7 +128,7 @@ public:
DoCast(me, SPELL_GROUND_SLAM); DoCast(me, SPELL_GROUND_SLAM);
bIsSlam = true; bIsSlam = true;
uiShatterTimer = 10000; uiShatterTimer = 10000;
uiGroundSlamTimer = 15000 + rand()%3000; uiGroundSlamTimer = urand(15000, 18000);
} else uiGroundSlamTimer -= diff; } else uiGroundSlamTimer -= diff;
if (bIsSlam) if (bIsSlam)
@@ -79,10 +79,10 @@ public:
void Reset() void Reset()
{ {
PartingSorrowTimer = 25000 + rand()%5000; PartingSorrowTimer = urand(25000, 30000);
StormOfGriefTimer = 10000; StormOfGriefTimer = 10000;
ShockOfSorrowTimer = 20000+rand()%5000; ShockOfSorrowTimer = 20000+rand()%5000;
PillarOfWoeTimer = 5000 + rand()%10000; PillarOfWoeTimer = urand(5000, 15000);
if (instance) if (instance)
{ {
@@ -124,14 +124,14 @@ public:
if (target) if (target)
DoCast(target, SPELL_PARTING_SORROW); DoCast(target, SPELL_PARTING_SORROW);
PartingSorrowTimer = 30000 + rand()%10000; PartingSorrowTimer = urand(30000, 40000);
} else PartingSorrowTimer -= diff; } else PartingSorrowTimer -= diff;
} }
if (StormOfGriefTimer <= diff) if (StormOfGriefTimer <= diff)
{ {
DoCast(me->getVictim(), SPELL_STORM_OF_GRIEF_N, true); DoCast(me->getVictim(), SPELL_STORM_OF_GRIEF_N, true);
StormOfGriefTimer = 15000 + rand()%5000; StormOfGriefTimer = urand(15000, 20000);
} else StormOfGriefTimer -= diff; } else StormOfGriefTimer -= diff;
if (ShockOfSorrowTimer <= diff) if (ShockOfSorrowTimer <= diff)
@@ -139,7 +139,7 @@ public:
DoResetThreat(); DoResetThreat();
DoScriptText(SAY_STUN, me); DoScriptText(SAY_STUN, me);
DoCast(me, SPELL_SHOCK_OF_SORROW_N); DoCast(me, SPELL_SHOCK_OF_SORROW_N);
ShockOfSorrowTimer = 20000 + rand()%10000; ShockOfSorrowTimer = urand(20000, 30000);
} else ShockOfSorrowTimer -= diff; } else ShockOfSorrowTimer -= diff;
if (PillarOfWoeTimer <= diff) if (PillarOfWoeTimer <= diff)
@@ -151,7 +151,7 @@ public:
else else
DoCast(me->getVictim(), SPELL_PILLAR_OF_WOE_N); DoCast(me->getVictim(), SPELL_PILLAR_OF_WOE_N);
PillarOfWoeTimer = 5000 + rand()%20000; PillarOfWoeTimer = urand(5000, 25000);
} else PillarOfWoeTimer -= diff; } else PillarOfWoeTimer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -115,10 +115,10 @@ public:
bIsFrenzy = false; bIsFrenzy = false;
uiEncounterTimer = 0; uiEncounterTimer = 0;
uiChainLightningTimer = 3000 + rand()%5000; uiChainLightningTimer = urand(3000, 8000);
uiLightningShieldTimer = 20000 + rand()%5000; uiLightningShieldTimer = urand(20000, 25000);
uiStaticChargeTimer = 20000 + rand()%5000; uiStaticChargeTimer = urand(20000, 25000);
uiLightningRingTimer = 30000 + rand()%5000; uiLightningRingTimer = urand(30000, 35000);
uiSummonTimer = 5000; uiSummonTimer = 5000;
uiFrenzyTimer = 300000; //5 minutes uiFrenzyTimer = 300000; //5 minutes
abuseTheOoze = 0; abuseTheOoze = 0;
@@ -158,7 +158,7 @@ public:
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(target, SPELL_CHAIN_LIGHTING); DoCast(target, SPELL_CHAIN_LIGHTING);
uiChainLightningTimer = 10000 + rand()%5000; uiChainLightningTimer = urand(10000, 15000);
} else uiChainLightningTimer -= diff; } else uiChainLightningTimer -= diff;
if (uiLightningShieldTimer <= diff) if (uiLightningShieldTimer <= diff)
@@ -170,7 +170,7 @@ public:
if (uiStaticChargeTimer <= diff) if (uiStaticChargeTimer <= diff)
{ {
DoCast(me->getVictim(), SPELL_STATIC_CHARGE); DoCast(me->getVictim(), SPELL_STATIC_CHARGE);
uiStaticChargeTimer = 20000 + rand()%5000; uiStaticChargeTimer = urand(20000, 25000);
} uiStaticChargeTimer -= diff; } uiStaticChargeTimer -= diff;
if (uiLightningRingTimer <= diff) if (uiLightningRingTimer <= diff)
@@ -178,7 +178,7 @@ public:
if (me->IsNonMeleeSpellCasted(false)) if (me->IsNonMeleeSpellCasted(false))
me->InterruptNonMeleeSpells(false); me->InterruptNonMeleeSpells(false);
DoCast(me, SPELL_LIGHTING_RING); DoCast(me, SPELL_LIGHTING_RING);
uiLightningRingTimer = 30000 + rand()%5000; uiLightningRingTimer = urand(30000, 35000);
} else uiLightningRingTimer -= diff; } else uiLightningRingTimer -= diff;
if (uiSummonTimer <= diff) if (uiSummonTimer <= diff)
@@ -239,7 +239,7 @@ public:
summon->CastSpell(target, DUNGEON_MODE(SPELL_DARK_MATTER, H_SPELL_DARK_MATTER), true); summon->CastSpell(target, DUNGEON_MODE(SPELL_DARK_MATTER, H_SPELL_DARK_MATTER), true);
} }
} }
uiMarnakEncounterTimer = 30000 + rand()%1000; uiMarnakEncounterTimer = urand(30000, 31000);
} else uiMarnakEncounterTimer -= diff; } else uiMarnakEncounterTimer -= diff;
} }
if (bAbedneumActivated) if (bAbedneumActivated)
@@ -255,7 +255,7 @@ public:
summon->CastSpell(target, DUNGEON_MODE(SPELL_SEARING_GAZE, H_SPELL_SEARING_GAZE), true); summon->CastSpell(target, DUNGEON_MODE(SPELL_SEARING_GAZE, H_SPELL_SEARING_GAZE), true);
} }
} }
uiAbedneumEncounterTimer = 30000 + rand()%1000; uiAbedneumEncounterTimer = urand(30000, 31000);
} else uiAbedneumEncounterTimer -= diff; } else uiAbedneumEncounterTimer -= diff;
} }
} }
@@ -143,7 +143,7 @@ public:
uiPhase_timer = 0; uiPhase_timer = 0;
Ascend_Timer = 480000; //8 minutes Ascend_Timer = 480000; //8 minutes
QuantumStrike_Timer = 4000 + rand()%10000; QuantumStrike_Timer = urand(4000, 14000);
Berserk_Timer = 360000; //6 minutes Berserk_Timer = 360000; //6 minutes
CollapsingStar_Timer = urand(15000, 20000); //Spawns between 15 to 20 seconds CollapsingStar_Timer = urand(15000, 20000); //Spawns between 15 to 20 seconds
BigBang_Timer = 90000; BigBang_Timer = 90000;
@@ -340,7 +340,7 @@ public:
if (Mortal_Strike_timer <= diff) if (Mortal_Strike_timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_AV_MORTAL_STRIKE); DoCast(me->getVictim(), SPELL_AV_MORTAL_STRIKE);
Mortal_Strike_timer = 10000 + rand()%20 * 1000; Mortal_Strike_timer = urand(10, 30) * 1000;
} else Mortal_Strike_timer -= diff; } else Mortal_Strike_timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -162,20 +162,20 @@ public:
me->InterruptNonMeleeSpells(true); me->InterruptNonMeleeSpells(true);
DoCast(me, SPELL_FROSTNOVA); DoCast(me, SPELL_FROSTNOVA);
FrostNova_Timer = 17500 + rand()%7500; FrostNova_Timer = urand(17500, 25000);
CanBlink = true; CanBlink = true;
} else FrostNova_Timer -= diff; } else FrostNova_Timer -= diff;
if (Frostbolt_Timer <= diff) if (Frostbolt_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_FROSTBOLT); DoCast(me->getVictim(), SPELL_FROSTBOLT);
Frostbolt_Timer = 4500 + rand()%1500; Frostbolt_Timer = urand(4500, 6000);
} else Frostbolt_Timer -= diff; } else Frostbolt_Timer -= diff;
if (FireBall_Timer <= diff) if (FireBall_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_FIREBALL); DoCast(me->getVictim(), SPELL_FIREBALL);
FireBall_Timer = 4500 + rand()%1500; FireBall_Timer = urand(4500, 6000);
} else FireBall_Timer -= diff; } else FireBall_Timer -= diff;
if (CanBlink) if (CanBlink)
@@ -191,7 +191,7 @@ public:
me->GetMotionMaster()->MovementExpired(); me->GetMotionMaster()->MovementExpired();
DoCast(me, SPELL_BLINK); DoCast(me, SPELL_BLINK);
Blink_Timer = 1000 + rand()%1500; Blink_Timer = urand(1000, 2500);
CanBlink = false; CanBlink = false;
} else Blink_Timer -= diff; } else Blink_Timer -= diff;
} }
@@ -290,7 +290,7 @@ public:
if (ArcaneBolt_Timer <= diff) if (ArcaneBolt_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_ARCANE_BOLT); DoCast(me->getVictim(), SPELL_ARCANE_BOLT);
ArcaneBolt_Timer = 2000 + rand()%2500; ArcaneBolt_Timer = urand(2000, 4500);
} else ArcaneBolt_Timer -= diff; } else ArcaneBolt_Timer -= diff;
if (Apprentice_Timer <= diff) if (Apprentice_Timer <= diff)
@@ -157,7 +157,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_FLAME_SHOCK); DoCast(target, SPELL_FLAME_SHOCK);
flameshock_timer = 10000 + rand()%5000; flameshock_timer = urand(10000, 15000);
} else flameshock_timer -= diff; } else flameshock_timer -= diff;
if (arcaneshock_timer <= diff) if (arcaneshock_timer <= diff)
@@ -165,7 +165,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_ARCANE_SHOCK); DoCast(target, SPELL_ARCANE_SHOCK);
arcaneshock_timer = 10000 + rand()%5000; arcaneshock_timer = urand(10000, 15000);
} else arcaneshock_timer -= diff; } else arcaneshock_timer -= diff;
if (frostshock_timer <= diff) if (frostshock_timer <= diff)
@@ -173,7 +173,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_FROST_SHOCK); DoCast(target, SPELL_FROST_SHOCK);
frostshock_timer = 10000 + rand()%5000; frostshock_timer = urand(10000, 15000);
} else frostshock_timer -= diff; } else frostshock_timer -= diff;
if (shadowshock_timer <= diff) if (shadowshock_timer <= diff)
@@ -181,7 +181,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_SHADOW_SHOCK); DoCast(target, SPELL_SHADOW_SHOCK);
shadowshock_timer = 10000 + rand()%5000; shadowshock_timer = urand(10000, 15000);
} else shadowshock_timer -= diff; } else shadowshock_timer -= diff;
if (chainlightning_timer <= diff) if (chainlightning_timer <= diff)
@@ -74,8 +74,8 @@ public:
void Reset() void Reset()
{ {
EventCheck_Timer = 5000; EventCheck_Timer = 5000;
CorrosiveAcid_Timer = 5000 + rand()%5000; CorrosiveAcid_Timer = urand(5000, 10000);
Fear_Timer = 25000 + rand()%5000; Fear_Timer = urand(25000, 30000);
Enrage_Timer = 180000; Enrage_Timer = 180000;
Intro = false; Intro = false;
IsBanished = true; IsBanished = true;
@@ -182,13 +182,13 @@ public:
if (CorrosiveAcid_Timer <= diff) if (CorrosiveAcid_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_CORROSIVE_ACID); DoCast(me->getVictim(), SPELL_CORROSIVE_ACID);
CorrosiveAcid_Timer = 15000 + rand()%10000; CorrosiveAcid_Timer = urand(15000, 25000);
} else CorrosiveAcid_Timer -= diff; } else CorrosiveAcid_Timer -= diff;
if (Fear_Timer <= diff) if (Fear_Timer <= diff)
{ {
DoCast(me, SPELL_FEAR); DoCast(me, SPELL_FEAR);
Fear_Timer = 20000 + rand()%15000; Fear_Timer = urand(20000, 35000);
} else Fear_Timer -= diff; } else Fear_Timer -= diff;
if (IsHeroic()) if (IsHeroic())
@@ -152,14 +152,14 @@ public:
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_CHARGE); DoCast(target, SPELL_CHARGE);
Charge_Timer = 15000 + rand()%10000; Charge_Timer = urand(15000, 25000);
} else Charge_Timer -= diff; } else Charge_Timer -= diff;
//Knockback_Timer //Knockback_Timer
if (Knockback_Timer <= diff) if (Knockback_Timer <= diff)
{ {
DoCast(me, SPELL_WAR_STOMP); DoCast(me, SPELL_WAR_STOMP);
Knockback_Timer = 18000 + rand()%6000; Knockback_Timer = urand(18000, 24000);
} else Knockback_Timer -= diff; } else Knockback_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -165,7 +165,7 @@ public:
void Reset() void Reset()
{ {
ShadowBoltVolley_Timer = 7000 + rand()%7000; ShadowBoltVolley_Timer = urand(7000, 14000);
DrawShadows_Timer = 45000; DrawShadows_Timer = 45000;
summonTraveler_Timer = 90000; summonTraveler_Timer = 90000;
banish_Timer = 17000; banish_Timer = 17000;
@@ -269,7 +269,7 @@ public:
if (ShadowBoltVolley_Timer <= diff) if (ShadowBoltVolley_Timer <= diff)
{ {
DoCast(me, SPELL_SHADOWBOLT_VOLLEY); DoCast(me, SPELL_SHADOWBOLT_VOLLEY);
ShadowBoltVolley_Timer = 15000 + rand()%15000; ShadowBoltVolley_Timer = urand(15000, 30000);
} else ShadowBoltVolley_Timer -= diff; } else ShadowBoltVolley_Timer -= diff;
if (IsHeroic() && banish_Timer <= diff) if (IsHeroic() && banish_Timer <= diff)
@@ -64,9 +64,9 @@ public:
void Reset() void Reset()
{ {
SonicBoom_Timer = 30000; SonicBoom_Timer = 30000;
MurmursTouch_Timer = 8000 + rand()%12000; MurmursTouch_Timer = urand(8000, 20000);
Resonance_Timer = 5000; Resonance_Timer = 5000;
MagneticPull_Timer = 15000 + rand()%15000; MagneticPull_Timer = urand(15000, 30000);
ThunderingStorm_Timer = 15000; ThunderingStorm_Timer = 15000;
SonicShock_Timer = 10000; SonicShock_Timer = 10000;
SonicBoom = false; SonicBoom = false;
@@ -133,7 +133,7 @@ public:
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 80, true)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 80, true))
DoCast(target, SPELL_MURMURS_TOUCH); DoCast(target, SPELL_MURMURS_TOUCH);
MurmursTouch_Timer = 25000 + rand()%10000; MurmursTouch_Timer = urand(25000, 35000);
} else MurmursTouch_Timer -= diff; } else MurmursTouch_Timer -= diff;
// Resonance // Resonance
@@ -646,7 +646,7 @@ public:
case PHASE_NORMAL_MAIEV: case PHASE_NORMAL_MAIEV:
AttackStart(me->getVictim()); AttackStart(me->getVictim());
Timer[EVENT_TAUNT] = 32000; Timer[EVENT_TAUNT] = 32000;
Timer[EVENT_SHEAR] = 10000 + rand()%15 * 1000; Timer[EVENT_SHEAR] = urand(10, 25) * 1000;
Timer[EVENT_FLAME_CRASH] = 20000; Timer[EVENT_FLAME_CRASH] = 20000;
Timer[EVENT_PARASITIC_SHADOWFIEND] = 25000; Timer[EVENT_PARASITIC_SHADOWFIEND] = 25000;
Timer[EVENT_PARASITE_CHECK] = 0; Timer[EVENT_PARASITE_CHECK] = 0;
@@ -657,14 +657,14 @@ public:
Timer[EVENT_TRANSFORM_NORMAL] = 60000; Timer[EVENT_TRANSFORM_NORMAL] = 60000;
if (NextPhase == PHASE_NORMAL_2) if (NextPhase == PHASE_NORMAL_2)
break; break;
Timer[EVENT_ENRAGE] = 30000 + rand()%10 * 1000; Timer[EVENT_ENRAGE] = urand(30, 40) * 1000;
break; break;
case PHASE_FLIGHT: case PHASE_FLIGHT:
Timer[EVENT_FIREBALL] = 1000; Timer[EVENT_FIREBALL] = 1000;
if (!(rand()%4)) if (!(rand()%4))
Timer[EVENT_DARK_BARRAGE] = 10000; Timer[EVENT_DARK_BARRAGE] = 10000;
Timer[EVENT_EYE_BLAST] = 10000 + rand()%15 * 1000; Timer[EVENT_EYE_BLAST] = urand(10, 25) * 1000;
Timer[EVENT_MOVE_POINT] = 20000 + rand()%20 * 1000; Timer[EVENT_MOVE_POINT] = urand(20, 40) * 1000;
break; break;
case PHASE_DEMON: case PHASE_DEMON:
Timer[EVENT_SHADOW_BLAST] = 1000; Timer[EVENT_SHADOW_BLAST] = 1000;
@@ -1022,7 +1022,7 @@ public:
if (soundid) if (soundid)
DoPlaySoundToSet(me, soundid); DoPlaySoundToSet(me, soundid);
} }
Timer[EVENT_TAUNT] = 25000 + rand()%10000; Timer[EVENT_TAUNT] = urand(25000, 35000);
break; break;
case EVENT_SHEAR: case EVENT_SHEAR:
@@ -1033,14 +1033,14 @@ public:
case EVENT_FLAME_CRASH: case EVENT_FLAME_CRASH:
DoCast(me->getVictim(), SPELL_FLAME_CRASH); DoCast(me->getVictim(), SPELL_FLAME_CRASH);
Timer[EVENT_FLAME_CRASH] = 30000 + rand()%10000; Timer[EVENT_FLAME_CRASH] = urand(30000, 40000);
break; break;
case EVENT_PARASITIC_SHADOWFIEND: case EVENT_PARASITIC_SHADOWFIEND:
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 200, true)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 200, true))
DoCast(target, SPELL_PARASITIC_SHADOWFIEND, true); DoCast(target, SPELL_PARASITIC_SHADOWFIEND, true);
Timer[EVENT_PARASITIC_SHADOWFIEND] = 35000 + rand()%10000; Timer[EVENT_PARASITIC_SHADOWFIEND] = urand(35000, 45000);
} }
break; break;
@@ -1050,7 +1050,7 @@ public:
case EVENT_DRAW_SOUL: case EVENT_DRAW_SOUL:
DoCast(me->getVictim(), SPELL_DRAW_SOUL); DoCast(me->getVictim(), SPELL_DRAW_SOUL);
Timer[EVENT_DRAW_SOUL] = 50000 + rand()%10000; Timer[EVENT_DRAW_SOUL] = urand(50000, 60000);
break; break;
// PHASE_NORMAL_2 // PHASE_NORMAL_2
@@ -1172,7 +1172,7 @@ public:
Phase = PHASE_NORMAL_MAIEV; Phase = PHASE_NORMAL_MAIEV;
IllidanGUID = 0; IllidanGUID = 0;
Timer[EVENT_MAIEV_STEALTH] = 0; Timer[EVENT_MAIEV_STEALTH] = 0;
Timer[EVENT_MAIEV_TAUNT] = 22000 + rand()%21 * 1000; Timer[EVENT_MAIEV_TAUNT] = urand(22, 43) * 1000;
Timer[EVENT_MAIEV_SHADOW_STRIKE] = 30000; Timer[EVENT_MAIEV_SHADOW_STRIKE] = 30000;
SetEquipmentSlots(false, 44850, EQUIP_UNEQUIP, EQUIP_NO_CHANGE); SetEquipmentSlots(false, 44850, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 45738); me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 45738);
@@ -1321,7 +1321,7 @@ public:
if (MaievTaunts[random].text.size()) if (MaievTaunts[random].text.size())
me->MonsterYell(MaievTaunts[random].text.c_str(), LANG_UNIVERSAL, 0); me->MonsterYell(MaievTaunts[random].text.c_str(), LANG_UNIVERSAL, 0);
DoPlaySoundToSet(me, sound); DoPlaySoundToSet(me, sound);
Timer[EVENT_MAIEV_TAUNT] = 22000 + rand()%21 * 1000; Timer[EVENT_MAIEV_TAUNT] = urand(22, 43) * 1000;
} }
break; break;
case EVENT_MAIEV_SHADOW_STRIKE: case EVENT_MAIEV_SHADOW_STRIKE:
@@ -1590,7 +1590,7 @@ public:
break; break;
case PHASE_FIGHT_MINIONS: case PHASE_FIGHT_MINIONS:
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
Timer = 10000 + rand()%6000; // summon minion Timer = urand(10000, 16000); // summon minion
break; break;
case PHASE_RETURN: case PHASE_RETURN:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -1780,7 +1780,7 @@ public:
AttackStart(Elite); AttackStart(Elite);
me->AddThreat(Elite, 1000000.0f); me->AddThreat(Elite, 1000000.0f);
} }
Timer = 10000 + rand()%6000; Timer = urand(10000, 16000);
GETUNIT(Illidan, IllidanGUID); GETUNIT(Illidan, IllidanGUID);
if (Illidan && Illidan->HealthBelowPct(10)) if (Illidan && Illidan->HealthBelowPct(10))
EnterPhase(PHASE_RETURN); EnterPhase(PHASE_RETURN);
@@ -128,7 +128,7 @@ public:
FatalAttractionExplodeTimer = 70000; FatalAttractionExplodeTimer = 70000;
ShriekTimer = 30000; ShriekTimer = 30000;
SaberTimer = 35000; SaberTimer = 35000;
RandomYellTimer = 70000 + rand()%41 * 1000; RandomYellTimer = urand(70, 111) * 1000;
EnrageTimer = 600000; EnrageTimer = 600000;
ExplosionCount = 0; ExplosionCount = 0;
@@ -237,7 +237,7 @@ public:
DoScriptText(RAND(SAY_SPELL2, SAY_SPELL3), me); DoScriptText(RAND(SAY_SPELL2, SAY_SPELL3), me);
FatalAttractionExplodeTimer = 2000; FatalAttractionExplodeTimer = 2000;
FatalAttractionTimer = 40000 + rand()%31 * 1000; FatalAttractionTimer = urand(40, 71) * 1000;
} else FatalAttractionTimer -= diff; } else FatalAttractionTimer -= diff;
if (FatalAttractionExplodeTimer <= diff) if (FatalAttractionExplodeTimer <= diff)
@@ -293,7 +293,7 @@ public:
if (RandomYellTimer <= diff) if (RandomYellTimer <= diff)
{ {
DoScriptText(RAND(SAY_TAUNT1, SAY_TAUNT2, SAY_TAUNT3), me); DoScriptText(RAND(SAY_TAUNT1, SAY_TAUNT2, SAY_TAUNT3), me);
RandomYellTimer = 60000 + rand()%91 * 1000; RandomYellTimer = urand(60, 151) * 1000;
} else RandomYellTimer -= diff; } else RandomYellTimer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -582,7 +582,7 @@ public:
{ {
me->InterruptNonMeleeSpells(false); me->InterruptNonMeleeSpells(false);
DoCast(me->getVictim(), SPELL_DEADEN); DoCast(me->getVictim(), SPELL_DEADEN);
DeadenTimer = 25000 + rand()%10000; DeadenTimer = urand(25000, 35000);
if (!(rand()%2)) if (!(rand()%2))
{ {
DoScriptText(DESI_SAY_SPEC, me); DoScriptText(DESI_SAY_SPEC, me);
@@ -676,7 +676,7 @@ public:
if (SoulScreamTimer <= diff) if (SoulScreamTimer <= diff)
{ {
DoCast(me->getVictim(), SPELL_SOUL_SCREAM); DoCast(me->getVictim(), SPELL_SOUL_SCREAM);
SoulScreamTimer = 9000 + rand()%2000; SoulScreamTimer = urand(9000, 11000);
if (!(rand()%3)) if (!(rand()%3))
{ {
DoScriptText(ANGER_SAY_SPEC, me); DoScriptText(ANGER_SAY_SPEC, me);
@@ -246,7 +246,7 @@ public:
if (instance) if (instance)
instance->SetData(DATA_TERONGOREFIENDEVENT, NOT_STARTED); instance->SetData(DATA_TERONGOREFIENDEVENT, NOT_STARTED);
IncinerateTimer = 20000 + rand()%11000; IncinerateTimer = urand(20000, 31000);
SummonDoomBlossomTimer = 12000; SummonDoomBlossomTimer = 12000;
EnrageTimer = 600000; EnrageTimer = 600000;
CrushingShadowsTimer = 22000; CrushingShadowsTimer = 22000;
@@ -460,7 +460,7 @@ public:
{ {
DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me); DoScriptText(RAND(SAY_SPECIAL1, SAY_SPECIAL2), me);
DoCast(target, SPELL_INCINERATE); DoCast(target, SPELL_INCINERATE);
IncinerateTimer = 20000 + rand()%31 * 1000; IncinerateTimer = urand(20, 51) * 1000;
} }
} else IncinerateTimer -= diff; } else IncinerateTimer -= diff;
@@ -469,7 +469,7 @@ public:
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0); Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0);
if (target && target->isAlive()) if (target && target->isAlive())
DoCast(target, SPELL_CRUSHING_SHADOWS); DoCast(target, SPELL_CRUSHING_SHADOWS);
CrushingShadowsTimer = 10000 + rand()%16 * 1000; CrushingShadowsTimer = urand(10, 26) * 1000;
} else CrushingShadowsTimer -= diff; } else CrushingShadowsTimer -= diff;
/*** NOTE FOR FUTURE DEV: UNCOMMENT BELOW ONLY IF MIND CONTROL IS FULLY IMPLEMENTED **/ /*** NOTE FOR FUTURE DEV: UNCOMMENT BELOW ONLY IF MIND CONTROL IS FULLY IMPLEMENTED **/
@@ -492,7 +492,7 @@ public:
if (RandomYellTimer <= diff) if (RandomYellTimer <= diff)
{ {
DoScriptText(RAND(SAY_SPELL1, SAY_SPELL2), me); DoScriptText(RAND(SAY_SPELL1, SAY_SPELL2), me);
RandomYellTimer = 50000 + rand()%51 * 1000; RandomYellTimer = urand(50, 101) * 1000;
} else RandomYellTimer -= diff; } else RandomYellTimer -= diff;
if (!me->HasAura(SPELL_BERSERK)) if (!me->HasAura(SPELL_BERSERK))
@@ -613,8 +613,8 @@ public:
void Reset() void Reset()
{ {
BlizzardTimer = 30000 + rand()%61 * 1000; BlizzardTimer = urand(30, 91) * 1000;
FlamestrikeTimer = 30000 + rand()%61 * 1000; FlamestrikeTimer = urand(30, 91) * 1000;
ArcaneBoltTimer = 10000; ArcaneBoltTimer = 10000;
DampenMagicTimer = 2000; DampenMagicTimer = 2000;
ArcaneExplosionTimer = 14000; ArcaneExplosionTimer = 14000;
@@ -673,7 +673,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{ {
DoCast(target, SPELL_BLIZZARD); DoCast(target, SPELL_BLIZZARD);
BlizzardTimer = 45000 + rand()%46 * 1000; BlizzardTimer = urand(45, 91) * 1000;
FlamestrikeTimer += 10000; FlamestrikeTimer += 10000;
Cooldown = 1000; Cooldown = 1000;
} }
@@ -684,7 +684,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{ {
DoCast(target, SPELL_FLAMESTRIKE); DoCast(target, SPELL_FLAMESTRIKE);
FlamestrikeTimer = 55000 + rand()%46 * 1000; FlamestrikeTimer = urand(55, 101) * 1000;
BlizzardTimer += 10000; BlizzardTimer += 10000;
Cooldown = 2000; Cooldown = 2000;
} }
@@ -756,7 +756,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{ {
DoCast(target, SPELL_DIVINE_WRATH); DoCast(target, SPELL_DIVINE_WRATH);
DivineWrathTimer = 40000 + rand()%41 * 1000; DivineWrathTimer = urand(40, 81) * 1000;
} }
} else DivineWrathTimer -= diff; } else DivineWrathTimer -= diff;
@@ -799,7 +799,7 @@ public:
EnvenomTargetGUID = 0; EnvenomTargetGUID = 0;
DeadlyPoisonTimer = 20000; DeadlyPoisonTimer = 20000;
VanishTimer = 60000 + rand()%61 * 1000; VanishTimer = urand(60, 121) * 1000;
AppearEnvenomTimer = 150000; AppearEnvenomTimer = 150000;
HasVanished = false; HasVanished = false;
@@ -827,7 +827,7 @@ public:
if (DeadlyPoisonTimer <= diff) if (DeadlyPoisonTimer <= diff)
{ {
DoCast(me->getVictim(), SPELL_DEADLY_POISON); DoCast(me->getVictim(), SPELL_DEADLY_POISON);
DeadlyPoisonTimer = 15000 + rand()%31 * 1000; DeadlyPoisonTimer = urand(15, 46) * 1000;
} else DeadlyPoisonTimer -= diff; } else DeadlyPoisonTimer -= diff;
if (AppearEnvenomTimer <= diff) // Cast Envenom. This is cast 4 seconds after Vanish is over if (AppearEnvenomTimer <= diff) // Cast Envenom. This is cast 4 seconds after Vanish is over
@@ -691,8 +691,8 @@ public:
void Reset() void Reset()
{ {
Mindblast_Timer = 3000 + rand()%5000; Mindblast_Timer = urand(3000, 8000);
Earthshock_Timer = 5000 + rand()%5000; Earthshock_Timer = urand(5000, 10000);
if (instance) if (instance)
{ {
@@ -764,7 +764,7 @@ public:
if (target)DoCast(target, SPELL_MINDBLAST); if (target)DoCast(target, SPELL_MINDBLAST);
Mindblast_Timer = 10000 + rand()%5000; Mindblast_Timer = urand(10000, 15000);
} else Mindblast_Timer -= diff; } else Mindblast_Timer -= diff;
if (Earthshock_Timer <= diff) if (Earthshock_Timer <= diff)
@@ -787,7 +787,7 @@ public:
} }
} }
} }
Earthshock_Timer = 8000 + rand()%7000; Earthshock_Timer = urand(8000, 15000);
} else Earthshock_Timer -= diff; } else Earthshock_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
@@ -213,7 +213,7 @@ public:
if (m_uiReverberation_Timer <= uiDiff) if (m_uiReverberation_Timer <= uiDiff)
{ {
DoCast(me->getVictim(), SPELL_REVERBERATION, true); DoCast(me->getVictim(), SPELL_REVERBERATION, true);
m_uiReverberation_Timer = 15000 + rand()%10000; m_uiReverberation_Timer = urand(15000, 25000);
} }
else else
m_uiReverberation_Timer -= uiDiff; m_uiReverberation_Timer -= uiDiff;
@@ -524,7 +524,7 @@ public:
if (target) if (target)
DoCast(target, SPELL_GREATER_POLYMORPH); DoCast(target, SPELL_GREATER_POLYMORPH);
GreaterPolymorph_Timer = 15000 + rand()%5000; GreaterPolymorph_Timer = urand(15000, 20000);
} else GreaterPolymorph_Timer -= diff; } else GreaterPolymorph_Timer -= diff;
//LightningBolt_Timer //LightningBolt_Timer
@@ -581,8 +581,8 @@ public:
void Reset() void Reset()
{ {
GreaterPowerWordShield_Timer = 5000; GreaterPowerWordShield_Timer = 5000;
Heal_Timer = 25000 + rand()%15000; Heal_Timer = urand(25000, 40000);
PrayerofHealing_Timer = 45000 + rand()%10000; PrayerofHealing_Timer = urand(45000, 55000);
//reset encounter //reset encounter
if (instance) if (instance)
@@ -648,14 +648,14 @@ public:
if (Heal_Timer <= diff) if (Heal_Timer <= diff)
{ {
DoCast(me, SPELL_HEAL); DoCast(me, SPELL_HEAL);
Heal_Timer = 15000 + rand()%25000; Heal_Timer = urand(15000, 40000);
} else Heal_Timer -= diff; } else Heal_Timer -= diff;
//PrayerofHealing_Timer //PrayerofHealing_Timer
if (PrayerofHealing_Timer <= diff) if (PrayerofHealing_Timer <= diff)
{ {
DoCast(me, SPELL_PRAYER_OH); DoCast(me, SPELL_PRAYER_OH);
PrayerofHealing_Timer = 35000 + rand()%15000; PrayerofHealing_Timer = urand(35000, 50000);
} else PrayerofHealing_Timer -= diff; } else PrayerofHealing_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -424,7 +424,7 @@ class boss_magtheridon : public CreatureScript
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
} }
} }
Blaze_Timer = 20000 + rand()%20000; Blaze_Timer = urand(20000, 40000);
} }
else else
Blaze_Timer -= diff; Blaze_Timer -= diff;
@@ -497,10 +497,10 @@ class mob_hellfire_channeler : public CreatureScript
void Reset() void Reset()
{ {
ShadowBoltVolley_Timer = 8000 + rand()%2000; ShadowBoltVolley_Timer = urand(8000, 10000);
DarkMending_Timer = 10000; DarkMending_Timer = 10000;
Fear_Timer = 15000 + rand()%5000; Fear_Timer = urand(15000, 20000);
Infernal_Timer = 10000 + rand()%40000; Infernal_Timer = urand(10000, 50000);
Check_Timer = 5000; Check_Timer = 5000;
} }
@@ -547,7 +547,7 @@ class mob_hellfire_channeler : public CreatureScript
if (ShadowBoltVolley_Timer <= diff) if (ShadowBoltVolley_Timer <= diff)
{ {
DoCast(me, SPELL_SHADOW_BOLT_VOLLEY); DoCast(me, SPELL_SHADOW_BOLT_VOLLEY);
ShadowBoltVolley_Timer = 10000 + rand()%10000; ShadowBoltVolley_Timer = urand(10000, 20000);
} }
else else
ShadowBoltVolley_Timer -= diff; ShadowBoltVolley_Timer -= diff;
@@ -565,7 +565,7 @@ class mob_hellfire_channeler : public CreatureScript
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
DoCast(target, SPELL_FEAR); DoCast(target, SPELL_FEAR);
Fear_Timer = 25000 + rand()%15000; Fear_Timer = urand(25000, 40000);
} }
else else
Fear_Timer -= diff; Fear_Timer -= diff;
@@ -574,7 +574,7 @@ class mob_hellfire_channeler : public CreatureScript
{ {
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_BURNING_ABYSSAL, true); DoCast(target, SPELL_BURNING_ABYSSAL, true);
Infernal_Timer = 30000 + rand()%10000; Infernal_Timer = urand(30000, 40000);
} }
else else
Infernal_Timer -= diff; Infernal_Timer -= diff;
@@ -102,7 +102,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript
if (Shadow_Power_Timer <= diff) if (Shadow_Power_Timer <= diff)
{ {
DoCast(me, SPELL_SHADOW_POWER); DoCast(me, SPELL_SHADOW_POWER);
Shadow_Power_Timer = 20000 + rand()%8000; Shadow_Power_Timer = urand(20000, 28000);
} }
else else
Shadow_Power_Timer -= diff; Shadow_Power_Timer -= diff;
@@ -128,7 +128,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript
if (Stream_of_Machine_Fluid_Timer <= diff) if (Stream_of_Machine_Fluid_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_STREAM_OF_MACHINE_FLUID); DoCast(me->getVictim(), SPELL_STREAM_OF_MACHINE_FLUID);
Stream_of_Machine_Fluid_Timer = 35000 + rand()%15000; Stream_of_Machine_Fluid_Timer = urand(35000, 50000);
} }
else else
Stream_of_Machine_Fluid_Timer -= diff; Stream_of_Machine_Fluid_Timer -= diff;
@@ -76,10 +76,10 @@ class boss_nethermancer_sepethrea : public CreatureScript
void Reset() void Reset()
{ {
frost_attack_Timer = 7000 + rand()%3000; frost_attack_Timer = urand(7000, 10000);
arcane_blast_Timer = 12000 + rand()%6000; arcane_blast_Timer = urand(12000, 18000);
dragons_breath_Timer = 18000 + rand()%4000; dragons_breath_Timer = urand(18000, 22000);
knockback_Timer = 22000 + rand()%6000; knockback_Timer = urand(22000, 28000);
solarburn_Timer = 30000; solarburn_Timer = 30000;
if (instance) if (instance)
@@ -119,7 +119,7 @@ class boss_nethermancer_sepethrea : public CreatureScript
{ {
DoCast(me->getVictim(), SPELL_FROST_ATTACK); DoCast(me->getVictim(), SPELL_FROST_ATTACK);
frost_attack_Timer = 7000 + rand()%3000; frost_attack_Timer = urand(7000, 10000);
} }
else else
frost_attack_Timer -= diff; frost_attack_Timer -= diff;
@@ -141,7 +141,7 @@ class boss_nethermancer_sepethrea : public CreatureScript
return; return;
DoScriptText(RAND(SAY_DRAGONS_BREATH_1, SAY_DRAGONS_BREATH_2), me); DoScriptText(RAND(SAY_DRAGONS_BREATH_1, SAY_DRAGONS_BREATH_2), me);
} }
dragons_breath_Timer = 12000 + rand()%10000; dragons_breath_Timer = urand(12000, 22000);
} }
else else
dragons_breath_Timer -= diff; dragons_breath_Timer -= diff;
@@ -150,7 +150,7 @@ class boss_nethermancer_sepethrea : public CreatureScript
if (knockback_Timer <= diff) if (knockback_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_KNOCKBACK); DoCast(me->getVictim(), SPELL_KNOCKBACK);
knockback_Timer = 15000 + rand()%10000; knockback_Timer = urand(15000, 25000);
} }
else else
knockback_Timer -= diff; knockback_Timer -= diff;
@@ -83,10 +83,10 @@ class boss_pathaleon_the_calculator : public CreatureScript
void Reset() void Reset()
{ {
Summon_Timer = 30000; Summon_Timer = 30000;
ManaTap_Timer = 12000 + rand()%8000; ManaTap_Timer = urand(12000, 20000);
ArcaneTorrent_Timer = 16000 + rand()%9000; ArcaneTorrent_Timer = urand(16000, 25000);
Domination_Timer = 25000 + rand()%15000; Domination_Timer = urand(25000, 40000);
ArcaneExplosion_Timer = 8000 + rand()%5000; ArcaneExplosion_Timer = urand(8000, 13000);
Enraged = false; Enraged = false;
@@ -135,7 +135,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
Wraith->AI()->AttackStart(target); Wraith->AI()->AttackStart(target);
} }
DoScriptText(SAY_SUMMON, me); DoScriptText(SAY_SUMMON, me);
Summon_Timer = 30000 + rand()%15000; Summon_Timer = urand(30000, 45000);
} }
else else
Summon_Timer -= diff; Summon_Timer -= diff;
@@ -143,7 +143,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
if (ManaTap_Timer <= diff) if (ManaTap_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_MANA_TAP); DoCast(me->getVictim(), SPELL_MANA_TAP);
ManaTap_Timer = 14000 + rand()%8000; ManaTap_Timer = urand(14000, 22000);
} }
else else
ManaTap_Timer -= diff; ManaTap_Timer -= diff;
@@ -151,7 +151,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
if (ArcaneTorrent_Timer <= diff) if (ArcaneTorrent_Timer <= diff)
{ {
DoCast(me->getVictim(), SPELL_ARCANE_TORRENT); DoCast(me->getVictim(), SPELL_ARCANE_TORRENT);
ArcaneTorrent_Timer = 12000 + rand()%6000; ArcaneTorrent_Timer = urand(12000, 18000);
} }
else else
ArcaneTorrent_Timer -= diff; ArcaneTorrent_Timer -= diff;
@@ -163,7 +163,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
DoScriptText(RAND(SAY_DOMINATION_1, SAY_DOMINATION_2), me); DoScriptText(RAND(SAY_DOMINATION_1, SAY_DOMINATION_2), me);
DoCast(target, SPELL_DOMINATION); DoCast(target, SPELL_DOMINATION);
} }
Domination_Timer = 25000 + rand()%5000; Domination_Timer = urand(25000, 30000);
} }
else else
Domination_Timer -= diff; Domination_Timer -= diff;
@@ -174,7 +174,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
if (ArcaneExplosion_Timer <= diff) if (ArcaneExplosion_Timer <= diff)
{ {
DoCast(me->getVictim(), H_SPELL_ARCANE_EXPLOSION); DoCast(me->getVictim(), H_SPELL_ARCANE_EXPLOSION);
ArcaneExplosion_Timer = 10000 + rand()%4000; ArcaneExplosion_Timer = urand(10000, 14000);
} }
else else
ArcaneExplosion_Timer -= diff; ArcaneExplosion_Timer -= diff;
@@ -218,7 +218,7 @@ class mob_nether_wraith : public CreatureScript
void Reset() void Reset()
{ {
ArcaneMissiles_Timer = 1000 + rand()%3000; ArcaneMissiles_Timer = urand(1000, 4000);
Detonation_Timer = 20000; Detonation_Timer = 20000;
Die_Timer = 2200; Die_Timer = 2200;
Detonation = false; Detonation = false;
@@ -237,7 +237,7 @@ class mob_nether_wraith : public CreatureScript
DoCast(target, SPELL_ARCANE_MISSILES); DoCast(target, SPELL_ARCANE_MISSILES);
else else
DoCast(me->getVictim(), SPELL_ARCANE_MISSILES); DoCast(me->getVictim(), SPELL_ARCANE_MISSILES);
ArcaneMissiles_Timer = 5000 + rand()%5000; ArcaneMissiles_Timer = urand(5000, 10000);
} }
else else
ArcaneMissiles_Timer -=diff; ArcaneMissiles_Timer -=diff;
@@ -152,9 +152,9 @@ class boss_warp_splinter : public CreatureScript
void Reset() void Reset()
{ {
War_Stomp_Timer = 25000 + rand()%15000; War_Stomp_Timer = urand(25000, 40000);
Summon_Treants_Timer = 45000; Summon_Treants_Timer = 45000;
Arcane_Volley_Timer = 8000 + rand()%12000; Arcane_Volley_Timer = urand(8000, 20000);
me->SetSpeed(MOVE_RUN, 0.7f, true); me->SetSpeed(MOVE_RUN, 0.7f, true);
} }
@@ -199,7 +199,7 @@ class boss_warp_splinter : public CreatureScript
if (War_Stomp_Timer <= diff) if (War_Stomp_Timer <= diff)
{ {
DoCast(me->getVictim(), WAR_STOMP); DoCast(me->getVictim(), WAR_STOMP);
War_Stomp_Timer = 25000 + rand()%15000; War_Stomp_Timer = urand(25000, 40000);
} }
else else
War_Stomp_Timer -= diff; War_Stomp_Timer -= diff;
@@ -208,7 +208,7 @@ class boss_warp_splinter : public CreatureScript
if (Arcane_Volley_Timer <= diff) if (Arcane_Volley_Timer <= diff)
{ {
DoCast(me->getVictim(), DUNGEON_MODE(ARCANE_VOLLEY, ARCANE_VOLLEY_H)); DoCast(me->getVictim(), DUNGEON_MODE(ARCANE_VOLLEY, ARCANE_VOLLEY_H));
Arcane_Volley_Timer = 20000 + rand()%15000; Arcane_Volley_Timer = urand(20000, 35000);
} }
else else
Arcane_Volley_Timer -= diff; Arcane_Volley_Timer -= diff;