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 example loans: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.

FieldTypeRequiredDefaultNotes
ididYesNamespaced id, e.g. "core.player.rory-calder"
nationslist, up to 120 items[]
defaulttrue or falsefalse
lateFeewhole number, 0 to 100,000YesAdded to a debt for each missed payment
missedToDefaultwhole number, 1 to 24YesPayments missed in a row before the bank acts
missPenaltyRatenumber, 0 to 50YesAdded to the rate of a new loan for each recent miss (per cent a year)
missMemoryMonthswhole number, 0 to 240YesHow long a miss counts against you
earlyRepaymentFeenumber, 0 to 1YesThe fee on an amount repaid early, as a share of it
debtShareMaxnumber, 0 to 1YesAll monthly debt payments together may not pass this share of monthly earnings
garnishSharenumber, 0 to 1YesAfter a default on an unsecured loan the bank takes this share of prize and sponsor money
barMonthswhole number, 0 to 240YesNo new loan for this long after a default
repossessionDiscountnumber, 0 to 1YesA home the bank sells goes for this much under its value
tourCardIncomewhole number, 0 to 100,000,000YesA Tour Card holder's earnings count as at least this a year
rankBandslist, up to 12 items[]
rankBands[].rankMaxwhole number, 1 to 100,000Yes
rankBands[].ratenumber, -100 to 100Yes
productslist, 1 to 20 itemsYes
products[].idtext, up to 40 charactersYesPattern: ^[a-z0-9][a-z0-9-]*$
products[].nametext, up to 60 charactersYes
products[].purposeone of the optionsYesOptions: any, move, deposit.
products[].minwhole number, 0 to 1,000,000,000Yes
products[].maxwhole number, 0 to 1,000,000,000Yes
products[].incomeMultiplenumber, 0 to 20YesThe most it lends, as a share of a year's earnings
products[].ratenumber, 0 to 100YesPer cent a year, before the ranking band and past misses
products[].termslist, 1 to 12 itemsYesTerms 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.

Written for Darts Player Simulator 0.50.32. Built from the game's own schemas and its base pack.