Files
OpenFUT-Core/data/chemistry_styles.json
funman300 19c7b9989d
CI / Build, lint & test (push) Failing after 1m37s
Phase 10: card upgrade system (chemistry styles, position change, training)
- GET /chemistry-styles — lists 18 FUT-style chemistry styles with stat boost breakdowns
- POST /collection/:id/chemistry-style — apply a style (Shadow, Hunter, Anchor, etc.)
- POST /collection/:id/position — override a player's position for 500 coins
- POST /collection/:id/training — add +1/+2/+3 OVR training bonus (max +3 total)
- GET /collection now includes chemistry_style, position_override, training_bonus,
  effective_overall and effective_position fields per owned card
- Migration 0007 adds three columns to owned_cards with safe defaults
- 10 new integration tests — all 55 pass, clippy clean

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 17:02:44 -07:00

111 lines
4.1 KiB
JSON

[
{
"id": "basic",
"name": "Basic",
"description": "Small boosts across all attributes",
"boosts": { "pace": 3, "shooting": 3, "passing": 3, "dribbling": 3, "defending": 3, "physical": 3 }
},
{
"id": "shadow",
"name": "Shadow",
"description": "Maximises pace and defending — ideal for full-backs",
"boosts": { "pace": 10, "shooting": 0, "passing": 0, "dribbling": 0, "defending": 10, "physical": 0 }
},
{
"id": "anchor",
"name": "Anchor",
"description": "Boosts defending and physicality — built for centre-backs",
"boosts": { "pace": 0, "shooting": 0, "passing": 0, "dribbling": 0, "defending": 10, "physical": 10 }
},
{
"id": "hunter",
"name": "Hunter",
"description": "Pace and shooting — the striker's best friend",
"boosts": { "pace": 10, "shooting": 10, "passing": 0, "dribbling": 0, "defending": 0, "physical": 0 }
},
{
"id": "catalyst",
"name": "Catalyst",
"description": "Pace and passing for box-to-box and wide midfielders",
"boosts": { "pace": 10, "shooting": 0, "passing": 10, "dribbling": 0, "defending": 0, "physical": 0 }
},
{
"id": "engine",
"name": "Engine",
"description": "Pace, passing and dribbling for creative midfielders",
"boosts": { "pace": 10, "shooting": 0, "passing": 5, "dribbling": 5, "defending": 0, "physical": 0 }
},
{
"id": "hawk",
"name": "Hawk",
"description": "Balanced pace, shooting and physicality",
"boosts": { "pace": 5, "shooting": 5, "passing": 0, "dribbling": 0, "defending": 0, "physical": 5 }
},
{
"id": "marksman",
"name": "Marksman",
"description": "Shooting, dribbling and physicality for physical strikers",
"boosts": { "pace": 0, "shooting": 10, "passing": 0, "dribbling": 5, "defending": 0, "physical": 5 }
},
{
"id": "deadeye",
"name": "Deadeye",
"description": "Shooting and passing — classic number 10 style",
"boosts": { "pace": 0, "shooting": 10, "passing": 10, "dribbling": 0, "defending": 0, "physical": 0 }
},
{
"id": "artist",
"name": "Artist",
"description": "Passing and dribbling for technical playmakers",
"boosts": { "pace": 0, "shooting": 0, "passing": 5, "dribbling": 10, "defending": 0, "physical": 0 }
},
{
"id": "sniper",
"name": "Sniper",
"description": "Shooting and dribbling for agile forwards",
"boosts": { "pace": 0, "shooting": 5, "passing": 0, "dribbling": 5, "defending": 0, "physical": 0 }
},
{
"id": "finisher",
"name": "Finisher",
"description": "Shooting and dribbling — precision over power",
"boosts": { "pace": 0, "shooting": 8, "passing": 0, "dribbling": 7, "defending": 0, "physical": 0 }
},
{
"id": "guardian",
"name": "Guardian",
"description": "Dribbling and defending for defensive midfielders",
"boosts": { "pace": 0, "shooting": 0, "passing": 0, "dribbling": 5, "defending": 10, "physical": 0 }
},
{
"id": "backbone",
"name": "Backbone",
"description": "Passing, defending and physicality for the defensive shield",
"boosts": { "pace": 0, "shooting": 0, "passing": 5, "dribbling": 0, "defending": 5, "physical": 5 }
},
{
"id": "sentinel",
"name": "Sentinel",
"description": "Defending and physicality for no-nonsense defenders",
"boosts": { "pace": 0, "shooting": 0, "passing": 0, "dribbling": 0, "defending": 5, "physical": 5 }
},
{
"id": "powerhouse",
"name": "Powerhouse",
"description": "Passing and defending for dominant central midfielders",
"boosts": { "pace": 0, "shooting": 0, "passing": 10, "dribbling": 0, "defending": 10, "physical": 0 }
},
{
"id": "maestro",
"name": "Maestro",
"description": "Shooting, passing and dribbling — the complete midfielder",
"boosts": { "pace": 0, "shooting": 5, "passing": 5, "dribbling": 5, "defending": 0, "physical": 0 }
},
{
"id": "gladiator",
"name": "Gladiator",
"description": "Shooting and defending for all-action midfielders",
"boosts": { "pace": 0, "shooting": 5, "passing": 0, "dribbling": 0, "defending": 5, "physical": 0 }
}
]