Module:BTD6 hero xp: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 10: | Line 10: | ||
local mFloor = math.floor | local mFloor = math.floor | ||
local function | local function RoundHalfUp(num) | ||
local floored = mFloor(num) | local floored = mFloor(num) | ||
return (num - floored == 0.5) and | return floored + ((num - floored == 0.5) and 1 or 0) | ||
end | end | ||
| Line 28: | Line 28: | ||
local sformat = string.format | local sformat = string.format | ||
local xp_lv3 = | local xp_lv3 = RoundHalfUp(640 * curve) | ||
local total_required = 0 | local total_required = 0 | ||
| Line 49: | Line 49: | ||
-- Check if it is a perfect half tie-breaker | -- Check if it is a perfect half tie-breaker | ||
total_xp = total_xp + | total_xp = total_xp + RoundHalfUp(xp * mult) | ||
end | end | ||
| Line 61: | Line 61: | ||
for i, v in ipairs(level_reqs) do | for i, v in ipairs(level_reqs) do | ||
local req = | local req = RoundHalfUp(v * curve) | ||
total_required = total_required + req | total_required = total_required + req | ||
tinsert(wikitable, sformat('|-\n!%i\n|%s (%s)', i + 1, lang:formatNum(req), lang:formatNum(total_required))) | tinsert(wikitable, sformat('|-\n!%i\n|%s (%s)', i + 1, lang:formatNum(req), lang:formatNum(total_required))) | ||