From 2a50f9202bc36faf2b8b48cf52f2f86d974a4544 Mon Sep 17 00:00:00 2001 From: Treeston Date: Thu, 16 Aug 2018 12:43:36 +0200 Subject: Scritpts/Commands: Fix area name display if no area present. Closes #21727. --- src/server/scripts/Commands/cs_misc.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index d71a0ed3a65..dbc4aacd19e 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1601,8 +1601,8 @@ public: uint32 mapId; uint32 areaId; uint32 phase = 0; - 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 uint32 guildId = 0; @@ -1827,17 +1827,23 @@ public: AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId); if (area) { - areaName = area->area_name[locale]; + zoneName = area->area_name[locale]; AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone); if (zone) + { + areaName = zoneName; zoneName = zone->area_name[locale]; + } } - if (target) - handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->name[locale], - (!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->name[locale], zoneName, areaName); + else + handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->name[locale], zoneName); // Output XVII. - XVIX. if they are not empty if (!guildName.empty()) -- cgit v1.2.3