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

Request: Ability to toggle the mod #36

Closed YakovAU closed 3 months ago

YakovAU commented 3 months ago

For ravenhearst we have a few game options, and mixed with our biome code and IH the spawns can be intensive for some players. for the more hardcore crowd I want to add a menu option for improved hordes to be on or off. Is it possible to have this functionality added, if you're too busy i could do a merge request and do it perhaps if you're keen.

FilUnderscore commented 3 months ago

It would be possible, but I think it would be better implementation-wise if this functionality was included in Ravenhearst as an additional mod (loading after IH perhaps?) that exposes the menu option which could interface with IH (through bindings or the likes, the extra mod would probably need to have a DLL with a UI class to check this) to set a bool in the DLL whether IH should run or not.

I say this mainly because outside of Ravenhearst, most people download and install IH because they want to run IH, not use it as an additional thing that can be enabled/disabled. I feel that the solution I've mentioned would be a reasonable compromise and would be of a similar effort to including it as a base functionality of the mod.

Let me know your thoughts on this.

If you choose to make a PR for the interfacing functionality, can probably stick the bool check in ImprovedHordesMod.CanInitializeCore() which checks a internal global bool value. You'd need to set this bool value elsewhere though, probably by exposing a public method in the same class that can be accessed from another DLL mod using ImprovedHordesMod.TryGetInstance(Mod, out ImprovedHordesMod).

FilUnderscore commented 3 months ago

You could also look at scaling the horde XML configs as well if most players are finding it intensive, however there is no way to currently scale this with a setting. I might consider implementing a feature where the gamestage and entity count values in the hordes.xml file can be scaled by a multiplier as a setting in the settings XML file - this could also be exposed via the menu option as a sort of difficulty slider (or even as part of base game difficulty?).

The use case for this could be players that want to use IH but find trying to make the gameplay experience easier/harder by modifying the XML values tedious.

YakovAU commented 3 months ago

i did this instead, just had our code rename the modinfo file. probably easier lol. thank you image