--- @class Stats --- @field hp integer --- @field mana integer local stats = {} stats.__index = stats --- @param level? integer local function new(level) return { hp = 20, mana = 10 } end --- creates stats from character template (like warrior etc etc) --- --- TODO: написать скалирование по уровню --- @param template ClassTemplate --- @param level? integer local function fromTemplate(template, level) local tempStats = {} if template == "warrior" then tempStats = { hp = 30, initiative = 10, damage = 5, defence = 10, } elseif template == "mage" then tempStats = { hp = 15, initiative = 8, damage = 8, defence = 0, } elseif template == "archer" then tempStats = { hp = 20, initiative = 12, damage = 5, defence = 5, } end end return { new = new, fromTemplate = fromTemplate }