wip(0.S2): migrate - a var nothing writes becomes a let; a state is keyed by its module, directory or program, so every program's plan agrees; paths normalized; program states named SceneDemoState / scene_demo_st; the LSP reads state, mut and entry/handler parameters
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
3eda72e8c2
commit
5ffe50ed02
463 changed files with 72045 additions and 67421 deletions
|
|
@ -1,20 +1,20 @@
|
|||
# tiers.ludic - what is owned and what a tier is worth
|
||||
export function gear_ok(k: int) -> bool { return k >= 0 and k < GEAR_COUNT }
|
||||
|
||||
export function gear_level(gear_st: mut GearState, k: int) -> int {
|
||||
gear__ensure(gear_st)
|
||||
return gear_st.gear__lv[k]
|
||||
export function gear_level(k: int) -> int {
|
||||
gear__ensure()
|
||||
return gear__lv[k]
|
||||
}
|
||||
|
||||
# outright: staging, a test, a camera handed over with the trip
|
||||
export function gear_set_level(gear_st: mut GearState, k: int, lv: int) -> void {
|
||||
gear__ensure(gear_st)
|
||||
gear_st.gear__lv[k] = lv
|
||||
export function gear_set_level(k: int, lv: int) -> void {
|
||||
gear__ensure()
|
||||
gear__lv[k] = lv
|
||||
}
|
||||
|
||||
export function gear_owned(gear_st: mut GearState, k: int) -> bool { return gear_level(gear_st, k) > 0 }
|
||||
export function gear_owned(k: int) -> bool { return gear_level(k) > 0 }
|
||||
|
||||
export function gear_best(gear_st: mut GearState, k: int) -> bool { return gear_level(gear_st, k) >= GearKinds[k].tiers }
|
||||
export function gear_best(k: int) -> bool { return gear_level(k) >= GearKinds[k].tiers }
|
||||
|
||||
# a tier's name, "" for none
|
||||
export function gear_level_name(k: int, lv: int) -> string {
|
||||
|
|
@ -23,16 +23,16 @@ export function gear_level_name(k: int, lv: int) -> string {
|
|||
}
|
||||
|
||||
# the tier on offer next: its name, cost and the standing it wants
|
||||
export function gear_next_name(gear_st: mut GearState, k: int) -> string { return gear_level_name(k, gear_level(gear_st, k) + 1) }
|
||||
export function gear_next_name(k: int) -> string { return gear_level_name(k, gear_level(k) + 1) }
|
||||
|
||||
export function gear_next_cost(gear_st: mut GearState, k: int) -> int {
|
||||
if gear_best(gear_st, k) { return 0 }
|
||||
return GearKinds[k].cost[gear_level(gear_st, k)]
|
||||
export function gear_next_cost(k: int) -> int {
|
||||
if gear_best(k) { return 0 }
|
||||
return GearKinds[k].cost[gear_level(k)]
|
||||
}
|
||||
|
||||
export function gear_next_rep(gear_st: mut GearState, k: int) -> int {
|
||||
if gear_best(gear_st, k) { return 0 }
|
||||
return GearKinds[k].rep[gear_level(gear_st, k)]
|
||||
export function gear_next_rep(k: int) -> int {
|
||||
if gear_best(k) { return 0 }
|
||||
return GearKinds[k].rep[gear_level(k)]
|
||||
}
|
||||
|
||||
function gear__pick(xs: []float, lv: int, fallback: float) -> float {
|
||||
|
|
@ -43,12 +43,12 @@ function gear__pick(xs: []float, lv: int, fallback: float) -> float {
|
|||
}
|
||||
|
||||
# the kind's own number at its level (1.0 when it has none)
|
||||
export function gear_mult(gear_st: mut GearState, k: int) -> float { return gear__pick(GearKinds[k].mult, gear_level(gear_st, k), 1.0) }
|
||||
export function gear_mult(k: int) -> float { return gear__pick(GearKinds[k].mult, gear_level(k), 1.0) }
|
||||
|
||||
# a value its kind's tier decides
|
||||
export function gear_value(gear_st: mut GearState, v: int) -> float {
|
||||
export function gear_value(v: int) -> float {
|
||||
let d = GearValues[v]
|
||||
return gear__pick(d.at, gear_level(gear_st, d.gear), 0.0)
|
||||
return gear__pick(d.at, gear_level(d.gear), 0.0)
|
||||
}
|
||||
|
||||
# the room for a thing whose base stack is `base`, scaled: a single thing stays single, and a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue