Left 4 Dead 2

Left 4 Dead 2

Special Infected Synchronization (Competitive)
Showing 81-90 of 134 entries
< 1 ... 7  8  9  10  11 ... 14 >
Update: 7 Jul, 2024 @ 5:00pm

Bug Fixes
  • Added another check to the `ShouldSpecialsSupportTank` function to see if the `EnablePassiveTank` option is enabled. This should allow special infected to spawn in with Tanks if the `ShouldAllowSpecialsWithTank` option is set to `true` and the `EnablePassiveTank` option is set to `false`.

Update: 7 Jul, 2024 @ 12:00pm

Additions
  • Added the `DespawnMinRange` option to the `manualspecialspawn.txt` file which determines how far the infected must be before they are allowed to relocate.
  • Added the `DespawnRushingInfected` option to the `manualspecialspawn.txt` file which determines whether common infected who are rushing should despawn if they are farther than the `DespawnFlowDist` and `DespawnMinRange` options.
Changes
  • Allowed special infected players to teleport closer to survivors while they are in their ghost state if their flow distance is greater than the `DespawnFlowDist` option.
  • Reverted the change that allowed infected to despawn if they are ahead of the leading survivor. They will still naturally despawn ahead of the survivors if they are on invalid navigation meshes.
  • Reverted the change that allowed infected to not despawn if they are on navigation meshes marked with either the `BATTLEFIELD` or `FINALE` attribute.

Update: 5 Jul, 2024 @ 6:22pm

Changes
  • Added two statements to the `CommonSeparationCheck` function to prevent common infected from despawning if they are on navigation meshes marked with either the `BATTLEFIELD` or `FINALE` spawn attributes while the `DespawnFarInfected` option is enabled.

Update: 5 Jul, 2024 @ 2:00pm

Changes
  • Used flow distance instead of distance for determining whether the special infected is farther away from the survivor with either the lowest or highest flow than the `DespawnRange` option. This should make it more accurate to Versus.
  • Special infected can now despawn if they are too far away while ahead of the survivors.
  • The `NavVisibilityCalculation` option should no longer have any influence for the `CommonSeparationCheck` and `SpecialSeparationCheck` functions.
  • Decreased the default value for the `FlowDistMax` option to `750`.
Bug Fixes
  • Removed the `DespawnInterval` from the `manualspecialspawn.txt` file as it is no longer needed. This fixes an issue where the respawn pop-up would constantly disappear even if the special infected player was far enough away.

Update: 4 Jul, 2024 @ 10:00am

Additions
  • Added the `SluggishIntensityPercent` option to the `settings.txt` file which determines whether a survivor's intensity has reached a certain percentage before taking their current health into consideration.
  • Added the `WaitForValidAreas` option to the `manualspecialspawn.txt` file which attempts to find a valid nav area before deciding whether to allow special infected to spawn.
  • Added the `SpecialsSupportFlowDistance` option to the `passivetank.txt` file which determines how close a Tank needs to be to the closest survivor in distance before allowing special infected to attack.
  • Added the `SpecialsSupportRange` option to the `passivetank.txt` file which determines how close a Tank needs to be to the closest survivor in flow distance before allowing special infected to attack.
