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
if not purchasedUpgrades[nextUpgradeId] then availableUpgradesNext[nextUpgradeId] = true end
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
if upgradePrereqsOfById[availableUpgradeId] 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 == 10 then return end
if #outputTable == 20 then return end
RecursiveGetTotalCosts(currentCost + upgradesById[availableUpgradeId].cost, purchasedUpgradesNext, availableUpgradesNext)
RecursiveGetTotalCosts(currentCost + upgradesById[availableUpgradeId].cost, purchasedUpgradesNext, availableUpgradesNext)
end
end