Reference

Housing markets

Content type
housing
Files
data/housing.json, data/housing/
Shape
A list of records, each with its own id
Patch target
housing:<id>, for example housing:core.housing.hun
In the base game
30 records
Guide
Housing

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
startertext, up to 40 charactersYesPattern: ^[a-z0-9][a-z0-9-]*$
termslist, 1 to 8 itemsYes
terms[].monthswhole number, 1 to 60Yes
terms[].rentFactornumber, 0.1 to 5YesThe home's rent times this for an agreement of this length
depositMonthsnumber, 0 to 12YesThe deposit, in months of rent
noticeDayswhole number, 0 to 180YesHow long before an agreement ends you are asked what next
breakFeeMonthsnumber, 0 to 24YesLeaving early costs this many months' rent, or the months left if fewer
rollingFactornumber, 0.1 to 5YesThe rent times this once an agreement has run out and rolls on month by month
evictAfterMissedwhole number, 1 to 24YesMonths of rent missed in a row before the agreement is ended
rentTimingone of the optionsYesarrears: a month is paid for after it is lived (the first payment is the month after you move in, and leaving pays the month you are in). advance: the month you move in is paid at once Options: arrears, advance.
livingCostsBasenumber, 1 to 100,000YesThe weekly living cost (career rules, economy.livingCosts) these rents and bills were written for: a pack that changes livingCosts changes them in step
buyCostsnumber, 0 to 1YesFees on a purchase, as a share of the price
sellCostsnumber, 0 to 1YesFees on a sale, as a share of the value
letFactornumber, 0 to 2YesA home you rent out brings its rent times this a month
emptyBillsFactornumber, 0 to 2YesA home you own that stands empty costs its bills times this
priceGrowthnumber, -0.5 to 0.5YesHouse prices change by this a year on average (0.03 = +3%)
priceSwingnumber, 0 to 0.5YesHow far a year can differ from the average, either way
mortgageobject
mortgage.minDepositnumber, 0 to 1YesThe least you put down, as a share of the price
mortgage.ratenumber, 0 to 100YesPer cent a year
mortgage.termslist, 1 to 8 itemsYesTerms on offer, in years
mortgage.incomeMultiplenumber, 0 to 20YesThe most it lends, as a multiple of a year's earnings
arrivalCostsobject
arrivalCosts.countrynumber, 0 to 10,000,0000A move inside the country
arrivalCosts.regionnumber, 0 to 10,000,0000A move from a neighbouring country of the same region
arrivalCosts.abroadnumber, 0 to 10,000,0000A move from further away
homeslist, 1 to 40 itemsYes
homes[].idtext, up to 40 charactersYesPattern: ^[a-z0-9][a-z0-9-]*$
homes[].nametext, up to 60 charactersYes
homes[].descriptiontext, up to 240 characters
homes[].sizewhole number, 1 to 9Yes
homes[].rentwhole number, 0 to 1,000,000A month; left out: not for rent
homes[].pricewhole number, 0 to 1,000,000,000Left out: not for sale
homes[].billswhole number, 0 to 1,000,000An owner's running costs a month
homes[].ownerEffectslist, up to 8 items[]
homes[].ownerEffects[].hookone of the optionsYesOptions: training, practice, coachCall, confidenceFloor, moraleFloor, recovery, fatigueRecovery, injuryRecovery, injuryChance, followers, image, mediaSoften, travelCost, travelFatigue, weeklyCosts, revealFit, scouting, sponsorOffers, offerVolume, offerValue, negotiation, commission, burnout, travelLoad, kitCare.
homes[].ownerEffects[].valuenumber, -100 to 100YesStrength, as a staff effect at skill 20
homes[].ownerEffects[].areaone of the optionstraining only: which area (all darts areas when omitted). Options: scoring, doubles, bull, fitness, mental.

Example#

A record from the base game’s data/housing.json, shortened.

{
  "id": "core.housing.hun",
  "nations": [
    "HUN"
  ],
  "starter": "house-share",
  "terms": [
    {
      "months": 6,
      "rentFactor": 1.06
    },
    {
      "months": 12,
      "rentFactor": 1
    }
  ],
  "depositMonths": 1,
  "noticeDays": 28,
  "breakFeeMonths": 2,
  "rollingFactor": 1.1,
  "evictAfterMissed": 2,
  "rentTiming": "arrears",
  "livingCostsBase": 120,
  "buyCosts": 0.025,
  "sellCosts": 0.025,
  "letFactor": 0.85,
  "emptyBillsFactor": 0.6,
  "priceGrowth": 0.035,
  "priceSwing": 0.05,
  "mortgage": {
    "minDeposit": 0.1,
    "rate": 7.0,
    "terms": [
      15,
      20
    ],
    "incomeMultiple": 4
  },
  "arrivalCosts": {
    "country": 350,
    "region": 1600,
    "abroad": 6000
  },
  "homes": [
    {
      "id": "house-share",
      "name": "A room in a shared flat",
      "description": "A room in a courtyard block, a shared kitchen and a board in the stairwell.",
      "size": 1,
      "rent": 300
    },
    {
      "id": "apartment",
      "name": "A one-bedroom flat in the inner district",
      "description": "Your own front door, a balcony and a wall that will take a board.",
      "size": 2,
      "rent": 460,
      "price": 86500,
      "bills": 115
    },
    {
      "id": "terrace",
      "name": "A family house on the edge of town",
      "description": "Two bedrooms and a summer kitchen you can turn over to the darts.",
      "size": 3,
      "rent": 620,
      "price": 124500,
      "bills": 155,
      "ownerEffects": [
        {
          "hook": "practice",
          "value": 0.03
        }
      ]
    },
    /* … 1 more */
  ]
}

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.