Left 4 Dead 2

Left 4 Dead 2

Special Infected Synchronization Bundle
 This topic has been pinned, so it's probably important
Taut  [developer] 18 Jan, 2024 @ 6:25pm
Special Infected Synchronization: Settings
Settings
AllowSpawnsDuringCrescendoSetup
Allows special infected to spawn in nav areas containing the `BATTLEFIELD` and `FINALE` spawn attributes.
CalculateAIDamageScore
Adds the amount of damage the special infected bots have done to the survivors to the team's damage count.
DynamicSpecialCount
Reduces the `MaxSpecials` variable depending on the amount of survivors currently alive.
DynamicSpecialTimer
Reduces the respawn timer depending on the amount of survivors currently alive.
EnableManualSpecialSpawn
Allows the `ManualSpawnCheck` function to control where special infected will spawn.
EnableSettingsChangeInChat
Determines whether settings can be viewed or modified in chat.
EnableSpecialAbilityCheck
Prevents special infected from using their abilities for a specified amount of time.
EnableSpecialStuckCheck
Allows special infected to respawn on top of other special infected or be killed if they are considered stuck on geometry.
EnableSpecialSyncNearLadder
Allows special infected to only attack together when the leading survivor is climbing a ladder that follows the escape route.
EnableSpecialSyncNearWitch
Allows special infected to only attack together when the Witch is aggroed.
EnableTongueDamage
Determines whether the Smoker's tongue does extra damage while a survivor is being pulled.
FlowDistanceFromSafeArea
Determines how far in flow distance the survivors have to be from the safe area before special infected are allowed to spawn even if a survivor is in the safe area.
ForceDropIncapped
Forces a SurvivorBot to stop reviving if an incapped survivor gets hit by an infected.
InitialSpawnDelay
Determines the minimum and maximum spawn delay for special infected at the start of each chapter.
LastSpawnedInterval
Determines the time limit special infected must spawn together before they are not allowed to spawn.
MaxSpecials
Controls the maximum amount of special infected allowed to be active at once.
MaxSpecialsTank
Controls the maximum amount of special infected allowed to be active at once while a Tank is in play.
OptimizeSpecialLimits
Determines whether to modify the limits for each special infected based on the `MaxSpecials` and `MaxSpecialsTank` variables.
OptimizeSpecialPriority
Makes special infected prioritize survivors that are not covered in vomit and are neither incapacitated nor dominated by special infected.
OverrideInitialSpawnDelay
Determines whether the `InitialSpawnDelay` options can be used instead for the initial spawn delay.
OverrideMaxSpecials
Allows the `SessionOptions` table to utilize the `cm_MaxSpecials` variable to forcefully modify the special infected count.
OverrideRespawnInterval
Determines whether the `RespawnInterval` options can be used instead for the respawn timer.
PreventAttacksDuringStagger
Prevents special infected from attacking during staggers.
PreventSettingsChangeForClients
Determines other players on the server besides the server host can view or modify settings in chat.
PreventUnfairSpawns
Prevents special infected from spawning if a cutscene is playing or if any survivor is still in the safe area within the specified flow distance.
RespawnInterval
Determines the minimum and maximum amount of time special infected will have to wait until they are able to spawn again.
ThinkInterval
Determines how often the VScript will run. Setting it to `-1` will force the VScript to run as fast as it can.
WaitForSpecialPlayer
Prevents special infected from spawning unless a player spawns first if any player is on the special infected team.
WaitForSpecialPlayerDelay
Allows special infected bots to still spawn for a certain amount of time after a special infected player dies.

