diff options
author | Jeremy <Golrag@users.noreply.github.com> | 2023-05-05 09:27:56 +0200 |
---|---|---|
committer | ModoX <moardox@gmail.com> | 2023-05-05 09:27:56 +0200 |
commit | cdb209fda44eb500a7e8d9a0d4acd048e1ee5eec (patch) | |
tree | 3ad81a29c12101282f7f782702867b3774f8ab75 | |
parent | e0996625be607fd8b93846e1f1cba8742cd7078f (diff) |
Core/Spells: Implemented SPELL_EFFECT_TELEPORT_GRAVEYARD
* part of #28508
-rw-r--r-- | src/server/game/Spells/Spell.h | 1 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 14 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index 96b029eae5d..eb84c26bcbf 100644 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -414,6 +414,7 @@ class TC_GAME_API Spell void EffectModifySpellCharges(); void EffectCreateTraitTreeConfig(); void EffectChangeActiveCombatTraitConfig(); + void EffectTeleportGraveyard(); typedef std::unordered_set<Aura*> UsedSpellMods; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 3b2a7b6de94..2dab2a3d9c5 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -207,7 +207,7 @@ NonDefaultConstructible<SpellEffectHandlerFn> SpellEffectHandlers[TOTAL_SPELL_EF &Spell::EffectSpiritHeal, //117 SPELL_EFFECT_SPIRIT_HEAL one spell: Spirit Heal &Spell::EffectSkill, //118 SPELL_EFFECT_SKILL professions and more &Spell::EffectUnused, //119 SPELL_EFFECT_APPLY_AREA_AURA_PET - &Spell::EffectNULL, //120 SPELL_EFFECT_TELEPORT_GRAVEYARD + &Spell::EffectTeleportGraveyard, //120 SPELL_EFFECT_TELEPORT_GRAVEYARD &Spell::EffectWeaponDmg, //121 SPELL_EFFECT_NORMALIZED_WEAPON_DMG &Spell::EffectUnused, //122 SPELL_EFFECT_122 unused &Spell::EffectSendTaxi, //123 SPELL_EFFECT_SEND_TAXI taxi/flight related (misc value is taxi path id) @@ -5976,3 +5976,15 @@ void Spell::EffectChangeActiveCombatTraitConfig() target->UpdateTraitConfig(std::move(*traitConfig), damage, false); } + +void Spell::EffectTeleportGraveyard() +{ + if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) + return; + + Player* target = Object::ToPlayer(unitTarget); + if (!target) + return; + + target->RepopAtGraveyard(); +} |