aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorForesterDev <forester.manv@gmail.com>2017-05-26 10:52:56 +0400
committerfunjoker <funjoker109@gmail.com>2020-06-14 23:49:04 +0200
commit7211c6e51d7471cef6c2de6bf1b1bf3711887835 (patch)
tree6dbb91b574fc698e8b1d2342c8a5c69f73d860be /src
parent3f83c9dd1d409afa5f81dfc2cdcf21cb15b6c06b (diff)
Scripts/Command: implement .debug play music command
Closes #19809 (cherry picked from commit dd4ff1fe5458c89fc1d988fcc6ba5792ee482dcf)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Accounts/RBAC.h1
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp66
2 files changed, 49 insertions, 18 deletions
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index 9ad98ac6466..68b3d673a15 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -760,6 +760,7 @@ enum RBACPermissions
RBAC_PERM_COMMAND_GO_OFFSET = 852,
RBAC_PERM_COMMAND_RELOAD_CONVERSATION_TEMPLATE = 853,
RBAC_PERM_COMMAND_DEBUG_CONVERSATION = 854,
+ RBAC_PERM_COMMAND_DEBUG_PLAY_MUSIC = 855,
RBAC_PERM_COMMAND_NPC_SPAWNGROUP = 856, // reserved for dynamic_spawning
RBAC_PERM_COMMAND_NPC_DESPAWNGROUP = 857, // reserved for dynamic_spawning
RBAC_PERM_COMMAND_GOBJECT_SPAWNGROUP = 858, // reserved for dynamic_spawning
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index 11417b305a5..81bc3e533e1 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -61,6 +61,7 @@ public:
{ "cinematic", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_CINEMATIC, false, &HandleDebugPlayCinematicCommand, "" },
{ "movie", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_MOVIE, false, &HandleDebugPlayMovieCommand, "" },
{ "sound", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_SOUND, false, &HandleDebugPlaySoundCommand, "" },
+ { "music", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_MUSIC, false, &HandleDebugPlayMusicCommand, "" },
};
static std::vector<ChatCommand> debugSendCommandTable =
{
@@ -117,8 +118,8 @@ public:
static bool HandleDebugPlayCinematicCommand(ChatHandler* handler, char const* args)
{
- // USAGE: .debug play cinematic #cinematicid
- // #cinematicid - ID decimal number from CinemaicSequences.dbc (1st column)
+ // USAGE: .debug play cinematic #cinematicId
+ // #cinematicId - ID decimal number from CinemaicSequences.dbc (1st column)
if (!*args)
{
handler->SendSysMessage(LANG_BAD_VALUE);
@@ -126,12 +127,12 @@ public:
return false;
}
- uint32 id = atoul(args);
+ uint32 cinematicId = atoul(args);
- CinematicSequencesEntry const* cineSeq = sCinematicSequencesStore.LookupEntry(id);
+ CinematicSequencesEntry const* cineSeq = sCinematicSequencesStore.LookupEntry(cinematicId);
if (!cineSeq)
{
- handler->PSendSysMessage(LANG_CINEMATIC_NOT_EXIST, id);
+ handler->PSendSysMessage(LANG_CINEMATIC_NOT_EXIST, cinematicId);
handler->SetSentErrorMessage(true);
return false;
}
@@ -139,7 +140,7 @@ public:
// Dump camera locations
if (std::vector<FlyByCamera> const* flyByCameras = GetFlyByCameras(cineSeq->Camera[0]))
{
- handler->PSendSysMessage("Waypoints for sequence %u, camera %u", id, cineSeq->Camera[0]);
+ handler->PSendSysMessage("Waypoints for sequence %u, camera %u", cinematicId, cineSeq->Camera[0]);
uint32 count = 1;
for (FlyByCamera const& cam : *flyByCameras)
{
@@ -149,14 +150,14 @@ public:
handler->PSendSysMessage(SZFMTD " waypoints dumped", flyByCameras->size());
}
- handler->GetSession()->GetPlayer()->SendCinematicStart(id);
+ handler->GetSession()->GetPlayer()->SendCinematicStart(cinematicId);
return true;
}
static bool HandleDebugPlayMovieCommand(ChatHandler* handler, char const* args)
{
- // USAGE: .debug play movie #movieid
- // #movieid - ID decimal number from Movie.dbc (1st column)
+ // USAGE: .debug play movie #movieId
+ // #movieId - ID decimal number from Movie.dbc (1st column)
if (!*args)
{
handler->SendSysMessage(LANG_BAD_VALUE);
@@ -164,24 +165,24 @@ public:
return false;
}
- uint32 id = atoul(args);
+ uint32 movieId = atoul(args);
- if (!sMovieStore.LookupEntry(id))
+ if (!sMovieStore.LookupEntry(movieId))
{
- handler->PSendSysMessage(LANG_MOVIE_NOT_EXIST, id);
+ handler->PSendSysMessage(LANG_MOVIE_NOT_EXIST, movieId);
handler->SetSentErrorMessage(true);
return false;
}
- handler->GetSession()->GetPlayer()->SendMovieStart(id);
+ handler->GetSession()->GetPlayer()->SendMovieStart(movieId);
return true;
}
//Play sound
static bool HandleDebugPlaySoundCommand(ChatHandler* handler, char const* args)
{
- // USAGE: .debug playsound #soundid
- // #soundid - ID decimal number from SoundEntries.dbc (1st column)
+ // USAGE: .debug playsound #soundId
+ // #soundId - ID decimal number from SoundEntries.dbc (1st column)
if (!*args)
{
handler->SendSysMessage(LANG_BAD_VALUE);
@@ -198,6 +199,8 @@ public:
return false;
}
+ Player* player = handler->GetSession()->GetPlayer();
+
Unit* unit = handler->getSelectedUnit();
if (!unit)
{
@@ -206,15 +209,42 @@ public:
return false;
}
- if (!handler->GetSession()->GetPlayer()->GetTarget().IsEmpty())
- unit->PlayDistanceSound(soundId, handler->GetSession()->GetPlayer());
+ if (player->GetTarget().IsEmpty())
+ unit->PlayDistanceSound(soundId, player);
else
- unit->PlayDirectSound(soundId, handler->GetSession()->GetPlayer());
+ unit->PlayDirectSound(soundId, player);
handler->PSendSysMessage(LANG_YOU_HEAR_SOUND, soundId);
return true;
}
+ static bool HandleDebugPlayMusicCommand(ChatHandler* handler, char const* args)
+ {
+ // USAGE: .debug play music #musicId
+ // #musicId - ID decimal number from SoundEntries.dbc (1st column)
+ if (!*args)
+ {
+ handler->SendSysMessage(LANG_BAD_VALUE);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ uint32 musicId = atoul(args);
+ if (!sSoundKitStore.LookupEntry(musicId))
+ {
+ handler->PSendSysMessage(LANG_SOUND_NOT_EXIST, musicId);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ Player* player = handler->GetSession()->GetPlayer();
+
+ player->PlayDirectMusic(musicId, player);
+
+ handler->PSendSysMessage(LANG_YOU_HEAR_SOUND, musicId);
+ return true;
+ }
+
static bool HandleDebugSendSpellFailCommand(ChatHandler* handler, char const* args)
{
if (!*args)