# Tuning

> Every gameplay number that isn't in a data file, with its value as the game ships.

<!-- Generated by `zombye-server --docs`. Do not edit: change the game and generate again. -->

Every number the simulation plays by that a data file doesn't hold. Values are as shipped, after the data files are read (a block a data file fills, such as fire, shows the file's values). A world keeps the settings it was made with in its save, and the difficulty presets scale some of them.

## `generation`

| Field | Shipped | What it does |
|---|---|---|
| `seed` | `1` |  |
| `chunks` | `[30, 30]` | Map size in chunks (each 16 m). Grown if the town wouldn't fit. |
| `blocks` | `[5, 4]` | Town size in nominal blocks of about 78 × 68 m (the default 5 × 4 makes a town of about 400 × 290 m); the town grows if its core needs more room. |
| `commercial_blocks` | `2` | Commercial blocks on each side of the main street, split between the two ends of the civic district (both sides of the street). 0: none (the core is the civic district alone). |

## `start_hour`

Hour of day at tick 0.

Value: `9`

## `day_length_secs`

Real seconds per in-game day.

Value: `3600`

## `zombie`

Zombie senses and behaviour.

| Field | Shipped | What it does |
|---|---|---|
| `sight_day` | `22` | Range dead ahead at a walking, moving player in full daylight / at night. |
| `sight_night` | `8` | Range dead ahead at a walking, moving player in full daylight / at night. |
| `sight_cone_deg` | `55` | Half-angle of the full-range cone, and of the wider peripheral cone (degrees). |
| `peripheral_deg` | `110` | Sight. |
| `peripheral_mult` | `0.35` | Range multiplier in the peripheral band. |
| `rear_range` | `2` | Range behind the zombie (outside the peripheral cone), before the stance multiplier. |
| `sneak_sight_mult` | `0.4` | Range multipliers for a sneaking / running player, and for one standing still. |
| `run_sight_mult` | `1.35` | Range multipliers for a sneaking / running player, and for one standing still. |
| `still_sight_mult` | `0.5` | Range multipliers for a sneaking / running player, and for one standing still. |
| `sure_sight_frac` | `0.25` | Within this fraction of the range a check always notices; beyond it the chance per check falls from `notice_chance` to 0 at full range. A wandering zombie that notices someone beyond it only glimpses them: it turns and shuffles over to look (investigates), and chases only if it notices them again (or they come within this fraction). |
| `notice_chance` | `0.15` | Within this fraction of the range a check always notices; beyond it the chance per check falls from `notice_chance` to 0 at full range. A wandering zombie that notices someone beyond it only glimpses them: it turns and shuffles over to look (investigates), and chases only if it notices them again (or they come within this fraction). |
| `sight_interval_ticks` | `4` | Each zombie looks once every this many ticks. |
| `chase_sight_mult` | `1.25` | A chaser keeps its own player in view out to this multiple of the range, without luck. |
| `window_sight_mult` | `0.35` | Range multiplier when it looks through a window (shut, open or broken): a survivor indoors is hard to make out from the street. |
| `alertness` | `[0.7, 1.6]` | Some zombies are sharper than others: each one's sight range, notice chance and hearing are multiplied by its alertness, from a hash of its id, between these two. Skewed by `alertness_skew` (1 even, higher: most near the low end, a few sharp ones), so the defaults average about 1. |
| `alertness_skew` | `2` | Some zombies are sharper than others: each one's sight range, notice chance and hearing are multiplied by its alertness, from a hash of its id, between these two. Skewed by `alertness_skew` (1 even, higher: most near the low end, a few sharp ones), so the defaults average about 1. |
| `sneak_noise` | `1.2` | Footstep noise radius per tick while moving, by stance. |
| `walk_noise` | `4` | Hearing. |
| `run_noise` | `11` | Hearing. |
| `door_noise` | `10` | A door opening or closing. |
| `groan_noise` | `7` | A hunting zombie's groan, and the seconds between groans. |
| `groan_min_secs` | `5` | Hearing. |
| `groan_max_secs` | `12` | Hearing. |
| `alert_groan_secs` | `0.8` | About how soon a zombie groans after first noticing someone. |
| `wall_muffle` | `0.4` | Fraction of a sound's radius that carries through walls (no line of sight). |
| `herd_chance` | `0.3` | A wanderer choosing where to shuffle next heads back toward the zombies round it (within `herd_radius`) with this chance, when their middle is more than `herd_keep` away, so groups stay groups instead of spreading over the map. |
| `herd_radius` | `10` | A wanderer choosing where to shuffle next heads back toward the zombies round it (within `herd_radius`) with this chance, when their middle is more than `herd_keep` away, so groups stay groups instead of spreading over the map. |
| `herd_keep` | `2.5` | A wanderer choosing where to shuffle next heads back toward the zombies round it (within `herd_radius`) with this chance, when their middle is more than `herd_keep` away, so groups stay groups instead of spreading over the map. |
| `memory_secs` | `15` | How long a chaser keeps after a player it can't see. |
| `investigate_secs` | `15` | How long a zombie looks around a sound (or a lost player's last spot), on top of the time it takes to walk to a sound (capped at `max_travel_secs`). |
| `max_travel_secs` | `120` | How long a zombie looks around a sound (or a lost player's last spot), on top of the time it takes to walk to a sound (capped at `max_travel_secs`). |
| `investigate_speed_mult` | `0.85` | Speed multiplier while investigating (of the zombie's own top speed). |
| `wander_speed` | `0.4` | Idle shuffle speed. |
| `search_radius` | `3.5` | Milling about around a point it reached: how far it strays. |
| `lunge_range` | `1.7` | A chaser this close (centre to centre) with line of sight lunges. |
| `lunge_secs` | `0.45` | Lunge and attack. |
| `lunge_speed_mult` | `1.6` | Lunge speed: the zombie's speed times this, but at least `lunge_min_speed`. |
| `lunge_min_speed` | `1.8` | Lunge speed: the zombie's speed times this, but at least `lunge_min_speed`. |
| `lunge_cooldown` | `2` | Lunge and attack. |
| `attack_reach` | `0.9` | Strikes land within this distance (centre to centre). |
| `attack_windup` | `0.35` | Seconds from reaching a player to the first strike, and between strikes. |
| `attack_cooldown` | `1.3` | Lunge and attack. |
| `attack_leave` | `0.5` | It gives up attacking and chases again once the player is this much beyond reach. |
| `door_hp` | `40` | Hit points of a shut door and of an intact window. |
| `window_hp` | `6` | Doors and windows. |
| `thump_damage` | `1` | Damage per thump, and seconds between one zombie's thumps (each jittered by ±20%, so a crowd doesn't thump in step). |
| `thump_cooldown` | `1.6` | Doors and windows. |
| `thump_reach` | `0.7` | A zombie this close to a door or window (centre to edge) can batter it. |
| `thump_noise` | `15` | Noise radius of one thump, of glass breaking (battered or smashed by a player) and of a door giving way. |
| `glass_break_noise` | `22` | Doors and windows. |
| `door_break_noise` | `26` | Doors and windows. |
| `window_noise` | `2.5` | A player opening or closing a window (quieter than a door). |
| `climb_speed` | `0.35` | Top speed while climbing through an open or broken window. |
| `thump_interest_secs` | `12` | A thumper keeps at it this long after it last saw or heard a player (any player's noise refreshes it, so someone moving about inside keeps the crowd battering), then gives up. |
| `crowd_reach` | `1.6` | Crowd pressure: a zombie this close to the door or window (centre to edge) behind one battering it pushes in too, and each of its thumps does `crowd_thump_frac` of a thump. |
| `crowd_thump_frac` | `0.3` | Crowd pressure: a zombie this close to the door or window (centre to edge) behind one battering it pushes in too, and each of its thumps does `crowd_thump_frac` of a thump. |
| `give_up_secs` | `12` | A chaser or investigator held back by walls (not by the crowd) that hasn't moved `stuck_move` metres for `give_up_secs` gives up, as does one whose target has no way to it at all (not even through a door or window). |
| `stuck_move` | `1` | A chaser or investigator held back by walls (not by the crowd) that hasn't moved `stuck_move` metres for `give_up_secs` gives up, as does one whose target has no way to it at all (not even through a door or window). |
| `bored_secs` | `20` | After giving up (stuck, or a thumper that lost interest) it mills about where it is, then wanders. For this long it ignores other zombies' noise and noise that isn't a player's, and only notices a player close up (within `sure_sight_frac` of its sight range). |
| `max_corpses` | `300` | Corpses kept at most (the oldest go first), and how long one lies before it's removed. |
| `corpse_secs` | `900` | Corpses. |
| `knockback_slide` | `0.86` | A staggered or downed zombie's slide (from a shove or a blow) keeps this share of its speed each tick, so it slides farther than a walker's (0.75) before it stops: a shove can push one back about `0.25 m x slide / (1 - slide)` at most (1.5 m at 0.86). |

## `carry`

Carry limits, burden and how long handling items takes.

| Field | Shipped | What it does |
|---|---|---|
| `limit_kg` | `14` | What a player carries without effect (kg)... |
| `strength_kg` | `0.75` | ...plus this per Strength level. |
| `pockets_l` | `8` | Room in pockets (litres), always there. |
| `burdened_at` | `1` | Burden stages start at these shares of the limit. |
| `heavy_at` | `1.3` |  |
| `overloaded_at` | `1.6` |  |
| `max_load` | `2` | Nothing more can be picked up past this share of the limit. |
| `burdened_speed` | `0.9` |  |
| `burdened_run_drain` | `1.3` |  |
| `heavy_speed` | `0.75` |  |
| `heavy_action_cost` | `1.2` | Swings, shoves and stomps cost this much more endurance from Heavy on. |
| `overloaded_speed` | `0.5` |  |
| `move_secs` | `0.3` | Seconds to move one stack, and one heavier than `heavy_stack_kg`. |
| `heavy_move_secs` | `0.6` |  |
| `heavy_stack_kg` | `3` | Seconds to move one stack, and one heavier than `heavy_stack_kg`. |
| `reopen_secs` | `0.3` | Seconds to open a container that has been searched before. |
| `use_secs` | `1` | Seconds to eat or drink something. |
| `sneak_search_mult` | `1.5` | Searching while sneaking takes this much longer, and makes this share of the noise. |
| `sneak_noise_mult` | `0.5` |  |
| `max_jobs` | `16` | Jobs a player can have queued. |

## `combat`

Player health and every combat number that isn't a weapon's.

| Field | Shipped | What it does |
|---|---|---|
| `player_hp` | `100` | A player's full hit points. |
| `zombie_hp` | `[85, 115]` | Zombie hit points are rolled per zombie in this range. |
| `tired_below` | `0.5` | Below this endurance actions weaken and slow down, down to `tired_power` (damage, knockback and knockdown chance) and `tired_slow` (time multiplier) at 0. |
| `tired_power` | `0.55` | Below this endurance actions weaken and slow down, down to `tired_power` (damage, knockback and knockdown chance) and `tired_slow` (time multiplier) at 0. |
| `tired_slow` | `1.6` | Below this endurance actions weaken and slow down, down to `tired_power` (damage, knockback and knockdown chance) and `tired_slow` (time multiplier) at 0. |
| `action_buffer_secs` | `0.2` | An action asked for this close to the end of the last one is queued instead of dropped. |
| `multi_hit_falloff` | `0.8` | Each target after the first in one swing takes this much more of the damage (0.8 → 80%, 64%...). |
| `behind_dot` | `0.35` | A zombie facing away from the attacker (its forward · attacker→zombie above this) is hit from behind. |
| `behind_crit_bonus` | `0.3` | From behind: added crit chance, and knockdown chance multiplier. |
| `behind_knockdown_mult` | `1.6` | Hitting. |
| `staggered_knockdown_mult` | `1.5` | Knockdown chance multiplier against a zombie already staggered. |
| `stagger_secs` | `[0.6, 0.9]` | How long a stagger and a knockdown last. A knockdown's last `zombies::GET_UP_SECS` (2 s) are getting up; before that the client plays a 1.3 s fall, so the shortest leaves ~0.7 s lying still. |
| `down_secs` | `[4, 6]` | Hitting. |
| `shove_range` | `0.75` | Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
| `shove_arc_degrees` | `150` | Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
| `shove_targets` | `3` | Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
| `shove_knockback` | `1.2` | How far a shove pushes a zombie back (metres, before Strength and how tired you are; at most about 1.5 m, `ZombieTuning::knockback_slide`). |
| `shove_knockdown_chance` | `0.25` | Knockdown chance of a shove (it always staggers), before the staggered / behind multipliers. |
| `shove_weapon_range` | `0.2` | A shove with a melee weapon in hand (pushed with its shaft): this much more reach, and knockback times `shove_weapon_knockback`. |
| `shove_weapon_knockback` | `1.2` | A shove with a melee weapon in hand (pushed with its shaft): this much more reach, and knockback times `shove_weapon_knockback`. |
| `shove_repeat_secs` | `3` | Shoves on the same zombie this close together add up: each earlier one (at most `shove_repeat_max`) adds `shove_repeat_knockdown` to the knockdown chance. A knockdown starts it over. |
| `shove_repeat_knockdown` | `0.15` | Shoves on the same zombie this close together add up: each earlier one (at most `shove_repeat_max`) adds `shove_repeat_knockdown` to the knockdown chance. A knockdown starts it over. |
| `shove_repeat_max` | `3` | Shoves on the same zombie this close together add up: each earlier one (at most `shove_repeat_max`) adds `shove_repeat_knockdown` to the knockdown chance. A knockdown starts it over. |
| `shove_windup` | `0.1` | Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
| `shove_seconds` | `0.6` | Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
| `shove_endurance` | `0.035` | Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
| `shove_noise` | `2.5` | Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
| `stomp_range` | `1.1` | Reach from the player's centre to a downed zombie's centre. |
| `stomp_arc_degrees` | `140` | Stomp. |
| `stomp_damage` | `[36, 48]` | Stomp. |
| `down_head_offset` | `1.45` | A zombie on the ground lies on its back with its head this far behind its feet (its position): the line between is the body a stomp can land on. |
| `stomp_head_reach` | `0.9` | A stomp from within this of the head (and in the arc) is a stomp to the head: its damage times `stomp_head_mult`. |
| `stomp_head_mult` | `4` | A stomp from within this of the head (and in the arc) is a stomp to the head: its damage times `stomp_head_mult`. |
| `stomp_pin_secs` | `1.5` | A stomp that doesn't kill keeps the zombie on the ground at least this long before it starts to get up (one getting up is stamped back down). |
| `stomp_crit_chance` | `0.15` | Stomp. |
| `stomp_crit_multiplier` | `1.6` | Stomp. |
| `stomp_windup` | `0.15` | Stomp. |
| `stomp_seconds` | `0.55` | Stomp. |
| `stomp_endurance` | `0.04` | Stomp. |
| `stomp_noise` | `4` | Stomp. |
| `zombie_hit_chance` | `0.5` | Chance a strike lands, plus this for every other zombie attacking the same player, at most `zombie_hit_max`. What a landed strike does is up to the wound it leaves (`HealthTuning`). |
| `zombie_crowd_bonus` | `0.12` | Zombie strikes. |
| `zombie_hit_max` | `0.9` | Chance a strike lands, plus this for every other zombie attacking the same player, at most `zombie_hit_max`. What a landed strike does is up to the wound it leaves (`HealthTuning`). |
| `pvp` | `false` | Swings, shoves and stomps hit other players as they hit zombies. Off in single-player and co-op (players are never targets); a multiplayer server turns it on unless started with `--pvp off`. |
| `pvp_damage_mult` | `0.4` | A swing's or stomp's damage to a player is its damage to a zombie times this (the player also gets the wound). |
| `pvp_shot_mult` | `0.7` | A bullet's damage to a player is its damage to a zombie times this. |
| `pvp_blunt_gash` | `0.3` | Chance a blunt weapon's blow splits the skin (a gash, not a bruise); a crit always does. |
| `pvp_stopped_damage` | `0.5` | A cut that clothing stops is a bruise, and takes this much of its damage. |
| `player_stagger_secs` | `[0.5, 0.8]` | How long a player reels from a blow, and how long one stays on the ground. |
| `player_down_secs` | `[1.4, 2]` | Players and each other (PLAN §4.8). |
| `lag_comp_max_secs` | `0.35` | A blow of a player whose client reports what it shows (one over the network) is tested against its targets where they stood at most this long ago; 0 turns it off. It is also the most by which a blow about to land survives its player being floored (a trade of blows). 0.35 s covers a 150 ms ping with the client's own tick and snapshot cushion on top. |
| `cramped_damage` | `0.6` | A blow at a target nearer than the weapon's `close_range` does this much of its damage. |
| `one_hand_power` | `0.75` | A two-handed weapon swung in one hand (its item's `one_hand`, the other hand full) hits this much as hard, and takes `one_hand_slow` times as long. |
| `one_hand_slow` | `1.2` | A two-handed weapon swung in one hand (its item's `one_hand`, the other hand full) hits this much as hard, and takes `one_hand_slow` times as long. |
| `battered_below` | `0.25` | With this share of its life or less left a weapon is battered, and does `battered_damage` of its damage. |
| `battered_damage` | `0.85` | With this share of its life or less left a weapon is battered, and does `battered_damage` of its damage. |
| `broken_damage` | `0.15` | A broken weapon (every knock taken: `crate::wear`) stays in the hand as an item, but its swing does this much of its damage and knockback, and never crits or knocks down. |
| `wear_skill_less` | `0.04` | Each level of the weapon's skill makes a knock this much less likely. |
| `found_wear_max` | `0.7` | A weapon found in furniture has had at most this share of its life (0: every one is sound). |

## `health`

Wounds, bleeding, festering, food poisoning (`crate::health`).

| Field | Shipped | What it does |
|---|---|---|
| `heal_spread` | `0.25` | Each wound's healing time is rolled within ± this share of its kind's. |
| `stitched_heal_speed` | `2` | A stitched wound heals this many times as fast. |
| `dressed_gash_bleed` | `0.25` | A dressed but unstitched gash still bleeds at this share of its rate. |
| `regen_awake_per_h` | `2` | HP back per game hour with nothing bleeding or festering, no fever and not hungry; asleep more. |
| `regen_asleep_per_h` | `5` |  |
| `behind_dot` | `0.35` | A zombie facing a player's back (the player's facing · the direction of the blow above this). |
| `arm_power_per` | `0.12` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `arm_power_max` | `0.4` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `arm_time_per` | `0.08` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `arm_time_max` | `0.25` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `leg_walk_per` | `0.08` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `leg_run_per` | `0.12` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `leg_max` | `0.3` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `leg_gash_stops_running` | `true` | A gash or bite on a leg (not a foot) means no running. |
| `torso_regen_per` | `0.2` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `torso_regen_max` | `0.5` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `head_pain_mult` | `2` | Effects of open wounds (each counted by its kind's `effect`), with their caps. |
| `fester_undressed` | `0.04` | Festering: chance per game hour by dressing; what it does. |
| `fester_dirty` | `0.06` | Festering: chance per game hour by dressing; what it does. |
| `fester_clean` | `0.005` | Festering: chance per game hour by dressing; what it does. |
| `fester_cleaned_mult` | `0.5` | Cleaning a wound before dressing it multiplies the chance by this. |
| `fester_pain` | `0.1` | Festering: chance per game hour by dressing; what it does. |
| `fester_heal_mult` | `0.33333334` | Festering: chance per game hour by dressing; what it does. |
| `fester_hp_per_h` | `1` | Festering: chance per game hour by dressing; what it does. |
| `smash_cut_chance` | `0.6` | Smashing a window with no weapon cuts the hand that did it this often (gloved: the other). |
| `smash_cut_gloved` | `0.1` | Glass. |
| `climb_cut_chance` | `0.15` | Climbing in through a broken window: a cut on a hand, arm or leg this often (clothing protects). |
| `poison_hours` | `[6, 14]` | Food poisoning (#11 decides when; these are its numbers). |
| `poison_regen_mult` | `0.7` | Food poisoning (#11 decides when; these are its numbers). |
| `poison_thirst_mult` | `2` | Food poisoning (#11 decides when; these are its numbers). |
| `poison_rotten` | `0.7` | Chances for mouldy or rotten food, stale food and unsafe water. |
| `poison_stale` | `0.1` | Food poisoning (#11 decides when; these are its numbers). |
| `poison_water` | `0.3` | Food poisoning (#11 decides when; these are its numbers). |

### `health.bruise`

One wound kind's numbers.

| Field | Shipped | What it does |
|---|---|---|
| `damage` | `[4, 6]` | Hit points it takes at once. |
| `bleed_per_h` | `0` | HP per game hour while it bleeds, and how long it bleeds by itself (`None`: until dressed). |
| `bleeds_for_h` | `none` |  |
| `heal_h` | `4` | Game hours to heal (each wound rolls ±`HealthTuning::heal_spread` of it). |
| `pain` | `0.05` |  |
| `protection` | `1` | How much clothing counts against it (1 = its protection in full). |
| `effect` | `0` | How much it counts toward arm, leg and torso effects (an open gash 1, a scratch half). |
| `can_fester` | `false` |  |

### `health.scratch`

One wound kind's numbers.

| Field | Shipped | What it does |
|---|---|---|
| `damage` | `[6, 9]` | Hit points it takes at once. |
| `bleed_per_h` | `3` | HP per game hour while it bleeds, and how long it bleeds by itself (`None`: until dressed). |
| `bleeds_for_h` | `1` |  |
| `heal_h` | `10` | Game hours to heal (each wound rolls ±`HealthTuning::heal_spread` of it). |
| `pain` | `0.08` |  |
| `protection` | `1` | How much clothing counts against it (1 = its protection in full). |
| `effect` | `0.5` | How much it counts toward arm, leg and torso effects (an open gash 1, a scratch half). |
| `can_fester` | `true` |  |

### `health.gash`

One wound kind's numbers.

| Field | Shipped | What it does |
|---|---|---|
| `damage` | `[9, 13]` | Hit points it takes at once. |
| `bleed_per_h` | `10` | HP per game hour while it bleeds, and how long it bleeds by itself (`None`: until dressed). |
| `bleeds_for_h` | `none` |  |
| `heal_h` | `40` | Game hours to heal (each wound rolls ±`HealthTuning::heal_spread` of it). |
| `pain` | `0.15` |  |
| `protection` | `0.7` | How much clothing counts against it (1 = its protection in full). |
| `effect` | `1` | How much it counts toward arm, leg and torso effects (an open gash 1, a scratch half). |
| `can_fester` | `true` |  |

### `health.bite`

One wound kind's numbers.

| Field | Shipped | What it does |
|---|---|---|
| `damage` | `[12, 18]` | Hit points it takes at once. |
| `bleed_per_h` | `14` | HP per game hour while it bleeds, and how long it bleeds by itself (`None`: until dressed). |
| `bleeds_for_h` | `none` |  |
| `heal_h` | `60` | Game hours to heal (each wound rolls ±`HealthTuning::heal_spread` of it). |
| `pain` | `0.2` |  |
| `protection` | `0.5` | How much clothing counts against it (1 = its protection in full). |
| `effect` | `1` | How much it counts toward arm, leg and torso effects (an open gash 1, a scratch half). |
| `can_fester` | `true` |  |

### `health.glass_cut`

One wound kind's numbers.

| Field | Shipped | What it does |
|---|---|---|
| `damage` | `[5, 8]` | Hit points it takes at once. |
| `bleed_per_h` | `8` | HP per game hour while it bleeds, and how long it bleeds by itself (`None`: until dressed). |
| `bleeds_for_h` | `none` |  |
| `heal_h` | `18` | Game hours to heal (each wound rolls ±`HealthTuning::heal_spread` of it). |
| `pain` | `0.12` |  |
| `protection` | `0.8` | How much clothing counts against it (1 = its protection in full). |
| `effect` | `1` | How much it counts toward arm, leg and torso effects (an open gash 1, a scratch half). |
| `can_fester` | `true` |  |

### `health.burn`

A burn from standing in a fire (`crate::fire`): doesn't bleed, hurts, heals slowly.

One wound kind's numbers.

| Field | Shipped | What it does |
|---|---|---|
| `damage` | `[5, 9]` | Hit points it takes at once. |
| `bleed_per_h` | `0` | HP per game hour while it bleeds, and how long it bleeds by itself (`None`: until dressed). |
| `bleeds_for_h` | `none` |  |
| `heal_h` | `30` | Game hours to heal (each wound rolls ±`HealthTuning::heal_spread` of it). |
| `pain` | `0.2` |  |
| `protection` | `0.6` | How much clothing counts against it (1 = its protection in full). |
| `effect` | `0.5` | How much it counts toward arm, leg and torso effects (an open gash 1, a scratch half). |
| `can_fester` | `true` |  |

### `health.front`

Where strikes land from in front and from behind (zombies reach the upper body best).

Where zombie strikes land: a weight per part (each arm, hand, leg and foot on its own).

| Field | Shipped | What it does |
|---|---|---|
| `head` | `8` |  |
| `torso` | `30` |  |
| `arm` | `14` |  |
| `hand` | `9` |  |
| `leg` | `6` |  |
| `foot` | `2` |  |

### `health.behind`

Where zombie strikes land: a weight per part (each arm, hand, leg and foot on its own).

| Field | Shipped | What it does |
|---|---|---|
| `head` | `12` |  |
| `torso` | `36` |  |
| `arm` | `10` |  |
| `hand` | `4` |  |
| `leg` | `7` |  |
| `foot` | `2` |  |

### `health.strike`

Which wound a zombie strike leaves (weights), before clothing.

| Field | Shipped | What it does |
|---|---|---|
| `scratch` | `50` |  |
| `gash` | `30` |  |
| `bite` | `20` |  |
| `grabbed_bite_bonus` | `15` | Added to `bite` when two or more zombies are on you, or the strike comes from behind. |

### `health.first_aid`

First aid: treatment times, dressings, painkillers, antibiotics.

First aid's numbers (`HealthTuning::first_aid`). Seconds of play for the treatments, game hours for the rest. Ours.

| Field | Shipped | What it does |
|---|---|---|
| `dress_secs` | `4` |  |
| `plaster_secs` | `2` |  |
| `clean_secs` | `3` |  |
| `stitch_secs` | `8` |  |
| `pill_secs` | `1` |  |
| `remove_secs` | `1` |  |
| `own_hand_mult` | `1.5` | Dressing a hand (with the other one) takes this much longer. |
| `skill_faster_per_level` | `0.05` | Each First Aid level makes treatment this much faster; from `skill_stitch_level` up, stitching hurts half as much. |
| `skill_stitch_level` | `6` | Each First Aid level makes treatment this much faster; from `skill_stitch_level` up, stitching hurts half as much. |
| `plaster_clean_h` | `24` | Hours a clean dressing stays clean: a plaster, any other, and any other put on a bleeding wound. |
| `dressing_clean_h` | `12` |  |
| `bleeding_clean_h` | `6` |  |
| `clean_pain` | `0.1` | Pain cleaning and stitching cause, and for how many game hours. |
| `clean_pain_h` | `1` |  |
| `stitch_pain` | `0.2` |  |
| `stitch_pain_h` | `2` |  |
| `painkiller_relief` | `0.4` | Pain a painkiller dose takes away, for how long; this many doses at once make you drowsy. |
| `painkiller_h` | `4` |  |
| `drowsy_doses` | `2` |  |
| `antibiotic_course` | `2` | Antibiotics: doses in a course; a dose counts from `min_gap` hours after the last, the course lapses after `max_gap` hours without one; each dose keeps festering off for `cover` hours. |
| `antibiotic_min_gap_h` | `12` |  |
| `antibiotic_max_gap_h` | `36` |  |
| `antibiotic_cover_h` | `24` |  |

## `infection`

The zombie infection's sandbox settings (fatal by default).

| Field | Shipped | What it does |
|---|---|---|
| `mode` | `"Default"` |  |
| `fatal` | `true` | Fatal (the default): the turn ends in death. Off: it burns out after the fever, leaving you at `survivor_hp`. |
| `stage_mult` | `1` | Multiplies every stage's length, 0.5 to 3. |
| `hidden_h` | `[6, 12]` | Game hours hidden, then feverish (each infection rolls its own). |
| `feverish_h` | `[12, 24]` |  |
| `feverish_hp_per_h` | `1` |  |
| `turning_hp_per_h` | `6` |  |
| `feverish_regen_mult` | `0.6` | Endurance recovers this much as fast while feverish or turning. |
| `turning_night_sight` | `0.5` | Night sight multiplier while turning (the client's fog of war). |
| `survivor_hp` | `30` |  |
| `rise_secs` | `30` | Seconds after death until the body rises. |

## `needs`

Hunger, thirst, tiredness, food going off and sleep (`crate::needs`).

| Field | Shipped | What it does |
|---|---|---|
| `hunger_per_h` | `0.04` |  |
| `hunger_asleep_per_h` | `0.02` |  |
| `thirst_per_h` | `0.06` |  |
| `thirst_asleep_per_h` | `0.03` |  |
| `run_thirst_per_h` | `0.02` | Extra thirst per game hour spent running, and per swing. |
| `swing_thirst` | `0.002` |  |
| `tired_per_h` | `0.05` |  |
| `rest_bed_per_h` | `0.12` | Tiredness lost per game hour asleep on a bed, a sofa, the floor. |
| `rest_sofa_per_h` | `0.09` |  |
| `rest_floor_per_h` | `0.06` |  |
| `mild` | `0.35` | Where a need turns mild, strong and severe. |
| `strong` | `0.6` |  |
| `severe` | `0.85` |  |
| `hungry_regen` | `0.85` | Endurance recovery while hungry, thirsty (multipliers; both can apply). |
| `thirsty_regen` | `0.75` |  |
| `starving_hp_per_h` | `2` | HP per game hour starving, parched. |
| `parched_hp_per_h` | `3` |  |
| `starving_swing_power` | `0.85` | Swing power while starving; swing time tired and exhausted; walking speed exhausted. |
| `tired_swing_time` | `1.1` |  |
| `exhausted_swing_time` | `1.25` |  |
| `exhausted_walk` | `0.9` |  |
| `tired_sight` | `0.85` | The client's view cone while tired or worse (a multiplier on its angle). |
| `tired_endurance` | `0.75` | The most endurance there can be while tired, and while exhausted (`MoveMods::max_endurance`): a tired survivor runs out of breath sooner, so sleep matters for getting away too. |
| `exhausted_endurance` | `0.5` |  |
| `pain_sore` | `0.2` | Pain levels (sore, hurting, agony) and swing power at each. |
| `pain_hurting` | `0.45` |  |
| `pain_agony` | `0.75` |  |
| `pain_swing_power` | `[0.95, 0.85, 0.7]` |  |
| `eat_secs` | `[2, 5]` | Eating or drinking takes `eat_secs.0` plus this per unit of hunger and thirst it does, at most `eat_secs.1`. |
| `eat_secs_per` | `8` |  |
| `waste_below` | `0.1` | Food eaten with hunger under this does nothing for hunger. |
| `stale_food` | `0.7` | Share of the hunger and thirst stale and mouldy food gives. |
| `mouldy_food` | `0.4` |  |
| `found_food_age` | `[0, 0.6]` | Food found in furniture was made this share of its `spoils_hours` before the world began (each stack rolls within the range). |
| `min_tiredness_to_sleep` | `0.3` | No sleeping with tiredness below this; asleep, you wake once it's below `rested_below`. |
| `rested_below` | `0.05` | No sleeping with tiredness below this; asleep, you wake once it's below `rested_below`. |
| `wake_noise_m` | `20` | A sound this close (and loud enough to reach you) wakes you. |
| `hunger_wakes_after_h` | `1` | Starving or parched, you wake after this many game hours asleep. |
| `floor_sore_pain` | `0.1` | A night on the floor: pain for this many game hours. |
| `floor_sore_h` | `2` |  |
| `sleep_time_scale` | `30` | Game time runs this many times as fast while every living player is asleep (1: never). |
| `sleep_through_night` | `true` | After dark you can lie down however rested you are, and being rested doesn't wake you until sunrise: a night can be slept through, unless something else wakes you. |

## `skills`

Skills: XP per level, what earns it and what each level gives (`crate::skills`).

| Field | Shipped | What it does |
|---|---|---|
| `levels` | `[75, 225, 450, 750, 1150, 1650, 2300, 3100, 4100, 5400]` | Cumulative XP to reach each level from 1: as many levels as listed, 1 to `MAX_LEVEL`. |
| `start_fitness` | `2` | Levels a new survivor starts with. |
| `start_strength` | `2` |  |
| `xp_scale` | `1` | Every XP earned is multiplied by this (1: as the numbers below say). |
| `xp_mult` | `()` | And by its skill's multiplier here (a skill not listed: 1), e.g. `{Fitness: 0.5}`. |
| `run_xp_per_sec` | `0.1` | Fitness per second running. |
| `heavy_swing_xp` | `1` | Strength per swing of a weapon heavier than `heavy_weapon_kg`. |
| `heavy_weapon_kg` | `1.5` | Strength per swing of a weapon heavier than `heavy_weapon_kg`. |
| `overload_xp_per_min` | `1` | Strength per game minute moving while over the carry limit. |
| `hit_xp` | `2` | A weapon skill (Bludgeon, Edged, Brawl for punches) per zombie hit, and per kill instead. |
| `kill_xp` | `5` | XP. |
| `shove_xp` | `2` | Brawl per zombie shoved, and per stomp that kills. |
| `stomp_kill_xp` | `5` | XP. |
| `stealth_xp_per_sec` | `0.2` | Stealth per second sneaking (and moving) within `stealth_range` of a zombie that isn't after you. |
| `stealth_range` | `15` | Stealth per second sneaking (and moving) within `stealth_range` of a zombie that isn't after you. |
| `treat_xp` | `10` | First Aid per treatment done. |
| `search_xp` | `2` | Scavenging per container searched for the first time. |
| `craft_xp` | `5` | Handiwork per craft. |
| `fitness_drain` | `0.03` | Fitness: running drains endurance this much slower, and it recovers this much faster. |
| `fitness_regen` | `0.03` | What each level gives. |
| `strength_shove_knockdown` | `0.015` | Strength: shove knockdown chance added (a chance, 0..1), and knockback (a share). |
| `strength_knockback` | `0.025` | What each level gives. |
| `weapon_damage` | `0.03` | Bludgeon and Edged: damage up, endurance cost and swing time down (shares). |
| `weapon_cost` | `0.025` | What each level gives. |
| `weapon_time` | `0.015` | What each level gives. |
| `brawl_damage` | `0.05` | Brawl: punch and stomp damage up (a share), shove knockdown chance added. |
| `brawl_shove_knockdown` | `0.02` | What each level gives. |
| `stealth_noise` | `0.04` | Stealth: sneaking footsteps quieter, and the distance zombies see you from shorter (shares). |
| `stealth_sight` | `0.03` | What each level gives. |
| `search_faster` | `0.05` | Scavenging: first searches faster and quieter (shares). |
| `search_quieter` | `0.05` | What each level gives. |
| `craft_faster` | `0.05` | Handiwork: crafting faster (a share). |

## `tiers`

Simulation tiers: ranges and update rates (see `crate::tiers`).

| Field | Shipped | What it does |
|---|---|---|
| `enabled` | `true` | Off: every zombie stays active (the old behaviour). |
| `active_range` | `60` | A chunk this close to a player (metres, to the nearest point of the chunk) is active, and one this close is near; beyond is virtual. |
| `near_range` | `150` |  |
| `hysteresis` | `20` | A zombie is only demoted once its chunk is this much farther than the range it was promoted at. More than a chunk (16 m), so walking over one chunk border can't flip it back and forth. |
| `near_interval_ticks` | `5` | Near zombies update once every this many ticks (staggered by id). |
| `virtual_interval_ticks` | `100` | Each region of virtual zombies updates once every this many ticks (regions staggered). |
| `region_size` | `64` | Side of a virtual region in metres. |
| `virtual_hearing_min` | `30` | Only sounds at least this loud (radius, metres) are checked against virtual zombies: the everyday noises (footsteps, doors, groans, thumps) happen around players, where there are none. |
| `interest_radius` | `80` | Snapshots list active zombies within this distance of a player. |
| `long_paths` | `true` | Long trips follow plans over the navigation graph (`crate::nav`): near and virtual zombies, and active ones whose target is beyond their flow field. Off: straight lines with the old detours (for comparison). |
| `far_follows_sleep` | `true` | While every living player sleeps and game time runs `NeedsTuning::sleep_time_scale` times as fast, the far clock (`World::far_tick`) runs that fast too: virtual zombies wander and migrate, attractors spread and fade, and respawn counts by game time. Active and near zombies always keep real time. Off: everything keeps real time, as before. |

## `player_sight`

How survivors see and hear each other (`crate::awareness`): what a server tells each client of the other players. A server's rule, not the world's: not saved.

| Field | Shipped | What it does |
|---|---|---|
| `sight_day` | `70` | How far a walking survivor is seen ahead in full daylight, and at night (metres). |
| `sight_night` | `10` |  |
| `cone_deg` | `105` | Half-angle of the cone seen at full range, and of the wider one seen at `peripheral_mult` of it (degrees). Beyond that only `rear_range`. |
| `peripheral_deg` | `125` |  |
| `peripheral_mult` | `0.5` | Half-angle of the cone seen at full range, and of the wider one seen at `peripheral_mult` of it (degrees). Beyond that only `rear_range`. |
| `rear_range` | `2.5` | Anyone this close is noticed whichever way you face (still not through a wall). |
| `sneak_mult` | `0.6` | Range multipliers for whoever is looked at: sneaking, running, standing still. |
| `run_mult` | `1.2` |  |
| `still_mult` | `0.85` |  |
| `lit_range` | `35` | Someone holding a light is seen at least this far at night. |
| `beam_deg` | `33` | Half-angle of a held flashlight's beam (degrees): whoever stands in yours is seen out to its reach (the light's radius + 2 m) whatever the hour. |
| `grace_secs` | `1` | Seen for this long after sight is lost, so players don't flicker at the edge. |
| `heard_every_secs` | `0.4` | A player heard and not seen is told as a sound at most this often (a louder one at once). |
| `heard_secs` | `4` | How long a heard sound is remembered (`Awareness::heard_lately`). |

## `explore`

How far a survivor's map fills in round it (`crate::explore`). A rule of the game, not of one world: not saved.

| Field | Shipped | What it does |
|---|---|---|
| `day_m` | `22` | Reach in full daylight and in the dark (metres), in between by the daylight. |
| `night_m` | `9` |  |
| `indoors_m` | `9` | The most it reaches from inside a building. |
| `every_ticks` | `10` | Ticks between looks (10: twice a second). |

## `speech`

How far voices carry and the noise they make (`crate::speech`). Not saved either.

| Field | Shipped | What it does |
|---|---|---|
| `whisper_m` | `3` | How far other survivors hear each volume in the open (through a wall: `wall_muffle` of it). |
| `talk_m` | `12` |  |
| `shout_m` | `40` |  |
| `whisper_noise` | `1.5` | The noise each makes for zombies (a sound's radius, as footsteps and doors have). |
| `talk_noise` | `7` |  |
| `shout_noise` | `30` |  |
| `max_chars` | `120` | The longest line, in characters; the rest is cut off. |
| `gesture_secs` | `2.5` | How long a wave or a point lasts (seconds). |

## `sit`

Sitting down (`crate::sit`): how fast breath and rest come back. Not saved, like `speech`.

| Field | Shipped | What it does |
|---|---|---|
| `endurance_regen` | `2` | Endurance comes back this many times as fast seated. |
| `rest_per_h` | `0.02` | Tiredness lost per game hour seated (awake, standing, it rises by `NeedsTuning::tired_per_h`). |

## `bonds`

Tying hands, freeing and searching a tied survivor (`crate::bonds`). Not saved.

| Field | Shipped | What it does |
|---|---|---|
| `reach_m` | `1.6` | How near the other survivor has to be to start (metres between the two). |
| `keep_m` | `2.2` | How far they may get before a job under way or an open search is called off. |
| `tie_secs` | `3` |  |
| `free_secs` | `2.5` |  |
| `frisk_secs` | `2` |  |
| `take_secs` | `0.6` | Taking one stack from a searched survivor; something worn or held takes `take_worn_secs`. |
| `take_worn_secs` | `1.5` | Taking one stack from a searched survivor; something worn or held takes `take_worn_secs`. |
| `escape_secs` | `60` | Seconds of struggling to get out of rope, and out of a cable tie. |
| `escape_tie_secs` | `90` |  |
| `speed` | `0.6` | Walking speed with tied hands, as a share of normal (no running, no climbing). |
| `struggle_noise` | `4` | The noise struggling makes (metres), once every `struggle_noise_secs`. |
| `struggle_noise_secs` | `2` | The noise struggling makes (metres), once every `struggle_noise_secs`. |

## `groups`

Group sizes, invitations and markers (`crate::groups`). Not saved.

| Field | Shipped | What it does |
|---|---|---|
| `max_members` | `8` |  |
| `max_markers` | `8` |  |
| `invite_m` | `12` | How near the invited survivor has to be (metres; it must be in sight too). |
| `invite_secs` | `60` | How long an invitation stands (seconds). |

## `climb`

When E climbs a fence or an open or broken window (`crate::players::climb_from`). Not saved.

| Field | Shipped | What it does |
|---|---|---|
| `reach` | `1.1` | Furthest from the body's middle to the fence or window, in metres. |
| `facing_degrees` | `70` | How far off square on to the edge the player may face, in degrees either side. |
| `give_up_secs` | `5` | A climb that hasn't got across in this many seconds gives up. |

## `stairs`

Walking between floors (`crate::players::StairTuning`). Not saved, like the climb's.

| Field | Shipped | What it does |
|---|---|---|
| `speed` | `0.4` | Speed on a flight of stairs, as a share of the speed on the flat (walking, running or sneaking alike). |
| `out_of_reach` | `1.6` | Zombies neither see nor strike a player standing higher than this above the ground, in metres (part-way up a flight; upstairs is always out of their sight and reach). |

## `movement`

Speeds and endurance (`crate::players::MoveTuning`). Saved with the settings.

| Field | Shipped | What it does |
|---|---|---|
| `walk_speed` | `3` | Speeds in m/s, before load, wounds and needs (`MoveMods`). |
| `run_speed` | `5.5` |  |
| `sneak_speed` | `1.4` |  |
| `aim_speed` | `2.2` | Walking while aiming. |
| `climb_speed` | `0.7` | Top speed while climbing through a window or over a fence. |
| `run_drain` | `0.06` | Endurance a second spent running. |
| `stand_regen` | `0.05` | Endurance a second regained standing still (or sitting: `SitTuning::endurance_regen` on top). |
| `walk_regen` | `0.02` | ...walking (or aiming, or climbing): catching your breath on the move is slow. |
| `sneak_regen` | `0.03` | ...sneaking. |
| `run_min_endurance` | `0.05` | Running needs more endurance than this; running down to it winds you. |
| `run_recover_endurance` | `0.2` | Winded, you can't run again until endurance is back above this. |

## `blinds`

Blinds on windows and glazed doors: where the town has them and handling them (`crate::blinds`). Saved with the settings.

| Field | Shipped | What it does |
|---|---|---|
| `house_window` | `0.45` | Chance a ground-floor window has a blind from the start, by the building's kind. |
| `shop_window` | `0.1` |  |
| `office_window` | `0.6` |  |
| `civic_window` | `0.3` |  |
| `glazed_front_door` | `0.25` | Chance an outside door is glazed: a house's front door, its other outside doors, and the outside doors of shops, offices and landmarks. |
| `glazed_back_door` | `0.5` |  |
| `glazed_shop_door` | `0.85` |  |
| `door_blind` | `0.35` | Chance a glazed door has a blind from the start. |
| `down` | `0.25` | Chance a blind there from the start is down. |
| `tag` | `"blind"` | The item tag that makes an item a blind to fit. |
| `fit_secs` | `6` | Seconds to fit a blind, and to take one down. |
| `take_down_secs` | `3` |  |
| `noise` | `2.5` | How far rolling one up or down is heard (metres; 0 silent). |

## `fire`

Campfires, stoves, cooking and burns (`assets/data/fire.ron`, `crate::fire`); saved with the settings.

| Field | Shipped | What it does |
|---|---|---|
| `reach` | `1.6` | Metres from a fire's middle, or a stove's footprint, that a survivor can cook at and tend it from. |
| `hours_per_kg` | `0.75` | Game hours of burning each kilogram of fuel gives. |
| `max_fuel_hours` | `8` | Most game hours of fuel a campfire holds. |
| `build_ahead` | `1` | How far in front of the survivor a new campfire goes (metres). |
| `spacing` | `2` | Fires kept at least this far apart (metres). |
| `max_fires` | `200` | Most fires in a world. |
| `indoors` | `false` | Campfires may be built indoors (fire doesn't spread; off keeps houses standing). |
| `burn_radius` | `0.5` | Standing within this of a lit fire's middle burns (metres). |
| `burn_chance_per_sec` | `0.6` | Chance a second of a burn while standing in a lit fire. |
| `zombie_burn_per_sec` | `6` | Hit points a second a zombie standing in a lit fire loses. |
| `crackle_noise` | `6` | A lit fire crackles: a noise this loud (metres)... |
| `crackle_every_secs` | `4` | ...every this many seconds. |
| `light_radius` | `6` | At night a survivor within this of a lit fire is in its light... |
| `seen_as_daylight` | `0.6` | ...and zombies see them as if by this much daylight (0 dark, 1 full day). |
| `stove_furniture` | `"stove"` | The furniture kind that cooks while its building has power. |
| `stoves_need_power` | `true` | Stoves need power (off: they always cook, like gas). |

## `chop`

Chopping trees down (`crate::trees`): their hit points, what chops, the logs they give. Saved with the settings.

| Field | Shipped | What it does |
|---|---|---|
| `tag` | `"chops"` | The item tag that chops (`items.ron`): a swing of an item with it hits trees. |
| `tree_hp` | `480` | Hit points of a broadleaf or birch (`Feature::Tree`). |
| `pine_hp` | `400` | Hit points of a pine or spruce (`Feature::PineTree`). |
| `damage_mult` | `1` | A chop takes the weapon's middle damage (skill and wear included) times this. |
| `log_item` | `"log"` | The item a felled tree leaves (`items.ron`). |
| `tree_logs` | `2` | Logs a felled broadleaf leaves. |
| `pine_logs` | `3` | Logs a felled pine leaves. |
| `fall_noise` | `40` | Radius of the noise a tree makes coming down (metres). |
| `endurance_mult` | `0.5` | A chop costs this share of the swing's endurance (steady work, not a fight's swing): the rest is given back when it lands on a tree. |
| `chop_xp` | `0.5` | Strength XP a chop gives. |
| `fell_xp` | `4` | Strength XP for felling a tree. |
| `deadwood_chance` | `0.006` | Share of open forest tiles with a fallen log lying on them (0: none). |
| `deadwood_reach` | `45` | Logs are laid on the deadwood spots within this many metres of a player. |
| `deadwood_every_ticks` | `20` | How often (ticks) the deadwood near players is laid out and taken back. |

## `sandbox`

A difficulty's multipliers on the content above (population, loot: `crate::difficulty`). Saved with the settings and put on again when the save is loaded. Changes nothing by default.

| Field | Shipped | What it does |
|---|---|---|
| `difficulty` | `""` | The preset it came from (for showing; "" none). |
| `zombies` | `1` | Multiplies the population's densities. |
| `fast_share` | `none` | The share of fast zombies, in place of the population file's. |
| `respawn` | `none` | Whether far regions fill up again, in place of the population file's. |
| `loot` | `1` | Multiplies how much containers hold, and how often rare things turn up. |
| `rare_loot` | `1` |  |