mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-04 19:43:48 +00:00
fix(Scripts/TheEye): make Solarian not overlap casts and not cast arcane missiles into p2 transition (#18480)
* initial * add voiceline * move position of yells * change voicings
This commit is contained in:
12
data/sql/updates/pending_db_world/change_voicelines.sql
Normal file
12
data/sql/updates/pending_db_world/change_voicelines.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
--
|
||||
DELETE FROM `creature_text` WHERE `CreatureID` = 18805;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||
(18805, 0, 0, 'Tal anu\'men no sin\'dorei!', 14, 0, 100, 0, 0, 11134, 20849, 0, 'solarian SAY_AGGRO'),
|
||||
(18805, 1, 0, 'You are hopelessly outmatched!', 14, 0, 100, 0, 0, 11139, 20854, 0, 'solarian SAY_SUMMON1'),
|
||||
(18805, 1, 1, 'I will crush your delusions of grandeur!', 14, 0, 100, 0, 0, 11140, 20855, 0, 'solarian SAY_SUMMON2'),
|
||||
(18805, 2, 0, 'Your soul belongs to the abyss!', 14, 0, 100, 0, 0, 11136, 20851, 0, 'solarian SAY_KILL1'),
|
||||
(18805, 2, 1, 'By the blood of the Highborne!', 14, 0, 100, 0, 0, 11137, 20852, 0, 'solarian SAY_KILL2'),
|
||||
(18805, 2, 2, 'For the Sunwell!', 14, 0, 100, 0, 0, 11138, 20853, 0, 'solarian SAY_KILL3'),
|
||||
(18805, 3, 0, 'The warmth of the sun... awaits.', 14, 0, 100, 0, 0, 11135, 20850, 0, 'solarian SAY_DEATH'),
|
||||
(18805, 4, 0, 'Enough of this! Now I call upon the fury of the cosmos itself.', 14, 0, 100, 0, 0, 0, 20372, 0, 'solarian SAY_VOID1'),
|
||||
(18805, 4, 1, 'I become ONE... with the VOID!', 14, 0, 100, 0, 0, 0, 20373, 0, 'solarian SAY_VOID2');
|
||||
@@ -23,12 +23,10 @@
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SUMMON1 = 1,
|
||||
SAY_SUMMON2 = 2,
|
||||
SAY_KILL = 3,
|
||||
SAY_DEATH = 4,
|
||||
SAY_VOIDA = 5,
|
||||
SAY_VOIDB = 6
|
||||
SAY_SUMMON = 1,
|
||||
SAY_KILL = 2,
|
||||
SAY_DEATH = 3,
|
||||
SAY_VOID = 4
|
||||
};
|
||||
|
||||
enum Spells
|
||||
@@ -59,7 +57,13 @@ enum Misc
|
||||
|
||||
struct boss_high_astromancer_solarian : public BossAI
|
||||
{
|
||||
boss_high_astromancer_solarian(Creature* creature) : BossAI(creature, DATA_ASTROMANCER) { }
|
||||
boss_high_astromancer_solarian(Creature* creature) : BossAI(creature, DATA_ASTROMANCER)
|
||||
{
|
||||
scheduler.SetValidator([this]
|
||||
{
|
||||
return !me->HasUnitState(UNIT_STATE_CASTING);
|
||||
});
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -68,6 +72,8 @@ struct boss_high_astromancer_solarian : public BossAI
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
|
||||
ScheduleHealthCheckEvent(20, [&]{
|
||||
Talk(SAY_VOID);
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
scheduler.CancelAll();
|
||||
me->ResumeChasingVictim();
|
||||
scheduler.Schedule(3s, [this](TaskContext context)
|
||||
@@ -138,11 +144,11 @@ struct boss_high_astromancer_solarian : public BossAI
|
||||
}).Schedule(52100ms, [this](TaskContext context)
|
||||
{
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
Talk(SAY_SUMMON);
|
||||
me->SetModelVisible(false);
|
||||
scheduler.DelayAll(21s);
|
||||
scheduler.Schedule(6s, [this](TaskContext)
|
||||
{
|
||||
Talk(SAY_SUMMON1);
|
||||
summons.DoForAllSummons([&](WorldObject* summon)
|
||||
{
|
||||
if (Creature* light = summon->ToCreature())
|
||||
@@ -164,7 +170,6 @@ struct boss_high_astromancer_solarian : public BossAI
|
||||
}).Schedule(20s, [this](TaskContext)
|
||||
{
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
Talk(SAY_SUMMON2);
|
||||
summons.DoForAllSummons([&](WorldObject* summon)
|
||||
{
|
||||
if (Creature* light = summon->ToCreature())
|
||||
|
||||
Reference in New Issue
Block a user