FF SUITEArma 3 addons

Feature 02 / FF Horror

Death is ajourney

A respawn template that replaces the engine flow: a corpse camera, a wake bar that needs help, an orb that has to find a body, and an arrival that is validated before anyone stands up.

6 stages3 m corpse orbit2 s arrival travel1 template
soul respawnrespawn templateclient local
  1. 01
    Snapshot

    Body, class, loadout, facewear, death and spawn positions.

  2. 02
    Corpse camera

    A 3 m orbit that keeps tracking a body even if Zeus drags it.

  3. 03
    Wake bar

    Hold the wake key. Progress caps at 30% until a shield is used.

  4. 04
    Rise

    An orb lifts 1.2 m over three seconds and takes control.

  5. 05
    Seek

    Free camera plus candidate lines. Move, then arrive.

  6. 06
    Arrival

    Find an empty, dry, walkable position and release the hold.

Illustrative sequence. Every stage runs locally on the dead player's machine.

The sequence

Nobody stands up by accident.

FF_Horror_Soul is a respawn template, not a function you call. The engine runs the hooks; the template holds the respawn until the orb reaches a destination and the position passes validation.

Snapshot

Body, class, UID, loadout, facewear, death position, spawn position, phase, readiness and any early replacement unit. CBRN visuals are suspended so the corpse camera is clean.

Wake

Hold the wake key (Space by default). Progress caps at 30% until a shield is applied. Unshielded progress decays faster as it climbs.

Seek

EG Spectator starts and the orb follows the free camera. Candidates come from the mission callback or nearby objects and terrain objects, so map props without a simulation entity still work.

Arrival

The orb travels for two seconds. The destination is cached locally, so deleting the prop mid-cutscene cannot move the respawn.

Resolution

findEmptyPosition rejects water and slopes below 0.5 normal Z, with a wider fallback near the death position.

Release

The engine respawn is released with setPlayerRespawnTime 0, or an early unit is applied directly.

Co-op

The shield is a social object.

One ACE interaction

Using a soul shield sends a request to the server. The server validates actor, distance and target, then consumes FF_Horror_SoulShield from the corpse first and the helper second.

No double spend

The corpse keeps a receipt, so a retried request cannot consume a second capsule. The result is broadcast, so both players see the same outcome.

Empty casing

The inventory that supplied the shield receives FF_Horror_SoulShield_Empty. The economy is visible in the inventory, not hidden in a variable.

Wake cap

Without a shield the bar stops at 30%. A solo player can still recover, but it is slow and loud pressure to find a partner.

Failure handling

Broken scenes release, not trap.

SituationBehaviour
Mission respawn template disabledImmediately releases the respawn
Corpse deleted mid-sequenceDeleted handler recovers at the saved death position
Engine spawns the unit earlyUnit is hidden and applied when the sequence finishes
No valid destinationDeath position fallback, then engine placement
Stuck callback or cutsceneZeus emergency recovery clears UI, camera handlers and the hold
Another death during the sequenceNew state replaces the old sequence

Zeus Soul tools can force, recover or inspect a sequence without touching the mission scripts.

Tune it

Keep the template. Change the rules.

FF_horror_config = createHashMapFromArray [
    ["searchRadius", 700],
    ["arrivalDistance", 4],
    ["findDestinations", { params ["_unit", "_pos"]; /* array of candidates */ }],
    ["resolveSpawn", { params ["_unit", "_pos"]; _pos }],
    ["onDestination", { params ["_unit", "_dest"]; }],
    ["onRespawn", { params ["_new", "_old"]; }]
];

The mission can replace the geometry rules entirely and still keep the camera, wake bar, shield economy, Zeus recovery and cleanup.

Feature 02 / 08 Every system deep dive