6.6 KiB
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.
When all prisoners are down, authority evaluates a five-minute recovery forecast once per second. Blood and resilience must both cross their native wake thresholds. The copied-value model includes pending regeneration delays, bleeding (including tourniquets), native hit-zone multipliers, and finite saline/epinephrine rates and remaining durations. Passive resilience recovery is not double-counted during epinephrine treatment; uncertain post-treatment recovery retains the fallback. Wound healing alone does not count. The estimator never applies treatment or advances real effect timers.
If nobody can wake within 300 seconds, the existing 30-second defeat grace starts. Each fresh forecast can cancel it. A connected unconscious player with a usable injector also keeps the round alive when self-epinephrine is enabled; this uses the same inventory and native eligibility check as the Space action. Enabling the setting without carrying an eligible injector does not block defeat. Conscious reserved reconnecting prisoners and an evacuation carrying survivors retain their existing protections. Empty servers do not start this countdown.
Unsupported effects, active treatment interactions, and incomplete predictions fall back to the old observed-treatment/natural-recovery safeguards. In particular, changing blood-state bands can change native passive resilience rates: unless even an optimistic blood-only forecast cannot recover in five minutes, that case is reported as uncertain rather than assigned an invented wake time. There is no five-minute hard timeout for uncertain cases. Messages distinguish self-injection, expected timely recovery, uncertainty, and the 30-second defeat grace. Medical logs record forecast seconds (-1 means beyond the horizon; -2 means uncertain). 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 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 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 and near-combat 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.