Debugging
DebugDrawBoxAlpha
Determines how much of the draw box will be visible.
DebugDrawBoxRGB
Determines the color of the draw box.
DebugDrawBoxTime
Determines how long the draw box will be visible.
DebugDrawFilledAlpha
Determines how much of the filled nav area will be visible.
DebugDrawFilledRGB
Determines the color of the filled nav area.
DebugDrawFilledTime
Determines how long the filled nav area will be visible.
DebugDrawLineAlpha
Determines how much of the line will be visible.
DebugDrawLineRGB
Determines the color of the line.
DebugDrawLineTime
Determines how long the line will be visible.
DebugShowBasicInfo
Determines whether to print out basic info to the console.
DebugShowBuildPath
Determines whether to show the build path.
DebugShowCollisionLines
Determines whether to show collision lines.
DebugShowInfectedDamage
Determines whether to print out infected damage in the console if the game mode allowed player-controlled special infected.
DebugShowNavArray
Determines whether to print out nav arrays in the console.
DebugShowPotentiallyValidAreas
Determines whether to highlight potentially valid nav areas.
DebugShowSelectedSpawnBoxes
Determines whether to show bounding boxes when special infected spawn.
DebugShowSettingsFromChat
Determines whether to show the current settings.
DebugShowSurvivorIntensity
Determines whether to print out survivor intensity in the console.

