Reference
Loan lists
- Content type
loans- Files
data/loans.json,data/loans/- Shape
- A list of records, each with its own
id - Patch target
loans:<id>, for exampleloans:core.loans.uk- In the base game
- 27 records
- Guide
- Banks and loans
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" | |
nations | list, up to 120 items | [] | ||
default | true or false | false | ||
lateFee | whole number, 0 to 100,000 | Yes | Added to a debt for each missed payment | |
missedToDefault | whole number, 1 to 24 | Yes | Payments missed in a row before the bank acts | |
missPenaltyRate | number, 0 to 50 | Yes | Added to the rate of a new loan for each recent miss (per cent a year) | |
missMemoryMonths | whole number, 0 to 240 | Yes | How long a miss counts against you | |
earlyRepaymentFee | number, 0 to 1 | Yes | The fee on an amount repaid early, as a share of it | |
debtShareMax | number, 0 to 1 | Yes | All monthly debt payments together may not pass this share of monthly earnings | |
garnishShare | number, 0 to 1 | Yes | After a default on an unsecured loan the bank takes this share of prize and sponsor money | |
barMonths | whole number, 0 to 240 | Yes | No new loan for this long after a default | |
repossessionDiscount | number, 0 to 1 | Yes | A home the bank sells goes for this much under its value | |
tourCardIncome | whole number, 0 to 100,000,000 | Yes | A Tour Card holder's earnings count as at least this a year | |
rankBands | list, up to 12 items | [] | ||
rankBands[].rankMax | whole number, 1 to 100,000 | Yes | ||
rankBands[].rate | number, -100 to 100 | Yes | ||
products | list, 1 to 20 items | Yes | ||
products[].id | text, up to 40 characters | Yes | Pattern: ^[a-z0-9][a-z0-9-]*$ | |
products[].name | text, up to 60 characters | Yes | ||
products[].purpose | one of the options | Yes | Options: any, move, deposit. | |
products[].min | whole number, 0 to 1,000,000,000 | Yes | ||
products[].max | whole number, 0 to 1,000,000,000 | Yes | ||
products[].incomeMultiple | number, 0 to 20 | Yes | The most it lends, as a share of a year's earnings | |
products[].rate | number, 0 to 100 | Yes | Per cent a year, before the ranking band and past misses | |
products[].terms | list, 1 to 12 items | Yes | Terms on offer, in months |
Example#
A record from the base game’s data/loans.json, shortened.
{
"id": "core.loans.uk",
"nations": [
"ENG",
"SCO",
"WAL",
/* … 1 more */
],
"default": true,
"lateFee": 40,
"missedToDefault": 3,
"missPenaltyRate": 1.5,
"missMemoryMonths": 24,
"earlyRepaymentFee": 0.01,
"debtShareMax": 0.4,
"garnishShare": 0.5,
"barMonths": 24,
"repossessionDiscount": 0.15,
"tourCardIncome": 30000,
"rankBands": [
{
"rankMax": 16,
"rate": -2.5
},
{
"rankMax": 64,
"rate": -1
},
{
"rankMax": 128,
"rate": 0
}
],
"products": [
{
"id": "personal",
"name": "Personal loan",
"purpose": "any",
"min": 500,
"max": 25000,
"incomeMultiple": 0.5,
"rate": 9.9,
"terms": [
12,
24,
/* … 2 more */
]
},
{
"id": "relocation",
"name": "Relocation loan",
"purpose": "move",
"min": 1000,
"max": 20000,
"incomeMultiple": 0.6,
"rate": 7.9,
"terms": [
24,
36,
/* … 1 more */
]
},
{
"id": "deposit",
"name": "Deposit loan",
"purpose": "deposit",
"min": 2000,
"max": 40000,
"incomeMultiple": 0.8,
"rate": 8.9,
"terms": [
36,
60
]
}
]
}In your pack the record’s id starts with your pack’s id instead of core, unless you mean to replace this one.