DayZ
InediaInfectedAI
Showing 21-30 of 54 entries
< 1  2  3  4  5  6 >
Update: Jun 28, 2024 @ 3:54am

---------------- 🕓 🕗 🕛 ----------------
InediaInfectedAI v1.14
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) In the parameter "Zombies.DamageToZombieWeaponsMultipliers", the ability to specify not only weapons but also ammo has been added, allowing for more flexible configuration of damage to zombies.
For example, you can adjust the damage for a specific bullet or a specific type of attack, such as fist attacks regardless of the item held in hand.
More details can be found here:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesdamagetozombieweaponsmultipliers

☑️ 2) The vanilla mechanic for irritating the infected by officers has been disabled.
Prior to this change, it completely ignored the Inedia-mechanic, and officers always attracted the infected upon transitioning to the ALERTED state.
However, if you want to bring this mechanic back, you can read about how to do it here:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesscreamhandlerisactive

Additionally, the default configuration parameter "Zombies.ScreamAttractsZombiesInRadius" for officers was set to "100" meters and the chance of a scream ("Zombies.ScreamChancePercent") is increased from 25% to 50%.

☑️ 3) Fixed a bug where the infected would remain in a crouching position after jumping over a fence and would not exit this position unless hit.
Also fixed a conflict with the vanilla mechanics, which caused the infected to loop constantly, triggering the fence jumping animation.

☑️ 4) Added the ability to influence the degree of damage inflicted on player clothing by projectiles, but due to implementation specifics, this is done through a modification of config.cpp and applies universally to all projectiles:
https://github.com/ysaroka/InediaInfectedAI/wiki/FAQ#how-to-change-the-damage-of-players-clothing-by-projectiles-thrown-by-infected-and-players

☑️ 5) Due to the fact that after one of the DayZ updates the ability to adjust the relationships between predators and infected through the method ZombieBase.CanBeTargetedByAI(...) disappeared, it was decided to completely remove the predator-infected relationship mechanic.
Now they are always friendly towards each other, i.e., the vanilla mechanic is used.
Accordingly, the "Zombies.AttackAnimalsWolfs" and "Zombies.AttackAnimalsBears" parameters have been removed and are no longer relevant.
If you need to make the infected and predators enemies, this can only be done by modifying config.cpp. For this purpose, you can use a mod that makes this modification, such as the "Zombies vs Wolves" server mod:
https://steamcommunity.com/sharedfiles/filedetails/?id=2026455681

☑️ 6) The "Zombies.ResistContaminatedEffect" parameter can now be configured for animals as well.
If you already have animals for which protection from contaminated zones is configured via scripts, I recommend double-checking this functionality.
If, for some reason, your animals lose their protection against contaminated zones, you can disable the "Zombies.ResistContaminatedEffectHandlerIsActive" parameter for them, thereby restoring your mechanics.
Also, when using parameter "Zombies.ResistContaminatedEffect", it's important to remember certain limitations outlined here:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesresistcontaminatedeffect

☑️ 7) Added support for the "DayZ-Dog" modification.
Dogs no longer bleed out, and the interaction between dogs and infected is entirely managed by the "DayZ-Dog" mod.

You can always check what has changed in the default configuration file, which is updated after each modification update:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

Update: Jun 8, 2024 @ 3:18am

---------------- 🕓 🕗 🕛 ----------------
InediaInfectedAI v1.13
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) Fixed the logic for infected reaching their search goal in search mode.
Previously, the goal was considered reached if they approached within 2 meters of it, which prevented the infected from entering small spaces, such as balconies of buildings, as they would reach the goal point without stepping onto the balcony.
In the revised logic, the goal is considered reached if the infected approach within 1 meter horizontally and within 2 meters vertically.

☑️ 2) The parameters "Zombies.DamageToZombieShockToStunThresholdMelee" and "Zombies.DamageToZombieShockToStunLightHeavyAnimationThresholdMelee", responsible for configuring the stun animation for light melee attacks, have been removed.
Due to the way the light stun animation works, its constant activation caused infected to stop attacking the player, allowing for exploitation by killing infected of any difficulty without harm.
Now, light melee attacks use the fully vanilla stun logic.

☑️ 3) With the release of DayZ 1.25, the vanilla sounds of opening and closing doors started to attract infected very effectively within a radius of about 20 meters.
However, no option was provided for players to open doors quietly.
Therefore, it was decided to disable the vanilla mechanic of infected being irritated by door noise by default in this mod.
If for some reason you want to enable it again, you can do so using the parameter "Players.DisableVanillaDoorNoiseSystem":
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#playersdisablevanilladoornoisesystem

☑️ 4) Added the influence of Syberia "Stealth" skill on the noise made by players when jumping off obstacles.
Thus, players with upgraded stealth will land more quietly.

☑️ 5) Now limbs injury is correctly handled for the bots from the "DayZ-Expansion-AI" mod. Previously, they could take injury, but it would not heal over time.

