Core/Misc: Delay creating std::string objects for locale data after size validation

This commit is contained in:
Shauren
2023-04-30 14:04:28 +02:00
parent 7f5e47c396
commit 8f7a1d3c2c
7 changed files with 83 additions and 80 deletions

View File

@@ -292,7 +292,7 @@ void Quest::LoadConditionalConditionalQuestDescription(Field* fields)
QuestConditionalText& text = itr != _conditionalQuestDescription.end() ? *itr : _conditionalQuestDescription.emplace_back();
text.PlayerConditionId = fields[1].GetInt32();
text.QuestgiverCreatureId = fields[2].GetInt32();
ObjectMgr::AddLocaleString(fields[3].GetString(), locale, text.Text);
ObjectMgr::AddLocaleString(fields[3].GetStringView(), locale, text.Text);
}
void Quest::LoadConditionalConditionalRequestItemsText(Field* fields)
@@ -312,7 +312,7 @@ void Quest::LoadConditionalConditionalRequestItemsText(Field* fields)
QuestConditionalText& text = itr != _conditionalRequestItemsText.end() ? *itr : _conditionalRequestItemsText.emplace_back();
text.PlayerConditionId = fields[1].GetInt32();
text.QuestgiverCreatureId = fields[2].GetInt32();
ObjectMgr::AddLocaleString(fields[3].GetString(), locale, text.Text);
ObjectMgr::AddLocaleString(fields[3].GetStringView(), locale, text.Text);
}
void Quest::LoadConditionalConditionalOfferRewardText(Field* fields)
@@ -332,7 +332,7 @@ void Quest::LoadConditionalConditionalOfferRewardText(Field* fields)
QuestConditionalText& text = itr != _conditionalOfferRewardText.end() ? *itr : _conditionalOfferRewardText.emplace_back();
text.PlayerConditionId = fields[1].GetInt32();
text.QuestgiverCreatureId = fields[2].GetInt32();
ObjectMgr::AddLocaleString(fields[3].GetString(), locale, text.Text);
ObjectMgr::AddLocaleString(fields[3].GetStringView(), locale, text.Text);
}
void Quest::LoadConditionalConditionalQuestCompletionLog(Field* fields)
@@ -352,7 +352,7 @@ void Quest::LoadConditionalConditionalQuestCompletionLog(Field* fields)
QuestConditionalText& text = itr != _conditionalQuestCompletionLog.end() ? *itr : _conditionalQuestCompletionLog.emplace_back();
text.PlayerConditionId = fields[1].GetInt32();
text.QuestgiverCreatureId = fields[2].GetInt32();
ObjectMgr::AddLocaleString(fields[3].GetString(), locale, text.Text);
ObjectMgr::AddLocaleString(fields[3].GetStringView(), locale, text.Text);
}
uint32 Quest::XPValue(Player const* player) const