From 23953aff76a64aee16c4d466c016ac8356d8d475 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 30 Jul 2018 12:35:20 +0200 Subject: [PATCH] Scripts/BoT: fixed an issue that was preventing Ignacious from properly charging to his victim after Inferno Leap has been casted --- .../world/custom/custom_2018_07_30_00_world.sql | 9 +++++++++ .../BastionOfTwilight/boss_ascendant_council.cpp | 15 +++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 sql/updates/world/custom/custom_2018_07_30_00_world.sql diff --git a/sql/updates/world/custom/custom_2018_07_30_00_world.sql b/sql/updates/world/custom/custom_2018_07_30_00_world.sql new file mode 100644 index 00000000000..68b2a74d123 --- /dev/null +++ b/sql/updates/world/custom/custom_2018_07_30_00_world.sql @@ -0,0 +1,9 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName` IN +('spell_ignacious_inferno_rush', +'spell_ignacious_inferno_leap'); + +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(82857, 'spell_ignacious_inferno_leap'), +(92520, 'spell_ignacious_inferno_leap'), +(92521, 'spell_ignacious_inferno_leap'), +(92522, 'spell_ignacious_inferno_leap'); diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp index b54e070d571..8229e549afa 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp @@ -770,8 +770,7 @@ class npc_ignacious : public CreatureScript Unit* target = me->GetVictim(); if (Unit* previousVictim = ObjectAccessor::GetUnit(*me, _lastVictimGuid)) - if (me->GetDistance(previousVictim) <= 100.0f) - target = previousVictim; + target = previousVictim; if (target) { @@ -865,6 +864,8 @@ class npc_ignacious : public CreatureScript if (Unit* victim = me->GetVictim()) _lastVictimGuid = victim->GetGUID(); + me->AttackStop(); + me->SetReactState(REACT_PASSIVE); DoCast(target, SPELL_INFERNO_LEAP); } _events.Repeat(Seconds(31) + Milliseconds(500)); @@ -873,6 +874,8 @@ class npc_ignacious : public CreatureScript for (ObjectGuid guid : _infernoRushGUIDs) if (Creature* infernoRush = ObjectAccessor::GetCreature(*me, guid)) infernoRush->CastSpell(infernoRush, SPELL_INFERNO_RUSH_AURA); + + me->SetReactState(REACT_AGGRESSIVE); break; case EVENT_EXPLOSION_DND: DoCastSelf(SPELL_FIRE_EXPLOSION_DND); @@ -2154,9 +2157,9 @@ class spell_ignacious_flame_imbued_AuraScript : public AuraScript } }; -class spell_ignacious_inferno_rush : public SpellScript +class spell_ignacious_inferno_leap : public SpellScript { - PrepareSpellScript(spell_ignacious_inferno_rush); + PrepareSpellScript(spell_ignacious_inferno_leap); void HandleInfernoRush() { @@ -2168,7 +2171,7 @@ class spell_ignacious_inferno_rush : public SpellScript void Register() { - AfterCast += SpellCastFn(spell_ignacious_inferno_rush::HandleInfernoRush); + AfterCast += SpellCastFn(spell_ignacious_inferno_leap::HandleInfernoRush); } }; @@ -2781,7 +2784,7 @@ void AddSC_boss_ascendant_council() RegisterAuraScript(spell_ignacious_rising_flames); RegisterAuraScript(spell_ignacious_burning_blood); RegisterSpellAndAuraScriptPair(spell_ignacious_flame_imbued, spell_ignacious_flame_imbued_AuraScript); - RegisterSpellScript(spell_ignacious_inferno_rush); + RegisterSpellScript(spell_ignacious_inferno_leap); RegisterSpellScript(spell_ignacious_flame_strike); RegisterSpellScript(spell_arion_lashing_winds); RegisterSpellScript(spell_arion_thundershock);