☑️ 6) The bug has been fixed where the functionality allowing an infected to exit a stuck state was triggered during an animation.
This caused players to take damage while the infected was, for instance, in a stun animation.

☑️ 7) Fixed a bug where the bleeding visual effect for infected did not stop 20-40 seconds after death.

☑️ 8) Fixed an error:
NULL pointer to instance when trying to access variable 'ScreamHandlerIsActive' (Parent instance is null)
Function: 'HandleMindStateChange'
Stack trace:
InediaInfectedAI/scripts/4_World/InediaInfectedAI/entities/creatures/infected/zombiebase.c:1916

☑️ 9) The errors occurring in the admin logs of "VPPAdminTools" has been fixed:
NULL pointer to instance
Class: 'PluginAdminLog'
Function: 'PlayerHitBy'
Stack trace:
VPPAdminTools/4_World/vppadmintools\plugins\pluginbase\pluginadminlog.c:80
scripts/4_World/entities/manbase/playerbase.c:954
InediaInfectedAI/scripts/4_World/inediainfectedai\entities\manbase\playerbase.c:695

You can always check what has changed in the default configuration file, which is updated after each modification update:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

Update: May 28, 2024 @ 3:54am

---------------- 🕓 🕗 🕛 ----------------
InediaInfectedAI v1.12
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) Significant performance improvement + elimination of server freezes that occurred in large cities when spawning a large number of infected simultaneously.
- The vanilla Object.IsKindOf() method turned out to be rather slow, so it has been wrapped in a caching wrapper, which should improve performance.
- Added a small random delay to initialize the infected config from 0 to 1 second, thus excluding simultaneous initialization of multiple configs when a large number of infected are spawned and spreading it over time.

☑️ 2) Now the infected can hear when the player jumps over or off obstacles.
The noise depends on the height of the fall and ranges from 0 to 30 meters.
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesreactplayerfalldaynoise

☑️ 3) Changes to debuffs when a player receives head damage:
The duration of blurred vision upon being stunned has been increased to 10 seconds, and the duration of slowdown has been increased to 20 seconds.
However, stunning is no longer activated if the incoming shock-pain damage is less than 5 HP. If it exceeds this threshold, the duration of blurred vision and slowdown is calculated based on the damage received.
Therefore, when wearing a helmet and mask, the character may either not get stunned at all or experience a very short duration of it.
Meanwhile, a character without a helmet will experience prolonged stun and slowdown durations.

☑️ 4) Added inertia effect during infected stop phases in search mode.
Now, when the infected is close to reaching the current search target point, it will slow down, thereby eliminating abrupt animation jerks upon sudden stops at the target point.

☑️ 5) The logic of block penetration has been changed.
Now, when parameter "Zombies.DamageToPlayerHandlerIsActive" is disabled, block penetration will not occur, and consequently, receiving pain in the block and parameters "Zombies.PainToPlayer*InBlockMultiplier" will not work.
The influence on the appearance of block piercing animation from many other parameters, such as "Zombies.DamageToPlayerInBlockStaminaPercent", "Zombies.DamageToPlayerInBlockBloodPercent", "Zombies.StunToPlayerInBlockChancePercent", "Zombies.PainToPlayerArmsInBlockDisarmMultiplier", "Zombies.DiseasesToPlayerAgents" has also been removed, since block piercing animation is not required for these mechanics to work.

You can review the new block penetration logic here:
https://github.com/ysaroka/InediaInfectedAI/wiki/FAQ#infected-deal-damage-through-blocking-how-can-this-be-configured

☑️ 6) Now the mechanics of ranged attacks by infected (parameter "Zombies.RangeAttacksHandlerIsActive") no longer penetrate the player's block if any damage to the block is disabled.

☑️ 7) Now infected can knock off a splint from a player if they hit the leg, and break the leg again. Previously, a character with a splint was immune to fractures.

☑️ 8) Vanilla infected don't attack the player's head, but in this modification, they were allowed to do so.
However, it was not taken into account that when the health of the vanilla head zone drops to zero, the character dies.
Therefore, a fix was implemented, restoring the health of the vanilla head zone to maximum after each hit, thus preventing such player deaths.

☑️ 9) Now the modification fully supports "Polaris" and "Methadone" from "AdditionalMedicSupplies".

☑️ 10) Now the "Stealth" skill from the "Syberia Project" affects the Inedia-mechanics of irritating infected by the noise of footsteps.
There are currently no settings available to influence the range of the irritation radius, all parameters are hardcoded into the modification and cannot be changed.

☑️ 11) Added methods "InediaInfectedAI_Restrictions.PainSystem_PainkillersEffectIsActive(...)" and "InediaInfectedAI_Restrictions.PainSystem_MorphineEffectIsActive(...)" that, when overridden, allow any status or medicine affecting the player to have the effect of painkillers or morphine.

☑️ 12) In the default configuration, the infected "ZmbF_ClerkFat_Base" has been added to the "city" group, which was absent in any of the groups, hence it had no settings, for instance, it didn't throw projectiles.

