mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 10:56:38 +01:00
Scripts/Spells: Implement demon hunter talent Violent Transformation (#30969)
This commit is contained in:
7
sql/updates/world/master/2025_05_25_05_world.sql
Normal file
7
sql/updates/world/master/2025_05_25_05_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dh_violent_transformation';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(452409, 'spell_dh_violent_transformation');
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (452409);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(452409,0x00,107,0x10008000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0,0,0,0); -- Violent Transformation
|
||||
@@ -137,6 +137,7 @@ enum DemonHunterSpells
|
||||
SPELL_DH_ILLIDANS_GRASP = 205630,
|
||||
SPELL_DH_ILLIDANS_GRASP_DAMAGE = 208618,
|
||||
SPELL_DH_ILLIDANS_GRASP_JUMP_DEST = 208175,
|
||||
SPELL_DH_IMMOLATION_AURA = 258920,
|
||||
SPELL_DH_INNER_DEMON_BUFF = 390145,
|
||||
SPELL_DH_INNER_DEMON_DAMAGE = 390137,
|
||||
SPELL_DH_INNER_DEMON_TALENT = 389693,
|
||||
@@ -186,6 +187,7 @@ enum DemonHunterSpells
|
||||
SPELL_DH_SIGIL_OF_CHAINS_SNARE = 204843,
|
||||
SPELL_DH_SIGIL_OF_CHAINS_TARGET_SELECT = 204834,
|
||||
SPELL_DH_SIGIL_OF_CHAINS_VISUAL = 208673,
|
||||
SPELL_DH_SIGIL_OF_FLAME = 204596,
|
||||
SPELL_DH_SIGIL_OF_FLAME_AOE = 204598,
|
||||
SPELL_DH_SIGIL_OF_FLAME_FLAME_CRASH = 228973,
|
||||
SPELL_DH_SIGIL_OF_FLAME_VISUAL = 208710,
|
||||
@@ -208,6 +210,7 @@ enum DemonHunterSpells
|
||||
SPELL_DH_TACTICAL_RETREAT_TALENT = 389688,
|
||||
SPELL_DH_THROW_GLAIVE = 185123,
|
||||
SPELL_DH_UNCONTAINED_FEL = 209261,
|
||||
SPELL_DH_VENGEANCE_DEMON_HUNTER = 212613,
|
||||
SPELL_DH_VENGEFUL_BONDS = 320635,
|
||||
SPELL_DH_VENGEFUL_RETREAT = 198813,
|
||||
SPELL_DH_VENGEFUL_RETREAT_TRIGGER = 198793,
|
||||
@@ -1655,6 +1658,31 @@ class spell_dh_vengeful_retreat_damage : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 452409 - Violent Transformation
|
||||
class spell_dh_violent_transformation : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_DH_SIGIL_OF_FLAME, SPELL_DH_VENGEANCE_DEMON_HUNTER, SPELL_DH_FEL_DEVASTATION, SPELL_DH_IMMOLATION_AURA });
|
||||
}
|
||||
|
||||
void HandleOnProc(AuraEffect const* /*aurEff*/, ProcEventInfo const& /*eventInfo*/) const
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
target->GetSpellHistory()->RestoreCharge(sSpellMgr->AssertSpellInfo(SPELL_DH_SIGIL_OF_FLAME, GetCastDifficulty())->ChargeCategoryId);
|
||||
|
||||
if (target->HasAura(SPELL_DH_VENGEANCE_DEMON_HUNTER))
|
||||
target->GetSpellHistory()->ResetCooldown(SPELL_DH_FEL_DEVASTATION, true);
|
||||
else
|
||||
target->GetSpellHistory()->RestoreCharge(sSpellMgr->AssertSpellInfo(SPELL_DH_IMMOLATION_AURA, GetCastDifficulty())->ChargeCategoryId);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_dh_violent_transformation::HandleOnProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_demon_hunter_spell_scripts()
|
||||
{
|
||||
RegisterSpellScript(spell_dh_army_unto_oneself);
|
||||
@@ -1699,6 +1727,7 @@ void AddSC_demon_hunter_spell_scripts()
|
||||
RegisterSpellScript(spell_dh_tactical_retreat);
|
||||
RegisterSpellScript(spell_dh_unhindered_assault);
|
||||
RegisterSpellScript(spell_dh_vengeful_retreat_damage);
|
||||
RegisterSpellScript(spell_dh_violent_transformation);
|
||||
|
||||
RegisterAreaTriggerAI(areatrigger_dh_darkness);
|
||||
new GenericAreaTriggerEntityScript<areatrigger_dh_generic_sigil<SPELL_DH_SIGIL_OF_CHAINS_TARGET_SELECT, SPELL_DH_SIGIL_OF_CHAINS_VISUAL>>("areatrigger_dh_sigil_of_chains");
|
||||
|
||||
Reference in New Issue
Block a user