diff options
| author | Shauren <shauren.trinity@gmail.com> | 2013-05-11 12:16:36 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2013-05-11 12:16:36 +0200 |
| commit | e2f8abd48dbd5ef61b63b673b3093fdaf5747163 (patch) | |
| tree | 9d99371af1797cd5181ec29df825fc8700779c1b /src | |
| parent | 1fbe054bd52698b557b1ba314b12602280c742aa (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.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 12 |
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); |
