Core/Spells: Rename TARGET_UNIT_CONE_ENEMY_104 to TARGET_UNIT_CONE_CASTER_TO_DEST_ENEMY

This commit is contained in:
Shauren authored and Ovahlord committed 2021-12-30 19:46:50 +01:00
1 parent fbf2a2e531
commit 0ef0498d13
5 files changed
+143 -135

No files matched your search

+122 -122
View File
@@ -1630,128 +1630,128 @@ enum SpellImmunity
// TARGET_[OBJECT_TYPE]_[REFERENCE_TYPE(skipped for caster)]_[SELECTION_TYPE(skipped for default)]_[additional specifiers(friendly, BACK_LEFT, etc.]
enum Targets
{
TARGET_UNIT_CASTER = 1,
TARGET_UNIT_NEARBY_ENEMY = 2,
TARGET_UNIT_NEARBY_ALLY = 3,
TARGET_UNIT_NEARBY_PARTY = 4,
TARGET_UNIT_PET = 5,
TARGET_UNIT_TARGET_ENEMY = 6,
TARGET_UNIT_SRC_AREA_ENTRY = 7,
TARGET_UNIT_DEST_AREA_ENTRY = 8,
TARGET_DEST_HOME = 9,
TARGET_UNIT_SRC_AREA_UNK_11 = 11,
TARGET_UNIT_SRC_AREA_ENEMY = 15,
TARGET_UNIT_DEST_AREA_ENEMY = 16,
TARGET_DEST_DB = 17,
TARGET_DEST_CASTER = 18,
TARGET_UNIT_CASTER_AREA_PARTY = 20,
TARGET_UNIT_TARGET_ALLY = 21,
TARGET_SRC_CASTER = 22,
TARGET_GAMEOBJECT_TARGET = 23,
TARGET_UNIT_CONE_ENEMY_24 = 24,
TARGET_UNIT_TARGET_ANY = 25,
TARGET_GAMEOBJECT_ITEM_TARGET = 26,
TARGET_UNIT_MASTER = 27,
TARGET_DEST_DYNOBJ_ENEMY = 28,
TARGET_DEST_DYNOBJ_ALLY = 29,
TARGET_UNIT_SRC_AREA_ALLY = 30,
TARGET_UNIT_DEST_AREA_ALLY = 31,
TARGET_DEST_CASTER_SUMMON = 32, // front left, doesn't use radius
TARGET_UNIT_SRC_AREA_PARTY = 33,
TARGET_UNIT_DEST_AREA_PARTY = 34,
TARGET_UNIT_TARGET_PARTY = 35,
TARGET_DEST_CASTER_UNK_36 = 36,
TARGET_UNIT_LASTTARGET_AREA_PARTY = 37,
TARGET_UNIT_NEARBY_ENTRY = 38,
TARGET_DEST_CASTER_FISHING = 39,
TARGET_GAMEOBJECT_NEARBY_ENTRY = 40,
TARGET_DEST_CASTER_FRONT_RIGHT = 41,
TARGET_DEST_CASTER_BACK_RIGHT = 42,
TARGET_DEST_CASTER_BACK_LEFT = 43,
TARGET_DEST_CASTER_FRONT_LEFT = 44,
TARGET_UNIT_TARGET_CHAINHEAL_ALLY = 45,
TARGET_DEST_NEARBY_ENTRY = 46,
TARGET_DEST_CASTER_FRONT = 47,
TARGET_DEST_CASTER_BACK = 48,
TARGET_DEST_CASTER_RIGHT = 49,
TARGET_DEST_CASTER_LEFT = 50,
TARGET_GAMEOBJECT_SRC_AREA = 51,
TARGET_GAMEOBJECT_DEST_AREA = 52,
TARGET_DEST_TARGET_ENEMY = 53,
TARGET_UNIT_CONE_ENEMY_54 = 54,
TARGET_DEST_CASTER_FRONT_LEAP = 55, // for a leap spell
TARGET_UNIT_CASTER_AREA_RAID = 56,
TARGET_UNIT_TARGET_RAID = 57,
TARGET_UNIT_NEARBY_RAID = 58,
TARGET_UNIT_CONE_ALLY = 59,
TARGET_UNIT_CONE_ENTRY = 60,
TARGET_UNIT_TARGET_AREA_RAID_CLASS = 61,
TARGET_UNK_62 = 62,
TARGET_DEST_TARGET_ANY = 63,
TARGET_DEST_TARGET_FRONT = 64,
TARGET_DEST_TARGET_BACK = 65,
TARGET_DEST_TARGET_RIGHT = 66,
TARGET_DEST_TARGET_LEFT = 67,
TARGET_DEST_TARGET_FRONT_RIGHT = 68,
TARGET_DEST_TARGET_BACK_RIGHT = 69,
TARGET_DEST_TARGET_BACK_LEFT = 70,
TARGET_DEST_TARGET_FRONT_LEFT = 71,
TARGET_DEST_CASTER_RANDOM = 72,
TARGET_DEST_CASTER_RADIUS = 73,
TARGET_DEST_TARGET_RANDOM = 74,
TARGET_DEST_TARGET_RADIUS = 75,
TARGET_DEST_CHANNEL_TARGET = 76,
TARGET_UNIT_CHANNEL_TARGET = 77,
TARGET_DEST_DEST_FRONT = 78,
TARGET_DEST_DEST_BACK = 79,
TARGET_DEST_DEST_RIGHT = 80,
TARGET_DEST_DEST_LEFT = 81,
TARGET_DEST_DEST_FRONT_RIGHT = 82,
TARGET_DEST_DEST_BACK_RIGHT = 83,
TARGET_DEST_DEST_BACK_LEFT = 84,
TARGET_DEST_DEST_FRONT_LEFT = 85,
TARGET_DEST_DEST_RANDOM = 86,
TARGET_DEST_DEST = 87,
TARGET_DEST_DYNOBJ_NONE = 88,
TARGET_DEST_TRAJ = 89,
TARGET_UNIT_TARGET_MINIPET = 90,
TARGET_DEST_DEST_RADIUS = 91,
TARGET_UNIT_SUMMONER = 92,
TARGET_CORPSE_SRC_AREA_ENEMY = 93, // NYI
TARGET_UNIT_VEHICLE = 94,
TARGET_UNIT_TARGET_PASSENGER = 95,
TARGET_UNIT_PASSENGER_0 = 96,
TARGET_UNIT_PASSENGER_1 = 97,
TARGET_UNIT_PASSENGER_2 = 98,
TARGET_UNIT_PASSENGER_3 = 99,
TARGET_UNIT_PASSENGER_4 = 100,
TARGET_UNIT_PASSENGER_5 = 101,
TARGET_UNIT_PASSENGER_6 = 102,
TARGET_UNIT_PASSENGER_7 = 103,
TARGET_UNIT_CONE_ENEMY_104 = 104,
TARGET_UNIT_CASTER_PASSENGERS = 105,
TARGET_DEST_CHANNEL_CASTER = 106,
TARGET_UNK_DEST_AREA_UNK_107 = 107, // not enough info - only generic spells avalible
TARGET_GAMEOBJECT_CONE_108 = 108,
TARGET_GAMEOBJECT_CONE_109 = 109,
TARGET_UNIT_CONE_ENTRY_110 = 110, // 1 spell
TARGET_UNK_111 = 111,
TARGET_DEST_TARGET_ANY_2 = 112, // 1 Spell
TARGET_UNK_113 = 113,
TARGET_UNK_114 = 114,
TARGET_UNK_115 = 115,
TARGET_UNK_116 = 116,
TARGET_UNK_117 = 117,
TARGET_UNIT_TARGET_ALLY_OR_RAID = 118, // If target is in your party or raid, all party and raid members will be affected
TARGET_CORPSE_SRC_AREA_RAID = 119,
TARGET_UNIT_CASTER_AND_SUMMONS = 120,
TARGET_UNK_121 = 121,
TARGET_UNIT_AREA_THREAT_LIST = 122,
TARGET_UNIT_AREA_TAP_LIST = 123,
TARGET_UNK_124 = 124,
TARGET_DEST_CASTER_FLOOR = 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,
TARGET_UNIT_CASTER = 1,
TARGET_UNIT_NEARBY_ENEMY = 2,
TARGET_UNIT_NEARBY_ALLY = 3,
TARGET_UNIT_NEARBY_PARTY = 4,
TARGET_UNIT_PET = 5,
TARGET_UNIT_TARGET_ENEMY = 6,
TARGET_UNIT_SRC_AREA_ENTRY = 7,
TARGET_UNIT_DEST_AREA_ENTRY = 8,
TARGET_DEST_HOME = 9,
TARGET_UNIT_SRC_AREA_UNK_11 = 11,
TARGET_UNIT_SRC_AREA_ENEMY = 15,
TARGET_UNIT_DEST_AREA_ENEMY = 16,
TARGET_DEST_DB = 17,
TARGET_DEST_CASTER = 18,
TARGET_UNIT_CASTER_AREA_PARTY = 20,
TARGET_UNIT_TARGET_ALLY = 21,
TARGET_SRC_CASTER = 22,
TARGET_GAMEOBJECT_TARGET = 23,
TARGET_UNIT_CONE_ENEMY_24 = 24,
TARGET_UNIT_TARGET_ANY = 25,
TARGET_GAMEOBJECT_ITEM_TARGET = 26,
TARGET_UNIT_MASTER = 27,
TARGET_DEST_DYNOBJ_ENEMY = 28,
TARGET_DEST_DYNOBJ_ALLY = 29,
TARGET_UNIT_SRC_AREA_ALLY = 30,
TARGET_UNIT_DEST_AREA_ALLY = 31,
TARGET_DEST_CASTER_SUMMON = 32, // front left, doesn't use radius
TARGET_UNIT_SRC_AREA_PARTY = 33,
TARGET_UNIT_DEST_AREA_PARTY = 34,
TARGET_UNIT_TARGET_PARTY = 35,
TARGET_DEST_CASTER_UNK_36 = 36,
TARGET_UNIT_LASTTARGET_AREA_PARTY = 37,
TARGET_UNIT_NEARBY_ENTRY = 38,
TARGET_DEST_CASTER_FISHING = 39,
TARGET_GAMEOBJECT_NEARBY_ENTRY = 40,
TARGET_DEST_CASTER_FRONT_RIGHT = 41,
TARGET_DEST_CASTER_BACK_RIGHT = 42,
TARGET_DEST_CASTER_BACK_LEFT = 43,
TARGET_DEST_CASTER_FRONT_LEFT = 44,
TARGET_UNIT_TARGET_CHAINHEAL_ALLY = 45,
TARGET_DEST_NEARBY_ENTRY = 46,
TARGET_DEST_CASTER_FRONT = 47,
TARGET_DEST_CASTER_BACK = 48,
TARGET_DEST_CASTER_RIGHT = 49,
TARGET_DEST_CASTER_LEFT = 50,
TARGET_GAMEOBJECT_SRC_AREA = 51,
TARGET_GAMEOBJECT_DEST_AREA = 52,
TARGET_DEST_TARGET_ENEMY = 53,
TARGET_UNIT_CONE_ENEMY_54 = 54,
TARGET_DEST_CASTER_FRONT_LEAP = 55, // for a leap spell
TARGET_UNIT_CASTER_AREA_RAID = 56,
TARGET_UNIT_TARGET_RAID = 57,
TARGET_UNIT_NEARBY_RAID = 58,
TARGET_UNIT_CONE_ALLY = 59,
TARGET_UNIT_CONE_ENTRY = 60,
TARGET_UNIT_TARGET_AREA_RAID_CLASS = 61,
TARGET_UNK_62 = 62,
TARGET_DEST_TARGET_ANY = 63,
TARGET_DEST_TARGET_FRONT = 64,
TARGET_DEST_TARGET_BACK = 65,
TARGET_DEST_TARGET_RIGHT = 66,
TARGET_DEST_TARGET_LEFT = 67,
TARGET_DEST_TARGET_FRONT_RIGHT = 68,
TARGET_DEST_TARGET_BACK_RIGHT = 69,
TARGET_DEST_TARGET_BACK_LEFT = 70,
TARGET_DEST_TARGET_FRONT_LEFT = 71,
TARGET_DEST_CASTER_RANDOM = 72,
TARGET_DEST_CASTER_RADIUS = 73,
TARGET_DEST_TARGET_RANDOM = 74,
TARGET_DEST_TARGET_RADIUS = 75,
TARGET_DEST_CHANNEL_TARGET = 76,
TARGET_UNIT_CHANNEL_TARGET = 77,
TARGET_DEST_DEST_FRONT = 78,
TARGET_DEST_DEST_BACK = 79,
TARGET_DEST_DEST_RIGHT = 80,
TARGET_DEST_DEST_LEFT = 81,
TARGET_DEST_DEST_FRONT_RIGHT = 82,
TARGET_DEST_DEST_BACK_RIGHT = 83,
TARGET_DEST_DEST_BACK_LEFT = 84,
TARGET_DEST_DEST_FRONT_LEFT = 85,
TARGET_DEST_DEST_RANDOM = 86,
TARGET_DEST_DEST = 87,
TARGET_DEST_DYNOBJ_NONE = 88,
TARGET_DEST_TRAJ = 89,
TARGET_UNIT_TARGET_MINIPET = 90,
TARGET_DEST_DEST_RADIUS = 91,
TARGET_UNIT_SUMMONER = 92,
TARGET_CORPSE_SRC_AREA_ENEMY = 93, // NYI
TARGET_UNIT_VEHICLE = 94,
TARGET_UNIT_TARGET_PASSENGER = 95,
TARGET_UNIT_PASSENGER_0 = 96,
TARGET_UNIT_PASSENGER_1 = 97,
TARGET_UNIT_PASSENGER_2 = 98,
TARGET_UNIT_PASSENGER_3 = 99,
TARGET_UNIT_PASSENGER_4 = 100,
TARGET_UNIT_PASSENGER_5 = 101,
TARGET_UNIT_PASSENGER_6 = 102,
TARGET_UNIT_PASSENGER_7 = 103,
TARGET_UNIT_CONE_CASTER_TO_DEST_ENEMY = 104,
TARGET_UNIT_CASTER_PASSENGERS = 105,
TARGET_DEST_CHANNEL_CASTER = 106,
TARGET_UNK_DEST_AREA_UNK_107 = 107, // not enough info - only generic spells avalible
TARGET_GAMEOBJECT_CONE_108 = 108,
TARGET_GAMEOBJECT_CONE_109 = 109,
TARGET_UNIT_CONE_ENTRY_110 = 110, // 1 spell
TARGET_UNK_111 = 111,
TARGET_DEST_TARGET_ANY_2 = 112, // 1 Spell
TARGET_UNK_113 = 113,
TARGET_UNK_114 = 114,
TARGET_UNK_115 = 115,
TARGET_UNK_116 = 116,
TARGET_UNK_117 = 117,
TARGET_UNIT_TARGET_ALLY_OR_RAID = 118, // If target is in your party or raid, all party and raid members will be affected
TARGET_CORPSE_SRC_AREA_RAID = 119,
TARGET_UNIT_CASTER_AND_SUMMONS = 120,
TARGET_UNK_121 = 121,
TARGET_UNIT_AREA_THREAT_LIST = 122,
TARGET_UNIT_AREA_TAP_LIST = 123,
TARGET_UNK_124 = 124,
TARGET_DEST_CASTER_FLOOR = 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,
TOTAL_SPELL_TARGETS
};
+16 -9
View File
@@ -1221,10 +1221,17 @@ void Spell::SelectImplicitNearbyTargets(SpellEffIndex effIndex, SpellImplicitTar
void Spell::SelectImplicitConeTargets(SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType, uint32 effMask)
{
if (targetType.GetReferenceType() != TARGET_REFERENCE_TYPE_CASTER)
Position coneSrc(*m_caster);
switch (targetType.GetReferenceType())
{
ASSERT(false && "Spell::SelectImplicitConeTargets: received not implemented target reference type");
return;
case TARGET_REFERENCE_TYPE_CASTER:
break;
case TARGET_REFERENCE_TYPE_DEST:
if (m_caster->GetExactDist2d(m_targets.GetDstPos()) > 0.1f)
coneSrc.SetOrientation(m_caster->GetAngle(m_targets.GetDstPos()));
break;
default:
break;
}
std::list<WorldObject*> targets;
SpellTargetObjectTypes objectType = targetType.GetObjectType();
@@ -1240,7 +1247,7 @@ void Spell::SelectImplicitConeTargets(SpellEffIndex effIndex, SpellImplicitTarge
if (uint32 containerTypeMask = GetSearcherTypeMask(objectType, condList))
{
Trinity::WorldObjectSpellConeTargetCheck check(DegToRad(m_spellInfo->ConeAngle), radius, m_caster, m_spellInfo, selectionType, condList);
Trinity::WorldObjectSpellConeTargetCheck check(coneSrc, DegToRad(m_spellInfo->ConeAngle), radius, m_caster, m_spellInfo, selectionType, condList);
Trinity::WorldObjectListSearcher<Trinity::WorldObjectSpellConeTargetCheck> searcher(m_caster, targets, check, containerTypeMask);
SearchTargets<Trinity::WorldObjectListSearcher<Trinity::WorldObjectSpellConeTargetCheck> >(searcher, containerTypeMask, m_caster, m_caster, radius);
@@ -8508,20 +8515,20 @@ bool WorldObjectSpellAreaTargetCheck::operator()(WorldObject* target)
return WorldObjectSpellTargetCheck::operator ()(target);
}
WorldObjectSpellConeTargetCheck::WorldObjectSpellConeTargetCheck(float coneAngle, float range, Unit* caster,
WorldObjectSpellConeTargetCheck::WorldObjectSpellConeTargetCheck(Position const& coneSrc, float coneAngle, float range, Unit* caster,
SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionContainer* condList)
: WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList), _coneAngle(coneAngle) { }
: WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList), _coneSrc(coneSrc), _coneAngle(coneAngle) { }
bool WorldObjectSpellConeTargetCheck::operator()(WorldObject* target)
{
if (_spellInfo->HasAttribute(SPELL_ATTR0_CU_CONE_BACK))
{
if (!_caster->isInBack(target, _coneAngle))
if (_coneSrc.HasInArc(-std::abs(_coneAngle), target))
return false;
}
else if (_spellInfo->HasAttribute(SPELL_ATTR0_CU_CONE_LINE))
{
if (!_caster->HasInLine(target, _caster->GetCombatReach() + target->GetCombatReach()))
if (!_coneSrc.HasInLine(target, _caster->GetCombatReach() + target->GetCombatReach()))
return false;
}
else
@@ -8529,7 +8536,7 @@ bool WorldObjectSpellConeTargetCheck::operator()(WorldObject* target)
if (!_caster->IsWithinBoundaryRadius(target->ToUnit()))
// ConeAngle > 0 -> select targets in front
// ConeAngle < 0 -> select targets in back
if (_caster->HasInArc(_coneAngle, target) != G3D::fuzzyGe(_coneAngle, 0.f))
if (_coneSrc.HasInArc(_coneAngle, target) != G3D::fuzzyGe(_coneAngle, 0.f))
return false;
}
return WorldObjectSpellAreaTargetCheck::operator ()(target);
+2 -1
View File
@@ -823,8 +823,9 @@ namespace Trinity
struct TC_GAME_API WorldObjectSpellConeTargetCheck : public WorldObjectSpellAreaTargetCheck
{
Position _coneSrc;
float _coneAngle;
WorldObjectSpellConeTargetCheck(float coneAngle, float range, Unit* caster,
WorldObjectSpellConeTargetCheck(Position const& coneSrc, float coneAngle, float range, Unit* caster,
SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionContainer* condList);
bool operator()(WorldObject* target);
};
+2 -2
View File
@@ -321,7 +321,7 @@ SpellImplicitTargetInfo::StaticData SpellImplicitTargetInfo::_data[TOTAL_SPELL_
{TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 101 TARGET_UNIT_PASSENGER_5
{TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 102 TARGET_UNIT_PASSENGER_6
{TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 103 TARGET_UNIT_PASSENGER_7
{TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_CONE, TARGET_CHECK_ENEMY, TARGET_DIR_FRONT}, // 104 TARGET_UNIT_CONE_ENEMY_104
{TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_DEST, TARGET_SELECT_CATEGORY_CONE, TARGET_CHECK_ENEMY, TARGET_DIR_FRONT}, // 104 TARGET_UNIT_CONE_CASTER_TO_DEST_ENEMY
{TARGET_OBJECT_TYPE_UNIT, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 105 TARGET_UNIT_CASTER_PASSENGERS
{TARGET_OBJECT_TYPE_DEST, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_CHANNEL, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 106 TARGET_DEST_CHANNEL_CASTER
{TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_DEST, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 107 TARGET_UNK_DEST_AREA_UNK_107
@@ -4071,7 +4071,7 @@ bool SpellInfo::_IsPositiveTarget(uint32 targetA, uint32 targetB)
case TARGET_UNIT_SRC_AREA_ENEMY:
case TARGET_UNIT_DEST_AREA_ENEMY:
case TARGET_UNIT_CONE_ENEMY_24:
case TARGET_UNIT_CONE_ENEMY_104:
case TARGET_UNIT_CONE_CASTER_TO_DEST_ENEMY:
case TARGET_DEST_DYNOBJ_ENEMY:
case TARGET_DEST_TARGET_ENEMY:
return false;
@@ -271,7 +271,7 @@ class spell_argaloth_meteor_slash : public SpellScript
void Register() override
{
OnObjectAreaTargetSelect.Register(&spell_argaloth_meteor_slash::CountTargets, EFFECT_0, TARGET_UNIT_CONE_ENEMY_104);
OnObjectAreaTargetSelect.Register(&spell_argaloth_meteor_slash::CountTargets, EFFECT_0, TARGET_UNIT_CONE_CASTER_TO_DEST_ENEMY);
BeforeHit.Register(&spell_argaloth_meteor_slash::SplitDamage);
}