Security Subsystem
Security Subsystem
A layered property security system: tiered alarms, reinforced doors, motion sensors, and a circuit/breaker hazard. Managers buy and configure protection from the tablet; intruders face escalating obstacles.
All security config is in Config.Security
(shared/properties.lua).
Three control levers
Every security feature obeys three server-side levers:
- CAP: how much is allowed, via fit-out caps (
alarmTierMax,doorReinforceMax,motionSensors,cameras). Cascades block → global → Classic. - ALLOW: per-block toggles
allow_security { alarm, reinforce, motion }(set in the block editor;nil= all allowed). - FORCE: an admin override:
'granted'forces monitored on,'disarmed'kills alarms/sensors.
Managers configure security from the Security tab on the tablet property page.
Alarms (tiered)
Replaces any old furniture-derived binary alarm. Buy a tier from the Security tab:
| Tier | Label | Price | Dispatches police? |
|---|---|---|---|
| 1 | Local Alarm | $1,500 | No |
| 2 | Monitored Alarm | $5,000 | Yes |
| 3 | Reinforced Suite | $12,000 | Yes |
- A break-in signal (lockpick / raid / motion) raises the alarm. The tier decides the audience: a local ring vs a police dispatch.
- Tier ≥
Config.Security.MonitoredTier(2) auto-subscribes the recurringsecurityservice so monitoring bills through the normal utilities loop.
Reinforced doors
Buy reinforcement charges (Config.Security.Reinforce.pricePerCharge =
$2,500) from the Security tab, up to the doorReinforceMax cap.
- Vs lockpick: a reinforced door needs
1 + charges × picksPerChargesuccessful picks landed withinbreachWindow(45 s) before the lock gives. The per-player pick cooldown is bypassed during an active breach so the burst isn't throttled. - Vs police raid: a reinforced door hands the officer a breaching action
(
raidBreachTime, 12 s progress bar). Completing it re-validates the raid, opens the door, and consumes the reinforcement (owner re-buys). Police are never hard-walled.
Motion sensors
Place invisible motion sensors in the world: radial → Property → Motion
Sensors. Capped by motionSensors, gated by the motion allow flag.
- While armed (an intruder without access is inside), moving faster than
Config.Security.Motion.velocitywithin a sensor'sradius(6 m) triggers a detection (past a cooldown). - A detection always alerts stakeholders and drops a timed map blip; a monitored alarm additionally pings dispatch.
- Status (count / max) shows in the Security tab; sensors are placed in-world, not from the panel.
Circuit / power hazard
A property with any security fitted (alarm, motion, or camera) exposes a breaker at the entrance.
- An intruder can radial → Property → Tamper Breaker (
TamperTime6 s) to cut power forCutDuration(240 s). While cut, alarm, motion and cameras are all suppressed, and the interior goes dark. - Each tamper risks electrocution (
ShockChance0.35,ShockDamage20). - Cutting power steals nothing and only softly warns the owner (no dispatch) it's griefing-safe. A manager restores it on the spot (radial → Restore Power), or it auto-restores.
Config.Security.Circuit = {
Enabled = true, CutDuration = 240, TamperTime = 6000,
ShockChance = 0.35, ShockDamage = 20, AlertOnCut = true, Allow = 'circuit',
}Power draw
Security devices consume electricity each cycle
(Config.Electricity.DeviceDraw: camera 8, motion 4, alarm 6 per tier). Set to 0
to disable. See Utilities & Billing.
Safes
A safe is a furniture piece with an optional hashed keypad PIN, covered on its own page: Safe & PIN Access.