Add Urgent

This commit is contained in:
Gurge44 committed 2026-04-16 09:31:43 +02:00
1 parent d729506020
commit 79cb4ead48
8 files changed
+30 -27

No files matched your search

+1
View File
@@ -598,6 +598,7 @@ public enum CustomRoles
Stressed,
Swift,
Sunglasses,
Talkative,
Taskcounter,
TaskMaster,
Tiebreaker,
+1
View File
@@ -609,6 +609,7 @@ public enum CustomRoles
Undead,
Underdog,
Unlucky,
Urgent,
Venom,
Warden, // Ghost role
Watcher,
+1
View File
@@ -675,6 +675,7 @@ public class Main : BasePlugin
{ CustomRoles.Listener, "#060270" },
{ CustomRoles.Unbound, "#DFC57B" },
{ CustomRoles.AntiTP, "#fcba03" },
{ CustomRoles.Urgent, "#D49255" },
{ CustomRoles.Talkative, "#6ADEDE" },
{ CustomRoles.Blessed, "#7bfbff" },
{ CustomRoles.Hidden, "#E2EAF4" },
+3
View File
@@ -204,6 +204,9 @@ public class PlayerState(byte playerId)
case CustomRoles.BananaMan when Main.IntroDestroyed && !SubRoles.Contains(CustomRoles.BananaMan):
LateTask.New(() => Utils.RpcChangeSkin(Player, new()), 0.2f, log: false);
break;
case CustomRoles.Urgent when !SubRoles.Contains(CustomRoles.Urgent):
Main.NumEmergencyMeetingsUsed[PlayerId]--;
break;
}
if (replaceAll)
+10 -27
View File
@@ -319,6 +319,7 @@ internal static class ChangeRoleSettings
Main.DefaultImpostorVision = Main.RealOptionsData.GetFloat(FloatOptionNames.ImpostorLightMod);
Main.LastNotifyNames = [];
Main.NumEmergencyMeetingsUsed = [];
CheckForEndVotingPatch.EjectionText = string.Empty;
@@ -331,41 +332,22 @@ internal static class ChangeRoleSettings
Camouflage.BlockCamouflage = false;
Camouflage.Init();
Main.NumEmergencyMeetingsUsed = Main.EnumeratePlayerControls().ToDictionary(x => x.PlayerId, _ => 0);
if (AmongUsClient.Instance.AmHost)
{
string[] invalidColor = Main.EnumeratePlayerControls().Where(p => p.Data.DefaultOutfit.ColorId < 0 || Palette.PlayerColors.Length <= p.Data.DefaultOutfit.ColorId).Select(p => $"{p.name}").ToArray();
if (invalidColor.Length > 0)
{
string msg = GetString("Error.InvalidColor");
Logger.SendInGame(msg, Color.yellow);
msg += "\n" + string.Join(",", invalidColor);
Utils.SendMessage(msg, importance: MessageImportance.Low);
Logger.Error(msg, "CoStartGame");
}
}
RoleResult = [];
foreach (PlayerControl target in Main.EnumeratePlayerControls())
{
foreach (PlayerControl seer in Main.EnumeratePlayerControls())
{
(byte, byte) pair = (target.PlayerId, seer.PlayerId);
Main.LastNotifyNames[pair] = target.name;
}
}
foreach (PlayerControl pc in Main.EnumeratePlayerControls())
{
foreach (PlayerControl seer in Main.EnumeratePlayerControls())
{
(byte, byte) pair = (pc.PlayerId, seer.PlayerId);
Main.LastNotifyNames[pair] = pc.name;
}
int colorId = pc.Data.DefaultOutfit.ColorId;
if (AmongUsClient.Instance.AmHost && Options.FormatNameMode.GetInt() == 1)
{
string colorName = Palette.GetColorName(colorId);
string formattedColorName = char.ToUpper(colorName[0]) + colorName.Substring(1).ToLower();
string formattedColorName = char.ToUpper(colorName[0]) + colorName[1..].ToLower();
pc.RpcSetName(formattedColorName);
}
@@ -378,6 +360,7 @@ internal static class ChangeRoleSettings
MapNames.Fungle => Options.ExtraKillCooldownOnFungle.GetFloat(),
_ => 0f
};
Main.NumEmergencyMeetingsUsed[pc.PlayerId] = 0;
ReportDeadBodyPatch.CanReport[pc.PlayerId] = true;
ReportDeadBodyPatch.WaitReport[pc.PlayerId] = [];
RoleResult[pc.PlayerId] = CustomRoles.NotAssigned;
+3
View File
@@ -3832,6 +3832,9 @@
"TalkativeInfoLong": "(Add-ons):\\nAs the Talkative, if you send more messages in a meeting than the specified limit in the settings, you suicide.",
"Talkative.MaxMessagesPerMeeting": "Max Messages Per Meeting",
"Talkative.Died": "{0} talked too much and died.",
"Urgent": "Urgent",
"UrgentInfo": "You Have +1 Emergency Meeting",
"UrgentInfoLong": "(Add-ons):\\nAs the Urgent, you have an extra emergency meeting.",
"TaskMaster": "Task Master",
"TaskMasterInfo": "Auto-Completes 1 Task After Every Meeting",
"TaskMasterInfoLong": "(Add-ons):\\nAs the Task Master, you automatically complete 1 task after every meeting.",
File renamed without changes.
+11
View File
@@ -0,0 +1,11 @@
namespace EHR.Roles;
public class Urgent : IAddon
{
public AddonTypes Type => AddonTypes.Mixed;
public void SetupCustomOption()
{
Options.SetupAdtRoleOptions(658075, CustomRoles.Urgent, canSetNum: true, teamSpawnOptions: true);
}
}