//exit; global.stats = {} function stat(name_, fullname_, desc_, replacements_=[]) constructor { name = name_ fullname = fullname_; desc = desc_; replacements = replacements_; global.stats[$name] = self; add = function(val) { return new unitstat(val, name, fullname, desc, replacements) } } #macro st global.stats function unitstat(val_, name_, fullname_, desc_, replacements_) : stat(name_, fullname_, desc_, replacements_) constructor { val = val_; modifier = 0; } nu stat("hp", "health", "vitality"); nu stat("str", "strength", "physical power"); nu stat("def", "defense", "physical defense");