funman300
8fa125cfd6
Phase 7 (Core): chemistry v2, expanded card pool & search filters
...
CI / Build, lint & test (push) Failing after 1m46s
- Chemistry v2: FUT-style link scoring with per-player breakdown
(club +3/link cap 6, league +1/link cap 4, nation +1/link cap 3;
player cap 10, team cap 100); chemistry response now includes
per-player breakdown with club/league/nation link counts and pts
- Card pool: 34 new cards across Premier League, La Liga, Bundesliga
with overlapping clubs/nations for meaningful chemistry testing
- Card search: extended GET /cards with nation, league, club,
min_overall, max_overall, limit query params; results sorted by
overall descending
- Match opponent: added "ultimate" difficulty band (85+ OVR);
random formation selection from 6 tactical formations; falls back
to lower OVR pool when not enough cards at the requested band
- Tests: 9 new integration tests (28 total, all passing)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-25 16:31:56 -07:00
funman300
4ae1081aa9
feat: Phase 3 — polish & settings complete
...
Card pool:
- TOTW cards (5): overall 88-92, rarity "totw"
- Hero cards (5): overall 85-88, rarity "hero"
- Icon cards (5): overall 93-95, rarity "icon" (permanent, non-loan)
Packs:
- TOTW Pack (30,000 coins): 5 TOTW cards guaranteed
- Icon Pack (50,000 coins): 3 icon cards guaranteed
- Hero Pack (20,000 coins): 5 hero cards guaranteed
Objectives:
- Milestone objectives (6): win 10/50, score 100/500 goals, 10 SBCs, 25 packs
Formations:
- GET /formations returns 12 valid formation strings
Multiple named squads (#20 ):
- POST /squad with no squad_id always creates a new squad
- POST /squad with squad_id updates that specific squad
- GET /squads: list all squads for the club (metadata only)
- GET /squads/🆔 squad with players + chemistry
- DELETE /squads/🆔 remove a squad
Per-position goal stats (#41 ):
- Migration 0003: position_goals table
- POST /matches/result accepts optional goal_positions: ["ST","CAM",...]
- GET /statistics now includes position_goals map
Settings (#44-46):
- GET /settings: { difficulty, preferred_formation } with defaults
- PUT /settings: upsert any key-value combination
Draft mode skeleton (#38 ):
- GET /draft/squad?difficulty=... returns a randomly generated 11-player squad
Integration tests:
- 9 new tests covering: formations, pack buy/open, SBC submit, settings R/W,
multiple squads, draft endpoint, goal position tracking, win streak
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-25 15:46:20 -07:00
funman300
34bce2ce75
feat: Phase 1 — core game loop complete
...
New endpoints:
- GET /cards/:card_id single card lookup
- POST /packs/buy purchase pack with coins
- POST /objectives/claim claim completed objective reward
- GET /matches match history (limit/mode query params)
- GET /sbc/:sbc_id single SBC lookup
Card pool expanded:
- Bronze: 11 → 30 cards (19 nations)
- Silver: 0 → 20 cards (20 nations)
- Rare Gold: 0 → 10 cards (10 nations)
SBC pool expanded:
- Added 5 new SBCs (tri_nations, silver_to_gold, league_loyalty,
african_stars, gold_standard)
Infrastructure:
- SQLite WAL mode enabled on pool init
- Foreign key enforcement enabled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-25 15:25:30 -07:00
funman300
1ffe0ffa9f
Initial commit: OpenFUT Core
...
Offline Ultimate Team backend — game-independent REST API.
- 19 API endpoints: auth, profiles, clubs, cards, packs, squads,
objectives, SBCs, match rewards, NPC market, statistics
- Axum + SQLite + SQLx with full migrations
- Weighted pack generator, SBC validation engine
- JSON-driven mod data (cards, packs, objectives, SBCs)
- 5 integration tests passing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-25 14:54:51 -07:00