Guide
Nations
A nation’s own flag picture is not drawn in this version of the game: flags come from the game’s built-in set, and a nation it has no flag for shows its code on a plain tile. The field is accepted, so a pack that sets it keeps working when flags from packs are drawn.
Every player, venue and Nations Cup team belongs to a nation: a country with a 3-letter code (ENG, NED, JPN). Nations are content: a mod can add a country, with its own name, flag and players, or change one of the game's (a bigger sponsor market, a different home region, another name).
Nations live in data/nations.json (or any file in data/nations/). Each file is a JSON array. The editor schema is the nations reference, and the Mod Studio edits them under Career rules → Nations (with a preview of the flag as the game shows it). Patches target nation:<id>; the core nations are core.nation.<code in lowercase>, e.g. core.nation.ned.
[
{
"id": "acme.nation.fro",
"code": "FRO",
"name": "Faroe Islands",
"demonym": "Faroese",
"flag": "assets/flags/fro.svg",
"market": 0.95,
"faces": { "northwest-europe": 96, "eastern-europe": 4 },
"avatar": "nordic",
"area": "nordic",
"continent": "europe",
"timeZone": 0
}
]| Field | Meaning |
|---|---|
id | Namespaced id, starting with your mod's id |
code | The 3-letter code players (nationality), venues (country) and events (restrict.nations, teams.host) use |
name | The country's name, as the screens, the Nations Cup and the news show it. Translatable (see Translating) |
demonym | Optional. The people's adjective ("Faroese"): the welcome letter ("with the rest of the Faroese hopefuls"), the feed's home crowd ("the Faroese crowd") and the new-career summary ("Faroese, lives in Denmark"). Without one those sentences keep their plain wording ("the home crowd") |
inSentence | Optional. The name as it reads inside a sentence when that differs from name: "the Netherlands", "the United States" ("You live in the Netherlands now"). Leave it out for a plain name |
flag | Optional. An image of the flag in your mod, e.g. assets/flags/fro.svg (see Flags) |
market | Optional. Sponsors pay this much for a player from here: 1.2 is 20% more, 0.9 is 10% less. Default 0.9 |
region | Optional. Home region: nations in the same region count as home to each other (see Regions and circuits) |
circuit | Optional. Exhibition circuit (see Regions and circuits) |
faces | Optional. How often each face-library region is picked for this nation's players, as relative weights. Default: England's mix |
avatar | Optional. The illustrated avatars' palette: england, celtic, nordic, central, south, newworld, eastasia or seasia. Default: an even mix |
area | Optional. Where the country is, for the travel load and the fares alike: an area is a short hop to the other countries in it |
continent | Optional. Travel load continent: a flight, but no long haul |
timeZone | Optional. Hours ahead of UTC, for jet lag (−12 to 14) |
regions | Optional. The parts of a big country: [{ "id": "central", "name": "Central Belt", "near": ["north-east"] }, ...]. The first is where a new career lives (a career can choose another). A venue in the country names its part with region. Inside the country a fare and the workload go by how far apart the player's part and the venue's are: the same part is near whatever the venue, a part listed near (either side may list the other) is the country fare, any other the far step. A part marked "remote": true ( the core's Alaska) is the remote step from every other part, either way, and counts as a flight across the continent for the workload. A part may give its centre as [latitude, longitude]: when both parts of a trip give one, the travel bands decide the step by the distance between them, and near is not used. The core gives centres to every part of the United States, Canada, Australia, New Zealand, Japan, Sweden and Germany. A country without regions, or a venue without one, keeps the rule by the kind of venue. The core gives Scotland four: Central Belt, North East, Highlands, South of Scotland |
popularity | Optional. How much the country cares about darts when a career starts, 0-100. It moves every season (see A living world). Default: the tuning's nations.popularity.default (20) |
depth | Optional. The playing depth the country starts with, 0-100; it follows the popularity with a lag and scales the players the game makes for the country. Default: the popularity |
floor | Optional. The lowest the popularity and depth can fall to. England stays a darts country. Default: the tuning's nations.floor.default (10) |
cities | Optional. Towns a generated event is named after and held in ("{city} Open"). Without them the game uses the country's venues' and exhibition places' towns, and the country's name as a last resort |
A living world#
. Every nation's popularity moves at the end of each season with its players' results: the players it has in the world's top 64, 32 and 8, televised finals reached, ranked titles and majors won, the World Cup, and the human's own results (nations.human.weight times, in full for their own country and nations.human.residenceShare of that for the country they live in). The score moves the popularity against the nation's own norm, the slow average of its scores (nations.popularity.gain, normLag), by at most risePerSeason up and fallPerSeason down a season, never below the floor. A nation's first season on record moves against the norm its authored popularity implies (nations.popularity.norm.perPoint × (popularity − norm.from) ^ norm.power, nought at or under norm.from), and that norm then closes on the played score by firstSeasonLag once, so the authored guess soon yields to results. On a fall the news names what dropped against the season before (top-64 players, televised finals, titles, the World Cup run); on a rise, the biggest term. The depth follows the popularity (nations.depth.lag). The popularity falls in a band at the tuning's nations.popularity.bands thresholds (texts nations.band.0 to .4: Pub game, Grassroots, Established, Strong, Darts nation).
What reads them: the youth intake and the players the game makes draw a nation's name pool more often when it is popular (nations.youth.weightMin, weightMax); a made player's level is shifted by the depth (nations.depth.levelPerPoint a point around nations.depth.mid: 0.06, so a nation at depth 100 makes its players 2.4 levels better and one at 20 makes them 2.4 worse; halved from 0.12 on 3 Nov 2026, because the larger lift let England's made players crowd the top 32 season after season) and their level and potential capped at nations.depth.potentialBase + potentialPerPoint × depth, so a small scene's best made player never outrates a deep scene's named professionals; sponsors pay market scaled by the popularity (nations.market.perPoint around nations.market.mid); and a nation whose band allows it gets events of its own.
Event patterns (data/events/patterns.json, type eventPatterns): a pattern says which scene rung its events join (level: local opens go on the scene's local rung, circuit stops on its ranking rung), the names, shortNames and venueNames with {city}, {region} and {nation} slots, the format every event shares (fieldSize, rounds, days, months, weeks, tags, tourCard, residents, minAge, ranked, tv) and per band (bands, the lowest band first) how many a nation holds (cap) and their prizes, crowd, entryFee, maxLevel and the hall's capacity. The events are ordinary event templates with stable ids (gen.event.<code>.<level>.<n>, a hall gen.venue.<code>.<level>.<n>) made a season ahead and written into the career, so results and history attach to them like any event's. A nation's events are kept while its band allows them; one past the cap fades for nations.events.graceSeasons seasons and is then cancelled (its record stays, discontinued). Only a nation whose scene the career holds (its own, or its copy of the fallback once the human lives there) holds events. The news tells of the season's band moves in one summary and at most nations.news.perSeason notable stories (the human's own country first, then where they live, then their home region); the World page's Nations tab shows every country's band, interest, trend, depth, top-64 players and events.
The moving figures live in the career's own copy of the nations records, so a career started before them reads the installed pack's popularity, depth and floor for each code until its next season's end.
The game's nations#
The core pack's data/nations.json holds 65 nations, from England to Malta. They reproduce what the game always did:
- Markets: England 1.2, the Netherlands 1.15, Germany 1.1, Scotland and Wales 1.05, Belgium, Australia and Ireland 1; every other nation 0.9.
- Regions: England, Scotland, Wales and Northern Ireland are the region
uk. Circuits: the UK and Ireland are the circuithomeIsles. - Faces and avatars: each nation's mix, from the big darting nations to Japan and the Philippines.
- Travel: the areas, continents and time zones in the travel load defaults.
Adding a nation#
A new nation needs an id, a code and a name. Everything else has a sensible default: a plain market (0.9), England's face mix, an even avatar palette, and the flag drawn from the code (see below).
Players only come from a nation that has somewhere to come from:
- Generated players: add a name pool#content-files) (
data/names/*.json) with"nationality": "FRO". Itsweightsets how many of the world's players it supplies. - Women's surnames: where a language gives a woman another form of the family name (Kowalski and Kowalska, Novák and Nováková, Bērziņš and Bērziņa), give the pool a
lastFemalelist besidelast, the same length, each entry the female form of thelastentry in the same place. Generated women, and a woman from the New Career screen's Surprise me, take it; men, and pools without it, uselast. The draw is the same either way, so adding the list changes no one's name but the women's. - Named players: give a player record
"nationality": "FRO". - Your player: the New Career screen lists every nation with a name pool.
A nation's players make it a Nations Cup nation: the team event's field is every nation with enough active players (see Nations Cup)). Its team shows the nation's name and flag, in the draw, the lobby, the match and the news.
Changing a nation#
Patch a core nation to change what you need; the rest stays:
[
{ "target": "nation:core.nation.ned", "patch": { "market": 1.25 } },
{ "target": "nation:core.nation.irl", "patch": { "region": "uk" } },
{ "target": "nation:core.nation.eng", "patch": { "circuit": null } }
]null removes a field (England would no longer share a circuit with anyone).
A second record for the same code (in a later mod, or later in load order) also works: its fields win, field by field, over the earlier record's. A patch is clearer; a second record suits a mod that wants to restate a nation whole.
Flags#
flag is a path to an image in your mod (PNG, JPEG, WebP, GIF, AVIF or SVG; 8 MB at most). Flags are shown as small tiles with a 3:2 shape, so a 3:2 image (e.g. 300 × 200, or an SVG with viewBox="0 0 30 20") fills them exactly; other shapes are cropped to fit. SVG stays sharp at every size, and a simple one is quick to draw by hand:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 20">
<rect width="30" height="20" fill="#ffffff" />
<rect x="8" width="5" height="20" fill="#005eb8" />
<rect y="7.5" width="30" height="5" fill="#005eb8" />
<rect x="9.25" width="2.5" height="20" fill="#ef303e" />
<rect y="8.75" width="30" height="2.5" fill="#ef303e" />
</svg>Without a flag, the game draws its own flag for the code if it has one (every core nation has one), and otherwise a plain tile with the code. An image that's missing or fails to load falls back the same way. A flag can also point into another mod (dtj-asset://other.mod/assets/flag.png); see Images for the rules every image follows.
Regions and circuits#
Two groupings decide who is "at home":
- **
region**: players are at home at a venue in their own nation or in another nation of their region. At home the crowd is on their side, and they're likelier to turn up for an open event. The core'sukregion is England, Scotland, Wales and Northern Ireland. - **
circuit**: exhibition bookers favour local pros from the same circuit, and without an agent only clubs on your circuit ring you. The core'shomeIslescircuit is the UK and Ireland.
A nation without a region or circuit is only at home in itself. Group names are one word (uk, homeIsles, benelux); any name works, as long as the nations sharing it use the same one.
Travel#
area, continent and timeZone place the nation for travel load: a trip within an area is a short hop, within a continent a flight, and beyond it a long haul with jet lag by the time difference. The load settings' own areas, continents and timeZones (data/load.json, the core's included) win over a nation's, so a nation's values matter for countries the load settings don't list, which is every new one.
Translating#
A nation's name translates like any content text, with a patch in locale/<lang>/patches/ (see Localisation):
[{ "target": "nation:acme.nation.fro", "patch": { "name": "Färöer" } }]Checks#
codemust be three capital letters;region,circuit,areaandcontinentone word.- A name pool, player or venue using a code no nation has: a warning (it shows as the code, with a plain flag and the default market). Add the nation.
faceswhose weights are all 0: a warning (the default mix is used).- A name pool whose
lastFemaleis not the same length as itslast: a warning (a woman whose place is past the end oflastFemaletakes thelastform). - A
flagthat isn't an image in the mod, is missing, is too big or is an SVG that does more than draw: a warning, and the flag is dropped (the drawn flag shows), like any image.
Saves#
A career keeps its nations in the save and picks up the installed packs' nations (and the chosen language's names) when it's loaded; saves from before nations were content play by the game's own, which the core pack holds. Text the career has already written (news, the inbox) keeps the names it was written with.
The example-nations mod adds the Faroe Islands (with a hand-drawn SVG flag, a name pool and a German name), raises the Dutch sponsor market and makes the economy a little kinder.