Shop-Topbar: Level/XP/Odds links, Lock rechts; Shine nur bei eigenem Champion

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
team3
2026-07-23 05:58:07 +02:00
parent 50c3f2857e
commit 885bf28fd4
4 changed files with 50 additions and 26 deletions

View File

@@ -55,8 +55,9 @@ def test_invalid_action_is_400(client):
def test_state_shape(client):
state = client.post("/api/game", params={"seed": 5}).json()
for key in ("round", "player", "board", "bench", "shop", "traits",
"opponents", "items", "over", "log"):
"opponents", "items", "over", "log", "shop_odds", "shop_locked"):
assert key in state
assert sum(state["shop_odds"]) == 100
assert state["player"]["score"] == 0.0
assert all(o["board"] is not None for o in state["opponents"])

View File

@@ -173,6 +173,7 @@ def serialize(game: Game) -> dict:
for api in game.shop
],
"shop_locked": game.shop_locked,
"shop_odds": game.cfg["shop"]["odds"][game.level - 1],
"traits": traits_panel,
"augment_offer": [
{"api_name": a, "name": static["augments"].get(a, {}).get("name", a),