Changes
  • Replaced the `foreach` loops in the `IsTankSpotted`, `ShouldTankEngageEarly`, and `IsHidingSpotRiskyForTank` with the closest survivor to improve performance.
  • Used the `IsAreaInvisible` function instead of using tracelines for the `CommonSeparationCheck` and `SpecialSeparationCheck` functions to improve performance.
  • Changed the `CanSurvivorsSeeSpecial` and `CanSurvivorsSeeTank` functions from integers to booleans to improve performance.
  • Set the `m_isCulling` net prop to `1` for special infected players if their distance is farther than the `RelocateRange` option and the `RelocateFarSpecials` option is set to `true`. This should allow special infected players to despawn like they normally would in Versus.
  • Special infected players who are killed will no longer reset the respawn timer.
  • Allowed the special infected bots to still spawn if a special infected player is in the dying state.
  • Replaced the `IsAnySurvivorIncapacitated` function with the `AreSurvivorsStruggling` function so the `ShouldSpecialsWaitForWitch` function can check if survivors are either sluggish, biled, or immobile before it decides whether special infected are allowed to spawn while a Witch is active.
  • Modified the `IsTankWithinFlowDistance` function to determine the flow distance from multiple survivors as opposed the prioritized survivor to make the Tank hide in the expected nav areas.
  • Modified the `SpecialStatus` function to see if a special infected has spawned before checking if the `special_percentage` local variable is lower than the `StopHidingSpecialPercent` option.
  • Modified the `SpecialSeparationCheck` function to despawn special infected bots if they are too far away based on the `DespawnRange` option.
  • Renamed the options related to `Relocate` in the `manualspecialspawn.txt` file to `Despawn`.
  • Removed the `StopHidingNearFlowDistance` and `StopHidingFarFlowDistance` options as the `HidingSpotFlowDistMax` and `HidingSpotFlowDistMin` options now take their role instead.
  • Moved some options related to the Witch from the `settings.txt` file to the `passivewitch.txt` file.
  • Moved some options related to both the Witch and Tank from the `passivetank.txt` file to the `settings.txt` file.
  • Increased the default value for the `HidingSpotFlowDistMax` option to `2000`.
  • Increased the default value for the `HidingSpotFlowDistMin` option to `500`.
  • Decreased the default value for the `BiledSurvivorsPercent` option to `25`.
  • Decreased the default value for the `HidingSpotRangeMax` option to `1000`.
  • Decreased the default value for the `NavTakenProximity` option to `50`.
  • Decreased the default value for the `PreserveNavSizeX` and `PreserveNavSizeY` options to `75`.
Bug Fixes
  • Reworked the `EnableSpecialAbilityCheck` option to fix an issue where the Jockey was still able to use his leap ability regardless of the value set by the `SpecialAbilityDelay` option.
  • Moved the `SpawnRangeMax` option out of the `foreach` loop from the `IsAnySurvivorTooCloseToArea` function to fix a bug where special infected would not spawn if any survivor was farther from the nav area than the `SpawnRangeMax` option.

Update: 25 Jun, 2024 @ 2:30pm

Changes
  • Added a call to the `IndividualSpecialsLimiter` function when the `OverrideMaxSpecials` option is enabled. Do note that either the `OverrideMaxSpecials` or `ModifySpecialLimits` option would need to be disabled to prevent the special infected from spawning if using the Admin System's `!director stop` command in chat.
  • Optimized the `IsTankCloseToDamageAttribute` function by determining the closest navigation mesh's position as opposed to the survivor's exact origin. This should improve performance in situations where the Tank cannot reach a survivor who is on an invalid navigation mesh.
  • Created a local variable to increase the value of the `CheckBuildPathLength` option based on the size of the navigation meshes containing the `DAMAGING` attribute.
  • Increased the default value for the `CheckBuildPathFlowDist` option to `1000`.
  • Increased the default value for the `NewBuildPathFlowDistMax` option to `1000`.
  • Decreased the default value for the `NewBuildPathFlowDistMax` option to `-1000`.

Update: 24 Jun, 2024 @ 11:55pm

Bug Fixes
  • Fixed a bug with the `OverrideMaxSpecials` option where the total special count would not update to the `MaxSpecialsTank` option when a Tank is active.

Update: 24 Jun, 2024 @ 10:00am

