diff options
| author | QAston <qaston@gmail.com> | 2011-08-16 19:44:18 +0200 |
|---|---|---|
| committer | QAston <qaston@gmail.com> | 2011-08-16 19:44:18 +0200 |
| commit | a077a26aa56bd2ce3e2ca8c1c75ca3046afabc1d (patch) | |
| tree | b58d1a34f2d6158d0ad98c2d371407b47d98328b /src/server/game | |
| parent | 1fb1988d46055c63ac29d63ae7b051f328525ee9 (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-x | src/server/game/AI/CoreAI/UnitAI.cpp | 4 | ||||
| -rwxr-xr-x | src/server/game/Conditions/ConditionMgr.cpp | 32 | ||||
| -rwxr-xr-x | src/server/game/Scripting/ScriptMgr.cpp | 20 | ||||
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/PetHandler.cpp | 2 | ||||
| -rwxr-xr-x | src/server/game/Spells/Auras/SpellAuras.cpp | 2 | ||||
| -rwxr-xr-x | src/server/game/Spells/Spell.cpp | 86 | ||||
| -rwxr-xr-x | src/server/game/Spells/Spell.h | 4 | ||||
| -rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 94 | ||||
| -rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 28 |
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; |
