aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp25
-rw-r--r--src/server/game/Entities/Player/Player.h3
2 files changed, 28 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 2b39045e1e7..78b1eb830b9 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -26206,6 +26206,31 @@ float Player::GetCollisionHeight(bool mounted) const
}
}
+std::string Player::GetMapAreaAndZoneString()
+{
+ uint32 areaId = GetAreaId();
+ std::string areaName = "Unknown";
+ std::string zoneName = "Unknown";
+ if (AreaTableEntry const* area = GetAreaEntryByAreaID(areaId))
+ {
+ int locale = GetSession()->GetSessionDbcLocale();
+ areaName = area->area_name[locale];
+ if (AreaTableEntry const* zone = GetAreaEntryByAreaID(area->zone))
+ zoneName = zone->area_name[locale];
+ }
+
+ std::ostringstream str;
+ str << "Map: " << GetMapId() << " (" << (FindMap() ? FindMap()->GetMapName() : "Unknown") << ") Area: " << areaId << " (" << areaName.c_str() << ") Zone: " << zoneName.c_str();
+ return str.str();
+}
+
+std::string Player::GetCoordsMapAreaAndZoneString()
+{
+ std::ostringstream str;
+ str << Position::ToString() << " " << GetMapAreaAndZoneString();
+ return str.str();
+}
+
Guild* Player::GetGuild()
{
uint32 guildId = GetGuildId();
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 1c0fa4ea93d..25a7687e38e 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2287,6 +2287,9 @@ class Player : public Unit, public GridObject<Player>
//! Return collision height sent to client
float GetCollisionHeight(bool mounted) const;
+ std::string GetMapAreaAndZoneString();
+ std::string GetCoordsMapAreaAndZoneString();
+
protected:
// Gamemaster whisper whitelist
WhisperListContainer WhisperList;