diff --git a/fifa17-recon/tools/utas_server.py b/fifa17-recon/tools/utas_server.py index 8c5e0a7..80bd2aa 100755 --- a/fifa17-recon/tools/utas_server.py +++ b/fifa17-recon/tools/utas_server.py @@ -1801,6 +1801,24 @@ def club_route(h): items = [i for i in items if i.get(field) == want] log(" CLUB: %s=%d -> %d item(s)" % (param, want, len(items))) + # CLUB ITEMS. Observed live 2026-08-05, and the names are SINGULAR: the client + # asks type=stadium, type=ball and type=equippables (count=11 for the last, + # count=200 for the other two). Those were served from STORE.items(), which holds + # no club items because the shelf is synthetic, so they correctly came back empty. + # equippables is the combined view behind the club-customisation screen. + if CLUBITEMS and kind in ("stadium", "ball", "badge", "kit", "leaguelogos", + "equippables"): + import fut_clubitems + sh = fut_clubitems.shelf() + fam = {"stadium": "stadia", "ball": "balls", "badge": "badges", + "kit": "kits", "leaguelogos": "leaguelogos"}.get(kind) + if fam: + got = sh.get(fam, []) + else: + got = [i for fam_items in sh.values() for i in fam_items] + log(" CLUBITEMS: type=%s -> %d item(s)" % (kind, len(got))) + return 200, {"itemData": got} + if kind and kind not in ("player", "custom"): # cardsubtypeid 0..3 is a player (FUN_1800d8330); everything else is # staff or a manager. The save holds no non-player items (the families