difficulty.ron
Difficulty presets a new game offers. Read by the game’s rules: a change here changes how the game plays, and a world remembers the content it was made with.
File: assets/data/difficulty.ron
About this file
Section titled “About this file”Difficulty presets (sim::difficulty): what a new game offers under “World”. Easiest first. Every number is a multiplier on the game’s own (1 = as shipped) unless it says otherwise; anything left out is 1 (or the game’s own).
id, name, about zombies how many (the population) fast_zombies Some(share 0..1) of them that are fast; None: population.ron's zombie_senses how sharp their eyes and ears are zombie_toughness their hit points zombie_accuracy how often their strikes land respawn Some(true/false): do far regions fill up again; None: population.ron's loot, rare_loot how much containers hold; how often the rare things turn up xp how fast skills grow needs how fast hunger, thirst and tiredness come infection Off | Survivable | Deadly day_minutes Some(real minutes a game day lasts); None: the game's own (60) tuning any other tuning number, set outright, e.g. tuning: (zombie: Some((memory_secs: 30)), combat: Some((player_hp: 150)))The new-game screen lets the player change zombies, loot, xp, respawn, infection, the day’s length and the hour they wake on top of a preset. Names and numbers are ours.
Fields
Section titled “Fields”The file is one DifficultyData.
difficulty.ron, checked.
| Field | Type | What it is |
|---|---|---|
presets |
Vec<DifficultyDef> |
DifficultyDef
Section titled “DifficultyDef”One preset.
| Field | Type | What it is |
|---|---|---|
id |
String |
Lower-case letters, digits and _. |
name |
String |
|
about |
String |
A line for the new-game screen. |
zombies |
f32 |
How many zombies (a multiplier on the population). |
fast_zombies |
Option<f32> |
The share of them that are fast (None: the population file’s). |
zombie_senses |
f32 |
How sharp their eyes and ears are (a multiplier on their alertness). |
zombie_toughness |
f32 |
How much it takes to put one down (a multiplier on their hit points). |
zombie_accuracy |
f32 |
How often their strikes land. |
respawn |
Option<bool> |
Do far regions fill up again (None: as the population file says)? |
loot |
f32 |
How much there is to find, and how often the rare things. |
rare_loot |
f32 |
|
xp |
f32 |
How fast skills grow. |
needs |
f32 |
How fast hunger, thirst and tiredness come. |
infection |
Infection |
|
day_minutes |
Option<f32> |
Real minutes a game day lasts (None: the game’s own). |
tuning |
Tunings |
Any other tuning number, set outright (before the multipliers above). |
Infection
Section titled “Infection”What becomes of someone a zombie’s wound infects.
| Value | What it means |
|---|---|
Off |
Nobody catches it. |
Survivable |
It burns out after the fever. |
Deadly |
It ends in death, and the body rises. |
Tunings
Section titled “Tunings”Tuning numbers a preset sets outright. Each is the whole tuning, with what the preset leaves out at its default: zombie: Some((memory_secs: 30)).
| Field | Type | What it is |
|---|---|---|
zombie |
Option<crate::ai::ZombieTuning> |
|
combat |
Option<crate::combat::CombatTuning> |
|
health |
Option<crate::health::HealthTuning> |
|
needs |
Option<crate::needs::NeedsTuning> |
|
carry |
Option<crate::inventory::CarryTuning> |
|
movement |
Option<crate::players::MoveTuning> |
Speeds and endurance (crate::players::MoveTuning). |
ZombieTuning
Section titled “ZombieTuning”Zombie senses and behaviour numbers. Part of WorldConfig; serde with defaults for every field, so a data file or sandbox options can override just a few. Distances in metres, times in seconds.
| Field | Type | What it is |
|---|---|---|
sight_day |
f32 |
Range dead ahead at a walking, moving player in full daylight / at night. |
sight_night |
f32 |
Range dead ahead at a walking, moving player in full daylight / at night. |
sight_cone_deg |
f32 |
Half-angle of the full-range cone, and of the wider peripheral cone (degrees). |
peripheral_deg |
f32 |
Sight. |
peripheral_mult |
f32 |
Range multiplier in the peripheral band. |
rear_range |
f32 |
Range behind the zombie (outside the peripheral cone), before the stance multiplier. |
sneak_sight_mult |
f32 |
Range multipliers for a sneaking / running player, and for one standing still. |
run_sight_mult |
f32 |
Range multipliers for a sneaking / running player, and for one standing still. |
still_sight_mult |
f32 |
Range multipliers for a sneaking / running player, and for one standing still. |
sure_sight_frac |
f32 |
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 |
f32 |
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 |
u8 |
Each zombie looks once every this many ticks. |
chase_sight_mult |
f32 |
A chaser keeps its own player in view out to this multiple of the range, without luck. |
window_sight_mult |
f32 |
Range multiplier when it looks through a window (shut, open or broken): a survivor indoors is hard to make out from the street. |
alertness |
(f32, f32) |
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 |
f32 |
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 |
f32 |
Footstep noise radius per tick while moving, by stance. |
walk_noise |
f32 |
Hearing. |
run_noise |
f32 |
Hearing. |
door_noise |
f32 |
A door opening or closing. |
groan_noise |
f32 |
A hunting zombie’s groan, and the seconds between groans. |
groan_min_secs |
f32 |
Hearing. |
groan_max_secs |
f32 |
Hearing. |
alert_groan_secs |
f32 |
About how soon a zombie groans after first noticing someone. |
wall_muffle |
f32 |
Fraction of a sound’s radius that carries through walls (no line of sight). |
herd_chance |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
How long a chaser keeps after a player it can’t see. |
investigate_secs |
f32 |
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 |
f32 |
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 |
f32 |
Speed multiplier while investigating (of the zombie’s own top speed). |
wander_speed |
f32 |
Idle shuffle speed. |
search_radius |
f32 |
Milling about around a point it reached: how far it strays. |
lunge_range |
f32 |
A chaser this close (centre to centre) with line of sight lunges. |
lunge_secs |
f32 |
Lunge and attack. |
lunge_speed_mult |
f32 |
Lunge speed: the zombie’s speed times this, but at least lunge_min_speed. |
lunge_min_speed |
f32 |
Lunge speed: the zombie’s speed times this, but at least lunge_min_speed. |
lunge_cooldown |
f32 |
Lunge and attack. |
attack_reach |
f32 |
Strikes land within this distance (centre to centre). |
attack_windup |
f32 |
Seconds from reaching a player to the first strike, and between strikes. |
attack_cooldown |
f32 |
Lunge and attack. |
attack_leave |
f32 |
It gives up attacking and chases again once the player is this much beyond reach. |
door_hp |
f32 |
Hit points of a shut door and of an intact window. |
window_hp |
f32 |
Doors and windows. |
thump_damage |
f32 |
Damage per thump, and seconds between one zombie’s thumps (each jittered by ±20%, so a crowd doesn’t thump in step). |
thump_cooldown |
f32 |
Doors and windows. |
thump_reach |
f32 |
A zombie this close to a door or window (centre to edge) can batter it. |
thump_noise |
f32 |
Noise radius of one thump, of glass breaking (battered or smashed by a player) and of a door giving way. |
glass_break_noise |
f32 |
Doors and windows. |
door_break_noise |
f32 |
Doors and windows. |
window_noise |
f32 |
A player opening or closing a window (quieter than a door). |
climb_speed |
f32 |
Top speed while climbing through an open or broken window. |
thump_interest_secs |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
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 |
u32 |
Corpses kept at most (the oldest go first), and how long one lies before it’s removed. |
corpse_secs |
f32 |
Corpses. |
knockback_slide |
f32 |
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). |
CombatTuning
Section titled “CombatTuning”Player health and every combat number that isn’t a weapon’s. Serde with defaults, like crate::ZombieTuning. Distances in metres, times in seconds, chances 0..1.
| Field | Type | What it is |
|---|---|---|
player_hp |
f32 |
A player’s full hit points. |
zombie_hp |
(f32, f32) |
Zombie hit points are rolled per zombie in this range. |
tired_below |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
An action asked for this close to the end of the last one is queued instead of dropped. |
multi_hit_falloff |
f32 |
Each target after the first in one swing takes this much more of the damage (0.8 → 80%, 64%…). |
behind_dot |
f32 |
A zombie facing away from the attacker (its forward · attacker→zombie above this) is hit from behind. |
behind_crit_bonus |
f32 |
From behind: added crit chance, and knockdown chance multiplier. |
behind_knockdown_mult |
f32 |
Hitting. |
staggered_knockdown_mult |
f32 |
Knockdown chance multiplier against a zombie already staggered. |
stagger_secs |
(f32, f32) |
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 |
(f32, f32) |
Hitting. |
shove_range |
f32 |
Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
shove_arc_degrees |
f32 |
Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
shove_targets |
u32 |
Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
shove_knockback |
f32 |
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 |
f32 |
Knockdown chance of a shove (it always staggers), before the staggered / behind multipliers. |
shove_weapon_range |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
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 |
u32 |
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 |
f32 |
Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
shove_seconds |
f32 |
Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
shove_endurance |
f32 |
Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
shove_noise |
f32 |
Shove: hands, or the weapon held across the body, to push them off and make room to swing. |
stomp_range |
f32 |
Reach from the player’s centre to a downed zombie’s centre. |
stomp_arc_degrees |
f32 |
Stomp. |
stomp_damage |
(f32, f32) |
Stomp. |
down_head_offset |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
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 |
f32 |
Stomp. |
stomp_crit_multiplier |
f32 |
Stomp. |
stomp_windup |
f32 |
Stomp. |
stomp_seconds |
f32 |
Stomp. |
stomp_endurance |
f32 |
Stomp. |
stomp_noise |
f32 |
Stomp. |
zombie_hit_chance |
f32 |
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 |
f32 |
Zombie strikes. |
zombie_hit_max |
f32 |
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 |
bool |
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 |
f32 |
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 |
f32 |
A bullet’s damage to a player is its damage to a zombie times this. |
pvp_blunt_gash |
f32 |
Chance a blunt weapon’s blow splits the skin (a gash, not a bruise); a crit always does. |
pvp_stopped_damage |
f32 |
A cut that clothing stops is a bruise, and takes this much of its damage. |
player_stagger_secs |
(f32, f32) |
How long a player reels from a blow, and how long one stays on the ground. |
player_down_secs |
(f32, f32) |
Players and each other (PLAN §4.8). |
lag_comp_max_secs |
f32 |
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 |
f32 |
A blow at a target nearer than the weapon’s close_range does this much of its damage. |
one_hand_power |
f32 |
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 |
f32 |
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 |
f32 |
With this share of its life or less left a weapon is battered, and does battered_damage of its damage. |
battered_damage |
f32 |
With this share of its life or less left a weapon is battered, and does battered_damage of its damage. |
broken_damage |
f32 |
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 |
f32 |
Each level of the weapon’s skill makes a knock this much less likely. |
found_wear_max |
f32 |
A weapon found in furniture has had at most this share of its life (0: every one is sound). |
HealthTuning
Section titled “HealthTuning”Every wound and illness number but the infection’s. Serde with defaults, saved with the world’s settings. Times in game hours, chances 0..1. Ours.
| Field | Type | What it is |
|---|---|---|
bruise |
WoundTuning |
|
scratch |
WoundTuning |
|
gash |
WoundTuning |
|
bite |
WoundTuning |
|
glass_cut |
WoundTuning |
|
burn |
WoundTuning |
A burn from standing in a fire (crate::fire): doesn’t bleed, hurts, heals slowly. |
heal_spread |
f32 |
Each wound’s healing time is rolled within ± this share of its kind’s. |
stitched_heal_speed |
f32 |
A stitched wound heals this many times as fast. |
dressed_gash_bleed |
f32 |
A dressed but unstitched gash still bleeds at this share of its rate. |
regen_awake_per_h |
f32 |
HP back per game hour with nothing bleeding or festering, no fever and not hungry; asleep more. |
regen_asleep_per_h |
f32 |
|
front |
PartWeights |
Where strikes land from in front and from behind (zombies reach the upper body best). |
behind |
PartWeights |
|
behind_dot |
f32 |
A zombie facing a player’s back (the player’s facing · the direction of the blow above this). |
strike |
StrikeWounds |
|
arm_power_per |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
arm_power_max |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
arm_time_per |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
arm_time_max |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
leg_walk_per |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
leg_run_per |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
leg_max |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
leg_gash_stops_running |
bool |
A gash or bite on a leg (not a foot) means no running. |
torso_regen_per |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
torso_regen_max |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
head_pain_mult |
f32 |
Effects of open wounds (each counted by its kind’s effect), with their caps. |
fester_undressed |
f32 |
Festering: chance per game hour by dressing; what it does. |
fester_dirty |
f32 |
Festering: chance per game hour by dressing; what it does. |
fester_clean |
f32 |
Festering: chance per game hour by dressing; what it does. |
fester_cleaned_mult |
f32 |
Cleaning a wound before dressing it multiplies the chance by this. |
fester_pain |
f32 |
Festering: chance per game hour by dressing; what it does. |
fester_heal_mult |
f32 |
Festering: chance per game hour by dressing; what it does. |
fester_hp_per_h |
f32 |
Festering: chance per game hour by dressing; what it does. |
smash_cut_chance |
f32 |
Smashing a window with no weapon cuts the hand that did it this often (gloved: the other). |
smash_cut_gloved |
f32 |
Glass. |
climb_cut_chance |
f32 |
Climbing in through a broken window: a cut on a hand, arm or leg this often (clothing protects). |
poison_hours |
(f32, f32) |
Food poisoning (#11 decides when; these are its numbers). |
poison_regen_mult |
f32 |
Food poisoning (#11 decides when; these are its numbers). |
poison_thirst_mult |
f32 |
Food poisoning (#11 decides when; these are its numbers). |
poison_rotten |
f32 |
Chances for mouldy or rotten food, stale food and unsafe water. |
poison_stale |
f32 |
Food poisoning (#11 decides when; these are its numbers). |
poison_water |
f32 |
Food poisoning (#11 decides when; these are its numbers). |
first_aid |
FirstAidTuning |
First aid: treatment times, dressings, painkillers, antibiotics. |
WoundTuning
Section titled “WoundTuning”One wound kind’s numbers.
| Field | Type | What it is |
|---|---|---|
damage |
(f32, f32) |
Hit points it takes at once. |
bleed_per_h |
f32 |
HP per game hour while it bleeds, and how long it bleeds by itself (None: until dressed). |
bleeds_for_h |
Option<f32> |
|
heal_h |
f32 |
Game hours to heal (each wound rolls ±HealthTuning::heal_spread of it). |
pain |
f32 |
|
protection |
f32 |
How much clothing counts against it (1 = its protection in full). |
effect |
f32 |
How much it counts toward arm, leg and torso effects (an open gash 1, a scratch half). |
can_fester |
bool |
PartWeights
Section titled “PartWeights”Where zombie strikes land: a weight per part (each arm, hand, leg and foot on its own).
| Field | Type | What it is |
|---|---|---|
head |
f32 |
|
torso |
f32 |
|
arm |
f32 |
|
hand |
f32 |
|
leg |
f32 |
|
foot |
f32 |
StrikeWounds
Section titled “StrikeWounds”Which wound a zombie strike leaves (weights), before clothing.
| Field | Type | What it is |
|---|---|---|
scratch |
f32 |
|
gash |
f32 |
|
bite |
f32 |
|
grabbed_bite_bonus |
f32 |
Added to bite when two or more zombies are on you, or the strike comes from behind. |
FirstAidTuning
Section titled “FirstAidTuning”First aid’s numbers (HealthTuning::first_aid). Seconds of play for the treatments, game hours for the rest. Ours.
| Field | Type | What it is |
|---|---|---|
dress_secs |
f32 |
|
plaster_secs |
f32 |
|
clean_secs |
f32 |
|
stitch_secs |
f32 |
|
pill_secs |
f32 |
|
remove_secs |
f32 |
|
own_hand_mult |
f32 |
Dressing a hand (with the other one) takes this much longer. |
skill_faster_per_level |
f32 |
Each First Aid level makes treatment this much faster; from skill_stitch_level up, stitching hurts half as much. |
skill_stitch_level |
u32 |
Each First Aid level makes treatment this much faster; from skill_stitch_level up, stitching hurts half as much. |
plaster_clean_h |
f32 |
Hours a clean dressing stays clean: a plaster, any other, and any other put on a bleeding wound. |
dressing_clean_h |
f32 |
|
bleeding_clean_h |
f32 |
|
clean_pain |
f32 |
Pain cleaning and stitching cause, and for how many game hours. |
clean_pain_h |
f32 |
|
stitch_pain |
f32 |
|
stitch_pain_h |
f32 |
|
painkiller_relief |
f32 |
Pain a painkiller dose takes away, for how long; this many doses at once make you drowsy. |
painkiller_h |
f32 |
|
drowsy_doses |
u32 |
|
antibiotic_course |
u8 |
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 |
f32 |
|
antibiotic_max_gap_h |
f32 |
|
antibiotic_cover_h |
f32 |
NeedsTuning
Section titled “NeedsTuning”Every needs and sleep number. Serde with defaults, saved with the world’s settings. Rates per game hour, needs 0..1. Ours.
| Field | Type | What it is |
|---|---|---|
hunger_per_h |
f32 |
|
hunger_asleep_per_h |
f32 |
|
thirst_per_h |
f32 |
|
thirst_asleep_per_h |
f32 |
|
run_thirst_per_h |
f32 |
Extra thirst per game hour spent running, and per swing. |
swing_thirst |
f32 |
|
tired_per_h |
f32 |
|
rest_bed_per_h |
f32 |
Tiredness lost per game hour asleep on a bed, a sofa, the floor. |
rest_sofa_per_h |
f32 |
|
rest_floor_per_h |
f32 |
|
mild |
f32 |
Where a need turns mild, strong and severe. |
strong |
f32 |
|
severe |
f32 |
|
hungry_regen |
f32 |
Endurance recovery while hungry, thirsty (multipliers; both can apply). |
thirsty_regen |
f32 |
|
starving_hp_per_h |
f32 |
HP per game hour starving, parched. |
parched_hp_per_h |
f32 |
|
starving_swing_power |
f32 |
Swing power while starving; swing time tired and exhausted; walking speed exhausted. |
tired_swing_time |
f32 |
|
exhausted_swing_time |
f32 |
|
exhausted_walk |
f32 |
|
tired_sight |
f32 |
The client’s view cone while tired or worse (a multiplier on its angle). |
tired_endurance |
f32 |
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 |
f32 |
|
pain_sore |
f32 |
Pain levels (sore, hurting, agony) and swing power at each. |
pain_hurting |
f32 |
|
pain_agony |
f32 |
|
pain_swing_power |
(f32, f32, f32) |
|
eat_secs |
(f32, f32) |
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 |
f32 |
|
waste_below |
f32 |
Food eaten with hunger under this does nothing for hunger. |
stale_food |
f32 |
Share of the hunger and thirst stale and mouldy food gives. |
mouldy_food |
f32 |
|
found_food_age |
(f32, f32) |
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 |
f32 |
No sleeping with tiredness below this; asleep, you wake once it’s below rested_below. |
rested_below |
f32 |
No sleeping with tiredness below this; asleep, you wake once it’s below rested_below. |
wake_noise_m |
f32 |
A sound this close (and loud enough to reach you) wakes you. |
hunger_wakes_after_h |
f32 |
Starving or parched, you wake after this many game hours asleep. |
floor_sore_pain |
f32 |
A night on the floor: pain for this many game hours. |
floor_sore_h |
f32 |
|
sleep_time_scale |
f32 |
Game time runs this many times as fast while every living player is asleep (1: never). |
sleep_through_night |
bool |
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. |
CarryTuning
Section titled “CarryTuning”Carrying: limits, burden stages and how long handling things takes. Serde with defaults, saved with the world like the other tunings. All numbers are ours.
| Field | Type | What it is |
|---|---|---|
limit_kg |
f32 |
What a player carries without effect (kg)… |
strength_kg |
f32 |
…plus this per Strength level. |
pockets_l |
f32 |
Room in pockets (litres), always there. |
burdened_at |
f32 |
Burden stages start at these shares of the limit. |
heavy_at |
f32 |
|
overloaded_at |
f32 |
|
max_load |
f32 |
Nothing more can be picked up past this share of the limit. |
burdened_speed |
f32 |
|
burdened_run_drain |
f32 |
|
heavy_speed |
f32 |
|
heavy_action_cost |
f32 |
Swings, shoves and stomps cost this much more endurance from Heavy on. |
overloaded_speed |
f32 |
|
move_secs |
f32 |
Seconds to move one stack, and one heavier than heavy_stack_kg. |
heavy_move_secs |
f32 |
|
heavy_stack_kg |
f32 |
Seconds to move one stack, and one heavier than heavy_stack_kg. |
reopen_secs |
f32 |
Seconds to open a container that has been searched before. |
use_secs |
f32 |
Seconds to eat or drink something. |
sneak_search_mult |
f32 |
Searching while sneaking takes this much longer, and makes this share of the noise. |
sneak_noise_mult |
f32 |
|
max_jobs |
u32 |
Jobs a player can have queued. |
MoveTuning
Section titled “MoveTuning”How fast a survivor moves and how its endurance (stamina) drains and comes back (WorldConfig::movement; ours). Saved with the world’s settings, and reachable from a difficulty preset’s tuning. The world hands it to its map (TileMap::movement), which is what step_movement reads, so a client’s prediction has the server’s numbers too (sent in the join’s tunings). The *_SPEED, RUN_DRAIN and *_ENDURANCE constants are its defaults.
| Field | Type | What it is |
|---|---|---|
walk_speed |
f32 |
Speeds in m/s, before load, wounds and needs (MoveMods). |
run_speed |
f32 |
|
sneak_speed |
f32 |
|
aim_speed |
f32 |
Walking while aiming. |
climb_speed |
f32 |
Top speed while climbing through a window or over a fence. |
run_drain |
f32 |
Endurance a second spent running. |
stand_regen |
f32 |
Endurance a second regained standing still (or sitting: SitTuning::endurance_regen on top). |
walk_regen |
f32 |
…walking (or aiming, or climbing): catching your breath on the move is slow. |
sneak_regen |
f32 |
…sneaking. |
run_min_endurance |
f32 |
Running needs more endurance than this; running down to it winds you. |
run_recover_endurance |
f32 |
Winded, you can’t run again until endurance is back above this. |
The file
Section titled “The file”The whole file as shipped
// Difficulty presets (sim::difficulty): what a new game offers under "World". Easiest first.// Every number is a multiplier on the game's own (1 = as shipped) unless it says otherwise;// anything left out is 1 (or the game's own).//// id, name, about// zombies how many (the population)// fast_zombies Some(share 0..1) of them that are fast; None: population.ron's// zombie_senses how sharp their eyes and ears are// zombie_toughness their hit points// zombie_accuracy how often their strikes land// respawn Some(true/false): do far regions fill up again; None: population.ron's// loot, rare_loot how much containers hold; how often the rare things turn up// xp how fast skills grow// needs how fast hunger, thirst and tiredness come// infection Off | Survivable | Deadly// day_minutes Some(real minutes a game day lasts); None: the game's own (60)// tuning any other tuning number, set outright, e.g.// tuning: (zombie: Some((memory_secs: 30)), combat: Some((player_hp: 150)))//// The new-game screen lets the player change zombies, loot, xp, respawn, infection, the day's// length and the hour they wake on top of a preset. Names and numbers are ours.[ (id: "easy_street", name: "Easy street", about: "Fewer of the dead, duller ones, and full cupboards. For learning the town.", zombies: 0.6, zombie_senses: 0.8, zombie_toughness: 0.85, zombie_accuracy: 0.8, loot: 1.5, rare_loot: 1.5, xp: 1.5, needs: 0.8, infection: Survivable), (id: "survivor", name: "Survivor", about: "The game as it is meant to be played."), (id: "hard_times", name: "Hard times", about: "More of them, sharper, and the houses have been picked over.", zombies: 1.5, fast_zombies: Some(0.25), zombie_senses: 1.15, zombie_accuracy: 1.1, loot: 0.7, rare_loot: 0.7, needs: 1.15, respawn: Some(true)), (id: "last_one_left", name: "Last one left", about: "The town is full, they miss nothing, and there is very little left to find.", zombies: 2.2, fast_zombies: Some(0.4), zombie_senses: 1.3, zombie_toughness: 1.15, zombie_accuracy: 1.2, loot: 0.45, rare_loot: 0.5, xp: 0.8, needs: 1.3, respawn: Some(true)),]