mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Scripts/Spells: Implement mage talent "Pyrotechnics" (#31254)
This commit is contained in:
@@ -6,5 +6,5 @@ INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (44448,48108);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(44448,0x04,3,0x00C00013,0x00100000,0x00000000,0x00000000,0x0,0x0,0x1,0x2,0x2,0x0,0x0,0,0,0,0), -- Pyroblast Clearcasting Driver
|
||||
(44448,0x04,3,0x00C00013,0x00100000,0x00000000,0x00000000,0x0,0x0,0x1,0x2,0x0,0x0,0x0,0,0,0,0), -- Pyroblast Clearcasting Driver
|
||||
(48108,0x00,3,0x00000000,0x00000000,0x00000000,0x00000000,0x0,0x4,0x0,0x0,0x0,0x8,0x0,0,0,0,1); -- Hot Streak!
|
||||
|
||||
7
sql/updates/world/master/2025_09_19_01_world.sql
Normal file
7
sql/updates/world/master/2025_09_19_01_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (157642);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(157642,0x0,3,0x00000001,0x00000000,0x00000000,0x00000000,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0,0,0,0); -- Pyrotechnics
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_mage_pyrotechnics';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(157642, 'spell_mage_pyrotechnics');
|
||||
@@ -94,6 +94,7 @@ enum MageSpells
|
||||
SPELL_MAGE_PHOENIX_FLAMES = 257541,
|
||||
SPELL_MAGE_PHOENIX_FLAMES_DAMAGE = 257542,
|
||||
SPELL_MAGE_PYROBLAST = 11366,
|
||||
SPELL_MAGE_PYROTECHNICS = 157644,
|
||||
SPELL_MAGE_RADIANT_SPARK_PROC_BLOCKER = 376105,
|
||||
SPELL_MAGE_RAY_OF_FROST_BONUS = 208141,
|
||||
SPELL_MAGE_RAY_OF_FROST_FINGERS_OF_FROST = 269748,
|
||||
@@ -1591,6 +1592,29 @@ class spell_mage_prismatic_barrier : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 157642 - Pyrotechnics
|
||||
class spell_mage_pyrotechnics : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_MAGE_PYROTECHNICS });
|
||||
}
|
||||
|
||||
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo const& procInfo)
|
||||
{
|
||||
if (procInfo.GetHitMask() & PROC_HIT_CRITICAL)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
procInfo.GetActor()->RemoveAurasDueToSpell(SPELL_MAGE_PYROTECHNICS);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_mage_pyrotechnics::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
// 376103 - Radiant Spark
|
||||
class spell_mage_radiant_spark : public AuraScript
|
||||
{
|
||||
@@ -2054,6 +2078,7 @@ void AddSC_mage_spell_scripts()
|
||||
RegisterSpellScript(spell_mage_molten_fury);
|
||||
RegisterSpellScript(spell_mage_polymorph_visual);
|
||||
RegisterSpellScript(spell_mage_prismatic_barrier);
|
||||
RegisterSpellScript(spell_mage_pyrotechnics);
|
||||
RegisterSpellScript(spell_mage_radiant_spark);
|
||||
RegisterSpellAndAuraScriptPair(spell_mage_ray_of_frost, spell_mage_ray_of_frost_aura);
|
||||
RegisterSpellScript(spell_mage_ring_of_frost);
|
||||
|
||||
Reference in New Issue
Block a user