Module:BATTD costs: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 50: | Line 50: | ||
purchasedUpgradesNext[purchasedUpgradeId] = true | purchasedUpgradesNext[purchasedUpgradeId] = true | ||
for _, nextUpgradeId in ipairs(upgradePrereqsOfById[purchasedUpgradeId]) do | if upgradePrereqsOfById[purchasedUpgradeId] then | ||
for _, nextUpgradeId in ipairs(upgradePrereqsOfById[purchasedUpgradeId]) do | |||
if not purchasedUpgrades[nextUpgradeId] then availableUpgradesNext[nextUpgradeId] = true end | |||
end | |||
end | end | ||
end | end | ||
| Line 72: | Line 74: | ||
outputTable[#outputTable+1] = tConcat(row, "") | outputTable[#outputTable+1] = tConcat(row, "") | ||
for availableUpgradeId, _ in pairs(availableUpgrades) do | if purchasedUpgrades and availableUpgrades then | ||
for availableUpgradeId, _ in pairs(availableUpgrades) do | |||
local purchasedUpgradesNext, availableUpgradesNext = GetPurchasedAndAvailableUpgrades(purchasedUpgrades, availableUpgradeId) | local purchasedUpgradesNext, availableUpgradesNext = GetPurchasedAndAvailableUpgrades(purchasedUpgrades, availableUpgradeId) | ||
| Line 79: | Line 81: | ||
purchasedUpgradesNext[availableUpgradeId] = true | purchasedUpgradesNext[availableUpgradeId] = true | ||
if #outputTable == | if #outputTable == 20 then return end | ||
RecursiveGetTotalCosts(currentCost + upgradesById[availableUpgradeId].cost, purchasedUpgradesNext, availableUpgradesNext) | RecursiveGetTotalCosts(currentCost + upgradesById[availableUpgradeId].cost, purchasedUpgradesNext, availableUpgradesNext) | ||
end | end | ||