diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Accounts/RBAC.h | 1 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_debug.cpp | 66 |
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) |