# Plain-English laws and permadeath: how DimeTown's rules bite

> How DimeTown's plain-English charter, witnesses, wanted stars and permanent death work, where player-made laws stand today, and why a roleplay city needs them.

By [Jonah Ease](https://dimetown.com/about/) · Published 4 Oct 2026 · Last checked 4 Oct 2026 · https://dimetown.com/guides/player-laws-and-permadeath/

DimeTown's laws are written as plain sentences, not as rules in code. Whenever a player bribes, steals or attacks, Jev (TypeSafe's judgement model) is asked, for each law, whether the action broke it and how serious it was. Witnesses then decide whether anyone reports it. A reported crime becomes wanted stars, and cops come looking. Death is permanent: at zero health you're down for 20 seconds, and if nobody helps you up, that character is gone. One honest caveat for anyone searching for a game with player-made laws: as of 4 Oct 2026, players can't propose laws in DimeTown yet. The charter is the five laws the city started with. Because laws are just text, that can change; the last section covers what it needs.

## Where the idea comes from

DimeTown is inspired by roleplay servers for [SA-MP](https://www.sa-mp.mp/), the free multiplayer mod for the PC version of Grand Theft Auto: San Andreas, and by [Stick RPG](https://www.xgenstudios.com/), XGen Studios' 2003 Flash game about making a life in a small city. It isn't affiliated with either, or with Rockstar. From roleplay servers it takes the idea that what you do should stick; from Stick RPG, a city of stats, jobs and choices.

## The charter is text

Type `/laws`, or open City Charter in the action menu, and you get the city's founding laws:

1. Taking money or property from another person without their consent is theft.
2. Offering money or favours to a police officer to influence their duties is bribery.
3. Physically attacking another person is assault, unless it is clearly in self-defence.
4. Gambling is only allowed inside the licensed Lucky Seven Casino.
5. Threatening to hurt someone to get what you want is extortion.

They sit in the city's database as rows of text (`server/world.ts`). The "unless it is clearly in self-defence" clause shows why that matters. A rules table would need self-defence coded; here Jev reads the clause against what happened: who swung first, what was said, how the other person reacted.

## How a law is enforced

The bribe, steal and attack actions ask the law questions (`server/verbs.ts`). For each of those, the resolve request to Jev carries the whole charter and adds two kinds of question:

- One per law: "Would the action, done by the actor to the target, break this law?" Code treats anything above 0.6 as broken.
- One severity score: a petty offence, a real crime, or a serious, violent or corrupt crime.

Next come the witnesses: up to five people within eight tiles. For each one, Jev judges whether they could plausibly have noticed, given how far away they are and what they're doing. For each local, it also judges what someone with their personality would do about it: call the police, confront you, get away fast, or mind their own business. Locals who noticed remember that they "saw [you] commit theft" and like you a step less.

A crime counts as reported if a cop saw it, if a witness chose to call it in, or if the victim noticed and is a local. Then code adds stars: the severity (0 to 2) plus 1 if a cop saw it, and always at least 1. Five stars is the most you can have. An unreported crime still leaves a trace. It's logged as "got away with theft", and for the next 15 minutes Jev sees it in your recent offences whenever a cop tickets you or tries to arrest you.

**An example of why the wording matters** (an illustration, not a logged event): law 2 names police officers. Slip Sgt. Boone $20 to forget your face and the bribery question is easy. Slip the same $20 to Mr. Park at the 24/7, and whether that's "bribery" depends on Jev reading a law that's about the police. Change the wording and the city changes, with no code involved.

Not every offence goes through the charter. Some are fixed in code and add a star when the right people see them: hotwiring or carjacking a car, escaping an arrest, refusing or running from a ticket, street racing, kicking a vending machine, looting during a fire, and trespassing in the bank or the Vance Estate. A heist gone wrong is worse: 3 stars if you're caught at the scene, 2 if you're identified afterwards.

## Cops, stars and jail

- **Stars cool off**, one every two and a half minutes without a new offence.
- **Locals police the streets.** A police officer the game controls spots a wanted player within 13 tiles and gives chase for up to 45 seconds, or until they're 22 tiles behind. Wanted drivers get a police cruiser that tries to box them in.
- **Players can be cops.** A player cop can try to arrest anyone. If the target isn't wanted, Jev asks whether the officer has reasonable grounds, from the target's recent offences and what the officer said, and without them the roll takes −2. A wanted target gives +1. Tickets fine $15 at the lowest severity, up to $60 for a serious crime, before the roll, and the money goes to the city. A ticket for no real offence gets torn up in the officer's face.
- **Arrest means jail.** That's 60 seconds in the cell (90 on a crit), with your stars cleared, and the arresting officer collects $15 a star. Running and getting away adds a star. From the cell you can talk to the guard or bribe him: a full success opens the door, and a partial one halves the time left.
- **Heat can be bought down.** Bribing a cop to look away removes one to three stars, depending on the roll. Persuading one to let it slide removes one or two. Rico's paint bay clears a driver's stars for $40 plus $15 a star.

## How permadeath works

Characters have 100 health. It goes down in fights (a successful hit does 34, a crit 55), when a car hits you at speed, in scuffles with a mark who catches you, and from the city's small hazards. At zero you're **downed** for 20 seconds, and everyone nearby sees "[name] is DOWN! Someone /help them within 20 seconds…".

Any player can try to help you up (locals don't). It's a roll on Muscle, always in a controlled position, with a bonus for good first aid described in words. A success gets you back on your feet with 30 health, a crit with 60, a partial with 10, and a fail leaves you out cold. If the 20 seconds run out, the character "bled out in the street" (`server/world.ts`):

- The save is marked dead, with the cause, and a grave is recorded.
- The whole city sees "☠ [name] has died permanently (bled out in the street)", and for a few seconds a tombstone stands where they fell.
- After 3.5 seconds the player is sent to make a new character. The old one can't be loaded again: "Permadeath is real."

**What dies with the character:** the name, cash, bank balance, pockets, trained stats, wanted stars, phone texts and mentor progress. So do the locals' relationships with you, because their memories are tied to that character. Your next character starts as a stranger.

**What survives:** the city. Locals keep their memories of the dead character. The Grove Gazette, which builds its stories from the last 45 minutes of real events, can run "R.I.P. [NAME]". Mutes and bans are tied to the device as well as the character, so dying doesn't wipe a ban.

Locals don't die for good: one who bleeds out goes to hospital and is back in 90 seconds.

## Why build it this way

Dice without consequences are a slot machine. If a failed bribe costs nothing and a fatal fight costs a respawn, nothing you type matters.

Plain-English laws let the judgement follow the story rather than a list of buttons. A pickpocket in a dark alley is a different crime from the same lift in front of Sgt. Boone, and the witnesses, not a global flag, decide whether anyone finds out. Permadeath makes "help up" a choice someone makes in front of you, and gives a character's history weight, because it can end.

The harsh parts have counterweights. There's a 20-second window to be saved. Social moves between players are consent, with no dice. A standoff shows your odds, and a clean sprint escapes a chase.

## What player-made laws will need

The design doc's next step for laws is a Mayor role who proposes and edits them. None of that is built. Two things in the code already shape it:

- Every word players put in front of each other goes through the game's screening first (`world.hooks.screen` in `server/safety.ts`). It checks for hate, sexual content, threats against the real person, anything sexualising minors, and real-world contact details, and a proposed law would be no exception. Today's testing-only `/charter add` command, which is switched off on the live server, skips that.
- A law only bites when an action asks about laws, which today means bribe, steal and attack. A law about busking or parking would sit in the charter and never be checked.

Illustrative examples of laws that would work today (not real laws in the game):

- "Taking anything from a tourist is a serious crime."
- "Offering money to anyone to make them ignore a crime is bribery."

## Play

Want to see a charter enforced? [Play DimeTown](https://dimetown.com/play/), free in your browser, or read [how DimeTown works](https://dimetown.com/guides/how-dimetown-works/) first.

## Sources

- [SA-MP](https://www.sa-mp.mp/), checked 4 Oct 2026
- [XGen Studios on Wikipedia](https://en.wikipedia.org/wiki/XGen_Studios), checked 4 Oct 2026
