aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
authorRat <gmstreetrat@gmail.com>2015-04-08 20:37:30 +0200
committerRat <gmstreetrat@gmail.com>2015-04-08 20:37:30 +0200
commite53f89d8364e98843cb24c45784bf8930c054548 (patch)
treef99f4a432230f715ca73d18574a9f2681542b5d3 /src/server/scripts/Commands
parent01d91fa3cdfd0ce57c863210a3ca0c650bac81ac (diff)
Core/Scenes: added .debug send playscene command for testing purposes
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index 84e3cf4c23c..d9fada1d76c 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -34,6 +34,7 @@ EndScriptData */
#include "Transport.h"
#include "Language.h"
#include "MovementPackets.h"
+#include "ScenePackets.h"
#include <fstream>
@@ -64,6 +65,7 @@ public:
{ "sellerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SELLERROR, false, &HandleDebugSendSellErrorCommand, "", NULL },
{ "setphaseshift", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SETPHASESHIFT, false, &HandleDebugSendSetPhaseShiftCommand, "", NULL },
{ "spellfail", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SPELLFAIL, false, &HandleDebugSendSpellFailCommand, "", NULL },
+ { "playscene", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_PLAYSCENE, false, &HandleDebugSendPlaySceneCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
static ChatCommand debugCommandTable[] =
@@ -1429,6 +1431,49 @@ public:
handler->SendSysMessage("Target is not phased");
return true;
}
+
+ static bool HandleDebugSendPlaySceneCommand(ChatHandler* handler, char const* args)
+ {
+ if (!*args)
+ return false;
+
+ int32 SceneID = 0;
+ int32 PlaybackFlags = 0;
+ int32 SceneInstanceID = 0;
+ int32 SceneScriptPackageID = 0;
+
+ char* a = strtok((char*)args, " ");
+ char* b = strtok(NULL, " ");
+ char* c = strtok(NULL, " ");
+ char* d = strtok(NULL, " ");
+
+ if (!a || !b || !c || !d)
+ return false;
+
+ if (a)
+ SceneID = atoi(a);
+ if (b)
+ PlaybackFlags = atoi(b);
+ if (c)
+ SceneInstanceID = atoi(c);
+ if (d)
+ SceneScriptPackageID = atoi(d);
+
+ Player* me = handler->GetSession()->GetPlayer();
+
+ WorldPackets::Scenes::PlayScene packet;
+ packet.SceneID = SceneID;
+ packet.PlaybackFlags = PlaybackFlags;
+ packet.SceneInstanceID = SceneInstanceID;
+ packet.SceneScriptPackageID = SceneScriptPackageID;
+ packet.TransportGUID = me->GetTransGUID();
+ packet.Location = me->GetPosition();
+ handler->GetSession()->SendPacket(packet.Write());
+
+ TC_LOG_DEBUG("network", "Sent SMSG_PLAY_SCENE to %s, SceneID: %d, PlaybackFlags: %d, SceneInstanceID: %d, SceneScriptPackageID: %d", me->GetName().c_str(), SceneID, PlaybackFlags, SceneInstanceID, SceneScriptPackageID);
+
+ return true;
+ }
};
void AddSC_debug_commandscript()