mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Scripts Update boss Maiden of Virtue (#19058)
(cherrypicked from d06391d062)
This commit is contained in:
@@ -24,7 +24,7 @@ enum Spells
|
||||
SPELL_REPENTANCE = 29511,
|
||||
SPELL_HOLYFIRE = 29522,
|
||||
SPELL_HOLYWRATH = 32445,
|
||||
SPELL_HOLYGROUND = 29512,
|
||||
SPELL_HOLYGROUND = 29523,
|
||||
SPELL_BERSERK = 26662
|
||||
};
|
||||
|
||||
@@ -41,8 +41,7 @@ enum Events
|
||||
EVENT_REPENTANCE = 1,
|
||||
EVENT_HOLYFIRE = 2,
|
||||
EVENT_HOLYWRATH = 3,
|
||||
EVENT_HOLYGROUND = 4,
|
||||
EVENT_ENRAGE = 5
|
||||
EVENT_ENRAGE = 4
|
||||
};
|
||||
|
||||
class boss_maiden_of_virtue : public CreatureScript
|
||||
@@ -56,7 +55,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*Victim*/) override
|
||||
{
|
||||
if (urand(0, 1) == 0)
|
||||
if (roll_chance_i(50))
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
@@ -71,11 +70,11 @@ public:
|
||||
_EnterCombat();
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
events.ScheduleEvent(EVENT_REPENTANCE, urand(33, 45) * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_HOLYFIRE, 12 * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_HOLYWRATH, urand(15, 25) * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_HOLYGROUND, 3 * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 600 * IN_MILLISECONDS);
|
||||
DoCastSelf(SPELL_HOLYGROUND, true);
|
||||
events.ScheduleEvent(EVENT_REPENTANCE, Seconds(33), Seconds(45));
|
||||
events.ScheduleEvent(EVENT_HOLYFIRE, Seconds(8));
|
||||
events.ScheduleEvent(EVENT_HOLYWRATH, Seconds(15), Seconds(25));
|
||||
events.ScheduleEvent(EVENT_ENRAGE, Minutes(10));
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -95,24 +94,20 @@ public:
|
||||
case EVENT_REPENTANCE:
|
||||
DoCastVictim(SPELL_REPENTANCE);
|
||||
Talk(SAY_REPENTANCE);
|
||||
events.ScheduleEvent(EVENT_REPENTANCE, urand(33, 45) * IN_MILLISECONDS);
|
||||
events.Repeat(Seconds(35));
|
||||
break;
|
||||
case EVENT_HOLYFIRE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true))
|
||||
DoCast(target, SPELL_HOLYFIRE);
|
||||
events.ScheduleEvent(EVENT_HOLYFIRE, 12 * IN_MILLISECONDS);
|
||||
events.Repeat(Seconds(8), Seconds(19));
|
||||
break;
|
||||
case EVENT_HOLYWRATH:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 80, true))
|
||||
DoCast(target, SPELL_HOLYWRATH);
|
||||
events.ScheduleEvent(EVENT_HOLYWRATH, urand(15, 25) * IN_MILLISECONDS);
|
||||
break;
|
||||
case EVENT_HOLYGROUND:
|
||||
DoCast(me, SPELL_HOLYGROUND, true);
|
||||
events.ScheduleEvent(EVENT_HOLYGROUND, 3 * IN_MILLISECONDS);
|
||||
events.Repeat(Seconds(15), Seconds(25));
|
||||
break;
|
||||
case EVENT_ENRAGE:
|
||||
DoCast(me, SPELL_BERSERK, true);
|
||||
DoCastSelf(SPELL_BERSERK, true);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user