diff --git a/MiraAPI/Colors/ColorSpaces/CmykColor.cs b/MiraAPI/Colors/ColorSpaces/CmykColor.cs
index c94ebec..11ec563 100644
--- a/MiraAPI/Colors/ColorSpaces/CmykColor.cs
+++ b/MiraAPI/Colors/ColorSpaces/CmykColor.cs
@@ -42,9 +42,11 @@ public record struct CmykColor(float c, float m, float y, float k, float a = 1f)
/// A Unity representing the same visual color.
public static Color ToColor(CmykColor cmyk)
{
- var r = (1f - cmyk.c) * (1f - cmyk.k);
- var g = (1f - cmyk.m) * (1f - cmyk.k);
- var b = (1f - cmyk.y) * (1f - cmyk.k);
+ var key = 1f - cmyk.k;
+
+ var r = (1f - cmyk.c) * key;
+ var g = (1f - cmyk.m) * key;
+ var b = (1f - cmyk.y) * key;
return new Color(MathUtilities.Clamp01(r), MathUtilities.Clamp01(g), MathUtilities.Clamp01(b), cmyk.a);
}
diff --git a/MiraAPI/Colors/ColorSpaces/HslColor.cs b/MiraAPI/Colors/ColorSpaces/HslColor.cs
index 1929e77..466f159 100644
--- a/MiraAPI/Colors/ColorSpaces/HslColor.cs
+++ b/MiraAPI/Colors/ColorSpaces/HslColor.cs
@@ -75,7 +75,7 @@ public record struct HslColor(float h, float s, float l, float a = 1f)
var l = (max + min) / 2f;
var delta = max - min;
- var s = delta == 0f ? 0f : delta / (1f - MathF.Abs(2f * l - 1f));
+ var s = delta == 0f ? 0f : delta / (1f - MathF.Abs((2f * l) - 1f));
var h = 0f;
diff --git a/MiraAPI/Colors/VariableColor.cs b/MiraAPI/Colors/VariableColor.cs
index 1ca610f..bfb9717 100644
--- a/MiraAPI/Colors/VariableColor.cs
+++ b/MiraAPI/Colors/VariableColor.cs
@@ -14,7 +14,7 @@ namespace MiraAPI.Colors;
/// The function to evaluate the dynamic shadow color.
/// The static main color used when dynamic colors are disabled.
/// The static shadow color used when dynamic colors are disabled.
-/// The default time that is used to automatically fill in the static colors when the latter are not provided.
+/// The default time that is used to automatically fill in the static colors when the latter is not provided.
public sealed class VariableColor(StringNames name, Func mainEvaluator, Func? shadowEvaluator, Color32? mainColor = null, Color32? shadowColor = null, float defaultTime = 0f)
: CustomColor(name, mainColor ?? mainEvaluator(defaultTime), shadowColor ?? shadowEvaluator?.Invoke(defaultTime) ?? (mainColor ?? mainEvaluator(defaultTime)).GetShadowColor(60))
{
diff --git a/MiraAPI/Patches/Colors/VariableColorPatches.cs b/MiraAPI/Patches/Colors/VariableColorPatches.cs
index cf64d6d..98bed64 100644
--- a/MiraAPI/Patches/Colors/VariableColorPatches.cs
+++ b/MiraAPI/Patches/Colors/VariableColorPatches.cs
@@ -70,23 +70,26 @@ internal static class RainbowLobbyInfoPanePatch
[SuppressMessage("Style", "IDE0045:Convert to conditional expression", Justification = "Operator becomes too large.")]
public static void Postfix(HostInfoPanel __instance)
{
- if (!__instance.gameObject.activeInHierarchy || !PaletteManager.IsVariable(__instance.player.cosmetics.ColorId))
- {
+ if (!__instance.gameObject.activeInHierarchy)
+ return;
+
+ var colorId = __instance.player.cosmetics.ColorId;
+
+ if (!PaletteManager.IsVariable(colorId))
return;
- }
var host = GameData.Instance.GetHost();
if (!host)
return;
- var text = PaletteManager.GetMainColor(__instance.player.cosmetics.ColorId).ToHtmlStringRGBA();
- __instance.hostLabel.text = TranslationController.Instance.GetString(StringNames.HostNounLabel);
+ var text = PaletteManager.GetMainColor(colorId).ToHtmlStringRGBA();
+ var label = __instance.hostLabel;
+ label.text = TranslationController.Instance.GetString(StringNames.HostNounLabel);
if (__instance.ShouldBoldenHostLabel(DataManager.Settings.Language.CurrentLanguage))
{
- __instance.hostLabel.text = __instance.hostLabel.text.Insert(0, "");
- __instance.hostLabel.text = __instance.hostLabel.text.Insert(__instance.hostLabel.text.Length, "");
+ label.text = "" + label.text + "";
}
if (AmongUsClient.Instance.AmHost)