aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-08-16 12:43:36 +0200
committerTreeston <treeston.mmoc@gmail.com>2018-08-16 13:04:58 +0200
commit2a50f9202bc36faf2b8b48cf52f2f86d974a4544 (patch)
treefb0aad9ecd4bf52339e6d037b864056ec8680e00
parent8711c539e1c72f4923ff63e0cc9d6a20c3dc0fa7 (diff)
Scritpts/Commands: Fix area name display if no area present. Closes #21727.
-rw-r--r--sql/updates/world/3.3.5/2018_08_16_02_world_335.sql5
-rw-r--r--src/server/game/Miscellaneous/Language.h4
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp20
3 files changed, 21 insertions, 8 deletions
diff --git a/sql/updates/world/3.3.5/2018_08_16_02_world_335.sql b/sql/updates/world/3.3.5/2018_08_16_02_world_335.sql
new file mode 100644
index 00000000000..b6f3f34aa31
--- /dev/null
+++ b/sql/updates/world/3.3.5/2018_08_16_02_world_335.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `trinity_string` WHERE `entry` IN (848,882);
+INSERT INTO `trinity_string` (`entry`,`content_default`) VALUES
+(848,'│ Map: %s, Zone: %s'),
+(882,'│ Map: %s, Zone: %s, Area: %s');
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index bf5f5c8ed4e..9917f0c5609 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -765,6 +765,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,
@@ -794,7 +795,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 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())