FilUnderscore / ImprovedHordes

7 Days To Die Server/Client Mod - Improves existing hordes by reworking their core behaviours.
https://community.7daystodie.com/topic/26781-improved-hordes/
Other
8 stars 3 forks source link

Horde zombie AI not obeying server movement config settings #15

Closed wisathestray closed 1 year ago

wisathestray commented 1 year ago

Describe the bug Playing A21 on server with Improved Hordes 2.0.0 - horde zombies are not obeying the max movement speed settings for day, night, and ferals.

To Reproduce Steps to reproduce the behavior:

  1. Cap all zombie types movement speed at "walk" in the server config
  2. Run Improved Hordes 2.0.0
  3. Wait around for a night horde (or horde with ferals)
  4. Observe jogging/running behavior within the horde

Expected behavior Expect that the server config settings for each type of zombie that may exist in a horde would obey those settings. Ie if Night or Feral is set to "walk" only, the horde zombies should obey those settings, or it should be configurable within the mod if serverconfig isn't accessible to the mod code.

FilUnderscore commented 1 year ago

Thanks for reporting this. This is more of a vanilla AI "feature" when instructing zombies to path to a specific position. I've already partially implemented an alternate method of doing this which allows me to control the walk speed of zombies and follow the zombie walk speed settings. Expect this to be improved/fixed within the next beta release.

FilUnderscore commented 1 year ago

This should be fixed in the latest release 2.0.0-beta.2.

This has been fixed as the following (from changelog):

Variable AI walk speeds for horde entities.

  • Zombies will no longer sprint and destroy blocks when wandering unless they are targeting heat/a player.
  • This required a slight adjustment to how entity AI works, which now switches between EAI (the vanilla AI system) and Horde AI (Improved Hordes' system) depending on what's going on at the moment.
  • Another change was made to the way the game schedules AI pathfinding to integrate null checks with thread safety. With the vanilla scheduler, it would attempt to pathfind for an unloaded entity and throw an error, leading to entity AI lockup for the rest of the session.

Please re-open this issue if you are still encountering it in the latest version. Thanks!