FF SUITEArma 3 addons
Horror cover

API · FF: Horror

FF: Horror functions

Soul respawn, flying skulls, hordes, atmosphere director, scares, themed items and media.

147 functions 20 public 17 categories x\FF\addons\horror FF_horror.pbo

Soul respawn 23

Template arming, wake sequence, shield capsule, orb search and arrival. System internals

FunctionExposurePurposeLines
onPlayerKilled public Starts the configurable wake and soul search sequence after death. 170
onPlayerRespawn public Restores loadout and moves the respawned player to the selected destination. 86
seekRespawn public Lets a dead player fly as a soul to a configurable respawn object. 168
setOtherworld public Enables or removes local otherworld post processing, smoke, and light. 71
wakeLight public Creates a short local light trail in response to a soul wake key press. 27
wakeSoul public Space-bar struggle at the corpse. A shield is required to finish. 119
armSoulRespawn internal Hold the next respawn before death; the killed template alone can run too late. 30
cleanupWake internal Idempotent cleanup, including when a death sequence was terminated. 16
finishSoulRespawn internal Release the held respawn after either the altar scene or a Zeus recovery. 41
isSoulActive internal Shared local lifecycle query. Does not depend on atmosphere being started. 4
soulShieldActions internal Install the corpse interaction on each client's ACE menu. 16
soulShieldConsume internal Remove the capsule where its inventory is local, then acknowledge the server. 23
soulShieldRequest internal Server-side arbitration for using one soul shield on a player corpse. 47
soulShieldResult internal Finish a pending application; retry the helper's inventory if the corpse was looted. 23
soulSpawnPosition internal Resolve finite ATL coordinates to clear ground. Empty means use engine respawn. 25
zeusSoulApply internal Execute a curator recovery command on the affected player's own client. 59
zeusSoulCommand internal Send a command for the player selected in the curator soul panel. 12
zeusSoulEmergency internal Hard recovery when a soul script is stalled inside a callback or cutscene. 87
zeusSoulLoad internal Add a soul roster and recovery controls to vanilla curator and ZEN displays. 86
zeusSoulPublish internal Publish phase changes and orb positions, retaining the latest phase for JIP Zeus. 26
zeusSoulTick internal Draw orb nicknames in Zeus 3D view and refresh the recovery list. 32
zeusSoulToggle internal Show or hide the curator recovery panel. 10
zeusSoulUnload internal Detach soul overlays and controls when curator closes. 20

Flying skulls 10

Anchored actors, motion modes, local proxies and photo freeze. System internals

FunctionExposurePurposeLines
registerSkull public Enables an opt-in flying skull actor on a placed skull object for all players, including JIP. 62
skullCommand public [skull, "fly"/"traversal"/"patrol", optional anchor position ASL]. 23
skullHit public Applies a configurable hit to a registered skull and disables it when the hit limit is reached. 23
unregisterSkull public Disables a skull actor and releases its local render resources. 24
skullAttackEvent internal Client observations change only the server-owned attack state, never position. 35
skullLocal internal Renders and moves one local skull proxy with light and particles. 178
skullMotionPosition internal Pure shared motion evaluation. [fromASL, toASL, start, duration, arc, pausedAt]. 9
skullStartMotion internal Server-only trajectory publication. Clients and the server evaluate the same path. 26
skullTick internal Server-only arrival and patrol state machine; no dependency on a rendering client. 123
zeusSkullInit internal Optionally registers skulls placed or deleted by the local Zeus curator. 81

Spawning and hordes 15

Arrival scheduler, weighted pools, horde controllers and threat profiles. System internals

FunctionExposurePurposeLines
flyingSpawn public [unit OR class, destinationASL, options, optional horde controller]. 63
spawnPool public parse "Class=weight,Class=weight" without compiling user input. 30
hordeControl internal Public server API: ["create", centerASL, options] returns controller on server. 74
hordeDialog internal Drop at the horde centre, or open with an existing controller to edit future arrivals. 61
hordeManageDialog internal ZEN dialog for selecting a horde controller and editing, pausing, resuming or stopping it. 23
hordePosition internal Bounded terrain search; never silently spawn in water or outside the chosen radius. 27
spawnCommand internal Zeus UI requests go to the server. Core APIs also work in scripts without Zeus/ZEN. 59
spawnConfig internal Normalize public flying-spawn/horde options. Positions are ASL; radii are metres. 31
spawnFinish internal Server-only completion/cancellation; never called by the effect renderer. 65
spawnFX internal Client-only visuals. Server timestamps let late joiners catch up, never replay arrivals. 46
spawnLogic internal Internal, server-only: create a Logic in a local sideLogic group. 27
spawnPlaced internal Server-side Zeus filter; shared settings override per-curator settings when present. 22
spawnSettingsDialog internal ZEN dialog for automatic flying arrivals: per-Zeus or all-Zeus scope, class filter, flight options and enable/disable. 33
spawnTick internal One server scheduler for all jobs/controllers. At most one launch per horde per tick. 72
zombieProfile internal Returns [kind, weight, closeUrgency] for an enemy unit, recognizing WBK class names and falling back to the display name. 53

