mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-13 03:32:28 -04:00
Scripts/Spells: Implement dh talent "Shift" (#31656)
This commit is contained in:
7
sql/updates/world/master/2026_02_23_02_world.sql
Normal file
7
sql/updates/world/master/2026_02_23_02_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dh_shift';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(1234796, 'spell_dh_shift');
|
||||
|
||||
DELETE FROM `jump_charge_params` WHERE `id`=1466;
|
||||
INSERT INTO `jump_charge_params` (`id`, `speed`, `treatSpeedAsMoveTimeSeconds`, `unlimitedSpeed`, `minHeight`, `maxHeight`, `spellVisualId`, `progressCurveId`, `parabolicCurveId`, `triggerSpellId`) VALUES
|
||||
(1466, 0.1, 1, 1, NULL, NULL, 164063, 88051, 88052, NULL);
|
||||
@@ -196,6 +196,8 @@ enum DemonHunterSpells
|
||||
SPELL_DH_SHATTERED_SOULS_VENGEANCE = 204254,
|
||||
SPELL_DH_SHEAR = 203782,
|
||||
SPELL_DH_SHEAR_PASSIVE = 203783,
|
||||
SPELL_DH_SHIFT_VISUAL_DEST = 1234818,
|
||||
SPELL_DH_SHIFT_CHARGE = 1242880,
|
||||
SPELL_DH_SIGIL_OF_CHAINS = 202138,
|
||||
SPELL_DH_SIGIL_OF_CHAINS_GRIP = 208674,
|
||||
SPELL_DH_SIGIL_OF_CHAINS_JUMP = 208674,
|
||||
@@ -2051,6 +2053,33 @@ using at_dh_shattered_souls_vengeance_demon = at_dh_shattered_souls<SPELL_DH_CON
|
||||
using at_dh_shattered_souls_vengeance_lesser = at_dh_shattered_souls<SPELL_DH_CONSUME_SOUL_VENGEANCE_LESSER>;
|
||||
using at_dh_shattered_souls_vengeance_shattered = at_dh_shattered_souls<SPELL_DH_CONSUME_SOUL_VENGEANCE_SHATTERED>;
|
||||
|
||||
// 1234796 - Shift
|
||||
class spell_dh_shift : public SpellScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_DH_SHIFT_VISUAL_DEST, SPELL_DH_SHIFT_CHARGE });
|
||||
}
|
||||
|
||||
void HandleEffectDummy(SpellEffIndex /*effIndex*/) const
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
WorldLocation const& target = *GetHitDest();
|
||||
|
||||
CastSpellExtraArgs args;
|
||||
args.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR;
|
||||
args.TriggeringSpell = GetSpell();
|
||||
|
||||
caster->CastSpell(target, SPELL_DH_SHIFT_VISUAL_DEST, args);
|
||||
caster->CastSpell(target, SPELL_DH_SHIFT_CHARGE, args);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_dh_shift::HandleEffectDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 207407 - Soul Carver
|
||||
class spell_dh_soul_carver : public SpellScript
|
||||
{
|
||||
@@ -2571,6 +2600,7 @@ void AddSC_demon_hunter_spell_scripts()
|
||||
RegisterAreaTriggerAI(at_dh_shattered_souls_vengeance_demon);
|
||||
RegisterAreaTriggerAI(at_dh_shattered_souls_vengeance_lesser);
|
||||
RegisterAreaTriggerAI(at_dh_shattered_souls_vengeance_shattered);
|
||||
RegisterSpellScript(spell_dh_shift);
|
||||
RegisterSpellScript(spell_dh_sigil_of_chains);
|
||||
RegisterSpellScript(spell_dh_sigil_of_flame);
|
||||
RegisterSpellScriptWithArgs(spell_dh_elysian_decree, "spell_dh_sigil_of_spite", SPELL_DH_SIGIL_OF_SPITE);
|
||||
|
||||
Reference in New Issue
Block a user