bdd-creature/classes/dataholders/statholder.lua

20 lines
534 B
Lua
Raw Normal View History

2024-08-02 08:39:28 +02:00
local StatHolder = Object:extend()
function StatHolder:new(key, datas)
self.key = key
self.datas = datas
self.commands = {}
end
function StatHolder:applyCommand(command, args)
self.commands[command] = args
end
function StatHolder:reduce(level)
2024-08-06 22:25:27 +02:00
local stat = self.commands.base + ((self.commands.lvl or 0) * level) + (self.commands.add or 0) + (self.commands.bonus or 0)
local modulo = commands.structs[self.key].modulo or 1
stat = math.floor(stat / modulo) * modulo
return stat
2024-08-02 08:39:28 +02:00
end
return StatHolder