diff options
author | megamage <none@none> | 2009-04-17 15:08:58 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-04-17 15:08:58 -0500 |
commit | c7d78b5ff930b433c7f09471e825b79e6d9bee4f (patch) | |
tree | 127c9aed7e8ac65d379ac4bcdd18fc73049e3e37 /src/game/Debugcmds.cpp | |
parent | af935468df3af499bcae5018845ea6609f026a5b (diff) |
*Some work on vehicles.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Debugcmds.cpp')
-rw-r--r-- | src/game/Debugcmds.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/game/Debugcmds.cpp b/src/game/Debugcmds.cpp index e50ca1677de..940edeb74c2 100644 --- a/src/game/Debugcmds.cpp +++ b/src/game/Debugcmds.cpp @@ -32,6 +32,10 @@ #include "BattleGroundMgr.h" #include <fstream> #include "ObjectMgr.h" +#include "Cell.h" +#include "CellImpl.h" +#include "GridNotifiers.h" +#include "GridNotifiersImpl.h" bool ChatHandler::HandleDebugSendSpellFailCommand(const char* args) { @@ -673,6 +677,53 @@ bool ChatHandler::HandleDebugHostilRefList(const char * /*args*/) return true; } +bool ChatHandler::HandleDebugSetVehicleId(const char *args) +{ + Unit* target = getSelectedUnit(); + if(!target || target->GetTypeId() != TYPEID_UNIT || !((Creature*)target)->isVehicle()) + return false; + + if(!args) + return false; + + char* i = strtok((char*)args, " "); + if(!i) + return false; + + uint32 id = (uint32)atoi(i); + ((Vehicle*)target)->SetVehicleId(id); + target->SendUpdateObjectToAllExcept(NULL); + PSendSysMessage("Vehicle id set to %u", id); + return true; +} + +bool ChatHandler::HandleDebugEnterVehicle(const char * args) +{ + Unit* target = getSelectedUnit(); + if(!target || target->GetTypeId() != TYPEID_UNIT || !((Creature*)target)->isVehicle()) + return false; + + if(!args) + return false; + + char* i = strtok((char*)args, " "); + if(!i) + return false; + + uint32 entry = (uint32)atoi(i); + 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; + + ((Vehicle*)target)->AddPassenger(passenger); + + PSendSysMessage("Creature entered vehicle"); + return true; +} + bool ChatHandler::HandleDebugSpawnVehicle(const char* args) { if(!args) |