diff --git a/data/sql/updates/db_world/2024_08_01_00.sql b/data/sql/updates/db_world/2024_08_01_00.sql new file mode 100644 index 000000000..127b7bbf8 --- /dev/null +++ b/data/sql/updates/db_world/2024_08_01_00.sql @@ -0,0 +1,2 @@ +-- DB update 2024_07_31_00 -> 2024_08_01_00 +DELETE FROM `spell_script_names` WHERE `spell_id` = 32014; diff --git a/data/sql/updates/db_world/2024_08_02_00.sql b/data/sql/updates/db_world/2024_08_02_00.sql new file mode 100644 index 000000000..778e7d92c --- /dev/null +++ b/data/sql/updates/db_world/2024_08_02_00.sql @@ -0,0 +1,8 @@ +-- DB update 2024_08_01_00 -> 2024_08_02_00 +-- Flame Wave. +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` IN (18975,19740)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(18975, 0, 0, 0, 0, 0, 75, 0, 5000, 10000, 15000, 20000, 0, 0, 11, 33804, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Wrathguard - In Combat - Cast \'Flame Wave\''), +(19740, 0, 0, 0, 0, 0, 75, 0, 5000, 10000, 15000, 20000, 0, 0, 11, 33804, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Wrathwalker - In Combat - Cast \'Flame Wave\''); + +UPDATE `creature_template` SET `faction` = 90 WHERE (`entry` = 19381); diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index 1da205ab9..de0e5c907 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4798,6 +4798,20 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->Effects[EFFECT_0].Amplitude = 9000; }); + // Flame Wave + ApplySpellFix({ 33800 }, [](SpellInfo* spellInfo) + { + spellInfo->Effects[EFFECT_1].Effect = SPELL_EFFECT_APPLY_AURA; + spellInfo->Effects[EFFECT_1].ApplyAuraName = SPELL_AURA_PERIODIC_TRIGGER_SPELL; + spellInfo->Effects[EFFECT_1].Amplitude = 500; + }); + + // Chromatic Resistance Aura + ApplySpellFix({ 41453 }, [](SpellInfo* spellInfo) + { + spellInfo->Effects[EFFECT_0].MiscValue = 124; + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i]; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index cab91dd88..73accd7f7 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -267,9 +267,11 @@ struct boss_archimonde : public BossAI Talk(SAY_AGGRO); ScheduleTimedEvent(25s, 35s, [&] { - scheduler.DelayGroup(GROUP_FEAR, 5s); - Talk(SAY_AIR_BURST); - DoCastRandomTarget(SPELL_AIR_BURST); + if (DoCastRandomTarget(SPELL_AIR_BURST, 1) == SPELL_CAST_OK) + { + scheduler.DelayGroup(GROUP_FEAR, 5s); + Talk(SAY_AIR_BURST); + } }, 25s, 40s); ScheduleTimedEvent(8s, [&] { @@ -471,24 +473,6 @@ class spell_red_sky_effect : public SpellScript } }; -class spell_air_burst : public SpellScript -{ - PrepareSpellScript(spell_air_burst); - - void FilterTargets(std::list& targets) - { - if (Unit* victim = GetCaster()->GetVictim()) - { - targets.remove_if(Acore::ObjectGUIDCheck(victim->GetGUID(), true)); - } - } - - void Register() override - { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_air_burst::FilterTargets, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY); - } -}; - class spell_doomfire : public AuraScript { PrepareAuraScript(spell_doomfire); @@ -519,7 +503,6 @@ class spell_doomfire : public AuraScript void AddSC_boss_archimonde() { RegisterSpellScript(spell_red_sky_effect); - RegisterSpellScript(spell_air_burst); RegisterSpellScript(spell_doomfire); RegisterHyjalAI(boss_archimonde); RegisterHyjalAI(npc_ancient_wisp); diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp index 47bbde7b3..d93159e81 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp @@ -54,7 +54,6 @@ enum Spells SPELL_FATAL_ATTRACTION_AURA = 41001, SPELL_FATAL_ATTRACTION_DAMAGE = 40871, SPELL_ENRAGE = 45078, - SPELL_FRENZY = 40683, SPELL_SABER_LASH_IMMUNITY = 43690 }; @@ -74,7 +73,6 @@ struct boss_mother_shahraz : public BossAI _canTalk = true; ScheduleHealthCheckEvent(10, [&] { - DoCastSelf(SPELL_FRENZY, true); Talk(SAY_EMOTE_FRENZY); }); }