Additions
  • Added the `EnableBattlefieldRespawnInterval` option to the `settings.txt` file which determines whether the special infected's respawn timers will use the `BattlefieldRespawnIntervalMax` and `BattlefieldRespawnIntervalMin` options during panic events.
  • Added the `BattlefieldRespawnIntervalMax` and `BattlefieldRespawnIntervalMin` options to the `settings.txt` file which determines the minimum and maximum amount of time the special infected have to wait until they are able to spawn again during panic events.
  • Added the `LetTankThrowOnAnyAttributes` option to the `settings.txt` file which determines whether the Tank is allowed to throw rocks if he is standing on attributes not marked as `OBSCURED`.
  • Added the `CanSpawnOnNoFlowAttributes` option to the `manualspecialspawn.txt` file which determines whether the special infected can spawn on attributes that do not follow the flow.
  • Added the `NavVisibilityCalculation` option to the `manualspecialspawn.txt` file which determines how much of the navigation mesh should not be seen by any survivor to be considered valid. Setting this option to `0` will disable the visibility calculation, `1` will make the navigation mesh invalid if any part of it is visible to a survivor, and `2` will make the navigation mesh invalid if a survivor can see the majority of it.
  • Added the `CanHideOnObscuredAttributes` option to the `passivetank.txt` file which determines whether the Tank is allowed to move to areas marked as `OBSCURED` regardless of whether any of the survivors can see it.
  • Added the `CanHideOnNoFlowAttributes` option to the `passivetank.txt` file which determines whether the Tank is allowed to move to areas that do not follow the flow.
  • Added the `FindHidingSpotFlowDistMax` and `FindHidingSpotFlowDistMin` options to the `passivetank.txt` file which determines the minimum and maximum flow distance the Tank can find a place to hide.
  • Added the `AvoidDamageAttributes` and other related options to the `passivetank.txt` file which attempts to prevent the Tank from running into navigation meshes marked as `DAMAGING`.
  • Added the `EngageInterval` option to the `passivetank.txt` file which determines how fast the function will check to see if the Tank should engage with the survivors.
  • Added another number to the `DistanceOrder` option which randomizes the order of the navigation meshes in the array.
  • Different command variables can now be loaded for each map by adding the `convars_*mapname.txt` file to the `~/ems/sisync-comp/maps/convars/` directory.
Changes
  • Used the `GetCenter()` function for navigation meshes smaller than the `PreserveNavSizeX` and `PreserveNavSizeY` options so the special infected can spawn more often.
  • Added a check to the `CheckHiddenSpawns` function to prevent the special infected from spawning farther than `SpawnRangeMax`.
  • Renamed the `ModifyMaxSpecials` option to `ModifySpecialLimits` to better describe what it is intended to do.
  • Increased the default value for the `FlowDistMax` option to `1500`.
  • Increased the `DominatorLimit` variable to 3 if the `MaxSpecials` variable is less than 6 while the `EnableCustomSpecialLimits` option is set to `false`.
  • Removed the `RemoveAttributes` function as it was a rather hacky way to allow special infected to spawn.
Bug Fixes
  • Fixed a bug with the `WaitForSpecialPlayer` option where the special infected would not spawn if a player is on the `SPECTATORS` team.
  • Moved the `DeleteNavIndexes` function outside of the `foreach` loop in the `FindHiddenSpawns` function so the index search does not end prematurely.
  • Rewrote the `TotalSpecialsLimiter` and `SpecialModifier` functions to fix a potential index error that could occur if the `MaxSpecials` variable does not exist in the `DirectorOptions` table.
  • Reverted the `CommandABot` function for passive Tanks to `BOT_CMD_RESET` as they would still be moving to their hiding spots even when the statements say they should attack. If a new function is implemented in a future update that would remove `BOT_CMD_MOVE` queries, then I will change the `CommandABot` function again.

Update: 7 Jun, 2024 @ 10:00am

