diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-08-16 12:43:36 +0200 |
---|---|---|
committer | Treeston <treeston.mmoc@gmail.com> | 2018-08-16 13:04:58 +0200 |
commit | 2a50f9202bc36faf2b8b48cf52f2f86d974a4544 (patch) | |
tree | fb0aad9ecd4bf52339e6d037b864056ec8680e00 | |
parent | 8711c539e1c72f4923ff63e0cc9d6a20c3dc0fa7 (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.sql | 5 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/Language.h | 4 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 20 |
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()) |