Merge branch 'patch-3' into '4.3.4'

Raid/Baradin Hold: Pit Lord Argaloth

Pit Lord Argaloth should cast one time Fel Firestom at 66% Health and 33% Health. The way it was scripted made boss cast continuosly Fel Firestom from 66% to 0%. Now it is ok.

See merge request !9
This commit is contained in:
Carbenium committed 2016-04-30 22:48:49 +00:00
commit dd917e4214
1 file changed
+15 -4
@@ -48,7 +48,7 @@ class boss_pit_lord_argaloth : public CreatureScript
struct boss_pit_lord_argalothAI : public BossAI struct boss_pit_lord_argalothAI : public BossAI
{ {
boss_pit_lord_argalothAI(Creature* creature) : BossAI(creature, DATA_ARGALOTH) { } boss_pit_lord_argalothAI(Creature* creature) : BossAI(creature, DATA_ARGALOTH) { }
void EnterCombat(Unit* /*who*/) override void EnterCombat(Unit* /*who*/) override
{ {
_EnterCombat(); _EnterCombat();
@@ -57,9 +57,11 @@ class boss_pit_lord_argaloth : public CreatureScript
events.ScheduleEvent(EVENT_CONSUMING_DARKNESS, urand(20 * IN_MILLISECONDS, 25 * IN_MILLISECONDS)); events.ScheduleEvent(EVENT_CONSUMING_DARKNESS, urand(20 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_BERSERK, 5 * MINUTE * IN_MILLISECONDS); events.ScheduleEvent(EVENT_BERSERK, 5 * MINUTE * IN_MILLISECONDS);
} }
void EnterEvadeMode(EvadeReason /*why*/) override void EnterEvadeMode(EvadeReason /*why*/) override
{ {
first_fel_firestorm = false;
second_fel_firestorm = false;
me->GetMotionMaster()->MoveTargetedHome(); me->GetMotionMaster()->MoveTargetedHome();
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_DespawnAtEvade(); _DespawnAtEvade();
@@ -67,9 +69,15 @@ class boss_pit_lord_argaloth : public CreatureScript
void DamageTaken(Unit* /*attacker*/, uint32& damage) override void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{ {
if (me->HealthBelowPctDamaged(33, damage) || if (me->HealthBelowPctDamaged(66) && !first_fel_firestorm)
me->HealthBelowPctDamaged(66, damage))
{ {
first_fel_firestorm = true;
DoCastAOE(SPELL_FEL_FIRESTORM);
}
else
if(me->HealthBelowPctDamaged(33) && !second_fel_firestorm)
{
second_fel_firestorm = true;
DoCastAOE(SPELL_FEL_FIRESTORM); DoCastAOE(SPELL_FEL_FIRESTORM);
} }
} }
@@ -112,6 +120,9 @@ class boss_pit_lord_argaloth : public CreatureScript
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
private:
bool first_fel_firestorm;
bool second_fel_firestorm;
}; };
CreatureAI* GetAI(Creature* creature) const override CreatureAI* GetAI(Creature* creature) const override