1 parent
e102629601
commit
9f9f797d5d
1 file changed
+30
-18
+30
-18
@@ -29,7 +29,7 @@ enum Yells
|
||||
SAY_KILL_PLAYER = 6
|
||||
};
|
||||
|
||||
enum eAIs
|
||||
enum AIs
|
||||
{
|
||||
AI_MELEE = 0,
|
||||
AI_RANGED = 1,
|
||||
@@ -1484,8 +1484,11 @@ class mob_toc_hunter : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_STEADY_SHOT, urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS));
|
||||
return;
|
||||
case EVENT_WING_CLIP:
|
||||
if (me->GetDistance2d(me->getVictim()) < 6.0f)
|
||||
DoCastVictim(SPELL_WING_CLIP);
|
||||
if (Unit* target = me->getVictim())
|
||||
{
|
||||
if (me->GetDistance2d(target) < 6.0f)
|
||||
DoCast(target, SPELL_WING_CLIP);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_WING_CLIP, urand(15*IN_MILLISECONDS, 25*IN_MILLISECONDS));
|
||||
return;
|
||||
case EVENT_WYVERN_STING:
|
||||
@@ -1670,13 +1673,16 @@ class mob_toc_warrior : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_SUNDER_ARMOR, urand(2*IN_MILLISECONDS, 5*IN_MILLISECONDS));
|
||||
return;
|
||||
case EVENT_SHATTERING_THROW:
|
||||
if (me->getVictim()->HasAuraWithMechanic(1<<MECHANIC_IMMUNE_SHIELD))
|
||||
if (Unit* target = me->getVictim())
|
||||
{
|
||||
DoCastVictim(SPELL_SHATTERING_THROW);
|
||||
events.RescheduleEvent(EVENT_SHATTERING_THROW, 5*MINUTE*IN_MILLISECONDS);
|
||||
if (target->HasAuraWithMechanic(1 << MECHANIC_IMMUNE_SHIELD))
|
||||
{
|
||||
DoCast(target, SPELL_SHATTERING_THROW);
|
||||
events.RescheduleEvent(EVENT_SHATTERING_THROW, 5*MINUTE*IN_MILLISECONDS);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
events.RescheduleEvent(EVENT_SHATTERING_THROW, 3*IN_MILLISECONDS);
|
||||
events.RescheduleEvent(EVENT_SHATTERING_THROW, 3*IN_MILLISECONDS);
|
||||
return;
|
||||
case EVENT_RETALIATION:
|
||||
if (HealthBelowPct(50))
|
||||
@@ -1746,13 +1752,16 @@ class mob_toc_dk : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_DEATH_COIL, urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS));
|
||||
return;
|
||||
case EVENT_DEATH_GRIP:
|
||||
if (me->IsInRange(me->getVictim(), 5.0f, 30.0f, false))
|
||||
if (Unit* target = me->getVictim())
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_DEATH_GRIP);
|
||||
events.RescheduleEvent(EVENT_DEATH_GRIP, 35*IN_MILLISECONDS);
|
||||
if (me->IsInRange(target, 5.0f, 30.0f, false))
|
||||
{
|
||||
DoCast(target, SPELL_DEATH_GRIP);
|
||||
events.RescheduleEvent(EVENT_DEATH_GRIP, 35*IN_MILLISECONDS);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
events.RescheduleEvent(EVENT_DEATH_GRIP, 3*IN_MILLISECONDS);
|
||||
events.RescheduleEvent(EVENT_DEATH_GRIP, 3*IN_MILLISECONDS);
|
||||
return;
|
||||
case EVENT_FROST_STRIKE:
|
||||
DoCastVictim(SPELL_FROST_STRIKE);
|
||||
@@ -1862,13 +1871,16 @@ class mob_toc_rogue : public CreatureScript
|
||||
events.RescheduleEvent(EVENT_BLADE_FLURRY, 5*IN_MILLISECONDS);
|
||||
return;
|
||||
case EVENT_SHADOWSTEP:
|
||||
if (me->IsInRange(me->getVictim(), 10.0f, 40.0f, false))
|
||||
if (Unit* target = me->getVictim())
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHADOWSTEP);
|
||||
events.RescheduleEvent(EVENT_SHADOWSTEP, 30*IN_MILLISECONDS);
|
||||
if (me->IsInRange(target, 10.0f, 40.0f, false))
|
||||
{
|
||||
DoCast(target, SPELL_SHADOWSTEP);
|
||||
events.RescheduleEvent(EVENT_SHADOWSTEP, 30*IN_MILLISECONDS);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
events.RescheduleEvent(EVENT_SHADOWSTEP, 5*IN_MILLISECONDS);
|
||||
events.RescheduleEvent(EVENT_SHADOWSTEP, 5*IN_MILLISECONDS);
|
||||
return;
|
||||
case EVENT_HEMORRHAGE:
|
||||
DoCastVictim(SPELL_HEMORRHAGE);
|
||||
|
||||
Reference in new issue
Block a user