mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 15:58:04 +00:00
fix(Core/Stratholme): Some adjustments to Jarien and Sothos fight (#10269)
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1642692898569257400');
|
||||||
|
|
||||||
|
UPDATE `gameobject_template` SET `Data15` = 1 WHERE `entry` = 181083;
|
||||||
@@ -110,6 +110,8 @@ struct boss_jarien : public BossAI
|
|||||||
return !me->HasUnitState(UNIT_STATE_CASTING);
|
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;
|
_talked = false;
|
||||||
_phase = PHASE_TALK;
|
_phase = PHASE_TALK;
|
||||||
}
|
}
|
||||||
@@ -131,8 +133,6 @@ struct boss_jarien : public BossAI
|
|||||||
|
|
||||||
void IsSummonedBy(Unit* /*summoner*/) override
|
void IsSummonedBy(Unit* /*summoner*/) override
|
||||||
{
|
{
|
||||||
me->SetReactState(REACT_PASSIVE);
|
|
||||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
|
||||||
Talk(SAY_JARIEN_ON_SUMMON_0);
|
Talk(SAY_JARIEN_ON_SUMMON_0);
|
||||||
|
|
||||||
_scheduler.Schedule(6s, [this](TaskContext /*context*/)
|
_scheduler.Schedule(6s, [this](TaskContext /*context*/)
|
||||||
@@ -145,7 +145,7 @@ struct boss_jarien : public BossAI
|
|||||||
_talked = true;
|
_talked = true;
|
||||||
_phase = PHASE_FIGHT;
|
_phase = PHASE_FIGHT;
|
||||||
me->SetReactState(REACT_AGGRESSIVE);
|
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();
|
me->SetFullHealth();
|
||||||
DoCastSelf(SPELL_VENGEANCE);
|
DoCastSelf(SPELL_VENGEANCE);
|
||||||
Talk(EMOTE_JARIEN_VENGEANCE);
|
if (Creature* sothos = me->FindNearestCreature(NPC_SOTHOS, 200.f, false))
|
||||||
|
{
|
||||||
|
Talk(EMOTE_JARIEN_VENGEANCE, sothos);
|
||||||
|
}
|
||||||
_sothosDied = true;
|
_sothosDied = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -230,6 +233,8 @@ struct boss_sothos : public BossAI
|
|||||||
return !me->HasUnitState(UNIT_STATE_CASTING);
|
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;
|
_talked = false;
|
||||||
_phase = PHASE_TALK;
|
_phase = PHASE_TALK;
|
||||||
}
|
}
|
||||||
@@ -251,15 +256,12 @@ struct boss_sothos : public BossAI
|
|||||||
|
|
||||||
void IsSummonedBy(Unit* /*summoner*/) override
|
void IsSummonedBy(Unit* /*summoner*/) override
|
||||||
{
|
{
|
||||||
me->SetReactState(REACT_PASSIVE);
|
|
||||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
|
||||||
|
|
||||||
_scheduler.Schedule(12s, [this](TaskContext /*context*/)
|
_scheduler.Schedule(12s, [this](TaskContext /*context*/)
|
||||||
{
|
{
|
||||||
_talked = true;
|
_talked = true;
|
||||||
_phase = PHASE_FIGHT;
|
_phase = PHASE_FIGHT;
|
||||||
me->SetReactState(REACT_AGGRESSIVE);
|
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*/)
|
.Schedule(3s, [this](TaskContext /*context*/)
|
||||||
{
|
{
|
||||||
@@ -293,7 +295,10 @@ struct boss_sothos : public BossAI
|
|||||||
{
|
{
|
||||||
me->SetFullHealth();
|
me->SetFullHealth();
|
||||||
DoCastSelf(SPELL_VENGEANCE);
|
DoCastSelf(SPELL_VENGEANCE);
|
||||||
Talk(EMOTE_SOTHOS_VENGEANCE);
|
if (Creature* jarien = me->FindNearestCreature(NPC_JARIEN, 200.f, false))
|
||||||
|
{
|
||||||
|
Talk(EMOTE_SOTHOS_VENGEANCE, jarien);
|
||||||
|
}
|
||||||
_jarienDied = true;
|
_jarienDied = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user