UltimateLethal CrewMorale
Crew morale for Ultimate Lethal: progressive sanity debuffs and HUD distortion, threat-scaled rewards, save-scoped morale and PC, InsanityMod integration, and hallucinations.
About this mod Author’s original text
UltimateLethal_CrewMorale 2.2.0
Crew Morale extends the pack's existing systems. InsanityMod remains authoritative for real insanity. Crew Morale changes morale-driven gain/recovery and hallucination behavior, but the new fake insanity HUD only changes presentation.
Morale effects
| Tier | Interaction | Stamina | LGU | Hallucination events | Insanity gain |
|---|---:|---:|---:|---:|---:|
| BROKEN | -100% | -100% | normal | +100% | x3.00 |
| SHAKEN | -50% | -50% | normal | +60% | x2.10 |
| UNEASY | -25% | -25% | normal | +25% | x1.50 |
| STABLE | normal | normal | normal | normal | x1.00 |
| CONFIDENT | +25% | +25% | +5% | -20% | x0.65 |
| THRIVING | +50% | +50% | +10% | -40% | x0.35 |
| PEAK (100) | +100% | +100% | +15% | -60% | x0.15 |
Negative morale never debuffs LGU. Peak still blocks ordinary negative morale events. Last Stand remains the deliberate exception and consumes Peak morale to 70.
Progressive sanity debuffs
InsanityMod's real insanity now adds directly to the existing interaction and stamina values:
| Real insanity | Sanity contribution | Stable total | Broken total | Peak total |
|---:|---:|---:|---:|---:|
| 0-59 | 0% | 0% | -100% | +100% |
| 60-74 | -10% | -10% | -110% | +90% |
| 75-89 | -25% | -25% | -125% | +75% |
| 90-100 | -50% | -50% | -150% | +50% |
There is no separate artificial cap: the default extremes naturally total -150%. The HUD's INT and STAM cells show the combined morale + sanity value. Negative interaction totals use duration scaling, so -100% means 2x hold duration and -150% means 2.5x hold duration instead of both collapsing to the same minimum speed. At -150% stamina drains at 2.5x and does not recover until the combined value rises above -100%.
Progressive sanity visuals
Real InsanityMod insanity also drives short, intermittent local-only HUD/screen interference. The useful Crew Morale values stay accurate and the compact HUD does not add duplicate information.
| Real insanity | Visual behavior |
|---:|---|
| 0-59 | No added screen interference |
| 60-74 | Rare, faint edge loss and static/scan-line tears |
| 75-89 | More frequent color-split tearing and brief Crew Morale HUD jitter |
| 90-100 | Frequent heavier full-screen HUD interference and dark signal dropouts |
The effect uses smooth low-alpha pulses rather than bright full-screen flashes. [V2.2 - Sanity Visuals] provides an enable toggle, intensity, interval, duration and HUD-jitter controls. DebugForceEffect = true continuously forces the strongest pulse for testing. Existing fake Insanity HUD values, phantom audio, obvious brief figures and environmental disturbances remain separate and unchanged.
2.2.0 changes
- Changed the default interaction and stamina tier values to -100/-50/-25/0/+25/+50/+100.
- Existing configs still using the complete published v2.1 default sets migrate automatically; customized sets are preserved.
- Added a dedicated TZPRecoveryMultiplier with a default of 1.765, raising a standard full TZP effect from roughly 17 to 30 raw insanity points before morale recovery scaling.
- Added configurable progressive sanity contributions of 0/-10/-25/-50 at real-insanity thresholds 0/60/75/90; they stack with morale for interaction and stamina, reaching -150% at the default extremes.
- Changed negative interaction scaling to added hold duration so totals below -100% remain distinct and playable.
- Added progressive intermittent full-screen HUD interference: faint at 60 insanity, stronger at 75 and frequent/heavy at 90, with configurable intensity and a testing override.
- Kept PC persistence, morale persistence, event logic and the existing sanity gain/recovery hooks unchanged.
2.1.18 changes
- Morale once again restores from the same save when rejoining or restarting, while a brand-new save initializes at StartingMorale (55 by default).
- Quota-failure resets still set and save morale at 55.
- PC persistence logic is unchanged from 2.1.17.
2.1.17 changes
- Restored the intended morale reset boundaries after
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- 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.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- 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.
Install these first, or the mod will not work: