Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
86 lines
5.4 KiB
Markdown
86 lines
5.4 KiB
Markdown
# Player injuries and team failure
|
|
|
|
Admitted players keep the same living, treatable body. Otherwise lethal damage
|
|
is capped just above hit-zone destruction and causes unconsciousness. Continued
|
|
bleeding still drains blood down to the protected minimum; protection never adds
|
|
health or blood. AI retain native lethal damage and recovery rules.
|
|
|
|
Bleeding uses native wound thresholds and damage after armour. The survival cap
|
|
applies to health loss, not to the severity used to decide whether a wound bleeds.
|
|
This matters especially for severe hits and already injured body parts: the
|
|
engine evaluates bleeding after deducting health. Minor hits below the native
|
|
critical threshold can still injure without bleeding.
|
|
|
|
Passive blood, wound and resilience recovery use one quarter of their native
|
|
rates. Bleeding prevents passive blood and consciousness recovery. Bandaging
|
|
stops the bleeding and lets blood improve gradually. With sufficient blood,
|
|
resilience recovers slowly and the player can eventually wake without an injector.
|
|
This is not an instant or periodic full heal. Saline restores blood through its
|
|
finite native infusion; epinephrine improves resilience over 30 seconds without
|
|
replacing blood or treating wounds. Medicine is not slowed by the passive-rate
|
|
setting. Duplicate epinephrine dosing is refused while its effect is active.
|
|
|
|
The round fails with **“Everybody died.”** after 30 uninterrupted seconds when
|
|
all remaining prisoners are unconscious, no conscious reserved prisoner can
|
|
reconnect to help, and nobody has treatment, observed recovery, or viable native
|
|
passive recovery. A bandaged casualty with a blood/resilience regeneration effect
|
|
also counts during the engine's initial regeneration delay. Full hit zones,
|
|
zero-rate effects, insufficient blood for resilience, and bleeding do not falsely
|
|
count as self-recovery. Waking, viable recovery, or treatment resets the timer.
|
|
An empty server does not start it. Existing all-dead/missing-body and exhausted
|
|
admission handling remains active.
|
|
|
|
The `recovery` fixture exercises the real team-failure timer and treatment on an
|
|
admitted prisoner. `medical-combat` checks an actual hunter medic's inventory,
|
|
bleeding, consumed bandages, slow blood recovery without saline, natural waking,
|
|
finite saline/epinephrine and protected fatal blood loss. The medical fixture
|
|
delivers minor and severe bullet damage through the native damage manager,
|
|
then seeds low blood for bounded recovery timing. Treatments enter at native
|
|
item-effect completion; these tests do not certify manual
|
|
interactions or remote multiplayer play. ACE medical overrides require separate
|
|
compatibility testing. The 25 September lethal-death result is historical and
|
|
has been superseded by the restored revivable-player policy.
|
|
|
|
## Bleeding correction, 29 September 2026
|
|
|
|
The [before-fix engine run](evidence/native-2026-09-29-bleeding-before/report.json)
|
|
reproduced a bullet wound without bleeding. The player survival cap was also
|
|
limiting the native evaluator's second damage calculation against the already
|
|
injured hit zone. Bleeding now evaluates damage after armour without that cap;
|
|
actual injury and blood loss retain their player-only protection.
|
|
|
|
The [corrected engine run](evidence/native-2026-09-29-bleeding-fixed/report.json)
|
|
passed 35 assertions: minor hits, wound-triggered bleeding, bandaging, slow blood
|
|
recovery, waking, finite saline/epinephrine, reopening a bandaged wound with an
|
|
otherwise fatal bullet, and protected fatal blood loss. Test actors are separated
|
|
from fighting, the healer is invulnerable, and the casualty remains damageable.
|
|
The recovery injury is calibrated to the prefab's native damage multipliers.
|
|
Earlier [extreme-injury](evidence/native-2026-09-29-bleeding-diagnostic/report.json)
|
|
and [near-combat](evidence/native-2026-09-29-bleeding-combat-diagnostic/report.json)
|
|
diagnostics are retained, including their failed recovery/actor-survival checks.
|
|
|
|
Repository checks passed. The final engine run had no script/runtime failures,
|
|
unchanged addon sources and confirmed cleanup. The strict runner still reports
|
|
13 inherited asset/localization errors. This is local scripted validation; no
|
|
Workshop publication or live-server update was performed.
|
|
|
|
## Local validation, 26 September 2026
|
|
|
|
Repository checks passed. The updated `medical-combat` engine fixture completed
|
|
32 assertions, including the actual SF UAZ medic's backpack and six injectors,
|
|
native bleeding, bandaging, blood recovery without saline, natural waking after
|
|
blood replacement, finite epinephrine, and a living unconscious body after fatal
|
|
blood damage. No script compilation or medical assertion failed in the final run.
|
|
The strict runner reported a transient process-cleanup classification failure;
|
|
a subsequent independent check confirmed the private prefix idle and unchanged
|
|
source hashes. Original reports and the unsuccessful diagnostic run are retained
|
|
under `.local/analysis/revivable-medical-2026-09-26/`. Loaded external/base assets
|
|
still emit their existing warnings; this does not certify remote multiplayer.
|
|
|
|
The subsequent `recovery` engine run verified natural recovery and active
|
|
medical treatment each keeping the full mission alive beyond 30 seconds,
|
|
waking the same admitted prisoner, resetting the failure timer, and automatic
|
|
team defeat after 30 seconds of unrecoverable unconsciousness. Source remained
|
|
unchanged and cleanup was confirmed. The strict asset-error scan still reports
|
|
existing inherited resource errors; all recovery assertions passed.
|