aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorQAston <qaston@gmail.com>2011-08-16 19:44:18 +0200
committerQAston <qaston@gmail.com>2011-08-16 19:44:18 +0200
commita077a26aa56bd2ce3e2ca8c1c75ca3046afabc1d (patch)
treeb58d1a34f2d6158d0ad98c2d371407b47d98328b /src/server/game
parent1fb1988d46055c63ac29d63ae7b051f328525ee9 (diff)
Core/Spells: update the core to the changes from 1fb1988d46055c63ac29d63ae7b051f328525ee9 . To make your custom code work with those changes simply lookup the value of Targets enum value from prev rev, and update the name in your code.
Diffstat (limited to 'src/server/game')
-rwxr-xr-xsrc/server/game/AI/CoreAI/UnitAI.cpp4
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.cpp32
-rwxr-xr-xsrc/server/game/Scripting/ScriptMgr.cpp20
-rwxr-xr-xsrc/server/game/Server/Protocol/Handlers/PetHandler.cpp2
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuras.cpp2
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp86
-rwxr-xr-xsrc/server/game/Spells/Spell.h4
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp6
-rw-r--r--src/server/game/Spells/SpellInfo.cpp94
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp28
10 files changed, 139 insertions, 139 deletions
diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp
index 3ada008de59..92b81e7967b 100755
--- a/src/server/game/AI/CoreAI/UnitAI.cpp
+++ b/src/server/game/AI/CoreAI/UnitAI.cpp
@@ -206,9 +206,9 @@ void UnitAI::FillAISpellInfo()
uint32 targetType = spellInfo->Effects[j].TargetA.GetTarget();
if (targetType == TARGET_UNIT_TARGET_ENEMY
- || targetType == TARGET_DST_TARGET_ENEMY)
+ || targetType == TARGET_DEST_TARGET_ENEMY)
UPDATE_TARGET(AITARGET_VICTIM)
- else if (targetType == TARGET_UNIT_AREA_ENEMY_DST)
+ else if (targetType == TARGET_UNIT_DEST_AREA_ENEMY)
UPDATE_TARGET(AITARGET_ENEMY)
if (spellInfo->Effects[j].Effect == SPELL_EFFECT_APPLY_AURA)
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 46e0b8bf9a5..e72a8cba67b 100755
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -864,20 +864,20 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond)
bool targetfound = false;
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
{
- if (spellProto->Effects[i].TargetA.GetTarget() == TARGET_UNIT_AREA_ENTRY_SRC ||
- spellProto->Effects[i].TargetB.GetTarget() == TARGET_UNIT_AREA_ENTRY_SRC ||
- spellProto->Effects[i].TargetA.GetTarget() == TARGET_UNIT_AREA_ENTRY_DST ||
- spellProto->Effects[i].TargetB.GetTarget() == TARGET_UNIT_AREA_ENTRY_DST ||
+ if (spellProto->Effects[i].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENTRY ||
+ spellProto->Effects[i].TargetB.GetTarget() == TARGET_UNIT_SRC_AREA_ENTRY ||
+ spellProto->Effects[i].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENTRY ||
+ spellProto->Effects[i].TargetB.GetTarget() == TARGET_UNIT_DEST_AREA_ENTRY ||
spellProto->Effects[i].TargetA.GetTarget() == TARGET_UNIT_NEARBY_ENTRY ||
spellProto->Effects[i].TargetB.GetTarget() == TARGET_UNIT_NEARBY_ENTRY ||
spellProto->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_NEARBY_ENTRY ||
spellProto->Effects[i].TargetB.GetTarget() == TARGET_GAMEOBJECT_NEARBY_ENTRY ||
- spellProto->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_AREA_SRC ||
- spellProto->Effects[i].TargetB.GetTarget() == TARGET_GAMEOBJECT_AREA_SRC ||
- spellProto->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_AREA_DST ||
- spellProto->Effects[i].TargetB.GetTarget() == TARGET_GAMEOBJECT_AREA_DST ||
- spellProto->Effects[i].TargetA.GetTarget() == TARGET_DST_NEARBY_ENTRY ||
- spellProto->Effects[i].TargetB.GetTarget() == TARGET_DST_NEARBY_ENTRY ||
+ spellProto->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_SRC_AREA ||
+ spellProto->Effects[i].TargetB.GetTarget() == TARGET_GAMEOBJECT_SRC_AREA ||
+ spellProto->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_DEST_AREA ||
+ spellProto->Effects[i].TargetB.GetTarget() == TARGET_GAMEOBJECT_DEST_AREA ||
+ spellProto->Effects[i].TargetA.GetTarget() == TARGET_DEST_NEARBY_ENTRY ||
+ spellProto->Effects[i].TargetB.GetTarget() == TARGET_DEST_NEARBY_ENTRY ||
spellProto->Effects[i].TargetA.GetTarget() == TARGET_UNIT_CONE_ENTRY ||
spellProto->Effects[i].TargetB.GetTarget() == TARGET_UNIT_CONE_ENTRY)
{
@@ -887,16 +887,16 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond)
else if (cond->mConditionValue3 & (1 << i))
{
cond->mConditionValue3 &= ~(1 << i);
- sLog->outErrorDb("SourceEntry %u in `condition` table does not have any implicit target TARGET_UNIT_NEARBY_ENTRY(38) or TARGET_DST_NEARBY_ENTRY (46)"
- ", TARGET_UNIT_AREA_ENTRY_SRC(7), TARGET_UNIT_AREA_ENTRY_DST(8), TARGET_UNIT_CONE_ENTRY(60), TARGET_GAMEOBJECT_NEARBY_ENTRY(40)"
- "TARGET_GAMEOBJECT_AREA_SRC(51), TARGET_GAMEOBJECT_AREA_DST(52) in effect %u", cond->mSourceEntry, uint32(i));
+ sLog->outErrorDb("SourceEntry %u in `condition` table does not have any implicit target TARGET_UNIT_NEARBY_ENTRY(38) or TARGET_DEST_NEARBY_ENTRY (46)"
+ ", TARGET_UNIT_SRC_AREA_ENTRY(7), TARGET_UNIT_DEST_AREA_ENTRY(8), TARGET_UNIT_CONE_ENTRY(60), TARGET_GAMEOBJECT_NEARBY_ENTRY(40)"
+ "TARGET_GAMEOBJECT_SRC_AREA(51), TARGET_GAMEOBJECT_DEST_AREA(52) in effect %u", cond->mSourceEntry, uint32(i));
}
}
if (!targetfound && !cond->mConditionValue3) // cond->mConditionValue3 already errored up there
{
- sLog->outErrorDb("SourceEntry %u in `condition` table does not have any implicit target TARGET_UNIT_NEARBY_ENTRY(38) or TARGET_DST_NEARBY_ENTRY (46)"
- ", TARGET_UNIT_AREA_ENTRY_SRC(7), TARGET_UNIT_AREA_ENTRY_DST(8), TARGET_UNIT_CONE_ENTRY(60), TARGET_GAMEOBJECT_NEARBY_ENTRY(40)"
- "TARGET_GAMEOBJECT_AREA_SRC(51), TARGET_GAMEOBJECT_AREA_DST(52)", cond->mSourceEntry);
+ sLog->outErrorDb("SourceEntry %u in `condition` table does not have any implicit target TARGET_UNIT_NEARBY_ENTRY(38) or TARGET_DEST_NEARBY_ENTRY (46)"
+ ", TARGET_UNIT_SRC_AREA_ENTRY(7), TARGET_UNIT_DEST_AREA_ENTRY(8), TARGET_UNIT_CONE_ENTRY(60), TARGET_GAMEOBJECT_NEARBY_ENTRY(40)"
+ "TARGET_GAMEOBJECT_SRC_AREA(51), TARGET_GAMEOBJECT_DEST_AREA(52)", cond->mSourceEntry);
return false;
}
if ((cond->mConditionValue1 == SPELL_TARGET_TYPE_DEAD) && !spellProto->IsAllowingDeadTarget())
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index d0b56ee1ddf..e5168fbec9c 100755
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -331,21 +331,21 @@ void ScriptMgr::FillSpellSummary()
// Spell targets a single enemy.
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DST_TARGET_ENEMY)
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_TARGET_ENEMY)
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_ENEMY-1);
// Spell targets AoE at enemy.
- if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_SRC ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_DST ||
+ if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENEMY ||
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENEMY ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_ENEMY-1);
// Spell targets an enemy.
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DST_TARGET_ENEMY ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_SRC ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_DST ||
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_TARGET_ENEMY ||
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENEMY ||
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENEMY ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_ENEMY-1);
@@ -357,8 +357,8 @@ void ScriptMgr::FillSpellSummary()
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_FRIEND-1);
// Spell targets AoE friends.
- if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_PARTY_CASTER ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY_PARTY ||
+ if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER_AREA_PARTY ||
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_LASTTARGET_AREA_PARTY ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER)
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_FRIEND-1);
@@ -366,8 +366,8 @@ void ScriptMgr::FillSpellSummary()
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_PARTY ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_PARTY_CASTER ||
- pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY_PARTY ||
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER_AREA_PARTY ||
+ pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_LASTTARGET_AREA_PARTY ||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER)
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_FRIEND-1);
diff --git a/src/server/game/Server/Protocol/Handlers/PetHandler.cpp b/src/server/game/Server/Protocol/Handlers/PetHandler.cpp
index 2f28f83de8f..53681540f86 100755
--- a/src/server/game/Server/Protocol/Handlers/PetHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/PetHandler.cpp
@@ -302,7 +302,7 @@ void WorldSession::HandlePetActionHelper(Unit *pet, uint64 guid1, uint16 spellid
for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i)
{
- if (spellInfo->Effects[i].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_SRC || spellInfo->Effects[i].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_DST || spellInfo->Effects[i].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
+ if (spellInfo->Effects[i].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENEMY || spellInfo->Effects[i].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENEMY || spellInfo->Effects[i].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
return;
}
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 3fcf4867c8f..bff4f222895 100755
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -2397,7 +2397,7 @@ void DynObjAura::FillTargetMap(std::map<Unit *, uint8> & targets, Unit* /*caster
continue;
UnitList targetList;
if (GetSpellInfo()->Effects[effIndex].TargetB.GetTarget() == TARGET_DEST_DYNOBJ_ALLY
- || GetSpellInfo()->Effects[effIndex].TargetB.GetTarget() == TARGET_UNIT_AREA_ALLY_DST)
+ || GetSpellInfo()->Effects[effIndex].TargetB.GetTarget() == TARGET_UNIT_DEST_AREA_ALLY)
{
Trinity::AnyFriendlyUnitInObjectRangeCheck u_check(GetDynobjOwner(), dynObjOwnerCaster, radius);
Trinity::UnitListSearcher<Trinity::AnyFriendlyUnitInObjectRangeCheck> searcher(GetDynobjOwner(), targetList, u_check);
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 9182a616c85..737f6c0eaa2 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1991,7 +1991,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
case TARGET_UNIT_CASTER:
AddUnitTarget(m_caster, i);
break;
- case TARGET_UNIT_CASTER_FISHING:
+ case TARGET_DEST_CASTER_FISHING:
{
float min_dis = m_spellInfo->GetMinRange(true);
float max_dis = m_spellInfo->GetMaxRange(true);
@@ -2014,8 +2014,8 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
if (Unit* unit = m_caster->ToTempSummon()->GetSummoner())
AddUnitTarget(unit, i);
break;
- case TARGET_UNIT_PARTY_CASTER:
- case TARGET_UNIT_RAID_CASTER:
+ case TARGET_UNIT_CASTER_AREA_PARTY:
+ case TARGET_UNIT_CASTER_AREA_RAID:
pushType = PUSH_CASTER_CENTER;
break;
case TARGET_UNIT_VEHICLE:
@@ -2064,7 +2064,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
m_targets.SetUnitTarget(magnet);
pushType = PUSH_CHAIN;
break;
- case TARGET_UNIT_CHAINHEAL:
+ case TARGET_UNIT_TARGET_CHAINHEAL_ALLY:
pushType = PUSH_CHAIN;
break;
case TARGET_UNIT_TARGET_ALLY:
@@ -2080,8 +2080,8 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
if (target->IsOnVehicle(m_caster))
AddUnitTarget(target, i);
break;
- case TARGET_UNIT_TARGET_ALLY_PARTY:
- case TARGET_UNIT_TARGET_CLASS_RAID:
+ case TARGET_UNIT_LASTTARGET_AREA_PARTY:
+ case TARGET_UNIT_TARGET_AREA_RAID_CLASS:
pushType = PUSH_CASTER_CENTER; // not real
break;
default:
@@ -2158,7 +2158,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
m_targets.SetSrc(*m_caster);
break;
}
- else if (cur.GetTarget() == TARGET_DST_CASTER)
+ else if (cur.GetTarget() == TARGET_DEST_CASTER)
{
m_targets.SetDst(*m_caster);
break;
@@ -2167,7 +2167,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
float angle, dist;
float objSize = m_caster->GetObjectSize();
- if (cur.GetTarget() == TARGET_MINION)
+ if (cur.GetTarget() == TARGET_DEST_CASTER_SUMMON)
dist = 0.0f;
else
dist = m_spellInfo->Effects[i].CalcRadius(m_caster);
@@ -2183,7 +2183,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
case TARGET_DEST_CASTER_BACK_LEFT: angle = static_cast<float>(-3*M_PI/4); break;
case TARGET_DEST_CASTER_BACK_RIGHT: angle = static_cast<float>(3*M_PI/4); break;
case TARGET_DEST_CASTER_FRONT_RIGHT:angle = static_cast<float>(M_PI/4); break;
- case TARGET_MINION:
+ case TARGET_DEST_CASTER_SUMMON:
case TARGET_DEST_CASTER_FRONT_LEAP:
case TARGET_DEST_CASTER_FRONT: angle = 0.0f; break;
case TARGET_DEST_CASTER_BACK: angle = static_cast<float>(M_PI); break;
@@ -2211,7 +2211,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
break;
}
- if (cur.GetTarget() == TARGET_DST_TARGET_ENEMY || cur.GetTarget() == TARGET_DEST_TARGET_ANY)
+ if (cur.GetTarget() == TARGET_DEST_TARGET_ENEMY || cur.GetTarget() == TARGET_DEST_TARGET_ANY)
{
m_targets.SetDst(*target);
break;
@@ -2277,7 +2277,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
}
float dist = m_spellInfo->Effects[i].CalcRadius(m_caster);
- if (cur.GetTarget() == TARGET_DEST_DEST_RANDOM || cur.GetTarget() == TARGET_DEST_DEST_RANDOM_DIR_DIST)
+ if (cur.GetTarget() == TARGET_DEST_DEST_RANDOM || cur.GetTarget() == TARGET_DEST_DEST_RADIUS)
dist *= (float)rand_norm();
// must has dst, no need to set flag
@@ -2291,7 +2291,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
{
switch(cur.GetTarget())
{
- case TARGET_DST_DB:
+ case TARGET_DEST_DB:
if (SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id))
{
//TODO: fix this check
@@ -2309,11 +2309,11 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
m_targets.SetDst(target ? *target : *m_caster);
}
break;
- case TARGET_DST_HOME:
+ case TARGET_DEST_HOME:
if (m_caster->GetTypeId() == TYPEID_PLAYER)
m_targets.SetDst(m_caster->ToPlayer()->m_homebindX, m_caster->ToPlayer()->m_homebindY, m_caster->ToPlayer()->m_homebindZ, m_caster->ToPlayer()->GetOrientation(), m_caster->ToPlayer()->m_homebindMapId);
break;
- case TARGET_DST_NEARBY_ENTRY:
+ case TARGET_DEST_NEARBY_ENTRY:
{
float range = m_spellInfo->GetMaxRange(m_spellInfo->IsPositive());
if (modOwner) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_RANGE, range, this);
@@ -2366,11 +2366,11 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
{
switch (cur.GetTarget())
{
- case TARGET_GAMEOBJECT:
+ case TARGET_GAMEOBJECT_TARGET:
if (m_targets.GetGOTarget())
AddGOTarget(m_targets.GetGOTarget(), i);
break;
- case TARGET_GAMEOBJECT_ITEM:
+ case TARGET_GAMEOBJECT_ITEM_TARGET:
if (m_targets.GetGOTargetGUID())
AddGOTarget(m_targets.GetGOTarget(), i);
else if (m_targets.GetItemTarget())
@@ -2417,7 +2417,7 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
if (modOwner) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_RANGE, range, this);
SearchChainTarget(unitList, range, maxTargets, SPELL_TARGETS_ENEMY);
break;
- case TARGET_UNIT_CHAINHEAL:
+ case TARGET_UNIT_TARGET_CHAINHEAL_ALLY:
case TARGET_UNIT_NEARBY_ALLY: // fix me
case TARGET_UNIT_NEARBY_PARTY:
case TARGET_UNIT_NEARBY_RAID:
@@ -2447,29 +2447,29 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
SpellTargets targetType;
switch(cur.GetTarget())
{
- case TARGET_UNIT_AREA_ENEMY_SRC:
- case TARGET_UNIT_AREA_ENEMY_DST:
- case TARGET_UNIT_CONE_ENEMY:
- case TARGET_UNIT_CONE_ENEMY_UNKNOWN:
- case TARGET_UNIT_AREA_PATH:
+ case TARGET_UNIT_SRC_AREA_ENEMY:
+ case TARGET_UNIT_DEST_AREA_ENEMY:
+ case TARGET_UNIT_CONE_ENEMY_24:
+ case TARGET_UNIT_CONE_ENEMY_54:
+ case TARGET_UNIT_CONE_ENEMY_104:
radius = m_spellInfo->Effects[i].CalcRadius();
targetType = SPELL_TARGETS_ENEMY;
break;
- case TARGET_UNIT_AREA_ALLY_SRC:
- case TARGET_UNIT_AREA_ALLY_DST:
+ case TARGET_UNIT_SRC_AREA_ALLY:
+ case TARGET_UNIT_DEST_AREA_ALLY:
case TARGET_UNIT_CONE_ALLY:
radius = m_spellInfo->Effects[i].CalcRadius();
targetType = SPELL_TARGETS_ALLY;
break;
- case TARGET_UNIT_AREA_ENTRY_DST:
- case TARGET_UNIT_AREA_ENTRY_SRC:
+ case TARGET_UNIT_DEST_AREA_ENTRY:
+ case TARGET_UNIT_SRC_AREA_ENTRY:
case TARGET_UNIT_CONE_ENTRY: // fix me
radius = m_spellInfo->Effects[i].CalcRadius();
targetType = SPELL_TARGETS_ENTRY;
break;
- case TARGET_GAMEOBJECT_AREA_SRC:
- case TARGET_GAMEOBJECT_AREA_DST:
- case TARGET_GAMEOBJECT_AREA_PATH:
+ case TARGET_GAMEOBJECT_SRC_AREA:
+ case TARGET_GAMEOBJECT_DEST_AREA:
+ case TARGET_GAMEOBJECT_CONE:
radius = m_spellInfo->Effects[i].CalcRadius();
targetType = SPELL_TARGETS_GO;
break;
@@ -2615,20 +2615,20 @@ void Spell::SelectEffectTargets(uint32 i, SpellImplicitTargetInfo const& cur)
default:
switch (cur.GetTarget())
{
- case TARGET_UNIT_AREA_PARTY_SRC:
- case TARGET_UNIT_AREA_PARTY_DST:
+ case TARGET_UNIT_SRC_AREA_PARTY:
+ case TARGET_UNIT_DEST_AREA_PARTY:
m_caster->GetPartyMemberInDist(unitList, radius); //fix me
break;
- case TARGET_UNIT_TARGET_ALLY_PARTY:
+ case TARGET_UNIT_LASTTARGET_AREA_PARTY:
m_targets.GetUnitTarget()->GetPartyMemberInDist(unitList, radius);
break;
- case TARGET_UNIT_PARTY_CASTER:
+ case TARGET_UNIT_CASTER_AREA_PARTY:
m_caster->GetPartyMemberInDist(unitList, radius);
break;
- case TARGET_UNIT_RAID_CASTER:
+ case TARGET_UNIT_CASTER_AREA_RAID:
m_caster->GetRaidMember(unitList, radius);
break;
- case TARGET_UNIT_TARGET_CLASS_RAID:
+ case TARGET_UNIT_TARGET_AREA_RAID_CLASS:
{
Player* targetPlayer = m_targets.GetUnitTarget() && m_targets.GetUnitTarget()->GetTypeId() == TYPEID_PLAYER
? (Player*)m_targets.GetUnitTarget() : NULL;
@@ -5127,13 +5127,13 @@ SpellCastResult Spell::CheckCast(bool strict)
}
case SPELL_EFFECT_OPEN_LOCK:
{
- if (m_spellInfo->Effects[i].TargetA.GetTarget() != TARGET_GAMEOBJECT &&
- m_spellInfo->Effects[i].TargetA.GetTarget() != TARGET_GAMEOBJECT_ITEM)
+ if (m_spellInfo->Effects[i].TargetA.GetTarget() != TARGET_GAMEOBJECT_TARGET &&
+ m_spellInfo->Effects[i].TargetA.GetTarget() != TARGET_GAMEOBJECT_ITEM_TARGET)
break;
if (m_caster->GetTypeId() != TYPEID_PLAYER // only players can open locks, gather etc.
- // we need a go target in case of TARGET_GAMEOBJECT
- || (m_spellInfo->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT && !m_targets.GetGOTarget()))
+ // we need a go target in case of TARGET_GAMEOBJECT_TARGET
+ || (m_spellInfo->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_TARGET && !m_targets.GetGOTarget()))
return SPELL_FAILED_BAD_TARGETS;
Item *pTempItem = NULL;
@@ -5145,8 +5145,8 @@ SpellCastResult Spell::CheckCast(bool strict)
else if (m_targets.GetTargetMask() & TARGET_FLAG_ITEM)
pTempItem = m_caster->ToPlayer()->GetItemByGuid(m_targets.GetItemTargetGUID());
- // we need a go target, or an openable item target in case of TARGET_GAMEOBJECT_ITEM
- if (m_spellInfo->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM &&
+ // we need a go target, or an openable item target in case of TARGET_GAMEOBJECT_ITEM_TARGET
+ if (m_spellInfo->Effects[i].TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET &&
!m_targets.GetGOTarget() &&
(!pTempItem || !pTempItem->GetTemplate()->LockID || !pTempItem->IsLocked()))
return SPELL_FAILED_BAD_TARGETS;
@@ -6776,7 +6776,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_TARGET_ALLY_PARTY:
+ case TARGET_UNIT_LASTTARGET_AREA_PARTY:
return m_caster->IsFriendlyTo(target);
case TARGET_UNIT_TARGET_PARTY:
return m_caster != target && m_caster->IsInPartyWith(target);
@@ -6983,7 +6983,7 @@ SpellCastResult Spell::CanOpenLock(uint32 effIndex, uint32 lockId, SkillType& sk
// skill bonus provided by casting spell (mostly item spells)
// add the damage modifier from the spell casted (cheat lock / skeleton key etc.)
- if (m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_GAMEOBJECT_ITEM)
+ if (m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_GAMEOBJECT_ITEM_TARGET)
skillValue += uint32(CalculateDamage(effIndex, NULL));
if (skillValue < reqSkillValue)
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index cdf2c6d1232..47d22463119 100755
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -49,10 +49,10 @@ enum SpellCastTargetFlags
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_GAMEOBJECT = 0x00000800, // pguid, used with TARGET_GAMEOBJECT_TARGET
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_GAMEOBJECT_ITEM = 0x00004000, // not sent, used with TARGET_GAMEOBJECT_ITEM_TARGET
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
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 528bf8beebb..36244257d28 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1949,7 +1949,7 @@ void Spell::EffectTeleportUnits(SpellEffIndex /*effIndex*/)
else if (unitTarget->GetTypeId() == TYPEID_PLAYER)
unitTarget->ToPlayer()->TeleportTo(mapid, x, y, z, orientation, unitTarget == m_caster ? TELE_TO_SPELL : 0);
- // post effects for TARGET_DST_DB
+ // post effects for TARGET_DEST_DB
switch (m_spellInfo->Id)
{
// Dimensional Ripper - Everlook
@@ -6857,7 +6857,7 @@ void Spell::GetSummonPosition(uint32 i, Position &pos, float radius, uint32 coun
//This is a workaround. Do not have time to write much about it
switch (m_spellInfo->Effects[i].TargetA.GetTarget())
{
- case TARGET_MINION:
+ case TARGET_DEST_CASTER_SUMMON:
case TARGET_DEST_CASTER_RANDOM:
m_caster->GetNearPosition(pos, radius * (float)rand_norm(), (float)rand_norm()*static_cast<float>(2*M_PI));
break;
@@ -7033,7 +7033,7 @@ void Spell::EffectBind(SpellEffIndex effIndex)
uint32 area_id;
WorldLocation loc;
- if (m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_DST_DB || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_DST_DB)
+ if (m_spellInfo->Effects[effIndex].TargetA.GetTarget() == TARGET_DEST_DB || m_spellInfo->Effects[effIndex].TargetB.GetTarget() == TARGET_DEST_DB)
{
SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id);
if (!st)
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 4cce79f9f2a..d022feb1cd3 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -67,22 +67,22 @@ void SpellImplicitTargetInfo::InitAreaData()
{
switch (i)
{
- case TARGET_UNIT_AREA_ENEMY_DST:
- case TARGET_UNIT_AREA_ENEMY_SRC:
- case TARGET_UNIT_AREA_ALLY_DST:
- case TARGET_UNIT_AREA_ALLY_SRC:
- case TARGET_UNIT_AREA_ENTRY_DST:
- case TARGET_UNIT_AREA_ENTRY_SRC:
- case TARGET_UNIT_AREA_PARTY_DST:
- case TARGET_UNIT_AREA_PARTY_SRC:
- case TARGET_UNIT_TARGET_ALLY_PARTY:
- case TARGET_UNIT_PARTY_CASTER:
- case TARGET_UNIT_CONE_ENEMY:
+ case TARGET_UNIT_DEST_AREA_ENEMY:
+ case TARGET_UNIT_SRC_AREA_ENEMY:
+ case TARGET_UNIT_DEST_AREA_ALLY:
+ case TARGET_UNIT_SRC_AREA_ALLY:
+ case TARGET_UNIT_DEST_AREA_ENTRY:
+ case TARGET_UNIT_SRC_AREA_ENTRY:
+ case TARGET_UNIT_DEST_AREA_PARTY:
+ case TARGET_UNIT_SRC_AREA_PARTY:
+ case TARGET_UNIT_LASTTARGET_AREA_PARTY:
+ case TARGET_UNIT_CASTER_AREA_PARTY:
+ case TARGET_UNIT_CONE_ENEMY_24:
case TARGET_UNIT_CONE_ALLY:
- case TARGET_UNIT_CONE_ENEMY_UNKNOWN:
- case TARGET_UNIT_AREA_PATH:
- case TARGET_GAMEOBJECT_AREA_PATH:
- case TARGET_UNIT_RAID_CASTER:
+ case TARGET_UNIT_CONE_ENEMY_54:
+ case TARGET_UNIT_CONE_ENEMY_104:
+ case TARGET_GAMEOBJECT_CONE:
+ case TARGET_UNIT_CASTER_AREA_RAID:
Area[i] = true;
break;
default:
@@ -99,11 +99,11 @@ void SpellImplicitTargetInfo::InitTypeData()
switch (i)
{
case TARGET_UNIT_CASTER:
- case TARGET_UNIT_CASTER_FISHING:
+ case TARGET_DEST_CASTER_FISHING:
case TARGET_UNIT_MASTER:
case TARGET_UNIT_PET:
- case TARGET_UNIT_PARTY_CASTER:
- case TARGET_UNIT_RAID_CASTER:
+ case TARGET_UNIT_CASTER_AREA_PARTY:
+ case TARGET_UNIT_CASTER_AREA_RAID:
case TARGET_UNIT_VEHICLE:
case TARGET_UNIT_PASSENGER_0:
case TARGET_UNIT_PASSENGER_1:
@@ -123,9 +123,9 @@ void SpellImplicitTargetInfo::InitTypeData()
case TARGET_UNIT_TARGET_ENEMY:
case TARGET_UNIT_TARGET_PARTY:
case TARGET_UNIT_TARGET_PASSENGER:
- case TARGET_UNIT_TARGET_ALLY_PARTY:
- case TARGET_UNIT_TARGET_CLASS_RAID:
- case TARGET_UNIT_CHAINHEAL:
+ case TARGET_UNIT_LASTTARGET_AREA_PARTY:
+ case TARGET_UNIT_TARGET_AREA_RAID_CLASS:
+ case TARGET_UNIT_TARGET_CHAINHEAL_ALLY:
Type[i] = TARGET_TYPE_UNIT_TARGET;
break;
case TARGET_UNIT_NEARBY_ENEMY:
@@ -136,31 +136,31 @@ void SpellImplicitTargetInfo::InitTypeData()
case TARGET_GAMEOBJECT_NEARBY_ENTRY:
Type[i] = TARGET_TYPE_UNIT_NEARBY;
break;
- case TARGET_UNIT_AREA_ENEMY_SRC:
- case TARGET_UNIT_AREA_ALLY_SRC:
- case TARGET_UNIT_AREA_ENTRY_SRC:
- case TARGET_UNIT_AREA_PARTY_SRC:
- case TARGET_GAMEOBJECT_AREA_SRC:
+ case TARGET_UNIT_SRC_AREA_ENEMY:
+ case TARGET_UNIT_SRC_AREA_ALLY:
+ case TARGET_UNIT_SRC_AREA_ENTRY:
+ case TARGET_UNIT_SRC_AREA_PARTY:
+ case TARGET_GAMEOBJECT_SRC_AREA:
Type[i] = TARGET_TYPE_AREA_SRC;
break;
- case TARGET_UNIT_AREA_ENEMY_DST:
- case TARGET_UNIT_AREA_ALLY_DST:
- case TARGET_UNIT_AREA_ENTRY_DST:
- case TARGET_UNIT_AREA_PARTY_DST:
- case TARGET_GAMEOBJECT_AREA_DST:
+ case TARGET_UNIT_DEST_AREA_ENEMY:
+ case TARGET_UNIT_DEST_AREA_ALLY:
+ case TARGET_UNIT_DEST_AREA_ENTRY:
+ case TARGET_UNIT_DEST_AREA_PARTY:
+ case TARGET_GAMEOBJECT_DEST_AREA:
Type[i] = TARGET_TYPE_AREA_DST;
break;
- case TARGET_UNIT_CONE_ENEMY:
+ case TARGET_UNIT_CONE_ENEMY_24:
case TARGET_UNIT_CONE_ALLY:
case TARGET_UNIT_CONE_ENTRY:
- case TARGET_UNIT_CONE_ENEMY_UNKNOWN:
- case TARGET_UNIT_AREA_PATH:
- case TARGET_GAMEOBJECT_AREA_PATH:
+ case TARGET_UNIT_CONE_ENEMY_54:
+ case TARGET_UNIT_CONE_ENEMY_104:
+ case TARGET_GAMEOBJECT_CONE:
Type[i] = TARGET_TYPE_AREA_CONE;
break;
- case TARGET_DST_CASTER:
+ case TARGET_DEST_CASTER:
case TARGET_SRC_CASTER:
- case TARGET_MINION:
+ case TARGET_DEST_CASTER_SUMMON:
case TARGET_DEST_CASTER_FRONT_LEAP:
case TARGET_DEST_CASTER_FRONT:
case TARGET_DEST_CASTER_BACK:
@@ -174,7 +174,7 @@ void SpellImplicitTargetInfo::InitTypeData()
case TARGET_DEST_CASTER_RADIUS:
Type[i] = TARGET_TYPE_DEST_CASTER;
break;
- case TARGET_DST_TARGET_ENEMY:
+ case TARGET_DEST_TARGET_ENEMY:
case TARGET_DEST_TARGET_ANY:
case TARGET_DEST_TARGET_FRONT:
case TARGET_DEST_TARGET_BACK:
@@ -202,12 +202,12 @@ void SpellImplicitTargetInfo::InitTypeData()
case TARGET_DEST_DEST_RIGHT:
case TARGET_DEST_DEST_LEFT:
case TARGET_DEST_DEST_RANDOM:
- case TARGET_DEST_DEST_RANDOM_DIR_DIST:
+ case TARGET_DEST_DEST_RADIUS:
Type[i] = TARGET_TYPE_DEST_DEST;
break;
- case TARGET_DST_DB:
- case TARGET_DST_HOME:
- case TARGET_DST_NEARBY_ENTRY:
+ case TARGET_DEST_DB:
+ case TARGET_DEST_HOME:
+ case TARGET_DEST_NEARBY_ENTRY:
Type[i] = TARGET_TYPE_DEST_SPECIAL;
break;
case TARGET_UNIT_CHANNEL_TARGET:
@@ -1926,12 +1926,12 @@ bool SpellInfo::_IsPositiveTarget(uint32 targetA, uint32 targetB)
{
case TARGET_UNIT_NEARBY_ENEMY:
case TARGET_UNIT_TARGET_ENEMY:
- case TARGET_UNIT_AREA_ENEMY_SRC:
- case TARGET_UNIT_AREA_ENEMY_DST:
- case TARGET_UNIT_CONE_ENEMY:
- case TARGET_UNIT_AREA_PATH:
+ 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_DEST_DYNOBJ_ENEMY:
- case TARGET_DST_TARGET_ENEMY:
+ case TARGET_DEST_TARGET_ENEMY:
return false;
default:
break;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 0fb144e016e..8b86f002fa2 100755
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -1464,7 +1464,7 @@ void SpellMgr::LoadSpellTargetPositions()
bool found = false;
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
{
- if (spellInfo->Effects[i].TargetA.GetTarget() == TARGET_DST_DB || spellInfo->Effects[i].TargetB.GetTarget() == TARGET_DST_DB)
+ if (spellInfo->Effects[i].TargetA.GetTarget() == TARGET_DEST_DB || spellInfo->Effects[i].TargetB.GetTarget() == TARGET_DEST_DB)
{
// additional requirements
if (spellInfo->Effects[i].Effect == SPELL_EFFECT_BIND && spellInfo->Effects[i].MiscValue)
@@ -1483,7 +1483,7 @@ void SpellMgr::LoadSpellTargetPositions()
}
if (!found)
{
- sLog->outErrorDb("Spell (Id: %u) listed in `spell_target_position` does not have target TARGET_DST_DB (17).", Spell_ID);
+ sLog->outErrorDb("Spell (Id: %u) listed in `spell_target_position` does not have target TARGET_DEST_DB (17).", Spell_ID);
continue;
}
@@ -1505,7 +1505,7 @@ void SpellMgr::LoadSpellTargetPositions()
{
switch (spellInfo->Effects[j].TargetA)
{
- case TARGET_DST_DB:
+ case TARGET_DEST_DB:
found = true;
break;
}
@@ -1513,7 +1513,7 @@ void SpellMgr::LoadSpellTargetPositions()
break;
switch (spellInfo->Effects[j].TargetB)
{
- case TARGET_DST_DB:
+ case TARGET_DEST_DB:
found = true;
break;
}
@@ -2916,11 +2916,11 @@ void SpellMgr::LoadDbcDataCorrections()
case 62136: // Energize Cores
case 54069: // Energize Cores
case 56251: // Energize Cores
- spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_AREA_ENTRY_SRC;
+ spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_SRC_AREA_ENTRY;
break;
case 50785: // Energize Cores
case 59372: // Energize Cores
- spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_AREA_ENEMY_SRC;
+ spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_SRC_AREA_ENEMY;
break;
case 3286: // Bind
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ENEMY;
@@ -2946,11 +2946,11 @@ void SpellMgr::LoadDbcDataCorrections()
case 16007: // Draco-Incarcinatrix 900
// was 46, but effect is aura effect
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_NEARBY_ENTRY;
- spellInfo->EffectImplicitTargetB[0] = TARGET_DST_NEARBY_ENTRY;
+ spellInfo->EffectImplicitTargetB[0] = TARGET_DEST_NEARBY_ENTRY;
break;
case 59725: // Improved Spell Reflection - aoe aura
// Target entry seems to be wrong for this spell :/
- spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_PARTY_CASTER;
+ spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER_AREA_PARTY;
spellInfo->EffectRadiusIndex[0] = 45;
break;
case 44978: case 45001: case 45002: // Wild Magic
@@ -2975,8 +2975,8 @@ void SpellMgr::LoadDbcDataCorrections()
case 52479: // Gift of the Harvester
spellInfo->MaxAffectedTargets = 1;
// a trap always has dst = src?
- spellInfo->EffectImplicitTargetA[0] = TARGET_DST_CASTER;
- spellInfo->EffectImplicitTargetA[1] = TARGET_DST_CASTER;
+ spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_CASTER;
+ spellInfo->EffectImplicitTargetA[1] = TARGET_DEST_CASTER;
break;
case 41376: // Spite
case 39992: // Needle Spine
@@ -3112,8 +3112,8 @@ void SpellMgr::LoadDbcDataCorrections()
// this is the only known exception, probably just wrong data
case 29214: // Wrath of the Plaguebringer
case 54836: // Wrath of the Plaguebringer
- spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_AREA_ALLY_SRC;
- spellInfo->EffectImplicitTargetB[1] = TARGET_UNIT_AREA_ALLY_SRC;
+ spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_SRC_AREA_ALLY;
+ spellInfo->EffectImplicitTargetB[1] = TARGET_UNIT_SRC_AREA_ALLY;
break;
case 31687: // Summon Water Elemental
// 322-330 switch - effect changed to dummy, target entry not changed in client:(
@@ -3224,7 +3224,7 @@ void SpellMgr::LoadDbcDataCorrections()
case 70859: // Upper Spire Teleport
case 70860: // Frozen Throne Teleport
case 70861: // Sindragosa's Lair Teleport
- spellInfo->EffectImplicitTargetA[0] = TARGET_DST_DB;
+ spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_DB;
break;
case 69055: // Saber Lash (Lord Marrowgar)
case 70814: // Saber Lash (Lord Marrowgar)
@@ -3308,7 +3308,7 @@ void SpellMgr::LoadDbcDataCorrections()
spellInfo->EffectRadiusIndex[0] = 22; // 200yd
break;
case 70598: // Sindragosa's Fury
- spellInfo->EffectImplicitTargetA[0] = TARGET_DST_CASTER;
+ spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_CASTER;
break;
case 69846: // Frost Bomb
spellInfo->speed = 10;