aboutsummaryrefslogtreecommitdiff
path: root/src/game/Level3.cpp
diff options
context:
space:
mode:
authorKingPin <none@none>2008-11-04 13:32:08 -0600
committerKingPin <none@none>2008-11-04 13:32:08 -0600
commit89c9756b7718cac2026a03ee1c7b1aac0a565a4d (patch)
tree1a26af23bf36cfc1d1bb3cf81d44b6063a5ea450 /src/game/Level3.cpp
parentb53ab74b50cc8fa7e4c137d0aa4bc617501ef423 (diff)
[svn] added commands : pet create, tp, learn, unlearn. gobject activate and playall. thanx to dythzer.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Level3.cpp')
-rw-r--r--src/game/Level3.cpp85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp
index 3ff3a3d037a..3ed1b2aef59 100644
--- a/src/game/Level3.cpp
+++ b/src/game/Level3.cpp
@@ -6226,6 +6226,91 @@ bool ChatHandler::HandleSendMessageCommand(const char* args)
return true;
}
+bool ChatHandler::HandlePlayAllCommand(const char* args)
+{
+ if(!*args)
+ return false;
+
+ uint32 soundId = atoi((char*)args);
+
+ if(!sSoundEntriesStore.LookupEntry(soundId))
+ {
+ PSendSysMessage(LANG_SOUND_NOT_EXIST, soundId);
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ WorldPacket data(SMSG_PLAY_SOUND, 4);
+ data << uint32(soundId) << m_session->GetPlayer()->GetGUID();
+ sWorld.SendGlobalMessage(&data);
+
+ PSendSysMessage(LANG_COMMAND_PLAYED_TO_ALL, soundId);
+ return true;
+}
+
+bool ChatHandler::HandleModifyGenderCommand(const char *args)
+{
+ if(!*args) return false;
+ Player *player = getSelectedPlayer();
+
+ if(!player)
+ {
+ PSendSysMessage(LANG_NO_PLAYER);
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ std::string gender = (char*)args;
+ uint32 displayId = player->GetNativeDisplayId();
+
+ if(gender == "male") // MALE
+ {
+ if(player->getGender() == GENDER_MALE)
+ {
+ PSendSysMessage("%s is already male", player->GetName());
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ // Set gender
+ player->SetByteValue(UNIT_FIELD_BYTES_0, 2, GENDER_MALE);
+ // Change display ID
+ player->SetDisplayId(player->getRace() == RACE_BLOODELF ? displayId+1 : displayId-1);
+ player->SetNativeDisplayId(player->getRace() == RACE_BLOODELF ? displayId+1 : displayId-1);
+
+ ChatHandler(player).PSendSysMessage("Gender changed. You are now a man!");
+ PSendSysMessage("Gender changed for %s", player->GetName());
+ return true;
+ }
+ else if(gender == "female") // FEMALE
+ {
+ if(player->getGender() == GENDER_FEMALE)
+ {
+ PSendSysMessage("%s is already female", player->GetName());
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ // Set gender
+ player->SetByteValue(UNIT_FIELD_BYTES_0, 2, GENDER_FEMALE);
+ // Change display ID
+ player->SetDisplayId(player->getRace() == RACE_BLOODELF ? displayId-1 : displayId+1);
+ player->SetNativeDisplayId(player->getRace() == RACE_BLOODELF ? displayId-1 : displayId+1);
+
+ ChatHandler(player).PSendSysMessage("Gender changed. You are now a woman!");
+ PSendSysMessage("Gender changed for %s", player->GetName());
+ return true;
+ }
+ else
+ {
+ PSendSysMessage("You must use male or female as gender.");
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ return true;
+}
+
bool ChatHandler::HandleFreezeCommand(const char *args)
{
std::string name;