Rewards.Rewards.loop: def of gralha-bendquest@0.1.0.0 Import: import gralha-bendquest@0.1.0.0/rewards.bend as Rewards Lines 46-57 of gralha-bendquest@0.1.0.0/rewards.bend: https://jend.leeeet.dev/read.txt?path=gralha-bendquest@0.1.0.0/rewards.bend&start_line=46&end_line=57 import Base import gralha-bendquest@0.1.0.0/game.bend as G def Rewards.loop(fuel: Nat, eligible: Bool, +hero: G.Bq.Hero, +xp: U32, +levels: U32) -> Rewards.Result: match fuel: case Zero{}: Rewards.Result{hero, xp, levels} case Succ{remaining}: match eligible: case False{}: Rewards.Result{hero, xp, levels} case True{}: +next_hero = G.Bq.hero_step(G.Bq.HOp.LevelUp{}, hero) +next_xp = U32.sub(xp, Rewards.cost(U32.from_nat(Rewards.level(hero)))) Rewards.loop(remaining, Rewards.eligible(next_hero, next_xp), next_hero, next_xp, U32.add(levels, 1)) Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.from_nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.sub https://jend.leeeet.dev/definition.txt?path=gralha-bendquest@0.1.0.0/game.bend&name=Bq.HOp https://jend.leeeet.dev/definition.txt?path=gralha-bendquest@0.1.0.0/game.bend&name=Bq.Hero https://jend.leeeet.dev/definition.txt?path=gralha-bendquest@0.1.0.0/game.bend&name=Bq.hero_step https://jend.leeeet.dev/definition.txt?path=gralha-bendquest@0.1.0.0/rewards.bend&name=Rewards.Result https://jend.leeeet.dev/definition.txt?path=gralha-bendquest@0.1.0.0/rewards.bend&name=Rewards.cost https://jend.leeeet.dev/definition.txt?path=gralha-bendquest@0.1.0.0/rewards.bend&name=Rewards.eligible https://jend.leeeet.dev/definition.txt?path=gralha-bendquest@0.1.0.0/rewards.bend&name=Rewards.level