mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 07:48:02 +00:00
fix(Scripts/RuinsOfAhnQiraj): Buru full speed and gathering speed (#12796)
* fix(Core/RuinsOfAhnQiraj): Buru full speed and gathering speed * cancel event before scheduling it again
This commit is contained in:
@@ -45,9 +45,8 @@ enum Events
|
|||||||
{
|
{
|
||||||
EVENT_DISMEMBER = 1,
|
EVENT_DISMEMBER = 1,
|
||||||
EVENT_GATHERING_SPEED = 2,
|
EVENT_GATHERING_SPEED = 2,
|
||||||
EVENT_FULL_SPEED = 3,
|
EVENT_CREEPING_PLAGUE = 3,
|
||||||
EVENT_CREEPING_PLAGUE = 4,
|
EVENT_RESPAWN_EGG = 4,
|
||||||
EVENT_RESPAWN_EGG = 5,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Phases
|
enum Phases
|
||||||
@@ -81,13 +80,13 @@ struct boss_buru : public BossAI
|
|||||||
void EnterCombat(Unit* who) override
|
void EnterCombat(Unit* who) override
|
||||||
{
|
{
|
||||||
BossAI::EnterCombat(who);
|
BossAI::EnterCombat(who);
|
||||||
|
me->AddThreat(who, 1000000.f);
|
||||||
Talk(EMOTE_TARGET, who);
|
Talk(EMOTE_TARGET, who);
|
||||||
DoCastSelf(SPELL_THORNS);
|
DoCastSelf(SPELL_THORNS);
|
||||||
ManipulateEggs(true);
|
ManipulateEggs(true);
|
||||||
me->RemoveAurasDueToSpell(SPELL_FULL_SPEED);
|
me->RemoveAurasDueToSpell(SPELL_FULL_SPEED);
|
||||||
events.ScheduleEvent(EVENT_DISMEMBER, 5s);
|
events.ScheduleEvent(EVENT_DISMEMBER, 5s);
|
||||||
events.ScheduleEvent(EVENT_GATHERING_SPEED, 9s);
|
events.ScheduleEvent(EVENT_GATHERING_SPEED, 2s);
|
||||||
events.ScheduleEvent(EVENT_FULL_SPEED, 60s);
|
|
||||||
_phase = PHASE_EGG;
|
_phase = PHASE_EGG;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,10 +113,9 @@ struct boss_buru : public BossAI
|
|||||||
if (_phase != PHASE_EGG)
|
if (_phase != PHASE_EGG)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
me->RemoveAurasDueToSpell(SPELL_FULL_SPEED);
|
|
||||||
me->RemoveAurasDueToSpell(SPELL_GATHERING_SPEED);
|
me->RemoveAurasDueToSpell(SPELL_GATHERING_SPEED);
|
||||||
events.ScheduleEvent(EVENT_GATHERING_SPEED, 9s);
|
events.CancelEvent(EVENT_GATHERING_SPEED);
|
||||||
events.ScheduleEvent(EVENT_FULL_SPEED, 60s);
|
events.ScheduleEvent(EVENT_GATHERING_SPEED, 2s);
|
||||||
if (Unit* victim = SelectTarget(SelectTargetMethod::Random, 0, 0.f, true))
|
if (Unit* victim = SelectTarget(SelectTargetMethod::Random, 0, 0.f, true))
|
||||||
{
|
{
|
||||||
DoResetThreat();
|
DoResetThreat();
|
||||||
@@ -145,6 +143,7 @@ struct boss_buru : public BossAI
|
|||||||
DoCastSelf(SPELL_FULL_SPEED, true);
|
DoCastSelf(SPELL_FULL_SPEED, true);
|
||||||
ManipulateEggs(false);
|
ManipulateEggs(false);
|
||||||
me->RemoveAurasDueToSpell(SPELL_THORNS);
|
me->RemoveAurasDueToSpell(SPELL_THORNS);
|
||||||
|
me->RemoveAurasDueToSpell(SPELL_GATHERING_SPEED);
|
||||||
events.Reset();
|
events.Reset();
|
||||||
_phase = PHASE_TRANSFORM;
|
_phase = PHASE_TRANSFORM;
|
||||||
DoResetThreat();
|
DoResetThreat();
|
||||||
@@ -172,9 +171,6 @@ struct boss_buru : public BossAI
|
|||||||
DoCastSelf(SPELL_GATHERING_SPEED);
|
DoCastSelf(SPELL_GATHERING_SPEED);
|
||||||
events.ScheduleEvent(EVENT_GATHERING_SPEED, 9s);
|
events.ScheduleEvent(EVENT_GATHERING_SPEED, 9s);
|
||||||
break;
|
break;
|
||||||
case EVENT_FULL_SPEED:
|
|
||||||
DoCastSelf(SPELL_FULL_SPEED);
|
|
||||||
break;
|
|
||||||
case EVENT_CREEPING_PLAGUE:
|
case EVENT_CREEPING_PLAGUE:
|
||||||
DoCastAOE(SPELL_CREEPING_PLAGUE);
|
DoCastAOE(SPELL_CREEPING_PLAGUE);
|
||||||
events.ScheduleEvent(EVENT_CREEPING_PLAGUE, 6s);
|
events.ScheduleEvent(EVENT_CREEPING_PLAGUE, 6s);
|
||||||
|
|||||||
Reference in New Issue
Block a user