From a322e4eb37cc5f82a9d7a9f4603a36db64abfd39 Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 30 Dec 2021 20:16:33 +0100 Subject: [PATCH] Core/Spells: Implemented target 124 TARGET_UNIT_TARGET_TAP_LIST --- src/server/game/Miscellaneous/SharedDefines.h | 2 +- src/server/game/Spells/Spell.cpp | 4 ++++ src/server/game/Spells/SpellInfo.cpp | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 907d6ae037..cad9a83e3c 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1748,7 +1748,7 @@ enum Targets TARGET_CORPSE_TARGET_ALLY = 121, TARGET_UNIT_AREA_THREAT_LIST = 122, TARGET_UNIT_AREA_TAP_LIST = 123, - TARGET_UNK_124 = 124, + TARGET_UNIT_TARGET_TAP_LIST = 124, TARGET_DEST_CASTER_GROUND_2 = 125, // 1 spell in 4.3.4 TARGET_UNIT_AREA_ENEMY = 126, // 1 spell in 4.3.4 (checked up until 8.3.0) TARGET_UNK_127 = 127, diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f4c83da130..3235a3418f 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1622,6 +1622,10 @@ void Spell::SelectImplicitCasterObjectTargets(SpellEffIndex effIndex, SpellImpli if (m_caster->GetTypeId() == TYPEID_UNIT && m_caster->IsVehicle()) target = m_caster->GetVehicleKit()->GetPassenger(targetType.GetTarget() - TARGET_UNIT_PASSENGER_0); break; + case TARGET_UNIT_TARGET_TAP_LIST: + if (Creature* creatureCaster = m_caster->ToCreature()) + target = creatureCaster->GetLootRecipient(); + break; default: break; } diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 8cbf01313e..a8337f3ab2 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -341,7 +341,7 @@ SpellImplicitTargetInfo::StaticData SpellImplicitTargetInfo::_data[TOTAL_SPELL_ {TARGET_OBJECT_TYPE_CORPSE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_ALLY, TARGET_DIR_NONE}, // 121 TARGET_CORPSE_TARGET_ALLY {TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_AREA, TARGET_CHECK_THREAT, TARGET_DIR_NONE}, // 122 TARGET_UNIT_AREA_THREAT_LIST {TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_AREA, TARGET_CHECK_TAP, TARGET_DIR_NONE}, // 123 TARGET_UNIT_AREA_TAP_LIST - {TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 124 + {TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 124 TARGET_UNIT_TARGET_TAP_LIST {TARGET_OBJECT_TYPE_DEST, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 125 TARGET_DEST_CASTER_GROUND_2 {TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_AREA, TARGET_CHECK_ENEMY, TARGET_DIR_NONE }, // 126 TARGET_UNIT_AREA_ENEMY {TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 127