mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 01:08:35 +00:00
fix(Script/HoS): Various issues with brann boss (#23413)
This commit is contained in:
@@ -389,7 +389,7 @@ public:
|
||||
Talk(SAY_BRANN_ESCORT_START);
|
||||
me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_PASSIVE);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->SetRegeneratingHealth(false);
|
||||
me->SetRegeneratingHealth(true);
|
||||
break;
|
||||
case ACTION_START_TRIBUNAL:
|
||||
{
|
||||
@@ -616,15 +616,8 @@ public:
|
||||
{
|
||||
if (!canExecuteEvents)
|
||||
return;
|
||||
uint32 Time = 40000 - (2500 * WaveNum);
|
||||
SummonCreatures(NPC_DARK_RUNE_PROTECTOR, 3, 0);
|
||||
if (WaveNum > 2)
|
||||
events.ScheduleEvent(EVENT_SUMMON_STORMCALLER, Seconds(urand(10 - WaveNum, 15 - WaveNum)));
|
||||
if (WaveNum > 5)
|
||||
events.ScheduleEvent(EVENT_SUMMON_CUSTODIAN, Seconds(urand(10 - WaveNum, 15 - WaveNum)));
|
||||
|
||||
WaveNum++;
|
||||
events.Repeat(Milliseconds(Time));
|
||||
events.Repeat(IsHeroic() ? 23500ms : 32500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_SUMMON_STORMCALLER:
|
||||
@@ -633,7 +626,7 @@ public:
|
||||
return;
|
||||
|
||||
SummonCreatures(NPC_DARK_RUNE_STORMCALLER, 2, 1);
|
||||
|
||||
events.Repeat(IsHeroic() ? 32s : 41500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_SUMMON_CUSTODIAN:
|
||||
@@ -642,7 +635,7 @@ public:
|
||||
return;
|
||||
|
||||
SummonCreatures(NPC_IRON_GOLEM_CUSTODIAN, 1, 1);
|
||||
|
||||
events.Repeat(IsHeroic() ? 32s : 45s);
|
||||
break;
|
||||
}
|
||||
case EVENT_TRIBUNAL_END:
|
||||
@@ -836,17 +829,14 @@ void brann_bronzebeard::brann_bronzebeardAI::InitializeEvent()
|
||||
Creature* cr = nullptr;
|
||||
if ((cr = me->SummonCreature(NPC_KADDRAK, 923.7f, 326.9f, 219.5f, 2.1f, TEMPSUMMON_TIMED_DESPAWN, 580000)))
|
||||
{
|
||||
cr->SetInCombatWithZone();
|
||||
KaddrakGUID = cr->GetGUID();
|
||||
}
|
||||
if ((cr = me->SummonCreature(NPC_MARNAK, 895.974f, 363.571f, 219.337f, 5.5f, TEMPSUMMON_TIMED_DESPAWN, 580000)))
|
||||
{
|
||||
cr->SetInCombatWithZone();
|
||||
MarnakGUID = cr->GetGUID();
|
||||
}
|
||||
if ((cr = me->SummonCreature(NPC_ABEDNEUM, 892.25f, 331.25f, 223.86f, 0.6f, TEMPSUMMON_TIMED_DESPAWN, 580000)))
|
||||
{
|
||||
cr->SetInCombatWithZone();
|
||||
AbedneumGUID = cr->GetGUID();
|
||||
}
|
||||
|
||||
@@ -859,8 +849,9 @@ void brann_bronzebeard::brann_bronzebeardAI::InitializeEvent()
|
||||
events.ScheduleEvent(EVENT_MARNAK_VISUAL, 105s);
|
||||
events.ScheduleEvent(EVENT_ABEDNEUM_VISUAL, 207s);
|
||||
|
||||
// Fight
|
||||
events.ScheduleEvent(EVENT_SUMMON_MONSTERS, 47s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_MONSTERS, 52s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_STORMCALLER, 122s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_CUSTODIAN, 228s);
|
||||
events.ScheduleEvent(EVENT_KADDRAK_HEAD, 47s);
|
||||
events.ScheduleEvent(EVENT_MARNAK_HEAD, 115s);
|
||||
events.ScheduleEvent(EVENT_ABEDNEUM_HEAD, 217s);
|
||||
@@ -981,7 +972,6 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit*) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DRP_CHARGE, 10s);
|
||||
events.ScheduleEvent(EVENT_DRP_CLEAVE, 7s);
|
||||
}
|
||||
|
||||
@@ -996,14 +986,6 @@ public:
|
||||
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_DRP_CHARGE:
|
||||
{
|
||||
if (Unit* tgt = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(tgt, SPELL_DRP_CHARGE, false);
|
||||
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
}
|
||||
case EVENT_DRP_CLEAVE:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_DRP_CLEAVE, false);
|
||||
@@ -1012,6 +994,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
if (Unit* victim = me->GetVictim())
|
||||
{
|
||||
if (!me->IsWithinMeleeRange(victim) && !me->HasUnitState(UNIT_STATE_CHARGING))
|
||||
{
|
||||
me->CastSpell(victim, SPELL_DRP_CHARGE, false);
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
@@ -1095,7 +1085,7 @@ public:
|
||||
void JustEngagedWith(Unit*) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_IGC_CRUSH, 6s);
|
||||
events.ScheduleEvent(EVENT_IGC_GROUND_SMASH, 4s);
|
||||
events.ScheduleEvent(EVENT_IGC_GROUND_SMASH, 20s);
|
||||
}
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
@@ -1117,7 +1107,7 @@ public:
|
||||
case EVENT_IGC_GROUND_SMASH:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_IGC_GROUND_SMASH, false);
|
||||
events.Repeat(5s);
|
||||
events.Repeat(20s, 40s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user