Phase 18: data expansion and market pricing fix
CI / Build, lint & test (push) Failing after 1m15s

Four new card files (Serie A, Ligue 1, Primeira Liga, Eredivisie) add 45
cards across Italian, French, Portuguese, and Dutch football, bringing the
total card pool from 115 to 160. Each file uses fictional club/player
names and null image_path, keeping the project free of copyrighted assets.

Ten new SBC challenges (league_sbcs.json) targeting specific leagues and
nations increase the total from 7 to 17 challenges. Includes league purity
SBCs (Premier League, Bundesliga, Serie A, Ligue 1, Eredivisie), nation
combo SBCs (Iberian Derby, South American Fire), and utility SBCs (elite
strikers mini-submission, bronze-to-silver recycler, world tour).

NPC market refresh now shuffles the card pool before picking 24 listings
(was: take first 20 unshuffled), and price variance tightened from ±100%
to ±25% of the OVR-tier base price for more realistic NPC competition.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-06-25 17:49:38 -07:00
parent d97695d414
commit 9e481ec072
7 changed files with 268 additions and 7 deletions
+202
View File
@@ -0,0 +1,202 @@
[
{
"id": "sbc_serie_a_rising",
"name": "Serie A Rising Stars",
"description": "Build a squad using 7 or more Serie A players (average overall 74+).",
"requirements": {
"squad_size": 11,
"min_overall": 74,
"max_overall": null,
"min_chemistry": null,
"required_leagues": ["Serie A"],
"required_nations": [],
"required_clubs": [],
"min_players_from_same_league": 7,
"min_players_from_same_nation": null,
"min_players_from_same_club": null
},
"reward": { "coins": 2000, "xp": 250, "pack_id": "gold_pack" },
"expires_at": null,
"repeatable": false
},
{
"id": "sbc_ligue1_galacticos",
"name": "Ligue 1 Galacticos",
"description": "Field a Ligue 1 XI with at least one player rated 84 or higher.",
"requirements": {
"squad_size": 11,
"min_overall": 72,
"max_overall": null,
"min_chemistry": null,
"required_leagues": ["Ligue 1"],
"required_nations": [],
"required_clubs": [],
"min_players_from_same_league": 11,
"min_players_from_same_nation": null,
"min_players_from_same_club": null
},
"reward": { "coins": 3500, "xp": 400, "pack_id": "rare_gold_pack" },
"expires_at": null,
"repeatable": false
},
{
"id": "sbc_iberian_derby",
"name": "Iberian Derby",
"description": "An all-Iberian battle — include at least 3 Spanish and 3 Portuguese players.",
"requirements": {
"squad_size": 11,
"min_overall": 70,
"max_overall": null,
"min_chemistry": null,
"required_leagues": [],
"required_nations": ["Spain", "Portugal"],
"required_clubs": [],
"min_players_from_same_league": null,
"min_players_from_same_nation": 3,
"min_players_from_same_club": null
},
"reward": { "coins": 2500, "xp": 300, "pack_id": "silver_pack" },
"expires_at": null,
"repeatable": false
},
{
"id": "sbc_dutch_masters",
"name": "Dutch Masters",
"description": "8 or more Eredivisie players in one squad (average overall 70+).",
"requirements": {
"squad_size": 11,
"min_overall": 70,
"max_overall": null,
"min_chemistry": null,
"required_leagues": ["Eredivisie"],
"required_nations": [],
"required_clubs": [],
"min_players_from_same_league": 8,
"min_players_from_same_nation": null,
"min_players_from_same_club": null
},
"reward": { "coins": 2000, "xp": 250, "pack_id": "gold_pack" },
"expires_at": null,
"repeatable": false
},
{
"id": "sbc_elite_strikers",
"name": "Elite Strikers",
"description": "Submit any 3 players rated 82+ — the club receives a bonus pack.",
"requirements": {
"squad_size": 3,
"min_overall": 82,
"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": 1000, "xp": 200, "pack_id": "rare_gold_pack" },
"expires_at": null,
"repeatable": true
},
{
"id": "sbc_world_tour",
"name": "World Tour",
"description": "11 players from at least 8 different nations — celebrate global football.",
"requirements": {
"squad_size": 11,
"min_overall": 65,
"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": 1500, "xp": 200, "pack_id": "silver_pack" },
"expires_at": null,
"repeatable": true
},
{
"id": "sbc_bundesliga_clash",
"name": "Bundesliga Clash",
"description": "7+ Bundesliga players (average overall 72+) for a gold pack reward.",
"requirements": {
"squad_size": 11,
"min_overall": 72,
"max_overall": null,
"min_chemistry": null,
"required_leagues": ["Bundesliga"],
"required_nations": [],
"required_clubs": [],
"min_players_from_same_league": 7,
"min_players_from_same_nation": null,
"min_players_from_same_club": null
},
"reward": { "coins": 2000, "xp": 250, "pack_id": "gold_pack" },
"expires_at": null,
"repeatable": false
},
{
"id": "sbc_premier_power",
"name": "Premier Power",
"description": "7+ Premier League players (average overall 75+) for a rare gold pack.",
"requirements": {
"squad_size": 11,
"min_overall": 75,
"max_overall": null,
"min_chemistry": null,
"required_leagues": ["Premier League"],
"required_nations": [],
"required_clubs": [],
"min_players_from_same_league": 7,
"min_players_from_same_nation": null,
"min_players_from_same_club": null
},
"reward": { "coins": 3000, "xp": 350, "pack_id": "rare_gold_pack" },
"expires_at": null,
"repeatable": false
},
{
"id": "sbc_south_american_fire",
"name": "South American Fire",
"description": "At least 4 Brazilian and 4 Argentinian players in a squad.",
"requirements": {
"squad_size": 11,
"min_overall": 65,
"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": 4,
"min_players_from_same_club": null
},
"reward": { "coins": 3000, "xp": 400, "pack_id": "silver_pack" },
"expires_at": null,
"repeatable": false
},
{
"id": "sbc_bronze_to_silver",
"name": "Bronze to Silver",
"description": "Submit 7 bronze players (overall 5564) to get a silver pack.",
"requirements": {
"squad_size": 7,
"min_overall": 55,
"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": 150, "pack_id": "silver_pack" },
"expires_at": null,
"repeatable": true
}
]