Jump to content

Improved Hordes [V1.0]


FilUnderscore

Recommended Posts

14 hours ago, MrSamuelAdams said:

Two questions: 

 

1. I see there is an improvedhordes folder when I download but clicking on it goes to config, but then ANOTHER improvedhordes folder, I just place the main folder into mods correct? 

 

2. Can I use this mod with Khaines WanderingHordes mod and or any other mods like Dan's More Zombies? https://www.nexusmods.com/7daystodie/mods/5176  or will it conflict? 

 

Thank you 

 

The ImprovedHordes folder should contain a Config folder, ImprovedHordes DLL, and a couple of other files. This is the main folder that needs to go in your mods folder. It should also be compatible with other wandering horde mods as this adds additional roaming hordes (which are not the same as the game's default wandering hordes - they work in tandem). Several people have reported playing with a combination of different mods that modify the vanilla hordes and haven't come into many issues, if any.

 

7 hours ago, Exeline said:

 

This is what the author wrote to me on nexusmods:

  Reveal hidden contents

The mod introduces real roaming hordes that roam the world that you can encounter at any point of your journey that spawn in when you get close by. This is different to the vanilla behavior and other mods which modify the vanilla wandering hordes as they aren't spawned in randomly nearby (technically a whole simulation of horde movement throughout the world is running as you're playing).

As for what mods to go with, I don't see there being too much difference in whether you choose to run with other mods like Wandering Horde Frequency or Dangerous Cities which increase zombie counts. I see it more as a balancing exercise of whether you want more or less zombies and adjusting each mod as you see fit.

Improved Hordes is based on unpredictability and any actions such as heatmap activity only increases it, meaning you could very well attract either multiple hordes of zombies in succession, hordes within a short space of each other, or no hordes at all if you've cleared out all the ones nearby for the week. Keep in mind, this is mostly adjustable in the configuration file.

 

But i am not sure anymore that they work smoothly together.

I don't see any additional hordes except for those added/edited with wandering horde mod (those are easily identified as they are huge and spawn within same interval).

And the screamers i met did not spawn any additional zombies, they are acting more or less as average zombies. Such a bummer.

Two things I'd like to add on to my previous response:

 

1. The mod will skip spawning in nearby hordes if the zombie spawn cap is reached (for performance reasons), if you are finding this to be a common issue, look at increasing this cap (the max spawned zombies value in the game/server settings) or toning down some of the other mods. You could also look into the max_spawn_capacity_percent setting as well which allows the mod to spawn in hordes past the configured game cap.

 

2. Screamers that you meet near POI centers such as cities do not behave like standard screamers - yes they attract hordes, but what that actually means is not spawning in zombies nearby in response, but rather letting any nearby hordes within a 100-300m radius where you currently are and letting them path to you (spawning in when nearby). If you clear these hordes out beforehand, you can expect that a screamer will scream but no hordes will pop in nearby. If you're finding there's not enough roaming hordes, you can look at adjusting some of the other settings such as density_per_km_squared (for bigger hordes in a certain area) or horde_biome_multiplier (for bigger hordes and more hordes per biome).

Link to comment
Share on other sites

2024-08-03T00:11:12 4.578 ERR Error loading types from assembly 'ImprovedHordes, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' (F:\Games\steamapps\common\7 Days To Die\Mods\ImprovedHordes\ImprovedHordes.dll)
2024-08-03T00:11:12 4.579 EXC Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Could not load type of field 'ImprovedHordes.ImprovedHordesMod:harmony' (2) due to: Could not load file or assembly '0Harmony, Version=2.13.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Could not load type of field 'ImprovedHordes.ImprovedHordesMod:harmony' (2) due to: Could not load file or assembly '0Harmony, Version=2.13.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <467a840a914a47078e4ae9b0b1e8779e>:0
  at ReflectionHelpers.FindTypesWithAttribute[T] (System.Action`1[T] _typeFoundCallback, System.Boolean _allowAbstract) [0x0002c] in <40e9b6e9762f43cf836123d0f549ad32>:0
UnityEngine.StackTraceUtility:ExtractStringFromException(Object)
Log:Exception(Exception)
ReflectionHelpers:FindTypesWithAttribute(Action`1, Boolean)
XmlPatcher:.cctor()
<PatchAndLoadXuiXml>d__100:MoveNext()
ThreadManager:RunCoroutineSync(IEnumerator)
LocalPlayerUI:Start()




