Jump to content

Improved Hordes [V1.0]


FilUnderscore

Recommended Posts

spacer.png

 

[2.0.1]

Horde alert, Survivor!

There's been a sudden abundance of Zombies all over the place. Screamers are now popping up in major towns,

and we're finding sleepers on the road. Stay safe out there.

 

Backstory:

 

This mod was initially an idea I came up with after playing A19, and reflecting on the past alphas where I felt wandering hordes used to be more dangerous and unpredictable. I wanted to bring this back and focus on improving both wandering hordes and scout hordes, to bring more difficulty (and customization) into the game, as I felt the only real threat was the blood moon.

 

Features:

 

  • Improved hordes
    • 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.
    • Hordes are simulated throughout the world and load in when nearby.
    • 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.

 

Download/Source:

 

> Latest Release for V1.0 b333: https://github.com/FilUnderscore/ImprovedHordes/releases/latest/download/ImprovedHordes.zip

 

> Previous Releases & Changelog: https://github.com/FilUnderscore/ImprovedHordes/releases

 

> Source Code: https://github.com/FilUnderscore/ImprovedHordes

 

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 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 on Ko-fi.

 

https://storage.ko-fi.com/cdn/brandasset/kofi_button_red.png?_gl=1*1atz1hx*_ga*ODg0MDI3OTQ5LjE2ODk1MDU3MDc.*_ga_M13FZ7VQ2C*MTY4OTUwNTcwNi4xLjEuMTY4OTUxMDg0NC4zNC4wLjA.

 

Screenshots:

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

 

Terms Of Use:

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

 

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

6 hours ago, HYper said:

debating getting this, lol.. got murdered at wasteland, if its like that, i may get tight and quit game haha...

 

I’ve tried to ensure that the hordes start out easy as you progress, by default the hordes will always be somewhat easier than the blood moon hordes around the same gamestage (still working on the balancing part though). Part of the challenge is not only the difficulty of the zombies but also the unpredictable nature of when they appear. You can also tweak a lot of the settings as well in the XML files if you want to make them easier/more difficult if the default options don’t work for you.

Link to comment
Share on other sites

32 minutes ago, LongParsnip said:

I am having a bit of trouble with this mod, every now and then it continuously spawns screamers and then I get a never ending horde and the only way to get rid of it is to run away.... (character level is ~100) any ideas?

 

I'm releasing a fix for this in a couple of hours that should address this, usually around 10 or so zombies should be spawning at this level (not an infinite amount). In the meantime if anyone else is experiencing this, rejoining the game will end any infinite occurring scout hordes. Sorry about that.

Link to comment
Share on other sites

1 hour ago, LongParsnip said:

I am having a bit of trouble with this mod, every now and then it continuously spawns screamers and then I get a never ending horde and the only way to get rid of it is to run away.... (character level is ~100) any ideas?

 

11 minutes ago, Espio said:

I ended up getting my console flooded with GameUpdate errors and needing to alt-f4, dunno if it's a mod conflict or due to an infinite amount of hordes being spawned from screamers.  I can give my modlist if necessary unless this is known about already.

 

https://www.youtube.com/watch?v=CEVT33xzcXY have a video if that does anything.

 

A new update has been released (1.0.0-PRE5) that should address both of these issues and a few others. Please let me know if you continue to have the same issues after trying the new version.

Link to comment
Share on other sites

Found another GameUpdate bug.  Using 1.0.0-pre5, this time occuring on world load after manual exit.

 

https://imgur.com/W1f3iuh

 

