Skip to content

qwbarch/mirage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mirage

Mirage is a mod that gives any enemy the ability to mimic a player's voice (fully synced to all players). This mod is required by the host and on all clients.

⚠️Warning: This mod is not a drop-in replacement for Skinwalkers + MaskedEnemyOverhaul.
This mod comes with features you might not want by default (such as masked enemies spawning on every moon), and will require you to tweak the configuration.

Mod showcase

Features (all features listed below are configurable)

  • Every enemy can mimic the voice of any player currently in the game.
    • On spawn, each enemy chooses a player to always mimic the voice of.
    • Voices are synced to all players. This means everyone hears the same voice, the same words, at the same time.
    • Only masked enemies mimic voices by default, other enemies can be enabled via config.
  • Masked enemies use the mimicking player's suit and cosmetics.
  • Remove the mask from masked enemies.
  • Remove the arms-out animation from masked enemies.
  • Configuration is synced to all players (only the host's config is used).
  • Adjustable spawn chance for masked enemies.
    • Calculates the spawn weights for each moon internally.
    • Default is set to spawn masked enemies at 2% for each moon.
    • Note: Setting the spawn-rate to 25% basically guarantees a spawn per round.

I have a question. How can I ask for help?

If you have question, simply create a new discussion on GitHub. I'll respond as soon as I'm available.

I found a bug. Where can I report it?

For bugs, submit a new issue on GitHub. Please mention the bug report is specifically for Lethal Company.

Frequently asked questions

Do I need Skinwalkers for this mod to work?

No, Mirage is a standalone mod. Installing both Mirage and Skinwalkers will result in Skinwalkers playing voice at the same time as Mirage.

Can I use an older version of Mirage?

If you want to use an older version, use Mirage v1.8.2. You will need to ensure MirageCore is uninstalled, and install BarchLib v1.0.2 instead.
If you have MirageCore enabled when playing on v1.8.2, the game will crash.

While v1.8.2 works fine as of today (10/10/2024), there are no guarantees it will work in future versions.

Why do I need LethalSettings? Can I remove it?

LethalSettings is used in Mirage to provide a simple to understand UI for personal preferences, where they're not synced for every player.
No other mod as of right now provides the functionality that I need, hence the dependency on it, as I will not define my own UI.

If you are completely allergic to LethalSettings, read the above section and switch to Mirage v1.8.2 instead, which does not depend on it.

Can I use MaskedEnemyOverhaul with this mod?

MaskedEnemyOverhaul will cause the masked enemy's suit and mimicking voice to not match.
Use MaskedEnemyOverhaulFork instead, with the Dont Touch MaskedPlayerEnemy.mimickingPlayer configuration set to true.

Unless you use the nameplate, fading mask, or zombie apocalypse feature(s), you probably don't need it though, since Mirage covers the rest of the features already.

Do I need DissonanceLagFix installed?

No. Mirage already applies the lag fix patch, since v1.0.16.

Does this mod support cosmetics?

Yes, any mod that applies to masked enemies is compatible with Mirage.
If the cosmetic mod you use does not support masked enemies, you will need to request the mod author to support it.

Does this mod use voice recognition and/or AI?

No. This was originally planned for the v2.0.0 update, but the update has been dropped due to time constraints and life priorities.

Can I hear my own voice from voice mimics?

By default, yes. Each player can selectively choose to not hear monsters mimicking their voice by accessing the LethalSettings mod settings for Mirage.

What happened to the v2 (voice recognition + machine learning) update?

While 99% of the work has been done, 1DWalker and I have other life responsibilities to prioritize. We can no longer justify spending all of our time working on an unpaid passion project, and as such, have decided to drop the update altogether.
To anyone who was excited for the v2 update: I apologize for the disappointment, and I also thank you for all the support.

Recommended mods

  • StarlancerAIFix - Fixes the EnableEnemyMesh spam when masked enemies move to areas it shouldn't have access to.
  • GeneralImprovements - Optionally adds player nametags to masked enemies, disables radar spinning, etc.
  • Zombies - SpawnOnPlayerDeath has been removed, and this mod covers that functionality, plus more! Use this if you want players to revive as a zombie.
  • LethalIntelligenceExperimental - Masked AI changes, as well as supporting walkie talkies with Mirage.

Can I reupload the mod to Thunderstore?

No, reuploading the mod to Thunderstore is not permitted. If you are creating a modpack, please use the official mod.
If you're making small changes for your friends, you will need to share the compiled .dll directly with them, and then import it locally.

Credits

  • 1DWalker - Huge thanks for all the hard work put towards the v2 update. While the v2 update will no longer be released, I still want to point out that the update would not have even been possible without his work towards the machine-learning part of the codebase.
  • IntegrityFate - Commissioned to create the new Mirage logo, putting his own spin on the design. You can find him here: https://integrityfate.com/

Acknowledgements

  • 1DWalker - Huge contributor to the dropped v2 update, and is the main person I ran tests with throughout the entire development of Mirage.
  • RugbugRedfern - Mirage is heavily inspired by Skinwalkers. Thank you for creating one of the best mods in the game!
  • Evaisa and LordFireSpeed - For creating the amazing UnityNetcodePatcher, which this mod uses during its build process.
  • Lunxara - Helped host a lot of experimental tests for Mirage. Check out her stream! https://www.twitch.tv/lunxara
  • TheDebbyCase - For the countless days spent helping me reproduce issues that other players were having, as well as explaining how spawn curves work.
  • Owen3H - For his synced configuration implementation, as well as bringing up issues with the approach taken from the modding wiki.
  • MartinEvans - Author of dissonance, for helping me out with voice activity related issues.
  • IAmBatby and BananaPuncher714 - For answering my spawn control related questions, regarding LethalLevelLoader and LethalQuantities.
  • Zaggy1024 - For pointing me towards setting up a debug build of the game, which is required for me to be able to run a performance profiler.
  • IAmBatby and mattymatty - For their help/implementation on getting rid of the audio spatializer warning log spam.
  • Lunxara, JacuJ, BBAPepsiMan, and JokerMan - For testing the final experimental update. I was only able to fix a lot of the subtle bugs they found because of their extensive testing.
  • Endoxicom - Helped test a lot of the v2 update's hardware requirements that I was trying to figure out at the time.
  • Vladiester - Helped test a lot of the experimental builds, as well as testing my Content Warning version of the mod.

Changelog

To stay up to date with the latest changes, click here to view the changelog.