aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-05-11 12:16:36 +0200
committerShauren <shauren.trinity@gmail.com>2013-05-11 12:16:36 +0200
commite2f8abd48dbd5ef61b63b673b3093fdaf5747163 (patch)
tree9d99371af1797cd5181ec29df825fc8700779c1b /src
parent1fbe054bd52698b557b1ba314b12602280c742aa (diff)
Core/Spells
* Removed area MiscValue check for spells with SPELL_EFFECT_BIND, it's purpose is only to be sent in packets, not determine real area player will be bound to. * Corrected guid sent in SMSG_PLAYERBOUND, it should be caster's guid, not player's * Also updated position for Teach: Death Gate Closes #9661
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp6
-rw-r--r--src/server/game/Spells/SpellMgr.cpp12
2 files changed, 4 insertions, 14 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 9807e7a016d..fac5a5748de 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -6085,7 +6085,7 @@ void Spell::EffectBind(SpellEffIndex effIndex)
player->SetHomebind(homeLoc, areaId);
// binding
- WorldPacket data(SMSG_BINDPOINTUPDATE, (4+4+4+4+4));
+ WorldPacket data(SMSG_BINDPOINTUPDATE, 4 + 4 + 4 + 4 + 4);
data << float(homeLoc.GetPositionX());
data << float(homeLoc.GetPositionY());
data << float(homeLoc.GetPositionZ());
@@ -6097,8 +6097,8 @@ void Spell::EffectBind(SpellEffIndex effIndex)
homeLoc.GetPositionX(), homeLoc.GetPositionY(), homeLoc.GetPositionZ(), homeLoc.GetMapId(), areaId);
// zone update
- data.Initialize(SMSG_PLAYERBOUND, 8+4);
- data << uint64(player->GetGUID());
+ data.Initialize(SMSG_PLAYERBOUND, 8 + 4);
+ data << uint64(m_caster->GetGUID());
data << uint32(areaId);
player->SendDirectMessage(&data);
}
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 9aebffcf53c..ee34e26808c 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -1549,21 +1549,11 @@ void SpellMgr::LoadSpellTargetPositions()
{
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)
- {
- uint32 area_id = sMapMgr->GetAreaId(st.target_mapId, st.target_X, st.target_Y, st.target_Z);
- if (area_id != uint32(spellInfo->Effects[i].MiscValue))
- {
- sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u) listed in `spell_target_position` expected to point to area %u, but points to area %u instead.", Spell_ID, spellInfo->Effects[i].MiscValue, area_id);
- break;
- }
- }
-
found = true;
break;
}
}
+
if (!found)
{
sLog->outError(LOG_FILTER_SQL, "Spell (Id: %u) listed in `spell_target_position` does not have target TARGET_DEST_DB (17).", Spell_ID);