mirror of
https://github.com/ApeMV/AmongUsRevamped.git
synced 2026-10-21 21:43:36 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d55683088 | ||
|
|
9572c8ca53 | ||
|
|
2e66fb54f9 | ||
|
|
f9c9e1a2b6 | ||
|
|
e5c1e183cd | ||
|
|
037c3ce902 | ||
|
|
37300e87d7 | ||
|
|
69c13b2fba | ||
|
|
4404464459 | ||
|
|
059dbac2e4 | ||
|
|
95a203b711 | ||
|
|
9c1d8a2943 |
No files matched your search
+4
-3
@@ -38,15 +38,16 @@ public partial class Main : BasePlugin
|
||||
public static ConfigEntry<bool> DisableCommandHelper { get; private set; }
|
||||
public static ConfigEntry<bool> DisableCompatibilityWarning { get; private set; }
|
||||
|
||||
public static NormalGameOptionsV10 NormalOptions => GameOptionsManager.Instance != null ? GameOptionsManager.Instance.currentNormalGameOptions : null;
|
||||
public static HideNSeekGameOptionsV10 HideNSeekOptions => GameOptionsManager.Instance != null ? GameOptionsManager.Instance.currentHideNSeekGameOptions : null;
|
||||
public static NormalGameOptionsV11 NormalOptions => GameOptionsManager.Instance != null ? GameOptionsManager.Instance.currentNormalGameOptions : null;
|
||||
public static HideNSeekGameOptionsV11 HideNSeekOptions => GameOptionsManager.Instance != null ? GameOptionsManager.Instance.currentHideNSeekGameOptions : null;
|
||||
public static MapNames CurrentMap => (MapNames)NormalOptions.MapId;
|
||||
|
||||
public static bool HasArgumentException;
|
||||
public static string CredentialsText;
|
||||
public const string ModVersion = "v1.9.1";
|
||||
public const string ModVersion = "v2.0.1";
|
||||
|
||||
public static float GameTimer;
|
||||
public static float AfkTimer;
|
||||
|
||||
public static readonly Dictionary<int, int> SayStartTimes = [];
|
||||
public static readonly Dictionary<int, int> SayDeniedWordTimes = [];
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.735" ExcludeAssets="runtime;native" />
|
||||
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2026.6.5" PrivateAssets="all" Condition="'$(Configuration)' == 'Release'"/>
|
||||
<PackageReference Include="AmongUs.GameLibs.Android" Version="2025.10.14" PrivateAssets="all" Condition="'$(Configuration)' == 'Android'"/>
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2026.8.18" PrivateAssets="all" Condition="'$(Configuration)' == 'Release'"/>
|
||||
<PackageReference Include="AmongUs.GameLibs.Android" Version="2026.8.18" PrivateAssets="all" Condition="'$(Configuration)' == 'Android'"/>
|
||||
|
||||
<PackageReference Include="BepInEx.AutoPlugin" Version="1.1.0" PrivateAssets="all" />
|
||||
<PackageReference Include="BepInEx.IL2CPP.MSBuild" Version="2.1.0-rc.1" PrivateAssets="all" ExcludeAssets="runtime" />
|
||||
|
||||
+26
-18
@@ -29,7 +29,6 @@ public static class BanManager
|
||||
private static string TemplatePath = $"{DataPath}/AUR-DATA/Templates.txt";
|
||||
private static string StartWordsPath = $"{DataPath}/AUR-DATA/Startwords.txt";
|
||||
public static Dictionary<string, string> Templates = new();
|
||||
public static List<string> TempBanWhiteList = [];
|
||||
public static void Init()
|
||||
{
|
||||
try
|
||||
@@ -81,7 +80,7 @@ public static class BanManager
|
||||
public static void AddBanPlayer(ClientData player)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost || player == null) return;
|
||||
if (!CheckBanList(player?.FriendCode, player?.GetHashedPuid()) && !TempBanWhiteList.Contains(player?.GetHashedPuid()))
|
||||
if (!CheckBanList(player?.FriendCode, player?.GetHashedPuid()))
|
||||
{
|
||||
if (player?.GetHashedPuid() != "" && player?.GetHashedPuid() != null && player?.GetHashedPuid() != "e3b0cb855")
|
||||
{
|
||||
@@ -106,13 +105,6 @@ public static class BanManager
|
||||
Logger.Info($"{player.PlayerName} was in the BanList and has been banned", "BanListBan");
|
||||
return;
|
||||
}
|
||||
if (TempBanWhiteList.Contains(player?.GetHashedPuid()))
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(player.Id, true);
|
||||
//This should not happen
|
||||
Logger.Info($"{player.PlayerName} was in the Temporary BanList", "TempBan");
|
||||
return;
|
||||
}
|
||||
}
|
||||
public static bool CheckBanList(string code, string hashedpuid = "")
|
||||
{
|
||||
@@ -170,12 +162,12 @@ public static class BanManager
|
||||
|
||||
public static bool IsWordBanned(PlayerControl player, string input)
|
||||
{
|
||||
if (input == "" || !AmongUsClient.Instance.AmHost || Utils.CheckAccessLevel(player.Data.FriendCode) > 0) return false;
|
||||
if (input == "" || !AmongUsClient.Instance.AmHost || Utils.CheckAccessLevel(player.Data.FriendCode) > 0 || !Options.EnableDeniedWords.GetBool()) return false;
|
||||
|
||||
int clientId = player.Data.ClientId;
|
||||
var bannedWords = File.ReadAllLines(BanWordPath).Where(x => !x.StartsWith("#"));
|
||||
|
||||
if (bannedWords.Where(code => !string.IsNullOrWhiteSpace(code)).Any(code => input.Contains(code, StringComparison.OrdinalIgnoreCase)))
|
||||
if ((Options.DeniedWordsStrength.GetBool() && bannedWords.Where(code => !string.IsNullOrWhiteSpace(code)).Any(code => input.Contains(code, StringComparison.OrdinalIgnoreCase))) || (!Options.DeniedWordsStrength.GetBool() && bannedWords.Where(code => !string.IsNullOrWhiteSpace(code)).Any(code => input.Equals(code, StringComparison.OrdinalIgnoreCase))))
|
||||
{
|
||||
|
||||
if (!Main.SayDeniedWordTimes.ContainsKey(clientId))
|
||||
@@ -187,9 +179,17 @@ public static class BanManager
|
||||
|
||||
if (Main.SayDeniedWordTimes[clientId] >= Options.DeniedWordsToKick.GetInt())
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(clientId, false);
|
||||
Logger.Info(Translator.Get("banWordKick", player.Data.PlayerName, Options.DeniedWordsToKick.GetInt()), "DeniedWordKick");
|
||||
Logger.SendInGame(Translator.Get("banWordKick", player.Data.PlayerName, Options.DeniedWordsToKick.GetInt()));
|
||||
if (Options.DeniedWordsAsBan.GetBool())
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(clientId, true);
|
||||
Logger.SendInGame(Translator.Get("banWordBan", player.Data.PlayerName, Options.DeniedWordsToKick.GetInt()));
|
||||
}
|
||||
else
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(clientId, false);
|
||||
Logger.SendInGame(Translator.Get("banWordKick", player.Data.PlayerName, Options.DeniedWordsToKick.GetInt()));
|
||||
}
|
||||
Logger.Info(Translator.Get("banWordKick", player.Data.PlayerName, Options.DeniedWordsToKick.GetInt()), "DeniedWordKick");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -198,10 +198,10 @@ public static class BanManager
|
||||
|
||||
public static bool IsStartWord(PlayerControl player, string input)
|
||||
{
|
||||
if (input == "" || !AmongUsClient.Instance.AmHost || Utils.CheckAccessLevel(player.Data.FriendCode) > 0) return false;
|
||||
if (input == "" || !AmongUsClient.Instance.AmHost || Utils.CheckAccessLevel(player.Data.FriendCode) > 0 || !Options.AutoKickStart.GetBool() || !Utils.IsLobby) return false;
|
||||
|
||||
int clientId = player.Data.ClientId;
|
||||
var startWords = File.ReadAllLines(BanWordPath).Where(x => !x.StartsWith("#"));
|
||||
var startWords = File.ReadAllLines(StartWordsPath).Where(x => !x.StartsWith("#"));
|
||||
|
||||
if ((Options.AutoKickStartStrength.GetBool() && startWords.Where(code => !string.IsNullOrWhiteSpace(code)).Any(code => input.Contains(code, StringComparison.OrdinalIgnoreCase))) || (!Options.AutoKickStartStrength.GetBool() && startWords.Where(code => !string.IsNullOrWhiteSpace(code)).Any(code => input.Equals(code, StringComparison.OrdinalIgnoreCase))))
|
||||
{
|
||||
@@ -214,9 +214,17 @@ public static class BanManager
|
||||
|
||||
if (Main.SayStartTimes[clientId] >= Options.AutoKickStartTimes.GetInt())
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(clientId, false);
|
||||
if (Options.AutoKickStartAsBan.GetBool())
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(clientId, true);
|
||||
Logger.SendInGame(Translator.Get("startWordBan", player.Data.PlayerName, Options.AutoKickStartTimes.GetInt()));
|
||||
}
|
||||
else
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(clientId, false);
|
||||
Logger.SendInGame(Translator.Get("startWordKick", player.Data.PlayerName, Options.AutoKickStartTimes.GetInt()));
|
||||
}
|
||||
Logger.Info(Translator.Get("startWordKick", player.Data.PlayerName, Options.AutoKickStartTimes.GetInt()), "StartWordKick");
|
||||
Logger.SendInGame(Translator.Get("startWordKick", player.Data.PlayerName, Options.AutoKickStartTimes.GetInt()));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ internal static class CommandHelper
|
||||
|
||||
new Cmd { Name = new[] { "/sns" }, Prompt = "/sns", Description = Translator.Get("snsDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/shiftandseek" }, Prompt = "/shiftandseek", Description = Translator.Get("snsDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/sns2" }, Prompt = "/sns2", Description = Translator.Get("snsTwoDesc"), HasVariable = false },
|
||||
|
||||
new Cmd { Name = new[] { "/0kc" }, Prompt = "/0kc", Description = Translator.Get("0kcDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/0killcooldown" }, Prompt = "/0killcooldown", Description = Translator.Get("0kcDesc"), HasVariable = false },
|
||||
@@ -33,6 +34,9 @@ internal static class CommandHelper
|
||||
new Cmd { Name = new[] { "/sr" }, Prompt = "/sr", Description = Translator.Get("SrDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/speedrun" }, Prompt = "/speedrun", Description = Translator.Get("SrDesc"), HasVariable = false },
|
||||
|
||||
new Cmd { Name = new[] { "/pns" }, Prompt = "/pns", Description = Translator.Get("pnsDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/poofandseek" }, Prompt = "/poofandseek", Description = Translator.Get("pnsDesc"), HasVariable = false },
|
||||
|
||||
new Cmd { Name = new[] { "/eg" }, Prompt = "/eg", Description = Translator.Get("egDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/endgame" }, Prompt = "/endgame", Description = Translator.Get("egDesc"), HasVariable = false },
|
||||
|
||||
@@ -76,7 +80,11 @@ internal static class CommandHelper
|
||||
|
||||
new Cmd { Name = new[] { "/seeker" }, Prompt = "/seeker {name}", Description = Translator.Get("seekerDesc"), HasVariable = true },
|
||||
new Cmd { Name = new[] { "/seekers" }, Prompt = "/seekers", Description = Translator.Get("seekersDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/clearseeker" }, Prompt = "/clearseeker", Description = Translator.Get("clearSeekerDesc"), HasVariable = false }
|
||||
new Cmd { Name = new[] { "/clearseeker" }, Prompt = "/clearseeker", Description = Translator.Get("clearSeekerDesc"), HasVariable = false },
|
||||
|
||||
new Cmd { Name = new[] { "/mapvote" }, Prompt = "/mapvote", Description = Translator.Get("mapVoteDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/allmapvote" }, Prompt = "/allmapvote", Description = Translator.Get("allMapVoteDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/gmvote" }, Prompt = "/gmvote", Description = Translator.Get("modeVoteDesc"), HasVariable = false }
|
||||
};
|
||||
|
||||
[HarmonyPostfix]
|
||||
@@ -97,6 +105,7 @@ internal static class CommandHelper
|
||||
HelperText.color = new Color(0.7f, 0.7f, 0.7f, 0.7f);
|
||||
HelperText.transform.localPosition = __instance.outputText.transform.localPosition;
|
||||
HelperText.enabled = false;
|
||||
HelperText.fontSharedMaterial = new Material(__instance.outputText.fontSharedMaterial);
|
||||
}
|
||||
|
||||
string t = __instance.text;
|
||||
|
||||
+242
-123
@@ -48,7 +48,7 @@ namespace AmongUsRevamped
|
||||
|
||||
public static readonly string[] gameModes =
|
||||
{
|
||||
"Standard", "Shift And Seek", "Speedrun"
|
||||
"Standard", "Shift And Seek", "Speedrun", "Poof And Seek"
|
||||
};
|
||||
|
||||
public static readonly string[] accessLevels =
|
||||
@@ -56,15 +56,13 @@ namespace AmongUsRevamped
|
||||
Translator.Get("everyone"), Translator.Get("vipAndAbove"), Translator.Get("moderatorAndAbove"), Translator.Get("admin"), Translator.Get("onlyYou")
|
||||
};
|
||||
|
||||
public static readonly string[] crewmateAbilities =
|
||||
public static readonly string[] afkPenalties =
|
||||
{
|
||||
"Mayor", "Workhorse", "Jester", "Tasker", "None"
|
||||
};
|
||||
public static readonly string[] impostorAbilities =
|
||||
{
|
||||
"Tyrant", "Stealer", "Juggernaut", "None"
|
||||
Translator.Get("kick"), Translator.Get("ban"), Translator.Get("notifyMe")
|
||||
};
|
||||
|
||||
|
||||
|
||||
//System
|
||||
public static OptionItem Language;
|
||||
|
||||
@@ -72,32 +70,60 @@ namespace AmongUsRevamped
|
||||
|
||||
public static OptionItem TabGroupMain;
|
||||
|
||||
public static OptionItem TabGroupLevelKick;
|
||||
public static OptionItem EnableKickLowLevelPlayer;
|
||||
public static OptionItem KickLowLevelPlayer;
|
||||
public static OptionItem DontKickLevelOnes;
|
||||
public static OptionItem TempBanLowLevelPlayer;
|
||||
public static OptionItem EnableKickHighLevelPlayer;
|
||||
public static OptionItem KickHighLevelPlayer;
|
||||
public static OptionItem TempBanHighLevelPlayer;
|
||||
|
||||
public static OptionItem TabGroupKickInvalidFriendCodes;
|
||||
public static OptionItem KickInvalidFriendCodes;
|
||||
public static OptionItem TempBanInvalidFriendCodes;
|
||||
|
||||
public static OptionItem TabGroupDeniedWords;
|
||||
public static OptionItem EnableDeniedWords;
|
||||
public static OptionItem DeniedWordsToKick;
|
||||
public static OptionItem DeniedWordsAsBan;
|
||||
public static OptionItem DeniedWordsStrength;
|
||||
|
||||
public static OptionItem TabGroupAutoKickStart;
|
||||
public static OptionItem AutoKickStart;
|
||||
public static OptionItem AutoKickStartAsBan;
|
||||
public static OptionItem AutoKickStartTimes;
|
||||
public static OptionItem AutoKickStartStrength;
|
||||
|
||||
public static OptionItem TabGroupAutomation;
|
||||
|
||||
public static OptionItem AutoSendGameInfo;
|
||||
public static OptionItem AutoRejoinLobby;
|
||||
public static OptionItem EnableJoinMessages;
|
||||
public static OptionItem MessagePerPlayerNum;
|
||||
public static OptionItem AutomaticMapPoll;
|
||||
public static OptionItem TimeBeforeMapPoll;
|
||||
public static OptionItem AutomaticAllMapPoll;
|
||||
public static OptionItem TimeBeforeAllMapPoll;
|
||||
public static OptionItem AutomaticModePoll;
|
||||
public static OptionItem TimeBeforeModePoll;
|
||||
|
||||
public static OptionItem TabGroupAutostart;
|
||||
public static OptionItem AutoStartTimer;
|
||||
public static OptionItem WaitAutoStart;
|
||||
public static OptionItem PlayerAutoStart;
|
||||
public static OptionItem EnableJoinMessages;
|
||||
public static OptionItem MessagePerPlayerNum;
|
||||
public static OptionItem Rehost;
|
||||
public static OptionItem Public;
|
||||
|
||||
public static OptionItem TabGroupAfk;
|
||||
public static OptionItem EnableAfkDetection;
|
||||
public static OptionItem AfkTimer;
|
||||
public static OptionItem AfkPenalty;
|
||||
public static OptionItem OnlyDetectSpawn;
|
||||
|
||||
|
||||
public static OptionItem TabGroupMisc;
|
||||
|
||||
public static OptionItem MapVoteDuration;
|
||||
public static OptionItem ModeVoteDuration;
|
||||
public static OptionItem StartCountdown;
|
||||
public static OptionItem ColorCommandLevel;
|
||||
public static OptionItem AllowFortegreen;
|
||||
@@ -107,6 +133,7 @@ namespace AmongUsRevamped
|
||||
public static OptionItem SlashColorCmd;
|
||||
public static OptionItem SlashRolesAndGamemodeCmd;
|
||||
public static OptionItem SlashLastGameCmd;
|
||||
public static OptionItem SlashMapAndSeekerCmd;
|
||||
public static OptionItem SlashKickCmd;
|
||||
public static OptionItem SlashBanCmd;
|
||||
public static OptionItem SlashEndMeetingCmd;
|
||||
@@ -125,8 +152,9 @@ namespace AmongUsRevamped
|
||||
public static OptionItem DisableCloseDoor;
|
||||
|
||||
public static OptionItem TabGroupGameplayGeneral;
|
||||
public static OptionItem ShieldFirstDeath;
|
||||
public static OptionItem ShieldFirstDeathDuration;
|
||||
public static OptionItem DisableAnnoyingMeetingCalls;
|
||||
|
||||
public static OptionItem ChangeDecontaminationTime;
|
||||
public static OptionItem DecontaminationTimeOnMiraHQ;
|
||||
public static OptionItem DecontaminationDoorOpenTimeOnMiraHQ;
|
||||
@@ -268,10 +296,11 @@ namespace AmongUsRevamped
|
||||
public static OptionItem NumSeekers;
|
||||
|
||||
public static OptionItem TabGroupSNS;
|
||||
public static OptionItem SNSSettingsOverride;
|
||||
public static OptionItem SNSChatInGame;
|
||||
public static OptionItem SNSChatInGameExtend;
|
||||
public static OptionItem SNSChatInGameExtend2;
|
||||
public static OptionItem SNSChatInGameFast;
|
||||
public static OptionItem CrewAutoWinsGameAfter;
|
||||
public static OptionItem CantKillTime;
|
||||
public static OptionItem MisfiresToSuicide;
|
||||
public static OptionItem SNSDisableSabotage;
|
||||
public static OptionItem SNSDisableReactor;
|
||||
@@ -281,12 +310,28 @@ namespace AmongUsRevamped
|
||||
public static OptionItem SNSDisableHeli;
|
||||
public static OptionItem SNSDisableMushroomMixup;
|
||||
public static OptionItem SNSDisableCloseDoor;
|
||||
public static OptionItem SNSImpostorsCanVent;
|
||||
|
||||
public static OptionItem TabGroupSpeedrun;
|
||||
public static OptionItem SpeedrunSettingsOverride;
|
||||
public static OptionItem GameAutoEndsAfter;
|
||||
public static OptionItem EngineerMode;
|
||||
|
||||
public static OptionItem TabGroupPNS;
|
||||
public static OptionItem PNSChatInGame;
|
||||
public static OptionItem PNSChatInGameExtend;
|
||||
public static OptionItem PNSChatInGameFast;
|
||||
public static OptionItem PNSCrewAutoWinsGameAfter;
|
||||
public static OptionItem BadMoveTimeToSuicide;
|
||||
public static OptionItem PNSDisableSabotage;
|
||||
public static OptionItem PNSDisableReactor;
|
||||
public static OptionItem PNSDisableOxygen;
|
||||
public static OptionItem PNSDisableLights;
|
||||
public static OptionItem PNSDisableComms;
|
||||
public static OptionItem PNSDisableHeli;
|
||||
public static OptionItem PNSDisableMushroomMixup;
|
||||
public static OptionItem PNSDisableCloseDoor;
|
||||
public static OptionItem PNSImpostorsCanVent;
|
||||
|
||||
public static bool IsLoaded = false;
|
||||
|
||||
public static void Load()
|
||||
@@ -294,72 +339,127 @@ namespace AmongUsRevamped
|
||||
if (IsLoaded) return;
|
||||
|
||||
_ = PresetOptionItem.Create(0, TabGroup.SystemSettings)
|
||||
.SetColor(new Color32(204, 204, 0, 255))
|
||||
.SetColor(Color.yellow)
|
||||
.SetHeader(true);
|
||||
|
||||
Gamemode = StringOptionItem.Create(1, Translator.Get("gamemode"), gameModes, 0, TabGroup.SystemSettings, false)
|
||||
.SetColor(Color.green)
|
||||
.SetColor(Color.yellow)
|
||||
.SetHeader(true);
|
||||
|
||||
TabGroupMain = TextOptionItem.Create(60000, Translator.Get("tabGroupMain"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.blue);
|
||||
|
||||
DeniedWordsToKick = IntegerOptionItem.Create(60049, Translator.Get("deniedWordsToKick"), new(1, 5, 1), 1, TabGroup.SystemSettings, false)
|
||||
TabGroupLevelKick = TextOptionItem.Create(60048, Translator.Get("tabGroupLevelKick"), TabGroup.ModerationSettings)
|
||||
.SetColor(Color.red);
|
||||
EnableKickLowLevelPlayer = BooleanOptionItem.Create(60049, Translator.Get("enableKickLowLevelPlayer"), false, TabGroup.ModerationSettings, false);
|
||||
KickLowLevelPlayer = IntegerOptionItem.Create(60050, Translator.Get("kickLowLevelPlayer"), new(0, 100, 1), 0, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickLowLevelPlayer)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
|
||||
KickLowLevelPlayer = IntegerOptionItem.Create(60050, Translator.Get("kickLowLevelPlayer"), new(0, 100, 1), 0, TabGroup.SystemSettings, false)
|
||||
TempBanLowLevelPlayer = BooleanOptionItem.Create(60051, Translator.Get("tempBanLowLevelPlayer"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickLowLevelPlayer);
|
||||
DontKickLevelOnes = BooleanOptionItem.Create(60052, Translator.Get("dontKickLevelOnes"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickLowLevelPlayer);
|
||||
EnableKickHighLevelPlayer = BooleanOptionItem.Create(60053, Translator.Get("enableKickHighLevelPlayer"), false, TabGroup.ModerationSettings, false);
|
||||
KickHighLevelPlayer = IntegerOptionItem.Create(60054, Translator.Get("kickHighLevelPlayer"), new(100, 5000, 50), 1000, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickHighLevelPlayer)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
TempBanLowLevelPlayer = BooleanOptionItem.Create(60051, Translator.Get("tempBanLowLevelPlayer"), false, TabGroup.SystemSettings, false)
|
||||
.SetParent(KickLowLevelPlayer);
|
||||
DontKickLevelOnes = BooleanOptionItem.Create(60052, Translator.Get("dontKickLevelOnes"), false, TabGroup.SystemSettings, false)
|
||||
.SetParent(KickLowLevelPlayer);
|
||||
TempBanHighLevelPlayer = BooleanOptionItem.Create(60055, Translator.Get("tempBanLowLevelPlayer"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickHighLevelPlayer);
|
||||
|
||||
KickInvalidFriendCodes = BooleanOptionItem.Create(60080, Translator.Get("kickInvalidFriendCodes"), true, TabGroup.SystemSettings, false);
|
||||
TempBanInvalidFriendCodes = BooleanOptionItem.Create(60081, Translator.Get("tempBanInvalidFriendCodes"), false, TabGroup.SystemSettings, false)
|
||||
TabGroupKickInvalidFriendCodes = TextOptionItem.Create(60079, Translator.Get("tabGroupKickInvalidFriendCodes"), TabGroup.ModerationSettings)
|
||||
.SetColor(Color.red);
|
||||
KickInvalidFriendCodes = BooleanOptionItem.Create(60080, Translator.Get("kickInvalidFriendCodes"), true, TabGroup.ModerationSettings, false);
|
||||
TempBanInvalidFriendCodes = BooleanOptionItem.Create(60081, Translator.Get("tempBanInvalidFriendCodes"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(KickInvalidFriendCodes);
|
||||
|
||||
AutoKickStart = BooleanOptionItem.Create(60123, Translator.Get("autoKickStart"), false, TabGroup.SystemSettings, false);
|
||||
AutoKickStartAsBan = BooleanOptionItem.Create(60124, Translator.Get("autoKickStartAsBan"), false, TabGroup.SystemSettings, false)
|
||||
TabGroupDeniedWords = TextOptionItem.Create(60082, Translator.Get("tabGroupDeniedWords"), TabGroup.ModerationSettings)
|
||||
.SetColor(Color.red);
|
||||
EnableDeniedWords = BooleanOptionItem.Create(60083, Translator.Get("enableDeniedWords"), false, TabGroup.ModerationSettings, false);
|
||||
DeniedWordsAsBan = BooleanOptionItem.Create(60084, Translator.Get("autoKickStartAsBan"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableDeniedWords);
|
||||
DeniedWordsToKick = IntegerOptionItem.Create(60085, Translator.Get("deniedWordsToKick"), new(1, 5, 1), 1, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableDeniedWords)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
DeniedWordsStrength = BooleanOptionItem.Create(60086, Translator.Get("autoKickStartStrength"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableDeniedWords);
|
||||
|
||||
TabGroupAutoKickStart = TextOptionItem.Create(600122, Translator.Get("tabGroupAutoKickStart"), TabGroup.ModerationSettings)
|
||||
.SetColor(Color.red);
|
||||
AutoKickStart = BooleanOptionItem.Create(60123, Translator.Get("autoKickStart"), false, TabGroup.ModerationSettings, false);
|
||||
AutoKickStartAsBan = BooleanOptionItem.Create(60124, Translator.Get("autoKickStartAsBan"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(AutoKickStart);
|
||||
AutoKickStartTimes = IntegerOptionItem.Create(60125, Translator.Get("autoKickStartTimes"), new(1, 10, 1), 1, TabGroup.SystemSettings, false)
|
||||
AutoKickStartTimes = IntegerOptionItem.Create(60125, Translator.Get("autoKickStartTimes"), new(1, 10, 1), 1, TabGroup.ModerationSettings, false)
|
||||
.SetParent(AutoKickStart)
|
||||
.SetValueFormat(OptionFormat.Times);
|
||||
AutoKickStartStrength = BooleanOptionItem.Create(60126, Translator.Get("autoKickStartStrength"), false, TabGroup.SystemSettings, false)
|
||||
AutoKickStartStrength = BooleanOptionItem.Create(60126, Translator.Get("autoKickStartStrength"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(AutoKickStart);
|
||||
|
||||
TabGroupAccess = TextOptionItem.Create(60127, Translator.Get("tabGroupAccess"), TabGroup.ModerationSettings)
|
||||
.SetColor(Color.red);
|
||||
SlashColorCmd = StringOptionItem.Create(60128, Translator.Get("slashColorCmd"), accessLevels, 1, TabGroup.ModerationSettings, false);
|
||||
SlashRolesAndGamemodeCmd = StringOptionItem.Create(60129, Translator.Get("slashRolesAndGamemodeCmd"), accessLevels, 1, TabGroup.ModerationSettings, false);
|
||||
SlashLastGameCmd = StringOptionItem.Create(60130, Translator.Get("slashLastGameCmd"), accessLevels, 1, TabGroup.ModerationSettings, false);
|
||||
SlashMapAndSeekerCmd = StringOptionItem.Create(60131, Translator.Get("slashMapAndSeekerCmd"), accessLevels, 1, TabGroup.ModerationSettings, false);
|
||||
SlashKickCmd = StringOptionItem.Create(60132, Translator.Get("slashKickCmd"), accessLevels, 2, TabGroup.ModerationSettings, false);
|
||||
SlashBanCmd = StringOptionItem.Create(60133, Translator.Get("slashBanCmd"), accessLevels, 2, TabGroup.ModerationSettings, false);
|
||||
SlashEndMeetingCmd = StringOptionItem.Create(60134, Translator.Get("slashEndMeetingCmd"), accessLevels, 3, TabGroup.ModerationSettings, false);
|
||||
SlashStartAndEndGameCmd = StringOptionItem.Create(60135, Translator.Get("slashStartAndEndGameCmd"), accessLevels, 3, TabGroup.ModerationSettings, false);
|
||||
|
||||
TabGroupAutomation = TextOptionItem.Create(60149, Translator.Get("tabGroupAutomation"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.yellow);
|
||||
|
||||
AutoSendGameInfo = BooleanOptionItem.Create(60150, Translator.Get("autoSendGameInfo"), true, TabGroup.SystemSettings, false);
|
||||
AutoRejoinLobby = BooleanOptionItem.Create(60210, Translator.Get("autoRejoinLobby"), false, TabGroup.SystemSettings, false);
|
||||
AutoStartTimer = IntegerOptionItem.Create(64420, Translator.Get("autoStartTimer"), new(1, 5, 1), 5, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
WaitAutoStart = IntegerOptionItem.Create(64421, Translator.Get("waitAutoStart"), new(10, 600, 10), 300, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
PlayerAutoStart = IntegerOptionItem.Create(64422, Translator.Get("playerAutoStart"), new(1, 15, 1), 1, TabGroup.SystemSettings, false);
|
||||
EnableJoinMessages = BooleanOptionItem.Create(64423, Translator.Get("enableJoinMessages"), true, TabGroup.SystemSettings, false);
|
||||
MessagePerPlayerNum = IntegerOptionItem.Create(64424, Translator.Get("messagePerPlayerNum"), new(1, 15, 1), 5, TabGroup.SystemSettings, false)
|
||||
AutoRejoinLobby = BooleanOptionItem.Create(60151, Translator.Get("autoRejoinLobby"), false, TabGroup.SystemSettings, false);
|
||||
EnableJoinMessages = BooleanOptionItem.Create(60152, Translator.Get("enableJoinMessages"), true, TabGroup.SystemSettings, false);
|
||||
MessagePerPlayerNum = IntegerOptionItem.Create(60153, Translator.Get("messagePerPlayerNum"), new(1, 15, 1), 5, TabGroup.SystemSettings, false)
|
||||
.SetParent(EnableJoinMessages);
|
||||
AutomaticMapPoll = BooleanOptionItem.Create(60154, Translator.Get("automaticMapPoll"), false, TabGroup.SystemSettings, false);
|
||||
TimeBeforeMapPoll = IntegerOptionItem.Create(60155, Translator.Get("timeBeforeMapPoll"), new(10, 300, 5), 10, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetParent(AutomaticMapPoll);
|
||||
AutomaticAllMapPoll = BooleanOptionItem.Create(60156, Translator.Get("automaticAllMapPoll"), false, TabGroup.SystemSettings, false);
|
||||
TimeBeforeAllMapPoll = IntegerOptionItem.Create(60157, Translator.Get("timeBeforeMapPoll"), new(10, 300, 5), 10, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetParent(AutomaticAllMapPoll);
|
||||
AutomaticModePoll = BooleanOptionItem.Create(60158, Translator.Get("automaticModePoll"), false, TabGroup.SystemSettings, false);
|
||||
TimeBeforeModePoll = IntegerOptionItem.Create(60159, Translator.Get("timeBeforeMapPoll"), new(10, 300, 5), 20, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetParent(AutomaticModePoll);
|
||||
|
||||
TabGroupMisc = TextOptionItem.Create(60379, Translator.Get("tabGroupMisc"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.green);
|
||||
|
||||
StartCountdown = IntegerOptionItem.Create(60380, Translator.Get("startCountdown"), new(1, 5, 1), 5, TabGroup.SystemSettings, false)
|
||||
TabGroupAutostart = TextOptionItem.Create(64425, Translator.Get("tabGroupAutostart"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.yellow);
|
||||
AutoStartTimer = IntegerOptionItem.Create(64426, Translator.Get("autoStartTimer"), new(1, 5, 1), 5, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
AllowFortegreen = BooleanOptionItem.Create(60382, Translator.Get("allowFortegreen"), false, TabGroup.SystemSettings, false);
|
||||
WaitAutoStart = IntegerOptionItem.Create(64427, Translator.Get("waitAutoStart"), new(10, 600, 10), 300, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
PlayerAutoStart = IntegerOptionItem.Create(64428, Translator.Get("playerAutoStart"), new(1, 15, 1), 1, TabGroup.SystemSettings, false);
|
||||
Rehost = BooleanOptionItem.Create(64429, Translator.Get("rehost"), false, TabGroup.SystemSettings, false);
|
||||
Public = BooleanOptionItem.Create(64430, Translator.Get("public"), false, TabGroup.SystemSettings, false)
|
||||
.SetParent(Rehost);
|
||||
|
||||
TabGroupAfk = TextOptionItem.Create(60370, Translator.Get("tabGroupAfk"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.yellow);
|
||||
EnableAfkDetection = BooleanOptionItem.Create(60371, Translator.Get("enableAfkDetection"), false, TabGroup.SystemSettings, false);
|
||||
AfkTimer = IntegerOptionItem.Create(60372, Translator.Get("afkTimer"), new(15, 120, 5), 30, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetParent(EnableAfkDetection);
|
||||
AfkPenalty = StringOptionItem.Create(60373, Translator.Get("afkPenalty"), afkPenalties, 0, TabGroup.SystemSettings, false)
|
||||
.SetParent(EnableAfkDetection);
|
||||
OnlyDetectSpawn = BooleanOptionItem.Create(60374, Translator.Get("onlyDetectSpawn"), true, TabGroup.SystemSettings, false)
|
||||
.SetParent(EnableAfkDetection);
|
||||
|
||||
TabGroupMisc = TextOptionItem.Create(60378, Translator.Get("tabGroupMisc"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.yellow);
|
||||
MapVoteDuration = IntegerOptionItem.Create(60379, Translator.Get("mapVoteDuration"), new(5, 60, 5), 20, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(Color.red);
|
||||
ModeVoteDuration = IntegerOptionItem.Create(60380, Translator.Get("modeVoteDuration"), new(5, 60, 5), 20, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(Color.red);
|
||||
StartCountdown = IntegerOptionItem.Create(60381, Translator.Get("startCountdown"), new(1, 5, 1), 5, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(Color.red);
|
||||
AllowFortegreen = BooleanOptionItem.Create(60382, Translator.Get("allowFortegreen"), false, TabGroup.SystemSettings, false)
|
||||
.SetColor(Color.red);
|
||||
NoGameEnd = BooleanOptionItem.Create(60383, Translator.Get("noGameEnd"), false, TabGroup.SystemSettings, false)
|
||||
.SetColor(Color.red);
|
||||
|
||||
TabGroupAccess = TextOptionItem.Create(60400, Translator.Get("tabGroupAccess"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.red);
|
||||
SlashColorCmd = StringOptionItem.Create(60401, Translator.Get("slashColorCmd"), accessLevels, 1, TabGroup.SystemSettings, false);
|
||||
SlashRolesAndGamemodeCmd = StringOptionItem.Create(60402, Translator.Get("slashRolesAndGamemodeCmd"), accessLevels, 1, TabGroup.SystemSettings, false);
|
||||
SlashLastGameCmd = StringOptionItem.Create(60403, Translator.Get("slashLastGameCmd"), accessLevels, 1, TabGroup.SystemSettings, false);
|
||||
SlashKickCmd = StringOptionItem.Create(60405, Translator.Get("slashKickCmd"), accessLevels, 2, TabGroup.SystemSettings, false);
|
||||
SlashBanCmd = StringOptionItem.Create(60406, Translator.Get("slashBanCmd"), accessLevels, 2, TabGroup.SystemSettings, false);
|
||||
SlashEndMeetingCmd = StringOptionItem.Create(60407, Translator.Get("slashEndMeetingCmd"), accessLevels, 3, TabGroup.SystemSettings, false);
|
||||
SlashStartAndEndGameCmd = StringOptionItem.Create(60408, Translator.Get("slashStartAndEndGameCmd"), accessLevels, 3, TabGroup.SystemSettings, false);
|
||||
|
||||
// Gamemode Settings
|
||||
|
||||
TabGroupHNS = TextOptionItem.Create(70000, Translator.Get("tabGroupHNS"), TabGroup.GamemodeSettings)
|
||||
@@ -368,47 +468,85 @@ namespace AmongUsRevamped
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
|
||||
TabGroupSNS = TextOptionItem.Create(70050, Translator.Get("tabGroupSNS"), TabGroup.GamemodeSettings)
|
||||
.SetColor(Color.yellow);
|
||||
SNSSettingsOverride = BooleanOptionItem.Create(70051, Translator.Get("snsSettingsOverride"), true, TabGroup.GamemodeSettings, false);
|
||||
SNSChatInGame = BooleanOptionItem.Create(70063, Translator.Get("snsChatInGame"), false, TabGroup.GamemodeSettings, false);
|
||||
CantKillTime = IntegerOptionItem.Create(70053, Translator.Get("cantKillTime"), new(0, 60, 5), 20, TabGroup.GamemodeSettings, false)
|
||||
.SetColor(Color.green);
|
||||
SNSChatInGame = BooleanOptionItem.Create(70051, Translator.Get("snsChatInGame"), false, TabGroup.GamemodeSettings, false);
|
||||
SNSChatInGameExtend = BooleanOptionItem.Create(70052, Translator.Get("snsChatInGameExtend"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSChatInGame);
|
||||
SNSChatInGameExtend2 = BooleanOptionItem.Create(70053, Translator.Get("snsChatInGameExtendTwo"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSChatInGame);
|
||||
SNSChatInGameFast = BooleanOptionItem.Create(70054, Translator.Get("snsChatInGameFast"), false, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSChatInGame);
|
||||
MisfiresToSuicide = IntegerOptionItem.Create(70055, Translator.Get("misfiresToSuicide"), new(1, 10, 1), 1, TabGroup.GamemodeSettings, false);
|
||||
CrewAutoWinsGameAfter = IntegerOptionItem.Create(70056, Translator.Get("crewAutoWinsGameAfter"), new(60, 600, 10), 300, TabGroup.GamemodeSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
MisfiresToSuicide = IntegerOptionItem.Create(70052, Translator.Get("misfiresToSuicide"), new(1, 10, 1), 2, TabGroup.GamemodeSettings, false);
|
||||
CrewAutoWinsGameAfter = IntegerOptionItem.Create(70054, Translator.Get("crewAutoWinsGameAfter"), new(0, 600, 10), 300, TabGroup.GamemodeSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
SNSDisableSabotage = BooleanOptionItem.Create(70055, Translator.Get("snsDisableSabotage"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableSabotage = BooleanOptionItem.Create(70057, Translator.Get("snsDisableSabotage"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetColor(Color.red);
|
||||
SNSDisableReactor = BooleanOptionItem.Create(70056, Translator.Get("snsDisableReactor"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableReactor = BooleanOptionItem.Create(70058, Translator.Get("snsDisableReactor"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
SNSDisableOxygen = BooleanOptionItem.Create(70057, Translator.Get("snsDisableOxygen"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableOxygen = BooleanOptionItem.Create(70059, Translator.Get("snsDisableOxygen"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
SNSDisableLights = BooleanOptionItem.Create(70058, Translator.Get("snsDisableLights"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableLights = BooleanOptionItem.Create(70060, Translator.Get("snsDisableLights"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
SNSDisableComms = BooleanOptionItem.Create(70059, Translator.Get("snsDisableComms"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableComms = BooleanOptionItem.Create(70061, Translator.Get("snsDisableComms"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
SNSDisableHeli = BooleanOptionItem.Create(70060, Translator.Get("snsDisableHeli"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableHeli = BooleanOptionItem.Create(70062, Translator.Get("snsDisableHeli"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
SNSDisableMushroomMixup = BooleanOptionItem.Create(70061, Translator.Get("snsDisableMushroomMixup"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableMushroomMixup = BooleanOptionItem.Create(70063, Translator.Get("snsDisableMushroomMixup"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(SNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
SNSDisableCloseDoor = BooleanOptionItem.Create(70062, Translator.Get("snsDisableCloseDoor"), true, TabGroup.GamemodeSettings, false)
|
||||
SNSDisableCloseDoor = BooleanOptionItem.Create(70064, Translator.Get("snsDisableCloseDoor"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetColor(Color.red);
|
||||
SNSImpostorsCanVent = BooleanOptionItem.Create(70065, Translator.Get("snsImpostorCanVent"), true, TabGroup.GamemodeSettings, false);
|
||||
|
||||
TabGroupSpeedrun = TextOptionItem.Create(70075, Translator.Get("tabGroupSpeedrun"), TabGroup.GamemodeSettings)
|
||||
.SetColor(Color.blue);
|
||||
SpeedrunSettingsOverride = BooleanOptionItem.Create(70076, Translator.Get("speedrunSettingsOverride"), true, TabGroup.GamemodeSettings, false);
|
||||
TabGroupSpeedrun = TextOptionItem.Create(70076, Translator.Get("tabGroupSpeedrun"), TabGroup.GamemodeSettings)
|
||||
.SetColor(Color.green);
|
||||
GameAutoEndsAfter = IntegerOptionItem.Create(70077, Translator.Get("gameAutoEndsAfter"), new(0, 600, 10), 300, TabGroup.GamemodeSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
EngineerMode = BooleanOptionItem.Create(70078, Translator.Get("engineerMode"), false, TabGroup.GamemodeSettings, false);
|
||||
|
||||
TabGroupPNS = TextOptionItem.Create(70100, Translator.Get("tabGroupPNS"), TabGroup.GamemodeSettings)
|
||||
.SetColor(Color.green);
|
||||
PNSChatInGame = BooleanOptionItem.Create(70101, Translator.Get("snsChatInGame"), false, TabGroup.GamemodeSettings, false);
|
||||
PNSChatInGameExtend = BooleanOptionItem.Create(70102, Translator.Get("snsChatInGameExtend"), false, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSChatInGame);
|
||||
PNSChatInGameFast = BooleanOptionItem.Create(70103, Translator.Get("snsChatInGameFast"), false, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSChatInGame);
|
||||
BadMoveTimeToSuicide = IntegerOptionItem.Create(70104, Translator.Get("badMoveTimeToSuicide"), new(1, 30, 1), 3, TabGroup.GamemodeSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
PNSCrewAutoWinsGameAfter = IntegerOptionItem.Create(70105, Translator.Get("crewAutoWinsGameAfter"), new(60, 600, 10), 300, TabGroup.GamemodeSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
PNSDisableSabotage = BooleanOptionItem.Create(70106, Translator.Get("pnsDisableSabotage"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetColor(Color.red);
|
||||
PNSDisableReactor = BooleanOptionItem.Create(70107, Translator.Get("snsDisableReactor"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
PNSDisableOxygen = BooleanOptionItem.Create(70108, Translator.Get("snsDisableOxygen"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
PNSDisableLights = BooleanOptionItem.Create(70109, Translator.Get("snsDisableLights"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
PNSDisableComms = BooleanOptionItem.Create(70110, Translator.Get("snsDisableComms"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
PNSDisableHeli = BooleanOptionItem.Create(70111, Translator.Get("snsDisableHeli"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
PNSDisableMushroomMixup = BooleanOptionItem.Create(70112, Translator.Get("snsDisableMushroomMixup"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetParent(PNSDisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
PNSDisableCloseDoor = BooleanOptionItem.Create(70113, Translator.Get("pnsDisableCloseDoor"), true, TabGroup.GamemodeSettings, false)
|
||||
.SetColor(Color.red);
|
||||
PNSImpostorsCanVent = BooleanOptionItem.Create(70114, Translator.Get("snsImpostorCanVent"), true, TabGroup.GamemodeSettings, false);
|
||||
|
||||
// Gameplay Settings
|
||||
TabGroupSabotages = TextOptionItem.Create(60450, Translator.Get("tabGroupSabotages"), TabGroup.ModSettings)
|
||||
.SetColor(Color.red);
|
||||
.SetColor(Color.blue);
|
||||
DeadImpostorsCanSabotage = BooleanOptionItem.Create(60455, Translator.Get("deadImpostorsCanSabotage"), true, TabGroup.ModSettings, false)
|
||||
.SetColor(Color.red);
|
||||
DisableSabotage = BooleanOptionItem.Create(60456, Translator.Get("disableSabotage"), false, TabGroup.ModSettings, false)
|
||||
@@ -431,105 +569,86 @@ namespace AmongUsRevamped
|
||||
DisableMushroomMixup = BooleanOptionItem.Create(60462, Translator.Get("disableMushroomMixup"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableSabotage)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
DisableCloseDoor = BooleanOptionItem.Create(60566, Translator.Get("disableCloseDoor"), false, TabGroup.ModSettings, false)
|
||||
DisableCloseDoor = BooleanOptionItem.Create(60463, Translator.Get("disableCloseDoor"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(Color.red);
|
||||
|
||||
TabGroupGameplayGeneral = TextOptionItem.Create(60564, Translator.Get("tabGroupGameplayGeneral"), TabGroup.ModSettings)
|
||||
.SetColor(Color.blue);
|
||||
DisableAnnoyingMeetingCalls = BooleanOptionItem.Create(60565, Translator.Get("disableAnnoyingMeetingCalls"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(new Color32(19, 188, 233, byte.MaxValue));
|
||||
ShieldFirstDeath = BooleanOptionItem.Create(60565, Translator.Get("shieldFirstDeath"), false, TabGroup.ModSettings, false);
|
||||
ShieldFirstDeathDuration = IntegerOptionItem.Create(60566, Translator.Get("shieldFirstDeathDuration"), new(10, 120, 5), 30, TabGroup.ModSettings, false)
|
||||
.SetParent(ShieldFirstDeath)
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
DisableAnnoyingMeetingCalls = BooleanOptionItem.Create(60567, Translator.Get("disableAnnoyingMeetingCalls"), false, TabGroup.ModSettings, false);
|
||||
|
||||
ChangeDecontaminationTime = BooleanOptionItem.Create(60550, Translator.Get("changeDecontaminationTime"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(new Color32(19, 188, 233, byte.MaxValue));
|
||||
ChangeDecontaminationTime = BooleanOptionItem.Create(60550, Translator.Get("changeDecontaminationTime"), false, TabGroup.ModSettings, false);
|
||||
DecontaminationTimeOnMiraHQ = FloatOptionItem.Create(60551, Translator.Get("decontaminationTimeOnMiraHQ"), new(0.5f, 10f, 0.25f), 3f, TabGroup.ModSettings, false)
|
||||
.SetParent(ChangeDecontaminationTime)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(new Color32(19, 188, 233, byte.MaxValue));
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
DecontaminationDoorOpenTimeOnMiraHQ = FloatOptionItem.Create(60552, Translator.Get("decontaminationDoorOpenTimeOnMiraHQ"), new(0.5f, 10f, 0.25f), 3f, TabGroup.ModSettings, false)
|
||||
.SetParent(ChangeDecontaminationTime)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(new Color32(19, 188, 233, byte.MaxValue));
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
DecontaminationTimeOnPolus = FloatOptionItem.Create(60553, Translator.Get("decontaminationTimeOnPolus"), new(0.5f, 10f, 0.25f), 3f, TabGroup.ModSettings, false)
|
||||
.SetParent(ChangeDecontaminationTime)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(new Color32(19, 188, 233, byte.MaxValue));
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
DecontaminationDoorOpenTimeOnPolus = FloatOptionItem.Create(60554, Translator.Get("decontaminationDoorOpenTimeOnPolus"), new(0.5f, 10f, 0.25f), 3f, TabGroup.ModSettings, false)
|
||||
.SetParent(ChangeDecontaminationTime)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(new Color32(19, 188, 233, byte.MaxValue));
|
||||
.SetValueFormat(OptionFormat.Seconds);
|
||||
|
||||
DisableSporeTrigger = BooleanOptionItem.Create(60558, Translator.Get("disableSporeTrigger"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(new Color32(19, 188, 233, byte.MaxValue));
|
||||
DisableSporeTrigger = BooleanOptionItem.Create(60558, Translator.Get("disableSporeTrigger"), false, TabGroup.ModSettings, false);
|
||||
|
||||
DisableDevices = BooleanOptionItem.Create(22900, Translator.Get("disableDevices"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(Color.red);
|
||||
DisableDevices = BooleanOptionItem.Create(22900, Translator.Get("disableDevices"), false, TabGroup.ModSettings, false);
|
||||
|
||||
DisableSkeldDevices = BooleanOptionItem.Create(22905, Translator.Get("disableSkeldDevices"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
DisableSkeldAdmin = BooleanOptionItem.Create(22906, Translator.Get("disableSkeldAdmin"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableSkeldDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableSkeldDevices);
|
||||
DisableSkeldCamera = BooleanOptionItem.Create(22907, Translator.Get("disableSkeldCamera"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableSkeldDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableSkeldDevices);
|
||||
|
||||
DisableMiraHQDevices = BooleanOptionItem.Create(22908, Translator.Get("disableMiraHQDevices"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
DisableMiraHQAdmin = BooleanOptionItem.Create(22909, Translator.Get("disableMiraHQAdmin"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableMiraHQDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableMiraHQDevices);
|
||||
DisableMiraHQDoorLog = BooleanOptionItem.Create(22910, Translator.Get("disableMiraHQDoorLog"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableMiraHQDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableMiraHQDevices);
|
||||
|
||||
DisablePolusDevices = BooleanOptionItem.Create(22911, Translator.Get("disablePolusDevices"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
DisablePolusAdmin = BooleanOptionItem.Create(22912, Translator.Get("disablePolusAdmin"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisablePolusDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisablePolusDevices);
|
||||
DisablePolusCamera = BooleanOptionItem.Create(22913, Translator.Get("disablePolusCamera"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisablePolusDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisablePolusDevices);
|
||||
DisablePolusVital = BooleanOptionItem.Create(22914, Translator.Get("disablePolusVital"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisablePolusDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisablePolusDevices);
|
||||
|
||||
DisableAirshipDevices = BooleanOptionItem.Create(22915, Translator.Get("disableAirshipDevices"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
DisableAirshipCockpitAdmin = BooleanOptionItem.Create(22916, Translator.Get("disableAirshipCockpitAdmin"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableAirshipDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableAirshipDevices);
|
||||
DisableAirshipRecordsAdmin = BooleanOptionItem.Create(22917, Translator.Get("disableAirshipRecordsAdmin"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableAirshipDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableAirshipDevices);
|
||||
DisableAirshipCamera = BooleanOptionItem.Create(22918, Translator.Get("disableAirshipCamera"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableAirshipDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableAirshipDevices);
|
||||
DisableAirshipVital = BooleanOptionItem.Create(22919, Translator.Get("disableAirshipVital"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableAirshipDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableAirshipDevices);
|
||||
|
||||
DisableFungleDevices = BooleanOptionItem.Create(22925, Translator.Get("disableFungleDevices"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
|
||||
DisableFungleVital = BooleanOptionItem.Create(22927, Translator.Get("disableFungleVital"), false, TabGroup.ModSettings, false)
|
||||
.SetParent(DisableFungleDevices)
|
||||
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
|
||||
.SetParent(DisableFungleDevices);
|
||||
|
||||
TabGroupTasks = TextOptionItem.Create(22995, Translator.Get("tabGroupTasks"), TabGroup.ModSettings)
|
||||
.SetColor(Color.yellow);
|
||||
.SetColor(Color.blue);
|
||||
TaskPercentNeededToWin = IntegerOptionItem.Create(22996, Translator.Get("taskPercentNeededToWin"), new(30, 100, 5), 100, TabGroup.ModSettings, false)
|
||||
.SetColor(new Color32(255, 255, 153, byte.MaxValue))
|
||||
.SetValueFormat(OptionFormat.Percent);
|
||||
AllPlayersSameTasks = BooleanOptionItem.Create(22998, Translator.Get("allPlayersSameTasks"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(new Color32(255, 255, 153, byte.MaxValue));
|
||||
OverrideTaskSettings = BooleanOptionItem.Create(22999, Translator.Get("overrideTaskSettings"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(new Color32(255, 255, 153, byte.MaxValue));
|
||||
AllPlayersSameTasks = BooleanOptionItem.Create(22998, Translator.Get("allPlayersSameTasks"), false, TabGroup.ModSettings, false);
|
||||
OverrideTaskSettings = BooleanOptionItem.Create(22999, Translator.Get("overrideTaskSettings"), false, TabGroup.ModSettings, false);
|
||||
|
||||
DisableMiraTasks = BooleanOptionItem.Create(23000, Translator.Get("disableMiraTasks"), false, TabGroup.ModSettings, false)
|
||||
.SetColor(new Color32(173, 216, 230, byte.MaxValue))
|
||||
|
||||
+22
-1
@@ -184,7 +184,7 @@ internal class EACR
|
||||
goto YesCheat;
|
||||
}
|
||||
|
||||
if (Utils.IsMeeting && MeetingHud.Instance.state != MeetingHud.VoteStates.Animating)
|
||||
if (Utils.IsMeeting && MeetingHud.Instance.state != MeetingHud.MeetingStates.Animating)
|
||||
{
|
||||
Logger.SendInGame($"{player.Data.PlayerName} might have called an invalid sabotage (cheating)");
|
||||
Logger.Info($" {player.Data.PlayerName} might have called an invalid sabotage (cheating)", "EACR");
|
||||
@@ -201,4 +201,25 @@ internal class EACR
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static void VentCheat(PlayerControl player, Vent __instance)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(player.Data.ClientId, true);
|
||||
Logger.SendInGame($"{player.Data.PlayerName} was banned for invalid venting (cheating)");
|
||||
Logger.Info($" {player.Data.PlayerName} was banned for invalid venting", "EACR");
|
||||
}
|
||||
|
||||
public static void PlayAnimationCheat(PlayerControl player)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(player.Data.ClientId, true);
|
||||
Logger.SendInGame($"{player.Data.PlayerName} was banned for an invalid animation (cheating)");
|
||||
Logger.Info($" {player.Data.PlayerName} was banned for an invalid animation", "EACR");
|
||||
}
|
||||
|
||||
public static void TaskCheat(PlayerControl player)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(player.Data.ClientId, true);
|
||||
Logger.SendInGame($"{player.Data.PlayerName} was banned for invalidly completing a task (cheating)");
|
||||
Logger.Info($" {player.Data.PlayerName} was banned for invalidly completing a task", "EACR");
|
||||
}
|
||||
}
|
||||
+163
-5
@@ -1,3 +1,4 @@
|
||||
using AmongUs.GameOptions;
|
||||
using Hazel;
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
@@ -9,11 +10,28 @@ namespace AmongUsRevamped;
|
||||
[HarmonyPatch(typeof(InnerNetClient), nameof(InnerNetClient.FixedUpdate))]
|
||||
public static class FixedUpdate
|
||||
{
|
||||
public static Dictionary<byte, float> BadMovementTimer = new Dictionary<byte, float>();
|
||||
public static readonly Dictionary<string, Vector2> SpawnRange = new()
|
||||
{
|
||||
["Skeld"] = new(-0.8f, 1.2f),
|
||||
["Mira"] = new(-4.4f, 2.4f),
|
||||
["MiraMeeting"] = new(23.9f, 2.6f),
|
||||
["Polus"] = new(16.6f, -1.1f),
|
||||
["PolusMeeting"] = new(19.5f, -16.9f),
|
||||
["AirshipMeeting"] = new(11f, 15.3f),
|
||||
["Fungle"] = new(-9.8f, 1.8f),
|
||||
["FungleMeetings"] = new(-3.1f, -1.3f)
|
||||
};
|
||||
|
||||
public static float Range = 4f;
|
||||
|
||||
public static Dictionary<byte, Vector2> Position = new Dictionary<byte, Vector2>();
|
||||
public static void Postfix()
|
||||
{
|
||||
if (Utils.InGame && !Utils.IsMeeting && !ExileController.Instance)
|
||||
{
|
||||
Main.GameTimer += Time.fixedDeltaTime;
|
||||
Main.AfkTimer += Time.fixedDeltaTime;
|
||||
}
|
||||
|
||||
GameObject n = GameObject.Find("NewRequestInactive");
|
||||
@@ -30,6 +48,113 @@ public static class FixedUpdate
|
||||
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
DisableDevice.FixedUpdate();
|
||||
|
||||
if (Main.AfkTimer >= Options.AfkTimer.GetInt())
|
||||
{
|
||||
Main.AfkTimer = 0;
|
||||
|
||||
if (!Options.EnableAfkDetection.GetBool()) return;
|
||||
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (p.Data == null || p == PlayerControl.LocalPlayer || p.Data.IsDead) continue;
|
||||
|
||||
Vector2 newPos = p.GetTruePosition();
|
||||
|
||||
if (Options.OnlyDetectSpawn.GetBool() && !IsSpawn(newPos))
|
||||
{
|
||||
Position[p.PlayerId] = newPos;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Position.TryGetValue(p.PlayerId, out Vector2 oldPos))
|
||||
{
|
||||
if (Vector2.Distance(oldPos, newPos) < 0.05f)
|
||||
{
|
||||
switch (Options.AfkPenalty.GetValue())
|
||||
{
|
||||
case 0:
|
||||
AmongUsClient.Instance.KickPlayer(p.Data.ClientId, false);
|
||||
Logger.Info(Translator.Get("afkKick", p.Data.PlayerName, Options.AfkTimer.GetInt()), "AfkManagement");
|
||||
Logger.SendInGame(Translator.Get("afkKick", p.Data.PlayerName, Options.AfkTimer.GetInt()));
|
||||
break;
|
||||
|
||||
case 1:
|
||||
AmongUsClient.Instance.KickPlayer(p.Data.ClientId, true);
|
||||
Logger.Info(Translator.Get("afkBan", p.Data.PlayerName, Options.AfkTimer.GetInt()), "AfkManagement");
|
||||
Logger.SendInGame(Translator.Get("afkBan", p.Data.PlayerName, Options.AfkTimer.GetInt()));
|
||||
break;
|
||||
|
||||
case 2:
|
||||
Logger.Info(Translator.Get("afkNotify", p.Data.PlayerName, Options.AfkTimer.GetInt()), "AfkManagement");
|
||||
Logger.SendInGame(Translator.Get("afkNotify", p.Data.PlayerName, Options.AfkTimer.GetInt()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Position[p.PlayerId] = p.GetTruePosition();
|
||||
}
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 3 && !Utils.isHideNSeek)
|
||||
{
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (p.Data.RoleType == RoleTypes.Phantom && !p.PhantomFadeActive && !p.Data.IsDead && p.MyPhysics.GetVelocity() != new Vector2(0, 0) && OnGameStartPatch.PastStartScreen)
|
||||
{
|
||||
if (!BadMovementTimer.ContainsKey(p.Data.PlayerId))
|
||||
{
|
||||
BadMovementTimer[p.Data.PlayerId] = 0f;
|
||||
}
|
||||
|
||||
BadMovementTimer[p.Data.PlayerId] += Time.fixedDeltaTime;
|
||||
|
||||
if (BadMovementTimer[p.Data.PlayerId] > Options.BadMoveTimeToSuicide.GetInt())
|
||||
{
|
||||
p.RpcSetRole(RoleTypes.ImpostorGhost);
|
||||
Logger.Info($" {p.Data.PlayerName} wrongfully moved for {Options.BadMoveTimeToSuicide.GetInt()}s and suicided", "SNSKillManager");
|
||||
Logger.SendInGame($" {p.Data.PlayerName} wrongfully moved for {Options.BadMoveTimeToSuicide.GetInt()}s and suicided");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek && !Utils.IsLobby)
|
||||
{
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (p.Data == null || p.Data.IsDead || p.Data.RoleType == RoleTypes.Shapeshifter) continue;
|
||||
|
||||
if (p.protectedByGuardianId == -1)
|
||||
{
|
||||
p.RpcProtectPlayer(p, p.cosmetics.ColorId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsSpawn(Vector2 pos)
|
||||
{
|
||||
switch (Utils.GetActiveMapId())
|
||||
{
|
||||
case 0:
|
||||
return Vector2.Distance(pos, SpawnRange["Skeld"]) <= Range;
|
||||
|
||||
case 1:
|
||||
return Vector2.Distance(pos, SpawnRange["Mira"]) <= Range || Vector2.Distance(pos, SpawnRange["MiraMeeting"]) <= Range;
|
||||
|
||||
case 2:
|
||||
return Vector2.Distance(pos, SpawnRange["Polus"]) <= Range || Vector2.Distance(pos, SpawnRange["PolusMeeting"]) <= Range;
|
||||
|
||||
case 4:
|
||||
return Vector2.Distance(pos, SpawnRange["AirshipMeeting"]) <= Range;
|
||||
|
||||
case 5:
|
||||
return Vector2.Distance(pos, SpawnRange["Fungle"]) <= Range || Vector2.Distance(pos, SpawnRange["FungleMeetings"]) <= Range;
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,10 +165,16 @@ class FixedUpdateInGamePatch
|
||||
private static float t;
|
||||
private static GameObject settingsLabel;
|
||||
|
||||
public static bool CanUseKillButton(PlayerControl pc)
|
||||
{
|
||||
pc.Data.Role.CanUseKillButton = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void Postfix(PlayerControl __instance)
|
||||
{
|
||||
if (__instance == null || __instance.PlayerId == 255 || !AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
|
||||
t += Time.deltaTime;
|
||||
if (t < 0.2f) return;
|
||||
t = 0f;
|
||||
@@ -72,19 +203,34 @@ class FixedUpdateInGamePatch
|
||||
|
||||
switch (gamemode)
|
||||
{
|
||||
|
||||
case 0:
|
||||
break;
|
||||
|
||||
case 1: // SnS
|
||||
if (Utils.InGame) return;
|
||||
if (Main.NormalOptions.KillCooldown != 2.5f)
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 2.5f;
|
||||
|
||||
if (Options.SNSSettingsOverride.GetBool() && settingsLabel == null)
|
||||
Main.NormalOptions.TaskBarMode = 0;
|
||||
Main.NormalOptions.roleOptions.SetRoleRate(RoleTypes.Shapeshifter, 3, 100);
|
||||
Main.NormalOptions.roleOptions.SetRoleRate(RoleTypes.Phantom, 0, 0);
|
||||
Main.NormalOptions.roleOptions.SetRoleRate(RoleTypes.Viper, 0, 0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2: // Speedrun
|
||||
break;
|
||||
|
||||
case 3: // PnS
|
||||
if (Utils.InGame) return;
|
||||
if (Main.NormalOptions.KillCooldown != 1f)
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 1f;
|
||||
Main.NormalOptions.roleOptions.SetRoleRate(RoleTypes.Shapeshifter, 0, 0);
|
||||
Main.NormalOptions.roleOptions.SetRoleRate(RoleTypes.Phantom, 3, 100);
|
||||
Main.NormalOptions.roleOptions.SetRoleRate(RoleTypes.Viper, 0, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (Utils.InGame && !Utils.IsMeeting && !ExileController.Instance)
|
||||
@@ -110,7 +256,19 @@ class FixedUpdateInGamePatch
|
||||
|
||||
Utils.CustomWinnerEndGame(PlayerControl.LocalPlayer, 0);
|
||||
Logger.Info($" No one won because the game took longer than {Options.GameAutoEndsAfter.GetInt()}s", "SpeedrunManager");
|
||||
NormalGameEndChecker.CheckWinnerText("NoOneWin");
|
||||
NormalGameEndChecker.CheckWinnerText("NoOneWinsSpeedrun");
|
||||
}
|
||||
}
|
||||
// 3 = Poof and Seek
|
||||
if (Options.Gamemode.GetValue() == 3 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (Main.GameTimer > Options.PNSCrewAutoWinsGameAfter.GetInt())
|
||||
{
|
||||
Main.GameTimer = 0f;
|
||||
|
||||
Utils.ContinueEndGame((byte)GameOverReason.CrewmatesByVote);
|
||||
Logger.Info($" Crewmates won because the game took longer than {Options.PNSCrewAutoWinsGameAfter.GetInt()}s", "PNSManager");
|
||||
NormalGameEndChecker.CheckWinnerText("PnSTimer");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,6 +214,7 @@ namespace AmongUsRevamped
|
||||
public enum TabGroup
|
||||
{
|
||||
SystemSettings,
|
||||
ModerationSettings,
|
||||
//CustomRoleSettings,
|
||||
ModSettings,
|
||||
GamemodeSettings,
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
using AmongUs.GameOptions;
|
||||
using Hazel;
|
||||
using Il2CppInterop.Runtime.InteropTypes.Arrays;
|
||||
using System;
|
||||
|
||||
namespace AmongUsRevamped;
|
||||
|
||||
public static class OptionManager
|
||||
{
|
||||
private static OptionBackupData CachedOptions;
|
||||
public static void SyncGameOptions()
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
var options = GameOptionsManager.Instance.CurrentGameOptions;
|
||||
|
||||
foreach (var component in GameManager.Instance.LogicComponents)
|
||||
{
|
||||
var logicOptions = component.TryCast<LogicOptions>();
|
||||
|
||||
if (logicOptions != null)
|
||||
{
|
||||
logicOptions.SetGameOptions(options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void CacheOptions()
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
CachedOptions = new OptionBackupData(GameOptionsManager.Instance.CurrentGameOptions);
|
||||
}
|
||||
|
||||
public static void RestoreOptions()
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost || CachedOptions == null) return;
|
||||
|
||||
var restored = CachedOptions.Restore(GameOptionsManager.Instance.CurrentGameOptions);
|
||||
|
||||
GameOptionsManager.Instance.CurrentGameOptions = restored;
|
||||
|
||||
SyncGameOptions();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using InnerNet;
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using AmongUs.GameOptions;
|
||||
|
||||
namespace AmongUsRevamped
|
||||
{
|
||||
[HarmonyPatch(typeof(InnerNetClient), nameof(InnerNetClient.DisconnectInternal))]
|
||||
public static class DisconnectManager
|
||||
{
|
||||
public static bool Rehosting;
|
||||
public static void Prefix(InnerNetClient __instance, DisconnectReasons reason, string stringReason)
|
||||
{
|
||||
Logger.Info($" Disconnected due to {reason}/{stringReason}, ping:{__instance.Ping})", "DisconnectManager");
|
||||
|
||||
if (!EOSManager.Instance.loginFlowFinished || EOSManager.Instance.authExpiredCallbackTriggered)
|
||||
{
|
||||
Logger.Info("Attempted to log in using EOS", "DisconnectManager");
|
||||
EOSManager.Instance.AdultPermissionsFlow();
|
||||
}
|
||||
|
||||
if (!Options.Rehost.GetBool() || reason == DisconnectReasons.NewConnection || reason == DisconnectReasons.ConnectionLimit || reason == DisconnectReasons.ExitGame) return;
|
||||
|
||||
_ = new LateTask(() =>
|
||||
{
|
||||
Rehosting = true;
|
||||
PSManager.Instance.CreateGame(GameModes.Normal);
|
||||
Logger.Info(Translator.Get("rehostSuccess"), "DisconnectManager");
|
||||
|
||||
}, 5f, "RehostManager");
|
||||
}
|
||||
}
|
||||
}
|
||||
+191
-2
@@ -42,6 +42,7 @@ public static class Utils
|
||||
public static bool HandlingGameEnd;
|
||||
public static byte CustomGameOverReason;
|
||||
public static bool CanCallMeetings;
|
||||
public static bool HasMurdered;
|
||||
|
||||
public static string ColorString(Color32 color, string str) => $"<#{color.r:x2}{color.g:x2}{color.b:x2}{color.a:x2}>{str}</color>";
|
||||
public static string ColorToHex(Color32 color) => $"#{color.r:x2}{color.g:x2}{color.b:x2}{color.a:x2}";
|
||||
@@ -73,6 +74,8 @@ public static class Utils
|
||||
{
|
||||
case TabGroup.SystemSettings:
|
||||
return Translator.Get("systemSettings");
|
||||
case TabGroup.ModerationSettings:
|
||||
return Translator.Get("moderationSettings");
|
||||
case TabGroup.ModSettings:
|
||||
return Translator.Get("gameplaySettings");
|
||||
case TabGroup.GamemodeSettings:
|
||||
@@ -202,11 +205,15 @@ public static class Utils
|
||||
HandlingGameEnd = false;
|
||||
OnGameJoinedPatch.AutoStartCheck = false;
|
||||
Main.GameTimer = 0f;
|
||||
Main.AfkTimer = 0f;
|
||||
FixedUpdate.Position.Clear();
|
||||
|
||||
NormalGameEndChecker.canUpdateWinnerText = true;
|
||||
MurderPlayerPatch.misfireCount.Clear();
|
||||
MurderPlayerPatch.killCount.Clear();
|
||||
HasMurdered = false;
|
||||
|
||||
LateTask.Tasks.Clear();
|
||||
LateTask.Tasks.RemoveAll(x => x.name != "RehostManager");
|
||||
NormalGameEndChecker.ImpCheckComplete = false;
|
||||
CreateOptionsPickerPatch.SetDleks2 = false;
|
||||
CanCallMeetings = true;
|
||||
@@ -224,7 +231,25 @@ public static class Utils
|
||||
PlayerControlSetRolePatch.FirstAssign = true;
|
||||
PlayerControlSetRolePatch.manualSeekers.Clear();
|
||||
|
||||
CoShowIntroPatch.IntroInitiated = false;
|
||||
OnGameStartPatch.PastStartScreen = false;
|
||||
|
||||
FixedUpdate.BadMovementTimer.Clear();
|
||||
|
||||
skeldVotes = 0;
|
||||
miraVotes = 0;
|
||||
polusVotes = 0;
|
||||
airshipVotes = 0;
|
||||
fungleVotes = 0;
|
||||
dleksVotes = 0;
|
||||
HasVoted.Clear();
|
||||
MapVoteActive = false;
|
||||
|
||||
standardVotes = 0;
|
||||
noKillCooldownVotes = 0;
|
||||
speedrunVotes = 0;
|
||||
shiftAndSeekVotes = 0;
|
||||
poofAndSeekVotes = 0;
|
||||
ModeVoteActive = false;
|
||||
}
|
||||
|
||||
public static PlayerControl[] AllAlivePlayerControls
|
||||
@@ -571,4 +596,168 @@ public static class Utils
|
||||
}
|
||||
else return $"<color=#8cffff>{p.Data.RoleType}</color>";
|
||||
}
|
||||
|
||||
public static int skeldVotes;
|
||||
public static int miraVotes;
|
||||
public static int polusVotes;
|
||||
public static int airshipVotes;
|
||||
public static int fungleVotes;
|
||||
public static int dleksVotes;
|
||||
public static bool MapVoteActive;
|
||||
public static bool DleksEnabled;
|
||||
public static readonly List<byte> HasVoted = [];
|
||||
public static void MapVote(bool dleks, bool moderator)
|
||||
{
|
||||
if (MapVoteActive || ModeVoteActive) return;
|
||||
|
||||
DleksEnabled = dleks;
|
||||
MapVoteActive = true;
|
||||
|
||||
if (dleks && moderator) Utils.ModeratorChatCommand("A map vote is active!\n\nA: Skeld\nB: Mira\nC: Polus\nD: Airship\nE: Fungle\nF: Eht Dleks\n\nType /vote 'letter' to vote.", "", false);
|
||||
else if (moderator) Utils.ModeratorChatCommand("A map vote is active!\n\nA: The Skeld\nB: Mira HQ\nC: Polus\nD: The Airship\nE: The Fungle\n\nType /vote 'letter' to vote.", "", false);
|
||||
|
||||
if (dleks && !moderator) Utils.ChatCommand(DestroyableSingleton<HudManager>.Instance.Chat, "A map vote is active!\n\nA: Skeld\nB: Mira\nC: Polus\nD: Airship\nE: Fungle\nF: Eht Dleks\n\nType /vote 'letter' to vote.", "", false);
|
||||
else if (!moderator) Utils.ChatCommand(DestroyableSingleton<HudManager>.Instance.Chat, "A map vote is active!\n\nA: The Skeld\nB: Mira HQ\nC: Polus\nD: The Airship\nE: The Fungle\n\nType /vote 'letter' to vote.", "", false);
|
||||
|
||||
new LateTask(() =>
|
||||
{
|
||||
int highest = skeldVotes;
|
||||
string winner = "Skeld";
|
||||
byte mapId = 0;
|
||||
bool tie = false;
|
||||
|
||||
void Check(int votes, string name, byte id)
|
||||
{
|
||||
if (votes > highest)
|
||||
{
|
||||
highest = votes;
|
||||
winner = name;
|
||||
mapId = id;
|
||||
tie = false;
|
||||
}
|
||||
else if (votes == highest)
|
||||
{
|
||||
tie = true;
|
||||
}
|
||||
}
|
||||
|
||||
Check(miraVotes, "Mira HQ", 1);
|
||||
Check(polusVotes, "Polus", 2);
|
||||
Check(airshipVotes, "Airship", 4);
|
||||
Check(fungleVotes, "The Fungle", 5);
|
||||
if (DleksEnabled) Check(dleksVotes, "Eht Dleks", 3);
|
||||
|
||||
string voteResults = $"Skeld: {skeldVotes}\n" + $"Mira: {miraVotes}\n" + $"Polus: {polusVotes}\n" + $"Airship: {airshipVotes}\n" + $"Fungle: {fungleVotes}";
|
||||
if (DleksEnabled) voteResults += $"\nEht Dleks: {dleksVotes}";
|
||||
|
||||
if (highest == 0)
|
||||
{
|
||||
ModeratorChatCommand("Lol, no one voted. Hooray for democracy?", "", false);
|
||||
}
|
||||
else if (tie)
|
||||
{
|
||||
ModeratorChatCommand($"Map vote tied. No new map selected.\n\n{voteResults}", "", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
ModeratorChatCommand(SendChatPatch.ConvertNum($"Winner: {winner} ({highest})\n\n{voteResults}"), "", false);
|
||||
|
||||
if (winner == "Eht Dleks")
|
||||
{
|
||||
CreateOptionsPickerPatch.ApplyDleks(Utils.isHideNSeek);
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateOptionsPickerPatch.ClearDleks();
|
||||
|
||||
if (!Utils.isHideNSeek) Main.NormalOptions.MapId = mapId;
|
||||
else Main.HideNSeekOptions.MapId = mapId;
|
||||
}
|
||||
}
|
||||
|
||||
skeldVotes = 0;
|
||||
miraVotes = 0;
|
||||
polusVotes = 0;
|
||||
airshipVotes = 0;
|
||||
fungleVotes = 0;
|
||||
dleksVotes = 0;
|
||||
HasVoted.Clear();
|
||||
|
||||
MapVoteActive = false;
|
||||
}, Options.MapVoteDuration.GetInt(), "MapPoll");
|
||||
}
|
||||
|
||||
public static int standardVotes;
|
||||
public static int noKillCooldownVotes;
|
||||
public static int speedrunVotes;
|
||||
public static int shiftAndSeekVotes;
|
||||
public static int poofAndSeekVotes;
|
||||
public static bool ModeVoteActive;
|
||||
public static readonly List<byte> HasModeVoted = [];
|
||||
public static void ModeVote(bool moderator)
|
||||
{
|
||||
if (ModeVoteActive || MapVoteActive) return;
|
||||
|
||||
ModeVoteActive = true;
|
||||
|
||||
if (moderator) Utils.ModeratorChatCommand("A Gamemode vote is active!\n\nA: None\nB: No Kill Cooldown\nC: Speedrun\nD: SnS\nE: PnS\n\nType /vote 'letter' to vote.", "", false);
|
||||
else Utils.ChatCommand(DestroyableSingleton<HudManager>.Instance.Chat, "A Gamemode vote is active!\n\nA: None\nB: No Kill Cooldown\nC: Speedrun\nD: SnS\nE: PnS\n\nType /vote 'letter' to vote.", "", false);
|
||||
|
||||
new LateTask(() =>
|
||||
{
|
||||
int highest = standardVotes;
|
||||
string winner = "None";
|
||||
byte modeId = 0;
|
||||
bool tie = false;
|
||||
|
||||
void Check(int votes, string name, byte id)
|
||||
{
|
||||
if (votes > highest)
|
||||
{
|
||||
highest = votes;
|
||||
winner = name;
|
||||
modeId = id;
|
||||
tie = false;
|
||||
}
|
||||
else if (votes == highest)
|
||||
{
|
||||
tie = true;
|
||||
}
|
||||
}
|
||||
|
||||
Check(noKillCooldownVotes, "0 Kill Cooldown", 0);
|
||||
Check(speedrunVotes, "Speedrun", 2);
|
||||
Check(shiftAndSeekVotes, "Shift and Seek", 1);
|
||||
Check(poofAndSeekVotes, "Poof and Seek", 3);
|
||||
|
||||
string voteResults = $"Standard: {standardVotes}\n" + $"No Kill Cooldown: {noKillCooldownVotes}\n" + $"Speedrun: {speedrunVotes}\n" + $"Shift and Seek: {shiftAndSeekVotes}\n" + $"Poof and Seek: {poofAndSeekVotes}";
|
||||
if (highest == 0)
|
||||
{
|
||||
ModeratorChatCommand("We have a winner! Just kidding. No one voted.", "", false);
|
||||
}
|
||||
else if (tie)
|
||||
{
|
||||
ModeratorChatCommand($"Gamemode vote tied. No new mode selected.\n\n{voteResults}", "", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
ModeratorChatCommand(SendChatPatch.ConvertNum($"Winner: {winner} ({highest})\n\n{voteResults}"), "", false);
|
||||
Options.Gamemode.SetValue(modeId);
|
||||
|
||||
if (winner == "0 Kill Cooldown")
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 0.01f;
|
||||
}
|
||||
|
||||
}
|
||||
standardVotes = 0;
|
||||
noKillCooldownVotes = 0;
|
||||
speedrunVotes = 0;
|
||||
shiftAndSeekVotes = 0;
|
||||
poofAndSeekVotes = 0;
|
||||
HasVoted.Clear();
|
||||
|
||||
ModeVoteActive = false;
|
||||
}, Options.ModeVoteDuration.GetInt(), "ModePoll");
|
||||
}
|
||||
}
|
||||
+259
-39
@@ -396,10 +396,124 @@ internal static class SendChatPatch
|
||||
|
||||
if (__instance.timeSinceLastMessage < 3f || OnGameJoinedPatch.WaitingForChat) return false;
|
||||
|
||||
if (text == "/mapvote")
|
||||
{
|
||||
if (Utils.IsLobby)
|
||||
{
|
||||
Utils.MapVote(false, false);
|
||||
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (text == "/allmapvote")
|
||||
{
|
||||
if (Utils.IsLobby)
|
||||
{
|
||||
Utils.MapVote(true, false);
|
||||
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (text == "/gmvote")
|
||||
{
|
||||
if (Utils.IsLobby)
|
||||
{
|
||||
Utils.ModeVote(false);
|
||||
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (text == "/vote a")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(PlayerControl.LocalPlayer.Data.PlayerId)) return true;
|
||||
if (Utils.MapVoteActive && !Utils.HasVoted.Contains(PlayerControl.LocalPlayer.Data.PlayerId))
|
||||
{
|
||||
Utils.skeldVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.standardVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(PlayerControl.LocalPlayer.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote b")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(PlayerControl.LocalPlayer.Data.PlayerId)) return true;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.miraVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.noKillCooldownVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(PlayerControl.LocalPlayer.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote c")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(PlayerControl.LocalPlayer.Data.PlayerId)) return true;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.polusVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.speedrunVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(PlayerControl.LocalPlayer.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote d")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(PlayerControl.LocalPlayer.Data.PlayerId)) return true;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.airshipVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.shiftAndSeekVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(PlayerControl.LocalPlayer.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote e")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(PlayerControl.LocalPlayer.Data.PlayerId)) return true;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.fungleVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.poofAndSeekVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(PlayerControl.LocalPlayer.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote f")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(PlayerControl.LocalPlayer.Data.PlayerId)) return true;
|
||||
if (Utils.MapVoteActive && Utils.DleksEnabled)
|
||||
{
|
||||
Utils.dleksVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(PlayerControl.LocalPlayer.Data.PlayerId);
|
||||
}
|
||||
|
||||
if (text == "/l" || text == "/lastgame")
|
||||
{
|
||||
if (string.IsNullOrEmpty(NormalGameEndChecker.LastWinReason) || Utils.InGame) return false;
|
||||
Utils.ChatCommand(__instance, $"{NormalGameEndChecker.LastWinReason}", "", false);
|
||||
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -417,14 +531,12 @@ internal static class SendChatPatch
|
||||
|
||||
if (text == "/sns" || text == "/shiftandseek")
|
||||
{
|
||||
if (Options.MisfiresToSuicide.GetInt() == 1 || Options.CantKillTime.GetInt() == 0)
|
||||
{
|
||||
Utils.ChatCommand(__instance, "Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", $"Crewmates win by doing tasks or surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone\n{Options.MisfiresToSuicide.GetInt()} wrong kill(s) = suicide", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.ChatCommand(__instance, "Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", ConvertNum($"Crew wins by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImp wins by killing\nOne wrong kill = Can't kill for {Options.CantKillTime.GetInt()}s\n{Options.MisfiresToSuicide.GetInt()} wrong kills = suicide"), true);
|
||||
}
|
||||
Utils.ChatCommand(__instance, "Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nMeetings & Reports = Off", $"Crewmates win by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing\nWrong kills are blocked. Kill animations are off", true);
|
||||
return false;
|
||||
}
|
||||
if (text == "/sns2" || text == "/shiftandseek2")
|
||||
{
|
||||
Utils.ChatCommand(__instance, "Correctly killing a target will directly turn them into a ghost and leave no dead body", "", false);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -434,6 +546,12 @@ internal static class SendChatPatch
|
||||
return false;
|
||||
}
|
||||
|
||||
if (text == "/pns" || text == "/poofandseek")
|
||||
{
|
||||
Utils.ChatCommand(__instance, $"Poof and Seek:\n\nImpostors can only move while vanished\n Meetings & Reports = Off\nVisibly moving {Options.BadMoveTimeToSuicide.GetInt()}s as Phantom = Suicide", $"Crewmates win by doing tasks or surviving {Options.PNSCrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone", true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (text == "/r" || text == "/roles")
|
||||
{
|
||||
switch (Options.Gamemode.GetValue())
|
||||
@@ -446,20 +564,16 @@ internal static class SendChatPatch
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (Options.MisfiresToSuicide.GetInt() == 1 || Options.CantKillTime.GetInt() == 0)
|
||||
{
|
||||
Utils.ChatCommand(__instance, "Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", $"Crewmates win by doing tasks or surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone\n{Options.MisfiresToSuicide.GetInt()} wrong kill(s) = suicide", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.ChatCommand(__instance, "Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", ConvertNum($"Crew wins by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImp wins by killing\nOne wrong kill = Can't kill for {Options.CantKillTime.GetInt()}s\n{Options.MisfiresToSuicide.GetInt()} wrong kills = suicide"), true);
|
||||
}
|
||||
Utils.ChatCommand(__instance, "Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nMeetings & Reports = Off", $"Crewmates win by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing\nWrong kills are blocked. Kill animations are off", true);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
Utils.ChatCommand(__instance, $"Speedrun:\n\nEveryone is a crewmate. The 1st player to finish tasks wins the game. Game auto ends after {Options.GameAutoEndsAfter.GetInt()}s", "", false);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
Utils.ChatCommand(__instance, $"Poof and Seek:\n\nImpostors can only move while vanished\n Meetings & Reports = Off\nVisibly moving {Options.BadMoveTimeToSuicide.GetInt()}s as Phantom = Suicide", $"Crewmates win by doing tasks or surviving {Options.PNSCrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone", true);
|
||||
break;
|
||||
}
|
||||
__instance.timeSinceLastMessage = 0.8f;
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
@@ -469,6 +583,8 @@ internal static class SendChatPatch
|
||||
|
||||
if (text.StartsWith("/t "))
|
||||
{
|
||||
BanManager.LoadTemplates();
|
||||
|
||||
string templateName = text[3..].Trim().ToLower();
|
||||
|
||||
if (BanManager.Templates.TryGetValue(templateName, out string templateMessage))
|
||||
@@ -588,7 +704,7 @@ public static class RPCHandlerPatch
|
||||
BanManager.IsStartWord(__instance, text);
|
||||
BanManager.IsWordBanned(__instance, text);
|
||||
|
||||
if (text.StartsWith("/seeker ") && Utils.CheckAccessLevel(__instance.Data.FriendCode) >= Options.SlashEndMeetingCmd.GetValue())
|
||||
if (text.StartsWith("/seeker ") && Utils.CheckAccessLevel(__instance.Data.FriendCode) >= Options.SlashMapAndSeekerCmd.GetValue())
|
||||
{
|
||||
if (!Utils.IsLobby || !Utils.isHideNSeek)
|
||||
{
|
||||
@@ -627,8 +743,9 @@ public static class RPCHandlerPatch
|
||||
}
|
||||
}
|
||||
|
||||
if (text == "/clearseeker" && Utils.CheckAccessLevel(__instance.Data.FriendCode) >= Options.SlashEndMeetingCmd.GetValue())
|
||||
if (text == "/clearseeker")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashMapAndSeekerCmd.GetValue()) return;
|
||||
PlayerControlSetRolePatch.manualSeekers.Clear();
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, Translator.Get("clearedSeekers"));
|
||||
}
|
||||
@@ -697,8 +814,6 @@ public static class RPCHandlerPatch
|
||||
}
|
||||
}
|
||||
|
||||
if (OnGameJoinedPatch.WaitingForChat || GameStartManagerUpdatePatch.CountingDown) return;
|
||||
|
||||
if (text == "/eg" || text == "/endgame")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashStartAndEndGameCmd.GetValue()) return;
|
||||
@@ -722,6 +837,110 @@ public static class RPCHandlerPatch
|
||||
GameStartManager.Instance.BeginGame();
|
||||
}
|
||||
|
||||
if (OnGameJoinedPatch.WaitingForChat || GameStartManagerUpdatePatch.CountingDown) return;
|
||||
|
||||
if (text == "/mapvote")
|
||||
{
|
||||
if (Utils.IsLobby)
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashMapAndSeekerCmd.GetValue()) return;
|
||||
Utils.MapVote(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (text == "/allmapvote")
|
||||
{
|
||||
if (Utils.IsLobby)
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashMapAndSeekerCmd.GetValue()) return;
|
||||
Utils.MapVote(true, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (text == "/gmvote")
|
||||
{
|
||||
if (Utils.IsLobby)
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashMapAndSeekerCmd.GetValue()) return;
|
||||
Utils.ModeVote(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (text == "/vote a")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(__instance.Data.PlayerId)) return;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.skeldVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.standardVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(__instance.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote b")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(__instance.Data.PlayerId)) return;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.miraVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.noKillCooldownVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(__instance.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote c")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(__instance.Data.PlayerId)) return;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.polusVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.speedrunVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(__instance.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote d")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(__instance.Data.PlayerId)) return;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.airshipVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.shiftAndSeekVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(__instance.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote e")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(__instance.Data.PlayerId)) return;
|
||||
if (Utils.MapVoteActive)
|
||||
{
|
||||
Utils.fungleVotes++;
|
||||
}
|
||||
if (Utils.ModeVoteActive)
|
||||
{
|
||||
Utils.poofAndSeekVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(__instance.Data.PlayerId);
|
||||
}
|
||||
if (text == "/vote f")
|
||||
{
|
||||
if (Utils.HasVoted.Contains(__instance.Data.PlayerId)) return;
|
||||
if (Utils.MapVoteActive && Utils.DleksEnabled)
|
||||
{
|
||||
Utils.dleksVotes++;
|
||||
}
|
||||
Utils.HasVoted.Add(__instance.Data.PlayerId);
|
||||
}
|
||||
|
||||
if (text == "/l" || text == "/lastgame")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashLastGameCmd.GetValue()) return;
|
||||
@@ -732,7 +951,7 @@ public static class RPCHandlerPatch
|
||||
if (text == "/aur" || text == "/socials")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashLastGameCmd.GetValue()) return;
|
||||
Utils.ModeratorChatCommand("AUR socials:\n\ng i t h u b . c o m /\nApeMV/AmongUsRevamped\n\nd i s c o r d . g g /\n83Zhzhyhya", "", false);
|
||||
Utils.ModeratorChatCommand("AUR socials:\n\ng i t h u b . c o m /\nApeMV/AmongUsRevamped\n\nd i s c о r d . g g /\n83Zhzhyhya", "", false);
|
||||
}
|
||||
|
||||
if (text == "/0kc" || text == "/0killcooldown")
|
||||
@@ -743,16 +962,12 @@ public static class RPCHandlerPatch
|
||||
if (text == "/sns" || text == "/shiftandseek")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashRolesAndGamemodeCmd.GetValue()) return;
|
||||
|
||||
if (Options.MisfiresToSuicide.GetInt() == 1 || Options.CantKillTime.GetInt() == 0)
|
||||
{
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", $"Crewmates win by doing tasks or surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone\n{Options.MisfiresToSuicide.GetInt()} wrong kill(s) = suicide", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", SendChatPatch.ConvertNum($"Crew wins by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImp wins by killing\nOne wrong kill = Can't kill for {Options.CantKillTime.GetInt()}s\n{Options.MisfiresToSuicide.GetInt()} wrong kills = suicide"), true);
|
||||
}
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nMeetings & Reports = Off", $"Crewmates win by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing\nWrong kills are blocked. Kill animations are off", true);
|
||||
}
|
||||
if (text == "/sns2" || text == "/shiftandseek2")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashRolesAndGamemodeCmd.GetValue()) return;
|
||||
Utils.ModeratorChatCommand("Correctly killing a target will directly turn them into a ghost and leave no dead body", "", false);
|
||||
}
|
||||
|
||||
if (text == "/sr" || text == "/speedrun")
|
||||
@@ -761,6 +976,12 @@ public static class RPCHandlerPatch
|
||||
Utils.ModeratorChatCommand($"Speedrun:\n\nEveryone is a crewmate. The 1st player to finish tasks wins the game. Game auto ends after {Options.GameAutoEndsAfter.GetInt()}s", "", false);
|
||||
}
|
||||
|
||||
if (text == "/pns" || text == "/poofandseek")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashRolesAndGamemodeCmd.GetValue()) return;
|
||||
Utils.ModeratorChatCommand($"Poof and Seek:\n\nImpostors can only move while vanished\n Meetings & Reports = Off\nVisibly moving {Options.BadMoveTimeToSuicide.GetInt()}s as Phantom = Suicide", $"Crewmates win by doing tasks or surviving {Options.PNSCrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone", true);
|
||||
}
|
||||
|
||||
if (text == "/r" || text == "/roles")
|
||||
{
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashRolesAndGamemodeCmd.GetValue()) return;
|
||||
@@ -774,20 +995,17 @@ public static class RPCHandlerPatch
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (Options.MisfiresToSuicide.GetInt() == 1 || Options.CantKillTime.GetInt() == 0)
|
||||
{
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", $"Crewmates win by doing tasks or surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone\n{Options.MisfiresToSuicide.GetInt()} wrong kill(s) = suicide", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", SendChatPatch.ConvertNum($"Crew wins by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImp wins by killing\nOne wrong kill = Can't kill for {Options.CantKillTime.GetInt()}s\n{Options.MisfiresToSuicide.GetInt()} wrong kills = suicide"), true);
|
||||
}
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nMeetings & Reports = Off", $"Crewmates win by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing\nWrong kills are blocked. Kill animations are off", true);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
Utils.ModeratorChatCommand($"Speedrun:\n\nEveryone is a crewmate. The 1st player to finish tasks wins the game. Game auto ends after {Options.GameAutoEndsAfter.GetInt()}s", "", false);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
Utils.ModeratorChatCommand($"Poof and Seek:\n\nImpostors can only move while vanished\n Meetings & Reports = Off\nVisibly moving {Options.BadMoveTimeToSuicide.GetInt()}s as Phantom = Suicide", $"Crewmates win by doing tasks or surviving {Options.PNSCrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone", true);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -795,6 +1013,8 @@ public static class RPCHandlerPatch
|
||||
|
||||
if (text.StartsWith("/t "))
|
||||
{
|
||||
BanManager.LoadTemplates();
|
||||
|
||||
string templateName = text[3..].Trim().ToLower();
|
||||
|
||||
if (BanManager.Templates.TryGetValue(templateName, out string templateMessage))
|
||||
|
||||
@@ -28,8 +28,7 @@ namespace AmongUsRevamped
|
||||
|
||||
static void GMButtonToggle()
|
||||
{
|
||||
if (Main.GM.Value)
|
||||
HudManager.Instance.ShowPopUp(Translator.Get("gameMasterWarning"));
|
||||
if (Main.GM.Value && Utils.IsLobby) HudManager.Instance.ShowPopUp(Translator.Get("gameMasterWarning"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+16
-1
@@ -25,7 +25,22 @@ class CreateOptionsPickerPatch
|
||||
isSkeldFlipped = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void ApplyDleks(bool hideNSeek)
|
||||
{
|
||||
SetDleks = true;
|
||||
FlippedSkeld = true;
|
||||
|
||||
if (!Utils.isHideNSeek) Main.NormalOptions.MapId = 0;
|
||||
else Main.HideNSeekOptions.MapId = 0;
|
||||
}
|
||||
|
||||
public static void ClearDleks()
|
||||
{
|
||||
SetDleks = false;
|
||||
FlippedSkeld = false;
|
||||
}
|
||||
|
||||
private static MapSelectButton DleksButton;
|
||||
[HarmonyPatch]
|
||||
public static class GameOptionsMapPickerPatch
|
||||
|
||||
@@ -12,7 +12,9 @@ public static class EndGameManagerPatch
|
||||
{
|
||||
Logger.Info(" -------- GAME ENDED --------", "EndGame");
|
||||
Utils.ClearLeftoverData();
|
||||
|
||||
|
||||
//OptionManager.RestoreOptions();
|
||||
|
||||
EndGameNavigation navigation = __instance.Navigation;
|
||||
if (!AmongUsClient.Instance.AmHost || __instance == null || navigation == null || !Options.AutoRejoinLobby.GetBool()) return;
|
||||
navigation.NextGame();
|
||||
@@ -25,10 +27,11 @@ class NormalGameEndChecker
|
||||
public static bool ImpCheckComplete;
|
||||
public static string LastWinReason = "";
|
||||
public static List<PlayerControl> imps = new List<PlayerControl>();
|
||||
public static string firstDeath;
|
||||
public static string firstDeathString => firstDeath != null ? $"\n\nFirst death: {firstDeath}" : "";
|
||||
|
||||
public static bool Prefix()
|
||||
{
|
||||
|
||||
if (Options.NoGameEnd.GetBool() || Options.Gamemode.GetValue() == 2 || Utils.HandlingGameEnd) return false;
|
||||
|
||||
var allPlayers = PlayerControl.AllPlayerControls.ToArray();
|
||||
@@ -53,7 +56,14 @@ class NormalGameEndChecker
|
||||
|
||||
if (Winner == "SnSTimer")
|
||||
{
|
||||
LastWinReason = $"Crewmates Win! (Survived {Options.CrewAutoWinsGameAfter.GetInt()}s)\n\n Impostors: " + impostorList;
|
||||
LastWinReason = $"Crewmates Win! (Survived {Options.CrewAutoWinsGameAfter.GetInt()}s)\n\n Impostors: " + impostorList + firstDeathString;
|
||||
canUpdateWinnerText = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Winner == "PnSTimer")
|
||||
{
|
||||
LastWinReason = $"Crewmates Win! (Survived {Options.CrewAutoWinsGameAfter.GetInt()}s)\n\n Impostors: " + impostorList + firstDeathString;
|
||||
canUpdateWinnerText = false;
|
||||
return;
|
||||
}
|
||||
@@ -65,24 +75,24 @@ class NormalGameEndChecker
|
||||
return;
|
||||
}
|
||||
|
||||
if (Utils.AliveImpostors == 0 || Winner == "Crewmate")
|
||||
if ((Options.Gamemode.GetValue() != 2 && Utils.AliveImpostors == 0) || Winner == "Crewmate")
|
||||
{
|
||||
LastWinReason = "Crewmates Win!\n\nImpostors: " + impostorList;
|
||||
LastWinReason = "Crewmates Win!\n\nImpostors: " + impostorList + firstDeathString;
|
||||
canUpdateWinnerText = false;
|
||||
}
|
||||
else if (Utils.AliveImpostors >= Utils.AliveCrewmates || Winner == "Impostor")
|
||||
else if ((Options.Gamemode.GetValue() != 2 && Utils.AliveImpostors >= Utils.AliveCrewmates) || Winner == "Impostor")
|
||||
{
|
||||
LastWinReason = "Impostors Win!\n\nImpostors: " + impostorList;
|
||||
LastWinReason = "Impostors Win!\n\nImpostors: " + impostorList + firstDeathString;
|
||||
canUpdateWinnerText = false;
|
||||
}
|
||||
else if (GameData.Instance != null && GameData.Instance.TotalTasks > 0 && GameData.Instance.CompletedTasks >= GameData.Instance.TotalTasks || Winner == "CrewmateTasks")
|
||||
{
|
||||
LastWinReason = $"Crewmates Win! ({Options.TaskPercentNeededToWin.GetInt()}% tasks completed)\n\nImpostors: " + impostorList;
|
||||
LastWinReason = $"Crewmates Win! ({Options.TaskPercentNeededToWin.GetInt()}% tasks completed)\n\nImpostors: " + impostorList + firstDeathString;
|
||||
canUpdateWinnerText = false;
|
||||
}
|
||||
else if (Options.Gamemode.GetValue() < 1 || Winner == "ImpostorSabotage")
|
||||
{
|
||||
LastWinReason = "Impostors Win! (Sabotage)\n\n Impostors: " + impostorList;
|
||||
LastWinReason = "Impostors Win! (Sabotage)\n\n Impostors: " + impostorList + firstDeathString;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using AmongUs.GameOptions;
|
||||
using System.Reflection;
|
||||
using Il2CppInterop.Runtime.InteropTypes;
|
||||
|
||||
|
||||
@@ -115,6 +115,9 @@ namespace AmongUsRevamped
|
||||
case TabGroup.SystemSettings:
|
||||
__instance.MenuDescriptionText.text = Translator.Get("systemSettingsDesc");
|
||||
break;
|
||||
case TabGroup.ModerationSettings:
|
||||
__instance.MenuDescriptionText.text = Translator.Get("moderationSettingsDesc");
|
||||
break;
|
||||
case TabGroup.ModSettings:
|
||||
__instance.MenuDescriptionText.text = Translator.Get("gameplaySettingsDesc");
|
||||
break;
|
||||
|
||||
+92
-4
@@ -9,17 +9,39 @@ namespace AmongUsRevamped;
|
||||
[HarmonyPatch(typeof(HudManager), nameof(HudManager.CoShowIntro))]
|
||||
internal static class CoShowIntroPatch
|
||||
{
|
||||
public static bool IntroInitiated;
|
||||
public static void Postfix(IntroCutscene __instance)
|
||||
{
|
||||
Logger.Info(" Intro initiated", "CoShowIntro");
|
||||
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
IntroInitiated = true;
|
||||
|
||||
//OptionManager.CacheOptions();
|
||||
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
p.protectedByGuardianId = -1;
|
||||
|
||||
if (NormalGameEndChecker.firstDeath != null && NormalGameEndChecker.firstDeath == p.Data.PlayerName && Options.ShieldFirstDeath.GetBool() && Options.Gamemode.GetValue() != 1)
|
||||
{
|
||||
if (Main.NormalOptions.roleOptions.TryGetRoleOptions<GuardianAngelRoleOptionsV11>(RoleTypes.GuardianAngel, out var GuardianAngelOptions))
|
||||
{
|
||||
var oldGA = GuardianAngelOptions.ImpostorsCanSeeProtect;
|
||||
var oldGAProt = GuardianAngelOptions.ProtectionDurationSeconds;
|
||||
GuardianAngelOptions.ProtectionDurationSeconds = Options.ShieldFirstDeathDuration.GetFloat();
|
||||
GuardianAngelOptions.ImpostorsCanSeeProtect = true;
|
||||
|
||||
_ = new LateTask(() =>
|
||||
{ GuardianAngelOptions.ImpostorsCanSeeProtect = oldGA;
|
||||
GuardianAngelOptions.ProtectionDurationSeconds = oldGAProt + 6;
|
||||
OptionManager.SyncGameOptions();
|
||||
}, Options.ShieldFirstDeathDuration.GetFloat(), "RevertGAProtTime");
|
||||
}
|
||||
|
||||
OptionManager.SyncGameOptions();
|
||||
p.RpcProtectPlayer(p, p.cosmetics.ColorId);
|
||||
Logger.Info($" {p.Data.PlayerName} has been granted a shield for {Options.ShieldFirstDeathDuration.GetInt()}s", "RoleInfo");
|
||||
}
|
||||
|
||||
p.cosmetics.nameText.text = p.Data.PlayerName;
|
||||
|
||||
MurderPlayerPatch.killCount[p.PlayerId] = 0;
|
||||
@@ -36,8 +58,74 @@ internal static class CoShowIntroPatch
|
||||
_ = new LateTask(() =>
|
||||
{
|
||||
Utils.CanCallMeetings = true;
|
||||
}, 33f, "MeetingEnabled");
|
||||
}, 34f, "MeetingEnabled");
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (Main.NormalOptions.roleOptions.TryGetRoleOptions<GuardianAngelRoleOptionsV11>(RoleTypes.GuardianAngel, out var GuardianAngelOptions))
|
||||
{
|
||||
GuardianAngelOptions.ProtectionDurationSeconds = 10f;
|
||||
}
|
||||
OptionManager.SyncGameOptions();
|
||||
|
||||
if (Options.SNSChatInGameExtend.GetBool())
|
||||
{
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nMeetings & Reports = Off", $"Crewmates win by tasks/surviving {Options.CrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing\nWrong kills are blocked. Kill animations are off", true);
|
||||
}
|
||||
if (Options.SNSChatInGameExtend2.GetBool())
|
||||
{
|
||||
_ = new LateTask(() =>
|
||||
{
|
||||
Utils.ChatCommand(DestroyableSingleton<HudManager>.Instance.Chat, "Correctly killing a target will directly turn them into a ghost and leave no dead body", "", false);
|
||||
}, 6.6f, "SNSChatInGameExtend2");
|
||||
}
|
||||
}
|
||||
|
||||
if ((GameOptionsManager.Instance.CurrentGameOptions.GetFloat(FloatOptionNames.KillCooldown) == 0.01f))
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 8f;
|
||||
OptionManager.SyncGameOptions();
|
||||
|
||||
_ = new LateTask(() =>
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 0.01f;
|
||||
OptionManager.SyncGameOptions();
|
||||
}, 13f, "NoKcdEnabled");
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 3 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (Options.PNSChatInGame.GetBool())
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 8f;
|
||||
OptionManager.SyncGameOptions();
|
||||
|
||||
_ = new LateTask(() =>
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 0.01f;
|
||||
OptionManager.SyncGameOptions();
|
||||
}, 18f, "NoKcdEnabled");
|
||||
}
|
||||
else
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 8f;
|
||||
OptionManager.SyncGameOptions();
|
||||
|
||||
_ = new LateTask(() =>
|
||||
{
|
||||
Main.NormalOptions.KillCooldown = 0.01f;
|
||||
OptionManager.SyncGameOptions();
|
||||
}, 13f, "NoKcdEnabled");
|
||||
}
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 3 && Options.PNSChatInGameExtend.GetBool() && !Utils.isHideNSeek)
|
||||
{
|
||||
Utils.ModeratorChatCommand($"Poof and Seek:\n\nImpostors can only move while vanished\n Meetings & Reports = Off\nVisibly moving {Options.BadMoveTimeToSuicide.GetInt()}s as Phantom = Suicide", $"Crewmates win by doing tasks or surviving {Options.PNSCrewAutoWinsGameAfter.GetInt()}s\nImpostors win by killing everyone", true);
|
||||
}
|
||||
|
||||
NormalGameEndChecker.firstDeath = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,34 @@ internal static class OnGameJoinedPatch
|
||||
WaitingForChat = false;
|
||||
}, 5.2f, "AutoSendGameInfo2");
|
||||
}
|
||||
|
||||
if (Options.AutomaticMapPoll.GetBool())
|
||||
{
|
||||
new LateTask(() =>
|
||||
{
|
||||
Utils.MapVote(false, true);
|
||||
}, Options.TimeBeforeMapPoll.GetInt(), "AutoMapPoll");
|
||||
}
|
||||
if (Options.AutomaticAllMapPoll.GetBool())
|
||||
{
|
||||
new LateTask(() =>
|
||||
{
|
||||
Utils.MapVote(true, true);
|
||||
}, Options.TimeBeforeAllMapPoll.GetInt(), "AutoMapPoll");
|
||||
}
|
||||
if (Options.AutomaticModePoll.GetBool())
|
||||
{
|
||||
new LateTask(() =>
|
||||
{
|
||||
Utils.ModeVote(true);
|
||||
}, Options.TimeBeforeModePoll.GetInt(), "AutoModePoll");
|
||||
}
|
||||
|
||||
if (Options.Public.GetBool() && DisconnectManager.Rehosting)
|
||||
{
|
||||
AmongUsClient.Instance.ChangeGamePublic(true);
|
||||
DisconnectManager.Rehosting = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +121,6 @@ class OnPlayerJoinedPatch
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!BanManager.TempBanWhiteList.Contains(Client.GetHashedPuid())) BanManager.TempBanWhiteList.Add(Client.GetHashedPuid());
|
||||
AmongUsClient.Instance.KickPlayer(Client.Id, true);
|
||||
Logger.Info(Translator.Get("invalidFriendCodeBan", Client.PlayerName), "BanInvalidFriendCode");
|
||||
Logger.SendInGame(Translator.Get("invalidFriendCodeBan", Client.PlayerName));
|
||||
@@ -103,6 +130,8 @@ class OnPlayerJoinedPatch
|
||||
if (Options.EnableJoinMessages.GetBool())
|
||||
{
|
||||
JoinNum++;
|
||||
|
||||
BanManager.LoadTemplates();
|
||||
BanManager.Templates.TryGetValue("welcome", out string msg);
|
||||
|
||||
if (JoinNum >= Options.MessagePerPlayerNum.GetInt())
|
||||
@@ -134,7 +163,7 @@ public static class SetLevelPatch
|
||||
public static List<PlayerControl> HandledLevelKicks = [];
|
||||
public static void Prefix(PlayerControl __instance, uint level)
|
||||
{
|
||||
if (AmongUsClient.Instance.AmHost && level < Options.KickLowLevelPlayer.GetInt() - 1 && __instance.Data.ClientId != AmongUsClient.Instance.HostId)
|
||||
if (AmongUsClient.Instance.AmHost && level < Options.KickLowLevelPlayer.GetInt() - 1 && __instance.Data.ClientId != AmongUsClient.Instance.HostId && Options.EnableKickLowLevelPlayer.GetBool())
|
||||
{
|
||||
if (level == 0 && Options.DontKickLevelOnes.GetBool()) return;
|
||||
if (HandledLevelKicks.Contains(__instance)) return;
|
||||
@@ -152,7 +181,26 @@ public static class SetLevelPatch
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} (level {level + 1}) was banned for being under level {Options.KickLowLevelPlayer.GetInt()}");
|
||||
}
|
||||
HandledLevelKicks.Add(__instance);
|
||||
}
|
||||
}
|
||||
|
||||
if (AmongUsClient.Instance.AmHost && level > Options.KickHighLevelPlayer.GetInt() - 1 && __instance.Data.ClientId != AmongUsClient.Instance.HostId && Options.EnableKickHighLevelPlayer.GetBool())
|
||||
{
|
||||
if (HandledLevelKicks.Contains(__instance)) return;
|
||||
|
||||
if (!Options.TempBanHighLevelPlayer.GetBool() && Utils.CheckAccessLevel(__instance.Data.FriendCode) < 1)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(__instance.Data.ClientId, false);
|
||||
Logger.Info($" {__instance.Data.PlayerName} (level {level + 1}) was kicked for being above level {Options.KickHighLevelPlayer.GetInt()}", "KickHighLevelPlayer");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} (level {level + 1}) was kicked for being above level {Options.KickHighLevelPlayer.GetInt()}");
|
||||
}
|
||||
else if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < 1)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(__instance.Data.ClientId, true);
|
||||
Logger.Info($" {__instance.Data.PlayerName} (level {level + 1}) was banned for being above level {Options.KickHighLevelPlayer.GetInt()} ", "BanHighLevelPlayer");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} (level {level + 1}) was banned for being above level {Options.KickHighLevelPlayer.GetInt()}");
|
||||
}
|
||||
HandledLevelKicks.Add(__instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,6 +211,42 @@ public static class ShowLobbyTimer_GameStartManager_Start_Postfix
|
||||
{
|
||||
if (__instance == null || !GameData.Instance || !AmongUsClient.Instance || AmongUsClient.Instance.NetworkMode == NetworkModes.LocalGame || !AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
// Toes who nose
|
||||
//Main.NormalOptions.MaxPlayers = 100;
|
||||
//OptionManager.SyncGameOptions();
|
||||
HudManager.Instance.ShowLobbyTimer(600);
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(GameData), nameof(GameData.ShowNotification))]
|
||||
public static class ShowNotificationPatch
|
||||
{
|
||||
static bool Prefix(string playerName, DisconnectReasons reason)
|
||||
{
|
||||
switch (reason)
|
||||
{
|
||||
case DisconnectReasons.ExitGame:
|
||||
Logger.Info($" {playerName} left the game. ({reason})", "ShowNotificationPatch");
|
||||
Logger.SendInGame($" {playerName} left the game. ({reason})");
|
||||
return false;
|
||||
|
||||
case DisconnectReasons.Sanctions:
|
||||
case DisconnectReasons.Hacking:
|
||||
case DisconnectReasons.Banned:
|
||||
Logger.Info($" {playerName} was banned from the game. ({reason})", "ShowNotificationPatch");
|
||||
Logger.SendInGame($" {playerName} was banned from the game. ({reason})");
|
||||
return false;
|
||||
|
||||
case DisconnectReasons.DuplicateConnectionDetected:
|
||||
case DisconnectReasons.ClientTimeout:
|
||||
case DisconnectReasons.Kicked:
|
||||
Logger.Info($" {playerName} was kicked from the game. ({reason})", "ShowNotificationPatch");
|
||||
Logger.SendInGame($" {playerName} was kicked from the game. ({reason})");
|
||||
return false;
|
||||
|
||||
default:
|
||||
Logger.Info($" {playerName} disconnected from the game. ({reason})", "ShowNotificationPatch");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -70,7 +70,7 @@ class MeetingHudStartPatch
|
||||
PlayerControl player = null;
|
||||
foreach (var pc in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (pc.PlayerId == playerState.TargetPlayerId)
|
||||
if (pc.PlayerId == playerState.PlayerId)
|
||||
{
|
||||
player = pc;
|
||||
break;
|
||||
@@ -89,7 +89,7 @@ class MeetingHudStartPatch
|
||||
taskTextMeeting.text = taskText;
|
||||
taskTextMeeting.gameObject.name = "TaskTextMeeting";
|
||||
taskTextMeeting.enableWordWrapping = false;
|
||||
taskTextMeeting.enabled = player.AmOwner || player.PlayerId == playerState.TargetPlayerId;
|
||||
taskTextMeeting.enabled = player.AmOwner || player.PlayerId == playerState.PlayerId;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -126,6 +126,11 @@ public static class NumberOption_Initialize
|
||||
__instance.Increment = 0.05f;
|
||||
break;
|
||||
|
||||
case StringNames.JudgeTaskRequirement:
|
||||
__instance.Increment = 1f;
|
||||
__instance.ValidRange = new FloatRange(0f, 100f);
|
||||
break;
|
||||
|
||||
default:
|
||||
__instance.Increment = 1f;
|
||||
break;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using AmongUs.GameOptions;
|
||||
using BepInEx.Unity.IL2CPP.Utils.Collections;
|
||||
using System;
|
||||
using InnerNet;
|
||||
using UnityEngine;
|
||||
@@ -43,7 +44,7 @@ class PlayerControlSetRolePatch
|
||||
|
||||
if (!ProcessedPlayers.Add(__instance.PlayerId)) return true;
|
||||
|
||||
canOverrideRole = false;
|
||||
// canOverrideRole = false;
|
||||
|
||||
if (Utils.isHideNSeek && Seekers.Count() == 0 && Options.NumSeekers.GetInt() > 0)
|
||||
{
|
||||
@@ -83,7 +84,7 @@ class PlayerControlSetRolePatch
|
||||
foreach (var p in candidates)
|
||||
{
|
||||
if (Seekers.Count >= seekersCount) break;
|
||||
|
||||
|
||||
Seekers.Add(p.PlayerId);
|
||||
}
|
||||
}
|
||||
@@ -110,7 +111,7 @@ class PlayerControlSetRolePatch
|
||||
Seekers.Clear();
|
||||
ProcessedPlayers.Clear();
|
||||
|
||||
Logger.Info("PCSRP successful", "RoleManaging");
|
||||
Logger.Info(" PCSRP successful", "RoleManaging");
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -120,15 +121,22 @@ class PlayerControlSetRolePatch
|
||||
[HarmonyPatch(typeof(HudManager), nameof(HudManager.OnGameStart))]
|
||||
internal static class OnGameStartPatch
|
||||
{
|
||||
public static bool PastStartScreen;
|
||||
public static void Postfix()
|
||||
{
|
||||
if (AmongUsClient.Instance.AmHost && Options.Gamemode.GetValue() == 1 && Options.SNSChatInGame.GetBool())
|
||||
if (AmongUsClient.Instance.AmHost && Options.Gamemode.GetValue() == 1 && Options.SNSChatInGame.GetBool() && !Utils.isHideNSeek)
|
||||
{
|
||||
PlayerControl.LocalPlayer.CmdReportDeadBody(null);
|
||||
if (MeetingHud.Instance != null) MeetingHud.Instance.RpcClose();
|
||||
}
|
||||
|
||||
if (Main.GM.Value)
|
||||
if (AmongUsClient.Instance.AmHost && Options.Gamemode.GetValue() == 3 && Options.PNSChatInGame.GetBool() && !Utils.isHideNSeek)
|
||||
{
|
||||
PlayerControl.LocalPlayer.CmdReportDeadBody(null);
|
||||
if (MeetingHud.Instance != null) MeetingHud.Instance.RpcClose();
|
||||
}
|
||||
|
||||
if (AmongUsClient.Instance.AmHost && Main.GM.Value)
|
||||
{
|
||||
Logger.Info($" Game Master Successful", "StartGame");
|
||||
PlayerControl.LocalPlayer.Exiled();
|
||||
@@ -139,5 +147,124 @@ internal static class OnGameStartPatch
|
||||
{
|
||||
Utils.StoredRoleText[p.PlayerId] = Utils.GetRoleText(p);
|
||||
}
|
||||
|
||||
PastStartScreen = true;
|
||||
}
|
||||
|
||||
// All Patches below are for the speeded up Chat In Game.
|
||||
// We force the complete intro to skip using 2 patches.
|
||||
// Some PlayerData related things return null when you do this, so we have to set those all as well.
|
||||
[HarmonyPatch(typeof(ShhhBehaviour), nameof(ShhhBehaviour.PlayAnimation))]
|
||||
public static class ShhhBehaviourPlayAnimationPatch
|
||||
{
|
||||
static bool Prefix()
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return true;
|
||||
|
||||
if ((Options.SNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 1) || (Options.PNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 3))
|
||||
{
|
||||
HudManager.Instance.shhhEmblem.gameObject.SetActive(false);
|
||||
return false;
|
||||
}
|
||||
else return true;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(IntroCutscene), nameof(IntroCutscene.CoBegin))]
|
||||
public static class IntroCutsceneCoBeginPatch
|
||||
{
|
||||
public static void Postfix(IntroCutscene __instance, ref Il2CppSystem.Collections.IEnumerator __result)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
if ((Options.SNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 1) || (Options.PNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 3))
|
||||
{
|
||||
__result = SkipIntro(__instance, __result).WrapToIl2Cpp();
|
||||
}
|
||||
}
|
||||
|
||||
private static System.Collections.IEnumerator SkipIntro(IntroCutscene i, Il2CppSystem.Collections.IEnumerator k)
|
||||
{
|
||||
int steps = 0;
|
||||
|
||||
while (k.MoveNext() && steps++ < 1024) {}
|
||||
|
||||
if (steps >= 1024)
|
||||
{
|
||||
if (i != null && i.gameObject != null) i.gameObject.SetActive(false);
|
||||
}
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
|
||||
private static NamePlateViewData meetingNameplate;
|
||||
[HarmonyPatch(typeof(CosmeticsCache), nameof(CosmeticsCache.GetNameplate))]
|
||||
public static class CosmeticsCacheGetNameplatePatch
|
||||
{
|
||||
public static bool Prefix(ref NamePlateViewData __result)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return true;
|
||||
|
||||
if ((Options.SNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 1) || (Options.PNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 3))
|
||||
{
|
||||
if (MeetingHud.Instance == null) return true;
|
||||
|
||||
if (meetingNameplate == null)
|
||||
{
|
||||
meetingNameplate = ScriptableObject.CreateInstance<NamePlateViewData>();
|
||||
meetingNameplate.Image = null;
|
||||
}
|
||||
|
||||
__result = meetingNameplate;
|
||||
return false;
|
||||
}
|
||||
else return true;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(CosmeticsCache), nameof(CosmeticsCache.Destroy))]
|
||||
public static class CosmeticsCacheDestroyPatch
|
||||
{
|
||||
public static void Postfix()
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
if ((Options.SNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 1) || (Options.PNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 3))
|
||||
{
|
||||
if (meetingNameplate != null) Object.Destroy(meetingNameplate);
|
||||
meetingNameplate = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(ShapeshifterPanel), nameof(ShapeshifterPanel.SetPlayer))]
|
||||
public static class ShapeshifterPanelSetPlayerPatch
|
||||
{
|
||||
public static bool Prefix(ShapeshifterPanel __instance, int index, NetworkedPlayerInfo playerInfo, Il2CppSystem.Action onShift)
|
||||
{
|
||||
if (__instance == null || playerInfo == null || !AmongUsClient.Instance.AmHost) return true;
|
||||
|
||||
if ((Options.SNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 1) || (Options.PNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 3))
|
||||
{
|
||||
__instance.shapeshift = onShift;
|
||||
__instance.PlayerIcon.SetFlipX(false);
|
||||
__instance.PlayerIcon.ToggleName(false);
|
||||
|
||||
SpriteRenderer[] componentsInChildren = __instance.GetComponentsInChildren<SpriteRenderer>();
|
||||
foreach (var spriteRenderer in componentsInChildren)
|
||||
{
|
||||
spriteRenderer.material.SetInt(PlayerMaterial.MaskLayer, index + 2);
|
||||
}
|
||||
|
||||
__instance.PlayerIcon.SetMaskLayer(index + 2);
|
||||
__instance.PlayerIcon.UpdateFromEitherPlayerDataOrCache(playerInfo, PlayerOutfitType.Default, PlayerMaterial.MaskType.ComplexUI, false, null);
|
||||
|
||||
__instance.NameText.text = playerInfo.PlayerName;
|
||||
__instance.LevelNumberText.text = ProgressionManager.FormatVisualLevel(playerInfo.PlayerLevel);
|
||||
|
||||
return false;
|
||||
}
|
||||
else return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
+113
-48
@@ -25,7 +25,7 @@ class ReportDeadBodyPatch
|
||||
|
||||
// target == null means meeting
|
||||
|
||||
if (Options.Gamemode.GetValue() == 1 || Options.Gamemode.GetValue() == 2)
|
||||
if (Options.Gamemode.GetValue() == 1 || Options.Gamemode.GetValue() == 2 || Options.Gamemode.GetValue() == 3)
|
||||
{
|
||||
if (target != null)
|
||||
{
|
||||
@@ -49,9 +49,9 @@ internal static class MurderPlayerPatch
|
||||
public static readonly Dictionary<byte, int> misfireCount = new();
|
||||
public static readonly Dictionary<byte, int> killCount = new();
|
||||
|
||||
public static void Postfix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target, [HarmonyArgument(1)] MurderResultFlags resultFlags, ref bool __state)
|
||||
public static void Prefix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target, [HarmonyArgument(1)] MurderResultFlags resultFlags, ref bool __state)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost || !resultFlags.HasFlag(MurderResultFlags.Succeeded)) return;
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
byte playerId = __instance.Data.PlayerId;
|
||||
|
||||
@@ -60,74 +60,65 @@ internal static class MurderPlayerPatch
|
||||
killCount[playerId] = 0;
|
||||
}
|
||||
|
||||
if (!__instance.isNew)
|
||||
if (resultFlags.HasFlag(MurderResultFlags.Succeeded))
|
||||
{
|
||||
killCount[playerId]++;
|
||||
Logger.Info($" {__instance.Data.PlayerName} killed {target.Data.PlayerName}", "MurderPlayer");
|
||||
|
||||
if ((target == PlayerControl.LocalPlayer || PlayerControl.LocalPlayer.Data.IsDead) && !Main.DisableInfoWhenDead.Value)
|
||||
if (string.IsNullOrEmpty(NormalGameEndChecker.firstDeath))
|
||||
{
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
NormalGameEndChecker.firstDeath = target.Data.PlayerName;
|
||||
Utils.HasMurdered = true;
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (target.Data.PlayerId == __instance.shapeshiftTargetPlayerId) return;
|
||||
Logger.Info($" {__instance.Data.PlayerName} directly killed {target.Data.PlayerName} in SnS, forcing suicide. (Are they hacking?)", "MurderPlayer");
|
||||
__instance.RpcSetRole(RoleTypes.ImpostorGhost);
|
||||
}
|
||||
}
|
||||
|
||||
if ((target == PlayerControl.LocalPlayer || PlayerControl.LocalPlayer.Data.IsDead) && !Main.DisableInfoWhenDead.Value && resultFlags.HasFlag(MurderResultFlags.Succeeded))
|
||||
{
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (p.Data.Role.IsImpostor)
|
||||
{
|
||||
if (p.Data.Role.IsImpostor)
|
||||
{
|
||||
p.cosmetics.nameText.text = $"{p.Data.PlayerName}<color=red><size=90%>({killCount[p.Data.PlayerId]}†)</color> - {Utils.StoredRoleText[p.PlayerId]}";
|
||||
}
|
||||
else
|
||||
{
|
||||
p.cosmetics.nameText.text = $"{p.Data.PlayerName}<color=green><size=90%>({PlayerControlCompleteTaskPatch.playerTasksCompleted[p.PlayerId]}/{PlayerControlCompleteTaskPatch.tasksPerPlayer[p.PlayerId]})</color> - {Utils.StoredRoleText[p.PlayerId]}";
|
||||
}
|
||||
p.cosmetics.nameText.text = $"{p.Data.PlayerName}<color=red><size=90%>({killCount[p.Data.PlayerId]}†)</color> - {Utils.StoredRoleText[p.PlayerId]}";
|
||||
}
|
||||
else
|
||||
{
|
||||
p.cosmetics.nameText.text = $"{p.Data.PlayerName}<color=green><size=90%>({PlayerControlCompleteTaskPatch.playerTasksCompleted[p.PlayerId]}/{PlayerControlCompleteTaskPatch.tasksPerPlayer[p.PlayerId]})</color> - {Utils.StoredRoleText[p.PlayerId]}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//2 = Shift and Seek
|
||||
//1 = Shift and Seek
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (!resultFlags.HasFlag(MurderResultFlags.Succeeded))
|
||||
return;
|
||||
|
||||
if (target.Data.PlayerId == __instance.shapeshiftTargetPlayerId)
|
||||
{
|
||||
killCount[playerId]++;
|
||||
Logger.Info($" {__instance.Data.PlayerName} correctly killed {target.Data.PlayerName} ", "SNSKillManager");
|
||||
target.RpcSetRole(RoleTypes.CrewmateGhost);
|
||||
if (string.IsNullOrEmpty(NormalGameEndChecker.firstDeath))
|
||||
{
|
||||
NormalGameEndChecker.firstDeath = target.Data.PlayerName;
|
||||
Utils.HasMurdered = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!misfireCount.ContainsKey(playerId))
|
||||
misfireCount[playerId] = 0;
|
||||
|
||||
misfireCount[playerId]++;
|
||||
|
||||
if (misfireCount[__instance.Data.PlayerId] < Options.MisfiresToSuicide.GetFloat())
|
||||
{
|
||||
__instance.RpcSetRole(RoleTypes.Crewmate);
|
||||
__instance.isNew = true;
|
||||
Logger.Info($" {__instance.Data.PlayerName} killed {target.Data.PlayerName} incorrectly and can't kill for {Options.CantKillTime.GetInt()}s", "SNSKillManager");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} killed {target.Data.PlayerName} incorrectly and can't kill for {Options.CantKillTime.GetInt()}s");
|
||||
|
||||
new LateTask(() =>
|
||||
{
|
||||
__instance.isNew = false;
|
||||
if (!__instance.Data.IsDead && __instance != null) {__instance.RpcSetRole(RoleTypes.Shapeshifter, false);}
|
||||
}, Options.CantKillTime.GetInt(), "SNSResetRole");
|
||||
}
|
||||
|
||||
if (misfireCount[__instance.Data.PlayerId] >= Options.MisfiresToSuicide.GetFloat())
|
||||
{
|
||||
__instance.RpcSetRole(RoleTypes.ImpostorGhost);
|
||||
Logger.Info($" {__instance.Data.PlayerName} misfired {misfireCount[playerId]} time(s) and suicided", "SNSKillManager");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} misfired {misfireCount[playerId]} time(s) and suicided");
|
||||
}
|
||||
|
||||
Logger.Info($" {__instance.Data.PlayerName} misfired trying to kill {target.Data.PlayerName}. Blocking kill", "SNSKillManager");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
[HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.CheckShapeshift))]
|
||||
internal static class CheckShapeshiftPatch
|
||||
{
|
||||
|
||||
public static bool Prefix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return true;
|
||||
@@ -142,6 +133,7 @@ internal static class CheckShapeshiftPatch
|
||||
else return true;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.CompleteTask))]
|
||||
class PlayerControlCompleteTaskPatch
|
||||
@@ -156,7 +148,7 @@ class PlayerControlCompleteTaskPatch
|
||||
public static void Postfix(PlayerControl __instance, uint idx)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
|
||||
@@ -167,8 +159,21 @@ class PlayerControlCompleteTaskPatch
|
||||
tasksPerPlayer[p.PlayerId] = p.Data.Tasks.Count;
|
||||
}
|
||||
|
||||
if (__instance.Data.RoleType == RoleTypes.Impostor ||
|
||||
__instance.Data.RoleType == RoleTypes.Shapeshifter ||
|
||||
__instance.Data.RoleType == RoleTypes.Phantom ||
|
||||
__instance.Data.RoleType == RoleTypes.Viper)
|
||||
{
|
||||
EACR.TaskCheat(__instance);
|
||||
}
|
||||
|
||||
playerTasksCompleted[__instance.PlayerId]++;
|
||||
|
||||
if (playerTasksCompleted[__instance.PlayerId] > __instance.Data.Tasks.Count)
|
||||
{
|
||||
EACR.TaskCheat(__instance);
|
||||
}
|
||||
|
||||
Logger.Info($" {__instance.Data.PlayerName} completed {idx}", "TaskPatch");
|
||||
|
||||
if (Options.Gamemode.GetValue() != 2) CalculateTaskWin();
|
||||
@@ -192,7 +197,7 @@ class PlayerControlCompleteTaskPatch
|
||||
|
||||
public static void CalculateTaskWin()
|
||||
{
|
||||
if (!Utils.GamePastRoleSelection || Utils.isHideNSeek || Options.NoGameEnd.GetBool() || !CoShowIntroPatch.IntroInitiated) return;
|
||||
if (!Utils.GamePastRoleSelection || Utils.isHideNSeek || Options.NoGameEnd.GetBool() || !OnGameStartPatch.PastStartScreen) return;
|
||||
|
||||
//Logger.Info($" Checking if {GameData.Instance.CompletedTasks} - {ignoredCompletedTasks} >= ({GameData.Instance.TotalTasks} - {ignoredTasks}) * 0.01 * {Options.TaskPercentNeededToWin.GetInt()}", "TaskPatch");
|
||||
|
||||
@@ -215,3 +220,63 @@ public static class PlayerControlCheckSporeTriggerPatch
|
||||
else return true;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.PlayAnimation))]
|
||||
public static class PlayAnimationPatch
|
||||
{
|
||||
public static void Prefix(PlayerControl __instance, byte animType)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost || __instance == PlayerControl.LocalPlayer) return;
|
||||
|
||||
var task = (TaskTypes)animType;
|
||||
|
||||
switch (task)
|
||||
{
|
||||
case TaskTypes.PrimeShields:
|
||||
case TaskTypes.ClearAsteroids:
|
||||
case TaskTypes.EmptyGarbage:
|
||||
if (__instance.Data.RoleType == RoleTypes.Impostor ||
|
||||
__instance.Data.RoleType == RoleTypes.Shapeshifter ||
|
||||
__instance.Data.RoleType == RoleTypes.Phantom ||
|
||||
__instance.Data.RoleType == RoleTypes.Viper)
|
||||
{
|
||||
EACR.PlayAnimationCheat(__instance);
|
||||
return;
|
||||
}
|
||||
if (!GameManager.Instance.LogicOptions.GetVisualTasks())
|
||||
{
|
||||
{
|
||||
EACR.PlayAnimationCheat(__instance);
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.SetScanner))]
|
||||
public static class SetScannerPatch
|
||||
{
|
||||
public static void Prefix(PlayerControl __instance)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost || __instance == PlayerControl.LocalPlayer) return;
|
||||
|
||||
if (__instance.Data.RoleType == RoleTypes.Impostor ||
|
||||
__instance.Data.RoleType == RoleTypes.Shapeshifter ||
|
||||
__instance.Data.RoleType == RoleTypes.Phantom ||
|
||||
__instance.Data.RoleType == RoleTypes.Viper)
|
||||
{
|
||||
EACR.PlayAnimationCheat(__instance);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!GameManager.Instance.LogicOptions.GetVisualTasks() && __instance != PlayerControl.LocalPlayer)
|
||||
{
|
||||
{
|
||||
EACR.PlayAnimationCheat(__instance);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,6 +51,23 @@ public static class SabotageSystemTypeRepairDamagePatch
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 3)
|
||||
{
|
||||
if (Sabo == SystemTypes.LifeSupp && Options.PNSDisableOxygen.GetBool() ||
|
||||
Sabo == SystemTypes.Reactor && Options.PNSDisableReactor.GetBool() ||
|
||||
Sabo == SystemTypes.Electrical && Options.PNSDisableLights.GetBool() ||
|
||||
Sabo == SystemTypes.Comms && Options.PNSDisableComms.GetBool() ||
|
||||
Sabo == SystemTypes.HeliSabotage && Options.PNSDisableHeli.GetBool() ||
|
||||
Sabo == SystemTypes.MushroomMixupSabotage && Options.PNSDisableMushroomMixup.GetBool() ||
|
||||
Sabo == SystemTypes.Laboratory && Options.PNSDisableReactor.GetBool() && msgReader != null ||
|
||||
player.Data.IsDead && !Options.DeadImpostorsCanSabotage.GetBool())
|
||||
{
|
||||
Logger.Info($" Sabotage {Sabo} by: {player.Data.PlayerName} was blocked", "SnSSabotageCheck");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else return true;
|
||||
}
|
||||
}
|
||||
@@ -64,7 +81,7 @@ class ShipStatusCloseDoorsPatch
|
||||
|
||||
Logger.Info($" Trying to close the door in: {room}", "DoorCheck");
|
||||
|
||||
if ((Options.DisableCloseDoor.GetBool() && Options.Gamemode.GetValue() == 0) || (Options.Gamemode.GetValue() == 1 && Options.SNSDisableCloseDoor.GetBool()))
|
||||
if ((Options.DisableCloseDoor.GetBool() && Options.Gamemode.GetValue() == 0) || (Options.Gamemode.GetValue() == 1 && Options.SNSDisableCloseDoor.GetBool()) || (Options.Gamemode.GetValue() == 3 && Options.PNSDisableCloseDoor.GetBool()))
|
||||
{
|
||||
Logger.Info($" Door sabotage in: {room} was blocked", "DoorCheck");
|
||||
return false;
|
||||
|
||||
+26
-9
@@ -1,20 +1,37 @@
|
||||
namespace AmongUsRevamped;
|
||||
using AmongUs.GameOptions;
|
||||
|
||||
//Old Patch for Mayor
|
||||
namespace AmongUsRevamped;
|
||||
|
||||
/*
|
||||
[HarmonyPatch(typeof(Vent), nameof(Vent.EnterVent))]
|
||||
class EnterVentPatch
|
||||
{
|
||||
public static void Postfix(Vent __instance, [HarmonyArgument(0)] PlayerControl pc)
|
||||
{
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
if (!AmongUsClient.Instance.AmHost || pc == null || __instance == null || pc.Data == null) return;
|
||||
|
||||
if (CustomRoleManagement.PlayerRoles.TryGetValue(pc.PlayerId, out var role) && role == "Mayor")
|
||||
if (pc.Data.RoleType != RoleTypes.Impostor &&
|
||||
pc.Data.RoleType != RoleTypes.Shapeshifter &&
|
||||
pc.Data.RoleType != RoleTypes.Phantom &&
|
||||
pc.Data.RoleType != RoleTypes.Viper &&
|
||||
pc.Data.RoleType != RoleTypes.Engineer &&
|
||||
!pc.Data.IsDead)
|
||||
{
|
||||
pc.CmdReportDeadBody(null);
|
||||
Logger.Info($" The Mayor, {pc.Data.PlayerName}, called a meeting by venting", "EnterVent");
|
||||
EACR.VentCheat(pc, __instance);
|
||||
}
|
||||
|
||||
if (__instance.Id > 15)
|
||||
{
|
||||
EACR.VentCheat(pc, __instance);
|
||||
}
|
||||
|
||||
if ((Options.Gamemode.GetValue() == 1 && !Options.SNSImpostorsCanVent.GetBool()) || (Options.Gamemode.GetValue() == 3 && !Options.PNSImpostorsCanVent.GetBool()))
|
||||
{
|
||||
if (pc.Data.RoleType == RoleTypes.Impostor || pc.Data.RoleType == RoleTypes.Shapeshifter || pc.Data.RoleType == RoleTypes.Phantom || pc.Data.RoleType == RoleTypes.Viper)
|
||||
{
|
||||
pc.MyPhysics.RpcBootFromVent(__instance.Id);
|
||||
Logger.SendInGame($"{pc.Data.PlayerName} tried to vent as Impostor, but got blocked");
|
||||
Logger.Info($" {pc.Data.PlayerName} tried to vent as Impostor, but got blocked", "VentManager");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
@@ -19,8 +19,8 @@ internal static class AddVotePatch
|
||||
{
|
||||
Logger.Info($" Kicked {target.Data.PlayerName}, {target.Data.FriendCode}", "KickPatch");
|
||||
}
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,14 @@
|
||||
<a href="https://github.com/apemv/AmongUsRevamped/releases/latest" target="_blank"><img src="https://img.shields.io/badge/Latest Version%20-%231DA1F2.svg?&style=for-the-badge&logo=github&logoColor=white&color=181717"/></a>
|
||||
</center>
|
||||
|
||||
<a href="../../releases">
|
||||
<img src="https://img.shields.io/github/downloads/ApeMV/AmongUsRevamped/total?style=for-the-badge&color=red">
|
||||
</a>
|
||||
|
||||
<a href="../../releases/latest">
|
||||
<img src="https://img.shields.io/github/downloads/ApeMV/AmongUsRevamped/latest/total?style=for-the-badge">
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
@@ -29,31 +37,32 @@
|
||||
<img src="https://github.com/astra1dev/AUnlocker/assets/90265231/14226f03-a003-4efc-b27b-6df53fb394d6" width=410 height=240>****
|
||||
|
||||
|
||||
# 🎮 Features (v1.9.1):
|
||||
# 🎮 Features (v2.0.1):
|
||||
|
||||
## <b>♠️ Client Side settings:</b>
|
||||
- Game Master (Spectator)
|
||||
- Show FPS
|
||||
- Dark Theme
|
||||
- Toggle Game Master (Spectator)
|
||||
- Toggle Show FPS
|
||||
- Toggle Dark Theme
|
||||
- Toggle Lobby Music
|
||||
- Show/Hide Info When Dead
|
||||
- Toggle Info When Dead
|
||||
- Toggle Command Helper
|
||||
## <b>⚙️ Technical settings:</b>
|
||||
- Kick/Ban players under a certain level
|
||||
- Kick/Ban invalid FriendCodes
|
||||
- Advanced AFK Detection system
|
||||
- Kick/Ban players under/above a certain level
|
||||
- Kick/Ban invalid (Empty) Friendcodes
|
||||
- Kick/Ban players who say "start"
|
||||
- Denyword system
|
||||
- Banlist system
|
||||
- Denyname system
|
||||
- Multi layer moderator system
|
||||
- To add Admins, Moderators and VIP's, type the user's Friendcode in the designated files located in AUR-DATA
|
||||
- Denyword and Denyname system
|
||||
- Advanced Moderator system
|
||||
- To add Admins/Moderators/VIP's, type the user's Friendcode in the designated files located in AUR-DATA
|
||||
- Enable No Game End
|
||||
- Custom starting countdown
|
||||
## <b>♻️ Automation settings:</b>
|
||||
- Automatically start game
|
||||
- Full Autohost and Rehost support
|
||||
- Automatically rejoin lobby
|
||||
- Automatically send winner info
|
||||
- Enable (configurable) Welcome Messages
|
||||
- The Welcome Template is in Templates.txt
|
||||
- Automatically Send Map Votes
|
||||
- Enable (configurable) Welcome Messages from Templates.txt
|
||||
## <b>🔧 Gameplay Settings:</b>
|
||||
- Dead impostors can sabotage
|
||||
- Disable critical sabotages (invividual)
|
||||
@@ -65,28 +74,35 @@
|
||||
- % Tasks completed for Crewmates to win
|
||||
- Enable/Disable any task
|
||||
- All players have same tasks
|
||||
- Shield player who died first
|
||||
- Hide and Seek: Custom Seeker count
|
||||
## <b>🏆 Custom Gamemodes:</b>
|
||||
- 0 Kill Cooldown -> Set Kill Cooldown to 0.01
|
||||
- Shift and Seek
|
||||
- Poof and Seek
|
||||
- Speedrun
|
||||
## <b>👾 Custom Anticheat:</b>
|
||||
- Detect invalid sabotages
|
||||
- Detect malformed RPC's
|
||||
- Detect invalid venting
|
||||
- Detect Invalid animations
|
||||
- Detect Invalid task completions
|
||||
- Detect immortality cheats
|
||||
- Block attempted votekicks
|
||||
- These are all enabled by default
|
||||
## <b>❓ Other Improvements:</b>
|
||||
- Among Us Revamped supports other languages
|
||||
- Lanuage support: English, Italian, Japanese, Russian, Simplified Chinese, Spanish
|
||||
- Select a language in Language/YourLanguage.txt
|
||||
- Preset system for mod settings
|
||||
- Command Helper
|
||||
- Creatable and customizable Templates
|
||||
- Eht Dleks (Reverse Skeld) Map
|
||||
- Ability to cancel starting countdown
|
||||
- Improved main menu
|
||||
- Faster startup time
|
||||
- Custom anticheat system
|
||||
- Zoom out in lobby or when dead
|
||||
- See player kill/task count and Role when dead
|
||||
- Higher and more accurate Option ranges
|
||||
- Always visible lobby timer
|
||||
- Access experimental animation test scene
|
||||
- Manually set multiple Seekers in HnS
|
||||
- <b>🎉 And this all works in public lobbies!</b>
|
||||
|
||||
### Hotkeys
|
||||
@@ -123,6 +139,9 @@
|
||||
| /seeker {name} | Manually adds someone as Seeker in HnS |
|
||||
| /seekers | Shows manual Seeker list in HnS |
|
||||
| /clearseekers | Clears manual Seeker list in HnS |
|
||||
| /mapvote | Starts a vote for the map. Default maps only |
|
||||
| /allmapvote | Starts a vote for the map. Includes Eht Dleks |
|
||||
| /gmvote | Starts a vote for the gamemode |
|
||||
|
||||
|
||||
**Credit to these mods and their developers for their code:**
|
||||
|
||||
@@ -19,38 +19,56 @@
|
||||
"language": "Language (Requires Restart)",
|
||||
"gamemode": "Gamemode",
|
||||
"tabGroupMain": "Moderation",
|
||||
"tabGroupLevelKick": "Level Moderation",
|
||||
"enableKickLowLevelPlayer": "Kick Low Level Players",
|
||||
"kickLowLevelPlayer": "Kick Players Under Level",
|
||||
"tempBanLowLevelPlayer": "Ban Instead Of Kick",
|
||||
"enableKickHighLevelPlayer": "Kick High Level Players",
|
||||
"kickHighLevelPlayer": "Kick Players Above Level",
|
||||
"dontKickLevelOnes": "Don't Kick Lv.1 Players For Glitched Lobbies",
|
||||
"tabGroupKickInvalidFriendCodes": "Invalid Friendcodes",
|
||||
"kickInvalidFriendCodes": "Kick Invalid (Empty) Friendcodes",
|
||||
"tempBanInvalidFriendCodes": "Ban Instead Of Kick",
|
||||
"deniedWordsToKick": "Sent Denied Words To Kick Player",
|
||||
"moderatorCanUseCommand": "Moderators can use commands",
|
||||
"tabGroupAutoKickStart": "Start Words",
|
||||
"autoKickStart": "Kick Players Who Say Start",
|
||||
"autoKickStartAsBan": "Ban Instead Of Kick",
|
||||
"autoKickStartTimes": "Start messages needed to kick",
|
||||
"autoKickStartTimes": "Sent Start Words To Kick Player",
|
||||
"autoKickStartStrength": "Strict detection mode",
|
||||
|
||||
"tabGroupAutomation": "Automation",
|
||||
"autoSendGameInfo": "Automatically send winner info",
|
||||
"autoRejoinLobby": "Auto Rejoin Lobby",
|
||||
|
||||
"tabGroupAutostart": "Autohost",
|
||||
"autoStartTimer": "Countdown For Auto Start",
|
||||
"waitAutoStart": "Auto Start After",
|
||||
"playerAutoStart": "Players Needed To Auto Start",
|
||||
"rehost": "Automatically Recreate Lobby On Disconnect",
|
||||
"public": "Automatically Publicize New Lobby",
|
||||
"enableJoinMessages": "Enable Welcome Messages",
|
||||
"messagePerPlayerNum": "Message Per Amount Of Joins",
|
||||
"tabGroupMisc": "Miscelleneous",
|
||||
|
||||
"tabGroupMisc": "Experimental",
|
||||
"startCountdown": "Default Starting Countdown",
|
||||
"colorCommandLevel": "Who Can use Color Commands",
|
||||
"allowFortegreen": "Allow Fortegreen Color",
|
||||
"noGameEnd": "No Game End",
|
||||
"mapVoteDuration": "Map Vote Duration",
|
||||
"modeVoteDuration": "Gamemode Vote Duration",
|
||||
|
||||
"tabGroupDeniedWords": "Denied Words",
|
||||
"enableDeniedWords": "Kick Players Who Say Denied Words",
|
||||
|
||||
"tabGroupAccess": "Access Levels",
|
||||
"slashColorCmd": "Who Can Use /color",
|
||||
"slashRolesAndGamemodeCmd": "Who Can Use /r & Templates",
|
||||
"slashLastGameCmd": "Who Can Use /l & /aur",
|
||||
"slashMapAndSeekerCmd": "Who Can Use /seeker & Create Votes",
|
||||
"slashKickCmd": "Who Can Use /kick & /ckick",
|
||||
"slashBanCmd": "Who Can Use /ban & /cban",
|
||||
"slashEndMeetingCmd": "Who Can Use /endmeeting & /seeker",
|
||||
"slashEndMeetingCmd": "Who Can Use /endmeeting",
|
||||
"slashStartAndEndGameCmd": "Who Can Use /startgame & /endgame",
|
||||
|
||||
"tabGroupCrewmate": "Crewmate Roles",
|
||||
@@ -65,6 +83,9 @@
|
||||
"noKcdSettingsOverride": "Auto Update Settings",
|
||||
"tabGroupSNS": "Shift and Seek",
|
||||
"snsChatInGame": "Chat during gameplay (experimental)",
|
||||
"snsChatInGameExtend": "Send gamemode info after game start",
|
||||
"snsChatInGameExtendTwo": "Send extended info after game start",
|
||||
"snsChatInGameFast": "Faster Meeting (experimental+)",
|
||||
"snsSettingsOverride": "Auto Update Settings",
|
||||
"cantKillTime": "After Misfiring, Can't kill for",
|
||||
"misfiresToSuicide": "Suicide After Amount Of Misfires",
|
||||
@@ -94,6 +115,8 @@
|
||||
"disableCloseDoor": "Disable Door Sabotages",
|
||||
|
||||
"tabGroupGameplayGeneral": "General",
|
||||
"shieldFirstDeath": "Shield Player Who Died First",
|
||||
"shieldFirstDeathDuration": "Shield Duration",
|
||||
"disableAnnoyingMeetingCalls": "Disable Meeting Calls First 30s",
|
||||
"disableReport": "Disable Body Reports",
|
||||
"changeDecontaminationTime": "Override Decontamination Time (Standard Only)",
|
||||
@@ -216,7 +239,7 @@
|
||||
"disableSubmitScan": "Disable Submit Scan",
|
||||
"disableUploadData": "Disable Upload Data",
|
||||
|
||||
"allCommandsFull": "<b>ALL COMMANDS:</b>\n\n<b>/help</b>\nShow this message.\n<b>/aur, /socials</b>\nSend Among Us Revamped social links.\n\n<b>/r, /gm</b>\nSend current mode description.\n<b>/l, /lastgame</b>\nSend last winner info.\n\n<b>/0kc, /0killcooldown</b>\nSend 0 Kill Cooldown mode description.\n<b>/sns, /shiftandseek</b>\nSend Shift and Seek mode description.\n<b>/sp, /speedrun</b>\nSend Speedrun mode description.\n\n/<b>kick, /ban</b>\nKick or ban a player by name.\n<b>/ckick, /cban</b>\nKick or ban a player by color.\n\n<b>/vip /moderator /admin</b>\nAdd a player as VIP, Moderator, or Admin.\n<b>/removevip, /removemoderator, /removeadmin</b>\nRemove VIP, Moderator, or Admin from a player.\n\n<b>/eg, /endgame</b>\nEnd the current game.\n<b>/em, /endmeeting</b>\nEnd the current meeting.\n<b>/s, /start</b>\nBegin the game starting countdown.\n\n<b>/t {template}</b>\nSend a template from AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nSet your color, can be used to bypass limits.",
|
||||
"allCommandsFull": "<b>ALL COMMANDS:</b>\n\n<b>/help</b>\nShow this message.\n<b>/aur, /socials</b>\nSend Among Us Revamped social links.\n\n<b>/r, /gm</b>\nSend current mode description.\n<b>/l, /lastgame</b>\nSend last winner info.\n\n<b>/0kc, /0killcooldown</b>\nSend 0 Kill Cooldown mode description.\n<b>/sns, /shiftandseek</b>\nSend Shift and Seek mode description.\n<b>/sns2</b>\nSend extended Shift and Seek mode description\n<b>/pns, /poofandseek</b>\nSend Poof and Seek mode description.\n<b>/sp, /speedrun</b>\nSend Speedrun mode description.\n\n/<b>kick, /ban</b>\nKick or ban a player by name.\n<b>/ckick, /cban</b>\nKick or ban a player by color.\n\n<b>/vip /moderator /admin</b>\nAdd a player as VIP, Moderator, or Admin.\n<b>/removevip, /removemoderator, /removeadmin</b>\nRemove VIP, Moderator, or Admin from a player.\n\n<b>/eg, /endgame</b>\nEnd the current game.\n<b>/em, /endmeeting</b>\nEnd the current meeting.\n<b>/s, /start</b>\nBegin the game starting countdown.\n\n<b>/t {template}</b>\nSend a template from AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nSet your color, can be used to bypass limits.\n\n<b>/seeker {name}</b>\nForce someone as Seeker in HnS.\n<b>/seekers</b>\nShow forced seeker list.\n<b>/clearseeker</b>\nClear forced seeker list.\n\n<b>/mapvote</b>\nStarts a map vote containing default maps.\n<b>/allmapvote</b>\nStarts a map vote that includes Eht Dleks.\n<b>/gmvote</b>\nStarts a gamemode vote.",
|
||||
|
||||
"translationReloaded": "Your file has successfully been reset.\nTo apply all changes, restart your game.",
|
||||
|
||||
@@ -244,8 +267,10 @@
|
||||
|
||||
"helpDesc": "Show all commands and what they do.",
|
||||
"snsDesc": "Send Shift and Seek gamemode Description.",
|
||||
"snsTwoDesc": "Send Shift and Seek extended Description.",
|
||||
"0kcDesc": "Send 0 Kill Cooldown gamemode Description.",
|
||||
"SrDesc": "Send Speedrun gamemode Description.",
|
||||
"pnsDesc": "Send Poof and Seek gamemode Description.",
|
||||
"egDesc": "End the current game.",
|
||||
"emDesc": "End the current meeting.",
|
||||
"aurDesc": "Send Among Us Revamped social links.",
|
||||
@@ -270,17 +295,24 @@
|
||||
"seekerDesc": "Adds player as Seeker in HnS.",
|
||||
"seekersDesc": "Shows all manually selected Seekers.",
|
||||
"clearSeekerDesc": "Clears the manual Seeker list.",
|
||||
"mapVoteDesc": "Starts a vote between the 5 core maps.",
|
||||
"allMapVoteDesc": "Starts a vote between all 6 maps, including Eht Dleks.",
|
||||
"modeVoteDesc": "Starts a vote between all gamemodes.",
|
||||
|
||||
"banWordKick": "{0} was kicked because they sent a word in DeniedWords.txt {1} time(s)",
|
||||
"startWordKick": "{0} was kicked because they sent a word in StartWords.txt {1} time(s)",
|
||||
"banWordBan": "{0} was banned because they sent a word in DeniedWords.txt {1} time(s)",
|
||||
"startWordBan": "{0} was banned because they sent a word in StartWords.txt {1} time(s)",
|
||||
|
||||
"pluginWarning": "<color=red><size=5><b>WARNING:</color></b></size>\n<size=3><b>You have 2 or more detected Plugins.</size></b>\nAmong Us Revamped is not compatible with most mods.\nIf you find bugs, they are most likely due to incompatibility.",
|
||||
|
||||
"systemSettings": "System Settings",
|
||||
"moderationSettings": "Moderation Settings",
|
||||
"gameplaySettings": "Gameplay Settings",
|
||||
"gamemodeSettings": "Gamemode Settings",
|
||||
|
||||
"systemSettingsDesc": "Quality settings to improve comfort and testing.",
|
||||
"moderationSettingsDesc": "Moderation settings to combat toxicity and misconduct.",
|
||||
"gameplaySettingsDesc": "Gameplay settings to improve the in-game experience.",
|
||||
"gamemodeSettingsDesc": "Situational settings to apply for specific gamemodes.",
|
||||
|
||||
@@ -291,5 +323,32 @@
|
||||
"onlyYou": "Only You",
|
||||
|
||||
"seekers": "Seekers: ",
|
||||
"clearedSeekers": "Successfully cleared the manual Seeker list."
|
||||
"clearedSeekers": "Successfully cleared the manual Seeker list.",
|
||||
|
||||
"rehostSuccess": "Successfully rehosted a lobby",
|
||||
|
||||
"kick": "Kick",
|
||||
"ban": "Ban",
|
||||
"notifyMe": "Notify Me",
|
||||
|
||||
"tabGroupAfk": "AFK Detection",
|
||||
"enableAfkDetection": "Enable AFK Detection",
|
||||
"afkTimer": "Detection Threshold",
|
||||
"afkPenalty": "AFK Penalty",
|
||||
"onlyDetectSpawn": "Only Detect Players At Spawn",
|
||||
|
||||
"afkNotify": "{0} has been AFK for {1}s",
|
||||
"afkKick": "{0} has been AFK for {1}s, kicking user",
|
||||
"afkBan": "{0} has been AFK for {1}s, banning user",
|
||||
|
||||
"automaticMapPoll": "Automatic /mapvote After Rejoining",
|
||||
"automaticAllMapPoll": "Automatic /allmapvote After Rejoining",
|
||||
"timeBeforeMapPoll": "Time Before Vote Starts",
|
||||
"automaticModePoll": "Automatic /gmvote After Rejoining",
|
||||
|
||||
"pnsDisableSabotage": "Disable PnS Critical Sabotages",
|
||||
"pnsDisableCloseDoor": "Disable PnS Door Sabotages",
|
||||
"tabGroupPNS": "Poof and Seek",
|
||||
"badMoveTimeToSuicide": "Phantom Suicides After Visibly Moving For",
|
||||
"snsImpostorCanVent": "Impostors Can Vent"
|
||||
}
|
||||
+294
-235
@@ -3,284 +3,343 @@
|
||||
|
||||
"gameMaster": "Spettatore",
|
||||
"showFPS": "Mostra FPS",
|
||||
"autoStart": "Auto Start",
|
||||
"enableDarkTheme": "Abilità Tema Scuro",
|
||||
"enableLobbyMusic": "Musica Lobby",
|
||||
"disableInfoWhenDead": "Nascondi Info da Morto",
|
||||
"disableCommandHelper": "Disabilita Command Helper",
|
||||
"disableCompatibilityWarning": "Disattiva avviso di compatibilità",
|
||||
"autoStart": "Avvio Automatico",
|
||||
"enableDarkTheme": "Abilita Tema Scuro",
|
||||
"enableLobbyMusic": "Musica della Lobby",
|
||||
"disableInfoWhenDead": "Nascondi Informazioni Dopo la Morte",
|
||||
"disableCommandHelper": "Disabilita Aiutante Comandi",
|
||||
"disableCompatibilityWarning": "Disabilita Avviso di Compatibilità",
|
||||
|
||||
"gameMasterWarning":"Assisterai alle partite come spettatore finché la modalità Spettatore non viene disattivata.AVVISO:I messaggi delle abilità non verranno inviati e l'assegnazione dei ruoli potrebbe non essere accurata se questa impostazione è attiva.",
|
||||
|
||||
"cancelStartCountdown": "Conto alla rovescia di inizio annullato",
|
||||
"cancelStartCountdown": "Conto alla rovescia annullato",
|
||||
|
||||
"invalidFriendCodeKick": "{0} è stato espulso per avere un codice amico non valido",
|
||||
"invalidFriendCodeBan": "{0} è stato bannato per avere un codice amico non valido",
|
||||
"language": "Lingua (Richiede il riavvio)",
|
||||
"gamemode": "Modalità di gioco",
|
||||
"invalidFriendCodeKick": "{0} è stato kickato per un Codice Amico non valido",
|
||||
"invalidFriendCodeBan": "{0} è stato bannato per un Codice Amico non valido",
|
||||
"language": "Lingua (Richiede Riavvio)",
|
||||
"gamemode": "Modalità",
|
||||
"tabGroupMain": "Moderazione",
|
||||
"kickLowLevelPlayer": "Espelli giocatori sotto il livello",
|
||||
"tempBanLowLevelPlayer": "Banna invece di espellere",
|
||||
"dontKickLevelOnes": "Non espellere i giocatori di livello 1 per lobby glitched",
|
||||
"kickInvalidFriendCodes": "Espelli codici amico non validi (vuoti)",
|
||||
"tempBanInvalidFriendCodes": "Banna invece di espellere",
|
||||
"deniedWordsToKick": "Inviate parole proibite per espellere il giocatore",
|
||||
"moderatorCanUseCommand": "I moderatori possono usare i comandi",
|
||||
"autoKickStart": "Espelli i giocatori che dicono Start",
|
||||
"autoKickStartAsBan": "Banna invece di espellere",
|
||||
"autoKickStartTimes": "Messaggi di Start necessari per l'espulsione",
|
||||
"kickLowLevelPlayer": "Kicka Giocatori Sotto il Livello",
|
||||
"tempBanLowLevelPlayer": "Banna invece di kickare",
|
||||
"dontKickLevelOnes": "Non kickare Giocatori Liv.1 Nelle Lobby Glitchate",
|
||||
"kickInvalidFriendCodes": "Kicka Codici Amico Non Validi (Vuoti)",
|
||||
"tempBanInvalidFriendCodes": "Banna invece di kickare",
|
||||
"deniedWordsToKick": "Parole Vietate Inviate Per Kickare il Giocatore",
|
||||
"moderatorCanUseCommand": "I Moderatori Possono Usare i Comandi",
|
||||
"autoKickStart": "Kicka Giocatori Che Dicono Start",
|
||||
"autoKickStartAsBan": "Banna invece di kickare",
|
||||
"autoKickStartStrength": "Modalità di rilevamento rigorosa",
|
||||
"tabGroupAutomation": "Automazione",
|
||||
"autoSendGameInfo": "Invia automaticamente le informazioni sul vincitore",
|
||||
"autoSendGameInfo": "Invia automaticamente informazioni sui vincitori",
|
||||
"autoRejoinLobby": "Rientra automaticamente nella lobby",
|
||||
"autoStartTimer": "Conto alla rovescia per l'Auto Start",
|
||||
"waitAutoStart": "Auto Start dopo",
|
||||
"playerAutoStart": "Giocatori necessari per l'Auto Start",
|
||||
"enableJoinMessages": "Abilita i messaggi di benvenuto",
|
||||
"messagePerPlayerNum": "Messaggio in base al numero di accessi",
|
||||
"tabGroupMisc": "Varie",
|
||||
"startCountdown": "Conto alla rovescia di inizio predefinito",
|
||||
"colorCommandLevel": "Chi può usare i comandi colore",
|
||||
"allowFortegreen": "Consenti il colore Verde Forte",
|
||||
"noGameEnd": "Nessuna fine del gioco",
|
||||
"autoStartTimer": "Conto alla rovescia Avvio Automatico",
|
||||
"waitAutoStart": "Avvio Automatico Dopo",
|
||||
"playerAutoStart": "Giocatori Necessari Per Avvio Automatico",
|
||||
"enableJoinMessages": "Abilita Messaggio di Benvenuto",
|
||||
"messagePerPlayerNum": "Messaggio Ogni # Ingressi",
|
||||
"tabGroupMisc": "Sperimentale",
|
||||
"startCountdown": "Conto alla rovescia Predefinito",
|
||||
"colorCommandLevel": "Chi Può Usare i Comandi Colore",
|
||||
"allowFortegreen": "Consenti Colore Fortegreen",
|
||||
"noGameEnd": "Nessuna Fine Partita",
|
||||
|
||||
"tabGroupAccess": "Livelli di accesso",
|
||||
"slashColorCmd": "Chi può usare /color",
|
||||
"slashRolesAndGamemodeCmd": "Chi può usare /r e i template",
|
||||
"slashLastGameCmd": "Chi può usare /l e /aur",
|
||||
"slashKickCmd": "Chi può usare /kick e /ckick",
|
||||
"slashBanCmd": "Chi può usare /ban e /cban",
|
||||
"slashEndMeetingCmd": "Chi può usare /endmeeting",
|
||||
"slashStartAndEndGameCmd": "Chi può usare /startgame e /endgame",
|
||||
"tabGroupAccess": "Livelli di Accesso",
|
||||
"slashColorCmd": "Chi Può Usare /color",
|
||||
"slashRolesAndGamemodeCmd": "Chi Può Usare /r & Templates",
|
||||
"slashLastGameCmd": "Chi Può Usare /l & /aur",
|
||||
"slashKickCmd": "Chi Può Usare /kick & /ckick",
|
||||
"slashBanCmd": "Chi Può Usare /ban & /cban",
|
||||
"slashStartAndEndGameCmd": "Chi Può Usare /startgame & /endgame",
|
||||
|
||||
"tabGroupCrewmate": "Ruoli degli astronauti",
|
||||
"tabGroupNeutral": "Ruoli dei neutrali",
|
||||
"tabGroupImpostor": "Ruoli degli impostori",
|
||||
"tabGroupCrewmate": "Ruoli Astronauti",
|
||||
"tabGroupNeutral": "Ruoli Neutrali",
|
||||
"tabGroupImpostor": "Ruoli Impostori",
|
||||
|
||||
"tabGroupStandard": "Standard",
|
||||
|
||||
"tabGroupHNS": "Nascondino",
|
||||
"numSeekers": "# Cercatori",
|
||||
"tabGroup0Kcd": "Ricarica uccisione a 0",
|
||||
"noKcdSettingsOverride": "Aggiorna automaticamente le impostazioni",
|
||||
"tabGroupSNS": "Mutaforma e cerca",
|
||||
"snsChatInGame": "Chat durante il gioco (sperimentale)",
|
||||
"snsSettingsOverride": "Aggiorna automaticamente le impostazioni",
|
||||
"cantKillTime": "Dopo un errore, non può uccidere per",
|
||||
"misfiresToSuicide": "Suicidio dopo un numero di errori",
|
||||
"crewAutoWinsGameAfter": "Gli astronauti vincono automaticamente dopo",
|
||||
"snsDisableSabotage": "Disabilita i sabotaggi critici SnS",
|
||||
"snsDisableReactor": "Disabilita il sabotaggio del reattore",
|
||||
"snsDisableOxygen": "Disabilita il sabotaggio dell'ossigeno",
|
||||
"snsDisableLights": "Disabilita il sabotaggio delle luci",
|
||||
"snsDisableComms": "Disabilita il sabotaggio delle comunicazioni",
|
||||
"snsDisableHeli": "Disabilita il sabotaggio della rotta di collisione",
|
||||
"snsDisableMushroomMixup": "Disabilita il sabotaggio della miscela di funghi",
|
||||
"snsDisableCloseDoor": "Disabilita i sabotaggi delle porte SnS",
|
||||
"tabGroup0Kcd": "0 Cooldown Uccisione",
|
||||
"noKcdSettingsOverride": "Aggiorna Automaticamente Impostazioni",
|
||||
"tabGroupSNS": "Clone",
|
||||
"snsChatInGame": "Chat in gioco (sperimentale)",
|
||||
"snsSettingsOverride": "Aggiorna Automaticamente Impostazioni",
|
||||
"cantKillTime": "Dopo un Mancato Bersaglio Non Puoi Uccidere Per",
|
||||
"misfiresToSuicide": "Suicidio Dopo Numero di Mancati Bersagli",
|
||||
"crewAutoWinsGameAfter": "Gli Astronauti Vincono Automaticamente Dopo",
|
||||
"snsDisableSabotage": "Disabilita Sabotaggi Critici in Modalità Clone",
|
||||
"snsDisableReactor": "Disabilita Sabotaggio Reattore",
|
||||
"snsDisableOxygen": "Disabilita Sabotaggio O2",
|
||||
"snsDisableLights": "Disabilita Sabotaggio Luci",
|
||||
"snsDisableComms": "Disabilita Sabotaggio Comunicazioni",
|
||||
"snsDisableHeli": "Disabilita Sabotaggio Collisione",
|
||||
"snsDisableMushroomMixup": "Disabilita Sabotaggio Caos dei Funghi",
|
||||
"snsDisableCloseDoor": "Disabilita Sabotaggio Porte in Modalità Clone",
|
||||
"tabGroupSpeedrun": "Speedrun",
|
||||
"speedrunSettingsOverride": "Aggiorna automaticamente le impostazioni",
|
||||
"gameAutoEndsAfter": "Il gioco termina automaticamente dopo",
|
||||
"engineerMode": "Tutti sono ingegneri",
|
||||
"speedrunSettingsOverride": "Aggiorna Automaticamente Impostazioni",
|
||||
"gameAutoEndsAfter": "La partita finisce automaticamente dopo",
|
||||
"engineerMode": "Tutti Ingegneri",
|
||||
|
||||
"tabGroupSabotages": "Sabotaggi",
|
||||
"deadImpostorsCanSabotage": "Gli impostori morti possono sabotare",
|
||||
"disableSabotage": "Disabilita i sabotaggi critici",
|
||||
"disableReactor": "Disabilita il sabotaggio del reattore",
|
||||
"disableOxygen": "Disabilita il sabotaggio dell'ossigeno",
|
||||
"disableLights": "Disabilita il sabotaggio delle luci",
|
||||
"disableComms": "Disabilita il sabotaggio delle comunicazioni",
|
||||
"disableHeli": "Disabilita il sabotaggio della rotta di collisione",
|
||||
"disableMushroomMixup": "Disabilita il sabotaggio della miscela di funghi",
|
||||
"disableCloseDoor": "Disabilita i sabotaggi delle porte",
|
||||
"deadImpostorsCanSabotage": "Gli Impostori Morti Possono Sabotare",
|
||||
"disableSabotage": "Disabilita Sabotaggi Critici",
|
||||
"disableReactor": "Disabilita Sabotaggio Reattore",
|
||||
"disableOxygen": "Disabilita Sabotaggio O2",
|
||||
"disableLights": "Disabilita Sabotaggio Luci",
|
||||
"disableComms": "Disabilita Sabotaggio Comunicazioni",
|
||||
"disableHeli": "Disabilita Sabotaggio Collisione",
|
||||
"disableMushroomMixup": "Disabilita Sabotaggio Caos dei Funghi",
|
||||
"disableCloseDoor": "Disabilita Sabotaggio Porte",
|
||||
|
||||
"tabGroupGameplayGeneral": "Generale",
|
||||
"disableAnnoyingMeetingCalls": "Disabilita le chiamate di riunione nei primi 30s",
|
||||
"disableReport": "Disabilita le segnalazioni dei corpi",
|
||||
"changeDecontaminationTime": "Ignora il tempo di decontaminazione (Solo standard)",
|
||||
"decontaminationTimeOnMiraHQ": "Durata decontaminazione Mira HQ",
|
||||
"decontaminationDoorOpenTimeOnMiraHQ": "Durata apertura porte decontaminazione Mira HQ",
|
||||
"decontaminationTimeOnPolus": "Durata decontaminazione Polus",
|
||||
"decontaminationDoorOpenTimeOnPolus": "Durata apertura porte decontaminazione Polus",
|
||||
"disableSporeTrigger": "Disabilita le spore su The Fungle",
|
||||
"disableAnnoyingMeetingCalls": "Nei primi 30 secondi non si possono chiamare riunioni",
|
||||
"disableReport": "Disabilita Report dei Cadaveri",
|
||||
"changeDecontaminationTime": "Cambia Tempo di Decontaminazione (Solo Modalità Standard)",
|
||||
"decontaminationTimeOnMiraHQ": "Tempo di decontaminazione su Mira HQ",
|
||||
"decontaminationDoorOpenTimeOnMiraHQ": "Tempo di apertura porte su Mira HQ",
|
||||
"decontaminationTimeOnPolus": "Tempo di decontaminazione su Polus",
|
||||
"decontaminationDoorOpenTimeOnPolus": "Tempo di apertura porte su Polus",
|
||||
"disableSporeTrigger": "Disabilita spore su Fungle",
|
||||
|
||||
"disableDevices": "Disabilita i dispositivi",
|
||||
"disableSkeldDevices": "Disabilita i dispositivi di The Skeld",
|
||||
"disableSkeldAdmin": "Disabilita l'amministrazione di The Skeld",
|
||||
"disableSkeldCamera": "Disabilita le telecamere di The Skeld",
|
||||
"disableMiraHQDevices": "Disabilita i dispositivi di Mira HQ",
|
||||
"disableMiraHQAdmin": "Disabilita l'amministrazione di Mira HQ",
|
||||
"disableMiraHQDoorLog": "Disabilita il registro delle porte di Mira HQ",
|
||||
"disablePolusDevices": "Disabilita i dispositivi di Polus",
|
||||
"disablePolusAdmin": "Disabilita l'amministrazione di Polus",
|
||||
"disablePolusCamera": "Disabilita le telecamere di Polus",
|
||||
"disablePolusVital": "Disabilita i parametri vitali di Polus",
|
||||
"disableAirshipDevices": "Disabilita i dispositivi di Airship",
|
||||
"disableAirshipCockpitAdmin": "Disabilita l'amministrazione della cabina di pilotaggio di Airship",
|
||||
"disableAirshipRecordsAdmin": "Disabilita l'amministrazione degli archivi di Airship",
|
||||
"disableAirshipCamera": "Disabilita le telecamere di Airship",
|
||||
"disableAirshipVital": "Disabilita i parametri vitali di Airship",
|
||||
"disableFungleDevices": "Disabilita i dispositivi di The Fungle",
|
||||
"disableFungleVital": "Disabilita i parametri vitali di The Fungle",
|
||||
"disableDevices": "Disabilita Dispositivi",
|
||||
"disableSkeldDevices": "Disabilita Dispositivi su Skeld",
|
||||
"disableSkeldAdmin": "Disabilita Admin su Skeld",
|
||||
"disableSkeldCamera": "Disabilita Telecamere su Skeld",
|
||||
"disableMiraHQDevices": "Disabilita Dispositivi su Mira HQ",
|
||||
"disableMiraHQAdmin": "Disabilita Admin su Mira HQ",
|
||||
"disableMiraHQDoorLog": "Disabilita Registri Porte su Mira HQ",
|
||||
"disablePolusDevices": "Disabilita Dispositivi su Polus",
|
||||
"disablePolusAdmin": "Disabilita Admin su Polus",
|
||||
"disablePolusCamera": "Disabilita Telecamere su Polus",
|
||||
"disablePolusVital": "Disabilita Segni Vitali su Polus",
|
||||
"disableAirshipDevices": "Disabilita Dispositivi su Airship",
|
||||
"disableAirshipCockpitAdmin": "Disabilita Admin nella Cabina su Airship",
|
||||
"disableAirshipRecordsAdmin": "Disabilita Admin nell'Archivio su Airship",
|
||||
"disableAirshipCamera": "Disabilita Telecamere su Airship",
|
||||
"disableAirshipVital": "Disabilita Segni Vitali su Airship",
|
||||
"disableFungleDevices": "Disabilita Dispositivi su Fungle",
|
||||
"disableFungleVital": "Disabilita Segni Vitali su Fungle",
|
||||
|
||||
"tabGroupTasks": "Incarichi",
|
||||
"allPlayersSameTasks": "Tutti hanno gli stessi incarichi",
|
||||
"overrideTaskSettings": "Disabilita gli incarichi",
|
||||
"taskPercentNeededToWin": "% Incarichi completati per la vittoria degli astronauti",
|
||||
"allPlayersSameTasks": "Stessi incarichi per tutti",
|
||||
"overrideTaskSettings": "Disabilita incarichi",
|
||||
"taskPercentNeededToWin": "% di Incarichi completati per la vittoria degli astronauti",
|
||||
|
||||
"disableMiraTasks": "Disabilita gli incarichi di Mira HQ",
|
||||
"disableBuyBeverage": "Disabilita Acquista bevanda",
|
||||
"disableMeasureWeather": "Disabilita Misura il tempo",
|
||||
"disableProcessData": "Disabilita Elabora dati",
|
||||
"disableRunDiagnostics": "Disabilita Esegui diagnostica",
|
||||
"disableSortSamples": "Disabilita Ordina i campioni",
|
||||
"disableMiraTasks": "Disabilita Incarichi su Mira HQ",
|
||||
"disableBuyBeverage": "Disabilita Compra Bevanda",
|
||||
"disableMeasureWeather": "Disabilita Misura Condizioni Meteo",
|
||||
"disableProcessData": "Disabilita Elabora Dati",
|
||||
"disableRunDiagnostics": "Disabilita Esegui Diagnostica",
|
||||
"disableSortSamples": "Disabilita Smista Campioni",
|
||||
|
||||
"disablePolusTasks": "Disabilita gli incarichi di Polus",
|
||||
"disableActivateWeatherNodes": "Disabilita Attiva i nodi meteo",
|
||||
"disableAlignTelescope": "Disabilita Allinea il telescopio",
|
||||
"disableFillCanisters": "Disabilita Riempi le bombole",
|
||||
"disableInsertKeys": "Disabilita Inserisci le chiavi",
|
||||
"disableOpenWaterways": "Disabilita Apri i canali dell'acqua",
|
||||
"disableRebootWifi": "Disabilita Riavvia il Wi-Fi",
|
||||
"disableRepairDrill": "Disabilita Ripara il trapano",
|
||||
"disableScanBoardingPass": "Disabilita Scansiona la carta d'imbarco",
|
||||
"disablePolusTasks": "Disabilita Incarichi su Polus",
|
||||
"disableActivateWeatherNodes": "Disabilita Ripara Nodo Atmosferico",
|
||||
"disableAlignTelescope": "Disabilita Allinea Telescopio",
|
||||
"disableFillCanisters": "Disabilita Riempi Bombole",
|
||||
"disableInsertKeys": "Disabilita Inserisci Chiavi",
|
||||
"disableOpenWaterways": "Disabilita Apri Condotti dell'Acqua",
|
||||
"disableRebootWifi": "Disabilita Riavvia Wi-Fi",
|
||||
"disableRepairDrill": "Disabilita Ripara Trivella",
|
||||
"disableScanBoardingPass": "Disabilita Scansiona Carta d'Imbarco",
|
||||
|
||||
"disableAirshipTasks": "Disabilita gli incarichi di Airship",
|
||||
"disableCleanToilet": "Disabilita Pulisci il bagno",
|
||||
"disableAirshipTasks": "Disabilita Incarichi su Airship",
|
||||
"disableCleanToilet": "Disabilita Pulisci Bagno",
|
||||
"disableDecontaminate": "Disabilita Decontamina",
|
||||
"disableDevelopPhotos": "Disabilita Sviluppa le foto",
|
||||
"disableDressMannequin": "Disabilita Vesti il manichino",
|
||||
"disableFixShower": "Disabilita Ripara la doccia",
|
||||
"disableMakeBurger": "Disabilita Prepara un hamburger",
|
||||
"disablePickUpTowels": "Disabilita Raccogli gli asciugamani",
|
||||
"disablePolishRuby": "Disabilita Lucida il rubino",
|
||||
"disablePutAwayPistols": "Disabilita Metti via le pistole",
|
||||
"disablePutAwayRifles": "Disabilita Metti via i fucili",
|
||||
"disableRewindTapes": "Disabilita Riavvolgi i nastri",
|
||||
"disableResetBreaker": "Disabilita Ripristina gli interruttori",
|
||||
"disableSortRecords": "Disabilita Ordina i record",
|
||||
"disableStartFans": "Disabilita Avvia i ventilatori",
|
||||
"disableUnlockSafe": "Disabilita Sblocca la cassaforte",
|
||||
"disableDevelopPhotos": "Disabilita Sviluppa Foto",
|
||||
"disableDressMannequin": "Disabilita Vesti Manichino",
|
||||
"disableFixShower": "Disabilita Ripara Doccia",
|
||||
"disableMakeBurger": "Disabilita Prepara Burger",
|
||||
"disablePickUpTowels": "Disabilita Raccogli Asciugamani",
|
||||
"disablePolishRuby": "Disabilita Lucida Rubino",
|
||||
"disablePutAwayPistols": "Disabilita Metti a Posto Pistole",
|
||||
"disablePutAwayRifles": "Disabilita Metti a Posto Fucili",
|
||||
"disableRewindTapes": "Disabilita Riavvolgi Nastri",
|
||||
"disableResetBreaker": "Disabilita Resetta Interruttore",
|
||||
"disableSortRecords": "Disabilita Smista Documenti",
|
||||
"disableStartFans": "Disabilita Avvia Ventilatori",
|
||||
"disableUnlockSafe": "Disabilita Apri Cassaforte",
|
||||
|
||||
"disableFungleTasks": "Disabilita gli incarichi di The Fungle",
|
||||
"disableBuildSandcastle": "Disabilita Costruisci il castello di sabbia",
|
||||
"disableCatchFish": "Disabilita Pesca i pesci",
|
||||
"disableCollectSamples": "Disabilita Raccogli i campioni",
|
||||
"disableCollectShells": "Disabilita Raccogli le conchiglie",
|
||||
"disableCollectVegetables": "Disabilita Raccogli le verdure",
|
||||
"disableCrankGenerator": "Disabilita Gira la manovella del generatore",
|
||||
"disableExtractFuel": "Disabilita Estrai il carburante",
|
||||
"disableFixAntenna": "Disabilita Ripara l'antenna",
|
||||
"disableHelpCritter": "Disabilita Aiuta la creatura",
|
||||
"disableHoistSupplies": "Disabilita Solleva le provviste",
|
||||
"disableLiftWeights": "Disabilita Solleva i pesi",
|
||||
"disableMineOres": "Disabilita Estrai i minerali",
|
||||
"disablePlayVideoGame": "Disabilita Gioca al videogioco",
|
||||
"disablePolishGem": "Disabilita Lucida la gemma",
|
||||
"disableReplaceParts": "Disabilita Sostituisci le parti",
|
||||
"disableRoastMarshmallow": "Disabilita Arrostisci il marshmallow",
|
||||
"disableThrowFisbee": "Disabilita Lancia il frisbee",
|
||||
"disableFindSignal": "Disabilita Trova il segnale",
|
||||
"disableFungleTasks": "Disabilita Incarichi su Fungle",
|
||||
"disableBuildSandcastle": "Disabilita Costruisci Castello di Sabbia",
|
||||
"disableCatchFish": "Disabilita Pesca",
|
||||
"disableCollectSamples": "Disabilita Raccogli Campioni",
|
||||
"disableCollectShells": "Disabilita Raccogli Conchiglie",
|
||||
"disableCollectVegetables": "Disabilita Raccogli Verdure",
|
||||
"disableCrankGenerator": "Disabilita Avvia Generatore a Manovella",
|
||||
"disableExtractFuel": "Disabilita Estrai Carburante",
|
||||
"disableFixAntenna": "Disabilita Ripara Antenna",
|
||||
"disableHelpCritter": "Disabilita Aiuta la Creatura",
|
||||
"disableHoistSupplies": "Disabilita Solleva Provviste",
|
||||
"disableLiftWeights": "Disabilita Solleva Pesi",
|
||||
"disableMineOres": "Disabilita Estrai Minerali",
|
||||
"disablePlayVideoGame": "Disabilita Gioca ai Videogiochi",
|
||||
"disablePolishGem": "Disabilita Lucida Gemma",
|
||||
"disableReplaceParts": "Disabilita Sostituisci Parti",
|
||||
"disableRoastMarshmallow": "Disabilita Arrostisci Marshmallow",
|
||||
"disableThrowFisbee": "Disabilita Lancia Frisbee",
|
||||
"disableFindSignal": "Disabilita Trova Segnale",
|
||||
|
||||
"disableMiscCommonTasks": "Disabilita gli incarichi comuni globali",
|
||||
"disableEnterIdCode": "Disabilita Inserisci il codice ID",
|
||||
"disableFixWiring": "Disabilita Ripara i cavi elettrici",
|
||||
"disableSwipeCard": "Disabilita Striscia la tessera",
|
||||
"disableMiscCommonTasks": "Disabilita Incarichi Comuni",
|
||||
"disableEnterIdCode": "Disabilita Inserisci Codice ID",
|
||||
"disableFixWiring": "Disabilita Ripara Cavi",
|
||||
"disableSwipeCard": "Disabilita Passa la Carta",
|
||||
|
||||
"disableMiscShortTasks": "Disabilita gli incarichi brevi globali",
|
||||
"disableAssembleArtifact": "Disabilita Assembla l'artefatto",
|
||||
"disableChartCourse": "Disabilita Traccia la rotta",
|
||||
"disableCleanO2Filter": "Disabilita Pulisci il filtro dell'O2",
|
||||
"disableCleanVent": "Disabilita Pulisci il condotto",
|
||||
"disableMonitorMushroom": "Disabilita Monitora il fungo",
|
||||
"disableMonitorTree": "Disabilita Monitora l'albero",
|
||||
"disablePrimeShields": "Disabilita Attiva gli scudi",
|
||||
"disableRecordTemperature": "Disabilita Registra la temperatura",
|
||||
"disableStabilizeSteering": "Disabilita Stabilizza la guida",
|
||||
"disableStoreArtifacts": "Disabilita Conserva gli artefatti",
|
||||
"disableUnlockManifolds": "Disabilita Sblocca i collettori",
|
||||
"disableMiscShortTasks": "Disabilita Incarichi Corti",
|
||||
"disableAssembleArtifact": "Disabilita Assembla Manufatto",
|
||||
"disableChartCourse": "Disabilita Traccia la Rotta",
|
||||
"disableCleanO2Filter": "Disabilita Pulisci Filtro O2",
|
||||
"disableCleanVent": "Disabilita Pulisci Condotto",
|
||||
"disableMonitorMushroom": "Disabilita Monitora Fungo",
|
||||
"disableMonitorTree": "Disabilita Controlla Albero",
|
||||
"disablePrimeShields": "Disabilita Innesca Scudi",
|
||||
"disableRecordTemperature": "Disabilita Registra Temperatura",
|
||||
"disableStabilizeSteering": "Disabilita Stabilizza Rotta",
|
||||
"disableStoreArtifacts": "Disabilita Conserva Manufatti",
|
||||
"disableUnlockManifolds": "Disabilita Sblocca Collettori",
|
||||
|
||||
"disableMiscLongTasks": "Disabilita gli incarichi lunghi globali",
|
||||
"disableAlignEngineOutput": "Disabilita Allinea l'uscita del motore",
|
||||
"disableClearAsteroids": "Disabilita Distruggi gli asteroidi",
|
||||
"disableEmptyChute": "Disabilita Svuota lo scivolo",
|
||||
"disableInspectSample": "Disabilita Ispeziona il campione",
|
||||
"disableReplaceWaterJug": "Disabilita Sostituisci il boccione dell'acqua",
|
||||
"disableStartReactor": "Disabilita Avvia il reattore",
|
||||
"disableWaterPlants": "Disabilita Annaffia le piante",
|
||||
"disableMiscLongTasks": "Disabilita Incarichi Lunghi",
|
||||
"disableAlignEngineOutput": "Disabilita Allinea Uscita Motore",
|
||||
"disableClearAsteroids": "Disabilita Distruggi Asteroidi",
|
||||
"disableEmptyChute": "Disabilita Svuota Scivolo",
|
||||
"disableInspectSample": "Disabilita Ispeziona Campione",
|
||||
"disableReplaceWaterJug": "Disabilita Sostituisci Boccione d'Acqua",
|
||||
"disableStartReactor": "Disabilita Avvia Reattore",
|
||||
"disableWaterPlants": "Disabilita Innaffia Piante",
|
||||
|
||||
"disableMiscMixedTasks": "Disabilita gli incarichi misti globali",
|
||||
"disableCalibrateDistributor": "Disabilita Calibra il distributore",
|
||||
"disableDivertPower": "Disabilita Devia l'energia",
|
||||
"disableEmptyGarbage": "Disabilita Svuota la spazzatura",
|
||||
"disableFuelEngines": "Disabilita Rifornisci i motori",
|
||||
"disableSubmitScan": "Disabilita Invia la scansione",
|
||||
"disableUploadData": "Disabilita Carica i dati",
|
||||
"disableMiscMixedTasks": "Disabilita Incarichi Misti",
|
||||
"disableCalibrateDistributor": "Disabilita Calibra Distributore",
|
||||
"disableDivertPower": "Disabilita Devia Energia",
|
||||
"disableEmptyGarbage": "Disabilita Svuota Spazzatura",
|
||||
"disableFuelEngines": "Disabilita Fai Rifornimento Motori",
|
||||
"disableSubmitScan": "Disabilita Esegui Scansione",
|
||||
"disableUploadData": "Disabilita Carica Dati",
|
||||
|
||||
"allCommandsFull": "<b>TUTTI I COMANDI:</b>\n\n<b>/help</b>\nMostra questo messaggio.\n<b>/aur, /socials</b>\nInvia i link social di Among Us Revamped.\n\n<b>/r, /gm</b>\nInvia la descrizione della modalità corrente o l'elenco delle abilità.\n<b>/l, /lastgame</b>\nInvia le informazioni sull'ultimo vincitore.\n\n<b>/0kc, /0killcooldown</b>\nInvia la descrizione della modalità Ricarica uccisione a 0.\n<b>/sns, /shiftandseek</b>\nInvia la descrizione della modalità Mutaforma e cerca.\n<b>/sp, /speedrun</b>\nInvia la descrizione della modalità Speedrun.\n\n/<b>kick, /ban</b>\nEspelli o banna un giocatore per nome.\n<b>/ckick, /cban</b>\nEspelli o banna un giocatore per colore.\n\n<b>/vip /moderator /admin</b>\nAggiungi un giocatore come VIP, Moderatore o Admin.\n<b>/removevip, /removemoderator, /removeadmin</b>\nRimuovi VIP, Moderatore o Admin da un giocatore.\n\n<b>/eg, /endgame</b>\nTermina la partita corrente.\n<b>/em, /endmeeting</b>\nTermina la riunione corrente.\n<b>/s, /start</b>\nAvvia il conto alla rovescia di inizio partita.\n\n<b>/t {template}</b>\nInvia un template da AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nImposta il tuo colore, può essere usato per aggirare i limiti.",
|
||||
"allCommandsFull": "<b>TUTTI I COMANDI:</b>\n\n<b>/help</b>\nMostra questo messaggio.\n<b>/aur, /socials</b>\nInvia i link di Among Us Revamped.\n\n<b>/r, /gm</b>\nInvia la descrizione della modalità attuale o la lista delle abilità.\n<b>/l, /lastgame</b>\nInvia le informazioni sull'ultimo vincitore.\n\n<b>/0kc, /0killcooldown</b>\nInvia la descrizione della modalità 0 Cooldown Uccisione.\n<b>/sns, /shiftandseek</b>\nInvia la descrizione della modalità Clone.\n<b>/sp, /speedrun</b>\nInvia la descrizione della modalità Speedrun.\n\n/<b>kick, /ban</b>\nKicka o banna un giocatore tramite nome.\n<b>/ckick, /cban</b>\nKicka o banna un giocatore tramite colore.\n\n<b>/vip /moderator /admin</b>\nAggiunge un giocatore come VIP, Moderatore o Admin.\n<b>/removevip, /removemoderator, /removeadmin</b>\nRimuove lo stato di VIP, Moderatore o Admin a un giocatore.\n\n<b>/eg, /endgame</b>\nTermina la partita attuale.\n<b>/em, /endmeeting</b>\nTermina la riunione attuale.\n<b>/s, /start</b>\nInizia il conto alla rovescia per l'avvio.\n\n<b>/t {template}</b>\nInvia un template da AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nCambia il tuo colore, può essere usato per aggirare le restrizioni sui colori.",
|
||||
|
||||
"translationReloaded": "Il tuo file è stato ripristinato con successo.\nPer applicare tutte le modifiche, riavvia il gioco.",
|
||||
"translationReloaded": "Il tuo file di lingua è stato ricaricato con successo.\nPer applicare tutte le modifiche, riavvia il gioco.",
|
||||
|
||||
"templateWelcome": "# In questo file puoi aggiungere i Template, che fungono da comode alternative per il copia-incolla.\n# Per creare un template, scrivi una nuova riga con la stessa formattazione del Template di prova qui sotto.\n# Nota che i Template non possono superare i 120 caratteri e non possono contenere caratteri speciali. In caso contrario verrai espulso.\n\ntest: questo è un esempio di template. Digita '/t test' per vederlo.\n\nwelcome: Benvenuto! Questa lobby utilizza Among Us Revamped {ModVersion} di MV. Buon divertimento!",
|
||||
"moderatorWelcome": "# In questo file puoi aggiungere i Moderatori tramite Codice Amico.\n# Se aggiungi qualcuno, otterrà un nome viola all'interno del gioco.\n# Vai su 'Impostazioni di sistema' nel gioco per personalizzare i permessi dei Moderatori. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000",
|
||||
"vipWelcome": "# In questo file puoi aggiungere i VIP tramite Codice Amico.\n# Se aggiungi qualcuno, otterrà un nome giallo all'interno del gioco.\n# Vai su 'Impostazioni di sistema' nel gioco per personalizzare i permessi dei VIP. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000\n",
|
||||
"adminWelcome": "# In questo file puoi aggiungere gli Admin tramite Codice Amico.\n# Se aggiungi qualcuno, otterrà un nome rosso all'interno del gioco.\n# Vai su 'Impostazioni di sistema' nel gioco per personalizzare i permessi degli Admin. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000\n",
|
||||
"banlistWelcome": "# In questo file puoi bannare i giocatori dalla tua lobby tramite Codice Amico.\n# Bannare qualcuno nel gioco lo aggiungerà automaticamente anche qui. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# In questo file puoi impostare le parole proibite, espellendo automaticamente chiunque invii nel gioco le parole elencate qui.\n# Assicurati di separare le parole usando le nuove righe.",
|
||||
"bannameWelcome": "# In questo file puoi impostare i nomi proibiti, espellendo automaticamente chiunque utilizzi nel gioco i nomi elencati qui.\n# Assicurati di separare i nomi usando le nuove righe.",
|
||||
"templateWelcome": "# In questo file puoi creare dei template che fungono da semplice alternativa al copia-incolla.\n# Per creare un template, scrivi una nuova riga con la stessa formattazione del template di prova qui sotto.\n# I template non possono essere più lunghi di 120 caratteri e non possono contenere caratteri speciali. In caso contrario verrai kickato.\n\ntest: questo è un esempio di template. Scrivi '/t test' per vederlo.\n\nwelcome: Benvenuti! Questa Lobby Utilizza Among Us Revamped {ModVersion} di MV. Buon divertimento!",
|
||||
"moderatorWelcome": "# In questo file puoi aggiungere Moderatori tramite il Codice Amico.\n# Se aggiungi qualcuno, riceverà un nome viola in gioco.\n# Vai nelle 'Impostazioni di Sistema' nel gioco per modificare i permessi dei Moderatori. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000",
|
||||
"vipWelcome": "# In questo file puoi aggiungere VIP tramite il Codice Amico.\n# Se aggiungi qualcuno, riceverà un nome giallo in gioco.\n# Vai nelle 'Impostazioni di Sistema' nel gioco per modificare i permessi dei VIP. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000\n",
|
||||
"adminWelcome": "# In questo file puoi aggiungere Admin tramite il Codice Amico.\n# Se aggiungi qualcuno, riceverà un nome rosso in gioco.\n# Vai nelle 'Impostazioni di Sistema' nel gioco per modificare i permessi degli Admin. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000\n",
|
||||
"banlistWelcome": "# In questo file puoi bannare i giocatori dalle tue lobby tramite il Codice Amico.\n# Se banni qualcuno in gioco, verrà aggiunto automaticamente a questo file. Di seguito è riportato un esempio di Codice Amico.\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# In questo file puoi impostare le parole vietate, kickando automaticamente chi pronuncia le parole scritte qui.\n# Nota bene: per separare le parole devi usare nuove righe.",
|
||||
"bannameWelcome": "# In questo file puoi impostare i nomi vietati, kickando automaticamente chi utilizza i nomi scritti qui.\n# Nota bene: per separare i nomi devi usare nuove righe.",
|
||||
"languageWelcome": "# In questo file puoi impostare la tua lingua per Among Us Revamped.\n# Per impostare la lingua, scrivi una delle lingue supportate in una nuova riga. Quella predefinita è English.\n# Lingue supportate: English, Spanish, SimplifiedChinese, Italian\n\nItalian",
|
||||
|
||||
"noGameEndWarning": "AVVISO: La modalità Nessuna fine del gioco è attiva",
|
||||
"noGameEndWarning": "ATTENZIONE: L'impostazione 'Nessuna Fine Partita' è Abilitata",
|
||||
|
||||
"tooLongTemplate": "Il tuo Template supera i 120 caratteri e comporterebbe la tua espulsione al momento dell'invio. Per favore, riducine la lunghezza.",
|
||||
"tooLongTemplate": "Il tuo template supera i 120 caratteri e verrai kickato se viene inviato. Per favore, riducine la lunghezza.",
|
||||
|
||||
"vipAdd": "Aggiunto con successo {0} come VIP.",
|
||||
"moderatorAdd": "Aggiunto con successo {0} come Moderatore.",
|
||||
"adminAdd": "Aggiunto con successo {0} come Admin.",
|
||||
"vipRemove": "Rimosso con successo VIP da {0}.",
|
||||
"moderatorRemove": "Rimosso con successo Moderatore da {0}.",
|
||||
"adminRemove": "Rimosso con successo Admin da {0}.",
|
||||
"permFail": "Impossibile trovare l'utente '{0}'. Lo hai scritto correttamente?",
|
||||
"vipAdd": "{0} aggiunto con successo come VIP.",
|
||||
"moderatorAdd": "{0} aggiunto con successo come Moderatore.",
|
||||
"adminAdd": "{0} aggiunto con successo come Admin.",
|
||||
"vipRemove": "VIP rimosso con successo a {0}.",
|
||||
"moderatorRemove": "Moderatore rimosso con successo a {0}.",
|
||||
"adminRemove": "Admin rimosso con successo a {0}.",
|
||||
"permFail": "Impossibile trovare il giocatore '{0}'. Assicurati di aver scritto il nome correttamente",
|
||||
|
||||
"helpDesc": "Mostra tutti i comandi e la loro funzione.",
|
||||
"snsDesc": "Invia la descrizione della modalità di gioco Mutaforma e cerca.",
|
||||
"0kcDesc": "Invia la descrizione della modalità di gioco Ricarica uccisione a 0.",
|
||||
"SrDesc": "Invia la descrizione della modalità di gioco Speedrun.",
|
||||
"egDesc": "Termina la partita corrente.",
|
||||
"emDesc": "Termina la riunione corrente.",
|
||||
"aurDesc": "Invia i link social di Among Us Revamped.",
|
||||
"sDesc": "Avvia il conto alla rovescia del gioco.",
|
||||
"rDesc": "/r invia le abilità attive o la modalità di gioco corrente.",
|
||||
"rolesDesc": "Invia una panoramica di tutte le abilità/modalità di gioco.",
|
||||
"kickDesc": "Espelli un giocatore per nome.",
|
||||
"ckickDesc": "Espelli un giocatore per colore.",
|
||||
"banDesc": "Banna un giocatore per nome.",
|
||||
"cbanDesc": "Banna un giocatore per colore.",
|
||||
"helpDesc": "Mostra tutti i Comandi e cosa fanno.",
|
||||
"snsDesc": "Invia la descrizione della modalità Clone.",
|
||||
"0kcDesc": "Invia la descrizione della modalità 0 Cooldown Uccisione.",
|
||||
"SrDesc": "Invia la descrizione della modalità Speedrun.",
|
||||
"egDesc": "Termina la partita attuale.",
|
||||
"emDesc": "Termina la riunione attuale.",
|
||||
"aurDesc": "Invia i Link di Among Us Revamped.",
|
||||
"sDesc": "Inizia il Conto alla rovescia per l'avvio.",
|
||||
"rDesc": "/r Invia le abilità abilitate o la modalità attuale.",
|
||||
"rolesDesc": "Invia una panoramica di tutte le abilità/modalità.",
|
||||
"kickDesc": "Kicka un giocatore tramite nome.",
|
||||
"ckickDesc": "Kicka un giocatore tramite colore.",
|
||||
"banDesc": "Banna un giocatore tramite nome.",
|
||||
"cbanDesc": "Banna un giocatore tramite colore.",
|
||||
"dumpDesc": "Copia il LogOutput in un file separato.",
|
||||
"colDesc": "Imposta il tuo colore.",
|
||||
"reloadDesc": "Ricarica il file della lingua.",
|
||||
"vipDesc": "Aggiungi utente come VIP.",
|
||||
"moderatorDesc": "Aggiungi utente come Moderatore.",
|
||||
"adminDesc": "Aggiungi utente come admin.",
|
||||
"cremoveVipDesc": "Rimuovi VIP dall'utente.",
|
||||
"removeModeratorDesc": "Rimuovi Moderatore dall'utente.",
|
||||
"removeAdminDesc": "Rimuovi Admin dall'utente.",
|
||||
"lastgameDesc": "Invia le informazioni dell'ultima partita.",
|
||||
"templateDesc": "Invia un template specificato da AUR-DATA/templates.txt.",
|
||||
"colDesc": "Cambia il tuo colore.",
|
||||
"reloadDesc": "Ricarica il file di lingua.",
|
||||
"vipDesc": "Aggiunge un giocatore come VIP.",
|
||||
"moderatorDesc": "Aggiunge un giocatore come Moderatore.",
|
||||
"adminDesc": "Aggiunge un giocatore come Admin.",
|
||||
"cremoveVipDesc": "Rimuove lo stato VIP a un giocatore.",
|
||||
"removeModeratorDesc": "Rimuove lo stato di Moderatore a un giocatore.",
|
||||
"removeAdminDesc": "Rimuove lo stato di Admin a un giocatore.",
|
||||
"lastgameDesc": "Invia le informazioni sull'ultima partita.",
|
||||
"templateDesc": "Invia un template specifico da AUR-DATA/templates.txt.",
|
||||
|
||||
"banWordKick": "{0} è stato espulso perché ha inviato una parola proibita {1} volta/e",
|
||||
"banWordKick": "{0} è stato kickato per aver inviato una parola vietata {1} volta/e",
|
||||
|
||||
"pluginWarning": "<color=red><size=5><b>AVVISO:</color></b></size>\n<size=3><b>Hai 2 o più Plugin rilevati.</size></b>\nAmong Us Revamped non è compatibile con la maggior parte delle mod.\nSe riscontri dei bug, molto probabilmente sono dovuti all'incompatibilità.",
|
||||
"pluginWarning": "<color=red><size=5><b>ATTENZIONE:</color></b></size>\n<size=3><b>Hai 2 o più plugin attivi rilevati.</size></b>\nAmong Us Revamped non è compatibile con la maggior parte delle mod.\nSe riscontri dei bug, molto probabilmente sono dovuti a incompatibilità.",
|
||||
|
||||
"systemSettings": "Impostazioni di sistema",
|
||||
"gameplaySettings": "Impostazioni di gioco",
|
||||
"gamemodeSettings": "Impostazioni modalità di gioco",
|
||||
"systemSettings": "Impostazioni di Sistema",
|
||||
"gameplaySettings": "Impostazioni di Gioco",
|
||||
"gamemodeSettings": "Impostazioni Modalità",
|
||||
|
||||
"systemSettingsDesc": "Impostazioni di qualità per migliorare il comfort e i test.",
|
||||
"gameplaySettingsDesc": "Impostazioni di gioco per migliorare l'esperienza in partita.",
|
||||
"gamemodeSettingsDesc": "Impostazioni situazionali da applicare per specifiche modalità di gioco.",
|
||||
"systemSettingsDesc": "Impostazioni di Sistema Per Migliorare il Comfort e Semplificare i Test.",
|
||||
"gameplaySettingsDesc": "Impostazioni di Gioco Per Migliorare l'Esperienza di Gioco.",
|
||||
"gamemodeSettingsDesc": "Impostazioni Aggiuntive Per Specifiche Modalità di Gioco.",
|
||||
|
||||
"everyone": "Tutti",
|
||||
"vipAndAbove": "<color=yellow>VIP</color> e superiori",
|
||||
"moderatorAndAbove": "<color=purple>Moderatori</color> e superiori",
|
||||
"vipAndAbove": "<color=yellow>VIP</color> E Superiori",
|
||||
"moderatorAndAbove": "<color=purple>Moderatore</color> E Superiori",
|
||||
"admin": "<color=red>Admin</color>",
|
||||
"onlyYou": "Solo tu"
|
||||
"onlyYou": "Solo Tu",
|
||||
|
||||
"seekerDesc": "Aggiunge un giocatore come cercatore a nascondino",
|
||||
"seekersDesc": "Mostra tutti i cercatori scelti manualmente.",
|
||||
"clearSeekerDesc": "Pulisce la lista di tutti i cercatori scelti manualmente",
|
||||
|
||||
"slashEndMeetingCmd": "Chi Può Usare /endmeeting & /seeker",
|
||||
|
||||
"gameMasterWarning":"Osserverai le partite finché la modalità spettatore è attiva. ATTENZIONE: L'assegnazione dei ruoli potrebbe essere errata se questa impostazione è abilitata.",
|
||||
|
||||
"startWordsWelcome": "# In questo file puoi impostare le parole per 'Kicka Giocatori Che Dicono Start'.\n# 'Modalità di rilevamento rigorosa' OFF = I messaggi devono coincidere perfettamente con le parole impostate. 'Modalità di rilevamento rigorosa' ON = I messaggi necessitano solo di contenere le parole impostate.\n# Puoi anche aggiungere parole non correlate, che verranno rilevate solo nella lobby..\n\nstart\nbegin\ncommence\ninizia\nstartate\n",
|
||||
|
||||
"gameMasterWarningTwo": "ATTENZIONE: Modalità Spettatore Attivata",
|
||||
|
||||
"startWordKick": "{0} è stato kickato per aver inviato una parola presente in StartWords.txt {1} volta/e",
|
||||
|
||||
"seekers": "Cercatori: ",
|
||||
"clearedSeekers": "Lista dei cercatori scelti manualmente pulita con successo.",
|
||||
"tabGroupLevelKick": "Moderazione Livelli",
|
||||
"enableKickLowLevelPlayer": "Kicka Giocatori di Basso Livello",
|
||||
"tabGroupKickInvalidFriendCodes": "Codici Amico Non Validi",
|
||||
"tabGroupAutoKickStart": "Parole di Start",
|
||||
"autoKickStartTimes": "Messaggi di Start inviati necessari per il kick",
|
||||
"tabGroupAutostart": "AutoHost",
|
||||
"rehost": "Ricrea Automaticamente Lobby In Caso di Crash",
|
||||
"public": "Rendi Automaticamente la Nuova Lobby Pubblica",
|
||||
"mapVoteDuration": "Durata della Votazione per le Mappe",
|
||||
"tabGroupDeniedWords": "Parole Vietate",
|
||||
"enableDeniedWords": "Kicka Giocatori Che Pronunciano Parole Vietate",
|
||||
"slashMapAndSeekerCmd": "Chi Può Usare /seeker & /mapvote",
|
||||
"snsChatInGameExtend": "Invia informazioni sulla modalità dopo l'inizio del gioco",
|
||||
"mapVoteDesc": "Inizia una votazione tra le 5 mappe principali.",
|
||||
"allMapVoteDesc": "Inizia una votazione tra tutte e 6 le mappe, inclusa Eht Dleks.",
|
||||
"banWordBan": "{0} è stato bannato per aver inviato una parola di DeniedWords.txt {1} volta/e",
|
||||
"startWordBan": "{0} è stato bannato per aver inviato una parola di StartWords.txt {1} volta/e",
|
||||
"moderationSettings": "Impostazioni di Moderazione",
|
||||
"moderationSettingsDesc": "Impostazioni di Moderazione per combattere tossicità e cattivo comportamento.",
|
||||
"rehostSuccess": "La Lobby è Stata Ricreata Con Successo",
|
||||
"enableKickHighLevelPlayer": "Kicka Giocatori di Alto Livello",
|
||||
"kickHighLevelPlayer": "Kicka Giocatori Sopra il Livello",
|
||||
"kick": "Kick",
|
||||
"ban": "Ban",
|
||||
"notifyMe": "Notificami",
|
||||
|
||||
"tabGroupAfk": "Rilevamento AFK",
|
||||
"enableAfkDetection": "Abilita Rilevamento AFK",
|
||||
"afkTimer": "Soglia di Rilevamento",
|
||||
"afkPenalty": "Penalità Per AFK",
|
||||
"onlyDetectSpawn": "Rileva Solo i Giocatori allo Spawn",
|
||||
|
||||
"afkNotify": "{0} è stato AFK {1}sec",
|
||||
"afkKick": "{0} è stato AFK {1}sec, kickiamo il giocatore",
|
||||
"afkBan": "{0} è stato AFK {1}sec, banniamo il giocatore",
|
||||
|
||||
"automaticMapPoll": "/mapvote Automatico Dopo il Rientro",
|
||||
"automaticAllMapPoll": "/allmapvote Automatico Dopo il Rientro",
|
||||
"timeBeforeMapPoll": "Tempo Prima Inizio Votazione Mappe",
|
||||
|
||||
"pnsDisableSabotage": "Disable PnS Critical Sabotages",
|
||||
"pnsDisableCloseDoor": "Disable PnS Door Sabotages",
|
||||
"tabGroupPNS": "Poof and Seek",
|
||||
"badMoveTimeToSuicide": "Phantom Suicides After Visibly Moving For",
|
||||
"snsImpostorCanVent": "Impostors can vent"
|
||||
}
|
||||
+323
-265
@@ -1,287 +1,345 @@
|
||||
{
|
||||
"LanguageID": "4",
|
||||
|
||||
"gameMaster": "ゲームマスター",
|
||||
"showFPS": "FPSを表示",
|
||||
"autoStart": "自動スタート",
|
||||
"enableDarkTheme": "ダークテーマを有効化",
|
||||
"enableLobbyMusic": "ロビーBGM",
|
||||
"disableInfoWhenDead": "死亡時に情報を非表示",
|
||||
"disableCommandHelper": "コマンドヘルパーを無効化",
|
||||
"disableCompatibilityWarning": "互換性警告を無効化",
|
||||
|
||||
"gameMasterWarning": "ゲームマスターをオフにするまで観戦モードになります。警告: この設定が有効な場合、役職の割り当てが正確に行われない可能性があります。",
|
||||
|
||||
"cancelStartCountdown": "カウントダウンがキャンセルされました",
|
||||
|
||||
"invalidFriendCodeKick": "{0} は無効なフレンドコードのためキックされました",
|
||||
"invalidFriendCodeBan": "{0} は無効なフレンドコードのためBANされました",
|
||||
"language": "言語 (再起動が必要)",
|
||||
"gamemode": "ゲームモード",
|
||||
"tabGroupMain": "モデレーション",
|
||||
"kickLowLevelPlayer": "指定レベル未満のプレイヤーをキック",
|
||||
"tempBanLowLevelPlayer": "キックの代わりにBAN",
|
||||
"dontKickLevelOnes": "Lv.1プレイヤーをキックしない (バグロビー対策)",
|
||||
"kickInvalidFriendCodes": "無効(空欄)なフレンドコードをキック",
|
||||
"tempBanInvalidFriendCodes": "キックの代わりにBAN",
|
||||
"deniedWordsToKick": "NGワード送信者をキック",
|
||||
"moderatorCanUseCommand": "モデレーターのコマンド使用を許可",
|
||||
"autoKickStart": "「Start/開始」と発言したプレイヤーをキック",
|
||||
"autoKickStartAsBan": "キックの代わりにBAN",
|
||||
"autoKickStartStrength": "厳格検出モード",
|
||||
"tabGroupAutomation": "自動化",
|
||||
"autoSendGameInfo": "勝者情報を自動送信",
|
||||
"autoRejoinLobby": "ロビーへ自動再参加",
|
||||
"autoStartTimer": "自動スタートのカウントダウン",
|
||||
"waitAutoStart": "自動スタートまでの待機時間",
|
||||
"playerAutoStart": "自動スタートに必要な人数",
|
||||
"enableJoinMessages": "参加歓迎メッセージを有効化",
|
||||
"messagePerPlayerNum": "指定参加人数ごとの通知",
|
||||
"tabGroupMisc": "実験的",
|
||||
"startCountdown": "デフォルトのカウントダウン",
|
||||
"colorCommandLevel": "カラーコマンドの使用権限",
|
||||
"allowFortegreen": "フォルテグリーン色を許可",
|
||||
"noGameEnd": "ゲーム終了なし",
|
||||
|
||||
"tabGroupAccess": "アクセス権限",
|
||||
"slashColorCmd": "/color の使用権限",
|
||||
"slashRolesAndGamemodeCmd": "/r & テンプレート の使用権限",
|
||||
"slashLastGameCmd": "/l & /aur の使用権限",
|
||||
"slashKickCmd": "/kick & /ckick の使用権限",
|
||||
"slashBanCmd": "/ban & /cban の使用権限",
|
||||
"slashEndMeetingCmd": "/endmeeting & /seeker の使用権限",
|
||||
"slashStartAndEndGameCmd": "/startgame & /endgame の使用権限",
|
||||
|
||||
"tabGroupCrewmate": "クルー役職",
|
||||
"tabGroupNeutral": "第三陣営役職",
|
||||
"tabGroupImpostor": "インポスター役職",
|
||||
|
||||
"tabGroupStandard": "ノーマル",
|
||||
|
||||
"tabGroupHNS": "かくれんぼ (Hide and Seek)",
|
||||
"numSeekers": "鬼の人数",
|
||||
"tabGroup0Kcd": "キルクールダウン0秒",
|
||||
"noKcdSettingsOverride": "設定を自動更新",
|
||||
"tabGroupSNS": "シェイプ&シーク (Shift and Seek)",
|
||||
"snsChatInGame": "ゲーム中のチャットを許可 (ベータ機能)",
|
||||
"snsSettingsOverride": "設定を自動更新",
|
||||
"cantKillTime": "お手付き後のキル不可時間",
|
||||
"misfiresToSuicide": "指定回数のお手付きで自滅",
|
||||
"crewAutoWinsGameAfter": "クルーの自動勝利カウントダウン",
|
||||
"snsDisableSabotage": "SnS緊急サボタージュを無効化",
|
||||
"snsDisableReactor": "リアクターサボタージュを無効化",
|
||||
"snsDisableOxygen": "O2サボタージュを無効化",
|
||||
"snsDisableLights": "停電サボタージュを無効化",
|
||||
"snsDisableComms": "通信妨害サボタージュを無効化",
|
||||
"snsDisableHeli": "墜落危険サボタージュを無効化",
|
||||
"snsDisableMushroomMixup": "キノコシャッフルサボタージュを無効化",
|
||||
"snsDisableCloseDoor": "SnSドア閉鎖を無効化",
|
||||
"tabGroupSpeedrun": "スピードラン",
|
||||
"speedrunSettingsOverride": "設定を自動更新",
|
||||
"gameAutoEndsAfter": "ゲームの自動終了時間",
|
||||
"engineerMode": "全員エンジニア",
|
||||
|
||||
"tabGroupSabotages": "サボタージュ設定",
|
||||
"deadImpostorsCanSabotage": "幽霊インポスターのサボタージュを許可",
|
||||
"disableSabotage": "緊急サボタージュを無効化",
|
||||
"disableReactor": "リアクターサボタージュを無効化",
|
||||
"disableOxygen": "O2サボタージュを無効化",
|
||||
"disableLights": "停電サボタージュを無効化",
|
||||
"disableComms": "通信妨害サボタージュを無効化",
|
||||
"disableHeli": "墜落危険サボタージュを無効化",
|
||||
"disableMushroomMixup": "キノコシャッフルサボタージュを無効化",
|
||||
"disableCloseDoor": "ドア閉鎖を無効化",
|
||||
|
||||
"tabGroupGameplayGeneral": "一般ゲーム設定",
|
||||
"disableAnnoyingMeetingCalls": "開始30秒間の緊急会議召集を禁止",
|
||||
"disableReport": "通報を無効化",
|
||||
"changeDecontaminationTime": "除染時間を変更 (ノーマル限定)",
|
||||
"decontaminationTimeOnMiraHQ": "MIRA HQ 除染所要時間",
|
||||
"decontaminationDoorOpenTimeOnMiraHQ": "MIRA HQ 除染ドア開放時間",
|
||||
"decontaminationTimeOnPolus": "Polus 除染所要時間",
|
||||
"decontaminationDoorOpenTimeOnPolus": "Polus 除染ドア開放時間",
|
||||
"disableSporeTrigger": "Fungleの胞子発生を無効化",
|
||||
|
||||
"disableDevices": "端末・設備を無効化",
|
||||
"disableSkeldDevices": "The Skeld の設備を無効化",
|
||||
"disableSkeldAdmin": "The Skeld アドミンを無効化",
|
||||
"disableSkeldCamera": "The Skeld 防犯カメラを無効化",
|
||||
"disableMiraHQDevices": "MIRA HQ の設備を無効化",
|
||||
"disableMiraHQAdmin": "MIRA HQ アドミンを無効化",
|
||||
"disableMiraHQDoorLog": "MIRA HQ ドアログを無効化",
|
||||
"disablePolusDevices": "Polus の設備を無効化",
|
||||
"disablePolusAdmin": "Polus アドミンを無効化",
|
||||
"disablePolusCamera": "Polus 防犯カメラを無効化",
|
||||
"disablePolusVital": "Polus バイタルを無効化",
|
||||
"disableAirshipDevices": "The Airship の設備を無効化",
|
||||
"disableAirshipCockpitAdmin": "The Airship 操縦室アドミンを無効化",
|
||||
"disableAirshipRecordsAdmin": "The Airship 記録室アドミンを無効化",
|
||||
"disableAirshipCamera": "The Airship 防犯カメラを無効化",
|
||||
"disableAirshipVital": "The Airship バイタルを無効化",
|
||||
"disableFungleDevices": "The Fungle の設備を無効化",
|
||||
"disableFungleVital": "The Fungle バイタルを無効化",
|
||||
|
||||
"tabGroupTasks": "タスク設定",
|
||||
"allPlayersSameTasks": "全員同じタスクを割り当て",
|
||||
"overrideTaskSettings": "すべてのタスクを無効化",
|
||||
"taskPercentNeededToWin": "クルー勝利に必要なタスク完了率(%)",
|
||||
|
||||
"disableMiraTasks": "MIRA HQ タスクを無効化",
|
||||
"disableBuyBeverage": "「飲料の購入」を無効化",
|
||||
"disableMeasureWeather": "「天気の測定」を無効化",
|
||||
"disableProcessData": "「データの処理」を無効化",
|
||||
"disableRunDiagnostics": "「診断の実行」を無効化",
|
||||
"disableSortSamples": "「標本の仕分け」を無効化",
|
||||
|
||||
"disablePolusTasks": "Polus タスクを無効化",
|
||||
"disableActivateWeatherNodes": "「気象ノードの有効化」を無効化",
|
||||
"disableAlignTelescope": "「望遠鏡の整列」を無効化",
|
||||
"disableFillCanisters": "「キャニスターへの充填」を無効化",
|
||||
"disableInsertKeys": "「鍵の挿入」を無効化",
|
||||
"disableOpenWaterways": "「水路を開く」を無効化",
|
||||
"disableRebootWifi": "「Wi-Fiの再起動」を無効化",
|
||||
"disableRepairDrill": "「ドリルの修理」を無効化",
|
||||
"disableScanBoardingPass": "「搭乗券のスキヤン」を無効化",
|
||||
|
||||
"disableAirshipTasks": "The Airship タスクを無効化",
|
||||
"disableCleanToilet": "「トイレの掃除」を無効化",
|
||||
"disableDecontaminate": "「除染」を無効化",
|
||||
"disableDevelopPhotos": "「写真の現像」を無効化",
|
||||
"disableDressMannequin": "「マネキンの着せ替え」を無効化",
|
||||
"disableFixShower": "「シャワーの修理」を無効化",
|
||||
"disableMakeBurger": "「バーガーの作成」を無効化",
|
||||
"disablePickUpTowels": "「タオルを拾う」を無効化",
|
||||
"disablePolishRuby": "「ルビーを磨く」を無効化",
|
||||
"disablePutAwayPistols": "「拳銃の片付け」を無効化",
|
||||
"disablePutAwayRifles": "「ライフルを片付ける」を無効化",
|
||||
"disableRewindTapes": "「テープの巻き戻し」を無効化",
|
||||
"disableResetBreakers": "「ブレーカーのリセット」を無効化",
|
||||
"disableSortRecords": "「記録の整理」を無効化",
|
||||
"disableStartFans": "「ファンを始動」を無効化",
|
||||
"disableUnlockSafe": "「金庫の解錠」を無効化",
|
||||
|
||||
"disableFungleTasks": "The Fungle タスクを無効化",
|
||||
"disableBuildSandcastle": "「砂の城を作る」を無効化",
|
||||
"disableCatchFish": "「魚を捕まえる」を無効化",
|
||||
"disableCollectSamples": "「標本の採取」を無効化",
|
||||
"disableCollectShells": "「貝殻の採取」を無効化",
|
||||
"disableCollectVegetables": "「野菜の収穫」を無効化",
|
||||
"disableCrankGenerator": "「発電機を回す」を無効化",
|
||||
"disableExtractFuel": "「燃料の抽出」を無効化",
|
||||
"disableFixAntenna": "「アンテナの修理」を無効化",
|
||||
"disableHelpCritter": "「生き物の救出」を無効化",
|
||||
"disableHoistSupplies": "「物資の引き上げ」を無効化",
|
||||
"disableLiftWeights": "「ウエイトリフティング」を無効化",
|
||||
"disableMineOres": "「鉱石の採掘」を無効化",
|
||||
"disablePlayVideoGame": "「ゲームを遊ぶ」を無効化",
|
||||
"disablePolishGem": "「宝石を磨く」を無効化",
|
||||
"disableReplaceParts": "「部品の交換」を無効化",
|
||||
"disableRoastMarshmallow": "「マシュマロを焼く」を無効化",
|
||||
"disableThrowFisbee": "「フリスビーを投げる」を無効化",
|
||||
"disableFindSignal": "「信号を探す」を無効化",
|
||||
|
||||
"disableMiscCommonTasks": "共通タスクを無効化",
|
||||
"disableEnterIdCode": "「IDコードの入力」を無効化",
|
||||
"disableFixWiring": "「配線の修理」を無効化",
|
||||
"disableSwipeCard": "「カードを通す」を無効化",
|
||||
|
||||
"disableMiscShortTasks": "ショートタスクを無効化",
|
||||
"disableAssembleArtifact": "「アーティファクトの組み立て」を無効化",
|
||||
"disableChartCourse": "「航路の確認」を無効化",
|
||||
"disableCleanO2Filter": "「O2フィルターの清掃」を無効化",
|
||||
"disableCleanVent": "「ベントの清掃」を無効化",
|
||||
"disableMonitorMushroom": "「キノコの監視」を無効化",
|
||||
"disableMonitorTree": "「木の監視」を無効化",
|
||||
"disablePrimeShields": "「シールドの準備」を無効化",
|
||||
"disableRecordTemperature": "「温度の記録」を無効化",
|
||||
"disableStabilizeSteering": "「操舵の安定化」を無効化",
|
||||
"disableStoreArtifacts": "「アーティファクトの保管」を無効化",
|
||||
"disableUnlockManifolds": "「マニホールドの開錠」を無効化",
|
||||
|
||||
"disableMiscLongTasks": "ロングタスクを無効化",
|
||||
"disableAlignEngineOutput": "「エンジン出力の調整」を無効化",
|
||||
"disableClearAsteroids": "「小惑星の破壊」を無効化",
|
||||
"disableEmptyChute": "「ダストシュートを空にする」を無効化",
|
||||
"disableInspectSample": "「検体の検査」を無効化",
|
||||
"disableReplaceWaterJug": "「給水ボトルの交換」を無効化",
|
||||
"disableStartReactor": "「リアクターの起動」を無効化",
|
||||
"disableWaterPlants": "「植物の水やり」を無効化",
|
||||
|
||||
"disableMiscMixedTasks": "ミックス(多段階)タスクを無効化",
|
||||
"disableCalibrateDistributor": "「ディストリビューターの調整」を無効化",
|
||||
"disableDivertPower": "「電力のバイパス」を無効化",
|
||||
"disableEmptyGarbage": "「ゴミ捨て」を無効化",
|
||||
"disableFuelEngines": "「エンジンへの給油」を無効化",
|
||||
"disableSubmitScan": "「スキャンの送信」を無効化",
|
||||
"disableUploadData": "「データのアップロード」を無効化",
|
||||
|
||||
"allCommandsFull": "<b>全コマンド一覧:</b>\n\n<b>/help</b>\nこのヘルプメッセージを表示します。\n<b>/aur, /socials</b>\nAmong Us Revamped のSNSリンクを送信します。\n\n<b>/r, /gm</b>\n現在のゲームモードの説明を送信します。\n<b>/l, /lastgame</b>\n前回の勝者情報を送信します。\n\n<b>/0kc, /0killcooldown</b>\nキルクール0秒モードの説明を送信します。\n<b>/sns, /shiftandseek</b>\nシェイプ&シークモードの説明を送信します。\n<b>/sp, /speedrun</b>\nスピードランモードの説明を送信します。\n\n/<b>kick, /ban</b>\n名前指定でプレイヤーをキック/BANします。\n<b>/ckick, /cban</b>\n色指定でプレイヤーをキック/BANします。\n\n<b>/vip /moderator /admin</b>\nプレイヤーをVIP、モデレーター、管理人に設定します。\n<b>/removevip, /removemoderator, /removeadmin</b>\nプレイヤーの権限を削除します。\n\n<b>/eg, /endgame</b>\n現在のゲームを強制終了します。\n<b>/em, /endmeeting</b>\n現在の会議を強制終了します。\n<b>/s, /start</b>\nゲーム開始のカウントダウンを開始します。\n\n<b>/t {template}</b>\nAUR-DATA/templates.txt から定型文を送信します。\n\n<b>/col, /color, /colour</b>\n自分の色を設定します(制限解除に使用可能)。",
|
||||
|
||||
"translationReloaded": "翻訳ファイルが正常にリセットされました。\n変更を適用するにはゲームを再起動してください。",
|
||||
|
||||
"templateWelcome": "# このファイルには定型文(テンプレート)を追加できます。\n# テンプレートを作成するには、下の例と同じフォーマットで新しい行を追加してください。\n# 注意: テンプレートは120文字を超えてはいけず、特殊文字も使用できません(送信時にキックされます)。\n\ntest: これはテンプレートの例です。'/t test' と入力して送信します。\n\nwelcome: ようこそ! このロビーは MV 作成の Among Us Revamped {ModVersion} を使用しています。お楽しみください!",
|
||||
"moderatorWelcome": "# このファイルにはフレンドコードでモデレーターを追加できます。\n# 追加されたプレイヤーはゲーム内で名前が紫色で表示されます。\n# 権限のカスタマイズはゲーム内の「システム設定」で行えます。以下は記述例です。\n\nfriendcode#0000",
|
||||
"vipWelcome": "# このファイルにはフレンドコードでVIPを追加できます。\n# 追加されたプレイヤーはゲーム内で名前が黄色で表示されます。\n# 権限のカスタマイズはゲーム内の「システム設定」で行えます。以下は記述例です。\n\nfriendcode#0000\n",
|
||||
"adminWelcome": "# このファイルにはフレンドコードで管理人(Admin)を追加できます。\n# 追加されたプレイヤーはゲーム内で名前が赤色で表示されます。\n# 権限のカスタマイズはゲーム内の「システム設定」で行えます。以下は記述例です。\n\nfriendcode#0000\n",
|
||||
"banlistWelcome": "# このファイルにフレンドコードを記述することでプレイヤーをBANリストに追加できます。\n# ゲーム内でBANしたプレイヤーも自動的にここへ追加されます。以下は記述例です。\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# このファイルではNGワードを設定できます。リスト内の単語を発言したプレイヤーは自動的にキックされます。\n# 単語ごとに改行して区切ってください。",
|
||||
"bannameWelcome": "# このファイルではNGネームを設定できます。リスト内の名前を使用しているプレイヤーは自動的にキックされます。\n# 名前ごとに改行して区切ってください。",
|
||||
"noGameEndWarning": "警告: 「ゲーム終了なし」が有効になっています",
|
||||
|
||||
"tooLongTemplate": "テンプレートが120文字を超えているため、送信するとキックされます。文字数を減らしてください。",
|
||||
|
||||
"vipAdd": "{0} をVIPに追加しました。",
|
||||
"moderatorAdd": "{0} をモデレーターに追加しました。",
|
||||
"adminAdd": "{0} を管理人に追加しました。",
|
||||
"vipRemove": "{0} のVIP権限を削除しました。",
|
||||
"moderatorRemove": "{0} のモデレーター権限を削除しました。",
|
||||
"adminRemove": "{0} の管理人権限を削除しました。",
|
||||
"permFail": "ユーザー '{0}' が見つかりませんでした。綴りが正しいか確認してください。",
|
||||
|
||||
"helpDesc": "すべてのコマンドと機能を表示します。",
|
||||
"snsDesc": "シェイプ&シークモードの説明を送信します。",
|
||||
"0kcDesc": "キルクール0秒モードの説明を送信します。",
|
||||
"SrDesc": "スピードランモードの説明を送信します。",
|
||||
"egDesc": "現在のゲームを強制終了します。",
|
||||
"emDesc": "現在の会議を強制終了します。",
|
||||
"aurDesc": "Among Us Revamped のSNSリンクを送信します。",
|
||||
"sDesc": "ゲーム開始カウントダウンを開始します。",
|
||||
"rDesc": "現在のゲームモードの説明を送信します。",
|
||||
"rolesDesc": "すべての能力・モードの概要を送信します。",
|
||||
"kickDesc": "名前指定でプレイヤーをキックします。",
|
||||
"ckickDesc": "色指定でプレイヤーをキックします。",
|
||||
"banDesc": "名前指定でプレイヤーをBANします。",
|
||||
"cbanDesc": "色指定でプレイヤーをBANします。",
|
||||
"dumpDesc": "LogOutputを別のファイルにコピーします。",
|
||||
"colDesc": "自分の色を変更します。",
|
||||
"reloadDesc": "言語ファイルを再読み込みします。",
|
||||
"vipDesc": "ユーザーをVIPに追加します。",
|
||||
"moderatorDesc": "ユーザーをモデレーターに追加します。",
|
||||
"adminDesc": "ユーザーを管理人に追加します。",
|
||||
"cremoveVipDesc": "ユーザーからVIP権限を削除します。",
|
||||
"removeModeratorDesc": "ユーザーからモデレーター権限を削除します。",
|
||||
"removeAdminDesc": "ユーザーから管理人権限を削除します。",
|
||||
"lastgameDesc": "前回のゲーム情報を送信します。",
|
||||
"templateDesc": "AUR-DATA/templates.txt から指定のテンプレートを送信します。",
|
||||
"seekerDesc": "かくれんぼでプレイヤーを鬼(Seeker)に指定します。",
|
||||
|
||||
"banWordKick": "{0} は DeniedWords.txt に登録されたNGワードを {1} 回送信したためキックされました",
|
||||
|
||||
"pluginWarning": "<color=red><size=5><b>警告:</color></b></size>\n<size=3><b>複数のプラグイン(Mod)が検出されました。</size></b>\nAmong Us Revamped は他の多くのMODと互換性がありません。\nバグが発生する場合、そのほとんどはMod間の競合によるものです。",
|
||||
|
||||
"systemSettings": "システム設定",
|
||||
"gameplaySettings": "ゲームプレイ設定",
|
||||
"gamemodeSettings": "モード設定",
|
||||
"gamemodeSettings": "ゲームモード設定",
|
||||
|
||||
"systemSettingsDesc": "快適性の向上やテスト目的の画質・システム設定。",
|
||||
"gameplaySettingsDesc": "ゲーム内体験を改善するための設定。",
|
||||
"gamemodeSettingsDesc": "特定のゲームモードに適したシチュエーション設定。",
|
||||
"systemSettingsDesc": "快適性やテスト作業を向上させる各種設定。",
|
||||
"gameplaySettingsDesc": "局内の体験を向上させるゲームプレイ設定。",
|
||||
"gamemodeSettingsDesc": "特定モード用に適用する状況別の設定。",
|
||||
|
||||
"everyone": "全員",
|
||||
"vipAndAbove": "<color=yellow>VIP</color> 以上",
|
||||
"moderatorAndAbove": "<color=purple>モデレーター</color> 以上",
|
||||
"admin": "<color=red>管理者</color>",
|
||||
"onlyYou": "自分のみ",
|
||||
|
||||
"gameMaster": "管理者",
|
||||
"showFPS": "FPSを表示",
|
||||
"autoStart": "自動開始",
|
||||
"enableDarkTheme": "ダークテーマを有効化",
|
||||
"enableLobbyMusic": "ロビーBGM",
|
||||
"disableInfoWhenDead": "死亡後に情報を非表示",
|
||||
"disableCommandHelper": "コマンドヘルパーを無効化",
|
||||
|
||||
"gameMasterWarning": "ゲーム管理者をオフにするまで、観戦モードに入ります。警告:この設定を有効にすると、スキルのメッセージが送信されなくなったり、配役の割り当てが不正確になったりする可能性があります。",
|
||||
|
||||
"cancelStartCountdown": "開始カウントダウンがキャンセルされました",
|
||||
"admin": "<color=red>管理人</color>",
|
||||
"onlyYou": "あなたのみ",
|
||||
"seekersDesc": "手動で選択されたシーカーをすべて表示します。",
|
||||
"clearSeekerDesc": "手動シーカーリストをクリアします。",
|
||||
"startWordsWelcome": "# このファイルでは、「Start」と発言したプレイヤーをキックする機能で検出する単語を設定できます。\n# 「厳格検出モード」OFF = メッセージが単語と完全に一致する必要があります。\n# 「厳格検出モード」ON = メッセージに単語が含まれているだけで検出されます。\n# ロビー内でのみ検出したい無関係な単語を追加することもできます。\n\nstart\nbegin\ncommence",
|
||||
"gameMasterWarningTwo": "警告:ゲームマスターが有効になっています",
|
||||
"startWordKick": "{0} は StartWords.txt に設定された単語を送信したためキックされました(回数:{1}回)",
|
||||
"seekers": "シーカー:",
|
||||
"clearedSeekers": "手動シーカーリストを正常にクリアしました。",
|
||||
"autoKickStartTimes": "StartWordsを送信した回数でキック",
|
||||
|
||||
|
||||
|
||||
"invalidFriendCodeKick": "{0} はフレンドコードが無効なためキックされました",
|
||||
"invalidFriendCodeBan": "{0} はフレンドコードが無効なためBANされました",
|
||||
"language": "言語 (再起動が必要)",
|
||||
"gamemode": "ゲームモード",
|
||||
"tabGroupMain": "管理設定",
|
||||
"kickLowLevelPlayer": "このレベル未満のプレイヤーをキック",
|
||||
"tempBanLowLevelPlayer": "キックではなくBANにする",
|
||||
"dontKickLevelOnes": "部屋のエラーによるレベル1プレイヤーのキックを防止",
|
||||
"kickInvalidFriendCodes": "無効(空)のフレンドコードをキック",
|
||||
"tempBanInvalidFriendCodes": "キックではなくBANにする",
|
||||
"deniedWordsToKick": "NGワード送信時にプレイヤーをキック",
|
||||
"moderatorCanUseCommand": "モデレーターはコマンドを使用可能",
|
||||
"autoKickStart": "「Start」と送信したプレイヤーを自動キック",
|
||||
"autoKickStartAsBan": "キックではなくBANにする",
|
||||
"autoKickStartTimes": "キックに必要な「Start」の送信回数",
|
||||
"autoKickStartStrength": "厳格な検出モード",
|
||||
"tabGroupAutomation": "自動化",
|
||||
"autoSendGameInfo": "勝者情報を自動送信",
|
||||
"autoRejoinLobby": "ロビーに自動で再参加",
|
||||
"autoStartTimer": "自動開始カウントダウン",
|
||||
"waitAutoStart": "自動開始の待機時間",
|
||||
"playerAutoStart": "自動開始に必要な人数",
|
||||
"enableJoinMessages": "入室歓迎メッセージを有効化",
|
||||
"messagePerPlayerNum": "指定した入室人数に達するごとにメッセージを送信",
|
||||
"tabGroupMisc": "その他設定",
|
||||
"startCountdown": "デフォルトの開始カウントダウン",
|
||||
"colorCommandLevel": "カラーコマンドを使用できる権限",
|
||||
"allowFortegreen": "フォートグリーンを許可",
|
||||
"noGameEnd": "ゲームが絶対に終了しない",
|
||||
|
||||
"tabGroupAccess": "権限レベル",
|
||||
"slashColorCmd": "/color を使用できる権限",
|
||||
"slashRolesAndGamemodeCmd": "/r とテンプレートを使用できる権限",
|
||||
"slashLastGameCmd": "/l と /aur を使用できる権限",
|
||||
"slashKickCmd": "/kick と /ckick を使用できる権限",
|
||||
"slashBanCmd": "/ban と /cban を使用できる権限",
|
||||
"slashEndMeetingCmd": "/endmeeting を使用できる権限",
|
||||
"slashStartAndEndGameCmd": "/startgame と /endgame を使用できる権限",
|
||||
"tabGroupLevelKick": "レベル管理",
|
||||
"enableKickLowLevelPlayer": "低レベルのプレイヤーをキック",
|
||||
"tabGroupKickInvalidFriendCodes": "無効なフレンドコード",
|
||||
"tabGroupAutoKickStart": "StartWords",
|
||||
"tabGroupAutostart": "自動ホスト",
|
||||
"rehost": "切断時にロビーを自動で再作成",
|
||||
"public": "新しいロビーを自動で公開",
|
||||
"mapVoteDuration": "マップ投票時間",
|
||||
"tabGroupDeniedWords": "禁止ワード",
|
||||
"enableDeniedWords": "禁止ワードを送信したプレイヤーをキック",
|
||||
"slashMapAndSeekerCmd": "/seeker と /mapvote を使用できる人",
|
||||
"snsChatInGameExtend": "ゲーム開始後にゲームモード情報を送信",
|
||||
|
||||
"tabGroupCrewmate": "クルーメイトの役職",
|
||||
"tabGroupNeutral": "ニュートラルの役職",
|
||||
"tabGroupImpostor": "インポスターの役職",
|
||||
"mapVoteDesc": "5つの通常マップで投票を開始します。",
|
||||
"allMapVoteDesc": "Eht Dleks を含む全6マップで投票を開始します。",
|
||||
|
||||
"tabGroupStandard": "スタンダードモード",
|
||||
"banWordBan": "{0} は DeniedWords.txt の単語を {1} 回送信したためBANされました",
|
||||
"startWordBan": "{0} は StartWords.txt の単語を {1} 回送信したためBANされました",
|
||||
|
||||
"tabGroupHNS": "かくれんぼモード (Hide and Seek)",
|
||||
"numSeekers": "オニの数",
|
||||
"tabGroup0Kcd": "キルクールダウン0秒モード (0 Kill Cooldown)",
|
||||
"noKcdSettingsOverride": "設定の自動更新",
|
||||
"tabGroupSNS": "シフト&シーク (Shift and Seek)",
|
||||
"snsChatInGame": "ゲーム進行中のチャットを許可 (実験的)",
|
||||
"snsSettingsOverride": "設定の自動更新",
|
||||
"cantKillTime": "ミス/空振り後のキル不能時間",
|
||||
"misfiresToSuicide": "ミスが指定回数に達した時に自害",
|
||||
"crewAutoWinsGameAfter": "クルーがこの時間経過後に自動勝利",
|
||||
"snsDisableSabotage": "SnSの緊急サボタージュを無効化",
|
||||
"snsDisableReactor": "リアクター妨害を無効化",
|
||||
"snsDisableOxygen": "酸素妨害を無効化",
|
||||
"snsDisableLights": "停電妨害を無効化",
|
||||
"snsDisableComms": "通信妨害を無効化",
|
||||
"snsDisableHeli": "墜落危機妨害を無効化",
|
||||
"snsDisableMushroomMixup": "キノコまぜまぜ妨害を無効化",
|
||||
"snsDisableCloseDoor": "SnSのドア閉め妨害を無効化",
|
||||
"tabGroupSpeedrun": "タイムアタックモード (Speedrun)",
|
||||
"speedrunSettingsOverride": "設定の自動更新",
|
||||
"gameAutoEndsAfter": "ゲームがこの時間経過後に自動終了",
|
||||
"engineerMode": "全員がエンジニア",
|
||||
"moderationSettings": "モデレーション設定",
|
||||
"moderationSettingsDesc": "荒らしや迷惑行為を防止するための設定です。",
|
||||
|
||||
"tabGroupSabotages": "サボタージュ設定",
|
||||
"deadImpostorsCanSabotage": "死亡したインポスターもサボタージュ可能",
|
||||
"disableSabotage": "緊急サボタージュを無効化",
|
||||
"disableReactor": "リアクター妨害を無効化",
|
||||
"disableOxygen": "酸素妨害を無効化",
|
||||
"disableLights": "停電妨害を無効化",
|
||||
"disableComms": "通信妨害を無効化",
|
||||
"disableHeli": "墜落危機妨害を無効化",
|
||||
"disableMushroomMixup": "キノコまぜまぜ妨害を無効化",
|
||||
"disableCloseDoor": "ドア閉め妨害を無効化",
|
||||
"rehostSuccess": "ロビーの再作成に成功しました",
|
||||
"enableKickHighLevelPlayer": "高レベルプレイヤーのキックを有効化",
|
||||
"kickHighLevelPlayer": "指定レベル以上のプレイヤーをキック",
|
||||
"kick": "キック",
|
||||
"ban": "BAN",
|
||||
"notifyMe": "通知する",
|
||||
|
||||
"tabGroupGameplayGeneral": "全般的なゲームプレイ",
|
||||
"disableAnnoyingMeetingCalls": "ゲーム開始後30秒間は緊急会議の招集を禁止",
|
||||
"disableReport": "死体通報を無効化",
|
||||
"changeDecontaminationTime": "除染室の時間を上書き (スタンダードモードのみ)",
|
||||
"decontaminationTimeOnMiraHQ": "Mira HQの除染持続時間",
|
||||
"decontaminationDoorOpenTimeOnMiraHQ": "Mira HQのドア開放持続時間",
|
||||
"decontaminationTimeOnPolus": "Polusの除染持続時間",
|
||||
"decontaminationDoorOpenTimeOnPolus": "Polusのドア開放持続時間",
|
||||
"disableSporeTrigger": "The Fungleの胞子トリガーを無効化",
|
||||
"tabGroupAfk": "AFK検知",
|
||||
"enableAfkDetection": "AFK検知を有効化",
|
||||
"afkTimer": "検知までの時間",
|
||||
"afkPenalty": "AFK時のペナルティ",
|
||||
"onlyDetectSpawn": "スポーン地点のプレイヤーのみ検知",
|
||||
|
||||
"disableDevices": "端末を無効化",
|
||||
"disableSkeldDevices": "Skeldの端末を無効化",
|
||||
"disableSkeldAdmin": "Skeldの管理室マップを無効化",
|
||||
"disableSkeldCamera": "Skeldの監視カメラを無効化",
|
||||
"disableMiraHQDevices": "Mira HQの端末を無効化",
|
||||
"disableMiraHQAdmin": "Mira HQの管理室マップを無効化",
|
||||
"disableMiraHQDoorLog": "Mira HQのセンサーログを無効化",
|
||||
"disablePolusDevices": "Polusの端末を無効化",
|
||||
"disablePolusAdmin": "Polusの管理室マップを無効化",
|
||||
"disablePolusCamera": "Polusの監視カメラを無効化",
|
||||
"disablePolusVital": "Polusのバイタルを無効化",
|
||||
"disableAirshipDevices": "Airshipの端末を無効化",
|
||||
"disableAirshipCockpitAdmin": "Airshipのコックピット管理室マップを無効化",
|
||||
"disableAirshipRecordsAdmin": "Airshipの記録室管理室マップを無効化",
|
||||
"disableAirshipCamera": "Airshipの監視カメラを無効化",
|
||||
"disableAirshipVital": "Airshipのバイタルを無効化",
|
||||
"disableFungleDevices": "The Fungleの端末を無効化",
|
||||
"disableFungleVital": "The Fungleのバイタルを無効化",
|
||||
"afkNotify": "{0} は {1}秒間AFKです",
|
||||
"afkKick": "{0} は {1}秒間AFKのため、キックします",
|
||||
"afkBan": "{0} は {1}秒間AFKのため、BANします",
|
||||
|
||||
"tabGroupTasks": "タスク設定",
|
||||
"allPlayersSameTasks": "全員が同じタスクを所持",
|
||||
"overrideTaskSettings": "タスクを無効化",
|
||||
"taskPercentNeededToWin": "クルーの勝利に必要なタスク達成割合",
|
||||
|
||||
"disableMiraTasks": "Mira HQのタスクを無効化",
|
||||
"disableBuyBeverage": "「飲料を買う」を無効化",
|
||||
"disableMeasureWeather": "「天気を計測する」を無効化",
|
||||
"disableProcessData": "「データを処理する」を無効化",
|
||||
"disableRunDiagnostics": "「診断を実行する」を無効化",
|
||||
"disableSortSamples": "「サンプルを整理する」を無効化",
|
||||
|
||||
"disablePolusTasks": "Polusのタスクを無効化",
|
||||
"disableActivateWeatherNodes": "「気象ノードを起動する」を無効化",
|
||||
"disableAlignTelescope": "「望遠鏡を調整する」を無効化",
|
||||
"disableFillCanisters": "「キャニスターを満たす」を無効化",
|
||||
"disableInsertKeys": "「鍵を差し込む」を無効化",
|
||||
"disableOpenWaterways": "「水路を開く」を無効化",
|
||||
"disableRebootWifi": "「Wi-Fiを再起動する」を無効化",
|
||||
"disableRepairDrill": "「ドリルを修理する」を無効化",
|
||||
"disableScanBoardingPass": "「搭乗券をスキャンする」を無効化",
|
||||
|
||||
"disableAirshipTasks": "Airshipのタスクを無効化",
|
||||
"disableCleanToilet": "「トイレを掃除する」を無効化",
|
||||
"disableDecontaminate": "「除染する」を無効化",
|
||||
"disableDevelopPhotos": "「写真を現像する」を無効化",
|
||||
"disableDressMannequin": "「マネキンに着せ替える」を無効化",
|
||||
"disableFixShower": "「シャワーヘッドを修理する」を無効化",
|
||||
"disableMakeBurger": "「ハンバーガーを作る」を無効化",
|
||||
"disablePickUpTowels": "「タオルを拾う」を無効化",
|
||||
"disablePolishRuby": "「ルビーを磨く」を無効化",
|
||||
"disablePutAwayPistols": "「ピストルを片付ける」を無効化",
|
||||
"disablePutAwayRifles": "「ライフルを片付ける」を無効化",
|
||||
"disableRewindTapes": "「テープを巻き戻す」を無効化",
|
||||
"disableResetBreaker": "「ブレーカーをリセットする」を無効化",
|
||||
"disableSortRecords": "「記録を整理する」を無効化",
|
||||
"disableStartFans": "「ファンを始動する」を無効化",
|
||||
"disableUnlockSafe": "「金庫を開ける」を無効化",
|
||||
|
||||
"disableFungleTasks": "The Fungleのタスクを無効化",
|
||||
"disableBuildSandcastle": "「砂のお城を作る」を無効化",
|
||||
"disableCatchFish": "「魚釣りをする」を無効化",
|
||||
"disableCollectSamples": "「サンプルを採集する」を無効化",
|
||||
"disableCollectShells": "「貝殻を集める」を無効化",
|
||||
"disableCollectVegetables": "「野菜を収穫する」を無効化",
|
||||
"disableCrankGenerator": "「発電機を回す」を無効化",
|
||||
"disableExtractFuel": "「燃料を抽出する」を無効化",
|
||||
"disableFixAntenna": "「アンテナを修理する」を無効化",
|
||||
"disableHelpCritter": "「小動物を助ける」を無効化",
|
||||
"disableHoistSupplies": "「物資を巻き上げる」を無効化",
|
||||
"disableLiftWeights": "「ウエイトリフティング」を無効化",
|
||||
"disableMineOres": "「鉱石を採掘する」を無効化",
|
||||
"disablePlayVideoGame": "「ゲームを遊ぶ」を無効化",
|
||||
"disablePolishGem": "「宝石を磨く」を無効化",
|
||||
"disableReplaceParts": "「部品を交換する」を無効化",
|
||||
"disableRoastMarshmallow": "「マシュマロを焼く」を無効化",
|
||||
"disableThrowFisbee": "「フリスビーを投げる」を無効化",
|
||||
"disableFindSignal": "「電波を探す」を無効化",
|
||||
|
||||
"disableMiscCommonTasks": "共通タスクをグローバル無効化",
|
||||
"disableEnterIdCode": "「IDコードを入力する」を無効化",
|
||||
"disableFixWiring": "「配線を修理する」を無効化",
|
||||
"disableSwipeCard": "「カードをスワイプする」を無効化",
|
||||
|
||||
"disableMiscShortTasks": "ショートタスクをグローバル無効化",
|
||||
"disableAssembleArtifact": "「遺物を組み立てる」を無効化",
|
||||
"disableChartCourse": "「航路を設定する」を無効化",
|
||||
"disableCleanO2Filter": "「酸素フィルターを清掃する」を無効化",
|
||||
"disableCleanVent": "「ベントを清掃する」を無効化",
|
||||
"disableMonitorMushroom": "「キノコを監視する」を無効化",
|
||||
"disableMonitorTree": "「木を監視する」を無効化",
|
||||
"disablePrimeShields": "「シールドを充填する」を無効化",
|
||||
"disableRecordTemperature": "「温度を記録する」を無効化",
|
||||
"disableStabilizeSteering": "「操縦を安定させる」を無効化",
|
||||
"disableStoreArtifacts": "「遺物を保管する」を無効化",
|
||||
"disableUnlockManifolds": "「マニホールドを開ける」を無効化",
|
||||
|
||||
"disableMiscLongTasks": "ロングタスクをグローバル無効化",
|
||||
"disableAlignEngineOutput": "「エンジン出力を調整する」を無効化",
|
||||
"disableClearAsteroids": "「小惑星をクリアする」を無効化",
|
||||
"disableEmptyChute": "「ゴミ捨て場のシュートを空にする」を無効化",
|
||||
"disableInspectSample": "「サンプルを検査する」を無効化",
|
||||
"disableReplaceWaterJug": "「給水ボトルの交換」を無効化",
|
||||
"disableStartReactor": "「リアクターを起動する」を無効化",
|
||||
"disableWaterPlants": "「植物に水をやる」を無効化",
|
||||
|
||||
"disableMiscMixedTasks": "複合タスクをグローバル無効化",
|
||||
"disableCalibrateDistributor": "「配電盤を調整する」を無効化",
|
||||
"disableDivertPower": "「電力を転送する」を無効化",
|
||||
"disableEmptyGarbage": "「ゴミを捨てる」を無効化",
|
||||
"disableFuelEngines": "「エンジンに燃料を補給する」を無効化",
|
||||
"disableSubmitScan": "「スキャンを送信する」を無効化",
|
||||
"disableUploadData": "「データをアップロードする」を無効化",
|
||||
|
||||
"allCommandsFull": "<b>すべてのコマンド:</b>\n\n<b>/help</b>\nこのヘルプメッセージを表示します。\n<b>/aur, /socials</b>\nAmong Us RevampedのSNSリンクを送信します。\n\n<b>/r, /gm</b>\n現在のモード紹介またはスキルリストを送信します。\n<b>/l, /lastgame</b>\n前回のゲームの勝者情報を送信します。\n\n<b>/0kc, /0killcooldown</b>\nキルクールダウン0秒モードの紹介を送信します。\n<b>/sns, /shiftandseek</b>\nシフト&シークモードの紹介を送信します。\n<b>/sp, /speedrun</b>\nタイムアタックモードの紹介を送信します。\n\n/<b>kick, /ban</b>\n名前を指定してプレイヤーをキックまたはBANします。\n<b>/ckick, /cban</b>\n色を指定してプレイヤーをキックまたはBANします。\n\n<b>/vip /moderator /admin</b>\nプレイヤーをVIP、モデレーター、または管理者に設定します。\n<b>/removevip, /removemoderator, /removeadmin</b>\nプレイヤーのVIP、モデレーター、または管理者権限を剥奪します。\n\n<b>/eg, /endgame</b>\n現在のゲームを終了します。\n<b>/em, /endmeeting</b>\n現在の会議を終了します。\n<b>/s, /start</b>\nゲーム開始のカウントダウンを始めます。\n\n<b>/t {template}</b>\nAUR-DATA/templates.txt内の指定されたテンプレートを送信します。\n\n<b>/col, /color, /colour</b>\nあなたのカラーを設定します(制限のバイパスに使用可能)。",
|
||||
|
||||
"translationReloaded": "ファイルが正常にリセットされました。\nすべての変更を適用するには、ゲームを再起動してください。",
|
||||
|
||||
"templateWelcome": "# このファイルでは、簡単にコピー&ペーストできるテンプレートを追加できます。\n# 新しいテンプレートを作成するには、改行して下のテスト用テンプレートと同じ形式を使用してください。\n# テンプレートの長さは120文字を超えることはできず、特殊文字も含められません。超えた場合は部屋からキックされます。\n\ntest: これはテンプレートの例です。「/t test」と入力すると表示されます。\n\nwelcome: ようこそ!このロビーはMV制作の Among Us Revamped {ModVersion} を使用しています。お楽しみください!",
|
||||
"moderatorWelcome": "# このファイルでは、フレンドコードを使ってモデレーターを追加できます。\n# 追加されると、ゲーム内での名前が紫色になります。\n# ゲーム内の「システム設定」からモデレーター権限をカスタマイズしてください。以下はフレンドコードの例です。\n\nfriendcode#0000",
|
||||
"vipWelcome": "# このファイルでは、フレンドコードを使ってVIPを追加できます。\n# 追加されると、ゲーム内での名前が黄色になります。\n# ゲーム内の「システム設定」からVIP権限をカスタマイズしてください。以下はフレンドコードの例です。\n\nfriendcode#0000\n",
|
||||
"adminWelcome": "# このファイルでは、フレンドコードを使って管理職(Admin)を追加できます。\n# 追加されると、ゲーム内での名前が赤色になります。\n# ゲーム内の「システム設定」から管理者権限をカスタマイズしてください。以下はフレンドコードの例です。\n\nfriendcode#0000\n",
|
||||
"banlistWelcome": "# このファイルでは、フレンドコードを使ってロビーからプレイヤーをBANできます。\n# ゲーム内で誰かをBANすると、自動的にここにも同期されます。以下はフレンドコードの例です。\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# このファイルでは、NGワードを設定できます。ここでリストされた単語をゲーム内で送信したプレイヤーは自動的にキックされます。\n# 単語ごとに必ず改行して区切ってください。",
|
||||
"bannameWelcome": "# このファイルでは、NG名前を設定できます。ここでリストされた名前をゲーム内で使用しているプレイヤーは自動的にキックされます。\n# 名前ごとに必ず改行して区切ってください。",
|
||||
|
||||
"noGameEndWarning": "警告:「ゲームが絶対に終了しない」が有効になっています",
|
||||
|
||||
"tooLongTemplate": "テンプレートが120文字を超えているため、送信するとキックされます。長さを短くしてください。",
|
||||
|
||||
"vipAdd": "{0} を VIP として登録しました。",
|
||||
"moderatorAdd": "{0} を モデレーター として登録しました。",
|
||||
"adminAdd": "{0} を 管理者 として登録しました。",
|
||||
"vipRemove": "{0} の VIP 権限を削除しました。",
|
||||
"moderatorRemove": "{0} の モデレーター 権限を削除しました。",
|
||||
"adminRemove": "{0} の 管理者 権限を削除しました。",
|
||||
"permFail": "ユーザー '{0}' が見つかりません。スペルが正しいか確認してください。",
|
||||
|
||||
"helpDesc": "すべてのコマンドとその機能を表示します。",
|
||||
"snsDesc": "シフト&シーク (Shift and Seek) ゲームモードの紹介を送信します。",
|
||||
"0kcDesc": "キルクールダウン0秒 (0 Kill Cooldown) ゲームモードの紹介を送信します。",
|
||||
"SrDesc": "タイムアタック (Speedrun) ゲームモード의 紹介を送信します。",
|
||||
"egDesc": "現在のゲームを終了します。",
|
||||
"emDesc": "現在の会議を終了します。",
|
||||
"aurDesc": "Among Us RevampedのSNSリンクを送信します。",
|
||||
"sDesc": "ゲーム開始のカウントダウンを始めます。",
|
||||
"rDesc": "/r はアクティブなスキルまたは現在のモードを送信します。",
|
||||
"rolesDesc": "すべてのスキル・ゲームモードの概要を送信します。",
|
||||
"kickDesc": "名前を指定してプレイヤーをキックします。",
|
||||
"ckickDesc": "色を指定してプレイヤーをキックします。",
|
||||
"banDesc": "名前を指定してプレイヤーをBANします。",
|
||||
"cbanDesc": "色を指定してプレイヤーをBANします。",
|
||||
"dumpDesc": "LogOutput(ログ出力)を独立したファイルにコピーします。",
|
||||
"colDesc": "あなたのカラーを設定します。",
|
||||
"reloadDesc": "言語ファイルを再読み込みします。",
|
||||
"vipDesc": "ユーザーを VIP に追加します。",
|
||||
"moderatorDesc": "ユーザーを モデレーター に追加します。",
|
||||
"adminDesc": "ユーザーを 管理者 に追加します。",
|
||||
"cremoveVipDesc": "ユーザーの VIP 権限を削除します。",
|
||||
"removeModeratorDesc": "ユーザーの モデレーター 権限を削除します。",
|
||||
"removeAdminDesc": "ユーザーの 管理者 権限を削除します。",
|
||||
"lastgameDesc": "前回のゲーム情報を送信します。",
|
||||
"templateDesc": "AUR-DATA/templates.txtで指定されたテンプレートを送信します。",
|
||||
|
||||
"banWordKick": "{0} はNGワードを送信したためキックされました(累計回数:{1} 回)",
|
||||
|
||||
"pluginWarning": "<color=red><size=5><b>警告:</color></b></size>\n<size=3><b>2つ以上のプラグインが有効化されていることを検出しました。</size></b>\nAmong Us RevampedはほとんどのModと互換性がありません。\n不具合が発生した場合、競合が原因である可能性が非常に高いです。"
|
||||
"automaticMapPoll": "再参加後に /mapvote を自動実行",
|
||||
"automaticAllMapPoll": "再参加後に /allmapvote を自動実行",
|
||||
"timeBeforeMapPoll": "投票開始までの待機時間",
|
||||
"pnsDesc": "Poof and Seekゲームモードの説明を送信します。",
|
||||
"pnsDisableSabotage": "PnSの重大なサボタージュを無効にする",
|
||||
"pnsDisableCloseDoor": "PnSのドア閉鎖サボタージュを無効にする",
|
||||
"tabGroupPNS": "Poof and Seek",
|
||||
"badMoveTimeToSuicide": "幻象師が明らかに移動した後、自殺するまでの時間",
|
||||
"snsImpostorCanVent": "インポスターはベントを使用できる"
|
||||
}
|
||||
@@ -10,9 +10,7 @@
|
||||
"disableCommandHelper": "Выключить Командного Помощника",
|
||||
"disableCompatibilityWarning": "Выключить Предупреждение Совместимости",
|
||||
|
||||
"gameMasterWarning":"Вы будете наблюдать игры пока включён режим спектатора. ВНИМАНИЕ: Сообщения со способностями не будут отправлены и назначение ролей может быть неправильным если эта настройка включена.",
|
||||
|
||||
"cancelStartCountdown": "Отсчет до старта отменён",
|
||||
"cancelStartCountdown": "Отсчёт до старта отменён",
|
||||
|
||||
"invalidFriendCodeKick": "{0} был кикнут из-за неправильного Кода друга",
|
||||
"invalidFriendCodeBan": "{0} был забанен из-за неправильного Кода друга",
|
||||
@@ -28,18 +26,17 @@
|
||||
"moderatorCanUseCommand": "Модераторы Могут Использовать Команды",
|
||||
"autoKickStart": "Кикать Игроков Которые Говорят Start",
|
||||
"autoKickStartAsBan": "Банить вместо кика",
|
||||
"autoKickStartTimes": "Start сообщений нужно для кика",
|
||||
"autoKickStartStrength": "Режим строго обнаружения",
|
||||
"autoKickStartStrength": "Режим строгого обнаружения",
|
||||
"tabGroupAutomation": "Автоматизация",
|
||||
"autoSendGameInfo": "Автоматически отправлять информацию о победителе",
|
||||
"autoSendGameInfo": "Автоматически отправлять информацию о победителях",
|
||||
"autoRejoinLobby": "Автоматически перезаходить в лобби",
|
||||
"autoStartTimer": "Отсчет Для Авто Старта",
|
||||
"autoStartTimer": "Отсчёт Для Авто Старта",
|
||||
"waitAutoStart": "Авто Старт После",
|
||||
"playerAutoStart": "Игроков Нужно Для Авто Старта",
|
||||
"enableJoinMessages": "Включить Сообщение С Приветствиями",
|
||||
"messagePerPlayerNum": "Сообщение Каждое Количество Заходов",
|
||||
"tabGroupMisc": "Разное",
|
||||
"startCountdown": "Отсчет Для Старта По Умолчанию",
|
||||
"messagePerPlayerNum": "Сообщение Каждые # Заходов",
|
||||
"tabGroupMisc": "Экспериментальное",
|
||||
"startCountdown": "Отсчёт Для Старта По Умолчанию",
|
||||
"colorCommandLevel": "Кто Может использовать Команды Цветов",
|
||||
"allowFortegreen": "Разрешить Фортезелёный Цвет",
|
||||
"noGameEnd": "Без Конца Игры",
|
||||
@@ -50,7 +47,6 @@
|
||||
"slashLastGameCmd": "Кто Может Использовать /l & /aur",
|
||||
"slashKickCmd": "Кто Может Использовать /kick & /ckick",
|
||||
"slashBanCmd": "Кто Может Использовать /ban & /cban",
|
||||
"slashEndMeetingCmd": "Кто Может Использовать /endmeeting",
|
||||
"slashStartAndEndGameCmd": "Кто Может Использовать /startgame & /endgame",
|
||||
|
||||
"tabGroupCrewmate": "Роли Экипажа",
|
||||
@@ -69,7 +65,7 @@
|
||||
"cantKillTime": "После Осечки Нельзя Убивать В Течение",
|
||||
"misfiresToSuicide": "Самоубийство После Количества Осечек",
|
||||
"crewAutoWinsGameAfter": "Экипаж Автоматически Побеждает После",
|
||||
"snsDisableSabotage": "Выключить Критические Сабботажи в Режиме Клона",
|
||||
"snsDisableSabotage": "Выключить Критические Саботажи в Режиме Клона",
|
||||
"snsDisableReactor": "Выключить Сабботаж Реактора",
|
||||
"snsDisableOxygen": "Выключить Сабботаж O2",
|
||||
"snsDisableLights": "Выключить Сабботаж Света",
|
||||
@@ -82,9 +78,9 @@
|
||||
"gameAutoEndsAfter": "Игра автоматически заканчивается после",
|
||||
"engineerMode": "Все Инженеры",
|
||||
|
||||
"tabGroupSabotages": "Сабботажи",
|
||||
"deadImpostorsCanSabotage": "Умершие Предатели Могут Сабботировать",
|
||||
"disableSabotage": "Выключить Критические Сабботажи",
|
||||
"tabGroupSabotages": "Саботажи",
|
||||
"deadImpostorsCanSabotage": "Умершие Предатели Могут Саботировать",
|
||||
"disableSabotage": "Выключить Критические Саботажи",
|
||||
"disableReactor": "Выключить Сабботаж Реактора",
|
||||
"disableOxygen": "Выключить Сабботаж O2",
|
||||
"disableLights": "Выключить Сабботаж Света",
|
||||
@@ -216,30 +212,30 @@
|
||||
"disableSubmitScan": "Выключить Пройти Скан",
|
||||
"disableUploadData": "Выключить Загрузить Данные",
|
||||
|
||||
"allCommandsFull": "<b>ВСЕ КОМАНДЫ:</b>\n\n<b>/help</b>\nПоказать это сообщение.\n<b>/aur, /socials</b>\nОтправляет ссылки Among Us Revamped.\n\n<b>/r, /gm</b>\nОтправляет описание текущего режима или списка способностей.\n<b>/l, /lastgame</b>\nОтправляет информацию о последнем победителе.\n\n<b>/0kc, /0killcooldown</b>\nОтправляет описание режима 0 Перезарядки Убийств.\n<b>/sns, /shiftandseek</b>\nОтправляет описание режима Клона.\n<b>/sp, /speedrun</b>\nОтправляет описание режима Спидрана.\n\n/<b>kick, /ban</b>\nКикает или банит игрока по нику.\n<b>/ckick, /cban</b>\nКикает или банит игрока по цвету.\n\n<b>/vip /moderator /admin</b>\nДобавляет игрока как VIP, Модератора или Админа.\n<b>/removevip, /removemoderator, /removeadmin</b>\nУбирает VIP, Модератора или Админа у игрока.\n\n<b>/eg, /endgame</b>\nЗаканчивает текущую игру.\n<b>/em, /endmeeting</b>\nЗаканчивает текущее собрание.\n<b>/s, /start</b>\nНачинает отсчет для старта.\n\n<b>/t {template}</b>\nОтправляет шаблон из AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nМеняет ваш цвет, может быть использована чтобы обойти ограничения по цветам.",
|
||||
"allCommandsFull": "<b>ВСЕ КОМАНДЫ:</b>\n\n<b>/help</b>\nПоказать это сообщение.\n<b>/aur, /socials</b>\nОтправляет ссылки Among Us Revamped.\n\n<b>/r, /gm</b>\nОтправляет описание текущего режима или списка способностей.\n<b>/l, /lastgame</b>\nОтправляет информацию о последнем победителе.\n\n<b>/0kc, /0killcooldown</b>\nОтправляет описание режима 0 Перезарядки Убийств.\n<b>/sns, /shiftandseek</b>\nОтправляет описание режима Клона.\n<b>/sp, /speedrun</b>\nОтправляет описание режима Спидрана.\n\n/<b>kick, /ban</b>\nКикает или банит игрока по нику.\n<b>/ckick, /cban</b>\nКикает или банит игрока по цвету.\n\n<b>/vip /moderator /admin</b>\nДобавляет игрока как VIP, Модератора или Админа.\n<b>/removevip, /removemoderator, /removeadmin</b>\nУбирает VIP, Модератора или Админа у игрока.\n\n<b>/eg, /endgame</b>\nЗаканчивает текущую игру.\n<b>/em, /endmeeting</b>\nЗаканчивает текущее собрание.\n<b>/s, /start</b>\nНачинает Отсчёт для старта.\n\n<b>/t {template}</b>\nОтправляет шаблон из AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nМеняет ваш цвет, может быть использована чтобы обойти ограничения по цветам.",
|
||||
|
||||
"translationReloaded": "Ваш языковой файл был успешно сброшен.\nЧтобы применить все изменения, перезапустите вашу игру.",
|
||||
|
||||
"templateWelcome": "# В этом файле вы можете создавать шаблоны, которые могут служить как простая альтернатива копировать-вставить.\n# Чтобы создать шаблон, напишите новую линию с таким же форматированием как и у тестового шаблона снизу.\n# Шаблоны не могут быть длиннее чем 120 символов и не могут содержать специальные символы. В противном вас будет кикать.\n\ntest: это пример шаблона. Напишите '/t test' чтобы увидеть его.\n\nwelcome: Добро Пожаловать! Это Лобби Использует Among Us Revamped {ModVersion} от MV. Наслаждайтесь!",
|
||||
"moderatorWelcome": "# В этом файле вы можете добавлять Модераторов по Коду друга.\n# Если вы добавите кого то, они получат фиолетовый ник в игре.\n# Перейдите в 'Системные Настройки' в игре чтобы изменить полномочия Модераторов. Снизу приведен пример Кода друга.\n\nfriendcode#0000",
|
||||
"vipWelcome": "# В этом файле вы можете добавлять VIP по Коду друга.\n# Если вы добавите кого то, они получат желтый ник в игре.\n# Перейдите в 'Системные Настройки' в игре чтобы изменить полномочия VIP. Снизу приведен пример Кода друга.\n\nfriendcode#0000\n",
|
||||
"adminWelcome": "# В этом файле вы можете добавлять Админов по Коду друга.\n# Если вы добавите кого то, они получат красный ник в игре.\n# Перейдите в 'Системные Настройки' в игре чтобы изменить полномочия Админов. Снизу приведен пример Кода друга.\n\nfriendcode#0000\n",
|
||||
"templateWelcome": "# В этом файле вы можете создавать шаблоны, которые могут служить как простая альтернатива копировать-вставить.\n# Чтобы создать шаблон, напишите новую линию с таким же форматированием как и у тестового шаблона снизу.\n# Шаблоны не могут быть длиннее, чем 120 символов и не могут содержать специальные символы. В противном вас будет кикать.\n\ntest: это пример шаблона. Напишите '/t test', чтобы увидеть его.\n\nwelcome: Добро Пожаловать! Это Лобби Использует Among Us Revamped {ModVersion} от MV. Наслаждайтесь!",
|
||||
"moderatorWelcome": "# В этом файле вы можете добавлять Модераторов по Коду друга.\n# Если вы добавите кого-то, они получат фиолетовый ник в игре.\n# Перейдите в 'Системные Настройки' в игре чтобы изменить полномочия Модераторов. Снизу приведен пример Кода друга.\n\nfriendcode#0000",
|
||||
"vipWelcome": "# В этом файле вы можете добавлять VIP по Коду друга.\n# Если вы добавите кого-то, они получат желтый ник в игре.\n# Перейдите в 'Системные Настройки' в игре чтобы изменить полномочия VIP. Снизу приведен пример Кода друга.\n\nfriendcode#0000\n",
|
||||
"adminWelcome": "# В этом файле вы можете добавлять Админов по Коду друга.\n# Если вы добавите кого-то, они получат красный ник в игре.\n# Перейдите в 'Системные Настройки' в игре чтобы изменить полномочия Админов. Снизу приведен пример Кода друга.\n\nfriendcode#0000\n",
|
||||
"banlistWelcome": "# В этом файле вы можете банить игроков из ваших лобби по Коду друга.\n# Если вы забаните кого-то в игре они автоматически добавятся в этот файл. Снизу приведен пример Кода друга.\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# В этом файле вы можете создавать запрещенные слова, автоматически кикает тех кто сказали эти слова которые написаны здесь.\n# Обратите внимание чтобы разделять слова надо при помощи новых строк.",
|
||||
"bannameWelcome": "# В этом файле вы можете создавать запрещенные имена, автоматически кикает тех кто использует имена которые написаны здесь.\n# Обратите внимание чтобы разделять имена надо при помощи новых строк.",
|
||||
"banwordWelcome": "# В этом файле вы можете создавать запрещенные слова, автоматически кикает тех кто сказали эти слова которые написаны здесь.\n# Обратите внимание, чтобы разделять слова надо при помощи новых строк.",
|
||||
"bannameWelcome": "# В этом файле вы можете создавать запрещенные имена, автоматически кикает тех кто использует имена которые написаны здесь.\n# Обратите внимание, чтобы разделять имена надо при помощи новых строк.",
|
||||
"languageWelcome": "# In this file you can set your Among Us Revamped language.\n# To set the language, type one of the supported languages in a new line. The default is English.\n# Supported languages: English, Spanish, SimplifiedChinese, Italian\n\nEnglish",
|
||||
|
||||
"noGameEndWarning": "ВНИМАНИЕ: Настройка 'Без Конца Игры' Включена",
|
||||
|
||||
"tooLongTemplate": "Ваш шаблон длиннее чем 120 символов и будет вас кик если он будет отправлен. Пожалуйста уменьшите длину.",
|
||||
"tooLongTemplate": "Ваш шаблон длиннее, чем 120 символов и вас кикнет если он будет отправлен. Пожалуйста, уменьшите длину.",
|
||||
|
||||
"vipAdd": "Успешно добавлен {0} как VIP.",
|
||||
"moderatorAdd": "Успешно добавлен {0} как Модератор.",
|
||||
"adminAdd": "Успешно добавлен {0} as Админ.",
|
||||
"adminAdd": "Успешно добавлен {0} как Админ.",
|
||||
"vipRemove": "Успешно убран VIP у {0}.",
|
||||
"moderatorRemove": "Успешно убран Модератор у {0}.",
|
||||
"adminRemove": "Успешно убран Админ у {0}.",
|
||||
"permFail": "Не удалось найти игрока '{0}'. Убедитесь что вы написали ник корректно",
|
||||
"permFail": "Не удалось найти игрока '{0}'. Убедитесь, что вы написали ник корректно",
|
||||
|
||||
"helpDesc": "Показывает все Команды и что они делают.",
|
||||
"snsDesc": "Отправляет описание режима Клона.",
|
||||
@@ -248,7 +244,7 @@
|
||||
"egDesc": "Заканчивает текущую игру.",
|
||||
"emDesc": "Заканчивает текущее собрание.",
|
||||
"aurDesc": "Отправляет Ссылки Us Revamped.",
|
||||
"sDesc": "Начинает отсчет для старта.",
|
||||
"sDesc": "Начинает Отсчёт для старта.",
|
||||
"rDesc": "/r Отправляет включеные способности или текущий режим.",
|
||||
"rolesDesc": "Отправляет обзор всех способностей/режимов.",
|
||||
"kickDesc": "Кикает игрока по нику.",
|
||||
@@ -259,8 +255,8 @@
|
||||
"colDesc": "Меняет ваш цвет.",
|
||||
"reloadDesc": "Перезагружает языковой файл.",
|
||||
"vipDesc": "Добавляет игрока как VIP.",
|
||||
"moderatorDesc": "Добавляет игрока как Модератор.",
|
||||
"adminDesc": "Добавляет игрока как Админ.",
|
||||
"moderatorDesc": "Добавляет игрока как Модератора.",
|
||||
"adminDesc": "Добавляет игрока как Админа.",
|
||||
"cremoveVipDesc": "Убирает VIP у игрока.",
|
||||
"removeModeratorDesc": "Убирает Модератора у игрока.",
|
||||
"removeAdminDesc": "Убирает Админа у игрока.",
|
||||
@@ -283,5 +279,76 @@
|
||||
"vipAndAbove": "<color=yellow>VIP</color> И Выше",
|
||||
"moderatorAndAbove": "<color=purple>Модератор</color> И Выше",
|
||||
"admin": "<color=red>Админ</color>",
|
||||
"onlyYou": "Только Вы"
|
||||
"onlyYou": "Только Вы",
|
||||
|
||||
"seekerDesc": "Добавляет игрока как искателя в прятках",
|
||||
"seekersDesc": "Показывает всех вручную выбранных искателей.",
|
||||
"clearSeekerDesc": "Очищает список всех вручную выбранных искателей",
|
||||
|
||||
"slashEndMeetingCmd": "Кто Может Использовать /endmeeting & /seeker",
|
||||
|
||||
"gameMasterWarning":"Вы будете наблюдать игры пока включён режим наблюдателя. ВНИМАНИЕ: Назначение ролей может быть неправильным, если эта настройка включена.",
|
||||
|
||||
"startWordsWelcome": "# В этом файле вы можете создавать слова которые будут 'Кикать Игроков Которые Говорят Старт'.\n# 'Режим строгого обнаружения' ВЫКЛ = Сообщения должны идеально совпадать с определенными словами. 'Режим строгого обнаружения' ВКЛ = Сообщения нуждаются только в определённых словах.\n# Вы также можете добавлять несвязанные слова, которые будут обнаруживаться только в лобби..\n\nstart\nbegin\ncommence\nстарт\nначинайте\n",
|
||||
|
||||
"gameMasterWarningTwo": "ВНИМАНИЕ: Режим Наблюдателя Включен",
|
||||
|
||||
"startWordKick": "{0} Был кикнут так как они отправили слово которое было в StartWords.txt {1} раз(а)",
|
||||
|
||||
"seekers": "Искателей: ",
|
||||
"clearedSeekers": "Успешно очищен список вручную выбранных искателей.",
|
||||
"tabGroupLevelKick": "Уровневая Модерация",
|
||||
"enableKickLowLevelPlayer": "Кикать Игроков С Низким Уровнем",
|
||||
"tabGroupKickInvalidFriendCodes": "Неправильные Коды Друзей",
|
||||
"tabGroupAutoKickStart": "Старт Слова",
|
||||
"autoKickStartTimes": "Отправленных Cтарт сообщений нужно для кика",
|
||||
"tabGroupAutostart": "АвтоХост",
|
||||
"rehost": "Автоматически Пересоздавать Лобби При Вылете",
|
||||
"public": "Автоматически Делать Новое Лобби Публичным",
|
||||
"mapVoteDuration": "Продолжительность Голосования За Карты",
|
||||
"tabGroupDeniedWords": "Запрещенные Слова",
|
||||
"enableDeniedWords": "Кикать Игроков Которые Говорят Запрещенные Слова",
|
||||
"slashMapAndSeekerCmd": "Кто Может Использовать /seeker & /mapvote",
|
||||
"snsChatInGameExtend": "Отправлять информацию о режиме после начала игры",
|
||||
"mapVoteDesc": "Начинает голосование между 5 основными картами.",
|
||||
"allMapVoteDesc": "Начинает голосование между всеми 6 картами, включая Eht Dleks.",
|
||||
"banWordBan": "{0} Были забанены потому что они отправили слово из DeniedWords.txt {1} раз(а)",
|
||||
"startWordBan": "{0} Были забанены потому что они отправили слово из StartWords.txt {1} раз(а)",
|
||||
"moderationSettings": "Настройки Модерации",
|
||||
"moderationSettingsDesc": "Настройки Модерации чтобы бороться с токсичностью и плохим поведением.",
|
||||
"rehostSuccess": "Лобби Было Успешно Пересоздано",
|
||||
"enableKickHighLevelPlayer": "Кикать Игроков С Высоким Уровнем",
|
||||
"kickHighLevelPlayer": "Кикать Игроков Больше Уровня",
|
||||
"kick": "Кик",
|
||||
"ban": "Бан",
|
||||
"notifyMe": "Уведомить Меня",
|
||||
|
||||
"tabGroupAfk": "АФК Обнаружение",
|
||||
"enableAfkDetection": "Включить АФК Обнаружение",
|
||||
"afkTimer": "Порог Обнаружения",
|
||||
"afkPenalty": "Наказание За АФК",
|
||||
"onlyDetectSpawn": "Только Обнаруживать Игроков На Спавне",
|
||||
|
||||
"afkNotify": "{0} Был АФК {1}сек",
|
||||
"afkKick": "{0} Был АФК {1}сек, кикаем игрока",
|
||||
"afkBan": "{0} Был АФК {1}сек, баним игрока",
|
||||
|
||||
"automaticMapPoll": "Автоматический /mapvote После Перезахода",
|
||||
"automaticAllMapPoll": "Автоматический /allmapvote После Перезахода",
|
||||
"timeBeforeMapPoll": "Время До Начала Голосования За Карты",
|
||||
|
||||
"pnsDisableSabotage": "Выключить Критические Саботажи В Режиме Фантомные Прятки",
|
||||
"pnsDisableCloseDoor": "Выключить Саботажи Дверей В Режиме Фантомные Прятки",
|
||||
"tabGroupPNS": "Фантомные Прятки",
|
||||
"badMoveTimeToSuicide": "Файнтомы Самоубиваются После Видимого Движения После",
|
||||
"snsImpostorCanVent": "Предатели Могут Уходить в Люк",
|
||||
"pnsDesc": "Отправляет Информацию о Режиме Фантомных Прятках.",
|
||||
"modeVoteDuration": "Врямя Голосования За Режим",
|
||||
"snsChatInGameExtendTwo": "Отправить увеличенную инфо после начала игры",
|
||||
"snsChatInGameFast": "Быстрые Собрания (экспериментальное+)",
|
||||
"shieldFirstDeath": "Защищать Игрока Который Умер Первым",
|
||||
"shieldFirstDeathDuration": "Длительность Щита",
|
||||
"snsTwoDesc": "Отправить Увеличенное Описание Клона.",
|
||||
"modeVoteDesc": "Начать Голосование между всеми режимами.",
|
||||
"automaticModePoll": "Автоматический /gmvote После Перезахода"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"LanguageID": "2",
|
||||
|
||||
"gameMaster": "游戏大师(Game Master)",
|
||||
"gameMaster": "游戏主管(Game Master)",
|
||||
"showFPS": "显示帧率 (FPS)",
|
||||
"autoStart": "自动开始",
|
||||
"enableDarkTheme": "启用深色主题",
|
||||
@@ -28,7 +28,6 @@
|
||||
"moderatorCanUseCommand": "管理人员可以使用命令",
|
||||
"autoKickStart": "自动踢出发送“Start”的玩家",
|
||||
"autoKickStartAsBan": "改为封禁而非踢出",
|
||||
"autoKickStartTimes": "踢出所需的“Start”消息次数",
|
||||
"autoKickStartStrength": "严格检测模式",
|
||||
"tabGroupAutomation": "自动化",
|
||||
"autoSendGameInfo": "自动发送获胜者信息",
|
||||
@@ -38,20 +37,20 @@
|
||||
"playerAutoStart": "自动开始所需人数",
|
||||
"enableJoinMessages": "启用欢迎消息",
|
||||
"messagePerPlayerNum": "每达到指定加入人数发送消息",
|
||||
"tabGroupMisc": "杂项设置",
|
||||
"tabGroupMisc": "实验性",
|
||||
"startCountdown": "默认开始倒计时",
|
||||
"colorCommandLevel": "谁可以使用颜色命令",
|
||||
"allowFortegreen": "允许军绿色",
|
||||
"noGameEnd": "游戏永不结束",
|
||||
|
||||
"tabGroupAccess": "权限等级",
|
||||
"slashColorCmd": "谁可以使用 /color",
|
||||
"slashColorCmd": "谁可以使用 /color 指令",
|
||||
"slashRolesAndGamemodeCmd": "谁可以使用 /r 和模板",
|
||||
"slashLastGameCmd": "谁可以使用 /l 和 /aur",
|
||||
"slashKickCmd": "谁可以使用 /kick 和 /ckick",
|
||||
"slashBanCmd": "谁可以使用 /ban 和 /cban",
|
||||
"slashEndMeetingCmd": "谁可以使用 /endmeeting",
|
||||
"slashStartAndEndGameCmd": "谁可以使用 /startgame 和 /endgame",
|
||||
"slashLastGameCmd": "谁可以使用 /l 和 /aur 指令",
|
||||
"slashKickCmd": "谁可以使用 /kick 和 /ckick 指令",
|
||||
"slashBanCmd": "谁可以使用 /ban 和 /cban 指令",
|
||||
"slashEndMeetingCmd": "谁可以使用 /endmeeting 和 /seeker 指令",
|
||||
"slashStartAndEndGameCmd": "谁可以使用 /startgame 和 /endgame 指令",
|
||||
|
||||
"tabGroupCrewmate": "船员职业",
|
||||
"tabGroupNeutral": "中立职业",
|
||||
@@ -239,7 +238,6 @@
|
||||
"moderatorRemove": "已成功移除 {0} 的管理员 (Moderator) 权限。",
|
||||
"adminRemove": "已成功移除 {0} 的超级管理员 (Admin) 权限。",
|
||||
"permFail": "找不到用户 '{0}'。请检查拼写是否正确?",
|
||||
|
||||
"helpDesc": "显示所有命令及其功能。",
|
||||
"snsDesc": "发送 变形与搜寻 (Shift and Seek) 游戏模式介绍。",
|
||||
"0kcDesc": "发送 0秒击杀冷却 (0 Kill Cooldown) 游戏模式介绍。",
|
||||
@@ -265,15 +263,11 @@
|
||||
"removeAdminDesc": "移除用户的超级管理员 (Admin) 权限。",
|
||||
"lastgameDesc": "发送上一局游戏信息。",
|
||||
"templateDesc": "发送 AUR-DATA/templates.txt 中指定的模板。",
|
||||
|
||||
"banWordKick": "{0} 因发送违禁词被踢出,累计次数:{1} 次",
|
||||
|
||||
"pluginWarning": "<color=red><size=5><b>警告:</color></b></size>\n<size=3><b>检测到您启用了 2 个或更多插件。</size></b>\nAmong Us Revamped 与大多数模组不兼容。\n如果遇到 Bug,极有可能是因为冲突所致。",
|
||||
|
||||
"systemSettings": "系统设置",
|
||||
"gameplaySettings": "游戏设置",
|
||||
"gamemodeSettings": "模式设置",
|
||||
|
||||
"systemSettingsDesc": "用于提升舒适度与测试的画质/系统设置。",
|
||||
"gameplaySettingsDesc": "用于改善游戏内体验的设置。",
|
||||
"gamemodeSettingsDesc": "适用于特定游戏模式的情境设置。",
|
||||
@@ -282,5 +276,57 @@
|
||||
"vipAndAbove": "<color=yellow>VIP</color> 及以上",
|
||||
"moderatorAndAbove": "<color=purple>管理员</color> 及以上",
|
||||
"admin": "<color=red>管理员</color>",
|
||||
"onlyYou": "仅自己"
|
||||
"onlyYou": "仅自己",
|
||||
"seekersDesc": "显示所有手动选择的搜寻者。",
|
||||
"clearSeekerDesc": "清除手动搜寻者列表。",
|
||||
"startWordsWelcome": "# 在此文件中,您可以设置检查发送 “Start” 并踢出该玩家的功能。\n# 严格检测关闭 = 消息必须完全匹配关键词。\n# 严格检测开启 = 消息只需包含关键词即可。\n# 也可以添加无关词语,仅用于大厅检测。\n\nstart\nbegin\ncommence",
|
||||
"gameMasterWarningTwo": "警告:游戏主管已启用",
|
||||
"startWordKick": "{0} 因发送 StartWords.txt 中的关键词被踢出,累计次数:{1} 次",
|
||||
"seekers": "搜寻者:",
|
||||
"clearedSeekers": "已成功清除手动搜寻者列表。",
|
||||
"autoKickStartTimes": "发送 StartWords 文本关键词并在达到某个次数时踢出该玩家",
|
||||
"tabGroupLevelKick": "等级管理",
|
||||
"enableKickLowLevelPlayer": "启用低等级玩家踢出",
|
||||
"tabGroupKickInvalidFriendCodes": "无效好友代码",
|
||||
"tabGroupAutoKickStart": "StartWords",
|
||||
"tabGroupAutostart": "自动开房",
|
||||
"rehost": "断线后自动重新创建大厅",
|
||||
"public": "自动将新大厅设为公开",
|
||||
"mapVoteDuration": "地图投票持续时间",
|
||||
"tabGroupDeniedWords": "违禁词",
|
||||
"enableDeniedWords": "踢出发送违禁词的玩家",
|
||||
"slashMapAndSeekerCmd": "谁可以使用 /seeker 与 /mapvote",
|
||||
"snsChatInGameExtend": "游戏开始后发送游戏模式介绍",
|
||||
"mapVoteDesc": "发起包含 5 张官方地图的地图投票。",
|
||||
"allMapVoteDesc": "发起包含全部 6 张地图(包括 Eht Dleks)的地图投票。",
|
||||
"banWordBan": "{0} 因发送了 DeniedWords.txt 中的关键词,第 {1} 次违规,已被封禁。",
|
||||
"startWordBan": "{0} 因发送了 StartWords.txt 中的关键词,第 {1} 次违规,已被封禁。",
|
||||
"moderationSettings": "管理设置",
|
||||
"moderationSettingsDesc": "用于防止恶意行为和不当行为的管理设置。",
|
||||
"rehostSuccess": "已成功重新创建大厅。",
|
||||
"enableKickHighLevelPlayer": "启用踢出高等級玩家",
|
||||
"kickHighLevelPlayer": "踢出高于指定等級的玩家",
|
||||
"kick": "踢出",
|
||||
"ban": "封锁",
|
||||
"notifyMe": "通知我",
|
||||
|
||||
"tabGroupAfk": "AFK 侦测",
|
||||
"enableAfkDetection": "启用 AFK 侦测",
|
||||
"afkTimer": "检测门槛",
|
||||
"afkPenalty": "AFK 处罚",
|
||||
"onlyDetectSpawn": "仅侦测出生点玩家",
|
||||
|
||||
"afkNotify": "{0} 已 AFK {1} 秒",
|
||||
"afkKick": "{0} 已 AFK {1} 秒,正在踢出玩家",
|
||||
"afkBan": "{0} 已 AFK {1} 秒,正在封锁玩家",
|
||||
|
||||
"automaticMapPoll": "重新加入后自发起起 /mapvote",
|
||||
"automaticAllMapPoll": "重新加入后自动发起 /allmapvote",
|
||||
"timeBeforeMapPoll": "投票开始前等待時間",
|
||||
"pnsDesc": "发送 Poof and Seek 幻象与躲藏 游戏模式说明。",
|
||||
"pnsDisableSabotage": "禁用 PnS 紧急破坏。",
|
||||
"pnsDisableCloseDoor": "禁用 PnS 关门破坏。",
|
||||
"tabGroupPNS": "Poof and Seek",
|
||||
"badMoveTimeToSuicide": "幻象师在明显移动后自杀的时间。",
|
||||
"snsImpostorCanVent": "内鬼可以使用通风管。"
|
||||
}
|
||||
@@ -9,29 +9,50 @@
|
||||
"disableCommandHelper": "Desactivar ayuda para comandos",
|
||||
"disableCompatibilityWarning": "Desactivar advertencia de compatibilidad",
|
||||
"gameMasterWarning": "Ahora observarás las partidas hasta que se desactive el Maestro del Juego. ADVERTENCIA: No se enviarán mensajes de habilidades y la asignación de roles podría ser inexacta si esta opción está activada.",
|
||||
"gameMasterWarningTwo": "ADVERTENCIA: El Maestro del Juego está activado",
|
||||
"cancelStartCountdown": "La cuenta regresiva de inicio fue cancelada",
|
||||
"invalidFriendCodeKick": "{0} fue expulsado por tener un código de amigo no válido",
|
||||
"invalidFriendCodeBan": "{0} fue bloqueado por tener un código de amigo no válido",
|
||||
"invalidFriendCodeBan": "{0} fue baneado por tener un código de amigo no válido",
|
||||
"language": "Idioma (requiere reiniciar)",
|
||||
"gamemode": "Modo de juego",
|
||||
"tabGroupMain": "Moderación",
|
||||
"tabGroupLevelKick": "Moderación por nivel",
|
||||
"enableKickLowLevelPlayer": "Expulsar jugadores de nivel bajo",
|
||||
"kickLowLevelPlayer": "Expulsar jugadores cuyo nivel sea menor que",
|
||||
"tempBanLowLevelPlayer": "Bloquear en lugar de expulsar",
|
||||
"tempBanLowLevelPlayer": "Banear en lugar de expulsar",
|
||||
"enableKickHighLevelPlayer": "Expulsar jugadores de nivel alto",
|
||||
"kickHighLevelPlayer": "Expulsar jugadores por encima del nivel",
|
||||
"dontKickLevelOnes": "No expulsar jugadores Nv.1 por salas bugueadas",
|
||||
"tabGroupKickInvalidFriendCodes": "Códigos de amigo no válidos",
|
||||
"kickInvalidFriendCodes": "Expulsar códigos de amigo no válidos (vacíos)",
|
||||
"tempBanInvalidFriendCodes": "Bloquear en lugar de expulsar",
|
||||
"tempBanInvalidFriendCodes": "Banear en lugar de expulsar",
|
||||
"tabGroupDeniedWords": "Palabras prohibidas",
|
||||
"enableDeniedWords": "Expulsar jugadores que digan palabras prohibidas",
|
||||
"deniedWordsToKick": "Palabras prohibidas para expulsar jugadores",
|
||||
"moderatorCanUseCommand": "Los moderadores pueden usar comandos",
|
||||
"tabGroupAutoKickStart": "Palabras de start",
|
||||
"autoKickStart": "Expulsar jugadores que digan \"start\"",
|
||||
"autoKickStartAsBan": "Bloquear en lugar de expulsar",
|
||||
"autoKickStartAsBan": "Banear en lugar de expulsar",
|
||||
"autoKickStartTimes": "Mensajes de \"start\" necesarios para expulsar",
|
||||
"autoKickStartStrength": "Modo de detección estricto",
|
||||
"tabGroupAfk": "Detección AFK",
|
||||
"enableAfkDetection": "Detectar AFK",
|
||||
"afkTimer": "Tiempo para marcar AFK",
|
||||
"afkPenalty": "Castigo por AFK",
|
||||
"onlyDetectSpawn": "Detectar solo jugadores en spawn",
|
||||
"tabGroupAutomation": "Automatización",
|
||||
"tabGroupAutostart": "Autohost",
|
||||
"rehost": "Recrear la sala automáticamente al desconectarse",
|
||||
"public": "Poner la sala nueva en público automáticamente",
|
||||
"autoSendGameInfo": "Enviar automáticamente información del ganador",
|
||||
"autoRejoinLobby": "Volver automáticamente a la sala",
|
||||
"automaticMapPoll": "/mapvote automático al volver a la sala",
|
||||
"automaticAllMapPoll": "/allmapvote automático al volver a la sala",
|
||||
"timeBeforeMapPoll": "Tiempo antes de iniciar la votación",
|
||||
"autoStartTimer": "Cuenta regresiva para inicio automático",
|
||||
"waitAutoStart": "Inicio automático después de",
|
||||
"playerAutoStart": "Jugadores mínimos para inicio automático",
|
||||
"mapVoteDuration": "Duración de la votación de mapa",
|
||||
"enableJoinMessages": "Activar mensajes de bienvenida",
|
||||
"messagePerPlayerNum": "Mensaje cada X jugadores que entren",
|
||||
"tabGroupMisc": "Varios",
|
||||
@@ -45,7 +66,8 @@
|
||||
"slashLastGameCmd": "Quién puede usar /l y /aur",
|
||||
"slashKickCmd": "Quién puede usar /kick y /ckick",
|
||||
"slashBanCmd": "Quién puede usar /ban y /cban",
|
||||
"slashEndMeetingCmd": "Quién puede usar /endmeeting",
|
||||
"slashEndMeetingCmd": "Quién puede usar /endmeeting y /seeker",
|
||||
"slashMapAndSeekerCmd": "Quién puede usar /seeker y /mapvote",
|
||||
"slashStartAndEndGameCmd": "Quién puede usar /startgame y /endgame",
|
||||
"tabGroupCrewmate": "Roles de tripulante",
|
||||
"tabGroupNeutral": "Roles neutrales",
|
||||
@@ -53,10 +75,13 @@
|
||||
"tabGroupStandard": "Estándar",
|
||||
"tabGroupHNS": "Escondite",
|
||||
"numSeekers": "# Buscadores",
|
||||
"seekers": "Buscadores: ",
|
||||
"clearedSeekers": "Lista manual de buscadores borrada correctamente.",
|
||||
"tabGroup0Kcd": "0 de enfriamiento para matar",
|
||||
"noKcdSettingsOverride": "Actualizar configuración automáticamente",
|
||||
"tabGroupSNS": "Shift and Seek",
|
||||
"snsChatInGame": "Chat durante la partida (experimental)",
|
||||
"snsChatInGameExtend": "Enviar info del modo al empezar la partida",
|
||||
"snsSettingsOverride": "Actualizar configuración automáticamente",
|
||||
"cantKillTime": "Después de fallar, no puede matar durante",
|
||||
"misfiresToSuicide": "Suicidarse después de cierta cantidad de fallos",
|
||||
@@ -149,7 +174,7 @@
|
||||
"disableBuildSandcastle": "Desactivar Construir Castillo de Arena",
|
||||
"disableCatchFish": "Desactivar Atrapar Peces",
|
||||
"disableCollectSamples": "Desactivar Recolectar Muestras",
|
||||
"disableCollectShells": "Desactivar Recolectar Caracoles",
|
||||
"disableCollectShells": "Desactivar Recolectar conchas",
|
||||
"disableCollectVegetables": "Desactivar Recolectar Vegetales",
|
||||
"disableCrankGenerator": "Desactivar Activar Generador",
|
||||
"disableExtractFuel": "Desactivar Extraer Combustible",
|
||||
@@ -173,7 +198,7 @@
|
||||
"disableChartCourse": "Desactivar Tarea Trazar Ruta",
|
||||
"disableCleanO2Filter": "Desactivar Tarea Limpiar Filtro de O2",
|
||||
"disableCleanVent": "Desactivar Tarea Limpiar Ventila",
|
||||
"disableMonitorMushroom": "Desactivar monitorear hongo",
|
||||
"disableMonitorMushroom": "Desactivar Tarea Monitorear Hongos",
|
||||
"disableMonitorTree": "Desactivar Tarea Monitorizar Árbol",
|
||||
"disablePrimeShields": "Desactivar Tarea Preparar Escudos",
|
||||
"disableRecordTemperature": "Desactivar Tarea Registrar Temperatura",
|
||||
@@ -195,15 +220,16 @@
|
||||
"disableFuelEngines": "Desactivar Tarea Recargar Motores",
|
||||
"disableSubmitScan": "Desactivar Tarea Enviar Escaneo",
|
||||
"disableUploadData": "Desactivar Tarea Subir Datos",
|
||||
"allCommandsFull": "<b>TODOS LOS COMANDOS:</b>\n\n<b>/help</b>\nMuestra este mensaje.\n<b>/aur, /socials</b>\nEnviar los enlaces sociales de Among Us Revamped.\n\n<b>/r, /gm</b>\nEnviar la descripción del modo actual o la lista de habilidades.\n<b>/l, /lastgame</b>\nEnviar la información del ganador anterior.\n\n<b>/0kc, /0killcooldown</b>\nEnviar la descripción del modo 0 de enfriamiento para matar.\n<b>/sns, /shiftandseek</b>\nEnviar la descripción del modo Shift and Seek.\n<b>/sp, /speedrun</b>\nEnviar la descripción del modo Speedrun.\n\n/<b>kick, /ban</b>\nExpulsa o bloquea a un jugador por nombre.\n<b>/ckick, /cban</b>\nExpulsa o bloquea a un jugador por color.\n\n<b>/vip /moderator /admin</b>\nAgrega a un jugador como VIP, moderador o administrador.\n<b>/removevip, /removemoderator, /removeadmin</b>\nElimina VIP, moderador o administrador de un jugador.\n\n<b>/eg, /endgame</b>\nTermina la partida actual.\n<b>/em, /endmeeting</b>\nTermina la reunión actual.\n<b>/s, /start</b>\nInicia la cuenta regresiva de la partida.\n\n<b>/t {template}</b>\nEnviar una plantilla de AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nCambia tu color; puede usarse para evitar límites.",
|
||||
"allCommandsFull": "<b>TODOS LOS COMANDOS:</b>\n\n<b>/help</b>\nMuestra este mensaje.\n<b>/aur, /socials</b>\nEnviar los enlaces sociales de Among Us Revamped.\n\n<b>/r, /gm</b>\nEnviar la descripción del modo actual o la lista de habilidades.\n<b>/l, /lastgame</b>\nEnviar la información del ganador anterior.\n\n<b>/0kc, /0killcooldown</b>\nEnviar la descripción del modo 0 de enfriamiento para matar.\n<b>/sns, /shiftandseek</b>\nEnviar la descripción del modo Shift and Seek.\n<b>/sp, /speedrun</b>\nEnviar la descripción del modo Speedrun.\n\n/<b>kick, /ban</b>\nExpulsa o banea a un jugador por nombre.\n<b>/ckick, /cban</b>\nExpulsa o banea a un jugador por color.\n\n<b>/vip /moderator /admin</b>\nAgrega a un jugador como VIP, moderador o administrador.\n<b>/removevip, /removemoderator, /removeadmin</b>\nElimina VIP, moderador o administrador de un jugador.\n\n<b>/eg, /endgame</b>\nTermina la partida actual.\n<b>/em, /endmeeting</b>\nTermina la reunión actual.\n<b>/s, /start</b>\nInicia la cuenta regresiva de la partida.\n\n<b>/t {template}</b>\nEnviar una plantilla de AUR-DATA/templates.txt.\n\n<b>/col, /color, /colour</b>\nCambia tu color; puede usarse para evitar límites.",
|
||||
"translationReloaded": "Tu archivo se reinició correctamente.\nPara aplicar todos los cambios, reinicia el juego.",
|
||||
"templateWelcome": "# En este archivo puedes agregar plantillas, que sirven como alternativas fáciles de copiar y pegar.\n# Para crear una plantilla, escribe una nueva línea con el mismo formato que la plantilla de prueba de abajo.\n# Ten en cuenta que las plantillas no pueden tener más de 120 caracteres ni contener caracteres especiales. Si los tienen, te expulsarán.\n\ntest: esta es una plantilla de ejemplo. Escribe '/t test' para verla.\n\nwelcome: ¡Bienvenido! Esta sala usa Among Us Revamped {ModVersion} por MV. ¡Diviértete!",
|
||||
"moderatorWelcome": "# En este archivo puedes agregar moderadores por código de amigo.\n# Si agregas a alguien, tendrá un nombre morado dentro del juego.\n# Ve a \"Configuración del sistema\" dentro del juego para personalizar los permisos de moderador. Abajo hay un ejemplo de código de amigo.\n\nfriendcode#0000",
|
||||
"vipWelcome": "# En este archivo puedes agregar VIPs por código de amigo.\n# Si agregas a alguien, tendrá un nombre amarillo dentro del juego.\n# Ve a \"Configuración del sistema\" dentro del juego para personalizar los permisos de VIP. Abajo hay un ejemplo de código de amigo.\n\nfriendcode#0000\n",
|
||||
"adminWelcome": "# En este archivo puedes agregar administradores por código de amigo.\n# Si agregas a alguien, tendrá un nombre rojo dentro del juego.\n# Ve a \"Configuración del sistema\" dentro del juego para personalizar los permisos de administrador. Abajo hay un ejemplo de código de amigo.\n\nfriendcode#0000\n",
|
||||
"banlistWelcome": "# En este archivo puedes bloquear a jugadores en tu sala por código de amigo.\n# Bloquear a alguien dentro del juego también lo agregará aquí automáticamente. Abajo hay un ejemplo de código de amigo.\n\nfriendcode#0000\n",
|
||||
"banlistWelcome": "# En este archivo puedes banear jugadores de tu sala por código de amigo.\n# Banear a alguien dentro del juego también lo agregará aquí automáticamente. Abajo hay un ejemplo de código de amigo.\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# En este archivo puedes establecer palabras prohibidas para expulsar automáticamente a cualquiera que las envíe dentro del juego.\n# Asegúrate de separar las palabras usando líneas nuevas.",
|
||||
"bannameWelcome": "# En este archivo puedes establecer nombres prohibidos para expulsar automáticamente a cualquiera que los use dentro del juego.\n# Asegúrate de separar los nombres usando líneas nuevas.",
|
||||
"startWordsWelcome": "# En este archivo puedes configurar las palabras detectadas para 'Expulsar jugadores que digan start'.\n# 'Modo de detección estricto' DESACTIVADO = los mensajes deben coincidir exactamente con las palabras.\n# 'Modo de detección estricto' ACTIVADO = los mensajes solo deben contener las palabras.\n# También puedes agregar palabras no relacionadas para detectarlas solo en la sala.\n\nstart\nbegin\ncommence",
|
||||
"noGameEndWarning": "ADVERTENCIA: Sin fin de partida está activado",
|
||||
"tooLongTemplate": "Tu plantilla tiene más de 120 caracteres y te expulsaría al enviarla. Reduce su longitud.",
|
||||
"vipAdd": "Se agregó correctamente a {0} como VIP.",
|
||||
@@ -219,14 +245,19 @@
|
||||
"SrDesc": "Enviar la descripción del modo de juego Speedrun.",
|
||||
"egDesc": "Termina la partida actual.",
|
||||
"emDesc": "Termina la reunión actual.",
|
||||
"seekerDesc": "Marca al jugador como buscador en HnS.",
|
||||
"seekersDesc": "Muestra los buscadores elegidos manualmente.",
|
||||
"clearSeekerDesc": "Borra la lista manual de buscadores.",
|
||||
"mapVoteDesc": "Inicia una votación entre los 5 mapas principales.",
|
||||
"allMapVoteDesc": "Inicia una votación entre los 6 mapas, incluido Eht Dleks.",
|
||||
"aurDesc": "Envía los enlaces sociales de Among Us Revamped.",
|
||||
"sDesc": "Inicia la cuenta regresiva de la partida.",
|
||||
"rDesc": "/r envía las habilidades activas o el modo de juego actual.",
|
||||
"rolesDesc": "Enviar el resumen de todas las habilidades/modo de juego.",
|
||||
"kickDesc": "Expulsa a un jugador por nombre.",
|
||||
"ckickDesc": "Expulsa a un jugador por color.",
|
||||
"banDesc": "Bloquea a un jugador por nombre.",
|
||||
"cbanDesc": "Bloquea a un jugador por color.",
|
||||
"banDesc": "Banea a un jugador por nombre.",
|
||||
"cbanDesc": "Banea a un jugador por color.",
|
||||
"dumpDesc": "Copia LogOutput en un archivo separado.",
|
||||
"colDesc": "Cambia tu color.",
|
||||
"reloadDesc": "Recarga el archivo de idioma.",
|
||||
@@ -239,19 +270,34 @@
|
||||
"lastgameDesc": "Enviar información de la última partida.",
|
||||
"templateDesc": "Enviar una plantilla especificada de AUR-DATA/templates.txt.",
|
||||
"banWordKick": "{0} fue expulsado porque envió una palabra prohibida {1} veces",
|
||||
"banWordBan": "{0} fue baneado por escribir una palabra de DeniedWords.txt {1} veces",
|
||||
"startWordKick": "{0} fue expulsado por escribir una palabra de StartWords.txt {1} veces",
|
||||
"startWordBan": "{0} fue baneado por escribir una palabra de StartWords.txt {1} veces",
|
||||
"afkNotify": "{0} lleva {1}s AFK",
|
||||
"afkKick": "{0} lleva {1}s AFK, expulsando",
|
||||
"afkBan": "{0} lleva {1}s AFK, baneando",
|
||||
"rehostSuccess": "Sala recreada correctamente",
|
||||
"kick": "Expulsar",
|
||||
"ban": "Banear",
|
||||
"notifyMe": "Avisarme",
|
||||
"pluginWarning": "<color=red><size=5><b>ADVERTENCIA:</color></b></size>\n<size=3><b>Se han detectado 2 o más plugins.</size></b>\nAmong Us Revamped no es compatible con la mayoría de mods.\nSi encuentras errores, probablemente se deban a incompatibilidad.",
|
||||
|
||||
"systemSettings": "Configuración del sistema",
|
||||
"gameplaySettings": "Configuración de la partida",
|
||||
"gamemodeSettings": "Configuración del modo de juego",
|
||||
|
||||
"moderationSettings": "Moderación",
|
||||
"systemSettingsDesc": "Ajustes de calidad para mejorar la comodidad y facilitar las pruebas.",
|
||||
"gameplaySettingsDesc": "Ajustes de la partida para mejorar la experiencia de juego.",
|
||||
"gamemodeSettingsDesc": "Ajustes específicos para determinados modos de juego.",
|
||||
|
||||
"moderationSettingsDesc": "Ajustes para controlar toxicidad y mal comportamiento en la sala.",
|
||||
"everyone": "Todos",
|
||||
"vipAndAbove": "<color=yellow>VIP</color> o superior",
|
||||
"moderatorAndAbove": "<color=purple>Moderador</color> o superior",
|
||||
"admin": "<color=red>Administrador</color>",
|
||||
"onlyYou": "Solo tú"
|
||||
"onlyYou": "Solo tú",
|
||||
|
||||
"pnsDisableSabotage": "Disable PnS Critical Sabotages",
|
||||
"pnsDisableCloseDoor": "Disable PnS Door Sabotages",
|
||||
"tabGroupPNS": "Poof and Seek",
|
||||
"badMoveTimeToSuicide": "Phantom Suicides After Visibly Moving For",
|
||||
"snsImpostorCanVent": "Impostors can vent"
|
||||
}
|
||||
Reference in new issue
Block a user