MirageLegacy
Re-upload of Mirage v1.8.2 while I fix the current issues that were introduced since 1.9.0
CHANGELOG
Changelog
1.8.2
- Fixed a volume bug when playing with MoreCompany.
1.8.1
- Fixed a compatibility issue for linux users. Thanks to Coppertiel for reporting the bug!
1.8.0
- Added support for the following v56 enemies:
- Clay Surgeon
- Bush Wolf
1.7.2
- Added a config option to set the maximum number of naturally spawned masked enemies. By default, this is set to 2.
Masked enemy spawns have already been capped at 2 since
v1.7.1
, this update simply allows you to adjust that value.
1.7.1
- Fixed a bug that caused non-ascii file paths to fail to load. This means players with non-english usernames will finally be able to hear their own voices.
1.7.0
- Added a config entry
RecordWhileDead
, that continues to record a player's voice while they're dead. Default value:false
. - Fixed a bug that caused monsters to try to mimic disconnected players (resulting in no sound, since players must be connected in order to send their voices to others).
1.6.1
- Added a config entry
UseCustomSpawnCurve
, that when enabled, changes masked enemies to spawn later in the day.- Requires
EnableOverrideSpawnChance = true
in order to work. - Credits: TheDebbyCase for explaining in-depth how spawn curves work.
- Requires
1.6.0
- Fixed a bug that caused player dead bodies to disappaer.
1.5.4
- Temporarily reverted back to
v1.5.2
due to a new bug introduced inv1.5.3
.
1.5.3
Fixed a bug that caused player dead bodies to disappear.
1.5.2
- Voice clips are no longer created when ToggleMute is toggled.
1.5.1
- Audio spatializer warning logs are now hidden.
- This is a vanilla bug that occured more often with Mirage, due to cloning audio sources used by the vanilla game.
- This log does not provide any value when debugging issues, so I opted to hide them instead.
- Thanks to IAmBatby and mattymatty for their help/implementation.
1.5.0
- Fixed
LocalPlayerVolume
being accidentally synced. Each player can now control the volume of their mimicked voices, as originally intended. - Fixed a bug that caused the ghost girl to mimic voices even with
EnableGhostGirl
set tofalse
. - Fixed a bug that caused the ghost girl to mimic voices at the wrong timings.
- Recordings now also delete on game startup (previously only deleted when closing the game), while
IgnoreRecordingsDeletion
is set tofalse
. - Changed the way masked enemies disable the arms-out animation to hopefully get rid of the rare issue of it having its arms-out when it's not supposed to.
1.4.0
- Added a config entry for the new enemies (butler, butler bees, flower snake, old bird).
- Removed debug logs that I previously left in by accident in
v1.3.2
. - Fixed a bug that caused modded enemies that extends from a vanilla enemy type to share its config entry.
- Fixed a bug that potentially caused an out-of-bounds error if a player dc'd when an enemy tries to mimic a player.
1.3.2
- Fixed a bug introduced in
v1.3.0
, where some players didn't have their recordings folder deleted upon closing the game. - Fixed a bug introduced in
v1.3.1
, where voice clips sometimes get repeated multiple times in a row.
1.3.1
- Enemies mimicking a player now picks at a slightly less random way to avoid mimicking the same player multiple times in a row.
MuteLocalPlayerVoice
is now set tofalse
by default, due to users who are new to the mod being confused why they can't hear their mimicked voice.
1.3.0
Note: This update removes a couple config entries in favour of new ones. You can safely ignore any orphaned config entries.
- Removed the config entry
AlwaysMuteLocalPlayer
in favour ofLocalPlayerVolume
. - Removed the config entry
EnableNaturalSpawn
as it only made sense to have in the past. - Added the config entry
LocalPlayerVolume
.- Allows you to adjust the playback volume for voice mimics of the local player.
- Value must be between 0-1.
- Default is set to 1.
- This config entry is not synced to other players, as it's personal preference on what volume you want for your own "mimics".
- Added the config entry
EnableOverrideSpawnChance
, which allows you to enable/disable theOverrideSpawnChance
config.- Default is set to
true
. - If you want to use a different spawn control mod (such as LethalQuantities), simply set this to
false
.
- Default is set to
- Added the config entry
OverrideSpawnChance
, allowing you to control how often masked enemies should spawn.- Value must be between 0-100 (as it's a percentage).
- Default is set to 15.
- Not to be confused with spawn weights. This will internally calculate the spawn weights for each moon to fit the desired percentage.
- This will overwrite the spawn weights set by LethalQuantities and LethalLevelLoader. If you want to use those mods for spawn control, set
EnableOverrideSpawnChance
tofalse
. - Masked enemies spawn this way is capped at 2 (this counter is not shared with the
SpawnOnPlayerDeath
feature).
- Mimicking voices should actually sound like real player voices now.
- This was previously attempted by imitating all the settings/filters that dissonance uses.
- This is now replaced by using what dissonance uses internally.
- Enemies that mimic non-player voices now adjust playback volume, if the mimicking player's volume has been adjusted.
- Re-added support for LobbyCompatibility.
ImitationMode
is now set toNoRepeat
by default, to provide a better experience right out of the box.
1.2.1
- Temporarily removed support for LobbyCompatibility. It currently has a bug that makes it a required dependency, causing Mirage to error when starting/joining a lobby, if you don't have it installed.
1.2.0
- Add support for LobbyCompatibility
- Compatibility level is set to minor version. E.g. any
1.2.X
lobby is compatible with any other1.2.X
version of Mirage. - This only applies to
v1.2.X
and forward, as I did not follow proper versioning in the1.0.X
versions.
- Compatibility level is set to minor version. E.g. any
- Fixed issues of players not being able to hear voices mimicking them at times.
1.1.1
- Add configuration option
ImitateMode
to change how a recording is picked.- Set this to
Random
to keep the current behaviour (recordings are picked completely random). - Set this to
NoRepeat
to avoid repeating the same recording (this can still happen when not many recordings exist). Here is how it works:- A pool of recordings is filled.
- A recording is randomly picked, and then removed from the pool.
- When pool becomes empty, it becomes filled again.
- Set this to
SpawnOnPlayerDeath
no longer spawns an enemy if the player is not on a navmesh.- Previously, this was band-aid fixed by preventing a spawn if the player died by gravity.
CauseOfDeath: Gravity
no longer prevents the masked enemy from spawning, meaning ladders can spawn them properly now.- Note: Many areas throughout the map such as standing on top of a railing is detected as a missing navmesh.
Such areas will prevent
SpawnOnPlayerDeath
from spawning a masked enemy.
1.1.0
- Rewrote the config syncing logic. Thanks to Owen3H (author of CSync) for their config syncing implementation.
DeleteRecordingsPerRound
has been slightly reworked.- Setting this to
true
is unchanged (recordings get deleted after the lever is pulled, per round). - Setting this to
false
now only deletes when closing the game. - Default value is now set to
false
.
- Setting this to
MuteLocalPlayerVoice
is now set totrue
as the default.EnablePenalty
is now set totrue
as the default.- To clarify, setting this to
true
is 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
SpawnOnPlayerDeath
spawned 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
SpawnOnPlayerDeath
no 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
AlwaysMuteLocalPlayer
to true to never hear your voice at all (even while dead) - This ignores the
MuteLocalPlayerVoice
value 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
MuteLocalPlayerVoice
to get ignored
1.0.12
- Mimicked voices should now sound a lot more like an actual player's voice (changed audio filters)
SpawnOnPlayerDeath
no 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
EnableModdedEnemies
is 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 = true
to delete recordings per-roundDeleteRecordingsPerRound = false
to 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.