ProblematicPilotry

v1.3.7·Updated 2025-04-03

The ship (+ item dropship) will land in a different spot every time. Customisable!

About this mod Author’s original text

ProblematicPilotry

New in 1.3.0: Cruiser compatibility!

Due to uneconomical human resource policies, the Company has run into some financial trouble, unfortunately forcing it to downgrade their autopilot navigation systems to older, less accurate models... This mod makes the player ship and item dropship land in a random position each time.

Compatible with v69.

Features

  • The player ship and item dropship will land in a random* position on each landing/purchase.
  • Specify the chance to use a random location vs the vanilla location.
  • Specify any number of extra seconds the dropship will wait for someone to open it.
  • Specify how long the dropship should stay after having been opened.
  • Advanced position finding algorithm designed to ensure that sensible locations are picked.
  • Very configurable, including a blacklist and a maximum number of attempts before reverting to the vanilla location.
  • Fundamentally compatible with custom moons (read the "compatibility" section for more information).

*in case you're interested in the precise technology employed by the Company, read on below.

Requirements

Other than obviously BepInExPack, this mod requires:

  • LethalNetworkAPI. Networking is required by the mod to communicate the new positions, which are calculated at runtime on the server, to all clients.

Compatibility

TL;DR: yes, it largely works with custom moons

Non-TL;DR:

This mod is, on a basic level, compatible with all custom moons. However, there are a few caveats to this. The mod depends on some objects being named a certain way, on AI nodes being present, etc. If custom moon authors deviate greatly from the way vanilla planets are set up, things might not work so well. There are a number of custom moons which, unfortunately, mark objects related to the ship as static - resulting in my mod, naturally, being unable to move them at runtime. This causes problems with enemy navigation on some custom moons. Furthermore, some custom planets fly the player ship through triggers at the beginning of a round, which may or may not be important, which will obviously not work if the ship lands elsewhere. Finally, some moons are naturally better suited to randomisation. Large, open maps will have many more possible landing locations than small ones with narrow paths.

If you're a custom moon author and you'd like to ensure compatibility with my mod, consider these things:

  • Do not rename "NavMeshColliders", "shipWindTrigger" or "shipWindTrigger2". I look for these by name.
  • Do not change the rotation of "ItemShipAnimContainer" away from the vanilla (-90, 0, 0) and do not change the rotation of its contents.
  • Do not rename or change the HeaderText of the ship's ScanNode.
  • Do not set objects related to the dropship or player ship, especially the ship's navmesh colliders, as static.
  • Place AI nodes evenly throughout all parts of your level.

TL;DR: Don't mess with the vanilla setup of the gameplay systems.

Motivation

This was the first mod I ever made for Lethal Company! It has since evolved and heavily been improved upon with the help of many members of the LC modding Discord server.

The mod was part-experiment, part asking myself the question: "What if the game forced you to explore bits of the map you wouldn't normally go?". With the player ship and the item dropship landing in random places, you end up seeing more of the maps than you would normally. No longer is walking to the dungeon or to your items mindless routine - you'll need to figure out the way every time.

Implementation

Originally, the algorithm used raycasts to find a random position and would then run several checks: Is it on the navmesh? Is it not occluded by other objects? However, this system ended up being too weak - it would often land you or your items in unreachable places or fly the ship through solid walls, pushing players out when trying to leave the planet. Especially when I added landing ship randomisation, it was clear a new system was needed.

As

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPackxilophor-LethalNetworkAPI

File & checksum

Filename
ProblematicPilotry-1.3.7.zip
File size
154.0 KiB