VELD-Enhanced_Monsters icon

Enhanced Monsters

This mod adds ranking and allows killable mobs to be sold, even modded ones! Incompatible with SellBodiesFixed !

Last updated 7 minutes ago
Total downloads 113
Total rating 1 
Categories Mods Libraries Client-side Server-side Monsters Tweaks & Quality Of Life
Dependency string VELD-Enhanced_Monsters-1.0.4
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
xilophor-StaticNetcodeLib-1.1.1 icon
xilophor-StaticNetcodeLib

A library/patcher for NGO in a static context.

Preferred version: 1.1.1
Evaisa-LethalLib-0.16.2 icon
Evaisa-LethalLib

Personal modding tools for Lethal Company

Preferred version: 0.16.2
AinaVT-LethalConfig-1.4.3 icon
AinaVT-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.3

README

:trident: Enhanced Monsters

Source downloads Latest release
Lethal Company mod allowing to pick enemies as loots, and some enemies to loot some stuff.

Features

  • Allows you to sell dead mobs, even modded ones !
  • All "dangerous" mobs display their rank (dangerousness) when you scan them.
  • Configurable mobs minimum and maximum values, mass, wether it can be sold or not, and mob's rank.
  • [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.

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("com.velddev.enhancedmonsters");
			
			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!
		EnhancedMonster.Utils.EnemiesDataManager.RegisterEnemy(EnemyType.enemyName, /*is enemy sellable ?*/ true, /*min value:*/ 150, /*max value:*/ 200, /*mass:*/ 14, /*rank:*/ "S+");
		// ...
	}
}