You can always check what has changed in the default configuration file, which is updated after each modification update:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

Update: May 3, 2024 @ 3:10am

---------------- 🕓 🕗 🕛 ----------------
v1.11
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) Added admin command \ireload
With this command, you can reload the game configuration file (InediaInfectedAIConfig.json) without restarting the server.
That is, after making changes to the configuration file, it is not necessary to restart the server, it is sufficient to execute this command.
If there are errors in the configuration file after reloading, the default configuration file will be used, and a corresponding warning will be displayed in the in-game chat.
Also, now if an error is present in the configuration file, upon entering the game, the administrator will be issued a corresponding message.
The modification configuration will now become much easier!

Due to this change, the parameter "AdminsSteamIds" has been removed from the mod configuration and moved to a separate configuration file that will be used by all Inedia mods.
Here you can read where this file is located and how to obtain administrator privileges:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#admin-privileges-and-commands

☑️ 2) Significant changes in the functionality of infected speed control:
- The ability to control the speed of infected in CALM mode has been added, for which parameter "Zombies.SpeedLimitInCalmMode" have been introduced.
- Added parameters "Zombies.SpeedMinimumIn*Mode", allowing to specify the minimum value of infected speed in various modes:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesspeedminimumincalmmode
Regarding the CALM mode. As I mentioned before, the vanilla zombie control script really dislikes speed overrides, so even the slightest increase in speed would cause infected to get stuck on any obstacle. Therefore, a stuck handler was added for this mode. That is, now, if the speed of an infected in CALM mode is changed and they get stuck, the override speed will be disabled, and they will switch to a fully vanilla speed mode for 3 seconds. I'm not sure if this could cause any issues, but despite all these workarounds, it seems to have turned out quite well.
- Added parameters "Zombies.SpeedMultiplierIn*" allowing to configure the speed multiplier for infected. Thus, there is now the possibility to make them both very fast and very slow, disregarding vanilla restrictions. But this method has its costs, read more about them in the parameter description:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesspeedmultiplierincalmmode
- Added the "Zombies.SizeSpeedMultiplierScalingIsActive" parameter, which enables the influence of the infected size on the speed multiplier (by default, the parameter is enabled). Thus, the speed of the infected will now correspond to their size:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiessizespeedmultiplierscalingisactive
- Previously, there were occasional situations where infected would become irritated by something but wouldn't enter the search mode because there was no target. For example, when bullets were fired from a silencer and fell, or in the case of limiting the activation of the search mode by the parameter "Zombies.ReactVanillaMindstateChange". In such cases, the infected encountered a situation where their speed was not controlled because they were neither in search mode nor in chase mode.
This has now been corrected, and in the event an infected encounters such situations, the speed handler will consider them to be in search mode and apply the speed multipliers corresponding to the search mode.

☑️ 3) Added parameter "Zombies.DamageToZombieShockToStunCumulativeDamage", allowing to activate cumulative shock damage, which is used to trigger the zombie stun animation.
By default, the parameter is enabled, meaning that cumulative shock damage from all hits that occurred within the last 200 milliseconds will be used to trigger the stun animation, instead of just the last hit.
This is necessary for weapons that inflict small damage with a single bullet to have a chance to stun the infected if they inflict damage with multiple bullets within a unit of time.
For example, when firing a shotgun with buckshot, shock damage will be determined for all buckshot pellets, and therefore when firing a shotgun from close range, the infected will almost always be stunned.
The same applies to rapid-fire submachine guns, such as the MP5. The infected will not be stunned if you shoot with a single bullet. However, if you hold down the trigger and hit more than 2 bullets within 200 milliseconds, the infected will be stunned.
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesdamagetozombieshocktostuncumulativedamage

☑️ 4) The new parameter "Zombies.DamageToZombieShockToStunLightHeavyAnimationThresholdMeleeHeavy" has been added, allowing configuration of the stun effect on infected from heavy melee attacks (those performed by the player swinging).
By default, it is set to "0", meaning that all heavy melee attacks will stun infected.
Consequently, the default value of parameter "Zombies.DamageToZombieShockToStunLightHeavyAnimationThresholdMelee" has been changed to "100", as I believe regular melee attacks should not trigger heavy stun animations.

☑️ 5) Since the mechanics of stunning infected in this mod currently include vanilla mechanics but also add some features not present in vanilla mechanics, such as cumulative shock damage, it was decided to activate it in the default configuration by default: "Zombies.DamageToZombieShockToStunHandlerIsActive" => 1.
Naturally, this will not affect current configurations.

☑️ 6) For agents configured in parameter "Zombies.DiseasesToPlayerAgents", new parameters "AddChanceInBlock" and "AddAmountInBlock" have been added, allowing to specify the chance of receiving agents and the amount of agents during zombie attacks while the player is blocking.
Parameter "IgnoreBlock" has been deprecated and is no longer used.
Those who used it are advised to revise their configurations using the new parameters "AddChanceInBlock" and "AddAmountInBlock".
If this is not done, the default values of "AddChanceInBlock"/"AddAmountInBlock", which is "0", will be used, meaning agents will not be transmitted during zombie attacks while the player is blocking.

