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>
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
[
|
||||
{
|
||||
"id": "sbc_tri_nations",
|
||||
"name": "Tri-Nations",
|
||||
"description": "Field 11 players featuring at least one Brazilian, one Argentinian, and one Nigerian.",
|
||||
"requirements": {
|
||||
"squad_size": 11,
|
||||
"min_overall": 60,
|
||||
"max_overall": null,
|
||||
"min_chemistry": null,
|
||||
"required_leagues": [],
|
||||
"required_nations": ["Brazil", "Argentina", "Nigeria"],
|
||||
"required_clubs": [],
|
||||
"min_players_from_same_league": null,
|
||||
"min_players_from_same_nation": null,
|
||||
"min_players_from_same_club": null
|
||||
},
|
||||
"reward": { "coins": 2500, "xp": 300, "pack_id": "silver_pack" },
|
||||
"expires_at": null,
|
||||
"repeatable": false
|
||||
},
|
||||
{
|
||||
"id": "sbc_silver_to_gold",
|
||||
"name": "Silver to Gold",
|
||||
"description": "Submit 11 silver-quality players (average overall 68+) for a gold pack.",
|
||||
"requirements": {
|
||||
"squad_size": 11,
|
||||
"min_overall": 68,
|
||||
"max_overall": 74,
|
||||
"min_chemistry": null,
|
||||
"required_leagues": [],
|
||||
"required_nations": [],
|
||||
"required_clubs": [],
|
||||
"min_players_from_same_league": null,
|
||||
"min_players_from_same_nation": null,
|
||||
"min_players_from_same_club": null
|
||||
},
|
||||
"reward": { "coins": 0, "xp": 350, "pack_id": "gold_pack" },
|
||||
"expires_at": null,
|
||||
"repeatable": true
|
||||
},
|
||||
{
|
||||
"id": "sbc_league_loyalty",
|
||||
"name": "League Loyalty",
|
||||
"description": "Build a squad where at least 8 players share the same league.",
|
||||
"requirements": {
|
||||
"squad_size": 11,
|
||||
"min_overall": 62,
|
||||
"max_overall": null,
|
||||
"min_chemistry": null,
|
||||
"required_leagues": [],
|
||||
"required_nations": [],
|
||||
"required_clubs": [],
|
||||
"min_players_from_same_league": 8,
|
||||
"min_players_from_same_nation": null,
|
||||
"min_players_from_same_club": null
|
||||
},
|
||||
"reward": { "coins": 1500, "xp": 200, "pack_id": null },
|
||||
"expires_at": null,
|
||||
"repeatable": true
|
||||
},
|
||||
{
|
||||
"id": "sbc_african_stars",
|
||||
"name": "African Stars",
|
||||
"description": "Celebrate African football — need at least one player from Ghana and one from Senegal.",
|
||||
"requirements": {
|
||||
"squad_size": 11,
|
||||
"min_overall": 60,
|
||||
"max_overall": null,
|
||||
"min_chemistry": null,
|
||||
"required_leagues": [],
|
||||
"required_nations": ["Ghana", "Senegal"],
|
||||
"required_clubs": [],
|
||||
"min_players_from_same_league": null,
|
||||
"min_players_from_same_nation": null,
|
||||
"min_players_from_same_club": null
|
||||
},
|
||||
"reward": { "coins": 1000, "xp": 150, "pack_id": "bronze_pack" },
|
||||
"expires_at": null,
|
||||
"repeatable": false
|
||||
},
|
||||
{
|
||||
"id": "sbc_gold_standard",
|
||||
"name": "Gold Standard",
|
||||
"description": "Submit 11 high-quality players with an average overall of 76+.",
|
||||
"requirements": {
|
||||
"squad_size": 11,
|
||||
"min_overall": 76,
|
||||
"max_overall": null,
|
||||
"min_chemistry": null,
|
||||
"required_leagues": [],
|
||||
"required_nations": [],
|
||||
"required_clubs": [],
|
||||
"min_players_from_same_league": null,
|
||||
"min_players_from_same_nation": null,
|
||||
"min_players_from_same_club": null
|
||||
},
|
||||
"reward": { "coins": 3000, "xp": 500, "pack_id": "rare_gold_pack" },
|
||||
"expires_at": null,
|
||||
"repeatable": false
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user