THE SEASON, phases 1-4: the front door is the fixture, and the club remembers
The tournament is the canonical path, so the game finally says so. The splash's primary button names the next cup fixture and enters the draw; the poster wall moved one tap down and deals three named rooms (the season, the training, out of competition) with the cup at the top. Two profile fields remember every attempt — rounds ever reached per league, and the body that put you out — so a lost cup is a line on the board instead of a null event, and the training court offers that body first, marked. The promotion names what waits in the new league. Overlays consolidated in the same pass: three modal drawers became one box with a masthead, hairline-separated rows and a real footer button (any tap still dismisses), and the run-end summary wears the same box — headline, xp, mark, and the fixture with ENTER THE DRAW beside PLAY AGAIN. The cup's own exit is a ceremony now: OUT IN THE QUARTER-FINAL, your best standing beside it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
063b01d2a5
commit
5c7521f867
10 files changed
+603
-204
No files matched your search
@@ -74,12 +74,26 @@ def clean_profile(payload):
|
||||
return None
|
||||
p = payload['p']
|
||||
word = lambda k, n=12: re.sub(r'[^a-z0-9_]', '', str(p.get(k, '')))[:n]
|
||||
# THE CUP RECORD (THE SEASON): league -> rounds ever reached. Re-derived key by key like every
|
||||
# other field — five small ints, nothing else survives the trip.
|
||||
cups = {}
|
||||
raw = p.get('cups')
|
||||
if isinstance(raw, dict):
|
||||
for lg in range(1, 6):
|
||||
try:
|
||||
v = int(raw.get(str(lg), raw.get(lg, 0)))
|
||||
except (TypeError, ValueError):
|
||||
v = 0
|
||||
if v > 0:
|
||||
cups[str(lg)] = min(9, v)
|
||||
try:
|
||||
out = {'v': 1,
|
||||
'xp': max(0, min(int(p.get('xp', 0)), 1_000_000_000)),
|
||||
'lg': max(1, min(int(p.get('lg', 1)), 5)),
|
||||
'ch': 1 if p.get('ch') else 0,
|
||||
'setup': 1 if p.get('setup') else 0,
|
||||
'cups': cups,
|
||||
'out': max(0, min(int(p.get('out', 0)), 99)),
|
||||
'n': re.sub(r'[^A-Z0-9 ._-]', '', str(p.get('n', '')).upper()).strip()[:NAME_MAX],
|
||||
'tour': word('tour'), 'kit': word('kit'), 'skin': word('skin')}
|
||||
except (TypeError, ValueError):
|
||||
|
||||
Reference in new issue
Block a user