winstxnhdw / lc-hax

A powerful, feature-rich and highly performant internal cheat for the co-op indie horror video game, Lethal Company.
92 stars 27 forks source link
dotnet-core harmony lethal-company lethal-company-cheat lethal-company-hack lethal-company-mod unity-cheats unity-mono

lc-hax

NuGet Version main.yml formatter.yml CodeQL

A powerful, feature-rich and highly performant portable Windows CLI-only internal cheat for Lethal Company. This mod is compatible with MoreCompany.

[!IMPORTANT]\ To aid in its speed of development, lc-hax has no concept of versioning aside from the Git commit history. We make no guarantees for any kind of backward compatiblity. Any feature can be removed or heavily modified to maximise user experience and overwrite poor early decisions.

User in Phantom mode

Requirements

Installation

[!TIP]\ If you are uncomfortable with the command line, you can watch the installation video or follow the opinionated guide.

Clone the repository.

git clone --recursive --depth 50 https://github.com/winstxnhdw/lc-hax.git

You can now build and install the dependencies by executing requirements.bat.

.\requirements.bat

Usage

Execute launch.bat when you have launched the game to inject the assembly into the game process. Avoid doing this more than once per instance.

.\launch.bat

Features

lc-hax has an extensive list of features. Features are split into two distinct categories: mods and commands. Mods are features that are always active, while commands are features that are only active for a limited period of time when invoked.

The complete feature set includes the following.

Commands

[!NOTE]\ No one can see the commands you send.

Action Command
Teleport outside entrance /exit
Teleport inside entrance /enter
Teleport to a player /tp <player>
Teleport player to player /tp <player> <player>
Teleport to a location /tp <x> <y> <z>
Teleport player to a location /tp <player> <x> <y> <z>
Teleports the player to hell /void <player>
Teleport back to ship /home <player?>
Teleport enemies to player /mob <player>
Inverse teleport a player /random <player>
Play noise on player /noise <player> <duration=30>
Bomb player /bomb <player>
Bombard player /bombard <player>
Lure enemies to player /hate <player>
Spawn masked enemy on player /mask <player?> <amount=1>
Heal or revive the player /heal <player?>
Kill player /kill <player?>
Kill all players /kill --all
Kill all enemies /kill --enemy
Kill player with animation /fatality <player> <enemy>
Poison a player /poison <player> <damage> <duration> <delay=1>
Poison all players /poison --all <damage> <duration> <delay=1>
Spoof a server message /say <player> <message>
Send a translated message /translate <language> <message>
Transmit a signal /signal <message>
Modify shovel damage /shovel <force=1>
Add or remove experience /xp <amount>
Buy an item /buy <item> <quantity=1>
Deposit valuable item(s) /sell <quota?>
Grab scrap(s) /grab <item?>
Destroy held item /destroy
Destroy all items /destroy --all
Block any radar targets /block radar
Become untargetable /block enemy
Place an unlockable /build <unlockable>
Wear a suit /suit <suit>
Change moons /visit <moon>
Spin all placeable objects /spin <duration>
Stun enemies /stun <duration>
Pull the ship's horn /horn <duration>
Toggle stun on click /stunclick
Toggle kill enemy on click /killclick
End the game /end <player=-1>
Start the game /start
List all players /players
Toggle the Beta badge /beta
Get coordinates /xyz
Toggle God mode /god
Toggle NoClip /noclip
Toggle unlimited jump /jump
Toggle rapid item usage /rapid
Set all objects upright /upright
Eavesdrop on all players /hear
Fake player death /fakedeath
Unlock all doors /unlock
Lock all gates /lock
Open ship door /open
Close ship door /close
Trigger the garage doors /garage
Explode all jetpacks /explode
Explode all landmines /explode mine
Upset all turrets /berserk
Turn invisible to players /invis
Clear the chat for everyone /clear
Toggle ship lights /light
Copy lobby ID to clipboard /lobby

Privileged Commands

These commands are only available when the user is host.

