fix(Core/Stratholme): Some adjustments to Jarien and Sothos fight (#10269)

This commit is contained in:
Nefertumm
2022-01-22 16:22:49 -03:00
committed by GitHub
parent 4f1e13f03c
commit ce5fc6ebdf
2 changed files with 17 additions and 9 deletions

View File

@@ -110,6 +110,8 @@ struct boss_jarien : public BossAI
return !me->HasUnitState(UNIT_STATE_CASTING);
});
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_NPC);
_talked = false;
_phase = PHASE_TALK;
}
@@ -131,8 +133,6 @@ struct boss_jarien : public BossAI
void IsSummonedBy(Unit* /*summoner*/) override
{
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
Talk(SAY_JARIEN_ON_SUMMON_0);
_scheduler.Schedule(6s, [this](TaskContext /*context*/)
@@ -145,7 +145,7 @@ struct boss_jarien : public BossAI
_talked = true;
_phase = PHASE_FIGHT;
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_NPC);
});
}
@@ -171,7 +171,10 @@ struct boss_jarien : public BossAI
{
me->SetFullHealth();
DoCastSelf(SPELL_VENGEANCE);
Talk(EMOTE_JARIEN_VENGEANCE);
if (Creature* sothos = me->FindNearestCreature(NPC_SOTHOS, 200.f, false))
{
Talk(EMOTE_JARIEN_VENGEANCE, sothos);
}
_sothosDied = true;
}
}
@@ -230,6 +233,8 @@ struct boss_sothos : public BossAI
return !me->HasUnitState(UNIT_STATE_CASTING);
});
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_NPC);
_talked = false;
_phase = PHASE_TALK;
}
@@ -251,15 +256,12 @@ struct boss_sothos : public BossAI
void IsSummonedBy(Unit* /*summoner*/) override
{
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
_scheduler.Schedule(12s, [this](TaskContext /*context*/)
{
_talked = true;
_phase = PHASE_FIGHT;
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_NPC);
})
.Schedule(3s, [this](TaskContext /*context*/)
{
@@ -293,7 +295,10 @@ struct boss_sothos : public BossAI
{
me->SetFullHealth();
DoCastSelf(SPELL_VENGEANCE);
Talk(EMOTE_SOTHOS_VENGEANCE);
if (Creature* jarien = me->FindNearestCreature(NPC_JARIEN, 200.f, false))
{
Talk(EMOTE_SOTHOS_VENGEANCE, jarien);
}
_jarienDied = true;
}
}