mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 02:04:52 +01:00
Scripts/BoT: use a more reliable way to remove Waterlogged and Frozen auras from players in Ascendant Council encounter
This commit is contained in:
17
sql/updates/world/custom/custom_2019_03_05_02_world.sql
Normal file
17
sql/updates/world/custom/custom_2019_03_05_02_world.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
|
||||
('spell_feludius_fire_proc_check',
|
||||
'spell_ignacious_inferno_rush');
|
||||
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(82860, 'spell_ignacious_inferno_rush'),
|
||||
(92523, 'spell_ignacious_inferno_rush'),
|
||||
(92524, 'spell_ignacious_inferno_rush'),
|
||||
(92525, 'spell_ignacious_inferno_rush');
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (82762, 82772, 92503, 92504, 92505);
|
||||
INSERT INTO `spell_proc` (`SpellId`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `ProcFlags`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`, `Cooldown`, `Charges`, `Chance`) VALUES
|
||||
(82762, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0),
|
||||
(82772, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0),
|
||||
(92503, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0),
|
||||
(92504, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0),
|
||||
(92505, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0);
|
||||
@@ -1976,25 +1976,6 @@ class spell_feludius_glaciate : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
class spell_feludius_fire_proc_check : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_feludius_fire_proc_check);
|
||||
|
||||
bool CheckProc(ProcEventInfo& eventInfo)
|
||||
{
|
||||
if (SpellInfo const* spell = eventInfo.GetSpellInfo())
|
||||
if (uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(SPELL_INFERNO_RUSH_TRIGGERED, eventInfo.GetActor()))
|
||||
return (spell->Id == spellId);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_feludius_fire_proc_check::CheckProc);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_feludius_heart_of_ice : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_feludius_heart_of_ice);
|
||||
@@ -2222,6 +2203,32 @@ class spell_ignacious_inferno_leap : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
class spell_ignacious_inferno_rush : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_ignacious_inferno_rush);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_WATERLOGGED,
|
||||
SPELL_FROZEN
|
||||
});
|
||||
}
|
||||
|
||||
void HandleAuraRemoval(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Unit* target = GetHitUnit();
|
||||
target->RemoveAurasDueToSpell(sSpellMgr->GetSpellIdForDifficulty(SPELL_FROZEN, target));
|
||||
target->RemoveAurasDueToSpell(SPELL_WATERLOGGED);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_ignacious_inferno_rush::HandleAuraRemoval, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_ignacious_flame_strike : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_ignacious_flame_strike);
|
||||
@@ -2837,7 +2844,6 @@ void AddSC_boss_ascendant_council()
|
||||
RegisterSpellScript(spell_feludius_water_bomb_targeting);
|
||||
RegisterSpellScript(spell_feludius_water_bomb);
|
||||
RegisterSpellScript(spell_feludius_glaciate);
|
||||
RegisterAuraScript(spell_feludius_fire_proc_check);
|
||||
RegisterAuraScript(spell_feludius_heart_of_ice);
|
||||
RegisterSpellAndAuraScriptPair(spell_feludius_frost_imbued, spell_feludius_frost_imbued_AuraScript);
|
||||
RegisterSpellScript(spell_feludius_frozen_orb_targeting);
|
||||
@@ -2845,6 +2851,7 @@ void AddSC_boss_ascendant_council()
|
||||
RegisterAuraScript(spell_ignacious_burning_blood);
|
||||
RegisterSpellAndAuraScriptPair(spell_ignacious_flame_imbued, spell_ignacious_flame_imbued_AuraScript);
|
||||
RegisterSpellScript(spell_ignacious_inferno_leap);
|
||||
RegisterSpellScript(spell_ignacious_inferno_rush);
|
||||
RegisterSpellScript(spell_ignacious_flame_strike);
|
||||
RegisterSpellScript(spell_arion_lashing_winds);
|
||||
RegisterSpellScript(spell_arion_thundershock);
|
||||
|
||||
Reference in New Issue
Block a user