Additions
  • Added the `NavMaxInvalid` option to the settings.txt file which determines the maximum amount of invalid navigation meshes to ignore.
  • Added the `NavMaxValid` option to the settings.txt file which determines the maximum amount of valid navigation meshes to find.
  • Added the `WaitForSpecialPlayer` option to the `settings.txt` file which will only allow the special infected to spawn together if a player is able to spawn as a special infected. This only occurs if a player is on the special infected team.
  • Added the `ForceDropIncapped` option to the `settings.txt` file which forces a SurvivorBot to stop reviving if an incapped survivor gets hit by the infected.
  • Added the `SpecialTargetReviverRange` option to the `settings.txt` file which forces the special infected to target the closest survivor who is reviving an incapped teammate if they are within the specified distance.
  • Added the `CanSpawnOnObscuredAttributes` option to the `manualspecialspawn.txt` file which determines whether the special infected are allowed to spawn on attributes marked as `OBSCURED`.
  • Added the `RelocateCloseRange` option to the `passivetank.txt` file which forces the Tank to relocate to a new hiding spot if a survivor is within a certain distance from the Tank.
  • Added the `RelocateNearFlowDistance` option to the `passivetank.txt` file which forces the Tank to relocate to a new hiding spot if a survivor is within a certain flow distance from the Tank.
  • Added the `EngageDistanceDivider` option to the `passivetank.txt` file which determines whether the Tank should approach the survivors depending on the distance to the furthest flow survivor divided by this option.
  • Added the `StopHidingFarFlowDistance` option to the `passivetank.txt` file which forces the Tank to approach the survivors if he is too far away from them.
  • Added the `FrustrationLimit` option to the `passivetank.txt` file which determines how many times the Tank can be frustrated before he is forced to rush in.
  • Added the `DistanceCalculation` option to both the `manualspecialspawn.txt` and `passivetank.txt` files which determines how the navigation meshes will be sorted. 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, and `2` will sort them by flow distance based on Units Increasing Away From Start.
  • Added the `DistanceOrder` option to both the `manualspecialspawn.txt` and `passivetank.txt` files which determines the sorting order of the navigation mesh. Setting the option to `0` will sort the navigation meshes from closest to farthest while `1` will sort them from farthest to closest.
  • New `.txt` files can now be created for each map by adding them to the `~/ems/sisync-comp/maps/...` directory.