2022-01-03T03:10:20 3375.974 INF [Improved Hordes] [Wandering Horde] Occurrence 2 Spawning
2022-01-03T03:10:20 3375.976 ERR [MODS] Error while executing GameUpdate on mod "ImprovedHordes"
2022-01-03T03:10:20 3375.979 EXC Object reference not set to an instance of an object
  at ImprovedHordes.Horde.HordeSpawner.GetNearbyPlayers (EntityPlayer player) [0x00000] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.Horde.HordeSpawner.GetAllHordeGroups () [0x0004c] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.Horde.Wandering.WanderingHordeSpawner.SpawnWanderingHordes () [0x00036] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.Horde.Wandering.WanderingHordeManager.Update () [0x0007a] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.ImprovedHordesManager.Update () [0x00014] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ImprovedHordes.ImprovedHordesMod.GameUpdate () [0x00007] in <825ddc16f322453cbbf25ff25535f0e8>:0 
  at ModEvent.Invoke () [0x00011] in <2ba1bc1bbbe64fe49f53fe5235fb7038>:0 
UnityEngine.StackTraceUtility:ExtractStringFromException(Object)

 

Edited by Espio
some actual log to help a bit more (see edit history)
Link to comment
Share on other sites

Just now, Espio said:

Found another GameUpdate bug.  Using 1.0.0-pre5, this time occuring on world load after manual exit.

 

https://imgur.com/W1f3iuh


