File information
Last updated
Original upload
Created by
FilUnderscoreUploaded by
FilUnderscoreVirus scan
Tags for this mod
About this mod
Revamps how wandering & screamer hordes work to provide more challenge and customization into the game. Horde difficulty now scales with gamestage (fully customizable) and the zombie AI has become more aware.
- Permissions and credits
-
Author's instructions
Terms of Use:
Definitions:
- Private Use = using the mod for personal use or hosting/running a server with the mod installed.
- Binaries = the DLL file (ImprovedHordes.dll) distributed alongside the Improved Hordes mod.
- Source Code = the files that fall under the “Source” directory in the Improved Hordes GitHub repository.
- XML Files = the files that fall under the “Config” directory in the Improved Hordes mod folder.
- Mod Author = FilUnderscore, the original author of the Improved Hordes mod.
- Original Sources = https://community.7daystodie.com/topic/26781-improved-hordes-a20/, https://github.com/FilUnderscore/ImprovedHordes/
Use:
- You are allowed to use Improved Hordes with or without any kind of modifications made to its source material.
Distribution:
- You are not allowed to distribute the Binaries and/or Source Code and/or XML Files of Improved Hordes in exchange for payment.
- You are allowed to distribute modifications made to the XML Files of the Improved Hordes mod provided you give appropriate credit to the Mod Author and provide a link to the original sources of Improved Hordes and these Terms of Use.
- You are not allowed to distribute the original nor modified Binaries and/or Source Code of the Improved Hordes mod without prior written consent from the Mod Author.
- You are allowed to distribute links to the original sources of Improved Hordes.
Modification:
- Any modifications made to the Improved Hordes Source Code and Binaries are limited to private use only if not stated otherwise with written consent from the Mod Author.
Liability:
- Mod Author is not responsible for any damage that may be caused during an incorrect or correct installation of Improved Hordes.
Written Consent:
- If you have been given written consent from the Mod Author to do one or more of the following: use, reuse, distribute, duplicate, copy or modify Improved Hordes outside of private use only, you are obligated to give appropriate credit to the Mod Author, provide a link to the original sources of Improved Hordes and these Terms of Use, and indicate if changes were made. You may do so in any reasonable matter, but not in any way that suggests the Mod Author endorses you or your use.
All rights to the Improved Hordes Binaries, Source Code, and XML Files are shared with The Fun Pimps.File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Mirrors
- Changelogs
-
-
Version 2.0.1-RC.3
- Compatibility update for V1.0 EXP b317.
- Changed
- Version information is no longer displayed in chat on first initialization of the mod and is instead displayed in the toolbar for a few seconds. As part of this change, the silence_init_msg setting has been removed.
-
Version 2.0.1-RC.2
- Fixed
- Game hangs when trying to exit world in-game.
-
Version 2.0.1-RC.1
- Compatibility update for 1.0 experimental.
- Fixed
- Prevent null world event reports from being processed for hordes with the sensitivity characteristic.
-
Version 2.0.1
- Fixed
- Fixed NullReferenceException caused when WorldHordeTracker is not ready.
- Fixed exception that rarely occurs when the WorldHordeTracker thread is notified of a WorldEventReportEvent from the WorldEventReporter thread.
-
Version 2.0.0-beta.5
- Changelog
- Changed
- Re-enabled vanilla screamer horde spawns alongside screamer town/city spawns temporarily until the screamer wilderness feature is integrated in a future update.
- Fixed
- NotifyEvent patch causing NullReferenceException leading to bugs with heatmap emitting tile entities.
- NullReferenceException when loading into the prefab editor.
-
Version 2.0.0-beta.4
- Changelog
- Fixed
- Exception thrown when fetching biome-specific zones and a biome does not contain any zones.
-
Version 2.0.0-beta.3
- Changelog
- Changed
- Horde AI now favors zones within the same biome, however there is a random chance that a horde may choose a zone in a different biome.
- Adjusted horde biome density calculations.
- Some biomes were capping out hordes because the calculation was being applied twice, leading to extremely large sized hordes in harder biomes being very common.
- Fixed
- Horde density value updates not being properly reflected.
- This caused a couple of bugs, as the horde density would not be updated on entity kills or decay.
- Hordes spawning infinite number of entities.
- An additional measure has been added to prevent hordes infinitely spawning if horde despawning fails in the first place, by killing off the entire horde.
- Horde biome decay not properly being applied.
- This is also related to the horde density values not being updated properly.
-
Version 2.0.0-beta.2
- Changelog
- Added
- Player Group Horde Spawn Limits
- Can be controlled via the max_hordes_spawned_per_player_group setting (default is 3, -1 to disable).
- This applies to all horde types as of right now, but in the future it will be more configurable.
- It ensures that each player group gets a fair share of hordes, particularly on populated servers.
- 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.
- Startup mod chat message now shows additional info about any mods that interface with Improved Hordes through XML or DLL (in other words, add-ons).
- Startup console message for experimental builds that print the current version.
- This is to make it clearer which experimental version of Improved Hordes you are running, since ModInfo V2 no longer supports additional version details.
- POI and Land Claim Block spawn check to prevent horde entities from spawning in POIs and player bases.
- Hordes should now spawn outside POIs and player bases most of the time.
- max_spawn_capacity_percent setting to cap the number of horde entities active in the world as a percentage of MaxSpawnedZombies/MaxSpawnedAnimals game prefs (default is 0.8 or 80%).
- This should allow screamers and POI sleepers to spawn properly.
- thread_tick_ms setting to control how frequently threaded systems tick per second.
- A larger value means that threads will tick less times a second. This should have no effect on gameplay, but improve performance if you are finding that the threads are ticking too often. A correction is applied to ensure the threads keep the horde simulation system stable.
- Changed
- Startup mod chat message will only show up the first time the mod is initialized in a world.
- It will also show up every time the mod is reinitialized when new add-ons are installed/removed so the roaming hordes can be properly updated.
- POI zone town weight is now calculated as the minimum of either the average POI weight in the world or the default value of 3.0.
- This aims to fix some maps not having zones due to a lack of city sized zones.
- Reworked some of the horde entity spawning and generation code.
- This fixes an issue where hordes would attempt to complete entity spawns while despawning.
- This should also fix horde entities popping in while spawning.
- Some optimizations have also been made, so gameplay should be running much smoother now.
- Hordes will lose interest in events over time depending on the intensity of the events that have occurred.
- wandering_animal_enemy hordes will now be attracted to nearby events, but at a lower sensitivity of 0.5 (for comparison, a standard wandering zombie horde has a sensitivity of 1.0).
- Slightly reduced the default setting of horde_biome_curve_multiplier from 2.0 to 1.5 for slightly fewer hordes in the wasteland. Other biomes should still have roughly the same number of hordes as before.
- Wandering Horde AI changes
- Hordes can now run between zones, but will wander while within them when pathing through various parts of town. This gives them a more "wandering horde" feel.
- Hordes should leave zones much sooner now and not roam around too long. There was a bug preventing this behavior, keeping hordes indefinitely within zones.
- Fixed
- POI zone stats throwing error when running improvedhordes stats through the dedicated server console.
- POI zone stats can only be seen by admins running the command through the in-game console.
- Multiple player groups with varying number of players created instead of creating one group of nearby players.
- Modified collection error when exiting the world.
- Screamers screaming while a game is paused.
- Horde wander count being reset every time a location in a zone is reached.
- Horde entities stopped from investigation during wander time.
- Entities sometimes frozen in place when sleeping, or the game AI lags behind if there are too many entities spawned.
- Should be fixed as a result of the AI scheduling change.
- Horde entities respawns ignore the spawn cap.
- Horde entities pop in when spawning.
- Horde entities targeting spectating (invisible) players when the "Invisible" setting is toggled on in the debug menu.
-
Version 2.0.0-beta.1
- Changelog
- Added
- Support for DLL-based Improved Hordes add-ons.
- Sound events are now properly processed and capped instead of relying on heat values provided by the game.
- Weapon silencers should work properly and attract less attention, even when used repeatedly.
- This system may still need a few tweaks here and there, but it mostly works. Share your feedback on how it feels.
- Re-added chance attribute to horde group entity tags.
- This will be ignored if no other entities are valid from a selected group.
- Reduced feral wandering zombie hordes from chance of 1.0 to 0.8 after unlocking them after reaching GS 70.
- Reduced radiated wandering zombie hordes after unlocking them after reaching GS 180.
- Wasteland radiated wandering zombie hordes chance reduced from 1.0 to 0.4.
- Other biome radiated wandering zombie hordes chance reduced from 1.0 to 0.2.
- Re-added weight attribute to horde group tags.
- This will be ignored if no other groups are valid within a horde. If no group matches any of the spawn conditions, then the horde is killed off.
- This replaces the previous chance attribute that was applied on groups (not related to the entity ones!)
- Added horde_biome_curve_scale setting.
- This setting controls how aggressive the horde_biome_multiplier scales specifically in the wasteland biome (not much effect in other biomes).
- Changed
- max_world_density setting changed to density_per_km_squared
- Each world has a different size. The max world density should adjust accordingly.
- The previous value of 350.0 (based on 6144x6144) is now equivalent to 9.3.
- Lowered screamer delay from 18.0 to 6.0.
- This change means that screamers will scream sooner when you first encounter them.
- However, screamers now have a longer delay for each successive scream (3 times).
- Increased wilderness wandering horde spawns in all biomes.
- Spawn system improvements.
- Horde spawning now has a slight delay of 2 ticks between each zombie spawn to reduce stuttering.
- Improved improvedhordes stats command output to be more informative.
- Now provides more information regarding main thread requests that are being processed (e.g. zombie spawning, AI updates, etc.)
- Provides information about the current POI zone (i.e. city/town) you are in, listing attributes such as size, POI count, density and the central point.
- Provides information about all player groups and their respective players, gamestages, and biomes.
- Settings are now loaded when needed instead of only once at startup.
- This fixes a bug where certain settings would not be applied properly.
- Improved Wandering/Screamer Horde Zone AI
- Hordes will now wander around more frequently in zones as a single pack, stopping to take breaks as they reach certain parts of town. They will repeat this for a number of times (dependent on zone size & other attributes).
- Hordes will try to avoid wandering near POIs where Land Claim Blocks are present.
- Changed minimum town-qualifying POI weight from 4.0 to 3.0.
- This means a POI is classified as being potentially part of a town if it has 3 or more POIs near it.
- This should include POIs near the outskirts of a town, as they are still considered part of the town.
- Reduced horde_biome_curve_scale from 5.0 to 2.0.
- This should make wasteland POI zones less crowded but still more difficult than other biome POI zones.
- Increased horde_biome_multiplier from 0.1 to 0.5.
- Reduced wandering_animal groups Boars and Stags weight from 0.5 to 0.25.
- Fixed
- Fixed NullPointerException when closing a game as the world unloads before the mod shuts down all its threads.
- horde_biome_multiplier setting not being applied.
- "Failed to spawn horde cluster" and "Bad spawn location at" warnings fixed with the spawning system improvements.
- Random cases of horde entity group generation failing and using the placeholder zombieSpider entity class.
- This should only be used now if you haven't defined all possible cases for group entity spawning as a guaranteed horde measure, letting you know that there are no valid groups with the current game attributes (biome/time of day).
- Horde entities despawning early when most of the horde has already unloaded.
- Horde entities sensing invisible players.
- Player group gamestage being slightly higher than intended.
- Screamers not causing world event reports when AI Player Sensing is enabled.
- Removed
- AI Player Sensing option
- This has now been fully integrated into the AI system, it was made a setting temporarily for testing purposes.
- Note: To be honest it was always enabled regardless of the setting in the config file. As mentioned before, certain settings were bugged and not applied when initialized, this was one of those settings upon closer inspection. Good thing the fix made in the previous version worked.
- Known issues
- Entities sometimes frozen in place when sleeping, or the game AI lags behind if there are too many entities spawned.
-
Version 2.0.0-alpha.8
- Changelog
- Added
- Setting to enable additional AI player sensing. This will default to being off.
- Set ai_player_sensing to true to enable.
- Fixed
- Hordes being able to sense you through walls when ai_player_sensing option is enabled.
- Multiple instances of threads present when opening other games in the same session.
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Entities sometimes frozen in place when sleeping, or the game AI lags behind if there are too many entities spawned.
-
Version 2.0.0-alpha.7
- Changelog
- Added
- Horde Biome Decay
- When hordes cross over from their initial biome, they will start to decay until eventually ending up at a density of 0. If they return to their initial biome, the decay stops.
- This will prevent, for example, lots of harder biome hordes (i.e. wasteland) overrunning easier biomes (i.e. pine forest).
- improvedhordes flush command that will flush (reset) all hordes in the world and their respective populators.
- Rough implementation of hordes detecting players nearby on sight.
- Expect this to be ironed out in future updates. You may encounter a few minor issues like hordes being able to detect you through walls when nearby.
- Some changes to player grouping for a future update to limit multiple nearby spawned horde entity counts.
- Changed
- Multithreading system changes
- Moved from a task-based approach to a traditional thread approach. Each core system runs on its own thread assigned with a prefix of IHThreaded-.
- This means that the horde threading settings are no longer relevant and thus have been removed.
- This is an attempt to fix micro-stuttering that is present during gameplay.
- Zone horde density tweaks to ensure that a zone cannot spawn hordes greater than the biome it is in allows.
- Wilderness horde sparsity was previously affected by biome difficulty. This is no longer the case for animal and screamer hordes, but for standard wandering hordes still applies.
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Entities sometimes frozen in place when sleeping, or the game AI lags behind if there are too many entities spawned.
-
Version 2.0.0-alpha.6
- Changelog
- Added
- Feral sense support
- If you enable feral sense options for your game, hordes will be able to sense you up to a slightly greater distance.
- Changed
- Reworked zone horde spawning
- Improved the POI zoning algorithm to more accurately determine towns and cities through proper POI clustering.
- Also tweaked some parameters to spawn hordes better depending on zone size and POI count.
- Multi-threading changes
- Slightly tweaked how data between threads is shared.
- Increased event_interest_distance_multiplier from 0.25 to 0.5.
- This is also in part to fix hordes not being interested in nearby activities.
- Additionally, increased the weight of heatmap activities which should make hordes interested much more quickly.
- Increased max_world_density from 200.0 to 350.0.
- This is mainly so that wilderness hordes can properly populate throughout the world. City hordes are much bigger than wilderness hordes, but there are less of them.
- Depending on your world size, you may choose to increase/decrease this number.
- Reduced roaming horde speeds to be more inline with the game's entity walk speeds.
- Fixed
- Biome-specific horde population rules not being applied to unloaded chunks.
- Horde AI interrupt commands not being properly processed.
- Hordes should now be better attracted to nearby heatmap activities.
- NullPointerException when attempting to fetch previous heatmap event data in chunks.
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Entities sometimes frozen in place when sleeping, or the game AI lags behind if there are too many entities spawned.
-
Version 2.0.0-alpha.5
- Changelog
- Added
- More settings
- horde_biome_sparsity_multiplier controls the sparsity of wilderness hordes in biomes. A lower number means less sparsity between hordes (more hordes in an area). This is divided by the biome difficulty as defined in the game's biomes.xml file.
- event_chunk_radius controls the influence events have over nearby chunks (i.e. spreading shared interest within a few chunks).
- event_interest_distance_multiplier controls the distance at which an event is reported at depending on the current area interest. The default distance is based on map size (e.g. 6144x6144 has a max distance of 400, applying the multiplier of 0.25 means a max distance of 100).
- Changed
- Lowered event_interest_distance_multiplier from 1.0 to 0.25. Events are now reported at a distance of 4x less, so less hordes should be attracted to you in large areas.
- Lowered the max_world_density from 500.0 to 200.0.
- Less hordes should now populate world zones and the wilderness due to the above changes.
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Entities sometimes frozen in place when sleeping, or the game AI lags behind if there are too many entities spawned.
-
Version 2.0.0-alpha.4
- Changelog
- Added
- Settings to control wilderness horde populations.
- wandering_animal_wilderness_sparsity controls how sparsely populated the world is with wandering_animal hordes. Higher number means more sparse.
- wandering_animal_enemy_wilderness_sparsity controls the sparsity of wandering_animal_enemy hordes in the wild.
- wandering_enemy_wilderness_sparsity controls the sparsity of wandering_enemy hordes.
- wilderness_horde_repopulation_days controls the number of days before hordes can repopulate in the wilderness.
- zone_horde_repopulation_days controls the number of days before hordes can repopulate in POI zones.
- Changed
- Lowered the sparsity settings to lower the wilderness horde spawns.
- Number of hordes in POI zones have been lightly increased to compensate. There will be fewer hordes in the world with the new default settings.
- Lowered entity counts in hordes and changed some game stage requirements. Game stage calculations for player groups within view distance have been re-done to be more closely aligned to the way the game calculates game stage for partied members.
- Fixed
- World horde state is not saved. Hordes respawn every time the game is started.
- Data is now saved residing in the same folder as the game data, in ImprovedHordes.bin.
- Hordes will now be saved to their last known locations and resume doing whatever they were doing when you last played.
- Clearing areas out of hordes is also saved until the next time the world is repopulated with hordes (default setting is after 7 days).
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Entities sometimes frozen in place when sleeping, or the game AI lags behind if there are too many entities spawned.
-
Version 2.0.0-alpha.3
- Changelog
- Added
- Horde biome splitting
- Hordes now split when crossing into another biome of a lower difficulty into multiple hordes, that then choose to go different paths.
- This prevents wasteland hordes from crossing into pine forests and being 1.8x more dense (by default settings).
- Changed
- Increased world event decay rate so that heatmap events decay much faster, this should prevent hordes/screamers from being attracted too often.
- If you fire a gun non-stop, then expect hordes to show up, otherwise if you carefully shoot your gun on occasion you shouldn't be attracting far away hordes.
- Screamer zone radius has been reduced.
- Screamers often wandered the outskirts of a city zone, now they should stick close to the center, so you shouldn't be running into them too often outside of town.
- Screamer zone density spawn requirement increased from 0.5 to 0.75.
- This should spawn less screamers in densely populated towns/cities.
- Tweak horde group wandering_enemy game stage entity counts.
- Fixed
- #10 - Sleeping hordes do not awaken if you get close. Now sleeping zombies wake up if you get within 15m.
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Some horde entities may not despawn properly when quickly teleporting around.
- World horde state is not saved. Hordes respawn every time the game is started.
-
Version 2.0.0-alpha.2
- Changelog
- Changed
- Horde unload merge distance reduced from 100 to 50 m.
- WorldZoneHordePopulator player/cluster radius check reduced from POI zone size to view distance.
- Fixed
- Exception thrown when a GS tag within a defined group does not have a max or increaseEvery attribute. Now randomizes entity counts instead.
- max_entities_spawned_per_player setting does not spawn any entities if set below 0 (i.e. -1 to disable horde entity spawn limit).
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Some horde entities may not despawn properly when quickly teleporting around.
- World horde state is not saved. Hordes respawn every time the game is started.
-
Version 2.0.0-alpha.1
- Changelog
- Major rewrite of Improved Hordes code and functionality.
- Added
- World Roaming Hordes
- Hordes are now simulated across the world, spawning at random time intervals configured in the hordes file.
- You can run into hordes now, the world feels more alive as a result.
- Hordes that spawn and wander from cities can be huge, while hordes that spawn near small POIs and in the wild are much smaller.
- World Roaming Hordes are also multi-threaded, meaning Horde AI and distance calculations have been largely offloaded from the main game thread.
- Hordes can now split into smaller hordes or group up into larger hordes, with a new feature called horde density. Horde density allows hordes to scale in size combined with game stage, allowing for both smaller and bigger hordes at even the highest game stages.
- Hordes are comprised of clusters that may be part of different horde types that may have merged, that follow the same AI as the horde they are in.
- improvedhordes stats command has been updated to reflect useful information regarding World Roaming Hordes (i.e. Horde Cluster counts / horde densities), as well as information regarding game thread requests being processed.
- Horde Characteristics
- Hordes now have a set of characteristics that determine their properties.
- A walk speed characteristic that determines a horde's day/night walk speed.
- A sensitivity characteristic that determines a horde's sensitivity to world events.
- World Event Reporter
- Tracks and decays heatmap events that occur throughout the world. The decay rate and distance of interest is dependent on world size.
- World Horde Tracker
- Tracks the hordes currently spawned in the world and simulates them accordingly.
- Handles merging hordes and spawning of hordes if players are nearby.
- Horde Populators
- The World Roaming Horde system requires hordes to work, so the Horde Populators populate the world every tick depending on if certain conditions are met. Such as, are there any hordes or players nearby?
- World POI Scanner
- The POI Scanner scans the world for POIs that will then be grouped into clusters, to determine which clusters are large, densely populated cities/towns and which clusters are singular POIs.
- Allows for more accurate city horde / screamer spawns.
- Logging
- Verbose logging can be enabled using the improvedhordes verbose command to see more detailed logs.
- Changed
- Wandering Hordes
- Wandering Hordes now make use of the world roaming system with improved AI, which will target locations of interest where heatmap activities occur. You might attract large hordes or multiple smaller ones if you're too loud.
- Animal hordes
- Animal hordes can be found in the wild, migrating between biomes at different times of the year. You might catch some passing through a wasteland once in a while to get to a sunny forest. You may also encounter a chase between a wolf pack and a deer.
- Scout -> Screamer Hordes
- Spider zombies have been removed from screamer hordes.
- Screamers spawn in densely populated POI hubs such as cities, and may at times choose to join wandering hordes that form and leave these areas.
- Screamers are much more sensitive than normal hordes, being able to sense heatmap activities four-times the distance, so watch out for screamers near city bases.
- Improved AI
- The AI system has been redeveloped from the ground up to allow for more dynamic horde behaviors. Ever seen a horde of zombies take a stop to sleep? Might not want to disturb them.
- Hordes have a variety of commands to choose from depending on their current state.
- Wandering around locations of interest.
- Sleeping
- Heading somewhere.
- Some hordes now store states within their respective command generators, which help with generating future commands depending on their previous/current state.
- Custom Hordes
- The layout for the hordes.xml file has been kept roughly the same, however minor breaking changes have been made to streamline modifying the new horde spawning system.
- Under each horde type, horde groups must now be defined between the <horde></horde> tags.
- Each horde type allows you to now define other horde types that hordes can merge with. (In this release, custom horde types cannot be defined as they are currently only hardcoded. Stay tuned for updates.)
- The POI tags feature has been removed since the World POI Scanner has made this feature obsolete.
- countDecGS and countIncPerGS have been removed, and zombie counts are now determined at thirds of the current GS depending on the entity counts set between the min and max GS (see hordes file for more information).
- increaseEvery can be used instead of max to increase entity counts every X gamestages (supports floats).
- The settings.xml file can now be xpath patched for any future add-ons.
- Removed
- Patrol Hordes
- Patrol Hordes have been superseded by the new Roaming Hordes system, so expect more varied Wandering Hordes.
- Known issues
- Horde respawning of same type/number of entities inconsistent.
- Some horde entities may not despawn properly when quickly teleporting around.
- World horde state is not saved. Hordes respawn every time the game is started.
-
Version 2.0.0
- Added
- Banner and Icon for Mod Manager Mods menu.
- silence_init_msg setting (default: false) to hide the initialization message on first world load (it appears in the console instead of in-game chat).
- Changed
- Wandering hordes no longer sprint between zones and no longer have a wander delay within zones to compensate.
- This change was necessary as the AI ends up doing 'nothing' most of the time and isn't very exciting to see when encountering a horde.
- Wandering AI Command improvements.
- Hordes will now wander in areas they visit in the wilderness, heat events, or zones by roaming around within a certain radius when arriving at their destination. This is an improvement to the previous wander system which just had them idling in place.
- Fixed
- Fix error thrown when WorldZoneHordePopulator checks for trader area.
- Fix "Collection was modified" error during horde updates.
- Fix errors when using debug builds of the game.
- Fix Horde AI pathing getting stuck when given certain world positions.
-
Version 1.2.1
- Added
- Command to spawn in custom horde types that are not referenced in the Improved Hordes code.
- Usage: improvedhordes spawn <horde type> <hordegroup name> <group distance> <all> (player id)
- Fixed
- Fixed issue "Null Reference Exception thrown when player logs out while HordeSpawner is attempting to spawn"
- A warning message should now instead appear, letting you know that the entity spawn was attempted but unsuccessful.
-
Version 1.2.0
- Updated for compatibility with Alpha 20.6 b9.
- Added
- POI Tags for horde spawns.
- This means you will no longer encounter animal hordes in cities/towns, and this makes them more common in the wilderness/smaller pois. This also means you will now encounter more zombie hordes while looting large areas, since the potential horde pool is smaller in those areas.
- Additional information in the improvedhordes stats command regarding the current POI tags in your area. (Requires permission level 0.)
- Changed
- Commands have been rewritten to be more modular behind-the-scenes.
- This should change none of the existing functionality, but provide easier navigating through the console command menu.
- Hordes and gamestage difficulty is now additionally decided on where the horde will spawn location-wise, on top of the player group's average gamestage, instead of what biome the player group is currently in.
- This means that hordes that spawn in the wasteland near a wasteland-forest, wasteland-desert, etc. boundary will have the difficulty of a wasteland horde, vice versa.
- So don't build too close to the wasteland when starting out, or you'll have a lot of zombies knocking on your door.
- Animal horde AI now prioritizes running away from players first before going to their target location.
-
Version 1.1.1
- Updated for compatibility with Alpha 20.5 b2.
- Added
- Optional Mod Manager support.
- New Settings
- <enabled> in <wandering_horde> to enable/disable custom wandering hordes.
- <enabled> in <heat_tracker> to enable/disable the heat difficulty settings and patrol hordes.
- New <horde_ai> option group.
- <sense_dist> The distance in meters at which hordes can sense players nearby.
- <threshold> The threshold before players nearby are sensed.
- New <advanced_settings> option group.
- <wander_time> The number of ticks that horde entities will wander before moving on.
- Fixed
- Fixed scout state check.
-
Version 1.1.0
- Added
- Smarter heatmap that affects nearby chunks.
- - Simply being in a location for a long time will increase the heatmap by a small amount, normal heatmap activities will count more relative to roaming.
- - Affects the gamestage of any groups near these chunks, meaning more frequented areas will have harder hordes as zombies pinpoint the best places to catch survivors in.
- - Begins to decay after 1 day of no activity, takes 4 full days to decay. Revisiting the area will restart the timer and continue increasing the heat in the area. This can be adjusted in the settings.xml file under the heat_tracker section.
- Patrol hordes
- - Begin to roam frequently visited areas on a determined frequency depending on the amount of heat generated in an area and the biome difficulty. Avoiding detection lowers the heat in the area.
- Changed
- Improved Horde AI allowing horde zombies to sense players based on sight and sound.
- Horde spawns for solo groups can now be in any direction.
- Horde endpoints can now be 45-315° from their spawnpoint.
- Gamestage difficulty now takes into account the biome you are in, adjusting for easier/tougher hordes, especially in the wasteland.
- Feral scouts no longer summon a horde on death, but can fit in more screams than it's non-feral variant.
- Feral scout spawn chance is no longer dependent on gamestage, but instead now depends on the heat in an area.
- Scouts contribute more heat to an area leading to harder hordes as they continue to scream.
- Horde balancing changes.
- Fixed
- Horde spawning within a player group instead of outside.
- Wandering horde group occurrences for players not saving, leading to more spawns of certain horde groups than intended (ignoring the maxWeeklyOccurrences hordegroup value).
- AI Horde not being removed from tracking after state change.
-
Version 1.0.3
- Updated for compatibility with Alpha 20.3 b3.
- Added
- Option to disable custom scout hordes and use default vanilla scout hordes instead. This setting can be changed in the settings.xml file.
- Fixed
- Bug where the first occurrence in the wandering horde schedule was being skipped due to an unchecked horde disbanding call.
-
Version 1.0.2
- Updated for compatibility with Alpha 20.2 b2.
- Fixed
- Not cleaning up the stored player list when a client hosting a world launches another world, leading to a NullPointerException when the horde spawner tries to spawn a horde but finds the host player from the previous world null.
-
Version 1.0.1
- Updated for compatibility with Alpha 20.1 b6.
- Added
- New "horde_per_player" setting as a difficulty setting for multiplayer. Multiplies the total horde count by the number of players in your group for a bigger and longer horde.
-
Version 1.0.0-STABLE
- Added
- XPath support for modlet integration with Improved Hordes. Check out the wiki page for more information. https://github.com/FilUnderscore/ImprovedHordes/wiki/Custom-Hordes#xpath
- Hordes can now be customized to support different groups of zombies for both day and night, see the wiki page for more on implementation. https://github.com/FilUnderscore/ImprovedHordes/wiki/Custom-Hordes#time-of-day
- The wasteland now has its own unique group of zombies in wandering/scout hordes, to further enhance the wasteland experience.
- Utilizing the new day/night functionality, more dangerous zombies will be roaming the wasteland at night when hordes occur.
- Changed
- Default setting max_alive_per_horde_player changed from 8 to 10. This can be changed in the settings.xml file, see the wiki page for more information. https://github.com/FilUnderscore/ImprovedHordes/wiki/Settings#max_alive_per_horde_player
- The friendly animal wandering hordes will now only spawn primarily in the pine forest, snow, and desert biomes once in a while.
- Scouts now start spawning sooner at gamestage 15 (previously gamestage 25).
- Scouts now have an increasingly likely chance of summoning more scouts as your gamestage increases, topping off to 50% at gamestage 200.
- Scouts now linger around for longer periods of time instead of immediately walking away when reaching their destination.
- Scouts can now summon multiple zombie hordes given enough time.
- To combat this, scouts now have a prolonged delay on screaming depending on the number of zombie hordes summoned per scout.
- A maximum of 3 hordes can be summoned by any scouts in an area by default, for more information on changing this setting, check the wiki page here. https://github.com/FilUnderscore/ImprovedHordes/wiki/Settings#max_scout_hordes_active_per_player_group
- Horde group balancing changes.
-
Version 1.0.0-PRE7
- Fixed
- Mod incorrectly initializing for players not hosting the current game, leading to incorrect startup/cleanup when hosting a game after being in another player's game/server in the same game session.
-
Version 1.0.0-PRE6
- Changed
- Scouts will not go to heatmap locations while in combat with another player.
- Fixed
- Horde disbanding works properly now.
- Fix NullPointerException occurring while spawning in during a wandering horde. With the new changes, if a wandering horde fails to spawn, it will be re-attempted a short while after failing.
- Cleaned up some console spam when a scout is killed around multiple different scouts, spamming multiple times "Scout xxx was killed." in the console.
-
Version 1.0.0-PRE5
- Changed
- Scout zombie hordes will now be aware of your heatmap when summoned by screamers, instead of wandering around indefinitely, they will now stick around for a while until killed or until they wander away.
- Some balancing changes to wandering and scout hordes.
- Fixed
- Wandering Horde state was not reset on world unload.
- Screamers spawning infinite hordes due to no limiter being in place. Now there can only be 1 horde summoned at a time by a screamer, and if that fails for whatever reason, all horde spawners are now hardcoded to use the MaxSpawnedZombies game preferences (64 on clients).
- NullPointerException/Index was out of range with the Scout Horde AI Command. Also affected scouts not going to new sources of heatmap events, which should now be fixed as well.
-
Version 1.0.0-PRE4
- Changed
- Wandering Horde schedule is now more varied throughout the week, previously as you increased the number of occurrences, the hordes would converge closer to the middle of the week.
- Fixed
- NullPointerException occurs when Horde Entities wandering get unloaded.
-
Version 1.0.0-PRE3
- Fixed
- Bug that prevented certain wandering hordes from spawning (namely with the preferredWeekDays XML tag assigned), which would print errors in the console such as "Variable week not defined." and "Variable weekDay not defined." when running the mod for the first time.
-
Version 1.0.0-PRE2
- Fixed
- Bug with wandering horde schedule not saving correctly, possibly resulting in the wandering horde disbanding infinite looping bug.
-
Version 1.0.0-PRE
- Added
- Improved hordes
- Customizable hordes (can be modified in Config/ImprovedHordes/hordes.xml) equipped with gamestage dependent factors such as spawn count (increase/decrease rate), as well as a set number of weekly occurrences, preferred week day spawns, weighting for the chance of specific horde spawns, as well as horde entity specific biome spawns.
- There is also a customizable limit of how many horde entities can be spawned in alive per number of players in a player horde group (this group is determined differently between wandering hordes and scout hordes, and both can be customized in the settings.xml file) and can also be set to -1 for no limit.
- Additionally, hordes can also be grouped into larger hordes to allow for variations in biomes and enemies. To see how this works, take a look at the Farm wandering horde example in the hordes.xml file.
- Better wandering hordes
- Wandering hordes work off a schedule generated at the end of every blood moon (except for Day 1/whatever day you are on when the mod is first initialized). This schedule also determines what hordes are feral and which aren't. The schedule can be seen using improvedhordes wandering show, for more information about the command improvedhordes, type help improvedhordes in the in-game console.
- Feral hordes can sense your location and wander closer to increase the chances of encountering you especially near buildings. Non-feral hordes wander by in more distant proximity and are not as harmful, meaning you might not even notice them sometimes.
- The schedule can be modified in the settings.xml file (in Config/ImprovedHordes/settings.xml), namely the length of a 'wandering week', the number of hours before an occurrence can first occur at the start of the week, to the number of hours in the week that the last occurrence can occur at, as well as the minimum amount of hours between occurrences, the minimum number of occurrences per week, the maximum number of occurrences per week, and the chance of a wandering horde being scheduled as feral.
- Refreshed scout hordes
- Scouts do not begin spawning until gamestage 25 by default.
- Scouts have gotten a refresh, namely the addition of feral scout hordes.
- The likelihood of a scout horde being feral increases as your gamestage increases, from 0% all the way to a 75% chance.
- Feral scout hordes introduce a twist to scout hordes, instead of killing the scout, the scout must be kept alive until they disappear. For every feral scout killed, a group of zombies will spawn in, either when the horde is over and some scouts have returned back to Zombie HQ, or all the scouts are dead and Zombie HQ notices something wrong.
- The benefit of this however is that scouts will now walk away given enough time and no disturbances in the environment are sensed (that means don't use your forges/cement mixers/campfires/augers for a while.) If disturbances are sensed, the scouts will stick around for longer, be warned.
- This change makes you think twice about killing those scouts the higher up in gamestage you are. ;)
- The scout chunk detection range is customizable in the settings.xml file, along with the feral scout horde chance multiplier (higher values mean a more likely chance of feral scouts sooner!)
- On a final note, the original spider zombie scout trio have returned in their original, feral, and radiated variants now.
- Horde Entity AI
- Changed some base entity behaviors to allow animals in particular to behave alongside zombie hordes.
- Horde Entities rely on command lists to find out what to do next, this behavior is most noticeable with scouts as they can change what they are doing at any moment if they sense a change in the environment around them.
-
and we're finding sleepers on the road. Stay safe out there.
Features:
- Improved hordes
- Customizable hordes that scale in size and difficulty, with gamestage & biome progression, to keep the game feeling balanced.
- Customizable hordes that scale in size and difficulty, with gamestage & biome progression, to keep the game feeling balanced.
- World roaming hordes
- Hordes are now commonplace, you'll encounter many on your journey.
- Each major POI zone (i.e. cities) has hordes moving in and out constantly, while screamers patrol the zone.
- You will also find smaller roaming hordes in the wilderness. They may either be lost, or making their way to a city.
- World Event System
- Heatmap-like system that attracts nearby hordes depending on heatmap activities occurring in certain areas. The number and size of the hordes depend on where the activities are occurring. Near a city? Expect huge hordes to wander around and find out what's going on in the neighborhood.
- Screamers contribute a lot of heat if they spot you nearby, attracting hordes nearby. Make sure to take them down quick or you'll be having many hordes knocking on your door.
- Enhanced AI behaviors
- Hordes investigate interruptions to their current task as Zombies are a curious bunch.
- Hordes can also merge and split in size, depending on their goals as a collective.
Installation
Note: This mod can be added to existing saves to start working, no new save is required. To remove the mod from an existing save, just delete the mod.
- Download and extract the zip containing the latest release into the Mods folder.
Client-only:Disable EAC so the game can load the Improved Hordes DLL.
Dedicated Servers:This mod is EAC friendly and only needs to be installed in the server's Mods folder. Your players do not need to install the mod to play.
Settings can be modified in the Config/ImprovedHordes/settings.xml file in the ImprovedHordes mod folder.
Commands
Note: All commands require a permission level of 0.
For a full list of commands, type in the console: help improvedhordes
Wiki
For information such as changing mod settings or creating your own custom wandering/scout hordes, check out the Improved Hordes Wiki at https://github.com/FilUnderscore/ImprovedHordes/wiki
Mod Support
This will work with any mod that does not modify the vanilla AI.
Donations
You are already showing a lot of support just by enjoying the mod, but if you really appreciate my work and want to show extra support in the form of a donation, feel free to buy me a coffee at https://ko-fi.com/filunderscore