Manual Special Spawn
BoundingHeight
How tall the tracelines will be to determine if the bounding box can fit in the desired area.
BoundingWidth
How wide the tracelines will be to determine if the bounding box can fit in the desired area.
BuildPathTeamID
Determines the type of build path special infected will prefer for valid areas.
CanSpawnOnNoFlowAttributes
Determines whether special infected can spawn on attributes that do not follow the flow.
CanSpawnOnObscuredAttributes
Determines whether special infected are allowed to spawn on attributes marked as `OBSCURED`.
CheckDoorsForBuildPath
Determines whether to check if a door is in the way of the build path.
CollisionForwardUnits
How far the start of the next traceline will move forward whenever it collides with a player or infected.
DespawnDelay
Requires special infected to stay out of sight at a certain distance for a specified amount of time.
DespawnFarInfected
Allows the infected to be relocated based on distance.
DespawnFlowDist
Infected must be farther than this option before they are allowed to relocate.
DespawnMinRange
How far the infected must be in flow distance for them to relocate.
DespawnRushingInfected
Determines whether common infected who are rushing should despawn if they are farther than the `DespawnFlowDist` and `DespawnMinRange` options.
DistanceCalculation
Determines how the navigation meshes will be sorted for special infected. Setting the option to `0` will sort the navigation meshes by distance, `1` will sort them by flow distance based on Units Increasing Toward Goal, `2` will sort them by flow distance based on Units Increasing Away From Start, `3` will sort the navigation meshes by distance plus flow distance based on Units Increasing Toward Goal, `4` will sort the navigation meshes by distance plus flow distance based on Units Increasing Away From Start, and `5` will sort the navigation meshes by the length of the build path if the `ValidateBuildPath` option is set to `true`.
DistanceChunkSize
Determines how many chunks of the nav array it will split into before it randomizes indexes in each one.
DistanceFlowWeight
Determines the weight of the flow distance. This only goes into effect if the `DistanceCalculation` option is set to either `3` or `4`.
DistanceLengthWeight
Determines the weight of the distance. This only goes into effect if the `DistanceCalculation` option is set to either `3` or `4`.
DistanceMaxPathLength
Determines how far the build path is allowed to travel.
DistanceOrder
Determines how the navigation meshes will be sorted for special infected. Setting the option to `0` will skip the sorting algorithm altogether, `1` will randomize the order, `2` will sort the navigation meshes from closest to farthest, and `3` will sort them from farthest to closest.
EnableBoundingCheck
Whether to utilize additional tracelines to determine whether special infected can fit in the desired position. Disabling this option can improve performance in some situations but can cause special infected to get stuck in odd spots more frequently.
EnableDistanceChunkRNG
Determines whether the sorted nav areas will be randomly reordered in chunks for all special infected.
EnableSpawnScalarOccupied
Determines whether to only allow nav areas to be considered valid if they are outside of the scalar's direction from the prioritized survivor's position to the nav area's position.
FlowDist
The minimum and maximum amount of flow distance special infected are allowed to spawn within.
OffsetTraceToBoundingBox
Determines whether to offset the tracelines to the left and right of the bounding box with the value set by the `BoundingWidth` option.
OrganizeDistanceByHeight
Determines whether to organize nav areas by their height before sorting them.
SpawnCollectChunks
Determines the maximum amount of nav areas that can be collected in chunks.
SpawnCollectLimit
Determines the maximum amount of nav areas that can be collected in total.
SpawnHeight
How high above the navigation mesh they are allowed to spawn.
SpawnPosChunkLimit
Determines how many times it is allowed to find a potentially valid spawn position on the given nav area before being forced to stop.
SpawnPosChunkSize
The minimum size required to begin picking a random vector on the nav area special infected will spawn at.
SpawnPreserveSize
Any navigation mesh larger than this can allow multiple special infected to spawn at the same spot.
SpawnRangeHeight
The maximum range special infected are allowed to spawn from the survivors in height.
SpawnRangeMin
The minimum range special infected are allowed to spawn from the survivors.
SpawnRangeValid
The maximum range nav areas should be from the prioritized survivor to be considered valid.
SpawnRangeValidIdleTime
Determines how long the prioritized survivor must be standing in place to consider using the `SpawnRangeWidth` variable instead.
SpawnRangeWidth
The maximum range special infected are allowed to spawn from the survivors in width.
SpawnScalarOccupiedGroupDist
Determines how close the survivors need to be to the prioritized survivor to add the occupied position to the other survivors' scopes as well.
SpawnScalarOccupiedLimit
Determines how many field of views will be scanned by the `SpawnScalarOccupiedRadius` option before the earliest one gets deleted.
SpawnScalarOccupiedRadius
Determines how wide the field of view will be from the survivor to the valid spawn area so the next special infected won't spawn within its radius.
SpawnScalarVisionLimit
Determines how high the special infected limit needs to be to use the `SpawnScalarVisionLimit` option.
SpawnScalarVisionRadius
Determines how wide the field of view will be from the survivor's line of sight so the next special infected won't spawn within its radius.
SyncOnSpecialPlayerSpawn
Prevents special infected bots from waiting for valid areas if a special infected player has already spawned. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
TraceMaskCollision
The traces to mask when determining if the bounding box of each special infected can fit in the desired area.
TraceMaskEntIgnore
How many entities can a traceline hit before it is forced to stop. Setting this option too high may cause the VScript to terminate prematurely if it takes too long to complete.
TraceMaskVisibilityMethod
Determines where in the VScript the trace lines will be performed when searching for spawn areas. Setting it to `-1` will draw trace lines while collecting navigation areas and before each special infected is spawned, setting it to `0` will only draw trace lines while collecting navigation areas, setting it to `1` will only draw trace lines before each special infected is spawned, and setting it to `2` or above will prevent trace lines from being drawn which is only useful for debugging.
TraceMaskVision
The traces to mask when determining whether survivors can see special infected.
ValidAreaFallbackCount
How many valid spawn areas must exist before special infected can reuse spawn positions as valid spawn areas.
ValidAreaGoal
How many valid nav areas need to be found before allowing special infected to spawn. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
ValidAreaGoalDuringPanicEvents
How many valid nav areas need to be found before allowing special infected to spawn while a panic event is active. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
ValidAreaGoalNearTank
How many valid nav areas need to be found before allowing special infected to spawn while a Tank is active. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
ValidAreaGoalNearestRadius
How many valid nav areas need to be found that are closer than the value set byy the `SpawnRangeValid` option before allowing special infected to spawn. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
ValidAreaGoalWithStrugglers
How many invalid nav areas need to be found before preventing special infected from spawning. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
ValidAreaMethod
Determines how the nav areas will be validated. Setting it to `0` will check if only the prioritized survivor can see the nav area, and setting it to `1` will check if all survivors can see the nav area.
ValidAreaSearchChunks
How many nav areas the `FindInvisibleAreas` function should search through in chunks. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
ValidAreaSearchInterval
Will only validate nav areas at set intervals. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
ValidAreaSearchLimit
How many nav areas the `FindInvisibleAreas` function should search through in total. This option only goes into effect if the `WaitForValidAreas` option is set to `true`.
WaitForValidAreas
Attempts to find a valid nav area before deciding whether to allow special infected to spawn.

