Home Justice & Law Enforcement

Justice, Law Enforcement & Bounties


1. Summary

Civilized zones are policed. Killing workers or neutral NPCs is allowed (including PvP on workers) but carries consequences:

System Role
evil rating Character attribute — rises on unjustified kills; reduced by PvE, prayer, jail
Guard NPCs Respond near towns, guard posts, watchtowers
Worker flee Attacked workers sprint away — hard to catch
Wanted board Every town lists wanted criminals; guards + players enforce
Bounties Players hunt wanted targets for posted reward
Unconscious → kill/capture PvP loser falls unconscious; winner chooses fate
Jail Captured players serve time — clears bounty, reduces evil

Wild zones have no guard response; evil still accrues for NPC/worker kills.


2. Locked decisions

# Decision
1 Workers can die in PvP/combat (13).
2 Killing workers or neutral NPCs increases evil (amount scales by victim type, zone).
3 Non-wild zones have policing — guard coverage from settlements + emplacements.
4 Attacked workers flee rapidly — high burst speed toward lodging/guard post.
5 Guards converge on players attacking NPCs/workers within guard jurisdiction.
6 After guard engagement, criminal is posted to wanted boards (all towns).
7 Wanted players attacked by guards on sight in town (guard approaches + LoS).
8 Player bounty hunters accept wanted entries; kill or capture for reward.
9 PvP defeat → unconscious (not instant death); winner may kill or capture.
10 Captured → restrained, follow captor, deliverable to jail.
11 Jail time removes wanted status and reduces evil after N duration.
12 evil reduction also via monster kills, prayer at temples/sanctuaries (timed channel).

3. Zone security model

World segments tag security tiers (01 zone metadata):

Tier ID Guards Worker safety
Wild wild None Jobs at own risk; flee still triggers if attacked
Patrolled patrolled Guard posts, watchtowers — delayed response Workers work; flee + eventual guard help
Civilized civilized Town guard network, fast response Strong deterrence
GuardCoverage {
  tier: civilized | patrolled | wild
  emplacements: [guard_post, watchtower, town_gate, ...]
  response_radius_m: f(tier, emplacement_density)
  response_time_ticks: f(distance_to_nearest_guard)
}

Guard emplacements are authored fixtures + town spawns. Attacking a neutral NPC inside response_radius queues a crime event.


4. The evil attribute

Persistent character stat (11) — visible to self; optionally visible to others via Detect Evil skill or guard scan.

Event evil delta (example)
Kill neutral town NPC +large
Kill hired worker +large (employer may sue / grief claim)
Kill hostile monster −small (redemption)
Kill wanted criminal (bounty valid) 0 or −small
Prayer session complete −medium per duration
Jail sentence served −large + wanted clear
evil_rating ∈ [0, ∞) with soft cap — diminishing returns / plateau above ~1000

High evil may affect: NPC prices, guard aggro priority, temple refusal, faction gates. Soft cap prevents runaway numbers from dominating all systems.

4.1 Reducing evil

Method Mechanism
Monster kills Each qualifying hostile kill applies evil_redemption_per_kill (daily cap optional)
Prayer Channel at temple/sanctuary prayer_duration_ticks; interrupt cancels; grants evil reduction
Jail Sentence completion (§9)
Quests Future — atonement arcs

Prayer requires sanctuary fixture — not usable while wanted in that faction’s towns (config).


5. Worker & NPC protection

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 (evil on 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. Guard NPCs

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

  1. Find guards within response_radius of crime (emplacements + town patrol pool).
  2. Guards path toward criminal at high speed.
  3. On range + LoS: engage combat (12) — guards are strong, co-op.
  4. 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. Wanted board & bounties

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.

TUI: 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 fixtureTurnInPrisoner → 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. TUI / 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

14. Open decisions

Resolved (2026-07-06):

# Decision
J1 evil soft cap — diminishing returns above ~1000
J2 No auto-death unconscious; recover if ignored; capture by others; escape roll before jail
J3 Regional wanted — spreads to nearby towns; expires over time
J4 Evil-scaled guards — high evil = lethal; lower = knock out → jail
J5 Worker respawn only with insurance
J6 Equal split bounty among party

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.