mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-01 18:13:48 +00:00
feat(Core/AI): Implement ScheduleHealthCheckEvent() for events that fire … (#15275)
This commit is contained in:
@@ -44,8 +44,6 @@ enum Events
|
||||
EVENT_SACRIFICE = 1,
|
||||
EVENT_HELLFIRE = 2,
|
||||
EVENT_ENRAGE = 3,
|
||||
EVENT_HEALTH_CHECK_50 = 4,
|
||||
EVENT_HEALTH_CHECK_20 = 5
|
||||
};
|
||||
|
||||
class boss_thorngrin_the_tender : public CreatureScript
|
||||
@@ -64,6 +62,12 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
_Reset();
|
||||
ScheduleHealthCheckEvent(20, [&]() {
|
||||
Talk(SAY_20_PERCENT_HP);
|
||||
});
|
||||
ScheduleHealthCheckEvent(50, [&]() {
|
||||
Talk(SAY_50_PERCENT_HP);
|
||||
});
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
@@ -83,8 +87,6 @@ public:
|
||||
events.ScheduleEvent(EVENT_SACRIFICE, 6000);
|
||||
events.ScheduleEvent(EVENT_HELLFIRE, 18000);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 15000);
|
||||
events.ScheduleEvent(EVENT_HEALTH_CHECK_50, 500);
|
||||
events.ScheduleEvent(EVENT_HEALTH_CHECK_20, 500);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
@@ -129,22 +131,6 @@ public:
|
||||
me->CastSpell(me, SPELL_ENRAGE, false);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 30000);
|
||||
break;
|
||||
case EVENT_HEALTH_CHECK_50:
|
||||
if (me->HealthBelowPct(50))
|
||||
{
|
||||
Talk(SAY_50_PERCENT_HP);
|
||||
break;
|
||||
}
|
||||
events.ScheduleEvent(EVENT_HEALTH_CHECK_50, 500);
|
||||
break;
|
||||
case EVENT_HEALTH_CHECK_20:
|
||||
if (me->HealthBelowPct(20))
|
||||
{
|
||||
Talk(SAY_20_PERCENT_HP);
|
||||
break;
|
||||
}
|
||||
events.ScheduleEvent(EVENT_HEALTH_CHECK_20, 500);
|
||||
break;
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
Reference in New Issue
Block a user