☑️ 7) The chance of a player being hit in the head by a creature has been increased from 10% to 15%.
Fighting without a helmet will now become slightly more challenging, as head damage entails increased shock damage.
However, blocking attacks still provides protection against head damage and redirects it to other parts of the body.

☑️ 8) The damage multiplier in the infected bleeding rate calculation formula has been increased from "0.3" to "0.5" and a dependency on blood damage is added to the formula. Consequently, the list of weapons capable of causing lethal bleeding has expanded.
Additionally, the default value of parameter "Zombies.BloodLossRateMaxMl" has been changed from "50" to "60". Thus, infected will die slightly faster from blood loss with sufficient damage.

The addition of a dependency on blood damage allowed for accounting for the armor of the infected when causing bleeding. That is, it will be problematic to cause bleeding to an infected wearing body armor by shooting the body, or shooting the head while they're wearing a helmet.

The remaining update details couldn't fit due to Steam limitations, but you can find them on Discord[discord.gg].

Update: Apr 20, 2024 @ 3:03am

---------------- 🕓 🕗 🕛 ----------------
v1.10
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) Helicopters from "DayZ-Expansion-Vehicles" mod did not attract infected with the noise of rotating blades, as the CarScript.EngineIsOn() method did not work for them, as well as methods for obtaining RPM.
Now this is taken into account, and engine activity and RPM are determined based on rotor rotation.
Be cautious, Expansion helicopters now attract infected!

☑️ 2) Infected now attack helicopters from the "DayZ-Expansion-Vehicles" mod, including using projectiles if the helicopter is within range of the projectile.
Now low-altitude flights will become less safe.
In the default configuration, "Zombies.AttackCarElementsMultiplierByCarClassId" damage configurations for helicopters have been added. The same has been done for expansion cars.

☑️ 3) Now, if a player is involved in an accident on any type of vehicle, they will receive limb injuries.

☑️ 4) Now, when colliding with a car, players receive limb injuries.

☑️ 5) Now projectiles damage the player's clothing.
Unfortunately, it cannot be configured, as the vanilla clothing damage mechanics are based on the "Ammo" that the projectile hits with.
And all Inedia projectiles use the same "Ammo" - "InediaInfectedAI_ThrowingProjectile".
I don't have time to implement either a clothing damage system or functionality that uses different "Ammo" for different projectiles.
Thus, all Inedia projectiles will damage the player's clothing equally.

☑️ 6) Now, when receiving damage from infected or animals - with a certain probability and under specific conditions, players may acquire agents of various diseases.
Уou 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:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesdiseasestoplayerhandlerisactive
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesdiseasestoplayeragents

This mechanic is enabled by default, but it will not affect existing configs, meaning in the current configs, it will be disabled because the agents are only configured for groups initialized upon creating the configuration file.
Therefore, if you want to add this mechanic to an existing config, you need to refer to the default configuration file, which shows how to configure the above-mentioned parameters:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

☑️ 7) Added the parameters to adjust the blood damage inflicted by zombies on the player.
By default, these parameters are set to "0", meaning blood damage is disabled.
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesdamagetoplayerbloodpercent
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesdamagetoplayerinblockbloodpercent

Also, a parameter "Parameters.TargetBloodDamage" has been added for projectiles, allowing to adjust blood damage. Naturally, this damage is disabled by default (the default value of the parameter is "0").

☑️ 8) Added parameter "Zombies.DamageToZombieShockToStunFromButtstockHit" allowing to configure the stun animation of the infected upon receiving damage from a weapon buttstock:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesdamagetozombieshocktostunfrombuttstockhit

☑️ 9) Added parameter "Players.QuietDoorOpeningMechanicDisabledForOpening" allowing to disable quiet door opening function while keeping quiet door closing.
By default, this parameter is enabled, meaning that in older configurations, quiet door opening will cease to function, while quiet door closing will remain active.
If you wish to restore quiet door opening functionality, set this parameter to "0".
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#playersquietdooropeningmechanicdisabledforopening

☑️ 10) By default, crawling infected are not allowed to break doors.
The parameter "Zombies.BreakingDoorsCrawlersChanceMultiplier" has been added, allowing to set the multiplier for the chance of door-breaking for crawling infected.
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesbreakingdoorscrawlerschancemultiplier

☑️ 11) The mechanics of zombie escape from a stuck position have been reworked.
There will no longer be situations where zombies jump onto obstacles towards the player due to this mechanic when up-jump handler is disabled.

☑️ 12) The collision functionality between jumping zombies and the player has been significantly reworked and optimized.
Now, situations where an infected deals damage to the player while standing nearby without performing any attacks will occur much less frequently.