Having some problems with zombies standing still and was looking through the log to see if I can get a clue. I came across this. I don't know why it's throwing that error since I put the mod in the correct folder.

Link to comment
Share on other sites

1 hour ago, Squatchammer said:

2024-08-03T00:11:12 4.578 ERR Error loading types from assembly 'ImprovedHordes, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' (F:\Games\steamapps\common\7 Days To Die\Mods\ImprovedHordes\ImprovedHordes.dll)
2024-08-03T00:11:12 4.579 EXC Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Could not load type of field 'ImprovedHordes.ImprovedHordesMod:harmony' (2) due to: Could not load file or assembly '0Harmony, Version=2.13.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Could not load type of field 'ImprovedHordes.ImprovedHordesMod:harmony' (2) due to: Could not load file or assembly '0Harmony, Version=2.13.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <467a840a914a47078e4ae9b0b1e8779e>:0
  at ReflectionHelpers.FindTypesWithAttribute[T] (System.Action`1[T] _typeFoundCallback, System.Boolean _allowAbstract) [0x0002c] in <40e9b6e9762f43cf836123d0f549ad32>:0
UnityEngine.StackTraceUtility:ExtractStringFromException(Object)
Log:Exception(Exception)
ReflectionHelpers:FindTypesWithAttribute(Action`1, Boolean)
XmlPatcher:.cctor()
<PatchAndLoadXuiXml>d__100:MoveNext()
ThreadManager:RunCoroutineSync(IEnumerator)
LocalPlayerUI:Start()




Having some problems with zombies standing still and was looking through the log to see if I can get a clue. I came across this. I don't know why it's throwing that error since I put the mod in the correct folder.

https://community.7daystodie.com/topic/26781-improved-hordes-v10/?do=findComment&comment=561906

Link to comment
Share on other sites

I've been playing around with the settings but I can't seem to dial them in. I want masses of zombies, (like 16-32 per player), but easy (relative to the current loot stage), so like no Ferals below like loot stage 150 and no radiated. With the below settings I can't seem to get any hordes.
Default settings seem to work great, but the zombies are tougher than I'm looking for. I also want wilderness to be less frequent than cities and not as many aggressive animals spawning (timid seems fine). 

What can I change to meet those needs? Also, is the loot stage for the entire horde combined from all players in the area (e.g. 2 players at loot stage 50, would spawn 1 wave of gs="100" zombies), or is each horde spawned per player's loot stage? (e.g. 2 players at loot stage 50 would spawn 2x hordes at gs min="50")

Here are my current Settings.xml and Hordes.xml files:

Hordes.xml

