Merge branch 'master' into Playerbot

This commit is contained in:
Yunfan Li
2024-08-05 01:22:16 +08:00
5 changed files with 29 additions and 24 deletions
@@ -0,0 +1,2 @@
-- DB update 2024_07_31_00 -> 2024_08_01_00
DELETE FROM `spell_script_names` WHERE `spell_id` = 32014;
@@ -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);
@@ -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];
@@ -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<WorldObject*>& 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);
@@ -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);
});
}