Action Command
Set the timescale /timescale <scale>
Set the quota /quota <amount> <fulfilled=0>
Spawn enem(ies) on player /spawn <enemy> <player> <amount=1>
Give or take credit(s) /credit <amount>
Eject all players /eject
Revive all players /revive
Toggle God mode for all /gods

Special Commands

Action Command
Set the prefix for all commands !prefix <prefix>

Binds

[!TIP]\ You can connect to a specific lobby with Shift + F5 if your clipboard contains a valid Steam ID!

Action Input
Trigger various objects M3
Follow player M3 + F
Interact at a distance M3 + E
Toggle ESP Pause
Toggle Phantom =
Teleport to Phantom +
Change spectator index
Change spectator index
Increase mouse sensitivity ]
Decrease mouse sensitivity [
Decrease light intensity F4
Increase light intensity F5
Toggle Anti-Kick \
Disconnect from server Shift + F4
Connect to last joined server Shift + F5

PossessionMod

PossessionMod has its own set of keybinds.

Action Input
Use primary ability M1
Use secondary ability M2
Toggle AI control F9
Toggle possession NoClip N
Unpossess enemy Z
Despawn and unpossess enemy Del

TriggerMod

TriggerMod is a quality-of-life mod that allows you to trigger various objects in the game. It is activated by pointing at objects with M3. Currently, it can do the following.

Fatality

The fatality command allows you to kill a player with a custom animation. The list of supported enemies are:

Build

The arguments for the build command can be executed with either the unlockable index or name. The list of unlockables can be found in the following.

[!NOTE]\ Unintuitively, not all unlockables are buildable. Thus, the build command also doubles as a pseudo unlock function for unlockables.

Disabling Mods

You may permanently disable mods by removing the corresponding Mod class under the LoadHaxModules function from the following file. In the following example, we disable StaminaMod and you will return to the game's default stamina mechanic in your next injection.

static void LoadHaxModules() {
    DontDestroyOnLoad(Loader.HaxModules);

    Loader.AddHaxModules<SaneMod>();
    Loader.AddHaxModules<ChatMod>();
    Loader.AddHaxModules<StunMod>();
    Loader.AddHaxModules<ShovelMod>();
    Loader.AddHaxModules<WeightMod>();
    // Loader.AddHaxModules<StaminaMod>();
    Loader.AddHaxModules<PhantomMod>();
    Loader.AddHaxModules<TriggerMod>();
    Loader.AddHaxModules<ClearVisionMod>();
    Loader.AddHaxModules<NameInWeightMod>();
    Loader.AddHaxModules<BuildAnywhereMod>();
    Loader.AddHaxModules<FollowAnotherPlayerMod>();
}

Disabling Patches

There is usually little reason for you to disable patches as they are carefully chosen and come with sane defaults. However, if for whatever reason you wish to disable a patch, you may freely delete any of the corresponding files based on their names here.

Uninstalling

Unlike other cheats, lc-hax is portable and will never litter your computer with garbage. Deleting the lc-hax folder would be the equivalent to uninstalling.

Whitelisting SharpMonoInjectorCore

Despite being compiled from source locally, SharpMonoInjector is occasionally falsely identified as a virus by Windows Defender. If you believe you know what you are doing, you can run the following command in PowerShell with administrator privileges to whitelist the injector.

[!IMPORTANT]\ Do ensure that you are currently in the lc-hax directory before executing the command.

Add-MpPreference -ExclusionPath $pwd, "$env:TEMP\.net\SharpMonoInjector"

Alternatives

If lc-hax is not your fancy, here are excellent alternatives that may suit your needs!

Project Apparatus

Project Apparatus is a popular GUI-first internal cheat based on Infinite Company.

Lethal Menu

Lethal Menu is a powerful GUI-first internal cheat based on Project Apparatus and lc-hax. It supports chams, super speed, fast climbing and more.

Credits

A big thanks to every contributor of this project and to Quesoteric for the title GIF.