<?xml version="1.0" encoding="UTF-8"?>
<hordes>
	<horde type="wandering_enemy"> <!-- Define wandering horde parameters -->
		<merge />
		<groups> <!-- Define possible groups for wandering hordes-->
			<group name="Zombies">
				<gs min="0" increaseEvery="5"> <!-- Increase entity count by 1 every 5 game stages -->
					<entity time="day" biomes="wasteland" group="ZombiesWasteland" minCount="3" maxCount="8"/>
					<entity time="night" biomes="wasteland" group="ZombiesWastelandNight" minCount="3" maxCount="8"/>
			
					<entity time="day" biomes="pine_forest,snow,desert,burnt_forest" group="ZombiesAll" minCount="3" maxCount="8"/>
					<entity time="night" biomes="pine_forest,snow,desert,burnt_forest" group="ZombiesNight" minCount="3" maxCount="8"/>
				</gs>
				
				<gs min="150" increaseEvery="8">
					<entity time="day" biomes="wasteland" group="IHZombiesAllFeralWasteland" minCount="1" maxCount="10"/>
					<entity time="night" biomes="wasteland" group="ZombiesWastelandNight" minCount="1" maxCount="10"/>
				
					<entity time="day" chance="0.8" biomes="pine_forest,snow,desert,burnt_forest" group="IHZombiesAllFeral" minCount="1" maxCount="10"/>
					<entity time="night" chance="0.8" biomes="pine_forest,snow,desert,burnt_forest" group="IHZombiesAllFeralNight" minCount="1" maxCount="10"/>
				</gs>
				
				<!-- Radiated Zombies -->
				<gs min="500" increaseEvery="5">
					<entity time="day" chance="0.4" biomes="wasteland" group="IHZombiesAllRadiatedWasteland" minCount="1" maxCount="20"/>
					<entity time="night" chance="0.4" biomes="wasteland" group="IHZombiesAllRadiatedWastelandNight" minCount="1" maxCount="20"/>
				
					<entity time="day" chance="0.2" biomes="pine_forest,snow,desert,burnt_forest" group="IHZombiesAllRadiated" minCount="1" maxCount="20"/>
					<entity time="night" chance="0.2" biomes="pine_forest,snow,desert,burnt_forest" group="IHZombiesAllRadiatedNight" minCount="1" maxCount="20"/>
				</gs>
			</group>
		</groups>
	</horde>
	
	<horde type="wandering_animal">
		<merge />
		<groups>
			<group name="Stags" weight="0.25">
				<entity name="animalStag" minCount="1" maxCount="2"/>
				<entity name="animalDoe" minCount="2" maxCount="4"/>
			</group>
			
			<group name="Chickens">
				<entity name="animalChicken" minCount="3" maxCount="5"/>
			</group>
			
			<group name="Rabbits">
				<entity name="animalRabbit" minCount="2" maxCount="4"/>
			</group>
		</groups>
	</horde>
	
	<horde type="wandering_animal_enemy">
		<merge />
		<groups>
			<group name="Wolves" weight="0.1">
				<entity biomes="desert" name="animalCoyote" minCount="1" maxCount="2"/>
				<entity biomes="pine_forest,burnt_forest,desert,snow" name="animalWolf" minCount="2" maxCount="4"/>

				<entity time="night" chance="0.25" biomes="pine_forest,desert,wasteland,burnt_forest" name="animalDireWolf" minCount="1" maxCount="2"/>
				<entity biomes="snow" name="animalMountainLion" minCount="1" maxCount="2"/>
			</group>
			
			<group name="Bears" weight="0.05">
				<entity biomes="pine_forest,snow" name="animalBear" minCount="1" maxCount="2"/>
					
				<entity time="night" biomes="wasteland,burnt_forest" name="animalZombieBear" minCount="1" maxCount="2"/>
			</group>
			
						
			<group name="ZombieDogs" weight="0.2">
				<entity chance="0.1" biomes="wasteland,pine_forest" name="animalZombieDog" minCount="1" maxCount="5"/>
			</group>
			
			<group name="Vultures" weight="0.01">
				<entity biomes="wasteland,desert,burnt_forest" name="animalZombieVulture" minCount="1" maxCount="3"/>
				
				<entity biomes="wasteland" name="animalZombieVultureRadiated" minCount="1" maxCount="2"/>
			</group>
			
			<group name="Boars" weight="0.01">
				<entity name="animalBoar" minCount="3" maxCount="4"/>
			</group>
		</groups>
	</horde>
	
	<horde type="screamer">
		<!-- Define list of hordes that this horde can merge with. Hordes of the same type can usually merge. Screamers are an exception. -->
		<merge>
			<horde type="wandering_enemy"/>
		</merge>
		
		<groups>
			<group name="Screamer">
				<gs min="0" max="75">
					<entity name="zombieScreamer" minCount="1" maxCount="1"/>
				</gs>
				
				<gs min="75" max="200">
					<entity name="zombieScreamerFeral" minCount="1" maxCount="1"/>
				</gs>
				
				<gs min="200">
					<entity name="zombieScreamerRadiated" minCount="1" maxCount="1"/>
				</gs>
			</group>
		</groups>
	</horde>
</hordes>



Settings.xml

