FF SUITEArma 3 addons

Gaze, teleport, rush, cleanup

Scare apparition internals

A per-viewer apparition created from Zeus. Each selected player gets a local billboard, eye lights, audio and stress effects; the server keeps the controller and viewer binding.

FF_Horror (systems/scare) 6 related functions

1. Binding

FFSC_zeusRequest validates the curator, creates a controller logic and stores viewer entries containing UID, connection and a reconnect flag. Clients check both before creating an apparition and on every frame it exists, so a selected UID keeps working across respawn and reconnect while an unselected player never sees anything.

2. Local frame loop

FFSC_tick is one local frame handler for all apparitions:

  • Position the billboard from the anchor plus camera-relative offset and scale.
  • Run gaze and occlusion tests at 10 Hz; billboard placement still runs every frame.
  • Raise overlay1 while watched, drain it while ignored.
  • Arm teleports only when idle and after the relocation cooldown.
  • Run the warning/rush timing and the flashlight interference.

3. Timing

PhaseDefault
Placement hold after appearing20 s (clamped to at least 20)
Gaze cone to arm a teleport12° held 0.35 s
Look-away release0.4 s beyond a wider angle
Chase warning / movement1 s / 1 s, synced to the audio
Overlay rise / fall / hold25 s / 15 s / 30 s
Jumpscare fade / hidden cooldown8 s / 20 s
Stamina hold / recovery10 s / 20 s

The rush does not move or injure the player. At impact stamina is capped to zero for the hold period and then released gradually; with ACE Advanced Fatigue the same cap applies to the anaerobic reserve, and overlapping scares use the lowest cap.

4. Audio

Four local positional sounds (cue, rumble, chase, jumpscare) use mono copies from media/sounds/scare3d/. Each apparition has one audio voice, so a new event replaces the previous sound and repeated teleports cannot stack rumble tracks.

5. Cleanup

Deleting the controller stops visuals, sound, flashes and stress on the next client frame. Death, soul phase, Zeus camera, mission cutscenes and map opening pause or clear local effects; the module stays authoritative, so nothing is permanently lost.

Related functions

  • FFSC_fnc_tick — Single local frame handler for every apparition: billboard placement, gaze tests at 10 Hz,
  • FFSC_fnc_zeusRequest — Validates a curator request, creates the retained controller logic, resolves viewers and p
  • FFSC_fnc_canView — Gaze and visibility test: inside the configured cone, on screen, and with an unobstructed
  • FFSC_fnc_teleport — Chooses a random dry, out-of-view position outside the rush zone with overhead clearance,
  • FFSC_fnc_clear — Removes local apparition visuals, lights, audio and stress contribution, and restores the
  • FFSC_fnc_audio — Plays one of the four local apparition sounds positionally and replaces the previous voice

↑ Back to top