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.