<!-- Settings for Improved Hordes. -->
<improved_hordes>
	<!-- https://github.com/FilUnderscore/ImprovedHordes/wiki/Settings -->

	<thread_tick_ms>100</thread_tick_ms> <!-- Update rate for threads (100ms by default or 0.1s). Increase this value if you are experiencing performance issues. -->

	<!-- Entity Spawn Limit -->
	<max_entities_spawned_per_player>16</max_entities_spawned_per_player> <!-- -1 to disable. Note: This is still limited by the game's MaxEnemyCount and MaxAnimalCount settings. -->
	<max_hordes_spawned_per_player_group>3</max_hordes_spawned_per_player_group> <!-- -1 to disable. To calculate the max possible number of entities for a player group (given that both settings are greater than -1): max_hordes_spawned_per_player_group * max_entities_spawned_per_player -->

	<max_spawn_capacity_percent>0.8</max_spawn_capacity_percent> <!-- 80% of MaxSpawnedZombies/MaxSpawnedAnimals can be occupied by hordes. -->

	<!-- World Spawn Limits -->
	<max_horde_density>2.0</max_horde_density> <!-- Max Horde Density per Horde. (Horde biome size) -->
	<density_per_km_squared>9.3</density_per_km_squared> <!-- Max World Horde Density. (Number of hordes in world) -->
	
	<!-- Horde Biome Spawn Settings -->
	<horde_biome_multiplier>0.5</horde_biome_multiplier> <!-- Biome multiplier. Higher = more hordes. -->
	<horde_biome_curve_scale>1.5</horde_biome_curve_scale> <!-- Biome Curve Scale. Higher = more hordes in the wasteland. -->
	
	<!-- Horde Merge Distances -->
	<loaded_merge_distance>10</loaded_merge_distance>
	<unloaded_merge_distance>50</unloaded_merge_distance>
	
	<!-- Horde Populator Settings -->
	<wandering_animal_wilderness_sparsity>64</wandering_animal_wilderness_sparsity>
	<wandering_animal_enemy_wilderness_sparsity>32</wandering_animal_enemy_wilderness_sparsity>
	
	<wandering_enemy_wilderness_sparsity>32</wandering_enemy_wilderness_sparsity>
	
	<!-- Frequency of world horde repopulation (wilderness and city/town hordes) -->
	<wilderness_horde_repopulation_days>4</wilderness_horde_repopulation_days>
	<zone_horde_repopulation_days>1</zone_horde_repopulation_days>
	
	<!-- Events -->
	<event_chunk_radius>3</event_chunk_radius>
	<event_interest_distance_multiplier>0.5</event_interest_distance_multiplier>
</improved_hordes>

 

Edited by NolanStaark (see edit history)
Link to comment
Share on other sites

On 8/5/2024 at 3:10 AM, Yakov said:

testers are enjoying this so far. glad it was converted to 1.0:)

Good to hear!

 

On 8/8/2024 at 4:04 AM, NolanStaark said:

I've been playing around with the settings but I can't seem to dial them in. I want masses of zombies, (like 16-32 per player), but easy (relative to the current loot stage), so like no Ferals below like loot stage 150 and no radiated. With the below settings I can't seem to get any hordes.
Default settings seem to work great, but the zombies are tougher than I'm looking for. I also want wilderness to be less frequent than cities and not as many aggressive animals spawning (timid seems fine). 

What can I change to meet those needs? Also, is the loot stage for the entire horde combined from all players in the area (e.g. 2 players at loot stage 50, would spawn 1 wave of gs="100" zombies), or is each horde spawned per player's loot stage? (e.g. 2 players at loot stage 50 would spawn 2x hordes at gs min="50")

The game stage of all combined players in view distance is used (same calculation as the vanilla blood moon difficulty), so in your example it would spawn a horde with the entities under gs min="50" and gs min="100" tags.

 

Regarding your other questions, ferals don't spawn below game stage 150 either way (excluding the vanilla ZombiesNight group) as indicated by the gs min="150". Adjusting the number of zombies per player is both self documented in the config and documented on the wiki as well (max_entities_spawned_per_player). To reduce the number of wilderness hordes, look at bumping up the wilderness_sparsity settings (wandering_enemy_wilderness_sparsity and wandering_animal_enemy_wilderness_sparsity) in the config (higher number = hordes spawn more spread out). You can also adjust the aggressive animal horde spawns in the same way.

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...