Mirage
Synced voice mimics (all players hear the same voice)
| Date uploaded | a month ago |
| Version | 1.0.5 |
| Download link | qwbarch-Mirage-1.0.5.zip |
| Downloads | 4287 |
| Dependency string | qwbarch-Mirage-1.0.5 |
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.2100Bobbie-UniTask
Provides an efficient allocation free async/await integration for Unity.
Preferred version: 2.5.0qwbarch-BarchLib
A collection of libraries and utility functions for my mods.
Preferred version: 1.0.0README
Mirage
Mirage is a mod that gives masked enemies the ability to mimic a player's voice (fully synced to all players).
This mod is required by the host and on all clients. Clients that do not have the mod will run into desynchronization issues.
Features
- Spawn a masked enemy on player death (like a player turning into a zombie, chance is configurable)
- Mimic the dead player's voice to all nearby players, as well as spectators
- Use the player's outfit (this is vanilla behaviour)
- Remove the mask off of masked enemy
- Remove the arms out animation off of masked enemy
- Naturally spawned masked enemies mimic a random player (with the features mentioned above)
- Remove the post-round credits penalty (configurable)
- Configuration is synced to all players (only the host's config is used)
Recommended mods
DissonanceLagFix - This plugin significantly reduces the duration of lag spikes simply by changing the log level of DissonanceVoip.
Why do players who disconnect no longer get their voice mimicked?
Voices of each player are stored on the respective player's individual storage. Since the player is no longer connected, their client cannot send audio clips to other clients.
I have a suggestion for the mod, and/or have found a bug
Whether you have a suggestion or have a bug to report, please submit it as an issue here.
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.
Acknowledgements
- RugbugRedfern - Mirage is based off of rugbug's mod. This wouldn't exist without their ingenuity!
- Evaisa - For creating the amazing UnityNetcodePatcher, which this mod uses during its build process.
Changelog
1.0.0
- Initial release.
1.0.1
- Spawn on player death is now configurable.
- Naturally spawned masked enemies now mimic a player at random.
- Dependencies are now separated into its own packages.
1.0.2
- Bundled all dependencies I control into a single core lib (users now pull less packages).
1.0.3
- Support voice activity.
1.0.4
- Support voice mimicking on all vanilla enemies.
- Add configuration option for mask texture and arms-out animation (for masked enemies).
- Dead enemies no longer mimic voices.
1.0.5
- Use audio filters to sound more like vanilla voices
- Mimicked voices on the outside can no longer be heard from inside the facility (and vice-versa)
- Masked enemies no longer mimic voices while hiding on the ship
CHANGELOG
Changelog
1.1.0
- Rewrote the config syncing logic. Thanks to Owen3H (author of CSync) for their config syncing implementation.
DeleteRecordingsPerRoundhas been slightly reworked.- Setting this to
trueis unchanged (recordings get deleted after the lever is pulled, per round). - Setting this to
falsenow only deletes when closing the game. - Default value is now set to
false.
- Setting this to
MuteLocalPlayerVoiceis now set totrueas the default.EnablePenaltyis now set totrueas the default.- To clarify, setting this to
trueis the vanilla behaviour. - This will likely be removed in a future update, as it's a relic of the past back when Mirage had different goals.
- To clarify, setting this to
1.0.16
- Fixed a bug that caused the ship teleporter to not work if
SpawnOnPlayerDeathspawned a masked enemy - DissonanceLagFix is no longer needed when using Mirage
- Modify configuration descriptions to hopefully be easier to understand
- Modify configuration default values
1.0.15
- Fixed a mod conflict issue that caused enemies to not despawn properly
SpawnOnPlayerDeathno longer spawns an enemy whenCauseOfDeath = Gravity(this means dying to fall damage, and I believe dying to the ladder as well)- This was originally done by jarylc, but I tried alternatives to avoid having the mechanic completely ignore dying to gravity
- This is probably the best band-aid fix for now for avoiding log spam when a masked enemy spawns inside a pit
Huge thanks to TheDebbyCase for their immense effort on bug-testing and figuring out a way to reproduce errors that others have been experiencing. Thanks to dinogolfer from TMLC for figuring out why non-masked enemies weren't despawning as well, which helped me understand why this mod conflict was even happening.
1.0.14
- Fixed a bug where some enemies types didn't mimic voices
- Add configuration option to always mute the mimicking voice of a local player
- Set
AlwaysMuteLocalPlayerto true to never hear your voice at all (even while dead) - This ignores the
MuteLocalPlayerVoicevalue if enabled - This value is not synced to all clients, as it's an optional feature for those who don't want to hear their own voice
- Set
1.0.13
- AdvancedCompany cosmetics now properly apply on hosts (previously only applied on non-hosts)
- Fixed a bug that caused
MuteLocalPlayerVoiceto get ignored
1.0.12
- Mimicked voices should now sound a lot more like an actual player's voice (changed audio filters)
SpawnOnPlayerDeathno longer spams an error if a player falls into the void- Masked enemies no longer mimic voices if it was spawned after a player falls into the void
1.0.11
- Hotfix: Revert the crossed-out change from v1.0.10, which caused non-host players to not hear any voices
1.0.10
- Fixed dress girl issues
- Mimicking voice is now muted while the dress girl is invisible
- In singleplayer, dress girl will always mimic the local player's voice
- In multiplayer, dress girl will always mimic the non-local player's voice
- Bees no longer mimic voices when
EnableModdedEnemiesis enabled. - Add configuration option to mimic voices for locust swarms
Fixed navmesh error spam when an enemy tries to calculate its path- Recordings deletion can now be ignored (not synced to all players)
1.0.9
- Ship camera now spectates the correct masked enemy
- Recording deletion can now be configured in two ways:
DeleteRecordingsPerRound = trueto delete recordings per-roundDeleteRecordingsPerRound = falseto delete recordings per-game
- Recordings now automatically delete upon closing the game
1.0.8
- Fixed a bug where voice filters weren't being applied, causing mimicked voices to behave unpredictably
- Fixed a bug where SpawnOnPlayerDeath could spawn two masked enemies in certain scenarios
1.0.7
- Hotfix: If the local player's mimicking voice is muted, it now becomes unmuted when the player is dead
1.0.6
Thanks to jarylc for the initial fixes for masked enemy spawns.
- Rewrite masked enemy spawn and mimicking logic
- This is less invasive now and should conflict with other mods less often
- Fixed a bug where naturally spawned masked enemies weren't synced properly
- Fixed a bug where players not haunted by the ghost girl could hear the mimicking voice.
- Add configuration option to only spawn player on death, when the dying player is alone
- Add configuration option to mute the mimicking voice when mimicking the local player
- Add configuration option to adjust voice mimicking delay for non-masked enemies
- Add configuration option to mimic voices on modded enemies
1.0.5
- Use audio filters to sound more like vanilla voices
- Mimicked voices on the outside can no longer be heard from inside the facility (and vice-versa)
- Masked enemies no longer mimic voices while hiding on the ship
1.0.4
- Support voice mimicking on all vanilla enemies.
- Add configuration option for mask texture and arms-out animation (for masked enemies).
- Dead enemies no longer mimic voices.
1.0.3
- Support voice activity.
1.0.2
- Bundled all dependencies I control into a single core lib (users now pull less packages).
1.0.1
- Spawn on player death is now configurable.
- Naturally spawned masked enemies now mimic a player at random.
- Dependencies are now separated into its own packages.
1.0.0
- Initial release.