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:
parent
54f5efb23f
commit
9862ec82e3
102 changed files with 320 additions and 351 deletions
|
|
@ -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") }
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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 }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue