refactor(packages): 0.R5 - a question no longer starts its state - 64 lazy starts ('if st.x == null { st.x = ... }' inside a getter) are the state's defaults, gear__ensure is gone, and ludic migrate state --tighten took mut off 208 package parameters: things_all, thing_find, gear_charge, gear_level, jobs_state and the rest read

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-27 00:51:03 +03:00
parent 54f5efb23f
commit 9862ec82e3
102 changed files with 320 additions and 351 deletions

View file

@ -49,7 +49,7 @@ export state ShopState {
shop_buy_best: float = 0.92
shop_sell_new: float = 0.62
shop_sell_best: float = 0.85
shop_trade_q: Queue<ShopTrade> = null
shop_trade_q: Queue<ShopTrade> = shop_trade_q__new()
}
# the curve: buying from `buy_new` of base at rep 0 down to `buy_best` at 100; selling the same way
@ -106,7 +106,7 @@ export property ShopTrade {
}
export function shop_trades(shop_st: mut ShopState) -> Queue<ShopTrade> {
if shop_st.shop_trade_q == null { shop_st.shop_trade_q = queue_new("shop.trades") }
export function shop_trades(shop_st: ShopState) -> Queue<ShopTrade> {
return shop_st.shop_trade_q
}
function shop_trade_q__new() -> Queue<ShopTrade> { return queue_new("shop.trades") }

View file

@ -98,7 +98,7 @@ program ShopTest {
shop_reset(shop_st)
}
function trades(shop_st: mut ShopState) -> []ShopTrade { return q_drain(shop_trades(shop_st)) }
function trades(shop_st: ShopState) -> []ShopTrade { return q_drain(shop_trades(shop_st)) }
test "buying takes the price and puts one in the pack, and says so" (shop_st: mut ShopState, shop_test_st: mut ShopTestState) {
fresh(shop_st, shop_test_st)

View file

@ -26,7 +26,7 @@ export function shop_sellable(shop_st: ShopState, v: int) -> []int {
return out
}
function shop_trade_fact(shop_st: mut ShopState, what: int, it: int, n: int, price: int) -> void {
function shop_trade_fact(shop_st: ShopState, what: int, it: int, n: int, price: int) -> void {
let t = new ShopTrade
t.what = what
t.vendor = shop_st.shop_at
@ -41,7 +41,7 @@ export function shop_can_buy(shop_st: ShopState, it: int) -> bool {
}
# one, paid for and in the pack; false and nothing spent when it cannot be
export function shop_buy(shop_st: mut ShopState, it: int) -> bool {
export function shop_buy(shop_st: ShopState, it: int) -> bool {
if not shop_can_buy(shop_st, it) { return false }
let pr = shop_price_buy(shop_st, it)
if not ShopPurse.spend(pr) { return false }