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
示例#4
0
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()