fix(Scripts/Steamvault): Correct timers and add missing events (#15840)

This commit is contained in:
Gultask
2023-04-05 23:47:22 -03:00
committed by GitHub
parent 5e7f7c49be
commit 57874f9d40
2 changed files with 25 additions and 12 deletions

View File

@@ -29,6 +29,7 @@ enum MekgineerSteamrigger
SPELL_SUPER_SHRINK_RAY = 31485,
SPELL_SAW_BLADE = 31486,
SPELL_ELECTRIFIED_NET = 35107,
SPELL_ENRAGE = 26662,
SPELL_REPAIR_N = 31532,
SPELL_REPAIR_H = 37936,
@@ -39,7 +40,8 @@ enum MekgineerSteamrigger
EVENT_CHECK_HP75 = 3,
EVENT_SPELL_SHRINK = 4,
EVENT_SPELL_SAW = 5,
EVENT_SPELL_NET = 6
EVENT_SPELL_NET = 6,
EVENT_ENRAGE = 7
};
struct boss_mekgineer_steamrigger : public BossAI
@@ -62,9 +64,10 @@ struct boss_mekgineer_steamrigger : public BossAI
{
Talk(SAY_AGGRO);
_JustEngagedWith();
events.ScheduleEvent(EVENT_SPELL_SHRINK, 20000);
events.ScheduleEvent(EVENT_SPELL_SAW, 15000);
events.ScheduleEvent(EVENT_SPELL_NET, 10000);
events.ScheduleEvent(EVENT_SPELL_SHRINK, 26550);
events.ScheduleEvent(EVENT_SPELL_SAW, 6050, 17650);
events.ScheduleEvent(EVENT_SPELL_NET, 14400);
events.ScheduleEvent(EVENT_ENRAGE, 300000);
events.ScheduleEvent(EVENT_CHECK_HP75, 5000);
events.ScheduleEvent(EVENT_CHECK_HP50, 5000);
events.ScheduleEvent(EVENT_CHECK_HP25, 5000);
@@ -96,19 +99,22 @@ struct boss_mekgineer_steamrigger : public BossAI
{
case EVENT_SPELL_SHRINK:
me->CastSpell(me->GetVictim(), SPELL_SUPER_SHRINK_RAY, false);
events.RepeatEvent(20000);
events.Repeat(35100ms, 54100ms);
break;
case EVENT_SPELL_SAW:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
me->CastSpell(target, SPELL_SAW_BLADE, false);
else
me->CastSpell(me->GetVictim(), SPELL_SAW_BLADE, false);
events.RepeatEvent(15000);
events.Repeat(6050ms, 17650ms);
break;
case EVENT_SPELL_NET:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(target, SPELL_ELECTRIFIED_NET, false);
events.RepeatEvent(10000);
events.Repeat(21800ms, 34200ms);
break;
case EVENT_ENRAGE:
DoCastSelf(SPELL_ENRAGE, true);
break;
case EVENT_CHECK_HP25:
case EVENT_CHECK_HP50:

View File

@@ -30,6 +30,7 @@ enum NagaDistiller
SPELL_SPELL_REFLECTION = 31534,
SPELL_IMPALE = 39061,
SPELL_HEAD_CRACK = 16172,
SPELL_WARLORDS_RAGE = 37081,
SPELL_WARLORDS_RAGE_NAGA = 31543,
SPELL_WARLORDS_RAGE_PROC = 36453,
@@ -38,7 +39,8 @@ enum NagaDistiller
EVENT_SPELL_REFLECTION = 1,
EVENT_SPELL_IMPALE = 2,
EVENT_SPELL_RAGE = 3
EVENT_SPELL_HEAD_CRACK = 3,
EVENT_SPELL_RAGE = 4
};
struct boss_warlord_kalithresh : public BossAI
@@ -49,8 +51,9 @@ struct boss_warlord_kalithresh : public BossAI
{
Talk(SAY_AGGRO);
_JustEngagedWith();
events.ScheduleEvent(EVENT_SPELL_REFLECTION, 10000);
events.ScheduleEvent(EVENT_SPELL_IMPALE, urand(7000, 14000));
events.ScheduleEvent(EVENT_SPELL_REFLECTION, 20000, 36000);
events.ScheduleEvent(EVENT_SPELL_IMPALE, 7000, 14000);
events.ScheduleEvent(EVENT_SPELL_HEAD_CRACK, 15000);
events.ScheduleEvent(EVENT_SPELL_RAGE, 20000);
}
@@ -78,12 +81,16 @@ struct boss_warlord_kalithresh : public BossAI
{
case EVENT_SPELL_REFLECTION:
me->CastSpell(me, SPELL_SPELL_REFLECTION, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(20s, 36s);
break;
case EVENT_SPELL_IMPALE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true))
me->CastSpell(target, SPELL_IMPALE, false);
events.RepeatEvent(urand(7500, 12500));
events.Repeat(7500ms, 12500ms);
break;
case EVENT_SPELL_HEAD_CRACK:
DoCastVictim(SPELL_HEAD_CRACK);
events.Repeat(45s, 55s);
break;
case EVENT_SPELL_RAGE:
if (Creature* distiller = me->FindNearestCreature(NPC_NAGA_DISTILLER, 100.0f))