diff --git a/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs b/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs index c96c609..77dc106 100644 --- a/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs +++ b/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs @@ -88,7 +88,7 @@ internal static class TaskAdderPatches var folderName = customRole!.Configuration.FreeplayFolder; if (!folders.TryGetValue(folderName, out var teamFolder)) { - teamFolder = __instance.CreateFolder(folderName, __instance.Root, folderIdx++, customRole.RoleColor); + teamFolder = __instance.CreateFolder(folderName, __instance.Root, folderIdx++, customRole.IntroConfiguration?.IntroTeamColor ?? Color.gray); folders.Add(folderName, teamFolder); } @@ -263,11 +263,17 @@ internal static class TaskAdderPatches TaskAddButton roleAddButton = Object.Instantiate(__instance.RoleButton); roleAddButton.SafePositionWorld = __instance.SafePositionWorld; roleAddButton.Text.text = prettyEnabled ? role.NiceName : "Be_" + role.NiceName + ".exe"; - roleAddButton.Text.fontSizeMin = 1; roleAddButton.Role = role; - if (prettyEnabled) roleAddButton.FileImage.sprite = MiraAssets.RoleFile.LoadAsset(); + if (prettyEnabled) + { + roleAddButton.Text.fontSizeMin = 1; + roleAddButton.FileImage.sprite = role.IsImpostor + ? MiraAssets.ImpostorFile.LoadAsset() + : MiraAssets.CrewmateFile.LoadAsset(); + } if (role is ICustomRole custom) { + if (prettyEnabled && custom.Team == ModdedRoleTeams.Custom) roleAddButton.FileImage.sprite = MiraAssets.CustomTeamFile.LoadAsset(); var customColor = custom.IntroConfiguration?.IntroTeamColor ?? Color.gray; if (custom.Team is ModdedRoleTeams.Crewmate) { diff --git a/MiraAPI/Resources/CrewmateFile.png b/MiraAPI/Resources/CrewmateFile.png new file mode 100644 index 0000000..7cf1e74 Binary files /dev/null and b/MiraAPI/Resources/CrewmateFile.png differ diff --git a/MiraAPI/Resources/CustomFile.png b/MiraAPI/Resources/CustomFile.png new file mode 100644 index 0000000..90c076b Binary files /dev/null and b/MiraAPI/Resources/CustomFile.png differ diff --git a/MiraAPI/Resources/ImpostorFile.png b/MiraAPI/Resources/ImpostorFile.png new file mode 100644 index 0000000..bf1476b Binary files /dev/null and b/MiraAPI/Resources/ImpostorFile.png differ diff --git a/MiraAPI/Resources/RoleFile.png b/MiraAPI/Resources/RoleFile.png deleted file mode 100644 index 534d6b7..0000000 Binary files a/MiraAPI/Resources/RoleFile.png and /dev/null differ diff --git a/MiraAPI/Utilities/Assets/MiraAssets.cs b/MiraAPI/Utilities/Assets/MiraAssets.cs index 19c633b..b10944f 100644 --- a/MiraAPI/Utilities/Assets/MiraAssets.cs +++ b/MiraAPI/Utilities/Assets/MiraAssets.cs @@ -106,9 +106,19 @@ public static class MiraAssets public static LoadableResourceAsset KeybindButton { get; } = new("MiraAPI.Resources.KeybindButton.png"); /// - /// Gets the sprite used for role file in TaskAdderGame. + /// Gets the sprite used for crewmate role files in TaskAdderGame. /// - public static LoadableResourceAsset RoleFile { get; } = new("MiraAPI.Resources.RoleFile.png"); + public static LoadableResourceAsset CrewmateFile { get; } = new("MiraAPI.Resources.CrewmateFile.png"); + + /// + /// Gets the sprite used for impostor role files in TaskAdderGame. + /// + public static LoadableResourceAsset ImpostorFile { get; } = new("MiraAPI.Resources.ImpostorFile.png"); + + /// + /// Gets the sprite used for custom team role files in TaskAdderGame. + /// + public static LoadableResourceAsset CustomTeamFile { get; } = new("MiraAPI.Resources.CustomFile.png"); /// /// Gets the sprite used for modifier file in TaskAdderGame.