aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Level2.cpp40
1 files changed, 37 insertions, 3 deletions
diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp
index e3f3bbce6e6..8c0a886f2c7 100644
--- a/src/game/Level2.cpp
+++ b/src/game/Level2.cpp
@@ -2149,6 +2149,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
uint32 total_player_time = 0;
uint32 level = 0;
uint32 latency = 0;
+ uint8 race;
+ uint8 Class;
// get additional information from Player object
if(target)
@@ -2162,6 +2164,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
total_player_time = target->GetTotalPlayedTime();
level = target->getLevel();
latency = target->GetSession()->GetLatency();
+ race = target->getRace();
+ Class = target->getClass();
}
// get additional information from DB
else
@@ -2170,8 +2174,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
if (HasLowerSecurity(NULL, target_guid))
return false;
- // 0 1 2 3
- QueryResult *result = CharacterDatabase.PQuery("SELECT totaltime, level, money, account FROM characters WHERE guid = '%u'", GUID_LOPART(target_guid));
+ // 0 1 2 3 4 5
+ QueryResult *result = CharacterDatabase.PQuery("SELECT totaltime, level, money, account, race, class FROM characters WHERE guid = '%u'", GUID_LOPART(target_guid));
if (!result)
return false;
@@ -2180,6 +2184,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
level = fields[1].GetUInt32();
money = fields[2].GetUInt32();
accId = fields[3].GetUInt32();
+ race = fields[4].GetUInt8();
+ Class = fields[5].GetUInt8();
delete result;
}
@@ -2218,11 +2224,39 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
PSendSysMessage(LANG_PINFO_ACCOUNT, (target?"":GetTrinityString(LANG_OFFLINE)), nameLink.c_str(), GUID_LOPART(target_guid), username.c_str(), accId, email.c_str(), security, last_ip.c_str(), last_login.c_str(), latency);
+ std::string race_s, Class_s;
+ switch(race)
+ {
+ case RACE_HUMAN: race_s = "Human"; break;
+ case RACE_ORC: race_s = "Orc"; break;
+ case RACE_DWARF: race_s = "Dwarf"; break;
+ case RACE_NIGHTELF: race_s = "Night Elf"; break;
+ case RACE_UNDEAD_PLAYER: race_s = "Undead"; break;
+ case RACE_TAUREN: race_s = "Tauren"; break;
+ case RACE_GNOME: race_s = "Gnome"; break;
+ case RACE_TROLL: race_s = "Troll"; break;
+ case RACE_BLOODELF: race_s = "Blood Elf"; break;
+ case RACE_DRAENEI: race_s = "Draenei"; break;
+ }
+ switch(Class)
+ {
+ case CLASS_WARRIOR: Class_s = "Warrior"; break;
+ case CLASS_PALADIN: Class_s = "Paladin"; break;
+ case CLASS_HUNTER: Class_s = "Hunter"; break;
+ case CLASS_ROGUE: Class_s = "Rogue"; break;
+ case CLASS_PRIEST: Class_s = "Priest"; break;
+ case CLASS_DEATH_KNIGHT: Class_s = "Death Knight"; break;
+ case CLASS_SHAMAN: Class_s = "Shaman"; break;
+ case CLASS_MAGE: Class_s = "Mage"; break;
+ case CLASS_WARLOCK: Class_s = "Warlock"; break;
+ case CLASS_DRUID: Class_s = "Druid"; break;
+ }
+
std::string timeStr = secsToTimeString(total_player_time,true,true);
uint32 gold = money /GOLD;
uint32 silv = (money % GOLD) / SILVER;
uint32 copp = (money % GOLD) % SILVER;
- PSendSysMessage(LANG_PINFO_LEVEL, timeStr.c_str(), level, gold,silv,copp );
+ PSendSysMessage(LANG_PINFO_LEVEL, race_s.c_str(), Class_s.c_str(), timeStr.c_str(), level, gold, silv, copp);
return true;
}