aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-08-16 12:43:36 +0200
committerShauren <shauren.trinity@gmail.com>2021-10-21 00:17:59 +0200
commitabaf5d80685ff0dbfc766a074aa89b3481092f47 (patch)
tree0d682d07713e58b80ce2869c2c42837dc3ca81f9 /src
parentc16164f68df9abdb947163b14526a72577ef2f0d (diff)
Scritpts/Commands: Fix area name display if no area present. Closes #21727.
(cherry picked from commit 2a50f9202bc36faf2b8b48cf52f2f86d974a4544)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Miscellaneous/Language.h4
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp20
2 files changed, 16 insertions, 8 deletions
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index 88dab80ad4c..cd6eeae178f 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -772,6 +772,7 @@ enum TrinityStrings
LANG_PINFO_CHR_PLAYEDTIME = 853,
LANG_PINFO_CHR_MAILS = 854,
LANG_PINFO_CHR_LEVEL_HIGH = 871,
+ LANG_PINFO_CHR_MAP_WITH_AREA = 882,
LANG_CHARACTER_GENDER_MALE = 855,
LANG_CHARACTER_GENDER_FEMALE = 856,
@@ -801,7 +802,8 @@ enum TrinityStrings
// = 879, see LANG_PINFO_CHR_REGMAILS
LANG_ACCOUNT_SEC_TYPE = 880,
LANG_RBAC_EMAIL_REQUIRED = 881,
- // Room for in-game strings 882-999 not used
+ // = 882, LANG_PINFO_CHR_MAP_WITH_AREA
+ // Room for in-game strings 883-999 not used
// Level 4 (CLI only commands)
LANG_COMMAND_EXIT = 1000,
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())