☑️ 13) Now, infected are prohibited from jumping on each other, as this often led to situations where they would fall into objects they couldn't jump high enough onto, such as closed containers.
As a result, it was quite easy to gather all the infected inside such a container and leave them there.
Fixing this through some other means was not feasible, as the game engine does not register collisions of the infected with such objects, thus there was no way to determine when they should be stopped in jump.

☑️ 14) The \iiaiheal command now removes agents, bleedings, broken legs, bloody hands, arrows, and also adds a temperature boost.
Also, several more commands have been added to facilitate testing irritants: \iiaihealeq \iiaieq \iiaiday \iiainight \iiairain
More details here:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#adminssteamids

☑️ 15) Rebalance default parameters and mechanics:
- The amount of shock inflicted by a projectile with unspecified exact shock damage but calculated based on the projectile's weight has been doubled, meaning the maximum shock damage inflicted by such a projectile is now 60 instead of 30.
- The default multiplier for noise suppression inside the building (parameter "SoundInHouseMultiplier") has been changed from "0.6" to "0.5".
- The default range of the door opener irritant has been changed from 20 meters to 15 meters.
- Since only quiet door closing remains enabled by default, and this action itself is rare, the duration of quiet door closing (parameter "Players.QuietDoorOpeningMechanicSeconds") has been increased from "2" to "3" seconds.

You can view all the aforementioned changes in the default configuration file, which is updated after each modification update:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

The remaining update details couldn't fit due to Steam limitations, but you can find them on Discord[discord.gg].

Update: Apr 9, 2024 @ 2:20am

---------------- 🕓 🕗 🕛 ----------------
v1.9
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) Important change in the way player context variables are saved.
Now, for storing user variables associated with this mod, a custom storage located in the server's "mpmissions/#mission#/storage_*/inedia/" directory is used.
Thus, mandatory server wipe after mod installation are no longer required, and consequently, all related issues are likely to be resolved. Due to this change, current users may experience a reset of limb damage levels.
Due to the abandonment of storing user data in the global context, there will be a shift in variables within this context, potentially causing some issues with mods that utilize this global context, such as Syberia. However, all such problems can be resolved with a server wipe, and thereafter, they will never occur again.
Nothing can be done about this, and this fix was necessary sooner or later.

☑️ 2) Now, at the orange level of injury to arms/torso/head, the speed reduction will not be as significant. However, a medium speed reduction is retained at red levels of injury to arms/torso/head.
The speed reduction due to leg injuries remains unchanged.

☑️ 3) Added parameter "Players.PainSystemIsActive", allowing to completely disable the Inedia pain system. This is required, for example, for compatibility with Syberia, where its own pain system is present.
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#playerspainsystemisactive

☑️ 4) A new projectile parameter "Parameters.ThrowConditionAllowThrowingToAnimals" has been added, allowing to configure the possibility of infected throwing projectiles at animals. Consequently, a mechanic for infected throwing projectiles at animals has been implemented.

☑️ 5) A new projectile parameter "Parameters.TargetPainMultiplier" has been added, allowing to influence the pain damage inflicted by the projectile.
That is, now, in order to disable the pain inflicted by projectiles, it is not necessary to disable the projectile's shock damage, it is sufficient to simply set "Parameters.TargetPainMultiplier" to "0".

☑️ 6) The default value of the projectile parameter "Parameters.DestroyProjectileAfterSeconds" has been changed from "0" to "0.001", as by default the projectile should be destroyed immediately after launch, rather than upon impact with the target. This is because in the latter case, there may be situations where the projectile remains undestroyed on the server if it is in the air at the time of server restart.

☑️ 7) In this modification, there is a mechanic that allows the infected to escape from situations when they get stuck, for example, due to a faulty navigation mesh or for some other reasons. In this case, the infected performs a jump towards the player, attempting to get out of the stuck state.
Previously, this mechanic could not be disabled. However, now a parameter "Zombies.StuckJumpHandlerIsActive" has been added, allowing this to be done if necessary.

☑️ 8) Added support for modification "AdditionalMedicSupplies".
- Now the effect of "Polaris" pills of this modification affects injured limbs in the same way as vanilla painkillers.
- Now the effect of "Methadone" of this modification affects injured limbs in the same way as vanilla morphine.

However, this functionality is only implemented on the side of "InediaInfectedAI" and will not work without changes on the side of "AMS".
For some reason, the preloaded constant "AMS_AdditionalMedicSupplies" is not visible in "InediaInfectedAI", presumably due to the way it is initialized in "AMS".
If the initialization method is changed to CfgMods -> * -> defines[], everything works correctly.
Therefore, to make this functionality work, changes in the initialization method of the preload constant from the side of "AMS" are necessary, but I have been unable to contact the mod author to discuss this issue.

☑️ 9) An additional animation stance was allowed in the search mode. Accordingly, they will now move in search mode at different speeds and with more variety.