Passive Ladder
ClimbDistanceToTopLadder
Determines how far the survivors need to be below the top of the ladder while climbing in flow distance for special infected to start attacking automatically.
FlowDistanceBehindLadder
Determines how far the survivors need to be behind the ladder in flow distance for special infected to start attacking automatically.
FlowDistanceMultiplicationMax
Determines the maximum number the flow distance will be multiplied by.
FlowDistanceMultiplicationMin
Determines the minimum number the flow distance will be multiplied by.
FlowDistanceMultiplicationSpeed
Determines the base survivor speed used for multiplying the flow distance.
MinimumLadderLength
Determines how long the ladder needs to be for special infected to wait until a survivor climbs it.
MultiplyFlowDistBySpeed
Allows the `FlowDistanceBehindLadder` option to be multiplied based on the average survivor speed.
MultiplyFlowDistByTime
Allows the `FlowDistanceBehindLadder` option to be multiplied based on the `RespawnIntervalMin` and `RespawnIntervalMax` options.
WalkDistanceToBottomLadder
Determines how close the highest flow survivor needs to be to the bottom of the ladder for special infected to attack. This only works for ladders that are lower than the `MinimumLadderLength` option.

Passive Witch
FlowDistanceAheadOfWitch
Determines how far the survivors need to be ahead of the Witch in flow distance for special infected to start attacking automatically.
FlowDistanceBehindWitch
Determines how far the survivors need to be behind the Witch in flow distance for special infected to start attacking automatically.
FlowDistanceMultiplicationMax
Determines the maximum number the flow distance will be multiplied by.
FlowDistanceMultiplicationMin
Determines the minimum number the flow distance will be multiplied by.
FlowDistanceMultiplicationSpeed
Determines the base survivor speed used for multiplying the flow distance.
MultiplyFlowDistBySpeed
Allows the `FlowDistanceBehindWitch` option to be multiplied based on the average survivor speed.
MultiplyFlowDistByTime
Allows the `FlowDistanceBehindWitch` option to be multiplied based on the `RespawnIntervalMin` and `RespawnIntervalMax` options.

Survivor Status
BiledPercent
The percentage of survivors needing to be covered in vomit for special infected to spawn as soon as possible.
ImmobilePercent
The percentage of survivors needing to be immobile for special infected to spawn as soon as possible.
IntensityDecrementDelay
How long the survivor need to be out of combat for their intensity to go down.
IntensityDecrementRate
How fast the survivor's intensity goes down.
IntensityIncrementRadius
How close survivors need to be to the common and special infected for the survivor's intensity to increment when they attack.
IntensityPercent
Whether a survivor's intensity has reached a certain percentage before taking their current health into consideration.
OutnumberPercent
The percentage of survivors that are left standing for special infected to spawn as soon as possible.
RushingVelocity
Determines how fast a survivor needs to be moving to potentially be considered a rusher.
SeparatedRange
How far two survivors need to be from each other for special infected to consider either of them as a priority.
SluggishHealth
How much health the survivors need to be at or below to count towards the `SluggishPercent` option.
SluggishPercent
The percentage of survivors needing to be at or below `SluggishHealth` for special infected to spawn as soon as possible.

Special Status
SpecialAbilityDelay
Prevents special infected from using their abilities for a specified amount of time once they spawn.
SpecialStuckTime
The amount of time special infected need to reach the specified velocity before they are killed off.
SpecialStuckVelocity
The minimum amount of velocity special infected must reach to be considered unstuck.
Last edited by Taut; 23 Jun @ 8:00pm