From 6fbfbc5f01d712f8b0967f22231257b7d42ea37f Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Thu, 6 Oct 2022 02:13:00 +0200 Subject: [PATCH] =?UTF-8?q?fix(Scripts/Temple=20of=20AhnQiraj):=20Sartura'?= =?UTF-8?q?s=20Sundering=20Cleave=20should=20be=E2=80=A6=20(#13184)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... casted on Whirlwind end. --- .../rev_1664616629895100900.sql | 2 + .../TempleOfAhnQiraj/boss_sartura.cpp | 42 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1664616629895100900.sql diff --git a/data/sql/updates/pending_db_world/rev_1664616629895100900.sql b/data/sql/updates/pending_db_world/rev_1664616629895100900.sql new file mode 100644 index 000000000..2a0a3bfd1 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1664616629895100900.sql @@ -0,0 +1,2 @@ +-- +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=26084; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp index 6dabe7337..2cb8072a8 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp @@ -49,14 +49,15 @@ enum events EVENT_SPELL_BERSERK = 4, EVENT_SARTURA_AGGRO_RESET = 5, EVENT_SARTURA_AGGRO_RESET_END = 6, + EVENT_SARTURA_SUNDERING_CLEAVE = 7, // Sartura's Royal Guard - EVENT_GUARD_WHIRLWIND = 7, - EVENT_GUARD_WHIRLWIND_RANDOM = 8, - EVENT_GUARD_WHIRLWIND_END = 9, - EVENT_GUARD_KNOCKBACK = 10, - EVENT_GUARD_AGGRO_RESET = 11, - EVENT_GUARD_AGGRO_RESET_END = 12 + EVENT_GUARD_WHIRLWIND = 8, + EVENT_GUARD_WHIRLWIND_RANDOM = 9, + EVENT_GUARD_WHIRLWIND_END = 10, + EVENT_GUARD_KNOCKBACK = 11, + EVENT_GUARD_AGGRO_RESET = 12, + EVENT_GUARD_AGGRO_RESET_END = 13 }; struct boss_sartura : public BossAI @@ -99,6 +100,7 @@ struct boss_sartura : public BossAI events.ScheduleEvent(EVENT_SARTURA_WHIRLWIND, 30000); events.ScheduleEvent(EVENT_SARTURA_AGGRO_RESET, urand(45000, 55000)); events.ScheduleEvent(EVENT_SPELL_BERSERK, 10 * 60000); + events.ScheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, 2400ms, 3s); } void JustDied(Unit* /*killer*/) override @@ -121,14 +123,6 @@ struct boss_sartura : public BossAI } } - void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override - { - if (spell->Id != SPELL_SUNDERING_CLEAVE) - return; - - me->RemoveAura(SPELL_SUNDERING_CLEAVE); - } - void UpdateAI(uint32 diff) override { if (!UpdateVictim()) @@ -203,6 +197,18 @@ struct boss_sartura : public BossAI berserked = true; } break; + case EVENT_SARTURA_SUNDERING_CLEAVE: + if (whirlwind) + { + Milliseconds whirlwindTimer = events.GetTimeUntilEvent(EVENT_SARTURA_WHIRLWIND_END); + events.RescheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, whirlwindTimer + 500ms); + } + else + { + DoCastVictim(SPELL_SUNDERING_CLEAVE, false); + events.RescheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, 2400ms, 3s); + } + break; default: break; } @@ -238,14 +244,6 @@ struct npc_sartura_royal_guard : public ScriptedAI events.ScheduleEvent(EVENT_GUARD_KNOCKBACK, 10000); } - void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override - { - if (spell->Id != SPELL_SUNDERING_CLEAVE) - return; - - me->RemoveAura(SPELL_SUNDERING_CLEAVE); - } - void UpdateAI(uint32 diff) override { if (!UpdateVictim())