diff options
author | megamage <none@none> | 2009-05-23 20:41:48 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-05-23 20:41:48 -0500 |
commit | 2475390852e23a938110ba79647a2ccc49a8fc86 (patch) | |
tree | 2ebaec9b3737e6af11271a3c1a914c3ccb1b42c3 /src/game/Debugcmds.cpp | |
parent | 27e3352d2b2ba5e372d777203db4550775c2379e (diff) |
*Fix a bug that player can change to an occupied seat on vehicle.
(The commit message of the last rev should be: do not allow player to use unusable vehicle seat)
--HG--
branch : trunk
Diffstat (limited to 'src/game/Debugcmds.cpp')
-rw-r--r-- | src/game/Debugcmds.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/game/Debugcmds.cpp b/src/game/Debugcmds.cpp index 356b2c25ca2..fda50f8b9a6 100644 --- a/src/game/Debugcmds.cpp +++ b/src/game/Debugcmds.cpp @@ -739,16 +739,20 @@ bool ChatHandler::HandleDebugEnterVehicle(const char * args) uint32 entry = (uint32)atoi(i); int8 seatId = j ? (int8)atoi(j) : -1; - Creature *passenger = NULL; - Trinity::AllCreaturesOfEntryInRange check(m_session->GetPlayer(), entry, 20.0f); - Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(m_session->GetPlayer(), passenger, check); - m_session->GetPlayer()->VisitNearbyObject(20.0f, searcher); - if(!passenger || passenger == target) - return false; - - passenger->EnterVehicle((Vehicle*)target, seatId); + if(!entry) + m_session->GetPlayer()->EnterVehicle((Vehicle*)target, seatId); + else + { + Creature *passenger = NULL; + Trinity::AllCreaturesOfEntryInRange check(m_session->GetPlayer(), entry, 20.0f); + Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(m_session->GetPlayer(), passenger, check); + m_session->GetPlayer()->VisitNearbyObject(30.0f, searcher); + if(!passenger || passenger == target) + return false; + passenger->EnterVehicle((Vehicle*)target, seatId); + } - PSendSysMessage("Creature entered vehicle %d", (uint32)seatId); + PSendSysMessage("Unit %u entered vehicle %d", entry, (int32)seatId); return true; } |