From 55576d20d837a9b4575c11a73940c29c0e8e605b Mon Sep 17 00:00:00 2001 From: ccrs Date: Tue, 2 May 2017 14:18:42 +0200 Subject: Core/Creature: drop method SetPosition eeeevil, use UpdatePosition. It was there just for old scripts compatibility. (cherry picked from commit 17579f8d91e0dcc6990fe581de9ca51ed444b754) --- src/server/scripts/Commands/cs_npc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/scripts/Commands') diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index 595af9223bc..4d818db8f9d 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -891,7 +891,7 @@ public: const_cast(data)->posZ = z; const_cast(data)->orientation = o; } - creature->SetPosition(x, y, z, o); + creature->UpdatePosition(x, y, z, o); creature->GetMotionMaster()->Initialize(); if (creature->IsAlive()) // dead creature will reset movement generator at respawn { -- cgit v1.2.3 From e21e7cd2e26361d18d57a7c4ec002dbf0abe8ffc Mon Sep 17 00:00:00 2001 From: Chazy Chaz Date: Fri, 5 May 2017 05:52:49 +0200 Subject: Scripts/Commands: Update reload commands names (cherry picked from commit 4843544c217800ba56b3084a8b1ca2fcf62cb091) --- .../2020_06_14_00_world_2017_05_05_00_world.sql | 7 ++++ src/server/game/Accounts/RBAC.h | 22 +++++------ src/server/scripts/Commands/cs_reload.cpp | 44 +++++++++++----------- 3 files changed, 40 insertions(+), 33 deletions(-) create mode 100644 sql/updates/world/master/2020_06_14_00_world_2017_05_05_00_world.sql (limited to 'src/server/scripts/Commands') diff --git a/sql/updates/world/master/2020_06_14_00_world_2017_05_05_00_world.sql b/sql/updates/world/master/2020_06_14_00_world_2017_05_05_00_world.sql new file mode 100644 index 00000000000..47f6822d310 --- /dev/null +++ b/sql/updates/world/master/2020_06_14_00_world_2017_05_05_00_world.sql @@ -0,0 +1,7 @@ +UPDATE command SET name = 'reload achievement_reward_locale', help = 'Syntax: .reload achievement_reward_locale\nReload achievement_reward_locale table.' WHERE permission = 657; +UPDATE command SET name = 'reload creature_template_locale', help = 'Syntax: .reload creature_template_locale\nReload creature_template_locale table.' WHERE permission = 658; +UPDATE command SET name = 'reload creature_text_locale', help = 'Syntax: .reload creature_text_locale\nReload creature_text_locale Table.' WHERE permission = 659; +UPDATE command SET name = 'reload gameobject_template_locale', help = 'Syntax: .reload gameobject_template_locale\nReload gameobject_template_locale table.' WHERE permission = 660; +UPDATE command SET name = 'reload gossip_menu_option_locale', help = 'Syntax: .reload gossip_menu_option_locale\nReload gossip_menu_option_locale table.' WHERE permission = 661; +UPDATE command SET name = 'reload page_tex_locale', help = 'Syntax: .reload page_tex_locale\nReload page_tex_locale table.' WHERE permission = 665; +UPDATE command SET name = 'reload points_of_interest_locale', help = 'Syntax: .reload points_of_interest_locale\nReload points_of_interest_locale table.' WHERE permission = 666; diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 05931ce840e..9ad98ac6466 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -562,17 +562,17 @@ enum RBACPermissions RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE = 654, RBAC_PERM_COMMAND_RELOAD_ITEM_SET_NAMES = 655, RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS = 656, - RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD = 657, - RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE = 658, - RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT = 659, - RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT = 660, - RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION = 661, - RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM = 662, // deprecated since Draenor DON'T reuse - RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM_SET_NAME = 663, - RBAC_PERM_COMMAND_RELOAD_LOCALES_NPC_TEXT = 664, // deprecated since Draenor DON'T reuse - RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT = 665, - RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST = 666, - RBAC_PERM_COMMAND_RELOAD_QUEST_LOCALE = 667, + RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD_LOCALE = 657, + RBAC_PERM_COMMAND_RELOAD_CRETURE_TEMPLATE_LOCALE = 658, + RBAC_PERM_COMMAND_RELOAD_CRETURE_TEXT_LOCALE = 659, + RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_TEMPLATE_LOCALE = 660, + RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION_LOCALE = 661, + RBAC_PERM_COMMAND_RELOAD_ITEM_TEMPLATE_LOCALE = 662, // deprecated since Draenor DON'T reus + RBAC_PERM_COMMAND_RELOAD_ITEM_SET_NAME_LOCALE = 663, + RBAC_PERM_COMMAND_RELOAD_NPC_TEXT_LOCALE = 664, // deprecated since Draenor DON'T reuse + RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT_LOCALE = 665, + RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST_LOCALE = 666, + RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE_LOCALE = 667, RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD = 668, RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE = 669, RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE = 670, diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index 8917a50951f..ccb032f6c02 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -111,13 +111,13 @@ public: { "item_random_bonus_list_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_RANDOM_BONUS_LIST_TEMPLATE, true, &HandleReloadItemRandomBonusListTemplatesCommand, "" }, { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "" }, { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "" }, - { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "" }, - { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "" }, - { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "" }, - { "locales_gameobject", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "" }, - { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "" }, - { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "" }, - { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "" }, + { "achievement_reward_locale", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD_LOCALE, true, &HandleReloadLocalesAchievementRewardCommand, "" }, + { "creature_template_locale", rbac::RBAC_PERM_COMMAND_RELOAD_CRETURE_TEMPLATE_LOCALE, true, &HandleReloadLocalesCreatureCommand, "" }, + { "creature_text_locale", rbac::RBAC_PERM_COMMAND_RELOAD_CRETURE_TEXT_LOCALE, true, &HandleReloadLocalesCreatureTextCommand, "" }, + { "gameobject_template_locale", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_TEMPLATE_LOCALE, true, &HandleReloadLocalesGameobjectCommand, "" }, + { "gossip_menu_option_locale", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION_LOCALE, true, &HandleReloadLocalesGossipMenuOptionCommand, "" }, + { "page_text_locale", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT_LOCALE, true, &HandleReloadLocalesPageTextCommand, "" }, + { "points_of_interest_locale", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST_LOCALE, true, &HandleReloadLocalesPointsOfInterestCommand, "" }, { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "" }, { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "" }, { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "" }, @@ -128,7 +128,7 @@ public: { "points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "" }, { "prospecting_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "" }, { "quest_greeting", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_GREETING, true, &HandleReloadQuestGreetingCommand, "" }, - { "quest_locale", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_LOCALE, true, &HandleReloadQuestLocaleCommand, "" }, + { "quest_locale", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE_LOCALE, true, &HandleReloadQuestLocaleCommand, "" }, { "quest_poi", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "" }, { "quest_template", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "" }, { "rbac", rbac::RBAC_PERM_COMMAND_RELOAD_RBAC, true, &HandleReloadRBACCommand, "" }, @@ -997,9 +997,9 @@ public: static bool HandleReloadLocalesAchievementRewardCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Achievement Reward Data..."); + TC_LOG_INFO("misc", "Re-Loading Achievement Reward Data Locale..."); sAchievementMgr->LoadRewardLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_achievement_reward` reloaded."); + handler->SendGlobalGMSysMessage("DB table `achievement_reward_locale` reloaded."); return true; } @@ -1013,49 +1013,49 @@ public: static bool HandleReloadLocalesCreatureCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Creature ..."); + TC_LOG_INFO("misc", "Re-Loading Creature Template Locale..."); sObjectMgr->LoadCreatureLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_creature` reloaded."); + handler->SendGlobalGMSysMessage("DB table `creature_template_locale` reloaded."); return true; } static bool HandleReloadLocalesCreatureTextCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Creature Texts..."); + TC_LOG_INFO("misc", "Re-Loading Creature Texts Locale..."); sCreatureTextMgr->LoadCreatureTextLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_creature_text` reloaded."); + handler->SendGlobalGMSysMessage("DB table `creature_text_locale` reloaded."); return true; } static bool HandleReloadLocalesGameobjectCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Gameobject ... "); + TC_LOG_INFO("misc", "Re-Loading Gameobject Template Locale... "); sObjectMgr->LoadGameObjectLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_gameobject` reloaded."); + handler->SendGlobalGMSysMessage("DB table `gameobject_template_locale` reloaded."); return true; } static bool HandleReloadLocalesGossipMenuOptionCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Gossip Menu Option ... "); + TC_LOG_INFO("misc", "Re-Loading Gossip Menu Option Locale... "); sObjectMgr->LoadGossipMenuItemsLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_gossip_menu_option` reloaded."); + handler->SendGlobalGMSysMessage("DB table `gossip_menu_option_locale` reloaded."); return true; } static bool HandleReloadLocalesPageTextCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Page Text ... "); + TC_LOG_INFO("misc", "Re-Loading Page Text Locale... "); sObjectMgr->LoadPageTextLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_page_text` reloaded."); + handler->SendGlobalGMSysMessage("DB table `page_text_locale` reloaded."); return true; } static bool HandleReloadLocalesPointsOfInterestCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Points Of Interest ... "); + TC_LOG_INFO("misc", "Re-Loading Points Of Interest Locale... "); sObjectMgr->LoadPointOfInterestLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_points_of_interest` reloaded."); + handler->SendGlobalGMSysMessage("DB table `points_of_interest_locale` reloaded."); return true; } -- cgit v1.2.3 From 7211c6e51d7471cef6c2de6bf1b1bf3711887835 Mon Sep 17 00:00:00 2001 From: ForesterDev Date: Fri, 26 May 2017 10:52:56 +0400 Subject: Scripts/Command: implement .debug play music command Closes #19809 (cherry picked from commit dd4ff1fe5458c89fc1d988fcc6ba5792ee482dcf) --- sql/base/auth_database.sql | 3 + sql/updates/auth/master/2020_05_19_00_auth.sql | 7 +++ .../2020_06_14_18_world_2017_05_29_00_world.sql | 3 + src/server/game/Accounts/RBAC.h | 1 + src/server/scripts/Commands/cs_debug.cpp | 66 ++++++++++++++++------ 5 files changed, 62 insertions(+), 18 deletions(-) create mode 100644 sql/updates/auth/master/2020_05_19_00_auth.sql create mode 100644 sql/updates/world/master/2020_06_14_18_world_2017_05_29_00_world.sql (limited to 'src/server/scripts/Commands') diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index 5ebb0a579eb..da0258f519b 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -1267,6 +1267,7 @@ INSERT INTO `rbac_linked_permissions` VALUES (198,316), (198,317), (198,318), +(198,855), (198,367), (198,368), (198,369), @@ -2084,6 +2085,7 @@ INSERT INTO `rbac_permissions` VALUES (852,'Command: go offset'), (853,'Command: .reload conversation_template'), (854,'Command: .debug conversation'), +(855,'Command: debug play music'), (868,'Command: modify power'), (869,'Command: debug send playerchoice'), (872,'Command: server debug'); @@ -2331,6 +2333,7 @@ INSERT INTO `updates` VALUES ('2020_03_31_00_auth.sql','BA82A58E95730A397922B6723DA027986E6CD535','RELEASED','2020-03-31 17:00:16',0), ('2020_04_04_00_auth.sql','5F118989A9F8AFA3B2065AB9C2C0BB7D9A0EB97A','RELEASED','2020-04-04 13:23:53',0), ('2020_04_30_00_auth.sql','2FD304B8EF82D529D69287BF22EF061A267F827E','RELEASED','2020-04-30 00:39:29',0), +('2020_05_19_00_auth.sql','12D9F26538F63546B74793499E8A71BD885E8E5F','RELEASED','2020-05-19 12:00:00',0), ('2020_06_04_00_auth.sql','BA797B558196B1A07F8FF66E5288AD04659CF6AC','RELEASED','2020-06-04 09:57:07',0); /*!40000 ALTER TABLE `updates` ENABLE KEYS */; UNLOCK TABLES; diff --git a/sql/updates/auth/master/2020_05_19_00_auth.sql b/sql/updates/auth/master/2020_05_19_00_auth.sql new file mode 100644 index 00000000000..7ddeabe630c --- /dev/null +++ b/sql/updates/auth/master/2020_05_19_00_auth.sql @@ -0,0 +1,7 @@ +DELETE FROM `rbac_permissions` WHERE `id` = 855; +INSERT INTO `rbac_permissions` (`id`,`name`) VALUES +(855, 'Command: debug play music'); + +DELETE FROM `rbac_linked_permissions` WHERE `id` = 855; +INSERT INTO `rbac_linked_permissions` (`id`,`linkedId`) VALUES +(198, 855); diff --git a/sql/updates/world/master/2020_06_14_18_world_2017_05_29_00_world.sql b/sql/updates/world/master/2020_06_14_18_world_2017_05_29_00_world.sql new file mode 100644 index 00000000000..6282e1c7b69 --- /dev/null +++ b/sql/updates/world/master/2020_06_14_18_world_2017_05_29_00_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `command` WHERE `name` = 'debug play music'; +INSERT INTO `command` (`name`,`permission`,`help`) VALUES +('debug play music', 855, 'Syntax: .debug play music #musicId\nPlay music with #musicId.\nMusic will be played only for you. Other players will not hear this.'); 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 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 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) -- cgit v1.2.3