aboutsummaryrefslogtreecommitdiff
path: root/src/game/Debugcmds.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-22 19:20:03 -0600
committermegamage <none@none>2009-03-22 19:20:03 -0600
commita47d2e1c22237e1b2337e89b0f1d910cca68b6ed (patch)
treec8b48faff0f424b69c0178395ebd609a068dcb73 /src/game/Debugcmds.cpp
parentce71c0e798ed3f47dd6356c34766e16d951a8ca5 (diff)
*Note some script id are changed. DB change may be needed.
[7518] Implement new script command SCRIPT_COMMAND_PLAY_SOUND (look in World.h for args) Author: VladimirMangos * Also rewrite use SMSG_PLAY_OBJECT_SOUND/SMSG_PLAY_SOUND Now WorldObject have 2 function for sound level dependent from distance (PlayDistanceSound) and for not depednet (PlayDirectSound) * Old Player::PlaySound function removed and uses need to be updated to WorldObject functions Note: function called for _source_ of sound in different from old function. * chat command .debug ps removed and .debug playsound can used for bother packects test: if no selection used SMSG_PLAY_SOUND, if selection exist including self then SMSG_PLAY_OBJECT_SOUND. --HG-- branch : trunk
Diffstat (limited to 'src/game/Debugcmds.cpp')
-rw-r--r--src/game/Debugcmds.cpp36
1 files changed, 32 insertions, 4 deletions
diff --git a/src/game/Debugcmds.cpp b/src/game/Debugcmds.cpp
index 73aff0dbb09..d0402b4851c 100644
--- a/src/game/Debugcmds.cpp
+++ b/src/game/Debugcmds.cpp
@@ -243,13 +243,41 @@ bool ChatHandler::HandleDebugUpdateWorldStateCommand(const char* args)
return true;
}
-bool ChatHandler::HandleDebugPlaySound2Command(const char* args)
+//Play sound
+bool ChatHandler::HandleDebugPlaySoundCommand(const char* args)
{
- if(!args)
+ // USAGE: .debug playsound #soundid
+ // #soundid - ID decimal number from SoundEntries.dbc (1st column)
+ if( !*args )
+ {
+ SendSysMessage(LANG_BAD_VALUE);
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ uint32 dwSoundId = atoi((char*)args);
+
+ if(!sSoundEntriesStore.LookupEntry(dwSoundId))
+ {
+ PSendSysMessage(LANG_SOUND_NOT_EXIST, dwSoundId);
+ SetSentErrorMessage(true);
return false;
+ }
+
+ Unit* unit = getSelectedUnit();
+ if(!unit)
+ {
+ SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ if(m_session->GetPlayer()->GetSelection())
+ unit->PlayDistanceSound(dwSoundId,m_session->GetPlayer());
+ else
+ unit->PlayDirectSound(dwSoundId,m_session->GetPlayer());
- uint32 soundid = atoi(args);
- m_session->GetPlayer()->PlaySound(soundid, false);
+ PSendSysMessage(LANG_YOU_HEAR_SOUND, dwSoundId);
return true;
}