Changes
  • Sorted the navigation meshes from the closest to farthest distance before using trace lines. This improves performance if `EnableManualSpecialSpawn` is set to `true` and allows special infected to attack more efficiently.
  • Alllowed the special infected to spawn on navigation meshes with invalid flow distances so they could have more places to attack (ex. No Mercy's living room in Chapter 1).
  • Changed the name of the `StopHidingFlowDistance` option to `StopHidingNearFlowDistance` to make it distinguishable from the `StopHidingFarFlowDistance` option.
  • Changed the name of the `NavMaxTrace` option to `NavMaxSpotted` to make it distinguishable from the `NavMaxInvalid` and `NavMaxValid` options.
  • Allowed the special infected to spawn if a Tank is active and a survivor has left the safe area even if the furthest flow distance is below the `FlowDistanceFromSafeArea` option.
  • Allowed the special infected to spawn if a Witch is active and a survivor is incapacitated while the `EnableSpecialSyncNearWitch` option is set to `true`.
  • Set the default value for the `EnableManualSpecialSpawn` option to `true`.
  • Reduced the default value for the `NavMaxSpotted` option to `10`
  • Reduced the default value for the `FlowDistanceBehindWitch` option to `100`.
  • Reduced the default value for the `FlowDistMax` option to `750`
  • Reduced the default value for the `FlowDistMin` option to `-750`
Bug Fixes
  • Fixed a bug with the `EnableSpecialSyncNearWitch` option where the special infected would still spawn if the wandering Witch is idle.
  • Changed the `CommandABot` commands from `BOT_CMD_RESET` to `BOT_CMD_ATTACK` for passive Tanks. This should prevent the Tank music from occasionally resetting and potentially skipping the Tank fight in finales.

Update: 6 May, 2024 @ 10:00pm

WARNING: The new directory for the configuration files will be located at `~/ems/sisync-comp/...` instead of being included in an additional `cfg` folder. To transfer your settings, move the `convars.txt` and `settings.txt` file out of the `cfg` folder and simply place them in the `sisync-comp` folder.

Additions
  • Added the `EnableSpecialSyncNearWitch` option to the `settings.txt` file which allows the special infected to only attack together when the Witch is aggroed.
  • Added the `FlowDistanceAheadOfWitch` option to the `settings.txt` file which determines how far the survivors need to be ahead of the Witch in flow distance for the special infected to start attacking automatically.
  • Added the `FlowDistanceBehindWitch` option to the `settings.txt` file which determines how far the survivors need to be behind the Witch in flow distance for the special infected to start attacking automatically.
  • Added the `FlowDistanceBacktrackingWitch` option to the `settings.txt` file which determines how far the survivors need to be behind their furthest flow distance for the special infected to start attacking automatically.
  • Added the `MultFlowDistBehindWitch` option to the `settings.txt` file which multiplies the `FlowDistanceBehindWitch` option depending on the `RespawnIntervalMin` and `RespawnIntervalMax` options.
  • Added the `TankRockThrowRange` option to the `settings.txt` file which determines how close the Tank needs to be to the survivors to be allowed to throw rocks.
  • Added the `OverrideSpecialDirection` option to the `settings.txt` file which determines whether to allow the `PreferredSpecialDirection` option to override the variable set by the `SessionOptions` table.
  • Added the `SpecialPriorityTime` and `TankPriorityTime` options to the `settings.txt` file which prevents them from changing priorities to a different survivor for a specified amount of time.
  • Added the `ShouldAllowSpecialsWithTank` option to the `settings.txt` file which determines whether special infected are allowed to spawn while the Tank is active. Any other value will let the Director automatically handle this instead.
  • Added `EnablePassiveTank` and other related options to the `passivetank.txt` file which allows the Tank to go into hiding until certain factors arise (time exceeding `FrustrationTime`, survivors dominated/incapacitated by special infected, etc.).
Changes
  • Separated the options for `CustomSpecialLimits`, `ManualSpawnCheck`, and `PassiveTank` into their own `.txt` files located in `~/ems/sisync-comp/settings/` to make them easier to find.
  • Modified the parenthesis to cover the `trace.enthit.GetClassname()` variables instead of `entities_hit.rawin(id)` to further improve performance.
  • Changed the `TraceMaskCollision` option to `TRACE_MASK_VISION` to prevent the special infected from spawning into objects.
  • Increased the `BoundingWidth` and `BoundingHeight` to `32` and `80` respectively to reduce the odds of the special infected getting stuck in geometry.
  • Prevented the Tank from throwing rocks if any survivor is ahead of him in flow distance if `OptimizeTankPriority` is enabled.
  • Added the `sv_rescue_disabled` command variable to the `convars.txt` file which prevents survivors from being rescued from rescue closets like in Versus.
  • Added an optional rule to an `if` statement in the `ManualSpawnCheck` function that determines whether to forcefully add navigation meshes to `NavTable`. This is used by the `SpecialSeparationCheck` to add navigation meshes to the table when the special infected need to teleport closer to the survivors if they are ahead in flow distance so they aren't constantly using outdated navigation meshes.
  • Added an `if` statement in the `ConfigInitiate()` function to not forcefully set the `ShouldConstrainLargeVolumeSpawn` variable if the `PreferredSpecialDirection` option is neither `9` nor `SPAWN_LARGE_VOLUME`.
  • Added `IsValid()` to more `foreach` functions to reduce the odds of encountering index errors.
  • Simplified the folder structure in the `ems` directory to make it a bit easier to manage.
Bug Fixes
  • Removed `HasPlayerControlledZombies()` from the `CancelTankCelebration()` function and added `!IsPlayerABot()` to the `foreach` loop. This allows the AI-controlled Tanks to not celebrate when their attack succeeds even if a player is allowed to play as a special infected.
  • Grabbed the ID of the special infected through local variables instead of obtaining them from the `foreach` loops. This allows tables that make use of IDs such as the `StuckCheck` function to work as intended.
  • Added `tostring()` to the end of `SISync.Settings.ProhibitBosses` in the `ConfigInitiate` function to fix an issue where the `ProhibitBosses` variable might not be set to a boolean value.