Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Terminal that can kill
The terminal glitches: mines detonate and turrets go berserk instead of disabling, and closing ship & security doors crush anyone in the doorway.
| Date uploaded | 10 hours ago |
| Version | 1.0.9 |
| Download link | Solon-Terminal_that_can_kill-1.0.9.zip |
| Downloads | 15 |
| Dependency string | Solon-Terminal_that_can_kill-1.0.9 |
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.2100README
TERMINAL THAT CAN KILL
Language / Язык: English · Русский
TERMINAL THAT CAN KILL
Author: Solo00n
The ship and facility doors slam shut on anyone in the doorway, and the terminal stops disabling traps — it detonates mines and drives turrets berserk instead.
WHAT IT DOES
- Deadly ship door — the hangar door crushes any player or monster standing in the opening when it closes (on the surface only).
- Deadly facility doors — the big terminal-code security doors crush whoever is in the opening when they slam shut.
- Remote mine detonation — entering a mine code blows it up instead of disabling it; a critical error chain-detonates nearby mines.
- Turret rampage — entering a turret code sends it berserk (spins and fires at everyone); a critical error extends the rampage.
- Turret head flip — after leaving berserk a turret smoothly turns its head 180° and rests facing the opposite way.
- Barber-style death — door kills reuse the Barber (Clay Surgeon) death: the body is launched up and ragdolls.
- Fully configurable — every mechanic can be tuned or turned off.
HOW IT WORKS
- The kill zone is a thin oriented slab sitting in the doorway plane, not a proximity sphere — only someone standing in the opening is caught.
- Ship door: detected via
doorPower < 1plus theShipDoorCloseanimator state; the doorway is at a fixed world position (the ship never moves). - Facility doors: detected on the
SetDoorOpenopen→closed transition and processed frame by frame. - Traps use the vanilla synced RPCs (
ExplodeMineServerRpc,EnterBerserkModeServerRpc) — no custom network objects.
MULTIPLAYER (HOST-AUTHORITATIVE)
Both the host and all clients must install the mod. It changes shared game rules, not one player's private state.
Players: each client only kills its own local player;KillPlayersyncs that death to everyone, so exactly one authoritative kill happens.
Monsters: only the host iterates and kills enemies (the host owns enemy AI), which syncs to clients.
Traps: mine and turret effects fire through the game's own server RPCs, so all clients see the same result.
REQUIREMENTS
- BepInEx 5.4.21+ (
BepInEx-BepInExPack-5.4.2100) - Lethal Company V81
INSTALLATION
- Mod manager (r2modman / Thunderstore Mod Manager): search for the mod and click Install.
- Manual: install the BepInEx pack, then drop
Solon.TerminalThatCanKill.dllintoBepInEx/plugins/.
CONFIGURATION
File: BepInEx/config/Solon.TerminalThatCanKill.cfg (created on first launch).
| Key | Default | Description |
|---|---|---|
Enabled | true | Master switch for the deadly-doors mechanic. |
KillPlayers | true | Kill players caught in a closing doorway. |
KillMonsters | false | Kill ship-capable monsters caught in a closing doorway. |
AffectedDoors | Both | ShipDoor / TerminalDoors / Both. |
SafeZoneSeconds | 5 | Grace period after landing during which doors do not kill. |
DamageMode | InstantKill | InstantKill or DamageOverTime. |
EnableRemoteControl | true | Detonate/rampage traps instead of disabling them. |
MineErrorChance | 0.15 | Chance a mine command misfires into a chain blast. |
TurretErrorChance | 0.15 | Chance a turret command misfires into a sustained rampage. |
TurretFlipOnBerserkExit | true | Turret head turns 180° after leaving berserk. |
Advanced tuning (zone sizeDoorwayThickness/Width/Height, close timings,PlayerDeathAnimationId, chain radius, rampage duration) lives in theDoors.AdvancedandRemoteControl.Advancedsections of the config.
COMPATIBILITY
- Works on vanilla and modded moons (LethalLevelLoader) — doors are found dynamically, no hard-coded scenes.
- No custom network objects; relies on vanilla RPCs — low conflict risk with other terminal mods.
- If another mod also patches the terminal code function, set
EnableRemoteControl = falseto avoid overlap.
BUILD
dotnet build LethalDoors.csproj -c Release
Output: bin/Release/Solon.TerminalThatCanKill.dll. Game assemblies are referenced via the LethalCompany.GameLibs.Steam NuGet package as compile-only (PrivateAssets="all") — no game files are distributed.
CREDITS
- Solo00n — author.
- Built on BepInEx and HarmonyX.
- Inspiration: Lethal Doors by saint_kendrick (ship-door approach) and RemoteMineDetonation by jacksonb-cs (terminal detonation idea).
- Licensed under MIT.
TERMINAL THAT CAN KILL
Автор: Solo00n
Двери корабля и комплекса захлопываются насмерть на том, кто стоит в проёме, а терминал больше не отключает ловушки — вместо этого он детонирует мины и сводит турели с ума.
ЧТО ДЕЛАЕТ МОД
- Смертельная дверь корабля — рампа раздавливает игрока или монстра в проёме при закрытии (только на поверхности).
- Смертельные двери комплекса — большие двери с кодом раздавливают того, кто стоит в проёме при захлопывании.
- Удалённая детонация мин — ввод кода мины взрывает её вместо отключения; при критической ошибке детонируют соседние мины.
- Бешенство турели — ввод кода турели вводит её в берсерк (крутится и стреляет по всем); ошибка продлевает раж.
- Разворот головы турели — после берсерка турель плавно поворачивает голову на 180° и остаётся смотреть в другую сторону.
- Смерть как у Barber — смерть от двери повторяет смерть от Barber (Clay Surgeon): тело подбрасывает вверх.
- Полная настройка — любую механику можно подстроить или выключить.
КАК ЭТО РАБОТАЕТ
- Зона поражения — тонкая ориентированная «плита» в плоскости проёма, а не сфера: убивает только того, кто стоит в проёме.
- Дверь корабля: определяется по
doorPower < 1плюс состоянию аниматораShipDoorClose; проём в фиксированной точке мира (корабль не двигается). - Двери комплекса: ловятся на переходе
SetDoorOpenоткрыта→закрыта и обрабатываются покадрово. - Ловушки используют ванильные синхронизированные RPC (
ExplodeMineServerRpc,EnterBerserkModeServerRpc) — без своих сетевых объектов.
МУЛЬТИПЛЕЕР (HOST-AUTHORITATIVE)
Мод должен стоять и у хоста, и у всех клиентов. Он меняет общие правила игры, а не приватное состояние одного игрока.
Игроки: каждый клиент убивает только своего локального игрока;KillPlayerсинхронизирует смерть на всех — ровно одно авторитетное убийство.
Монстры: перебирает и убивает врагов только хост (владеет ИИ), что синхронизируется клиентам.
Ловушки: эффекты мин и турелей идут через серверные RPC самой игры, поэтому итог одинаков у всех.
ЗАВИСИМОСТИ
- BepInEx 5.4.21+ (
BepInEx-BepInExPack-5.4.2100) - Lethal Company V81
УСТАНОВКА
- Через менеджер (r2modman / Thunderstore Mod Manager): найти мод и нажать Install.
- Вручную: установить BepInEx-пак, затем положить
Solon.TerminalThatCanKill.dllвBepInEx/plugins/.
НАСТРОЙКА
Файл: BepInEx/config/Solon.TerminalThatCanKill.cfg (создаётся при первом запуске).
| Ключ | По умолчанию | Описание |
|---|---|---|
Enabled | true | Главный выключатель механики смертельных дверей. |
KillPlayers | true | Убивать игроков в закрывающемся проёме. |
KillMonsters | false | Убивать монстров (способных войти в корабль) в проёме. |
AffectedDoors | Both | ShipDoor / TerminalDoors / Both. |
SafeZoneSeconds | 5 | Безопасный период после посадки, пока двери не убивают. |
DamageMode | InstantKill | InstantKill или DamageOverTime. |
EnableRemoteControl | true | Детонация/раж ловушек вместо отключения. |
MineErrorChance | 0.15 | Шанс сбоя команды мины (цепной взрыв). |
TurretErrorChance | 0.15 | Шанс сбоя команды турели (продлённый раж). |
TurretFlipOnBerserkExit | true | Разворот головы турели на 180° после берсерка. |
Тонкая настройка (размеры зоныDoorwayThickness/Width/Height, тайминги закрытия,PlayerDeathAnimationId, радиус цепи, длительность ража) — в разделахDoors.AdvancedиRemoteControl.Advancedконфига.
СОВМЕСТИМОСТЬ
- Работает на ванильных и модовых лунах (LethalLevelLoader) — двери находятся динамически, без хардкода сцен.
- Не создаёт своих сетевых объектов, опирается на ванильные RPC — низкий риск конфликтов.
- Если другой мод тоже патчит функцию кода терминала — поставьте
EnableRemoteControl = false.
СБОРКА
dotnet build LethalDoors.csproj -c Release
Результат: bin/Release/Solon.TerminalThatCanKill.dll. Сборки игры подключены через NuGet-пакет LethalCompany.GameLibs.Steam только для компиляции (PrivateAssets="all") — файлы игры не распространяются.
БЛАГОДАРНОСТИ
- Solo00n — автор.
- Построено на BepInEx и HarmonyX.
- Идеи: Lethal Doors от saint_kendrick (подход к двери корабля) и RemoteMineDetonation от jacksonb-cs (детонация из терминала).
- Лицензия MIT.
CHANGELOG
Changelog
1.0.9
- Renamed to "Terminal that can kill" (by Solon). New GUID
Solon.TerminalThatCanKilland DLL name; delete the old plugin/config when updating. - Config cleanup. Ship-door zone coordinates are now hard-coded (the ship is always at a
fixed world position) instead of exposed as settings. Door-zone size (
DoorwayThickness/ Width/Height) moved to the advanced section; the[LethalDoors]sections are now[Doors]. - Removed the legacy
[LethalDoors]prefix from log lines (the log source already names the mod).
1.0.8
- New: turret head flips 180° after berserk. When a turret leaves berserk it remembers
its pre-berserk facing and smoothly turns its head 180°, resting that way until the next
berserk (still turns to fire at detected players). Configurable via
TurretFlipOnBerserkExitandTurretFlipSmoothDuration. Patched as a postfix onTurret.Update, per-turret state kept in a dictionary. TerminalDoorCloseSecondsdefault set to 0.4 (field-tuned sweet spot).
1.0.7
- Door death now matches the Barber (ClaySurgeonAI). Players killed by a door use the
exact Barber death: launched up (
Vector3.up * 14), causeSnipping, ragdoll index 7 (PlayerDeathAnimationIddefault 7). - Faster facility-door trigger.
TerminalDoorCloseSecondsdefault dropped 1.2 → 0.25 so the crush fires as the door slams instead of ~1s later, and quick open/close spam can no longer out-run it.
1.0.6
- Facility doors: reworked to frame-driven detection. The previous coroutine cancelled itself whenever a door was reopened within its ~1.2s close window, so rapid toggling meant the crush (and even the diagnostic log) never ran. Closing doors are now tracked and checked every frame instead.
- Added a
Terminal door '<name>' closing — tracking for crushlog the moment a close is detected, so it's clear the hook fires.
1.0.5
- Fixed facility (terminal) doors never firing. The crush was hooked on
SetDoorLocalClient, but the vanilla terminal-code path goes throughSetDoorToggleLocalClient→SetDoorOpen. Re-hooked onSetDoorOpen(the one method every client runs on a state change) and it now detects a real open→closed transition. - The zone is built from the door's own transform (the
TerminalAccessibleObjectlives on the door GameObject). The diagnostic log prints the player's local offset so the geometry can be tuned like the ship door was.
1.0.4
- Ship door now connects. Field testing showed players stand ~0.65m off the door
plane (a doorway has depth — you can't stand inside a closing door), just outside the
old 0.5m half-thickness. Bumped the default
DoorwayThicknessto 2.0 so the slab covers the doorway depth. Orientation and centre were already correct.
1.0.3
- Precise doorway zone. Replaced the spherical
CheckRadiuswith a thin oriented slab in the doorway opening (DoorwayThickness/DoorwayWidth/DoorwayHeight). Only someone standing in the opening is crushed, not merely near the door. Applies to both the ship door and terminal (facility) doors. - Fixed the hanging corpse.
PlayerDeathAnimationIdnow defaults to0— the normal physics ragdoll that falls. Other indices point to special/animated bodies that can freeze in mid-air. - Dropped the custom crunch sound: the game already plays
playerCrushDeathforCauseOfDeath.Crushing.
1.0.2
- Fix: ship door now actually crushes. The kill zone was centred on the wrong point
(
outsideDoorPoint), so the player was never inside it. The ship sits at a fixed world position, so the doorway zone is now a world coordinate (default-5.72, 0.305, -14.1, configurable) — the same reference proven to work by other door mods. - Detection rewritten to patch
HangarShipDoor.Update, usingdoorPower < 1plus the animator's"ShipDoorClose"state (with a time fallback) to know when the door is shut.
1.0.1
- Fix: ship door now kills. Vanilla never calls
PlayDoorAnimation(true)on close, so detection now watches the authoritativeStartOfRound.hangarDoorsClosedflag (rising edge, on the surface only). - Fix: turret now goes berserk. Mirrors vanilla
Hit()exactly — a localSwitchTurretMode(3)plusEnterBerserkModeServerRpc(...)(the ClientRpc deliberately skips the triggering client, so the local call is required). - Split error chance into
MineErrorChanceandTurretErrorChancefor independent tuning. - Added a diagnostic log of the local player's distance to the door zone centre to help
tune
CheckRadius.
1.0.0
- Initial release.
- Lethal Doors: ship hangar door and big terminal-controlled facility doors kill
players and/or monsters caught in the doorway when they finish closing.
- Configurable affected doors, safe period after landing, kill radius, and InstantKill / DamageOverTime modes.
- Ghost-Girl style head-pop death animation + best-effort crunch sound.
- Monster exclusion list for enemies that cannot enter the ship.
- Remote Trap Control: terminal codes detonate mines and send turrets berserk instead of disabling them, with a configurable critical-error chance (mine chain reaction / sustained turret rampage).