6ef4c40e29
Two-repo monorepo for an offline FUT backend inspired by SPT. openfut-core: game-independent REST API backend (Axum, SQLite, SQLx) - 19 API endpoints: auth, profiles, clubs, cards, packs, squads, objectives, SBCs, match rewards, NPC market, statistics - JSON-driven card/pack/objective/SBC data (fully moddable) - SQLx migrations, weighted pack generator, SBC validation engine - 5 integration tests passing openfut-bridge: FIFA 23 traffic proxy + reverse-engineering scaffold - Catch-all HTTP proxy with request capture to captures/ - Known-route mapper (FUT paths → Core API calls) - Placeholder responses for unknown endpoints - Admin endpoints: captures, unknown endpoint list - 4 unit tests passing cargo fmt ✓ cargo clippy -D warnings ✓ cargo test ✓ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
1.3 KiB
JSON
51 lines
1.3 KiB
JSON
[
|
|
{
|
|
"id": "sbc_bronze_upgrade",
|
|
"name": "Bronze Upgrade",
|
|
"description": "Submit 11 bronze players for a silver pack.",
|
|
"requirements": {
|
|
"squad_size": 11,
|
|
"min_overall": null,
|
|
"max_overall": 64,
|
|
"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": 200,
|
|
"pack_id": "silver_pack"
|
|
},
|
|
"expires_at": null,
|
|
"repeatable": true
|
|
},
|
|
{
|
|
"id": "sbc_hybrid_nations",
|
|
"name": "Hybrid Nations",
|
|
"description": "Build a squad of 11 players with at least one Brazilian and one Argentinian.",
|
|
"requirements": {
|
|
"squad_size": 11,
|
|
"min_overall": 70,
|
|
"max_overall": null,
|
|
"min_chemistry": null,
|
|
"required_leagues": [],
|
|
"required_nations": ["Brazil", "Argentina"],
|
|
"required_clubs": [],
|
|
"min_players_from_same_league": null,
|
|
"min_players_from_same_nation": null,
|
|
"min_players_from_same_club": null
|
|
},
|
|
"reward": {
|
|
"coins": 2000,
|
|
"xp": 400,
|
|
"pack_id": "gold_pack"
|
|
},
|
|
"expires_at": null,
|
|
"repeatable": false
|
|
}
|
|
]
|