Kartik Scripts

Renting & Leases

Properties can be rented instead of bought. Leases are billed on the recurring billing cycle, with deposits, keys, condition decay, and automatic eviction for missed rent.


Taking a lease (tenant)

  1. Find a For Rent property (blip / door prompt / F7 → Listings).
  2. Open it and choose Lease.
  3. Pay the upfront total, typically the deposit + the first cycle's rent. Default deposit = rent × Config.DepositCycles (2).
  4. You become the tenant: you can enter, lock, decorate (per permissions), and use the property's features.

Your active leases show under F7 → My Leases / Portfolio. My Leases is mode-agnostic: it works the same in Classic and Block mode.

Rent & billing

  • Rent is charged every Config.BillingCycleSeconds (1 week) by the billing sweep.
  • Missing rent for Config.EvictionAfter (3) cycles triggers automatic eviction.
  • On eviction every stash on the property is sealed into impound (one row each; a fee applies to the first), and stash IDs are versioned so old containers can't be reopened.

See Utilities & Billing for the full billing model and property condition decay.

Rent splitting (optional co-resident billing)

Tenant/Housing rent can be optionally shared among the co-residents (citizens holding keys to the property):

  • Configuration: The primary tenant or a manager/landlord can set up the split on the tablet under the Rent Split section. It allows adding any keyholder currently registered on the property/housing roster.
  • Split Types: Shares can be defined as a Percentage (%) or a Fixed Amount ($). The sum of all participant shares cannot exceed the total rent.
  • Direct Billing: At each billing cycle, the system debits each participant's share directly from their bank account.
  • Tenant Responsibility (Shortfall Cover): The primary tenant covers the remainder (their base share) plus any participant's shortfall (if the participant has insufficient bank funds).
  • Landlord Deficit: If neither the participant nor the tenant has the funds to cover a participant's share, the landlord simply receives less revenue for that cycle. This does not trigger an eviction, as long as the primary tenant successfully pays their own base share.
  • Automatic Cleanup: Rent split entries are automatically cleared when the lease is terminated, or when a keyholder is removed from the property keys registry.

Managing tenants (landlord / agency)

Owners and permitted company/job staff manage leases from the tablet:

  • List for rent / set rent: LIST_RENT, SET_PRICE.
  • Manage / end a lease: MANAGE_LEASE.
  • Evict: EVICT.
  • Collect rent: COLLECT_RENT.

Company staff use the Company hub; realtor-job staff use the Job Hub.

Keys

Access is normally derived automatically (owner, tenant, company manager). You can also grant explicit keys:

  • Digital keys: issued to a citizen with an optional expiry (Config.KeyExpiryOptions: permanent, 1 h, 1 day, 1 week).
  • Physical key items: enable Config.PhysicalKeys to hand out a property_key inventory item instead. With requireDatabaseAccess = true the item only works if the holder also has database access to the property. → Items

Lockpicking a locked door

An intruder with a lockpick item can attempt entry:

  • Radial → Property → Lockpick (or approach a locked door).
  • A skill check must pass; failure consumes the lockpick and there's a Config.LockpickCooldown (300 s) before the next try.
  • A reinforced door needs several successful picks inside a time window before it gives.
  • Picking raises the property's alarm signal, a local ring or a police dispatch, depending on the alarm tier.

On this page