RandomEnemiesSize
[V50+] Monsters now spawn with a random size. Configurable with LethalConfig: Outside, Indoor, Custom enemies and map hazards !
Date uploaded | 2 months ago |
Version | 1.1.11 |
Download link | Wexop-RandomEnemiesSize-1.1.11.zip |
Downloads | 2012 |
Dependency string | Wexop-RandomEnemiesSize-1.1.11 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100Evaisa-HookGenPatcher
Generates MonoMod.RuntimeDetour.HookGen's MMHOOK file during the BepInEx preloader phase.
Preferred version: 0.0.5AinaVT-LethalConfig
Provides an in-game config menu for players to edit their configs, and an API for other mods to use and customize their entries.
Preferred version: 1.4.2README
Every human don't have the same height no ? So why monsters do ?
This mod make monsters spawn with a random size !
You can configure the range size for :
- Outside enemies
- Indoor enemies
- Custom enemies
- Hazards (landmines, turrets, spike traps, modded hazards)
You can configure if this mod affect vanilla and / or modded enemies (both activated by default)
You can configure the chance for each monster to have a random size (0% never to 100% always).
Note that:
- Others mods enemies and map hazards should be impacted by this mod.
- Only the player who host the game config will be taken.
FOR CUSTOM ENEMIES
Recommended:
You can use this generator and copy the result in the input 'CustomEnemiesSize' to custom the range size of each monsters or modded map hazards!
Manualy:
This is an input, you can for example write -> ForestGiant:1:2;NutCracker:1:2 Make sure to have a separator ';' between monsters, even if you have only one custom enemies !
FOR CUSTOM INTERIORS
To use this feature you need install the mod LethalLevelLoader.
You can multiply the previous configs size for every interior (and every monster in every interior !)
Recommended:
You can use the generator and copy the result in the input ' CustomInteriorsSize'!
Manualy:
This is an input, you can for example write -> HauntedMansion#any:1,Puffer:2;
The formula is interiorName, an # to tell this is the end of the name, then you can write any (or not) and tell the mulitplier (here its one), or write any enemie (list on the generator).
Make sure to have a separator ';' between interiors, even if you have only one !
INFLUENCES
- Hp influence is activated by default, the hp of enemies will be multiplied with their size (bigger enemy -> more hp, smaller -> less hp)
- Sound influence is activated by default, the sound pitch of every audio sources of the monster will be multiplied with their size. You can also set the minimum and maximum pitch value in configs
- Beehive influence is disabled by default, the beehive weight and price are affected by the size.
FUN MODE
You can activate the fun mode to randomize the size of every axis (x,y,z). The height range is based on initial configs, but you can config horizontals ranges (x,z)
You can lock the horizontal axis (x and z) to have the same value.
This normaly should work with modded enemies. For any issues, create an issue on the git page :)
Have fun :)
QUESTIONS
- Why LethalLevelLoader as soft dependence ?
LLL give an easy way to know the dungeon name (for custom interiors multiplier), and most of the mods use this api to create custom dungeon, so can find the interior name easily !
RELATED MODS
- LittleCompany - A Lethal Company mod for anything size-related! Enemies behaviour change depending on the size of enemies and yours!
- MapHazardsMoves - A Lethal Company mod that make map hazards like turret, landmine, spike trap walk ! Try it with RandomEnemiesSize to be chased by a big scary spike trap !
MOD COMPATIBILITY
I created a way to have an easy compatibility with RandomEnemiesSize. You can access to a dictionary from
RandomEnemiesSize.RandomEnemiesSizeDataDictionary
This dictionary entry is the NetworkId (ulong type) of any monster with a random size. It returns an object like this :
public class EnemyResized
{
public Vector3 scale;
public float multiplier;
public ulong newtorkId;
public Influences influences;
public GameObject gameObject;
public bool isHazard;
public string enemyName;
}
This dictionary is cleared each time RoundManager.LoadNewLevel is call
Don't forget to check if the enemy networkId is here before trying to access to the object.
This should work for host and client. But remember that RandomEnemiesSize take only host configs, so check host may be better.
Feel free to use this dictionary for any compatibility with the mod.
MOD COMPATIBILITY FOR MAP HAZARDS
RandomEnemiesSize can normally affect modded map hazards.
If a modded map hazard cannot be affected by default by the mod, here is how you can have a compatibility :
Do a soft dependency on RandomEnemiesSize :
[BepInDependency("wexop.random_enemies_size", BepInDependency.DependencyFlags.SoftDependency)]
Now on your map hazard script, on the start check if RandomEnemiesSize is here, and add the component MapHazardSizeRandomizer :
if (Chainloader.PluginInfos.ContainsKey("wexop.random_enemies_size"))
{
gameObject.addComponent<MapHazardSizeRandomizer>();
}
For any question, suggestion, need, feel free to open an issue on GitHub or to ping me in the modded lethal company server :)
CHANGELOG
Changelog
v1.1.16
- Fix an issue with custom enemy names
v1.1.15
- Fix an issue where monster break when customEnemy configs is empty
v1.1.14
- Better enemy names check
v1.1.13
- Improve shared enemyResized dictionary
v1.1.12
- Masked enemy is now affected by the mod
v1.1.11
- Try to fix a desync size issue on hazards
v1.1.10
- Add Maneater into vanilla check
- Mod can now affect modded map hazards
- Add configs for modded map hazards
- Update README with a new section MOD COMPATIBILITY FOR MAP HAZARDS, for modded map hazards that would not be affected by default by the mod.
- Add lethal lib in dependency
v1.1.9
- Add V55 enemies into vanilla enemies check
- Fix bees spam error log
- Make the mod easier to have compatibility for other devs. Check README => MOD COMPATIBILITY for more information.
v1.1.8
- New config, Beehive influence, disabled by default. Beehive weight and price are affected by the size.
- New Bees management : Beehive size is always affected, but the weight is not if you disable the Beehive influence config.
- Also, bees speed is now affected by the size (big bees => slower, small bees have the same speed as normal size). Bees player detection is also affected, so you can get easier big bees.
v1.1.7
- Spike traps size are now affected by the mod (configurable, activated by default)
v1.1.6
- You can configure the chance for each monster to have a random size (0% is never, 100% is always)
- You can show dev logs or not (disabled by default)
v1.1.5
- Landmines and turrets can now have a random size (activated by default)
- Landmines and turrets are affected by FunMode and sound pitch influence if activated
v1.1.4
- Fix an issue where bees hive don't spawn
- Bees hive is now affected by the mod (size and weight)
- Add two configs to enable the mod to affect or not the vanilla enemies and to affect or not the modded enemies (both activated by default)
v1.1.3
- Size of monsters can now influence the sound pitch of every of their audio sources (configurable, activate by default)
- Added this changelog file :)
v1.1.2
- Fix "any" keyword for interiors multiplier
v1.1.1
- LethalLevelLoader is now a soft dependence, you need it for the customInteriors config only.
- Remove LethalLevelLoader from hard dependencies
v1.1.0
- Cleaned the sync between host - client
- Size of monsters now can influence their HP (configurable, activate by default)
- Fix the test room issue where size is not affected
new dependencies :
- StaticNetwork, for sync between every players
- LethalLevelLoader, to get easily the actual interior name, and to easily have a compatibily with most of the interiors mod
v1.0.5
- You can now lock the horizontal axis (x and z ), so they will be multplied with the same value Also some woding fixs
v1.0.4
- Add a FunMode config (disabled by default) that randomize the scale for every axis direction (x,y,z)
- The height range is still based on initial configs, but you can config horizontals ranges (x,z)
v1.0.3
- Fix scale issue, now multiply the original scale.
- Fix custom enemies name with space in name.
- Now can use this tool : https://wexop.github.io/RandomEnemiesSizeCustomGeneraror to generate the custom enemies size ranges wanted
v1.0.1
- Add more configs : Outside, Indoor and custom enemies :slight_smile:
- For more infos on custom enemies: https://thunderstore.io/c/lethal-company/p/Wexop/RandomEnemiesSize/