47 lines
1.0 KiB
Lua
47 lines
1.0 KiB
Lua
--- @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 }
|