Core/Scripts Update boss Maiden of Virtue (#19058)

(cherrypicked from d06391d062)
This commit is contained in:
Gustavo
2017-02-05 20:45:13 -02:00
committed by Shauren
parent b711f0bcae
commit c53df2adb0

View File

@@ -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;