aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp2
-rw-r--r--src/server/game/Chat/ChatLink.cpp8
-rw-r--r--src/server/game/DataStores/DB2Stores.cpp14
-rw-r--r--src/server/game/DataStores/DBCStores.cpp4
-rw-r--r--src/server/game/Texts/CreatureTextMgr.cpp2
5 files changed, 25 insertions, 5 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index 93c22843134..7c9739217d2 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -3342,7 +3342,7 @@ void AchievementGlobalMgr::LoadRewardLocales()
AchievementRewardLocale& data = _achievementRewardLocales[entry];
- for (uint8 i = TOTAL_LOCALES - 1; i > 0; --i)
+ for (uint8 i = OLD_TOTAL_LOCALES - 1; i > 0; --i)
{
LocaleConstant locale = (LocaleConstant) i;
ObjectMgr::AddLocaleString(fields[1 + 2 * (i - 1)].GetString(), locale, data.subject);
diff --git a/src/server/game/Chat/ChatLink.cpp b/src/server/game/Chat/ChatLink.cpp
index d2828267662..4eeea1b20cb 100644
--- a/src/server/game/Chat/ChatLink.cpp
+++ b/src/server/game/Chat/ChatLink.cpp
@@ -230,6 +230,9 @@ bool ItemChatLink::ValidateName(char* buffer, const char* context)
{
for (uint8 index = LOCALE_koKR; index < TOTAL_LOCALES; ++index)
{
+ if (index == LOCALE_none)
+ continue;
+
if (FormatName(index, suffixStrings) == buffer)
{
res = true;
@@ -412,8 +415,13 @@ bool AchievementChatLink::ValidateName(char* buffer, const char* context)
ChatLink::ValidateName(buffer, context);
for (uint8 locale = LOCALE_enUS; locale < TOTAL_LOCALES; ++locale)
+ {
+ if (locale == LOCALE_none)
+ continue;
+
if (strcmp(_achievement->Title->Str[locale], buffer) == 0)
return true;
+ }
TC_LOG_TRACE("chat.system", "ChatHandler::isValidChatMessage('%s'): linked achievement (id: %u) name wasn't found in any localization", context, _achievement->ID);
return false;
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp
index 0eba4f8607b..91f770d3c13 100644
--- a/src/server/game/DataStores/DB2Stores.cpp
+++ b/src/server/game/DataStores/DB2Stores.cpp
@@ -158,7 +158,7 @@ inline void LoadDB2(uint32& availableDb2Locales, DB2StoreProblemList& errlist, D
for (uint32 i = 0; i < TOTAL_LOCALES; ++i)
{
- if (defaultLocale == i)
+ if (defaultLocale == i || i == LOCALE_none)
continue;
if (availableDb2Locales & (1 << i))
@@ -380,8 +380,15 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
if (namesProfanity->Language != -1)
_nameValidators[namesProfanity->Language].emplace_back(namesProfanity->Name, boost::regex::perl | boost::regex::icase | boost::regex::optimize);
else
+ {
for (uint32 i = 0; i < TOTAL_LOCALES; ++i)
+ {
+ if (i == LOCALE_none)
+ continue;
+
_nameValidators[i].emplace_back(namesProfanity->Name, boost::regex::perl | boost::regex::icase | boost::regex::optimize);
+ }
+ }
}
for (NamesReservedEntry const* namesReserved : sNamesReservedStore)
@@ -391,8 +398,13 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
{
ASSERT(!(namesReserved->LocaleMask & ~((1 << TOTAL_LOCALES) - 1)));
for (uint32 i = 0; i < TOTAL_LOCALES; ++i)
+ {
+ if (i == LOCALE_none)
+ continue;
+
if (namesReserved->LocaleMask & (1 << i))
_nameValidators[i].emplace_back(namesReserved->Name, boost::regex::perl | boost::regex::icase | boost::regex::optimize);
+ }
}
for (PhaseXPhaseGroupEntry const* group : sPhaseXPhaseGroupStore)
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index 89dcdd4072a..2bf38bdc769 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -203,7 +203,7 @@ inline void LoadDBC(uint32& availableDbcLocales, StoreProblemList& errors, DBCSt
{
for (uint8 i = 0; i < TOTAL_LOCALES; ++i)
{
- if (!(availableDbcLocales & (1 << i)))
+ if (i == LOCALE_none || !(availableDbcLocales & (1 << i)))
continue;
std::string localizedName(dbcPath);
@@ -256,7 +256,7 @@ inline void LoadGameTable(StoreProblemList& errors, std::string const& tableName
for (uint32 l = 0; l < TOTAL_LOCALES; ++l)
{
- if (tableName == gt->Name->Str[l])
+ if (i != LOCALE_none && tableName == gt->Name->Str[l])
{
found = true;
storage.SetGameTableEntry(gt);
diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp
index a761d42fa9f..edc9b5a67e6 100644
--- a/src/server/game/Texts/CreatureTextMgr.cpp
+++ b/src/server/game/Texts/CreatureTextMgr.cpp
@@ -185,7 +185,7 @@ void CreatureTextMgr::LoadCreatureTextLocales()
{
Field* fields = result->Fetch();
CreatureTextLocale& loc = mLocaleTextMap[CreatureTextId(fields[0].GetUInt32(), uint32(fields[1].GetUInt8()), uint32(fields[2].GetUInt8()))];
- for (uint8 i = TOTAL_LOCALES - 1; i > 0; --i)
+ for (uint8 i = OLD_TOTAL_LOCALES - 1; i > 0; --i)
{
LocaleConstant locale = LocaleConstant(i);
ObjectMgr::AddLocaleString(fields[3 + i - 1].GetString(), locale, loc.Text);