![VELD-Enhanced_Monsters-1.3.2 icon](https://gcdn.thunderstore.io/live/repository/icons/VELD-Enhanced_Monsters-1.3.2.png.128x128_q95.jpg)
Enhanced Monsters
This mod adds ranking and allows killable mobs to be sold, even modded ones! Incompatible with SellBodiesFixed !
Date uploaded | 2 days ago |
Version | 1.3.2 |
Download link | VELD-Enhanced_Monsters-1.3.2.zip |
Downloads | 2249 |
Dependency string | VELD-Enhanced_Monsters-1.3.2 |
This mod requires the following mods to function
![BepInEx-BepInExPack-5.4.2100 icon](https://gcdn.thunderstore.io/live/repository/icons/BepInEx-BepInExPack-5.4.2100.png.64x64_q95.png)
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100![Evaisa-LethalLib-0.16.2 icon](https://gcdn.thunderstore.io/live/repository/icons/Evaisa-LethalLib-0.16.2.png.64x64_q95.jpg)
README
:trident: Enhanced Monsters
A mod aiming at enhancing gameplay with monsters, such as allowing to sell dead monsters, make masked/mimics return their mask once dead,
Nutcrackers to drop their shotgun, and also adds a ranking mechanic to mobs.
Features
- Allows you to sell dead mobs, even modded ones! If it can die, it can be sold. Technically.
- All mobs will display a rank based on their dangerousness when you scan them. Their rank is synchronized between players from host's configuration.
- Configurable mobs minimum and maximum values, mass, wether it can be sold or not, and mob's rank.
[WIP]
- Nutcrackers have a chance to drop their shotgun when they die.[WIP]
- Masked mimics drop their mask when they die.[WIP]
- See and hear what's happening inside the facility from the door's windows.
I must still think about more features in fact.
Verified Compatibilities
Here are a few mods I have personally verified the compatibility with.
LethalConfig
: I made sure that LethalConfig works fine to configure the mod's local settings. It's an optional mod.LethalSettings
: I made sure that LethalSettings works fine too, it's just so that you can use whatever mods you've installed instead of downloading yet another config mod.Football
(Kittenji): Football has a rank, I haven't verified if she has a ScanNode though, so maybe you won't even be able to scan her but yeah, should work anyway.Giant Species
(XuXiaolan): I'm trying to make a proper support for Giant Species mod, with ranks and eventually, for the smallest of them, prices and values.
How to edit mobs settings ?
Wiki is work in progress, it will be more detailed and more up to date.
With R2ModMan
- :warning: You need to launch the game at least once, in order to generate the config list.
- Into r2modman, head into
Settings
, thenLocations
and clickBrowse profile folder
. - Reach
/BepInEx/config/EnhancedMonsters/
- Double-click
EnemiesData.json
- For more efficient search, you can press
[CTRL]
+[F]
in order to open the word search. Type the name of the mob you want to edit. - Edit the values. be careful, you need to respect the types given:
MinValue
,MaxValue
must be integers (integral numbers, without decimals).Mass
must be a floating point number (number with decimals) and it is in pounds (lb).Pickupable
must remain a boolean, it can only have two values:true
orfalse
.Rank
is a string, it has no length restriction but it's better to keep it short.
- Don't forget to save! You need to relaunch the game for these settings to be applied.
For Warriors (manual installers yarrrgh)
- :warning: You need to launch the game at least once, in order to generate the config list.
- If you install mods, you technically know where you install them. Go to BepInEx configs
/BepInEx/config/EnhancedMonsters/
- Open
EnemiesData.json
- Search a mob by its name with
[CTRL]
+[F]
- Modify its values by respecting the information given in the R2ModMan notice
- You need to relaunch the game in order to apply the settings.
Q&A
Q: Is it possible to make the mod client-side only so I can use only the ranking with my vanilla friends ?
A: I will probably do it, but it's far from being a priority.
Q: Is this mod compatible with SellBodies or SellBodiesFixed ?
A: No.
Q: Is this mod compatible with TakeThatMaskOff ?
A: For now, it is, but when the feature will be added, it won't.
Q: If I have a mod allowing to kill all enemies, will all of them be sellable
A: Yes but there are prerequisites for this. You need to go into the
EnemiesData.json
settings file and set every mob'sPickupable
boolean value totrue
. Don't forget to add them values.
Q: Why do some of the modded monsters of my modpack aren't grabbable after killing them ?
A: By default, any mob that doesn't have default data is not "pickupable". You need to access the EnemyData config file and set the modded mob's values and wether it's pickupable or not. After that you need to restart the game. Note that some mods do register default data for their mobs so it is not required with every modded mob.
Q: I have encountered a bug, how do I report it ?
A: You can report it in the GitHub issues page, or join the Lethal Company Modding Discord Server and go to the Enhanced Monsters Topic inside the
#mod-releases
forum
For modders
Make Enhanced Monsters a Soft-Dependency
Here's a quick tutorial on how to use EnhancedMonsters without making it mandatory for users of your mods!
- You still need to add a reference to the mod into your
.csproj
.
// Plugin.cs
[BepInDependency("com.velddev.enhancedmonsters", BepInDependency.DependencyFlags.SoftDependency)]
public class MyPlugin : BaseUnityPlugin
{
private void Start()
{
if(EnhancedMonstersCompatibilityLayer.Enabled)
{
EnhancedMonstersCompatibilityLayer.RegisterCustomMonsterEnemyData();
}
}
}
// You can do the following part inside your main Plugin class, it just needs a container class.
public static class EnhancedMonstersCompatibilityLayer
{
private static bool? _enabled;
public static bool Enabled
{
get
{
if (_enabled == null)
_enabled = BepInex.Bootstrap.Chainloader.PluginInfos.ContainsKey(EnhancedMonsters.PluginInfo.GUID);
return (bool)_enabled;
}
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
public static void RegisterCustomMonsterEnemyData()
{
// The EnemyName must ABSOLUTELY be the same than inside your EnemyType scriptable object!
EnhancedMonsters.Utils.EnemiesDataManager.RegisterEnemy(EnemyType.enemyName, /*is enemy sellable ?*/ true, /*min value:*/ 150, /*max value:*/ 200, /*mass:*/ 14, /*rank:*/ "S+");
// ...
}
}
Attributions
- IAmBatby (LethalExpansion, LethalToolbox) for helping me with the networking and with my prefab generation system (for the mobs scraps)
- Xilophor (LethalNetworkAPI, StaticNetcode) for helping me with the networking
- Zagster (OpenBodyCams) for helping me with the networking and various hints
- FROG for helping me with the networking
- Xu Xiaolan (Giant Species) for various help
- Moroxide (Lethal Resonance collaborator) for creating a enemy dead body drop sound, and helping me testing the mod
- DropDaDeuce (LethalGargoyles) for making a fix for soft dependencies
- Dededenied for making the dead enemies inventory item icon
CHANGELOG
Changelog
All notable changes will be documented in the changelog.
1.3.2 - 2025-02-08
- Fixed custom rotations not setting correctly, and splitted On Floor Rotation and In Hand Rotation in the config.
- Temporarily suspended the custom sounds feature, it will only use the default sounds now.
- Added possibility to set
default
for default sound, ornone
for no sound at all in all the sound configs. - Added a custom dead enemy item inventory icon, designed by Dededenied.
- Added a new setting to set the grab collision box size.
Note: This update deprecates old configs. Make sure to port your changes from
OLD_EnemiesData.json
.
1.3.1 - 2025-02-02
- Added a config backup system: Deprecated config versions are renamed to
OLD_EnemyData.json
in order to not screw all your modifications on each new version. All you have to do is port your changes to the newer versions of the config. - Fixed the mod not loading correctly due to the custom sounds loading attempt even if there was none provided.
1.3.0 - 2025-02-02
- Added new enemies metadata configs:
TwoHanded
: Wether the body makes "hand fulls" or notGrabSFX
: Allows you to use a custom sound as the body grab SFXDropSFX
: Allows you to use a custom sound as the body drop SFXPocketSFX
: Allows you to use a custom sound as the body pocketed SFX (only for bodies that aren't TwoHanded)
- Added mob icon in inventory (instead of the white cube). This is meant to change, I'm looking for an artist to make a custom inventory icon.
- Added a body drop sound, made by Moroxide (Lethal Resonance contributor)
- Added a custom sound import system for mobs drops. More details on how to use in the
README.md
. - Fixed some mobs not having their rank shown when still alive.
1.2.1 - 2025-01-30
- Fixed mod not loading correctly when LethalConfig or LethalSettings was missing, episode 498.
1.2.0 - 2025-01-28
- Enemy scraps are now saved along with other standard scraps !
- Fixed enemy bodies persisting between levels and saves.
1.1.5 - 2025-01-27
- Fixed mob bodies not having scrap values after dying.
- Fixed some mobs having invalid animations or broken animations when they died.
- Fixed some mobs not being grabbable after dying.
Known issues:
- Mobs still don't save after leaving the game, they should but they don't and I don't know why they don't.
- Sometimes, dead bodies appear next to the ship after landing on a new moon, I still don't know why it happens.
1.1.4 - 2025-01-21
- Thanks to DropDaDeuce (LethalGargoyles), the config issues should now be totally fixed, at least it works on our machines.
- Fixed some modded mobs not registering correctly eventually.
1.1.3 - 2025-01-19
- Fixed mod not loading correctly when Lethal Config and/or LethalSettings were installed, but for real now, hopefully
- Added a parameter on wether to play or not some mobs death animation. Turning this setting off on some monsters might fix some mobs to be invisible after their death animation.
- Added new metadata to the enemies config, including rotation when dead (leave it to zero for enemies with death anim, define it when disabling their death anim.)
- Added foundation of the next major update "Enemies Loots", will be implemented once the enemies scrap data is fully stable or at least in a satisfying state.
Known issues:
- Sometimes, dead bodies appear next to the ship after landing on a new moon, I don't know why it happens.
1.1.2 - 2025-01-18
- Fixed the mod not loading correctly when Lethal Config and Lethal Settings weren't installed.
- Fixed error appearing when entering main menu. It will not change anything though, previously it was just there doing nothing.
1.1.1 - 2025-01-17
- Fixed that some mobs wouldn't register their scrap self because I was not searching for ScanNode correctly inside of them, leading into some mobs could be killed but no corpse scrap was spawning
- Fixed external mod
EnemyDataRegister
function: It should now be callable fromBaseUnityPlugin.Awake()
and.Start()
.
1.1.0 - 2025-01-16
- Removed Xilo's StaticNetcode library for a proper networking.
- Made LethalConfig an optional mod, it is no longer required, but the config mod will still be correctly implemented by Enhanced Monsters
- Added support for LethalSettings, so users won't need to add yet another config mod if they didn't need one or another before.
- Added a button in both configs to easily copy the path to
EnemyData.json
configuration file. All you need is to paste it inside the File Explorer. - Added a toggle to disable Ranks synchronization, so users can have their own ranking on their side. This setting is disabled by default.
- Fixed desynchronization issues with the dead bodies that occurred when any player that is not the host picked up a dead monster
- Fixed desynchronization that were occasionally occurring when killing a monster.
- Reworked entirely the way enemy scraps were generated. They are now more consistent thanks to a custom GrabbableObject component.
- There should be less errors in the console due to Enhanced Monsters, and there should be no error while in-game.
- Fixed settings names not showing correctly in LethalConfig.
1.0.5 - 2025-01-13
- Added a config versionning. Your current enemies data current configs will all be reset to the new default values.
- Removed mobs collisions when they're dead
- Removed mobs sounds when they die
- Fixed ScanNode not showing on some dead monsters.
Known issues:
- The butler keeps moving after its death... wtf?
- The Forest Giant does not have any scan node for some reason, so I'll fix it next hotfix
1.0.4 - 2025-01-12
- Fixed weight. The mass of object should now be exactly the same in the config file and in the inventory.
- Fixed prop-ized mobs animation: they should now look dead... All of them hopefully.
1.0.3 - 2025-01-12
- Fixed random number generator (used to generate mobs scrap value) which was not working on some modded moons.
- Working on a fix for weight being completely wonky
1.0.2 - 2025-01-12
- You will never know what this update changed
1.0.1 - 2025-01-12
- Fixed LethalLib dependency issue. The GUID from
LethalLib.PluginInfo.GUID
is not the one used by BepInEx.
1.0.0 - 2025-01-12
- Mod first release !