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