# Releases
| Among Us - Version| Mod Version | Link |
|----------|-------------|-----------------|
+| 2021.6.30s| v2.9.2| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.9.2/TheOtherRoles.zip)
| 2021.6.30s| v2.9.1| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.9.1/TheOtherRoles.zip)
| 2021.6.30s| v2.9.0| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.9.0/TheOtherRoles.zip)
| 2021.6.30s| v2.8.1| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.8.1/TheOtherRoles.zip)
<details>
<summary>Click to show the Changelog</summary>
+**Hotfix 2.9.2**
+- Fixed a bug where the names of all players were visible during camouflage
+- Fixed a bug where the Morphling didn't take over the name of its target
+
**Version 2.9.1**
- Fixed a bug where [Camouflager](#camouflager) & [Morphling](#morphling) caused performance issues
- Fixed a bug where [Medium](#medium) did not exlude the Evil [Mini](#mini)
}
public static bool hidePlayerName(PlayerControl source, PlayerControl target) {
- if (!MapOptions.hidePlayerNames) return false; // All names are visible
+ if (Camouflager.camouflageTimer > 0f) return true; // No names are visible
+ else if (!MapOptions.hidePlayerNames) return false; // All names are visible
else if (source == null || target == null) return true;
else if (source == target) return false; // Player sees his own name
else if (source.Data.IsImpostor && (target.Data.IsImpostor || target == Spy.spy)) return false; // Members of team Impostors see the names of Impostors/Spies
public class TheOtherRolesPlugin : BasePlugin
{
public const string Id = "me.eisbison.theotherroles";
- public const string VersionString = "2.9.1";
+ public const string VersionString = "2.9.2";
public static System.Version Version = System.Version.Parse(VersionString);
public Harmony Harmony { get; } = new Harmony(Id);
Dictionary<byte, PlayerControl> playersById = Helpers.allPlayersById();
foreach (PlayerControl player in PlayerControl.AllPlayerControls) {
- player.nameText.text = Helpers.hidePlayerName(PlayerControl.LocalPlayer, player) ? "" : player.Data.PlayerName;
+ String playerName = player.Data.PlayerName;
+ if (Morphling.morphTimer > 0f && Morphling.morphling == player && Morphling.morphTarget != null) playerName = Morphling.morphTarget.Data.PlayerName; // Temporary hotfix for the Morphling's name
+
+ player.nameText.text = Helpers.hidePlayerName(PlayerControl.LocalPlayer, player) ? "" : playerName;
if (PlayerControl.LocalPlayer.Data.IsImpostor && player.Data.IsImpostor) {
player.nameText.color = Palette.ImpostorRed;
} else {
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
- <Version>2.9.1</Version>
+ <Version>2.9.2</Version>
<Description>TheOtherRoles</Description>
<Authors>Eisbison</Authors>
</PropertyGroup>