☑️ 10) A slight rebalancing of default configuration parameters:
- The parameter "Zombies.DamageToZombieHeadMeleeMultiplier" was configured for various infected protective groups ("highdef", "mediumdef", "lowdef").
Thus, the damage to the head with melee weapons has been reduced.
This was done because, based on my tests, it was quite easy to kill an infected with a single melee head hit. With practice, it became possible to do this consistently, rendering the infected no longer a significant threat.
Now, it is quite easy to kill infected in the head with weak defenses (village, city), and much more challenging to do so with infected with strong defenses (medics, soldiers, firefighters, etc.);
- For garbage projectiles, damage values and stun chance have been adjusted:
- "Parameters.TargetHealthDamage": 8 => 5
- "Parameters.TargetShockDamage": 16 => 20
- "Parameters.TargetStunChancePercent": 40 => 50
This is done because the projectiles should not kill but rather cause issues (limb damage, knocking the player off obstacles, loss of consciousness).
- The maximum height of the infected's jump has been changed from "1.5" to "1.7" meters.

Naturally, these changes will not affect existing configurations.

You can always check what has changed in the default configuration file, which is updated after each modification update:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

☑️ 11) Fixes:
- The mechanics of extending looting to nearby players (parameters "Zombies.SearchBodyExtendLootingToPlayersInRadiusMeters" and "Players.SearchBodyExtendLootingToPlayersInRadiusMeters") have been fixed. Those who changed this value to "0" can now revert it to "30", everything should work correctly.
- Optimization of the usage of the "ref" and "autoptr" keywords in the code, which should significantly improve performance.
- Fixed freezes occurring when dealing damage to infected. The freezes occurred because the projectile throwing animation was interrupted by the vanilla animation of the infected being knocked back from the damage.
- Fix the functionality of infected head rotations. Due to the high frequency of rotations, the player's network channel was getting congested, resulting in increased ping and lag when there were many infected nearby.
- The flaw in the game configuration has been fixed, which was causing the infected "ZmbM_PolicemanSpecForce" to receive significantly less damage than it should have.
- The error has been fixed where due to torso rotation animation, the scream animation didn't always trigger, but the irritation mechanism of nearby infected still activated, resulting in a silent irritation of nearby infected.
- The error has been corrected, due to which the infected and animals did not bleed from explosions.
- The "NavMeshChernarusFixes" and "NavMeshEnochFixes" parameters have been removed from the configuration file and are no longer used.

Update: Mar 20, 2024 @ 9:32am

---------------- 🕓 🕗 🕛 ----------------
The error has been fixed, and the mod has been updated to version 1.8.
---------------- 🕓 🕗 🕛 ----------------

Update: Mar 20, 2024 @ 6:38am

Rollback to version 1.7 due to an error

Update: Mar 20, 2024 @ 6:15am

---------------- 🕓 🕗 🕛 ----------------
v1.8
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) Now all configuration parameters "Zombies.*" support specifying base classes. Exact class names and groups still function as before.
An exact class name takes precedence over a base class, while a base class takes precedence over a group, and a group takes precedence over "all".
Also, class names are now case-insensitive.

As a result, the default configuration data has been significantly redesigned. Groups for all types of infected have been introduced:
city, villagers, industrial, military, police, prisoners, firefighters, medics, hunters, fishermen, priests

Groups for configuring damage and protection were also added. The aforementioned types of infected were assigned to these groups:
lowstr, mediumstr, highstr
lowdef, mediumdef, highdef

And now infected groups support nesting!
That is, for example, we can add groups "police" and "military" inside the "highstr" group. After that, all settings configured for the "highstr" group will also apply to the "police" and "military" groups.
The maximum allowed nesting is 10. If exceeded, the game's crash log will display a corresponding warning about the recursion depth. This is done to prevent situations where groups loop back on themselves, for example, if in the above example, the "highstr" group is added inside the "police" group, these two groups will loop back on themselves, resulting in a crash log message with the name of the group where the looping occurred.

☑️ 2) I am tired of numerous requests to do this, and finally, it's done. Projectiles throwing system have been implemented:
https://www.youtube.com/watch?v=hdeVlx3xM8U

Now you can make infected throw any items at players (sticks, stones, !!!power generator!!!, etc.).
The flight of projectile items is calculated according to all ballistic laws with numerous settings for the projectiles.
Flexible settings for damage, destruction, activation time and logic, speed, accuracy, throw chance, and projectile cooldown allow you to create projectiles for any need. Grenades, flash grenades, gas grenades, even "magical fireballs" - any ItemBase item, the possibilities are not limited.

Regarding the default configuration file...
By default, infected have two types of projectiles:
- The first type is ground garbage (sticks, stones). This projectile is infinite, but they can only throw it when the player is on an obstacle. They also throw this projectile very often.
- The second type consists of several thematic projectiles, depending on the infected locations (village, city, industrial zone, etc.). These projectiles are available only in limited quantities, with a 10% chance of throwing them and a 10-second cooldown even after an unsuccessful attempt. However, they can throw them even when the player is not on an obstacle. The damage, bleeding, or stun chance of these projectiles is determined by the type of thrown item and its weight. For example, a kitchen knife is more likely to cause bleeding when hitting a player, but it won't stun them, whereas a frying pan is more likely to stun a player without causing bleeding, whereas an axe is more likely to cause both bleeding and stun.

