Configuration guide - ysaroka/InediaInfectedAI GitHub Wiki
Configuration guide
This configuration guide contains comprehensive information on setting up the "InediaInfectedAI" modification. If you didn't find something, it is most likely because such mechanics are not present in the modification. The guide includes descriptions of all the existing mechanics in the modification, with links to the parameters that allow you to configure these mechanics, as well as providing links and information on how to adjust these parameters.
First, you need to add your SteamID to the administrators config to gain access to additional commands (entered in the game chat) and features of this mod. For instance, to be able to reload the mod config without restarting the server, or to receive information in the chat about the damage taken by a zombie/animal/survivor. Also, in case of errors in the configuration file, you as an administrator will receive a message about this in the game chat when logging into the server. Find out more on how to do this here.
Here you can find information about the mod configuration file, its location, nuances of configuring it, possible errors and reasons why configuration parameters may be ignored, as well as nuances of updating to a new version.
If you've changed a parameter and want to revert it back without deleting the current configuration file, you can check the current configuration file with default values here. It gets updated after each modification update.
Now regarding its configuration...
First and foremost, it's important to understand that ⚠ ANY ⚠ Zombies.* parameter (excluding the Zombies.Groups, Zombies.CustomIrritants and Zombies.ThrowingProjectiles configuration lists) can be configured for various types of zombies, while some parameters are also configurable for animals and survivors, as typically indicated in the parameter description.
Instructions on configuring parameters for different types of zombies can be found here.
Next, I will simply provide descriptions of the features and mechanics present in the modification and provide links to the parameters used to configure these features.
By default, the majority of these features are enabled (unless stated otherwise) and balanced for hardcore gameplay. There is no need to manually enable or disable them unless a specific mechanic doesn't suit your preferences.
- Settings for breaking doors, lockpicked doors, prohibiting the breaking of certain doors, and so on, are controlled by the parameters Zombies.BreakingDoors*. ⚠️ If your server uses custom doors opened by keycards - make sure to read this FAQ item.
- Zombies.BreakingDoors*
- When attempting to open a door destroyed by infected, the player receives an informational message. With this parameter, you can customize the type of this message (pop-up notification, in-game chat, disable the message):
- In this parameter group (DamageToZombie*), you can configure the HP of zombies (with a separate setting for leg HP), zombie defense against players/vehicles/explosions for various body parts, disable multi-damage (piercing damage affecting multiple body parts with a single hit), adjust zombie knockback when taking damage (shock), and set damage multipliers for different weapons against various creatures (including animals and characters):
- Zombies.DamageToZombie*
- Zombies.DamageToZombieHealthPoints*
- Zombies.DamageToZombieHead*Multiplier
- Zombies.DamageToZombieBody*Multiplier
- Zombies.DamageToZombieFromCarsMultiplier
- Zombies.DamageToZombieFromExplosionsMultiplier
- Zombies.DamageToZombieBodyPartsPiercingIsActive
- Zombies.DamageToZombieShockToStun*
- Zombies.DamageToZombieWeaponsMultipliers
- This parameter group (DamageToPlayer*) contains settings for various types of damage (health, shock, stamina, blood, bleeding chance) inflicted by zombies on players. Separate settings for each type of damage in a block.
- When hit by zombies, the player may become stunned (animation is interrupted, for about a second they cannot do anything, and they may also be pushed back and potentially fall from their elevated position). These parameters can be used to adjust the chance or disable this mechanic altogether.
- Characters (players, npc-survivors) have a pain mechanic. That is, when taking damage to limbs, they will receive various debuffs depending on the limb and the extent of its damage. These are debuffs such as reduced movement speed, decreased attack speed, stamina depletion, and disarming items from the player's hands (the debuffs depend on the damaged limb). The pain system also includes injuries like deep wounds, fractures, gunshot injuries and internal bleeding. If you want to completely disable the pain system, set the parameter Players.PainSystemIsActive to "0", this will completely disable the entire pain system, including debuffs and injuries (deep wounds, fractures, gunshot wounds), reverting everything to vanilla behavior. You can also completely disable the pain system specifically for damage caused by certain types of creatures. For example, you can disable it for players while keeping it enabled for infected, or disable it for animals, or for a specific type of infected. To do this, use the Zombies.PainToPlayerHandlerIsActive parameter along with the base or exact classes of the creatures you want to target. There is also the possibility to influence the resulting pain damage for any type of infected or creature and any limb using multipliers, parameters Zombies.PainToPlayer#LIMB#Multiplier and Zombies.PainToPlayer#LIMB#InBlockMultiplier. This way, you can create stronger and weaker creatures that inflict different amounts of pain, you can also use these parameters to disable the pain system for any specific limb by setting its value to "0". This mod also introduces a system of fractures, deep wounds, and gunshot injuries for each limb, as well as internal bleeding. If for any reason you want to disable these systems separately, you can set Players.LimbsBreakSystemIsActive, Players.LimbsDeepWoundSystemIsActive, Players.LimbsBulletSystemIsActive, or Players.InternalBleedingSystemIsActive to "0". As for the system of deep wounds and fractures, you don't have to disable it entirely. Instead, you can, for example, adjust the chances of these injuries occurring for each creature individually using the Zombies.PainToPlayerLimbsDeepWoundChancesMultiplier and Zombies.PainToPlayerLimbsBreakChancesMultiplier parameters. For more detailed information on configuring the pain system, see here. You can also read about the medical system affecting pain and injuries introduced by this mod here.
- Zombies.PainToPlayer*
- Zombies.PainToPlayer#LIMB#Multiplier
- Zombies.PainToPlayerLimbsBreakChancesMultiplier
- Zombies.PainToPlayerLimbsDeepWoundChancesMultiplier
- Players.PainSystemIsActive
- Players.LimbsBreakSystemIsActive
- Players.LimbsDeepWoundSystemIsActive
- Players.LimbsBulletSystemIsActive
- Players.InternalBleedingSystemIsActive
- When receiving damage from infected or animals - with a certain probability and under specific conditions, players may acquire agents of various diseases. Using these parameters, you can configure which agents are transmitted, the amount of agents transmitted, the transmission probability, and much more. Or you can completely disable this mechanic by setting parameter Zombies.DiseasesToPlayerHandlerIsActive to "0". For further details, refer to the parameter descriptions.
- Settings for zombie attacks on vehicles, vehicle damage, attacks on players inside vehicles, vehicle durability, as well as damage from collisions with vehicles. Also, if you're interested, you can read here about how the logic of attacking vehicles works.
- In the Vehicles.* section, the Vehicles.Noise parameter allows you to flexibly adjust the radius of zombie attraction caused by the noise of various vehicles. The Vehicles.CollisionsSoundThreshold parameter controls the sound emitted by the vehicle upon collision with infected, depending on the vehicle's speed. The Vehicles.CollisionsSpeedReductionMultiplier parameter sets the slowdown multiplier for the vehicle when colliding with infected. The Vehicles.CollisionsDamageSpeedThresholdKmH parameter sets the minimum speed threshold, above which the vehicle will start taking damage from collisions with creatures.
- Adjusting the zombie movement speed in different modes.
- Settings for jumping infected up and down (уou can configure the maximum jump height, jump frequency, and jump chance). Also, please note that there is a parameter Zombies.StuckJumpHandlerIsActive that allows infected to jump towards the player while attempting to escape from a stuck position. This parameter is independent of the up and down jump handlers and must be disabled separately.
- Infected and animals in this mod have a blood system, meaning they can die from blood loss when wounded. Using these parameters, you can configure various aspects of the blood system, such as blood volume, bleeding severity, regeneration rate. You can also disable blood splatters when creatures take damage or turn off the blood trails that wounded creatures leave on the ground. Additionally, if your clients experience performance issues due to a large number of blood particles, there are server parameters that allow you to globally configure a limit on the number of particles and their duration for all clients (BloodParticlesLimit, BloodParticleDurationSeconds). Ideally, these settings should have been moved to the client, but since I'm too lazy to create an interface, I didn't do that. If interested, you can read about how the blood system for infected and animals works here. ⚠️ If you have mutants or bosses on your server, read this.
- In this modification, infected have the ability to throw projectiles at players. Similarly, players can throw projectiles at infected and animals. Below are the settings related to this mechanic. You can also refer to the FAQ section for configuring this mechanic.
- If, for some reason, you are not satisfied with the projectile throwing mechanics or jumping mechanics, this modification offers another mechanic that prevents players from killing infected while sitting on obstacles without consequences. This is the mechanic of ranged attacks, whereby infected will reach out to attack the player at approximately the same distance at which the player reaches them. By default, it is turned off, but you can enable it, adjust the radius, obstacle height, or leave the parameters at their default values.
- Infected can react to various irritants, such as light and noise items, player noise, door noise, the noise of another infected's body falling, and the screaming of another infected. Their reaction to such irritants, as well as their ability to destroy light and noise items, is customized by the Zombies.React* parameters.
- You can also influence the time after which an infected will lose interest in the irritant if it cannot reach it. This is a global parameter and cannot be configured for a specific type of zombie.
- There is also an option to configure custom irritants, such as mod items that can be turned on and off.
- Using the parameters in the Zombies.Scream* group, you can configure various mechanics related to the infected's scream. For example, the probability that an infected will scream upon seeing the player (if the infected doesn't scream, they will attack silently, which also adds an element of surprise). You can also adjust the radius within which other infected are attracted by the scream, as well as the cooldown time before the next scream after one has been made.
- Since infected in the game can hear the sound of doors opening/closing, there is a mechanic for silently opening/closing doors in the game. If you disable the mechanic of quiet door opening/closing for players, zombies will also stop hearing the sound of door opening/closing. By default, the quiet door opening function is disabled in the modification, and only the quiet door closing function is active. However, if for any reason you wish to enable the quiet door opening function, please make sure to read this FAQ item.
- Infected in close combat have become slightly smarter. Now they recklessly rush only towards the player who has turned their back to them. However, if the player is facing them directly, the infected analyze the threat and may slow down at a certain moment, thereby dodging a powerful blow. This will create significant problems for those accustomed to killing infected with a precise head strike as they approach, already reflexively sensing when to strike. Now battles will become less predictable and more intense, as even a single infected under certain circumstances can inflict damage regardless of the player's experience and level of preparation in close combat. Using the following parameters, you can adjust the infected slow chance and cooldown, or disable this mechanic altogether.
- In this modification, infected can deliver a certain number of hits to the player after they lose consciousness. The parameter Zombies.AttackPlayersUnconsciousHitsLimit allows you to specify the number of hits that infected are allowed to make on the player while the player is unconscious. The purpose of introducing this parameter is to prevent abuse, where, with attacks on unconscious players disabled, players with fractures could deliberately lose consciousness in dangerous moments to avoid threats. Alternatively, if attacks on unconscious players are handled by another mod or you are not satisfied with this mechanic, you can completely disable it using the Zombies.AttackPlayersUnconsciousHandlerIsActive parameter, reverting to the vanilla behavior.
- Configuring the relationship between zombies/animals and NPCs (including AI-controlled bots).
- When infected take damage to their arms or legs from players, they receive various debuffs depending on the limb. These settings allow you to configure the strength of debuffs for damaged limbs of infected, as well as the spawning of infected with already damaged limbs. If you're interested in how the system of infected injury and debuffs works, you can read about it here. ⚠️ If you have mutants or bosses on your server, read this.
- Settings for infected damage upon falling from height.
- In this modification, there is a mechanic that allows infected to jump toward players when approaching them, attempting to stun. This adds extra challenges in dealing with the infected, as they gain an attack that always stuns the player while bringing the infected right up close. Using the following parameters, you can adjust the jump probability and cooldown, or disable this mechanic altogether.
- If you need the weapon to be knocked out of the player's hands with a certain chance when they receive damage from a creature, use these parameters. By default, these chances are set to 0%, meaning creatures do not knock weapons out of the character's hands. Do not confuse these parameters with parameter Zombies.PainToPlayerArms*DisarmMultiplier, which depends on the Inedia pain system and only works when the hands are damaged.
- Settings for infected smell perception, as well as other mechanics related to smells.
- The ability for infected to attack animals. If your server features custom animals and you want to flexibly configure their friendship with the infected, pay attention to parameter Zombies.AttackAnimalsCustom.
- You can enable or disable the ability to butcher zombies like animals, and also configure the list of items that will drop from them.
- When taking damage from zombies, the player's camera shakes, but this can be disabled.
- There is an option to configure the resistance of zombies to chemical zones.
- You can disable players ability to cripple infected legs, as well as configure the spawn of zombies with crippled legs.
- You can disable or enable searching of zombies/players bodies by players, as well as adjust the search time, or forbid searching if the player is holding something in their hands. You can also enable/disable debuffs if a player searches a body without gloves or a mask.
- If necessary, you can disable the ability for a player to perform a backstab on an infected.
- The following parameters can affect the vanilla visibility multiplier of a player by infected, for any time of day.
- If necessary, you can configure the size of infected, which will be randomly generated within the specified parameters from and to. By default, this option is disabled.
- There is an option to influence the multiplier of the vanilla noise level emitted by the player. In general, if you are interested in making infected less sensitive to player sounds, you need to study this FAQ item, as several mechanics are responsible for this.
- There is an option to make any clothing camouflage, affecting its visibility multipliers. It is possible to set the multiplier to "0", and infected will not see the player at all.
- This modification includes a mechanic that irritates the infected if a suppressed shot is fired more than once every 5 seconds. This slightly reduces the overpowered nature of silent weapons in the game, while still keeping them effective if you shoot no more than once every 5 seconds. This is configured by this parameter. Set it to "0" if you want to disable this mechanic, or you can also set the value of this parameter to something like "0.3" if you want the infected not to hear single suppressed shots, but still be able to hear automatic or burst fire, even when using a suppressor.
- Settings for the search sphere and extended search mode. Typically, this is not required, as the functionality has been thoroughly tested and is currently well-balanced and functioning as intended. You can learn about what search spheres are by watching this video (enable subtitles).
- This modification uses its own custom damage distribution system for limbs. For example, infected in this modification can attack the player's head, but if the player is blocking, the damage is redirected to the arms. If for any reason you don't like this mechanic, if you don't like that infected deal damage to the head and damage headgear, and you want to revert to the vanilla system, you can do so using this parameter.
- In this modification, pathfinding for infected is enabled by default both on water and underwater. This is done through the game config (
config.cpp
) and cannot be disabled through the configuration of this modification. However, you can disable their ability to walk on water, for this, please refer to this FAQ item.