aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorAlcDenat <alcdenat@hotmail.com>2018-10-09 16:31:27 +0200
committerjackpoz <giacomopoz@gmail.com>2018-10-09 16:31:27 +0200
commit2f5403d4af3a90a6e51a377e05a55a0d197afb4d (patch)
tree2e396a1631a3a53056b350ea9eb3ea644783d183 /src/server/game/Globals/ObjectMgr.cpp
parentf97cfe673f9958228be8bbc45a5bc12f5346096e (diff)
Split quest template locales (#22596)
* add quest locales tables
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp74
1 files changed, 64 insertions, 10 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 0275100e11f..80f823f9beb 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -4919,8 +4919,8 @@ void ObjectMgr::LoadQuestLocales()
_questLocaleStore.clear(); // need for reload case
- // 0 1 2 3 4 5 6 7 8 9 10 11 12
- QueryResult result = WorldDatabase.Query("SELECT ID, locale, Title, Details, Objectives, OfferRewardText, RequestItemsText, EndText, CompletedText, ObjectiveText1, ObjectiveText2, ObjectiveText3, ObjectiveText4 FROM quest_template_locale");
+ // 0 1 2 3 4 5 6 7 8 9 10
+ QueryResult result = WorldDatabase.Query("SELECT ID, locale, Title, Details, Objectives, EndText, CompletedText, ObjectiveText1, ObjectiveText2, ObjectiveText3, ObjectiveText4 FROM quest_template_locale");
if (!result)
return;
@@ -4928,8 +4928,8 @@ void ObjectMgr::LoadQuestLocales()
{
Field* fields = result->Fetch();
- uint32 id = fields[0].GetUInt32();
- std::string localeName = fields[1].GetString();
+ uint32 id = fields[0].GetUInt32();
+ std::string localeName = fields[1].GetString();
QuestLocale& data = _questLocaleStore[id];
@@ -4940,13 +4940,11 @@ void ObjectMgr::LoadQuestLocales()
AddLocaleString(fields[2].GetString(), locale, data.Title);
AddLocaleString(fields[3].GetString(), locale, data.Details);
AddLocaleString(fields[4].GetString(), locale, data.Objectives);
- AddLocaleString(fields[5].GetString(), locale, data.OfferRewardText);
- AddLocaleString(fields[6].GetString(), locale, data.RequestItemsText);
- AddLocaleString(fields[7].GetString(), locale, data.AreaDescription);
- AddLocaleString(fields[8].GetString(), locale, data.CompletedText);
+ AddLocaleString(fields[5].GetString(), locale, data.AreaDescription);
+ AddLocaleString(fields[6].GetString(), locale, data.CompletedText);
for (uint8 i = 0; i < 4; ++i)
- AddLocaleString(fields[i + 9].GetString(), locale, data.ObjectiveText[i]);
+ AddLocaleString(fields[i + 7].GetString(), locale, data.ObjectiveText[i]);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u Quest locale strings in %u ms", uint32(_questLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -6114,7 +6112,7 @@ void ObjectMgr::LoadQuestGreetings()
TC_LOG_INFO("server.loading", ">> Loaded %u quest_greeting in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
}
-void ObjectMgr::LoadQuestGreetingsLocales()
+void ObjectMgr::LoadQuestGreetingLocales()
{
uint32 oldMSTime = getMSTime();
@@ -6161,6 +6159,62 @@ void ObjectMgr::LoadQuestGreetingsLocales()
TC_LOG_INFO("server.loading", ">> Loaded %u quest greeting locale strings in %u ms", uint32(_questGreetingLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
}
+void ObjectMgr::LoadQuestOfferRewardLocale()
+{
+ uint32 oldMSTime = getMSTime();
+
+ _questOfferRewardLocaleStore.clear(); // need for reload case
+ // 0 1 2
+ QueryResult result = WorldDatabase.Query("SELECT Id, locale, RewardText FROM quest_offer_reward_locale");
+ if (!result)
+ return;
+
+ do
+ {
+ Field* fields = result->Fetch();
+
+ uint32 id = fields[0].GetUInt32();
+ std::string localeName = fields[1].GetString();
+
+ LocaleConstant locale = GetLocaleByName(localeName);
+ if (locale == LOCALE_enUS)
+ continue;
+
+ QuestOfferRewardLocale& data = _questOfferRewardLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.RewardText);
+ } while (result->NextRow());
+
+ TC_LOG_INFO("server.loading", ">> Loaded " SZFMTD " Quest Offer Reward locale strings in %u ms", _questOfferRewardLocaleStore.size(), GetMSTimeDiffToNow(oldMSTime));
+}
+
+void ObjectMgr::LoadQuestRequestItemsLocale()
+{
+ uint32 oldMSTime = getMSTime();
+
+ _questRequestItemsLocaleStore.clear(); // need for reload case
+ // 0 1 2
+ QueryResult result = WorldDatabase.Query("SELECT Id, locale, CompletionText FROM quest_request_items_locale");
+ if (!result)
+ return;
+
+ do
+ {
+ Field* fields = result->Fetch();
+
+ uint32 id = fields[0].GetUInt32();
+ std::string localeName = fields[1].GetString();
+
+ LocaleConstant locale = GetLocaleByName(localeName);
+ if (locale == LOCALE_enUS)
+ continue;
+
+ QuestRequestItemsLocale& data = _questRequestItemsLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.CompletionText);
+ } while (result->NextRow());
+
+ TC_LOG_INFO("server.loading", ">> Loaded " SZFMTD " Quest Request Items locale strings in %u ms", _questRequestItemsLocaleStore.size(), GetMSTimeDiffToNow(oldMSTime));
+}
+
void ObjectMgr::LoadTavernAreaTriggers()
{
uint32 oldMSTime = getMSTime();