Skip to content

Crime and Law

See Player/README.md for the verification-debt caveat.


1. The most important thing on this page

The warrant and arrest mechanisms are real, tested, and fully built. Nobody can currently use them. There is no command to type — /warrant and /arrest don't exist yet, because nothing in the game can resolve "the connected character named X" into an actual character without an unwanted side effect (see 01_CHAT_AND_COMMANDS.md §3). On top of that, no policy decides who's allowed to police whom — even once a command exists, issuing a warrant or making an arrest currently always succeeds mechanically, because no "is this person actually a cop" gate has been plugged in yet (17_CRIME_FRAMEWORK.md §1). This mirrors the original game's own architecture deliberately: remove the policy plugin, the mechanism still exists, nobody's authorised to use it.

2. What arrest actually does, once it's reachable

An arrest sets a release time — a fixed point in time, not a countdown that resets if you reconnect, fixing a real bug from the original where reconnecting during a sentence restarted the whole thing. It consumes any active warrant on the target, and it permanently destroys any weapon in their inventory — the original never stored confiscated weapons for return, and this keeps that behavior rather than inventing a locker system that didn't exist (17_CRIME_FRAMEWORK.md §3).

Not built yet: any actual restraint — no slowdown, no ammo stripping, no jail teleport, no automatic release when your sentence ends. All of these need a working-directions/position system this codebase doesn't have. An "arrested" character today is a data flag, not something you'd feel in-game.

Also not built: knocking someone out, tying them up, bleeding, lockpicking, and contraband — each needs a system (physics, a Health service, a lockable door, a dedicated world entity) that doesn't exist yet (17_CRIME_FRAMEWORK.md §5).

3. The laws noticeboard

This one's simple, and deliberately so. There are ten law slots, free text, editable by whoever holds the law.edit permission (originally the Mayor specifically; here it's whichever permission an operator chooses to grant), with a 120-second cooldown between edits. Read them with /laws; edit one with /setlaw <index> <text> — see 01_CHAT_AND_COMMANDS.md.

Nothing in the game reads the laws to enforce anything. This is intentional, not a gap:

"The laws are not enforced by code at all. Nothing reads them. They exist so that police can point at them and players can argue about them. This is the purest expression of the design philosophy in the codebase: the framework provides a noticeboard, and the players provide the legal system." — 18_LAW_FRAMEWORK.md §1

If you want a law to actually mean something mechanically, that has to be built as its own permission check or event handler elsewhere — the noticeboard itself will never gate anything.