Atmosphere 5

Threat scoring, mood policy, music requests and whispers. System internals

FunctionExposurePurposeLines
atmosphereMoodRank internal Maps Horror atmosphere modes to the generic director's transition ranks. 17
atmosphereMusicRequest internal Publishes the atmosphere track state on the shared music timeline. 14
atmospherePlaybackStart alias Starts the native music follower plus the Horror cue and visual layer. 31
atmospherePlaybackTick internal Keeps themed overlay intensity and cancellable whisper cues outside the generic music owner. 33
atmosphereWhisper internal Plays only the still-current and eligible themed one-shot cue. 18

Scare entity 7

Gaze detection, teleports, rush timing, audio cues and cleanup (FFSC). System internals

FunctionExposurePurposeLines
audio internal Plays one of the four local apparition sounds positionally and replaces the previous voice so events never stack. 44
canView internal Gaze and visibility test: inside the configured cone, on screen, and with an unobstructed camera-to-image path. 11
clear internal Removes local apparition visuals, lights, audio and stress contribution, and restores the flashlight rendering gate. 32
stopAudio internal Stops the apparition's active audio voice and clears its handle. 14
teleport internal Chooses a random dry, out-of-view position outside the rush zone with overhead clearance, then relocates the local apparition. 35
tick internal Single local frame handler for every apparition: billboard placement, gaze tests at 10 Hz, overlay, teleports, warning/rush timing and flashlight interference. 336
zeusRequest internal Validates a curator request, creates the retained controller logic, resolves viewers and publishes the audience to all clients. 74

Persistence aliases 5

FFPP_* entry points that call the Utils recovery implementation. System internals

FunctionExposurePurposeLines
acknowledge alias Persistence entry point that calls the Utils implementation. 3
applyRestore alias Persistence entry point that calls the Utils implementation. 3
requestRestore alias Persistence entry point that calls the Utils implementation. 3
snapshot alias Persistence entry point that calls the Utils implementation. 3
zeusRequest alias Persistence entry point that calls the Utils implementation. 3

Atmosphere aliases 2

FFATM_* entry points for reports and curator requests. System internals

FunctionExposurePurposeLines
report internal Server-side entry for client threat reports. Validates the reporting unit and age, stores the sample and feeds the pressure calculation. 63
zeusRequest internal Server-side atmosphere control request used by the ZEN dialog: automatic mode, track, forced mood, priority track, horde cue and stop commands. 70

CBRN aliases 12

CBRN entry points exposed under the Horror prefix. System internals

FunctionExposurePurposeLines
cbrnAddActions alias Calls the owning implementation; state keys stay stable. 3
cbrnDecontaminate alias Calls the owning implementation; state keys stay stable. 3
cbrnGetConfig alias Calls the owning implementation; state keys stay stable. 3
cbrnGetDanger alias Calls the owning implementation; state keys stay stable. 3
cbrnGetProtection alias Calls the owning implementation; state keys stay stable. 3
cbrnGiveItem alias Calls the owning implementation; state keys stay stable. 3
cbrnRefresh alias Calls the owning implementation; state keys stay stable. 3
cbrnStart alias Calls the owning implementation; state keys stay stable. 3
cbrnStop alias Calls the owning implementation; state keys stay stable. 3
cbrnTick alias Calls the owning implementation; state keys stay stable. 3
cbrnUseItem alias Calls the owning implementation; state keys stay stable. 3
cbrnVisuals alias Calls the owning implementation; state keys stay stable. 3

Wardrobe aliases 18

Wardrobe and arsenal entry points under the Horror prefix. System internals

FunctionExposurePurposeLines
arsenalInit internal Register optional ACE Arsenal item tabs. Medical and Tools use ACE's own tabs. 26
wardrobeApplyStartingGear alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeBuildArsenal alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeClose alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeGetConfig alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeInit alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeIsElectronics alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeIsExcluded alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeIsVanilla alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeMissionItems alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeOpen alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeOpenClient alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobePreset alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeRegisterHandlers alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeReset alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeSanitize alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeSelfActions alias Calls the Utils implementation with the same arguments and state keys. 3
wardrobeSetConfig alias Calls the Utils implementation with the same arguments and state keys. 3

Circuit aliases 6

Interaction and circuit entry points under the Horror prefix. System internals

