def test_lvlup(): owner = StatsOwner() owner.lvl = 1 owner.xp = 0 owner.load_rules(load_rules_from_file("rules.cfg")) owner.award_xp(150) assert owner.lvl > 1
def test_override_rules(): owner = StatsOwner() rules = load_rules_from_file("rules.cfg") rules["str"]["cap"] = 1 rules["str"]["scale_amount"] = 8 owner.load_rules(rules) d = {"str": {"cap": 1337}} owner.load_rules(d) assert ( owner.rules["str"]["cap"] == 1337 and owner.rules["str"]["scale_amount"] == 8 )
def test_build_stat(): import configparser rules = configparser.ConfigParser() rules.read("rules.cfg") rules["str"]["scale_method"] = "flat" d = parse_rules(rules) so = StatsOwner() so.load_rules(d) s = Stat("str") so.add(s) s = so.stat_objects["str"] assert s.scale_method == s.scale_flat
def main(): import matplotlib.pyplot as plt lvls = 80 so = StatsOwner() so.load_rules(load_rules_from_file("rules.cfg")) p = [] for lvl in range(lvls): v1 = so.get_next_lvl_target() so.lvl += 1 r = so.get_next_lvl_target() - v1 p.append(r) print(p) y = [y for y in range(lvls)] plt.plot(y, p) plt.xlabel("level") plt.ylabel("value") plt.show()