mirror of
https://github.com/All-Of-Us-Mods/MiraAPI.git
synced 2026-10-20 01:46:15 +00:00
Seperate vanilla vent data receiving from the actual button
This commit is contained in:
1 parent
c59ed8eaa6
commit
c1d0bb5d26
5 files changed
+18
-5
No files matched your search
@@ -18,7 +18,8 @@ public class NeutralKillerRole : ImpostorRole, ICustomRole
|
|||||||
{
|
{
|
||||||
UseVanillaKillButton = true,
|
UseVanillaKillButton = true,
|
||||||
CanGetKilled = true,
|
CanGetKilled = true,
|
||||||
CanUseVent = true,
|
GetsVentData = true,
|
||||||
|
UseVanillaVentButton = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
public RoleOptionsGroup RoleOptionsGroup { get; } = new("Outcast", Color.gray);
|
public RoleOptionsGroup RoleOptionsGroup { get; } = new("Outcast", Color.gray);
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public static class HudManagerPatches
|
|||||||
if (role is ICustomRole customRole)
|
if (role is ICustomRole customRole)
|
||||||
{
|
{
|
||||||
__instance.KillButton.ToggleVisible(isActive && customRole.Configuration.UseVanillaKillButton && !flag);
|
__instance.KillButton.ToggleVisible(isActive && customRole.Configuration.UseVanillaKillButton && !flag);
|
||||||
__instance.ImpostorVentButton.ToggleVisible(isActive && customRole.Configuration.CanUseVent && !flag);
|
__instance.ImpostorVentButton.ToggleVisible(isActive && (customRole.Configuration.CanUseVent || customRole.Configuration.UseVanillaVentButton) && !flag);
|
||||||
__instance.SabotageButton.gameObject.SetActive(isActive && customRole.Configuration.CanUseSabotage);
|
__instance.SabotageButton.gameObject.SetActive(isActive && customRole.Configuration.CanUseSabotage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ internal static class VentCanUsePatch
|
|||||||
var @object = pc.Object;
|
var @object = pc.Object;
|
||||||
var role = @object.Data.Role;
|
var role = @object.Data.Role;
|
||||||
|
|
||||||
var canVent = role is ICustomRole customRole ? customRole.Configuration.CanUseVent : role.CanVent;
|
var canVent = role is ICustomRole customRole ? customRole.Configuration.CanUseVent || customRole.Configuration.GetsVentData || customRole.Configuration.UseVanillaVentButton : role.CanVent;
|
||||||
couldUse = canVent;
|
couldUse = canVent;
|
||||||
|
|
||||||
var modifiers = @object.GetModifierComponent().ActiveModifiers;
|
var modifiers = @object.GetModifierComponent().ActiveModifiers;
|
||||||
|
|||||||
@@ -39,7 +39,8 @@ public record struct CustomRoleConfiguration
|
|||||||
GhostRole = role.Team is ModdedRoleTeams.Impostor ? RoleTypes.ImpostorGhost : RoleTypes.CrewmateGhost;
|
GhostRole = role.Team is ModdedRoleTeams.Impostor ? RoleTypes.ImpostorGhost : RoleTypes.CrewmateGhost;
|
||||||
CanGetKilled = roleBehaviour?.IsDead == false && role.Team is not ModdedRoleTeams.Impostor;
|
CanGetKilled = roleBehaviour?.IsDead == false && role.Team is not ModdedRoleTeams.Impostor;
|
||||||
UseVanillaKillButton = role.Team is ModdedRoleTeams.Impostor;
|
UseVanillaKillButton = role.Team is ModdedRoleTeams.Impostor;
|
||||||
CanUseVent = role.Team is ModdedRoleTeams.Impostor;
|
GetsVentData = role.Team is ModdedRoleTeams.Impostor;
|
||||||
|
UseVanillaVentButton = role.Team is ModdedRoleTeams.Impostor;
|
||||||
CanUseSabotage = role.Team is ModdedRoleTeams.Impostor;
|
CanUseSabotage = role.Team is ModdedRoleTeams.Impostor;
|
||||||
TasksCountForProgress = role.Team is ModdedRoleTeams.Crewmate;
|
TasksCountForProgress = role.Team is ModdedRoleTeams.Crewmate;
|
||||||
HideSettings = roleBehaviour?.IsDead == true;
|
HideSettings = roleBehaviour?.IsDead == true;
|
||||||
@@ -111,8 +112,19 @@ public record struct CustomRoleConfiguration
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a value indicating whether the role can use vents.
|
/// Gets or sets a value indicating whether the role can use vents.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Obsolete("The equivalent of having both GetsVentData and UseVanillaVentButton as true. Only remains for compatability.")]
|
||||||
public bool CanUseVent { get; set; }
|
public bool CanUseVent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether the role can receive vanilla vent data.
|
||||||
|
/// </summary>
|
||||||
|
public bool GetsVentData { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether the role can use the vanilla vent button.
|
||||||
|
/// </summary>
|
||||||
|
public bool UseVanillaVentButton { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a value indicating whether the role can use the sabotage button.
|
/// Gets or sets a value indicating whether the role can use the sabotage button.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ public static class CustomRoleManager
|
|||||||
roleBehaviour.CanBeKilled = customRole.Configuration.CanGetKilled;
|
roleBehaviour.CanBeKilled = customRole.Configuration.CanGetKilled;
|
||||||
roleBehaviour.CanUseKillButton = customRole.Configuration.UseVanillaKillButton;
|
roleBehaviour.CanUseKillButton = customRole.Configuration.UseVanillaKillButton;
|
||||||
roleBehaviour.TasksCountTowardProgress = customRole.Configuration.TasksCountForProgress;
|
roleBehaviour.TasksCountTowardProgress = customRole.Configuration.TasksCountForProgress;
|
||||||
roleBehaviour.CanVent = customRole.Configuration.CanUseVent;
|
roleBehaviour.CanVent = customRole.Configuration.CanUseVent || customRole.Configuration.GetsVentData || customRole.Configuration.UseVanillaVentButton;
|
||||||
roleBehaviour.DefaultGhostRole = customRole.Configuration.GhostRole;
|
roleBehaviour.DefaultGhostRole = customRole.Configuration.GhostRole;
|
||||||
roleBehaviour.MaxCount = customRole.Configuration.MaxRoleCount;
|
roleBehaviour.MaxCount = customRole.Configuration.MaxRoleCount;
|
||||||
roleBehaviour.RoleScreenshot = customRole.Configuration.OptionsScreenshot?.LoadAsset();
|
roleBehaviour.RoleScreenshot = customRole.Configuration.OptionsScreenshot?.LoadAsset();
|
||||||
|
|||||||
Reference in new issue
Block a user