FunctionExposurePurposeLines
interactionAvailable alias Calls the Utils implementation with the same arguments and state keys. 3
interactionClientInit alias Calls the Utils implementation with the same arguments and state keys. 3
interactionExecute alias Calls the Utils implementation with the same arguments and state keys. 3
interactionInputs alias Calls the Utils implementation with the same arguments and state keys. 3
interactionItemCount alias Calls the Utils implementation with the same arguments and state keys. 3
interactionSignal alias Calls the Utils implementation with the same arguments and state keys. 3

Faulty optics aliases 4

Faulty-vision entry points under the Horror prefix. System internals

FunctionExposurePurposeLines
faultyVision alias Calls the Utils implementation with the same arguments and state keys. 3
faultyVisionMap alias Calls the Utils implementation with the same arguments and state keys. 3
faultyVisionReplace alias Calls the Utils implementation with the same arguments and state keys. 3
faultyVisionTick alias Calls the Utils implementation with the same arguments and state keys. 3

Gravity traps 4

Armed props that fire a single expanding wave with a configurable hit effect. System internals

FunctionExposurePurposeLines
gravityTrapRegister alias Arms an explicit object for a single expanding gravity trap. 31
gravityTrapTrigger alias Fires a registered trap once and applies its callback as the wave reaches players. 34
gravityTrapUnregister public Disarms a registered gravity trap without triggering it. 14
gravityTrapRequest internal Authenticates a player's inventory-open request for a trap. 19

Cinematic aliases 4

Camera, gravity and overlay entry points under the Horror prefix. System internals

FunctionExposurePurposeLines
cameraPath alias Calls the Cinematic implementation with the same arguments. 10
gravityPulse alias Calls the Cinematic implementation with the same arguments. 10
gravityPulseLocal alias Calls the Cinematic implementation with the same arguments. 10
overlay alias Supplies Horror overlay presets to the shared Cinematic renderer. 51

Zeus tools 17

Footer panels, look orders, horror dialogs and status publishing. System internals

FunctionExposurePurposeLines
registerHorrorStatus internal Register Horror counters with the shared Zeus monitor. 54
registerZeusFooterStatus alias Calls the shared Zeus tools. 3
statusSettingsDialog alias Zeus can adjust reporting rates without restarting or hiding operational status. 11
unregisterZeusFooterStatus alias Calls the shared Zeus tools. 3
zeusFaultyVisionDialog internal ZEN dialog wrapper for the faulty-vision module. Builds the action/target/category controls and calls the Utils module function. 18
zeusFooterClientTick alias Calls the shared Zeus tools. 3
zeusFooterInit alias Calls the shared Zeus tools. 4
zeusFooterLoad alias Calls the shared Zeus tools. 3
zeusFooterServerTick alias Calls the shared Zeus tools. 3
zeusFooterUnload alias Calls the shared Zeus tools. 3
zeusFooterUpdate alias Calls the shared Zeus tools. 3
zeusFooterWatch alias Calls the shared Zeus tools. 3
zeusGravityPulseDialog internal ZEN custom module entry point. ZEN supplies an ASL position and optional attached object. 18
zeusLookLoad alias Calls the shared Zeus tools. 3
zeusLookTick alias Calls the shared Zeus tools. 3
zeusLookUnload alias Calls the shared Zeus tools. 3
zeusSpawnInit internal Called on curator assignment/open. Hooks are installed once per local curator. 43

Eden modules 9

Module entry points for the horror attributes.

FunctionExposurePurposeLines
moduleCBRNSettings alias Calls the owning implementation; state keys stay stable. 3
moduleCBRNZone alias Calls the owning implementation; state keys stay stable. 3
moduleFaultyVision alias Calls the Utils implementation with the same arguments and state keys. 3
moduleFlyingSkull internal Registers all props synchronized to an Eden Flying Skull module. 43
moduleGravityPulse internal Eden module entry point for the gravityPulse function. 21
moduleInteraction alias Calls the Utils implementation with the same arguments and state keys. 3
moduleSoulSettings internal Applies optional Eden soul respawn settings without replacing scripted overrides. 31
moduleWardrobe alias Calls the Utils implementation with the same arguments and state keys. 3
moduleWardrobeSettings alias Calls the Utils implementation with the same arguments and state keys. 3

Runtime and startup 3

System entry points, projectile hooks and configuration lookup.

FunctionExposurePurposeLines
getConfig public Builds effective horror settings from CBA settings and mission overrides. 73
onProjectileHit internal Converts local projectile impacts on a skull proxy into server-authoritative skull hits. 21
startMissionSystems internal Opt in from initServer/initPlayerLocal. Each role/component starts once. 25

AI and document aliases 3

Balancing and document-reader entry points under the Horror prefix. System internals

FunctionExposurePurposeLines
aiBalanceReveal alias Calls the Utils AI ownership service. 3
aiBalanceTick alias Calls the Utils AI ownership service. 3
initDocument alias Document entry point that supplies the Horror lore library as the default directory. 4