aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp6
-rwxr-xr-xsrc/server/game/Miscellaneous/SharedDefines.h32
-rwxr-xr-xsrc/server/game/Scripting/ScriptMgr.cpp4
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp54
-rwxr-xr-xsrc/server/game/Spells/Spell.h41
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp12
6 files changed, 68 insertions, 81 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 4f8d39d5b03..abf3ef9c412 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -948,12 +948,6 @@ void Unit::CastSpell(GameObject *go, uint32 spellId, bool triggered, Item *castI
return;
}
- if (!(spellInfo->Targets & (TARGET_FLAG_OBJECT | TARGET_FLAG_OBJECT_CASTER)))
- {
- sLog->outError("CastSpell: spell id %i by caster: %s %u) is not gameobject spell", spellId, (GetTypeId() == TYPEID_PLAYER ? "player (GUID:" : "creature (Entry:"), (GetTypeId() == TYPEID_PLAYER ? GetGUIDLow() : GetEntry()));
- return;
- }
-
if (castItem)
sLog->outStaticDebug("WORLD: cast Item spellId - %i", spellInfo->Id);
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index f5d41b12097..a06807c704c 100755
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -1287,48 +1287,46 @@ enum Targets
TARGET_UNIT_TARGET_ENEMY = 6,
TARGET_UNIT_AREA_ENTRY_SRC = 7,
TARGET_UNIT_AREA_ENTRY_DST = 8,
- TARGET_DST_HOME = 9, // uses in teleport to innkeeper spells
+ TARGET_DST_HOME = 9,
TARGET_UNIT_TARGET_DEST_CASTER = 11, // teleport target to caster
TARGET_UNIT_AREA_ENEMY_SRC = 15,
TARGET_UNIT_AREA_ENEMY_DST = 16,
- TARGET_DST_DB = 17, // uses in teleport spells and some other
+ TARGET_DST_DB = 17,
TARGET_DST_CASTER = 18,
TARGET_UNIT_PARTY_CASTER = 20,
TARGET_UNIT_TARGET_ALLY = 21,
TARGET_SRC_CASTER = 22,
TARGET_GAMEOBJECT = 23,
- //TARGET_OBJECT_OPEN
TARGET_UNIT_CONE_ENEMY = 24,
TARGET_UNIT_TARGET_ANY = 25,
TARGET_GAMEOBJECT_ITEM = 26,
- //TARGET_OBJECT_ITEM_PICKLOCK
TARGET_UNIT_MASTER = 27,
TARGET_DEST_DYNOBJ_ENEMY = 28,
- TARGET_DEST_DYNOBJ_ALLY = 29, // only for effect 27
- TARGET_UNIT_AREA_ALLY_SRC = 30, // in TargetB used only with TARGET_SRC_CASTER and in self casting range in TargetA
+ TARGET_DEST_DYNOBJ_ALLY = 29,
+ TARGET_UNIT_AREA_ALLY_SRC = 30,
TARGET_UNIT_AREA_ALLY_DST = 31,
TARGET_MINION = 32,
//TARGET_DEST_SUMMON
TARGET_UNIT_AREA_PARTY_SRC = 33,
- TARGET_UNIT_AREA_PARTY_DST = 34, // used in Tranquility
+ TARGET_UNIT_AREA_PARTY_DST = 34,
TARGET_UNIT_TARGET_PARTY = 35,
TARGET_DEST_CASTER_RANDOM_UNKNOWN = 36, //unknown
- TARGET_UNIT_PARTY_TARGET = 37,
+ TARGET_UNIT_TARGET_ALLY_PARTY = 37,
TARGET_UNIT_NEARBY_ENTRY = 38,
TARGET_UNIT_CASTER_FISHING = 39,
TARGET_GAMEOBJECT_NEARBY_ENTRY = 40,
- TARGET_DEST_CASTER_FRONT_LEFT = 41, //earth totem
- TARGET_DEST_CASTER_BACK_LEFT = 42, //water totem
- TARGET_DEST_CASTER_BACK_RIGHT = 43, //air totem
- TARGET_DEST_CASTER_FRONT_RIGHT = 44, //fire totem
+ TARGET_DEST_CASTER_FRONT_LEFT = 41,
+ TARGET_DEST_CASTER_BACK_LEFT = 42,
+ TARGET_DEST_CASTER_BACK_RIGHT = 43,
+ TARGET_DEST_CASTER_FRONT_RIGHT = 44,
TARGET_UNIT_CHAINHEAL = 45,
TARGET_DST_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_AREA_SRC = 51, // If used with SPELL_EFFECT_ACTIVATE_OBJECT, appliccable GO entries should be specified in conditions table
- TARGET_GAMEOBJECT_AREA_DST = 52, // If used with SPELL_EFFECT_ACTIVATE_OBJECT, appliccable GO entries should be specified in conditions table
+ TARGET_GAMEOBJECT_AREA_SRC = 51,
+ TARGET_GAMEOBJECT_AREA_DST = 52,
TARGET_DST_TARGET_ENEMY = 53, // set unit coordinates as dest, only 16 target B imlemented
TARGET_UNIT_CONE_ENEMY_UNKNOWN = 54, // 180 degree, or different angle
TARGET_DEST_CASTER_FRONT_LEAP = 55, // for a leap spell
@@ -1337,11 +1335,11 @@ enum Targets
TARGET_UNIT_NEARBY_RAID = 58,
TARGET_UNIT_CONE_ALLY = 59,
TARGET_UNIT_CONE_ENTRY = 60,
- TARGET_UNIT_CLASS_TARGET = 61,
+ TARGET_UNIT_TARGET_CLASS_RAID = 61,
TARGET_TEST = 62, // for a test spell
TARGET_DEST_TARGET_ANY = 63,
TARGET_DEST_TARGET_FRONT = 64,
- TARGET_DEST_TARGET_BACK = 65, // uses in teleport behind spells
+ TARGET_DEST_TARGET_BACK = 65,
TARGET_DEST_TARGET_RIGHT = 66,
TARGET_DEST_TARGET_LEFT = 67,
TARGET_DEST_TARGET_FRONT_LEFT = 68,
@@ -1371,7 +1369,7 @@ enum Targets
TARGET_UNIT_SUMMONER = 92,
TARGET_CORPSE_AREA_ENEMY_PLAYER_SRC= 93, // TODO
TARGET_UNIT_VEHICLE = 94,
- TARGET_UNIT_DRIVER = 95,
+ TARGET_UNIT_TARGET_PASSENGER = 95,
TARGET_UNIT_PASSENGER_0 = 96,
TARGET_UNIT_PASSENGER_1 = 97,
TARGET_UNIT_PASSENGER_2 = 98,
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index a14a7175522..16c35efdcf4 100755
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -259,7 +259,7 @@ void ScriptMgr::FillSpellSummary()
//Spell targets aoe friends
if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_TARGET ||
+ pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_ALLY_PARTY ||
pTempSpell->EffectImplicitTargetA[j] == TARGET_SRC_CASTER)
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_FRIEND-1);
@@ -268,7 +268,7 @@ void ScriptMgr::FillSpellSummary()
pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_ALLY ||
pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_PARTY ||
pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_TARGET ||
+ pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_ALLY_PARTY ||
pTempSpell->EffectImplicitTargetA[j] == TARGET_SRC_CASTER)
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_FRIEND-1);
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index bf5fdb72314..2532ffcc01a 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -119,16 +119,16 @@ void SpellCastTargets::Read(ByteBuffer& data, Unit* caster)
if (m_targetMask == TARGET_FLAG_SELF)
return;
- if (m_targetMask & (TARGET_FLAG_UNIT | TARGET_FLAG_UNK17))
+ if (m_targetMask & (TARGET_FLAG_UNIT | TARGET_FLAG_UNIT_MINIPET))
data.readPackGUID(m_unitTargetGUID);
- if (m_targetMask & (TARGET_FLAG_OBJECT))
+ if (m_targetMask & (TARGET_FLAG_GAMEOBJECT))
data.readPackGUID(m_GOTargetGUID);
if (m_targetMask & (TARGET_FLAG_ITEM | TARGET_FLAG_TRADE_ITEM))
data.readPackGUID(m_itemTargetGUID);
- if (m_targetMask & (TARGET_FLAG_CORPSE | TARGET_FLAG_PVP_CORPSE))
+ if (m_targetMask & (TARGET_FLAG_CORPSE_ENEMY | TARGET_FLAG_CORPSE_ALLY))
data.readPackGUID(m_CorpseTargetGUID);
if (m_targetMask & TARGET_FLAG_SOURCE_LOCATION)
@@ -175,7 +175,7 @@ void SpellCastTargets::Write(ByteBuffer& data)
{
data << uint32(m_targetMask);
- if (m_targetMask & (TARGET_FLAG_UNIT | TARGET_FLAG_PVP_CORPSE | TARGET_FLAG_OBJECT | TARGET_FLAG_CORPSE | TARGET_FLAG_UNK17))
+ if (m_targetMask & (TARGET_FLAG_UNIT | TARGET_FLAG_CORPSE_ALLY | TARGET_FLAG_GAMEOBJECT | TARGET_FLAG_CORPSE_ENEMY | TARGET_FLAG_UNIT_MINIPET))
{
if (m_targetMask & TARGET_FLAG_UNIT)
{
@@ -184,14 +184,14 @@ void SpellCastTargets::Write(ByteBuffer& data)
else
data << uint8(0);
}
- else if (m_targetMask & TARGET_FLAG_OBJECT)
+ else if (m_targetMask & TARGET_FLAG_GAMEOBJECT)
{
if (m_GOTarget)
data.append(m_GOTarget->GetPackGUID());
else
data << uint8(0);
}
- else if (m_targetMask & (TARGET_FLAG_CORPSE | TARGET_FLAG_PVP_CORPSE))
+ else if (m_targetMask & (TARGET_FLAG_CORPSE_ALLY | TARGET_FLAG_CORPSE_ENEMY))
data.appendPackGUID(m_CorpseTargetGUID);
else
data << uint8(0);
@@ -333,7 +333,7 @@ void SpellCastTargets::SetGOTarget(GameObject* target)
{
m_GOTarget = target;
m_GOTargetGUID = target->GetGUID();
- m_targetMask |= TARGET_FLAG_OBJECT;
+ m_targetMask |= TARGET_FLAG_GAMEOBJECT;
}
void SpellCastTargets::SetItemTarget(Item* item)
@@ -417,14 +417,14 @@ void SpellCastTargets::OutDebug() const
if (m_targetMask & TARGET_FLAG_UNIT)
sLog->outString("TARGET_FLAG_UNIT: " UI64FMTD, m_unitTargetGUID);
- if (m_targetMask & TARGET_FLAG_UNK17)
- sLog->outString("TARGET_FLAG_UNK17: " UI64FMTD, m_unitTargetGUID);
- if (m_targetMask & TARGET_FLAG_OBJECT)
- sLog->outString("TARGET_FLAG_OBJECT: " UI64FMTD, m_GOTargetGUID);
- if (m_targetMask & TARGET_FLAG_CORPSE)
- sLog->outString("TARGET_FLAG_CORPSE: " UI64FMTD, m_CorpseTargetGUID);
- if (m_targetMask & TARGET_FLAG_PVP_CORPSE)
- sLog->outString("TARGET_FLAG_PVP_CORPSE: " UI64FMTD, m_CorpseTargetGUID);
+ if (m_targetMask & TARGET_FLAG_UNIT_MINIPET)
+ sLog->outString("TARGET_FLAG_UNIT_MINIPET: " UI64FMTD, m_unitTargetGUID);
+ if (m_targetMask & TARGET_FLAG_GAMEOBJECT)
+ sLog->outString("TARGET_FLAG_GAMEOBJECT: " UI64FMTD, m_GOTargetGUID);
+ if (m_targetMask & TARGET_FLAG_CORPSE_ENEMY)
+ sLog->outString("TARGET_FLAG_CORPSE_ENEMY: " UI64FMTD, m_CorpseTargetGUID);
+ if (m_targetMask & TARGET_FLAG_CORPSE_ALLY)
+ sLog->outString("TARGET_FLAG_CORPSE_ALLY: " UI64FMTD, m_CorpseTargetGUID);
if (m_targetMask & TARGET_FLAG_ITEM)
sLog->outString("TARGET_FLAG_ITEM: " UI64FMTD, m_itemTargetGUID);
if (m_targetMask & TARGET_FLAG_TRADE_ITEM)
@@ -768,7 +768,7 @@ void Spell::SelectSpellTargets()
case SPELL_EFFECT_APPLY_AREA_AURA_PARTY:
// AreaAura
if (m_spellInfo->Attributes & (SPELL_ATTR0_CASTABLE_WHILE_SITTING | SPELL_ATTR0_CASTABLE_WHILE_MOUNTED | SPELL_ATTR0_UNK18 | SPELL_ATTR0_NOT_SHAPESHIFT) || m_spellInfo->Attributes == SPELL_ATTR0_NOT_SHAPESHIFT)
- SelectEffectTargets(i, TARGET_UNIT_PARTY_TARGET);
+ SelectEffectTargets(i, TARGET_UNIT_TARGET_ALLY_PARTY);
break;
case SPELL_EFFECT_SKIN_PLAYER_CORPSE:
if (m_targets.GetUnitTarget())
@@ -2059,8 +2059,12 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
if (IsValidSingleTargetSpell(target))
AddUnitTarget(target, i);
break;
- case TARGET_UNIT_PARTY_TARGET:
- case TARGET_UNIT_CLASS_TARGET:
+ case TARGET_UNIT_TARGET_PASSENGER:
+ if (target->IsOnVehicle(m_caster))
+ AddUnitTarget(target, i);
+ break;
+ case TARGET_UNIT_TARGET_ALLY_PARTY:
+ case TARGET_UNIT_TARGET_CLASS_RAID:
pushType = PUSH_CASTER_CENTER; // not real
break;
}
@@ -2348,11 +2352,6 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
else if (m_targets.GetItemTarget())
AddItemTarget(m_targets.GetItemTarget(), i);
break;
- case TARGET_UNIT_DRIVER:
- if (Unit* driver = m_targets.GetUnitTarget())
- if (driver->IsOnVehicle(m_caster))
- AddUnitTarget(driver, i);
- break;
default:
sLog->outError("SPELL (caster[type: %u; guidlow: %u], spell: %u): unhandled spell target (%u)",
m_caster->GetTypeId(), m_caster->GetGUIDLow(), m_spellInfo->Id, cur);
@@ -2594,7 +2593,7 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
case TARGET_UNIT_AREA_PARTY_DST:
m_caster->GetPartyMemberInDist(unitList, radius); //fix me
break;
- case TARGET_UNIT_PARTY_TARGET:
+ case TARGET_UNIT_TARGET_ALLY_PARTY:
m_targets.GetUnitTarget()->GetPartyMemberInDist(unitList, radius);
break;
case TARGET_UNIT_PARTY_CASTER:
@@ -2603,7 +2602,7 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
case TARGET_UNIT_RAID_CASTER:
m_caster->GetRaidMember(unitList, radius);
break;
- case TARGET_UNIT_CLASS_TARGET:
+ case TARGET_UNIT_TARGET_CLASS_RAID:
{
Player* targetPlayer = m_targets.GetUnitTarget() && m_targets.GetUnitTarget()->GetTypeId() == TYPEID_PLAYER
? (Player*)m_targets.GetUnitTarget() : NULL;
@@ -4711,9 +4710,8 @@ SpellCastResult Spell::CheckCast(bool strict)
}
Unit* target = m_targets.GetUnitTarget();
-
// In pure self-cast spells, the client won't send any unit target
- if (!target && (m_targets.GetTargetMask() == TARGET_FLAG_SELF || m_targets.GetTargetMask() & TARGET_FLAG_UNIT_CASTER)) // TARGET_FLAG_SELF == 0, remember!
+ if (!target && (m_targets.GetTargetMask() == TARGET_FLAG_SELF || m_targets.GetTargetMask() & TARGET_FLAG_UNIT_ALLY)) // TARGET_FLAG_SELF == 0, remember!
target = m_caster;
if (target)
@@ -6748,7 +6746,7 @@ bool Spell::IsValidSingleTargetEffect(Unit const* target, Targets type) const
case TARGET_UNIT_TARGET_ENEMY:
return !m_caster->IsFriendlyTo(target);
case TARGET_UNIT_TARGET_ALLY:
- case TARGET_UNIT_PARTY_TARGET:
+ case TARGET_UNIT_TARGET_ALLY_PARTY:
return m_caster->IsFriendlyTo(target);
case TARGET_UNIT_TARGET_PARTY:
return m_caster != target && m_caster->IsInPartyWith(target);
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index 57fbf815a9d..97e2fddff3a 100755
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -39,36 +39,37 @@ struct SpellEntry;
enum SpellCastTargetFlags
{
TARGET_FLAG_SELF = 0x00000000,
- TARGET_FLAG_UNUSED1 = 0x00000001, // not used in any spells as of 3.2.2a (can be set dynamically)
+ TARGET_FLAG_UNUSED_1 = 0x00000001, // not used
TARGET_FLAG_UNIT = 0x00000002, // pguid
- TARGET_FLAG_UNUSED2 = 0x00000004, // not used in any spells as of 3.2.2a (can be set dynamically)
- TARGET_FLAG_UNUSED3 = 0x00000008, // not used in any spells as of 3.2.2a (can be set dynamically)
+ TARGET_FLAG_UNIT_RAID = 0x00000004, // not sent, used to validate target (if raid member)
+ TARGET_FLAG_UNIT_PARTY = 0x00000008, // not sent, used to validate target (if party member)
TARGET_FLAG_ITEM = 0x00000010, // pguid
- TARGET_FLAG_SOURCE_LOCATION = 0x00000020, // 3 float
- TARGET_FLAG_DEST_LOCATION = 0x00000040, // 3 float
- TARGET_FLAG_OBJECT_CASTER = 0x00000080, // used in 7 spells only
- TARGET_FLAG_UNIT_CASTER = 0x00000100, // looks like self target (480 spells)
- TARGET_FLAG_PVP_CORPSE = 0x00000200, // pguid
- TARGET_FLAG_UNIT_CORPSE = 0x00000400, // 10 spells (gathering professions)
- TARGET_FLAG_OBJECT = 0x00000800, // pguid, 2 spells
- TARGET_FLAG_TRADE_ITEM = 0x00001000, // pguid, 0 spells
- TARGET_FLAG_STRING = 0x00002000, // string, 0 spells
- TARGET_FLAG_OPEN_LOCK = 0x00004000, // 199 spells, opening object/lock
- TARGET_FLAG_CORPSE = 0x00008000, // pguid, resurrection spells
- TARGET_FLAG_UNK17 = 0x00010000, // pguid, not used in any spells as of 3.2.2a (can be set dynamically)
- TARGET_FLAG_GLYPH = 0x00020000, // used in glyph spells
- TARGET_FLAG_UNK19 = 0x00040000, //
- TARGET_FLAG_UNUSED20 = 0x00080000 // uint32 counter, loop { vec3 - screen position (?), guid }, not used so far
+ TARGET_FLAG_SOURCE_LOCATION = 0x00000020, // pguid, 3 float
+ TARGET_FLAG_DEST_LOCATION = 0x00000040, // pguid, 3 float
+ TARGET_FLAG_UNIT_ENEMY = 0x00000080, // not sent, used to validate target (if enemy)
+ TARGET_FLAG_UNIT_ALLY = 0x00000100, // not sent, used to validate target (if ally)
+ TARGET_FLAG_CORPSE_ENEMY = 0x00000200, // pguid
+ TARGET_FLAG_UNIT_DEAD = 0x00000400, // not sent, used to validate target (if dead creature)
+ TARGET_FLAG_GAMEOBJECT = 0x00000800, // pguid, used with TARGET_GAMEOBJECT
+ TARGET_FLAG_TRADE_ITEM = 0x00001000, // pguid
+ TARGET_FLAG_STRING = 0x00002000, // string
+ TARGET_FLAG_GAMEOBJECT_ITEM = 0x00004000, // not sent, used with TARGET_GAMEOBJECT_ITEM
+ TARGET_FLAG_CORPSE_ALLY = 0x00008000, // pguid
+ TARGET_FLAG_UNIT_MINIPET = 0x00010000, // pguid, used to validate target (if non combat pet)
+ TARGET_FLAG_GLYPH_SLOT = 0x00020000, // used in glyph spells
+ TARGET_FLAG_UNK19 = 0x00040000, // sometimes appears with DEST_TARGET spells (may appear or not for a given spell)
+ TARGET_FLAG_UNUSED20 = 0x00080000, // uint32 counter, loop { vec3 - screen position (?), guid }, not used so far
+ TARGET_FLAG_UNIT_PASSENGER = 0x00100000, // guessed, used to validate target (if vehicle passenger)
};
#define MAX_TARGET_FLAGS 21
enum SpellCastFlags
{
CAST_FLAG_NONE = 0x00000000,
- CAST_FLAG_PENDING = 0x00000001, // Pending == 1
+ CAST_FLAG_PENDING = 0x00000001, // aoe combat log?
CAST_FLAG_UNKNOWN_2 = 0x00000002,
CAST_FLAG_UNKNOWN_3 = 0x00000004,
- CAST_FLAG_UNKNOWN_4 = 0x00000008,
+ CAST_FLAG_UNKNOWN_4 = 0x00000008, // ignore AOE visual
CAST_FLAG_UNKNOWN_5 = 0x00000010,
CAST_FLAG_AMMO = 0x00000020, // Projectiles visual
CAST_FLAG_UNKNOWN_7 = 0x00000040,
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 125f729d74b..3135054b08b 100755
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -127,8 +127,9 @@ SpellMgr::SpellMgr()
case TARGET_UNIT_TARGET_ANY:
case TARGET_UNIT_TARGET_ENEMY:
case TARGET_UNIT_TARGET_PARTY:
- case TARGET_UNIT_PARTY_TARGET:
- case TARGET_UNIT_CLASS_TARGET:
+ case TARGET_UNIT_TARGET_PASSENGER:
+ case TARGET_UNIT_TARGET_ALLY_PARTY:
+ case TARGET_UNIT_TARGET_RAID_CLASS:
case TARGET_UNIT_CHAINHEAL:
SpellTargetType[i] = TARGET_TYPE_UNIT_TARGET;
break;
@@ -236,7 +237,7 @@ SpellMgr::SpellMgr()
case TARGET_UNIT_AREA_ENTRY_SRC:
case TARGET_UNIT_AREA_PARTY_DST:
case TARGET_UNIT_AREA_PARTY_SRC:
- case TARGET_UNIT_PARTY_TARGET:
+ case TARGET_UNIT_TARGET_ALLY_PARTY:
case TARGET_UNIT_PARTY_CASTER:
case TARGET_UNIT_CONE_ENEMY:
case TARGET_UNIT_CONE_ALLY:
@@ -4047,11 +4048,6 @@ void SpellMgr::LoadSpellCustomAttr()
spellInfo->EffectBasePoints[2] += 30000;
++count;
break;
- // some dummy spell only has dest, should push caster in this case
- case 62324: // Throw Passenger
- spellInfo->Targets |= TARGET_FLAG_UNIT_CASTER;
- ++count;
- break;
case 16834: // Natural shapeshifter
case 16835:
spellInfo->DurationIndex = 21;