Mission maker · chapter 03 of 06
World and AI / Atmosphere, scares, persistence, hordes, WebKnight
The mission-wide systems that run without a player touching them: mood, scares, reconnect recovery, arrival scheduling and the zombie pack you build around.
Atmosphere, scares, persistence
These three systems are plain entry scripts, deliberately not started by the addon. A mission opts in:
// initServer.sqf
[] execVM "\x\FF\addons\horror\systems\atmosphere\server.sqf";
[] execVM "\x\FF\addons\horror\systems\persistence\server.sqf";
[] execVM "\x\FF\addons\horror\systems\scare\server.sqf";
// initPlayerLocal.sqf
[] execVM "\x\FF\addons\horror\systems\atmosphere\client.sqf";
[] execVM "\x\FF\addons\horror\systems\persistence\client.sqf";
[] execVM "\x\FF\addons\horror\systems\scare\client.sqf";
Each script guards itself with a started flag, so double execution is harmless. Atmosphere auto-mood starts disabled and is enabled from Zeus when the briefing ends. Scare apparitions exist only where a Zeus creates one.
Spawning and AI
Flying arrivals and hordes are normally driven from Zeus, but the API is public and safe to call from mission scripts:
private _horde = ["create", AGLToASL [1000,1000,0], createHashMapFromArray [
["pool", "O_Soldier_F=5,O_Soldier_AR_F=1"],
["amount", 20], ["radius", 50], ["waves", 3],
["waveDelay", 30], ["maxAlive", 60], ["origin", "sky"]
]] call FF_horror_fnc_hordeControl;
["pause", _horde] call FF_horror_fnc_hordeControl;
["stop", _horde] call FF_horror_fnc_hordeControl;
AI ownership balancing is opt-in through the FF Utils / AI balancing CBA category and needs playable HC slots in
server.cfg to do anything useful.
Zombies: this addon uses WebKnight
FF Horror ships no zombies of its own. Every walking corpse in a FF Horror mission comes from the WebKnight (WBK) Zombies addon, which must be loaded alongside FF Horror on server and clients. FF Horror is the layer on top: it decides when, where and how many zombies arrive, it scores them by threat, and it feeds them into the atmosphere system.
What that means for you
- Add the WBK pack to the same mod list as FF Horror. Load order between the two does not matter.
- Spawn real WBK classes, not vanilla soldiers. A horde pool is a plain list of class names and weights:
"WBK_Crawler=3,WBK_Sprinter=1". - Leave the arrival filter at its default unless you know your class names. The default only accepts classes whose
name contains
zombie, which is what the WBK packs use. - Use All AI infantry only for deliberately mixed waves (soldiers + zombies). It is not the horror default.
Threat scoring you inherit
FF Horror knows the rough danger of the common WBK archetypes, so a horde of five Smashers is treated as far more serious than five Walkers: atmosphere tension, music choice and the Zeus footer all read that score. The built-in numbers (threat weight and the distance at which the entry becomes urgent) are:
| Archetype | Weight | Urgent from |
|---|---|---|
| Crawler, Walker | 0.15 | — |
| Triggerman / Shooter | 0.6 | — |
| Screamer | 0.5 | — |
| Shambler | 2 | — |
| Sprinter | 2.5 | — |
| Bloater / Boomer | 3 | 30 m (6 at 12 m) |
| Leaper | 6 | 15 m |
| Smasher | 16 | 30 m |
| Goliath / Goliaph | 50 | 45 m, combat on sight |
Unknown OPFOR classes get a neutral weight of 1 and are logged once, so a third-party zombie pack still
works — it just will not be scored as accurately.
Full list and reasoning: Lore → Bestiary.