These changes will not affect current configurations, as there are no lists of projectiles or bindings of projectiles to infected groups in the current configurations, they only appear at the moment of creating the configuration file. Therefore, for the projectile mechanic to work, you will need to either update the configuration or manually add projectiles and bind them to the infected.

How to do this and how the projectile throwing mechanic is configured in general is described in detail here:
https://github.com/ysaroka/InediaInfectedAI/wiki/FAQ#how-to-configure-the-projectiles-throwing-system

Also within this mechanic implemented is a nice bonus: projectiles thrown by players at infected, animals or other players now deal damage to them. To disable this mechanic, you will need to deactivate the "Zombies.ThrowingProjectilesHandlerIsActive" parameter for class "SurvivorBase".

Since the projectiles throwing mechanic has been introduced, the maximum jump height in the default configuration (parameter "Zombies.UpJumpHeightMax") has been changed to 1.5 meters.

☑️ 3) 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. And it's logical, as they retained the basic instincts of self-preservation and survival, just like animals.
This mechanic 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.
Parameters have been added to specify the chance of an infected deciding to slow down, as well as the delay during which it cannot slow down after it has successfully or unsuccessfully attempted to do so:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesmeleeattacksdodgehandlerisactive
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesmeleeattacksdodgechance
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesmeleeattacksdodgecooldownseconds

☑️ 4) Now, in search mode, infected truly "search" for their target, randomly turning their head. Thus, a previously passing infected may now randomly turn their head towards you and notice you.
Additionally, if an infected knows the whereabouts of the target, they will always look in its direction, including upwards. As a result, situations where infected frequently lost sight of the target when it climbed onto a car or obstacle are now excluded. They will not lose sight of the target in such situations and will wait even more diligently for it to descend. This may seem like an insignificant change, but it's one of the most dangerous changes in this update. Now, escaping pursuit will be significantly more difficult.
Unfortunately, it wasn't possible to implement such a thing for the vanilla chase mode script, as the vanilla method of changing head rotation for some reason doesn't work.

☑️ 5) Now, if a player's arms are injured, any creature that deals damage to their arms has a small chance to knock the item out of the character's arms.
The chance depends on the degree of arms injury, the more damaged the arms, the higher the chance of disarming.
Default chances are set to be not very high, as this mechanic can create serious problems for the player in certain situations, such as when a creature knocks a melee or ranged weapon out of the player's arms. Furthermore, the chance of disarming only occurs if the player's arms are injured by more than 10%, otherwise, the chance is zero.
Parameters have also been added to allow for adjusting this chance or disabling this mechanic altogether:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiespaintoplayerarmsdisarmmultiplier

These parameters have been configured for various types of zombies. Details can always be found in the default configuration file, which is updated after each modification update:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

The remaining update details couldn't fit due to Steam limitations, but you can find them on Discord[discord.gg].

Update: Feb 21, 2024 @ 8:21am

---------------- 🕓 🕗 🕛 ----------------
v1.7
The mod has been updated.
---------------- 🕓 🕗 🕛 ----------------
☑️ 1) The pain system has been completely overhauled and is now almost a fully-fledged injury system, affecting characters from infected, animals, players, and explosions.
Now, each character limb has a injury (pain) level ranging from 0% to 100%.
Depending on the current injury level, specific debuffs are applied to the character.
The injury sustained by a limb is based on shock damage, so the player's armor can effectively counteract debuffs.

Since it's now a fully-fledged limb damage system, injuries persist after a player relogs. A completely damaged limb heals in about 15 minutes, so those using InediaInfectedAI in conjunction with Syberia Project may encounter issues, as another serious debuff arises without the possibility of mitigating it (painkillers, adrenaline, and morphine are disabled in Syberia Project, and InediaInfectedAI knows nothing about Syberia Project drugs, let alone those of other mods).
Therefore, for those using Syberia Project, I recommend increasing the value of the parameter "Players.PainHealingRatePerSecondPercent" from "0.1" to "0.5", thereby accelerating limb healing and returning the debuffs to their old logic, i.e., they will be just pain debuffs that quickly dissipate.

Parameters "Zombies.PainToPlayer*ChancePercent" has been removed as it no longer makes sense, as limbs now always incur damage, and damage multiplier that limbs receive can now be configured using the new parameters "Zombies.PainToPlayer*Multiplier".
Consequently, the new parameters "Zombies.PainToPlayer*Multiplier" were configured in the default configuration for various types of infected.
The values of these parameters for different types of infected, as well as for survivors, can always be viewed in the default configuration file:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

