mirror of
https://github.com/SWG-Source/client-tools.git
synced 2026-01-15 22:04:32 -05:00
Add reward loot item count to quest cui windows
This commit is contained in:
@@ -546,9 +546,12 @@ void SwgCuiQuestAcceptance::updateDecriptionReward(Quest const & quest)
|
||||
int currentItem = 0;
|
||||
std::vector<std::string> const & inclusiveLootItemNames = quest.getInclusiveStaticLootItemNames();
|
||||
std::vector<std::string> const & exclusiveLootItemNames = quest.getExclusiveStaticLootItemNames();
|
||||
std::vector<int> const & inclusiveLootCounts = quest.getInclusiveStaticLootItemCounts();
|
||||
std::vector<int> const & exclusiveLootCounts = quest.getExclusiveStaticLootItemCounts();
|
||||
DEBUG_FATAL(!inclusiveLootItemNames.empty() && !exclusiveLootItemNames.empty(), ("Both AND and OR rewards type set in quest [%s], this is not allowed. Use only one!", quest.getName().getString()));
|
||||
|
||||
std::vector<std::string> const & lootItems = (!inclusiveLootItemNames.empty()) ? inclusiveLootItemNames : exclusiveLootItemNames;
|
||||
std::vector<int> const & lootCounts = (!inclusiveLootItemNames.empty()) ? inclusiveLootCounts : exclusiveLootCounts;
|
||||
|
||||
for(int i = 0; i < cms_maxItems; ++i)
|
||||
ms_itemRewards[i].clear();
|
||||
@@ -609,8 +612,19 @@ void SwgCuiQuestAcceptance::updateDecriptionReward(Quest const & quest)
|
||||
m_rewardItemViewers[currentItem]->GetParentWidget()->GetParentWidget()->GetParentWidget()->SetLocalTooltip(result);
|
||||
m_rewardItemViewers[currentItem]->recomputeZoom();
|
||||
m_rewardItemViewers[currentItem]->setViewDirty(true);
|
||||
m_rewardItemNames[currentItem]->SetLocalText(StringId("static_item_n", lootItem).localize());
|
||||
|
||||
int p = std::distance(lootItems.begin(), it);
|
||||
if (lootCounts[p] > 1) {
|
||||
char pr[16];
|
||||
snprintf(pr, sizeof(pr) - 1, "%d", lootCounts[p]);
|
||||
std::string countMessage = "(";
|
||||
countMessage += pr;
|
||||
countMessage += "x) ";
|
||||
m_rewardItemNames[currentItem]->SetLocalText(Unicode::narrowToWide(countMessage) + StringId("static_item_n", lootItem).localize());
|
||||
}
|
||||
else {
|
||||
m_rewardItemNames[currentItem]->SetLocalText(StringId("static_item_n", lootItem).localize());
|
||||
}
|
||||
showedSomeReward = true;
|
||||
++currentItem;
|
||||
}
|
||||
|
||||
@@ -1071,8 +1071,11 @@ void SwgCuiQuestJournal::updateDecriptionReward(Quest const & quest)
|
||||
int currentItem = 0;
|
||||
std::vector<std::string> const & inclusiveLootItemNames = quest.getInclusiveStaticLootItemNames();
|
||||
std::vector<std::string> const & exclusiveLootItemNames = quest.getExclusiveStaticLootItemNames();
|
||||
std::vector<int> const & inclusiveLootCounts = quest.getInclusiveStaticLootItemCounts();
|
||||
std::vector<int> const & exclusiveLootCounts = quest.getExclusiveStaticLootItemCounts();
|
||||
DEBUG_FATAL(!inclusiveLootItemNames.empty() && !exclusiveLootItemNames.empty(), ("Both AND and OR rewards type set in quest [%s], this is not allowed. Use only one!", quest.getName().getString()));
|
||||
std::vector<std::string> const & lootItems = (!inclusiveLootItemNames.empty()) ? inclusiveLootItemNames : exclusiveLootItemNames;;
|
||||
std::vector<int> const & lootCounts = (!inclusiveLootItemNames.empty()) ? inclusiveLootCounts : exclusiveLootCounts;
|
||||
|
||||
if(!inclusiveLootItemNames.empty())
|
||||
{
|
||||
@@ -1148,7 +1151,19 @@ void SwgCuiQuestJournal::updateDecriptionReward(Quest const & quest)
|
||||
m_rewardItemViewers[currentItem]->GetParentWidget()->GetParentWidget()->GetParentWidget()->SetLocalTooltip(result);
|
||||
m_rewardItemViewers[currentItem]->recomputeZoom();
|
||||
m_rewardItemViewers[currentItem]->setViewDirty(true);
|
||||
m_rewardItemNames[currentItem]->SetLocalText(StringId("static_item_n", lootItem).localize());
|
||||
|
||||
int p = std::distance(lootItems.begin(), it);
|
||||
if (lootCounts[p] > 1) {
|
||||
char pr[16];
|
||||
snprintf(pr, sizeof(pr) - 1, "%d", lootCounts[p]);
|
||||
std::string countMessage = "(";
|
||||
countMessage += pr;
|
||||
countMessage += "x) ";
|
||||
m_rewardItemNames[currentItem]->SetLocalText(Unicode::narrowToWide(countMessage) + StringId("static_item_n", lootItem).localize());
|
||||
}
|
||||
else {
|
||||
m_rewardItemNames[currentItem]->SetLocalText(StringId("static_item_n", lootItem).localize());
|
||||
}
|
||||
|
||||
showedSomeReward = true;
|
||||
++currentItem;
|
||||
|
||||
Reference in New Issue
Block a user