Justice, Law Enforcement & Bounties
5.1 Worker flee
On first hostile action against a worker (damage or hostile intent):
worker.state = FLEE
worker.move_speed = flee_speed_base × flee_panic_multiplier # very high
worker.flee_target = lodging | nearest_guard_post | employer_residence
- Job paused; resumes after reaching safe point + calm timer if attacker gone.
- Workers have HP — can die if caught (
evilon killer). - In civilized zones, crime event also dispatches guards (
§6).
5.2 Neutral NPCs
Shopkeepers, quest givers, labor brokers: same flee optional; many are indoors or non-combat with guard escalation only.
6.1 Crime event
CrimeEvent {
criminal_entity_id,
victim_entity_id,
crime_kind: AttackNeutral | KillNeutral | AttackWorker | KillWorker |...,
position,
zone_security_tier,
timestamp,
}
6.2 Response
- Find guards within
response_radiusof crime (emplacements + town patrol pool). - Guards path toward criminal at high speed.
- On range + LoS: engage combat (
12) — guards are strong, co-op. - On first guard aggro against criminal → add/update wanted record (
§7).
Guards do not follow criminals into wild unless border chase rules (optional, short leash).
6.3 Wanted in town
When a wanted player enters civilized tier with active warrant:
- Patrol guards path toward player when in extended radius.
- LoS + within engage range → attack (same as PvP, guards as faction).
- Player can flee town; warrant persists on regional boards (
§7.1).
6.4 Guard lethality vs evil
Criminal evil |
Guard behavior |
|---|---|
| Low / moderate | Attack until unconscious → capture → jail |
| Very high | Lethal engagement — guards more aggressive, may kill |
Threshold configurable per ruleset (guard_lethal_evil_threshold).
7.1 Wanted record (central ledger)
wanted_entry:
character_id:...
display_name:...
crimes: [kill_worker, assault_guard]
evil_at_posting: 340
bounty: { silver: 50 }
posted_at:...
origin_region_id: northhold
spread_regions: [northhold, millbrook] # grows to nearby towns over time
expires_at:... # entries timeout — not forever
status: active | captured | expired
Wanted boards are fixtures in towns. Listings are regional first (origin_region_id), spread to adjacent towns over configurable time, and expire after wanted_ttl unless renewed by new crimes.
the terminal client: flatland wanted list, flatland wanted accept <id>.
7.2 Player bounty hunters
| Action | Result |
|---|---|
AcceptBounty(wanted_id) |
Hunter flagged as authorized; GPS hint optional (region only, not exact) |
| Kill wanted (valid combat) | Hunter claims bounty to bank; wanted cleared; evil unchanged for hunter |
Capture wanted (§8) |
Deliver to jail → full bounty + bonus; wanted cleared on booking |
Bounty reward: equal split among valid bounty party members on turn-in.
Invalid kill (wrong target, accomplice) — no payout; may increase hunter evil.
7.3 Funding
Bounty pool from: town tax (10), employer restitution on worker kill, crime fines on capture.
8. Unconscious, kill & capture (PvP)
Extends combat (12) and death (07).
8.1 Unconscious state
When player HP → 0 in PvP (and optional elite PvE):
state = UNCONSCIOUS
duration: until revived, killed, captured, or self-recovery
actions: none — stuck in place (minimal chat optional)
Not dead — no corpse yet; inventory remains on body.
No auto-death timer. If the winner ignores the body, the unconscious player eventually recovers and may leave. Another player may capture while down. High-skill targets may escape restraint before jail (chance vs captor skill).
8.2 Winner interaction
Standing adjacent, channel Finish intent:
| Choice | Requires | Outcome |
|---|---|---|
| Kill | — | Normal death flow (07) — corpse, respawn, penalties |
| Capture | rope / manacles item (consumed or durable) |
Target → CAPTURED |
Killing unconscious neutral/worker still applies evil + crime event.
8.3 Captured state
captured:
restrained: true
follow_captor: true
inventory_locked: true
skills_disabled: true
escape_chance: f(DEX, relevant_skill, captor_skill) # before jail booking
Captor escorts to jail fixture → TurnInPrisoner → prisoner enters JAILED (§9). Failed escape attempts extend restraint timer.
9. Jail
| Field | Behavior |
|---|---|
| Location | Town jail NPC / cell fixture |
| Sentence | base_sentence + f(evil, crime_severity) in ticks |
| While jailed | No world actions; offline time may count (config) |
| On release | Wanted cleared; evil reduced; respawn at jail exit |
Logged-out prisoners remain jailed — cannot evade by disconnect.
10. Combat integration
| Topic | Rule |
|---|---|
| Friendly fire | Still on (12) — killing ally workers adds evil + employer grievance |
| Guards | Faction town_guard; cannot be bribed at launch |
| Unconscious | Overrides auto-attack on downed target |
| Workers | Valid combat targets; flee on first hit |
11. Worker death (employer impact)
| Effect | Detail |
|---|---|
| Worker HP → 0 | Worker dies — replace via new hire unless worker insurance active |
| Insurance | Paid policy — respawn worker at lodging after delay + fee |
| Replacement | Hire new worker; retrain |
| Killer | evil + wanted if guards respond; employer notification |
| Insurance | Future — crafted worker bond policy |
12. the terminal client / agent
flatland wanted list
flatland wanted accept bandit-42
flatland capture <player> # on unconscious target
flatland jail status
flatland pray --sanctuary temple_northhold --duration 300
flatland evil # self rating + recent changes
flatland guard-zones map # overlay security tier (debug)
13. Phasing
| Phase | Scope |
|---|---|
| 5 | Zone security tags; evil attribute; monster redemption |
| 6 | Worker flee; guard crime response; wanted board |
| 6b | Unconscious PvP; kill vs capture |
| 6c | Player bounties; jail sentences |
| 7 | Prayer sanctuaries; watchtower emplacements; employer restitution |
15. Cross-references
| Topic | Doc |
|---|---|
| Death & corpse | 07 |
| Combat | 12 |
| Workers | 13 |
| Economy / tax | 10 |
| Attributes | 11 |
| World zones | 01 |
Guards use same combat intents as players (12). Workers flee uses movement from 11.