diff options
author | megamage <none@none> | 2009-08-27 03:36:58 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-08-27 03:36:58 -0500 |
commit | 9ae9807d98d935e2267320569013975e2e36a1b1 (patch) | |
tree | abce275a422a6aa1676db3d63beb17861a411f21 /src | |
parent | 405a054a132f8b071cef0dec55e1a17917146ea0 (diff) | |
parent | d2ae7e1cd4812d8626ec6c509db32d835b44906b (diff) |
merge
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Level1.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index d2eeb42971c..e817fc744ba 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -814,9 +814,10 @@ bool ChatHandler::HandleNamegoCommand(const char* args) // if both players are in different bgs else if (target->GetBattleGroundId() && m_session->GetPlayer()->GetBattleGroundId() != target->GetBattleGroundId()) { - PSendSysMessage(LANG_CANNOT_GO_TO_BG_FROM_BG,nameLink.c_str()); - SetSentErrorMessage(true); - return false; + target->LeaveBattleground(false); // Note: should be changed so target gets no Deserter debuff + //PSendSysMessage(LANG_CANNOT_GO_TO_BG_FROM_BG,nameLink.c_str()); + //SetSentErrorMessage(true); + //return false; } // all's well, set bg id // when porting out from the bg, it will be reset to 0 @@ -829,10 +830,11 @@ bool ChatHandler::HandleNamegoCommand(const char* args) Map* cMap = target->GetMap(); if (cMap->Instanceable() && cMap->GetInstanceId() != pMap->GetInstanceId()) { + target->UnbindInstance(pMap->GetInstanceId(), target->GetDifficulty(), true); // cannot summon from instance to instance - PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,nameLink.c_str()); - SetSentErrorMessage(true); - return false; + //PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,nameLink.c_str()); + //SetSentErrorMessage(true); + //return false; } // we are in instance, and can summon only player in our group with us as lead @@ -865,6 +867,7 @@ bool ChatHandler::HandleNamegoCommand(const char* args) float x,y,z; m_session->GetPlayer()->GetClosePoint(x,y,z,target->GetObjectSize()); target->TeleportTo(m_session->GetPlayer()->GetMapId(),x,y,z,target->GetOrientation()); + target->SetPhaseMask(m_session->GetPlayer()->GetPhaseMask(), true); } else { @@ -928,9 +931,10 @@ bool ChatHandler::HandleGonameCommand(const char* args) // if both players are in different bgs else if (_player->GetBattleGroundId() && _player->GetBattleGroundId() != target->GetBattleGroundId()) { - PSendSysMessage(LANG_CANNOT_GO_TO_BG_FROM_BG,chrNameLink.c_str()); - SetSentErrorMessage(true); - return false; + _player->LeaveBattleground(false); // Note: should be changed so _player gets no Deserter debuff + //PSendSysMessage(LANG_CANNOT_GO_TO_BG_FROM_BG,chrNameLink.c_str()); + //SetSentErrorMessage(true); + //return false; } // all's well, set bg id // when porting out from the bg, it will be reset to 0 @@ -1002,6 +1006,7 @@ bool ChatHandler::HandleGonameCommand(const char* args) target->GetContactPoint(_player,x,y,z); _player->TeleportTo(target->GetMapId(), x, y, z, _player->GetAngle(target), TELE_TO_GM_MODE); + _player->SetPhaseMask(target->GetPhaseMask(), true); } else { |