new
(
)
__gc
(
)
__eq
(
am.stats
rhs
)
->
(
boolean
)
base_stat
(
string
stat_name
)
->
(
number
)
base_stat
(
string
stat_name
,
number
base_value
)
->
(
am.stats
)
stat
(
string
stat_name
)
->
(
number
)
add
(
string
stat_name
,
number
value
,
string
type
,
Booleam
magical
= true
)
->
(
integer
)
add
(
am.stat_modifiers
mods
)
->
(
integer
)
add
(
string
stat_name
,
am.stat_modifier
mod
)
->
(
integer
)
remove
(
string
stat_name
,
number
value
,
string
modifier_type
,
boolean
magical
= true
)
->
(
integer
)
remove
(
am.stat_modifiers
mods
)
->
(
integer
)
remove
(
string
stat_name
,
am.stat_modifier
mod
)
->
(
integer
)
mods
(
)
->
(
am.stat_modifiers
)
new
(
)
__gc
(
)
__eq
(
am.stats
rhs
)
->
(
boolean
)
base_stat
(
string
stat_name
)
->
(
number
)
base_stat
(
string
stat_name
,
number
base_value
)
->
(
am.stats
)
stat
(
string
stat_name
)
->
(
number
)
add
(
string
stat_name
,
number
value
,
string
type
,
Booleam
magical
= true
)
->
(
integer
)
stats = am.stats.new() stats:add("strength", 6, "+") stats:mods():add("strength", 4, "*") mods = stats:mods():mods() am_log("Mod 1: " .. mods["strength"][1].type .. " " .. mods["strength"][1].value) -- Outputs "Mod 1: + 6" am_log("Mod 2: " .. mods["strength"][2].type .. " " .. mods["strength"][2].value) -- Outputs "Mod 2: * 4" am_log("Strength: " .. stats:stat("strength", 5)) -- Outputs "Strength: 26"
add
(
am.stat_modifiers
mods
)
->
(
integer
)
add
(
string
stat_name
,
am.stat_modifier
mod
)
->
(
integer
)
remove
(
string
stat_name
,
number
value
,
string
modifier_type
,
boolean
magical
= true
)
->
(
integer
)
stats = am.stats.new() stats:add("strength", 6, "+") stats:mods():add("strength", 4, "*") mods = stats:mods():mods() am_log("Mod 1: " .. mods["strength"][1].type .. " " .. mods["strength"][1].value) -- Outputs "Mod 1: + 6" am_log("Mod 2: " .. mods["strength"][2].type .. " " .. mods["strength"][2].value) -- Outputs "Mod 2: * 4" am_log("Strength: " .. stats:stat("strength", 5)) -- Outputs "Strength: 26" stats:remove("strength", 6, "+") mods = stats:mods() am_log("Mod 1: " .. mods["strength"][1].type .. " " .. mods["strength"][1].value) -- Outputs "Mod 1: * 4" am_log("Strength: " .. stats:stat("strength", 5)) -- Outputs "Strength: 20"
remove
(
am.stat_modifiers
mods
)
->
(
integer
)
remove
(
string
stat_name
,
am.stat_modifier
mod
)
->
(
integer
)
mods
(
)
->
(
am.stat_modifiers
)