Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
WarhammerWorkshop
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Spawn System
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
= The Enemy Spawn Director = The '''Enemy Spawn Director (ESD)''' monitors players throughout a mission and dynamically adjusts enemy spawns, locations, and numbers based on player performance. The ESD uses a system of '''''Stress Levels''''' and '''''Pressure''''' to regulate intensity, ensuring gameplay remains challenging without overwhelming players. For a detailed guide on spawn systems, see [[Spawn System Info]]. = Key Files Controlling the ESD = Many files contribute to enemy spawning, but the two primary files are: * '''esd_manager.sso''' * '''esd_factions_and_compositions_library.sso''' Both files control what enemies spawn, how many spawn, and under what conditions. = esd_manager.sso = The '''ESD Manager''' controls spawns during the [https://warhammerworkshop.com/index.php/Spawn_System_Info#Wave_Phase Wave Phase] of the spawn cycle, adjusting spawn rates and enemy types based on player Stress and Pressure values. Location: <code>server_pc\root\paks\server\default\default_other.pak\ssl\spawn_system\enemy_spawn_director\esd_manager.sso</code> [[File:Phase_Lenth.png|thumb|460px|Wave Phase settings inside the ESD Manager]] == Phase Length Settings == * Phases are categorized into '''SHORT''', '''NORMAL''', and '''LONG''' lengths based on Stress Level. * High Stress reduces Wave Phase time, while extending Breather/Tension phases. * All phase durations are measured in seconds. == Pressure Settings == * Spawns only occur once the player's '''Pressure Score''' exceeds a threshold. * Example: ** Standard spawn activation threshold: '''100 Pressure'''. Tuning these values modifies when and how enemy spawns escalate. [[File:Pressure_Settings.png|left|thumb|254px|Pressure settings for special enemies]] == Enemy Spawn Packs == Each spawn entry is called an '''Enemy Spawn Pack''' and contains: * '''isEnabled''': (''True''/''False'') flag to toggle the spawn. * '''minCount''', '''maxCount''', or '''amount''': control how many enemies spawn. * '''archetypeUid''': defines which enemy type spawns. * '''combatType''': (''ANY'', ''RANGED'', ''MELEE'') priority setting. * '''cooldown range''': sets minimum/maximum time before the spawn can reoccur. [[File:ESD_Manager_Spawn_Pack.png|thumb|Screenshot of a Spawn Pack setup]] == Extra Pack Variants == Spawn Packs can include additional units via '''extraPackVariants''', creating richer, more varied encounters. * Each variant must have a unique name (use underscores, no spaces). * Defined in ''SubPackDescs''. * Variants can specify: ** '''archetypeUid''' (enemy type) ** Spawn amount ** '''excludedDifficultyLevels''' (0 = Minimal, 5 = Absolute) == How Enemy Spawning Selection Works == Spawning is governed by [[wikipedia:Random_number_generation|Random Number Generation (RNG)]]. Each active spawn pack is selected randomly after cooldowns expire. === Cooldown Timers === * Separate cooldowns are maintained for different factions (e.g., Tyranids vs Chaos). * Cooldowns are measured in seconds. Example: * Base cooldown: '''240 seconds''' β New spawn selection every 4 minutes. === Difficulty Modifiers === * Cooldown times are multiplied based on difficulty: ** Easy difficulties: Cooldown Γ 1.5 ** Hard difficulties: Cooldown Γ 0.8 or lower Example: * Base cooldown: 240s * Modifier (1.5Γ): 360s * Modifier (0.7Γ): 168s = esd_factions_and_compositions_library.sso = The '''ESD Factions and Compositions Library''' manages spawning during the [https://warhammerworkshop.com/index.php/Spawn_System_Info#Tension_Phase Tension Phase]. Location: <code>server_pc\root\paks\server\default\default_other.pak\ssl\spawn_system\enemy_spawn_director\esd_factions_and_compositions_library.sso</code> [[File:Hormagaunt_spawn_picture.png|thumb|A Hormagaunt Spawn Pack example]] == Tension Phase Spawn Packs == * Packs define entire groups of enemies rather than single spawns. * Each Spawn Pack contains multiple '''SubPacks'''. Naming rules: * Spawn Pack names must be unique (only underscores allowed). * SubPack names must be unique within each pack. Example: * Spawn Pack '''HormagauntSergeants_idle''' includes: ** 20 Hormagaunts ** 5 Hormagaunt Sergeants == Behavior Settings == * '''packType''': defines behavior on spawn (''AGGRO'' or ''IDLE''). * '''combatType''': prioritizes ''RANGED'' or ''MELEE'' behavior. = What Can I Spawn? = By default: * '''Extremis''', '''Terminus''', and '''Mini-Boss''' enemies spawn primarily during Wave Phases (esd_manager.sso). However: * Any enemy type (Tyranid, Chaos, or others) can be spawned by specifying the appropriate '''archetypeUid'''. * Mixed spawns are possible β e.g., Rubric Marines spawning with Hormagaunts. See [https://warhammerworkshop.com/index.php/Enemy_Info#Archetypes Archetypes] for a full list of spawnable enemies. <blockquote>''This page is incomplete. The Tech-Priests recording this data exhausted their memory banks. Contributions are welcome.''</blockquote>
Summary:
Please note that all contributions to WarhammerWorkshop may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
WarhammerWorkshop:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)