diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-08-16 12:43:36 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-10-21 00:17:59 +0200 |
commit | abaf5d80685ff0dbfc766a074aa89b3481092f47 (patch) | |
tree | 0d682d07713e58b80ce2869c2c42837dc3ca81f9 /src/server/scripts | |
parent | c16164f68df9abdb947163b14526a72577ef2f0d (diff) |
Scritpts/Commands: Fix area name display if no area present. Closes #21727.
(cherry picked from commit 2a50f9202bc36faf2b8b48cf52f2f86d974a4544)
Diffstat (limited to 'src/server/scripts')
-rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 536664c9576..02b84090dfd 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1676,8 +1676,8 @@ public: // Position data print uint32 mapId; uint32 areaId; - std::string areaName = handler->GetTrinityString(LANG_UNKNOWN); - std::string zoneName = handler->GetTrinityString(LANG_UNKNOWN); + char const* areaName = nullptr; + char const* zoneName = nullptr; // Guild data print variables defined so that they exist, but are not necessarily used ObjectGuid::LowType guildId = UI64LIT(0); @@ -1899,17 +1899,23 @@ public: AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId); if (area) { - areaName = area->AreaName[handler->GetSessionDbcLocale()]; + zoneName = area->AreaName[handler->GetSessionDbcLocale()]; AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->ParentAreaID); if (zone) + { + areaName = zoneName; zoneName = zone->AreaName[handler->GetSessionDbcLocale()]; + } } - if (target) - handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->MapName[handler->GetSessionDbcLocale()], - (!zoneName.empty() ? zoneName.c_str() : handler->GetTrinityString(LANG_UNKNOWN)), - (!areaName.empty() ? areaName.c_str() : handler->GetTrinityString(LANG_UNKNOWN))); + if (!zoneName) + zoneName = handler->GetTrinityString(LANG_UNKNOWN); + + if (areaName) + handler->PSendSysMessage(LANG_PINFO_CHR_MAP_WITH_AREA, map->MapName[locale], zoneName, areaName); + else + handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->MapName[locale], zoneName); // Output XVII. - XVIX. if they are not empty if (!guildName.empty()) |