Scripts/World: Minor timer adjustments to the "shared" abilities for the Emerald Dragons - now even more blizzlike \o/
This commit is contained in:
@@ -114,8 +114,8 @@ struct emerald_dragonAI : public WorldBossAI
|
|||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_NON_ATTACKABLE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_NON_ATTACKABLE);
|
||||||
me->SetReactState(REACT_AGGRESSIVE);
|
me->SetReactState(REACT_AGGRESSIVE);
|
||||||
events.ScheduleEvent(EVENT_TAIL_SWEEP, 4000);
|
events.ScheduleEvent(EVENT_TAIL_SWEEP, 4000);
|
||||||
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, 8000);
|
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, 7500, 15000);
|
||||||
events.ScheduleEvent(EVENT_SEEPING_FOG, urand(10000, 20000));
|
events.ScheduleEvent(EVENT_SEEPING_FOG, urand(12500, 20000));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test if the player has been killed before, and if so, put them to sleep
|
// Test if the player has been killed before, and if so, put them to sleep
|
||||||
@@ -138,15 +138,19 @@ struct emerald_dragonAI : public WorldBossAI
|
|||||||
switch (eventId)
|
switch (eventId)
|
||||||
{
|
{
|
||||||
case EVENT_SEEPING_FOG:
|
case EVENT_SEEPING_FOG:
|
||||||
|
// Seeping Fog appears only as "pairs", and only ONE pair at any given time!
|
||||||
|
// Despawntime is 2 minutes, so reschedule it for new cast after 2 minutes + a minor "random time" (30 seconds at max)
|
||||||
DoCast(me, SPELL_SEEPING_FOG_LEFT, true);
|
DoCast(me, SPELL_SEEPING_FOG_LEFT, true);
|
||||||
DoCast(me, SPELL_SEEPING_FOG_RIGHT, true);
|
DoCast(me, SPELL_SEEPING_FOG_RIGHT, true);
|
||||||
events.ScheduleEvent(EVENT_SEEPING_FOG, urand(60000,120000));
|
events.ScheduleEvent(EVENT_SEEPING_FOG, urand(120000,150000);
|
||||||
break;
|
break;
|
||||||
case EVENT_NOXIOUS_BREATH:
|
case EVENT_NOXIOUS_BREATH:
|
||||||
|
// Noxious Breath is cast on random intervals, no less than 7.5 seconds between
|
||||||
DoCast(me, SPELL_NOXIOUS_BREATH);
|
DoCast(me, SPELL_NOXIOUS_BREATH);
|
||||||
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, urand(15000, 20000));
|
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, 7500, 15000);
|
||||||
break;
|
break;
|
||||||
case EVENT_TAIL_SWEEP:
|
case EVENT_TAIL_SWEEP:
|
||||||
|
// Tail Sweep is cast every two seconds, no matter what goes on in front of the dragon
|
||||||
DoCast(me, SPELL_TAIL_SWEEP);
|
DoCast(me, SPELL_TAIL_SWEEP);
|
||||||
events.ScheduleEvent(EVENT_TAIL_SWEEP, 2000);
|
events.ScheduleEvent(EVENT_TAIL_SWEEP, 2000);
|
||||||
break;
|
break;
|
||||||
@@ -173,10 +177,6 @@ struct emerald_dragonAI : public WorldBossAI
|
|||||||
/*
|
/*
|
||||||
* --- Dream Fog NPC
|
* --- Dream Fog NPC
|
||||||
*
|
*
|
||||||
* TODO:
|
|
||||||
* - Change to random targets on random intervals(?)
|
|
||||||
* - Check if targets are selected based on threatlevel(?)
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class npc_dream_fog : public CreatureScript
|
class npc_dream_fog : public CreatureScript
|
||||||
@@ -212,7 +212,7 @@ class npc_dream_fog : public CreatureScript
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_roamTimer = 5000;
|
_roamTimer = 2500;
|
||||||
me->GetMotionMaster()->MoveRandom(25.0f);
|
me->GetMotionMaster()->MoveRandom(25.0f);
|
||||||
}
|
}
|
||||||
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||||
|
|||||||
Reference in New Issue
Block a user