fix(Scripts/HoS): Maiden of Grief various issues (#23415)

This commit is contained in:
blinkysc
2025-10-30 22:34:18 -05:00
committed by GitHub
parent 43552868b8
commit 2d50ee0ed9
@@ -77,10 +77,11 @@ public:
void JustEngagedWith(Unit* /*who*/) override void JustEngagedWith(Unit* /*who*/) override
{ {
events.ScheduleEvent(EVENT_STORM, 5s); events.ScheduleEvent(EVENT_STORM, 6s, 10s);
events.ScheduleEvent(EVENT_SHOCK, 26s, 32s); events.ScheduleEvent(EVENT_SHOCK, 14s, 29s);
events.ScheduleEvent(EVENT_PILLAR, 12s, 20s); events.ScheduleEvent(EVENT_PILLAR, 7s, 15s);
events.ScheduleEvent(EVENT_PARTING, 8s); if (IsHeroic())
events.ScheduleEvent(EVENT_PARTING, 27s, 45s);
Talk(SAY_AGGRO); Talk(SAY_AGGRO);
if (pInstance) if (pInstance)
@@ -105,7 +106,7 @@ public:
case EVENT_STORM: case EVENT_STORM:
{ {
me->CastSpell(me->GetVictim(), SPELL_STORM_OF_GRIEF, true); me->CastSpell(me->GetVictim(), SPELL_STORM_OF_GRIEF, true);
events.Repeat(10s); events.Repeat(16s, 20s);
break; break;
} }
case EVENT_SHOCK: case EVENT_SHOCK:
@@ -113,7 +114,7 @@ public:
me->CastSpell(me->GetVictim(), SPELL_SHOCK_OF_SORROW, false); me->CastSpell(me->GetVictim(), SPELL_SHOCK_OF_SORROW, false);
Talk(SAY_STUN); Talk(SAY_STUN);
events.Repeat(16s, 22s); events.Repeat(19s, 33s);
break; break;
} }
case EVENT_PILLAR: case EVENT_PILLAR:
@@ -121,15 +122,28 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0)) if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0))
me->CastSpell(target, SPELL_PILLAR_OF_WOE, false); me->CastSpell(target, SPELL_PILLAR_OF_WOE, false);
events.Repeat(12s, 20s); events.Repeat(8s, 31s);
break; break;
} }
case EVENT_PARTING: case EVENT_PARTING:
{ {
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0)) Unit* target = nullptr;
std::list<Unit*> targetList;
SelectTargetList(targetList, 10, SelectTargetMethod::Random, 0, 50.0f, true);
for (Unit* possibleTarget : targetList)
{
if (possibleTarget && possibleTarget->IsPlayer() && possibleTarget->getPowerType() == POWER_MANA)
{
target = possibleTarget;
break;
}
}
if (target)
me->CastSpell(target, SPELL_PARTING_SORROW, false); me->CastSpell(target, SPELL_PARTING_SORROW, false);
events.Repeat(6s, 16s); events.Repeat(27s, 45s);
break; break;
} }
} }