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
-rw-r--r--src/server/game/Miscellaneous/Language.h2
3 files changed, 29 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 35d1d151546..5653c738c4d 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -27105,6 +27105,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 8a1f09b9312..9d070cf60da 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2511,6 +2511,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();
+
// Void Storage
bool IsVoidStorageUnlocked() const { return HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_VOID_UNLOCKED); }
void UnlockVoidStorage() { SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_VOID_UNLOCKED); }
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index e266a86b6b2..bac0eb4cda9 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -1092,7 +1092,7 @@ enum TrinityStrings
LANG_CALL_FOR_HELP = 5035,
LANG_NPCINFO_EQUIPMENT = 5036,
LANG_NPCINFO_MECHANIC_IMMUNE = 5037,
- // Room for more Trinity strings 5037-9999
+ // Room for more Trinity strings 5038-9999
// Level requirement notifications
LANG_SAY_REQ = 6604,