Módulo:Stats
Ir a la navegación
Ir a la búsqueda
La documentación para este módulo puede ser creada en Módulo:Stats/doc
local p = {}
-- might put base stats into a database and access them here later idk
function p.statAtLevel (frame)
local lvl = frame.args[1] or frame.args["Niv"]
local baseStat = frame.args[2] or frame.args["baseStat"]
local statType = frame.args[3] or frame.args["statType"]
local stat = p.getStatAtLevel (tonumber(lvl), p.convertToBaseStat(baseStat, statType), statType)
return stat ~= nil and stat or "''N/D''"
end
function p.getStatAtLevel (lvl, baseStat, statType)
if lvl == nil or baseStat == nil then
return nil
end
local baseValue = statType == "PV" and 10 + lvl or statType == "PE" and 20 or 5
return baseValue + math.floor(lvl/99 * baseStat)
end
function p.rate (frame)
local from = frame.args[1] or frame.args["from"]
local to = frame.args[2] or frame.args["to"]
local baseStat = frame.args[3] or frame.args["baseStat"]
local statType = frame.args[4] or frame.args["statType"]
local rate = p.getRate(tonumber(from), tonumber(to), p.convertToBaseStat(baseStat, statType), statType)
return rate ~= nil and rate or "''N/D''"
end
function p.getRate (from, to, baseStat, statType)
local lowStat = p.getStatAtLevel(from, baseStat, statType)
local highStat = p.getStatAtLevel(to, baseStat, statType)
return lowStat ~= nil and highStat ~= nil and string.format("%.2f", (highStat-lowStat)/(to - from)) or nil
end
function p.convertToBaseStat (str, statType)
return tonumber(str) ~= nil and tonumber(str) or statType == "PE" and 34 or nil
end
return p