Overall, I've strived to make the pain system more realistic.
Here are just a few of the introduced features:
- When a character takes damage while blocking, they won't receive head injury, instead, head injury will be redirected to other body parts;
- If a player's head is damaged to a critical level, any incoming damage to it will result in prolonged loss of consciousness, regardless of the current shock level;
- When receiving damage to the head, sounds will be muffled for a period of time, and the player will hear ringing in their ears;
- If a player's legs are damaged to a critical level, any subsequent damage will result in a broken leg;
- If the player's torso is damaged to a critical level, any subsequent damage to it will cause the player to be forced to crouch;
- If the player's arms are damaged to a critical level, then if the player is aiming - any subsequent damage to them will cause them to stop aiming and lower their hands;
- The duration the character can keep the weapon raised varies based on the extent of arm damage and the weight of the weapon;
- Hitting walls and creatures with your bare hands will cause damage to your hands;
- Falling from heights will result in leg damage;
However, without further ado, here is a detailed description of the new damage system:
https://github.com/ysaroka/InediaInfectedAI/wiki/FAQ#how-does-the-player-pain-system-work

To be able to test these mechanics - the admin command \iiaiheal has been added:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#adminssteamids

If you want to completely disable the pain system, you can do so using parameter "Zombies.PainToPlayerHandlerIsActive":

"PainToPlayerHandlerIsActive": { "all": 0 },
If you want to disable the pain system for the damage that players receive from other players but leave it for damage from infected and animals, disable the parameter "Zombies.PainToPlayerHandlerIsActive" for the pseudo-class "SurvivorBase":
"PainToPlayerHandlerIsActive": { "all": 1, "SurvivorBase": 0 },

☑️ 2) Due to the implementation of a full-fledged damage system, the default parameters "Zombies.DamageToPlayerHealthMultiplier", "Zombies.DamageToPlayerShockMultiplier", "Zombies.DamageToPlayerInBlockHealthMultiplier", "Zombies.DamageToPlayerInBlockShockMultiplier", "Zombies.DamageToPlayerBleedingChancePercent", "Zombies.DamageToPlayerInBlockStaminaPercent" have been rebalanced once again.
You can view the altered values in the default configuration file, which is always available here:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

☑️ 3) I finally found a way to properly make infected attack the player in block, to be able to introduce various logic based on this damage. Up until this point, attacking in block (normal and shock damage) was zero, so for any kind of imitation of attacking in block, I had to introduce fixed damage that was independent of anything. Now, everything is taken into account for this attack: the type of strike, the character's armor, and so on. Consequently, I can implement the logic of inflicting pain in block, as well as the logic of configuring the attack through multipliers, similar to what is present in non-block attacks.
Therefore, the old block attack configuration parameters that added fixed damage numbers have been removed and are no longer relevant, and instead, new ones have been added:
`Zombies.DamageToPlayerInBlockHealth => Zombies.DamageToPlayerInBlockHealthMultiplier
Zombies.DamageToPlayerInBlockShock => Zombies.DamageToPlayerInBlockShockMultiplier`

Also now, if one of the following parameters is greater than zero:
"Zombies.DamageToPlayerInBlockHealthMultiplier" "Zombies.DamageToPlayerInBlockShockMultiplier" "Zombies.DamageToPlayerInBlockStaminaPercent" "Zombies.DamageToPlayerInBlockBleedingChancePercent"
... a hit on the block will be accompanied by animations typical of a regular strike.
Naturally, if parameter "Zombies.DamageToPlayerHandlerIsActive" is disabled (as with those using PvZ and Syberia Project), these parameters will not work, and consequently, the block penetration mechanic will not function, including within the pain mechanic, i.e. infected will not be able to inflict limb damage if the player is blocking.
The values of these parameters for different types of zombies can always be viewed in the default configuration file:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file

☑️ 4) Now explosions cause injury to limbs of animals and infected, triggering bleeding in them as well.
Accordingly, two parameters have been added to allow you to adjust the chance or disable both parameters if necessary:
Zombies.InjuryHandlerInjuryOnExplosiveDamageChancePercent:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesinjuryhandlerinjuryonexplosivedamagechancepercent
Zombies.BloodOnExplosiveDamageChancePercent:
https://github.com/ysaroka/InediaInfectedAI/wiki/Description#zombiesbloodonexplosivedamagechancepercent

☑️ 5) The "Zombies.InjuryHandlerInjured*PainChanceMultiplier" parameters have been renamed to "Zombies.InjuryHandlerInjured*PainMultiplier" because pain is now applied whenever damage is dealt, not with a chance. The new parameters, on the other hand - affect pain damage, not chance.

☑️ 6) The footstep noise irritation functionality of this mod has been disabled for NPCs, thereby slightly improving performance.

☑️ 7) The error has been fixed where, during an attack by an infected, the character's armor did not affect the bleeding chance introduced by this mod.

The file with the updated default configuration is always available here:
https://github.com/ysaroka/InediaInfectedAI/wiki/Default-configuration-file