Alright, could you post your output log (the one found in 7DaysToDie/7DaysToDie_Data starting with output_log…) either here (or put it on https://pastebin.com/ and share it here). That should help me pinpoint where this is happening.

Link to comment
Share on other sites

Terms of Use:


Definitions:

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.

 

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

9 hours ago, Espio said:

Got another mini-bug loading up a world on latest pre-6:

 

2022-01-04T23:57:17 14502.052 ERR [MODS] Error while executing GameStartDone on mod "ImprovedHordes"

2022-01-04T23:57:17 14502.057 EXC Variable week is already defined.

 

https://pastebin.com/vyXeTeL5

 

Thanks for reporting this, released a fix for it in 1.0.0-PRE7.

Link to comment
Share on other sites

8 hours ago, Surf said:

Would anyone happen to know if this mod works with enZombies?

If not I will test and report back 🙂

 

7 hours ago, Surf said:

Update: Someone on the enZombies thread has confirmed that the two are compatable.

That's good to hear, though some of the zombies may not appear in the hordes that the mod generates due to the fact that hordes need to be manually set up. I've put up a guide on the wiki on how to go about adding new horde groups in the hordes.xml file for anyone interested in that. I'm looking into integrating XPath as well if mod authors of these zombie mods would be interested in some kind of feature like that to include as an add-on to integrate with Improved Hordes. The only mods that might not work would be ones that drastically change how Zombie AI pathing works.

Link to comment
Share on other sites

16 hours ago, FilUnderscore said:

 

That's good to hear, though some of the zombies may not appear in the hordes that the mod generates due to the fact that hordes need to be manually set up. I've put up a guide on the wiki on how to go about adding new horde groups in the hordes.xml file for anyone interested in that. I'm looking into integrating XPath as well if mod authors of these zombie mods would be interested in some kind of feature like that to include as an add-on to integrate with Improved Hordes. The only mods that might not work would be ones that drastically change how Zombie AI pathing works.

That would be awesome!

Link to comment
Share on other sites

1 hour ago, Rodent said:

Quick question, can the friendly animal portion of this mod be disabled?

Absolutely, are you talking about the friendly animal wandering hordes (stags, boars, etc.)? You can edit them out in the Config/ImprovedHordes/hordes.xml file found inside the mod folder.

 

Here's a version of the hordes.xml without the friendly wandering hordes. The changes are applied on game restart.

Spoiler
<?xml version="1.0" encoding="UTF-8"?>

<!-- Define horde enemies for Improved Hordes. -->
<hordes>
	<horde type="wandering">
		<hordegroup name="ZombieDogs" prefWeekDay="3,6,7" maxWeeklyOccurrences="2">
			<gs min="5" countIncPerGS="0.1">
				<entity name="animalZombieDog" minCount="1" maxCount="20"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Wolfs" weight="0.5" prefWeekDay="1,2,3,6" maxWeeklyOccurrences="1">			
			<gs min="10" countIncPerGS="0.033">
				<entity biomes="desert,snow" name="animalCoyote" minCount="1" maxCount="6"/>
				<entity biomes="pine_forest,burnt_forest" name="animalWolf" minCount="2" maxCount="6"/>
			</gs>
			
			<gs min="50" countIncPerGS="0.025">
				<entity biomes="pine_forest,desert,wasteland,burnt_forest" name="animalDireWolf" minCount="1" maxCount="3"/>
				<entity biomes="snow" name="animalMountainLion" minCount="1" maxCount="3"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Bears" weight="0.5" prefWeekDay="1,2,3" maxWeeklyOccurrences="1">
			<gs min="50" countIncPerGS="0.02">
				<entity biomes="pine_forest,snow" name="animalBear" minCount="1" maxCount="6"/>
			</gs>
			
			<gs min="100" countIncPerGS="0.02">
				<entity biomes="wasteland,burnt_forest" name="animalZombieBear" minCount="1" maxCount="7"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Deserted" weight="0.1" prefWeekDay="4,5" maxWeeklyOccurrences="1">
			<gs min="20" countIncPerGS="0.03">
				<entity biomes="desert,burnt_forest,wasteland" name="animalZombieVulture" minCount="1" maxCount="4"/>
				<entity biomes="desert,pine_forest" name="animalSnake" minCount="1" maxCount="3"/>
			</gs>
				
			<gs min="100" countIncPerGS="0.025">
				<entity biomes="wasteland" name="animalZombieVultureRadiated" minCount="1" maxCount="4"/>
			</gs>
		</hordegroup>
		
		<hordegroup name="Zombies">
			<!-- Standard Zombies -->
			<gs max="100" countIncPerGS="0.417" countDecGS="48" countDecPerPostGS="0.417">
				<gs min="15" max="75">
					<entity name="zombieScreamer" chance="0.1" minCount="1" maxCount="1"/>
				</gs>
			
				<entity group="ZombiesAll" minCount="3" maxCount="20"/>
			</gs>
			
			<!-- Example of GS
			Start spawning at GS100 and increase count by 0.02 per GS from there, 
			at GS400 start decreasing spawn count by 0.1 per GS after 400, 
			then cease any remaining spawns at GS700.-->
			<!-- Feral Zombies -->
			<gs min="50" max="375" countIncPerGS="0.18" countDecGS="160" countDecPerPostGS="0.18">
				<gs min="75" max="250">
					<entity name="zombieScreamerFeral" chance="0.2" minCount="1" maxCount="1"/>
				</gs>
				
				<entity group="IHZombiesAllFeral" minCount="1" maxCount="20"/>
			</gs>
			
			<!-- Radiated Zombies -->
			<gs min="166" countIncPerGS="0.18">
				<gs min="250">
					<entity name="zombieScreamerRadiated" chance="0.25" minCount="1" maxCount="1"/>
				</gs>
			
				<entity group="IHZombiesAllRadiated" minCount="1" maxCount="40"/>
			</gs>
		</hordegroup>
		
		<!-- <hordegroup name="Stags" weight="0.75" parent="Farm" maxWeeklyOccurrences="1">
			<entity biomes="pine_forest,snow" name="animalStag" minCount="1" maxCount="2"/>
			<entity biomes="pine_forest,snow" name="animalDoe" minCount="1" maxCount="1"/>
		</hordegroup>
		
		<hordegroup name="Boars" weight="0.75" parent="Farm" maxWeeklyOccurrences="1">
			<entity biomes="pine_forest" name="animalBoar" minCount="1" maxCount="2"/>
		</hordegroup>
		
		<hordegroup name="Farm" weight="0.5" maxWeeklyOccurrences="1">
			<entity horde="wandering" group="Stags" maxCount="2"/>
			<entity horde="wandering" group="Boars" maxCount="2"/>
			<entity name="animalChicken" minCount="2" maxCount="3"/>
			<entity name="animalRabbit" minCount="1" maxCount="2"/>
		</hordegroup> -->
	</horde>
	
	<!-- Scouts -->
	<horde type="scouts">
		<hordegroup name="ScreamerScout" weight="0.75">
			<!-- Standard Screamer -->
			<gs min="25" max="75">
				<entity name="zombieScreamer" minCount="1" maxCount="1"/>
			</gs>
			
			<!-- Feral Screamer Scout -->
			<gs min="76" max="250">
				<entity name="zombieScreamerFeral" minCount="1" maxCount="1"/>
			</gs>
			
			<!-- Radiated Screamer Scout -->
			<gs min="251">
				<entity name="zombieScreamerRadiated" minCount="1" maxCount="1"/>
			</gs>
		</hordegroup>
		
		<!-- Classic spider zombie trio -->
		<hordegroup name="SpiderScouts" weight="0.25">
			<gs min="25" max="100" countIncPerGS="0.042">
				<entity name="zombieSpider" minCount="1" maxCount="3"/>
			</gs>
			
			<gs min="101" max="250" countIncPerGS="0.035">
				<entity name="zombieSpiderFeral" minCount="1" maxCount="3"/>
			</gs>
			
			<gs min="251" countIncPerGS="0.03">
				<entity name="zombieSpiderRadiated" minCount="1" maxCount="3"/>
			</gs>
		</hordegroup>
	</horde>
	
	<!-- Scout horde spawned by scouts -->
	<horde type="scout">
		<hordegroup name="Zombies">
			<gs min="25" max="200" countIncPerGS="0.075" countDecGS="151" countDecPerPostGS="0.075">
				<gs min="50">
					<entity horde="scouts" chance="0.1"/> <!-- Entity types allow you to integrate other hordes into different hordes -->
				</gs>

				<entity group="ZombiesAll" minCount="2" maxCount="8"/>
			</gs>
			
			<gs min="151" max="400" countIncPerGS="0.075" countDecGS="301" countDecPerPostGS="0.075">
				<gs min="175">
					<entity horde="scouts" chance="0.25"/>
				</gs>
			
				<entity group="IHZombiesAllFeral" minCount="2" maxCount="8"/>
			</gs>
			
			<gs min="301" countIncPerGS="0.075">
				<gs min="301">
					<entity horde="scouts" chance="0.5"/>
				</gs>
			
				<entity group="IHZombiesAllRadiated" minCount="1" maxCount="10"/>
			</gs>
		</hordegroup>
	</horde>
</hordes>

 

 

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

IMPROVED HORDES 1.0.0-STABLE RELEASED FOR A20 B238.

 

Changelog:

 

Added

  • XPath support for modlet integration with Improved Hordes. Check out the wiki page for more information.
  • Hordes can now be customized to support different groups of zombies for both day and night, see the wiki page for more on implementation.
  • 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.
  • 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.
  • Horde group balancing changes.

 

Install Instructions are now additionally included in a readme.txt file inside the zip. The updated install instructions are to extract the contents of the zip into your 7D2D Mods folder, as with every other mod.

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

First off, i'm loving this mod for how it alters the normal play patterns when dealing with zombies. Thank You for your efforts!

I downloaded the latest version because i was going to let you know that attempting the settime console command on version 0.0.7 caused the game to crash and kill the save. No big deal as i was only testing hordes spawning ratios for entities, but thought i should let you know. 

That being said, i opened the new download before deleting the old version and my download from github has no .dll file anymore. In fact the ImprovedHordes folder only has xml files. Does this mod no longer need the .dll file?

Link to comment
Share on other sites

3 minutes ago, magejosh said:

First off, i'm loving this mod for how it alters the normal play patterns when dealing with zombies. Thank You for your efforts!

I downloaded the latest version because i was going to let you know that attempting the settime console command on version 0.0.7 caused the game to crash and kill the save. No big deal as i was only testing hordes spawning ratios for entities, but thought i should let you know. 

That being said, i opened the new download before deleting the old version and my download from github has no .dll file anymore. In fact the ImprovedHordes folder only has xml files. Does this mod no longer need the .dll file?

I've packaged the mod differently since I had a few complaints with issues on installing the mod. There should be an ImprovedHordes folder inside the zip that contains the files (and the DLL), not sure if people prefer this way or the old way. Just checking, you did download the zip from the releases page?

Link to comment
Share on other sites

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...