Skip to content

Instantly share code, notes, and snippets.

@Lillecarl
Created August 21, 2013 22:16
Show Gist options
  • Save Lillecarl/6300972 to your computer and use it in GitHub Desktop.
Save Lillecarl/6300972 to your computer and use it in GitHub Desktop.
void SendWhisper(std::string message, std::string name = "")
{
CGObject_C *pPlayer = s_objMgr.GetObjectPtr(s_objMgr.GetActivePlayerGuid(), TYPEMASK_PLAYER);
if (!pPlayer)
return;
uint32 lang = 0;
switch (pPlayer->GetValue<uint64>(UNIT_FIELD_FACTIONTEMPLATE))
{
case FACTION_HUMAN: lang = 7; break;
case FACTION_ORC: lang = 1; break;
case FACTION_DWARF: lang = 6; break;
case FACTION_NELF: lang = 2; break;
case FACTION_UNDEAD: lang = 33; break;
case FACTION_TAUREN: lang = 3; break;
case FACTION_GNOME: lang = 13; break;
case FACTION_TROLL: lang = 14; break;
case FACTION_BELF: lang = 10; break;
case FACTION_DRANAEI: lang = 35; break;
default:
return;
}
const char* putname = name == "" ? pPlayer->GetObjectName() : name.c_str();
CDataStore data;
data.PutInt32(CMSG_MESSAGECHAT);
data.PutInt32(7); // CHAT_MSG_WHISPER
data.PutInt32(lang);
data.PutString(putname);
data.PutString(message.c_str());
data.Finalize();
s_client.SendPacket(&data);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment