No cap on open work orders
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
e1d37ede87
commit
e981e89e6c
1 changed files with 2 additions and 4 deletions
6
game.py
6
game.py
|
|
@ -3917,7 +3917,6 @@ def take_summary(player: dict, summary: dict) -> dict:
|
||||||
# can make it, the poster too, several at once. One posted for a building goes into
|
# can make it, the poster too, several at once. One posted for a building goes into
|
||||||
# its fund (or fits it) while it still needs it, the rest to the stockpile.
|
# its fund (or fits it) while it still needs it, the rest to the stockpile.
|
||||||
|
|
||||||
ORDER_LIMIT = 5 # open orders per player
|
|
||||||
ORDER_DAYS = 3 # before an order expires and is refunded
|
ORDER_DAYS = 3 # before an order expires and is refunded
|
||||||
INPUT_SHARE = 0.5 # of each piece's reward, split by value among whoever's reagents went in
|
INPUT_SHARE = 0.5 # of each piece's reward, split by value among whoever's reagents went in
|
||||||
|
|
||||||
|
|
@ -3964,8 +3963,6 @@ def post_order(world: dict, player: dict, kind: str, item: str, qty, provide, re
|
||||||
return "Bad amount"
|
return "Bad amount"
|
||||||
if not isinstance(reward, int) or reward < 0:
|
if not isinstance(reward, int) or reward < 0:
|
||||||
return "Bad reward"
|
return "Bad reward"
|
||||||
if sum(o["by"] == player["id"] and o["status"] == "open" for o in world["orders"]) >= ORDER_LIMIT:
|
|
||||||
return f"At most {ORDER_LIMIT} open orders"
|
|
||||||
action = ACTION_BY_ID[source]
|
action = ACTION_BY_ID[source]
|
||||||
total = reward if kind == "craft" else reward * qty # a materials request pays per item
|
total = reward if kind == "craft" else reward * qty # a materials request pays per item
|
||||||
if player["gold"] < total:
|
if player["gold"] < total:
|
||||||
|
|
@ -6752,6 +6749,7 @@ PATCH_NOTES = [
|
||||||
{"date": "2026-10-28", "title": "Queue", "notes": [
|
{"date": "2026-10-28", "title": "Queue", "notes": [
|
||||||
("new", "City work orders: 🏘️ City when posting, or 🔨 on anything a building needs (goes straight into its fund). Anyone can craft them, several at once. Reagents earn their worth in favour, the maker the rest."),
|
("new", "City work orders: 🏘️ City when posting, or 🔨 on anything a building needs (goes straight into its fund). Anyone can craft them, several at once. Reagents earn their worth in favour, the maker the rest."),
|
||||||
("new", "Work orders: no size cap (was 500 crafted / 2,000 materials)."),
|
("new", "Work orders: no size cap (was 500 crafted / 2,000 materials)."),
|
||||||
|
("new", "Work orders: no cap on open orders (was 5)."),
|
||||||
("new", "Added a personal ledger to character sheet"),
|
("new", "Added a personal ledger to character sheet"),
|
||||||
("new", "Work orders no longer erase your crafting queue"),
|
("new", "Work orders no longer erase your crafting queue"),
|
||||||
("new", "Items link to where they're made: click to jump to the recipe."),
|
("new", "Items link to where they're made: click to jump to the recipe."),
|
||||||
|
|
@ -6900,7 +6898,7 @@ def content() -> dict:
|
||||||
"city_uses": {item: city_uses(item) for item in ITEMS},
|
"city_uses": {item: city_uses(item) for item in ITEMS},
|
||||||
"prayers": [{**prayer, "text": describe_prayer(prayer)} for prayer in PRAYERS], "max_prayers": MAX_PRAYERS,
|
"prayers": [{**prayer, "text": describe_prayer(prayer)} for prayer in PRAYERS], "max_prayers": MAX_PRAYERS,
|
||||||
"potion_charges": POTION_CHARGES, "kit_defence": KIT_DEFENCE, "salve_cap": SALVE_CAP, "order_recipes": ORDER_RECIPES, "order_raw": ORDER_RAW,
|
"potion_charges": POTION_CHARGES, "kit_defence": KIT_DEFENCE, "salve_cap": SALVE_CAP, "order_recipes": ORDER_RECIPES, "order_raw": ORDER_RAW,
|
||||||
"order_limit": ORDER_LIMIT, "make_max": MAKE_MAX, "input_share": INPUT_SHARE, "problems": PROBLEMS, "fittings": list(FITTING_BY_ID.values()),
|
"make_max": MAKE_MAX, "input_share": INPUT_SHARE, "problems": PROBLEMS, "fittings": list(FITTING_BY_ID.values()),
|
||||||
"equip_slots": EQUIP_SLOTS, "class_speed": CLASS_SPEED, "rest_rate": REST_RATE, "bite": BITE, "eat_below": EAT_BELOW, "eat_choices": EAT_CHOICES,
|
"equip_slots": EQUIP_SLOTS, "class_speed": CLASS_SPEED, "rest_rate": REST_RATE, "bite": BITE, "eat_below": EAT_BELOW, "eat_choices": EAT_CHOICES,
|
||||||
"abilities": combat.ABILITIES, "enemy_abilities": combat.ENEMY_ABILITIES, "unlock": combat.UNLOCK, "auto_cd": combat.AUTO_CD, "watch": combat.WATCH, "gcd": combat.GCD,
|
"abilities": combat.ABILITIES, "enemy_abilities": combat.ENEMY_ABILITIES, "unlock": combat.UNLOCK, "auto_cd": combat.AUTO_CD, "watch": combat.WATCH, "gcd": combat.GCD,
|
||||||
"weapon_kits": combat.WEAPON_KITS, "group_size": GROUP_SIZE, "dungeon_size": DUNGEON_SIZE, "dungeon_wipes": DUNGEON_WIPES, "trade_ability": combat.TRADE_ABILITY, "potion_below": combat.POTION_BELOW,
|
"weapon_kits": combat.WEAPON_KITS, "group_size": GROUP_SIZE, "dungeon_size": DUNGEON_SIZE, "dungeon_wipes": DUNGEON_WIPES, "trade_ability": combat.TRADE_ABILITY, "potion_below": combat.POTION_BELOW,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue