Reference
Staff settings
Staff tuning: how far each team effect can go, what your standing is and who it attracts, and how big a team you can run. Every field is optional; records apply in load order, later fields winning (per hook for hookCaps). The roles themselves are staffRoles. See Staff roles.
- Content type
staffSettings- Files
data/staff/settings.json- Shape
- One settings object (a file may hold the object itself)
- Patch target
staffSettings:<id>, for examplestaffSettings:core.staff-settings- In the base game
- 1 record
- Guide
- Staff roles
Fields#
Indented fields belong to the field above them. [] marks the items of a list. A field that is not required may be left out; the default is used.
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
id | id | Yes | Namespaced id, e.g. "core.player.rory-calder" | |
coachRole | id | Namespaced id, e.g. "core.player.rory-calder" | ||
hookCaps | map (key: value) | The most the whole team can add on each hook (either sign), e.g. { "training": 0.8 }. | ||
standing | object | How known you are, 0–100: points for your tier, followers and Order of Merit rank. | ||
standing.tiers | list | Points for tiers 1 to 5 (default 72, 55, 38, 20, 5). | ||
standing.followers | number, 0 to 20 | Points per tenfold followers (default 4)… | ||
standing.followersMax | number, 0 to 100 | …up to this many (default 20). | ||
standing.rank | list, up to 8 items | Points inside a ranking: the first band your rank is inside applies (default top 16: 8, top 64: 4). | ||
standing.rank[].top | whole number, 1 to 2000 | Yes | ||
standing.rank[].points | number, 0 to 100 | Yes | ||
qualityStanding | list | Standing a 1- to 5-star candidate wants before they'll talk (default 0, 12, 30, 48, 64). | ||
capacity | object | How many people your team can hold: base + standing / standingPer + income slots, within [min, max]. | ||
capacity.base | whole number, 0 to 50 | |||
capacity.standingPer | number, 1 to 100 | |||
capacity.income | list, up to 8 items | Extra slots from a year's income: the highest band reached applies (default 50,000: 1, 250,000: 2). | ||
capacity.income[].from | number, at least 0 | Yes | ||
capacity.income[].slots | whole number, 0 to 20 | Yes | ||
capacity.min | whole number, 0 to 50 | |||
capacity.max | whole number, 0 to 50 | |||
agents | object | Agents with no agency: their share of the market, and their retainer as a share of the role's wage (default 0.3 and 0.5). | ||
agents.independentShare | number, 0 to 1 | |||
agents.independentRetainer | number, 0 to 1 | |||
noticeWeeks | whole number, 0 to 52 | Weeks' wages a release costs at least (default 4). |
Example#
A record from the base game’s data/staff/settings.json, shortened.
{
"id": "core.staff-settings",
"coachRole": "core.staff.coach",
"hookCaps": {
"training": 0.8,
"practice": 0.3,
"coachCall": 40,
"confidenceFloor": 35,
"moraleFloor": 35,
"recovery": 3,
"fatigueRecovery": 0.06,
"injuryRecovery": 0.5,
"injuryChance": 0.5,
"followers": 0.5,
"image": 1.5,
"mediaSoften": 0.6,
"travelCost": 0.45,
"travelFatigue": 0.08,
/* … 11 more fields */
},
"standing": {
"tiers": [
72,
55,
/* … 3 more */
],
"followers": 4,
"followersMax": 20,
"rank": [
{
"top": 16,
"points": 8
},
{
"top": 64,
"points": 4
}
]
},
"qualityStanding": [
0,
12,
30,
/* … 2 more */
],
"capacity": {
"base": 2,
"standingPer": 15,
"income": [
{
"from": 50000,
"slots": 1
},
{
"from": 250000,
"slots": 2
}
],
"min": 2,
"max": 12
},
"agents": {
"independentShare": 0.3,
"independentRetainer": 0.5
},
"noticeWeeks": 4
}