mirror of
https://github.com/ApeMV/AmongUsRevamped.git
synced 2026-10-19 15:51:59 +00:00
1.9.0
This commit is contained in:
1 parent
48228cfdb7
commit
a74f7872e9
31 files changed
+861
-517
No files matched your search
+1
-2
@@ -44,7 +44,7 @@ public partial class Main : BasePlugin
|
||||
|
||||
public static bool HasArgumentException;
|
||||
public static string CredentialsText;
|
||||
public const string ModVersion = "v1.8.4";
|
||||
public const string ModVersion = "v1.9.0";
|
||||
|
||||
public static float GameTimer;
|
||||
|
||||
@@ -110,7 +110,6 @@ public partial class Main : BasePlugin
|
||||
{
|
||||
public static void Prefix(ModManager __instance)
|
||||
{
|
||||
__instance.ShowModStamp();
|
||||
LateTask.Update(Time.deltaTime);
|
||||
}
|
||||
}
|
||||
|
||||
+33
-1
@@ -27,6 +27,7 @@ public static class BanManager
|
||||
public static string ModeratorListPath = $"{DataPath}/AUR-DATA/Moderator.txt";
|
||||
public static string AdminListPath = $"{DataPath}/AUR-DATA/Admin.txt";
|
||||
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()
|
||||
@@ -42,6 +43,7 @@ public static class BanManager
|
||||
CheckFile(ModeratorListPath, Translator.Get("moderatorWelcome"), "Moderator.txt");
|
||||
CheckFile(AdminListPath, Translator.Get("adminWelcome"), "Admin.txt");
|
||||
CheckFile(TemplatePath, Translator.Get("templateWelcome"), "Templates.txt");
|
||||
CheckFile(StartWordsPath, Translator.Get("startWordsWelcome"), "StartWords.txt");
|
||||
|
||||
LoadTemplates();
|
||||
|
||||
@@ -194,6 +196,33 @@ public static class BanManager
|
||||
else return false;
|
||||
}
|
||||
|
||||
public static bool IsStartWord(PlayerControl player, string input)
|
||||
{
|
||||
if (input == "" || !AmongUsClient.Instance.AmHost || Utils.CheckAccessLevel(player.Data.FriendCode) > 0) return false;
|
||||
|
||||
int clientId = player.Data.ClientId;
|
||||
var startWords = File.ReadAllLines(BanWordPath).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))))
|
||||
{
|
||||
if (!Main.SayStartTimes.ContainsKey(clientId))
|
||||
{
|
||||
Main.SayStartTimes.Add(clientId, 0);
|
||||
}
|
||||
|
||||
Main.SayStartTimes[clientId]++;
|
||||
|
||||
if (Main.SayStartTimes[clientId] >= Options.AutoKickStartTimes.GetInt())
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(clientId, false);
|
||||
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;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(BanMenu), nameof(BanMenu.Select))]
|
||||
class BanMenuSelectPatch
|
||||
{
|
||||
@@ -249,7 +278,8 @@ public static class BanManager
|
||||
{
|
||||
Dictionary<string, string> variables = new()
|
||||
{
|
||||
{ "ModVersion", Main.ModVersion }
|
||||
{ "ModVersion", Main.ModVersion },
|
||||
{ "\\n", Environment.NewLine }
|
||||
};
|
||||
|
||||
foreach (var kvp in variables)
|
||||
@@ -257,6 +287,8 @@ public static class BanManager
|
||||
text = text.Replace($"{{{kvp.Key}}}", kvp.Value);
|
||||
}
|
||||
|
||||
text = text.Replace("\\n", Environment.NewLine);
|
||||
|
||||
return text;
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,7 @@ internal static class CommandHelper
|
||||
new Cmd { Name = new[] { "/s" }, Prompt = "/s", Description = Translator.Get("sDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/start" }, Prompt = "/start", Description = Translator.Get("sDesc"), HasVariable = false },
|
||||
|
||||
new Cmd { Name = new[] { "/r" }, Prompt = "/r {role}", Description = Translator.Get("rDesc"), HasVariable = true },
|
||||
new Cmd { Name = new[] { "/r" }, Prompt = "/r", Description = Translator.Get("rDesc"), HasVariable = false },
|
||||
new Cmd { Name = new[] { "/roles" }, Prompt = "/roles", Description = Translator.Get("rolesDesc"), HasVariable = false },
|
||||
|
||||
new Cmd { Name = new[] { "/kick" }, Prompt = "/kick {name}", Description = Translator.Get("kickDesc"), HasVariable = true },
|
||||
@@ -72,7 +72,11 @@ internal static class CommandHelper
|
||||
|
||||
new Cmd { Name = new[] { "/lastgame" }, Prompt = "/lastgame", Description = Translator.Get("lastgameDesc"), HasVariable = false },
|
||||
|
||||
new Cmd { Name = new[] { "/t" }, Prompt = "/t {template}", Description = Translator.Get("templateDesc"), HasVariable = true }
|
||||
new Cmd { Name = new[] { "/t" }, Prompt = "/t {template}", Description = Translator.Get("templateDesc"), HasVariable = true },
|
||||
|
||||
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 }
|
||||
};
|
||||
|
||||
[HarmonyPostfix]
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace AmongUsRevamped
|
||||
|
||||
public static readonly string[] gameModes =
|
||||
{
|
||||
"Standard", "0 Kill Cooldown", "Shift And Seek", "Speedrun"
|
||||
"Standard", "Shift And Seek", "Speedrun"
|
||||
};
|
||||
|
||||
public static readonly string[] accessLevels =
|
||||
@@ -267,9 +267,6 @@ namespace AmongUsRevamped
|
||||
public static OptionItem TabGroupHNS;
|
||||
public static OptionItem NumSeekers;
|
||||
|
||||
public static OptionItem TabGroup0Kcd;
|
||||
public static OptionItem NoKcdSettingsOverride;
|
||||
|
||||
public static OptionItem TabGroupSNS;
|
||||
public static OptionItem SNSSettingsOverride;
|
||||
public static OptionItem SNSChatInGame;
|
||||
@@ -290,52 +287,6 @@ namespace AmongUsRevamped
|
||||
public static OptionItem GameAutoEndsAfter;
|
||||
public static OptionItem EngineerMode;
|
||||
|
||||
// Abilities
|
||||
public static OptionItem TabGroupCrewmate;
|
||||
|
||||
public static OptionItem OverrideCrewmate;
|
||||
public static OptionItem CrewmateAbility;
|
||||
|
||||
public static OptionItem OverrideScientist;
|
||||
public static OptionItem ScientistAbility;
|
||||
|
||||
public static OptionItem OverrideEngineer;
|
||||
public static OptionItem EngineerAbility;
|
||||
|
||||
public static OptionItem OverrideNoisemaker;
|
||||
public static OptionItem NoisemakerAbility;
|
||||
|
||||
public static OptionItem OverrideTracker;
|
||||
public static OptionItem TrackerAbility;
|
||||
|
||||
public static OptionItem OverrideDetective;
|
||||
public static OptionItem DetectiveAbility;
|
||||
|
||||
public static OptionItem TabGroupCrewmateAbilities;
|
||||
public static OptionItem ExtraVotesCrewmate;
|
||||
public static OptionItem ExtraVotesPerTask;
|
||||
public static OptionItem SpeedrunnerShortTasks;
|
||||
public static OptionItem SpeedrunnerLongTasks;
|
||||
|
||||
public static OptionItem TabGroupImpostor;
|
||||
|
||||
public static OptionItem OverrideImpostor;
|
||||
public static OptionItem ImpostorAbility;
|
||||
|
||||
public static OptionItem OverrideShapeshifter;
|
||||
public static OptionItem ShapeshifterAbility;
|
||||
|
||||
public static OptionItem OverridePhantom;
|
||||
public static OptionItem PhantomAbility;
|
||||
|
||||
public static OptionItem OverrideViper;
|
||||
public static OptionItem ViperAbility;
|
||||
|
||||
public static OptionItem TabGroupImpostorAbilities;
|
||||
public static OptionItem ExtraVotesImpostor;
|
||||
public static OptionItem ExtraVotesPerKill;
|
||||
public static OptionItem KillsNeededForJuggernaut;
|
||||
|
||||
public static bool IsLoaded = false;
|
||||
|
||||
public static void Load()
|
||||
@@ -409,64 +360,6 @@ namespace AmongUsRevamped
|
||||
SlashEndMeetingCmd = StringOptionItem.Create(60407, Translator.Get("slashEndMeetingCmd"), accessLevels, 3, TabGroup.SystemSettings, false);
|
||||
SlashStartAndEndGameCmd = StringOptionItem.Create(60408, Translator.Get("slashStartAndEndGameCmd"), accessLevels, 3, TabGroup.SystemSettings, false);
|
||||
|
||||
// Ability settings
|
||||
TabGroupCrewmate = TextOptionItem.Create(100000, Translator.Get("tabGroupCrewmate"), TabGroup.AbilitySettings)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
|
||||
CrewmateAbility = StringOptionItem.Create(100001, Translator.Get("crewmateAbility"), crewmateAbilities, 4, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
|
||||
ScientistAbility = StringOptionItem.Create(100101, Translator.Get("scientistAbility"), crewmateAbilities, 4, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
|
||||
EngineerAbility = StringOptionItem.Create(100201, Translator.Get("engineerAbility"), crewmateAbilities, 4, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
|
||||
NoisemakerAbility = StringOptionItem.Create(100301, Translator.Get("noisemakerAbility"), crewmateAbilities, 4, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
|
||||
TrackerAbility = StringOptionItem.Create(100401, Translator.Get("trackerAbility"), crewmateAbilities, 4, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
|
||||
DetectiveAbility = StringOptionItem.Create(100501, Translator.Get("detectiveAbility"), crewmateAbilities, 4, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
|
||||
TabGroupCrewmateAbilities = TextOptionItem.Create(101000, Translator.Get("tabGroupCrewmateAbilities"), TabGroup.AbilitySettings)
|
||||
.SetColor(CL.Hex("#8cffff"));
|
||||
ExtraVotesCrewmate = IntegerOptionItem.Create(101001, Translator.Get("extraVotesCrewmate"), new(1, 15, 1), 1, TabGroup.AbilitySettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
ExtraVotesPerTask = FloatOptionItem.Create(101002, Translator.Get("extraVotesPerTask"), new(0.25f, 3f, 0.25f), 0.5f, TabGroup.AbilitySettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
SpeedrunnerShortTasks = IntegerOptionItem.Create(101003, Translator.Get("speedrunnerShortTasks"), new(0, 15, 1), 4, TabGroup.AbilitySettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
SpeedrunnerLongTasks = IntegerOptionItem.Create(101004, Translator.Get("speedrunnerLongTasks"), new(0, 15, 1), 3, TabGroup.AbilitySettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
|
||||
TabGroupImpostor = TextOptionItem.Create(102000, Translator.Get("tabGroupImpostor"), TabGroup.AbilitySettings)
|
||||
.SetColor(CL.Hex("#ff1919"));
|
||||
|
||||
ImpostorAbility = StringOptionItem.Create(100002, Translator.Get("impostorAbility"), impostorAbilities, 3, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#ff1919"));
|
||||
|
||||
ShapeshifterAbility = StringOptionItem.Create(102101, Translator.Get("shapeshifterAbility"), impostorAbilities, 3, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#ff1919"));
|
||||
|
||||
PhantomAbility = StringOptionItem.Create(102201, Translator.Get("phantomAbility"), impostorAbilities, 3, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#ff1919"));
|
||||
|
||||
|
||||
ViperAbility = StringOptionItem.Create(102301, Translator.Get("viperAbility"), impostorAbilities, 3, TabGroup.AbilitySettings, false)
|
||||
.SetColor(CL.Hex("#ff1919"));
|
||||
|
||||
TabGroupImpostorAbilities = TextOptionItem.Create(103000, Translator.Get("tabGroupImpostorAbilities"), TabGroup.AbilitySettings)
|
||||
.SetColor(CL.Hex("#ff1919"));
|
||||
ExtraVotesImpostor = IntegerOptionItem.Create(103001, Translator.Get("extraVotesImpostor"), new(1, 15, 1), 1, TabGroup.AbilitySettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
ExtraVotesPerKill = FloatOptionItem.Create(103002, Translator.Get("extraVotesPerKill"), new(0.25f, 3f, 0.25f), 0.5f, TabGroup.AbilitySettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
KillsNeededForJuggernaut = IntegerOptionItem.Create(103003, Translator.Get("killsNeededForJuggernaut"), new(3, 15, 1), 7, TabGroup.AbilitySettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
|
||||
// Gamemode Settings
|
||||
|
||||
TabGroupHNS = TextOptionItem.Create(70000, Translator.Get("tabGroupHNS"), TabGroup.GamemodeSettings)
|
||||
@@ -474,10 +367,6 @@ namespace AmongUsRevamped
|
||||
NumSeekers = IntegerOptionItem.Create(70001, Translator.Get("numSeekers"), new(1, 15, 1), 1, TabGroup.GamemodeSettings, false)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
|
||||
TabGroup0Kcd = TextOptionItem.Create(70025, Translator.Get("tabGroup0Kcd"), TabGroup.GamemodeSettings)
|
||||
.SetColor(Color.red);
|
||||
NoKcdSettingsOverride = BooleanOptionItem.Create(70026, Translator.Get("noKcdSettingsOverride"), true, TabGroup.GamemodeSettings, false);
|
||||
|
||||
TabGroupSNS = TextOptionItem.Create(70050, Translator.Get("tabGroupSNS"), TabGroup.GamemodeSettings)
|
||||
.SetColor(Color.yellow);
|
||||
SNSSettingsOverride = BooleanOptionItem.Create(70051, Translator.Get("snsSettingsOverride"), true, TabGroup.GamemodeSettings, false);
|
||||
|
||||
@@ -7,9 +7,11 @@ using UnityEngine;
|
||||
namespace AmongUsRevamped;
|
||||
// It was a fun ride, but this won't last.
|
||||
// Edit: WE ARE SO BACK
|
||||
// Edit 2: Hello old friend. It's time to go again.
|
||||
|
||||
public static class AbilityManagement
|
||||
{
|
||||
/*
|
||||
public static bool IsMayor(PlayerControl player)
|
||||
{
|
||||
if (player.Data.RoleType == RoleTypes.Crewmate && Options.CrewmateAbility.GetValue() == 0 ||
|
||||
@@ -179,7 +181,7 @@ public static class AbilityManagement
|
||||
}, 6.6f, "SendRoleMessage");
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
public static class CustomRoleManagement
|
||||
{
|
||||
public static Dictionary<byte, string> PlayerRoles = new Dictionary<byte, string>();
|
||||
@@ -380,5 +382,5 @@ public static class CustomRoleManagement
|
||||
}
|
||||
return string.Join("\n", lines);
|
||||
}
|
||||
}
|
||||
*/
|
||||
*/
|
||||
}
|
||||
+7
-20
@@ -72,18 +72,10 @@ class FixedUpdateInGamePatch
|
||||
|
||||
switch (gamemode)
|
||||
{
|
||||
case 1: // 0Kc
|
||||
if (Main.NormalOptions.KillCooldown != 0.01f)
|
||||
Main.NormalOptions.KillCooldown = 0.01f;
|
||||
|
||||
if (Options.NoKcdSettingsOverride.GetBool() && settingsLabel == null)
|
||||
{
|
||||
Main.NormalOptions.EmergencyCooldown = 0;
|
||||
Main.NormalOptions.TaskBarMode = 0;
|
||||
}
|
||||
case 0:
|
||||
break;
|
||||
|
||||
case 2: // SnS
|
||||
case 1: // SnS
|
||||
if (Main.NormalOptions.KillCooldown != 2.5f)
|
||||
Main.NormalOptions.KillCooldown = 2.5f;
|
||||
|
||||
@@ -91,19 +83,14 @@ class FixedUpdateInGamePatch
|
||||
Main.NormalOptions.TaskBarMode = 0;
|
||||
break;
|
||||
|
||||
case 3: // Speedrun
|
||||
break;
|
||||
|
||||
case 0: // Reset
|
||||
if (Main.NormalOptions.KillCooldown <= 0.01f)
|
||||
Main.NormalOptions.KillCooldown = 25f;
|
||||
case 2: // Speedrun
|
||||
break;
|
||||
}
|
||||
|
||||
if (Utils.InGame && !Utils.IsMeeting && !ExileController.Instance)
|
||||
{
|
||||
// 2 = Shift and Seek
|
||||
if (Options.Gamemode.GetValue() == 2 && !Utils.isHideNSeek && Options.CrewAutoWinsGameAfter.GetInt() != 0 && !Options.NoGameEnd.GetBool())
|
||||
// 1 = Shift and Seek
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek && Options.CrewAutoWinsGameAfter.GetInt() != 0 && !Options.NoGameEnd.GetBool())
|
||||
{
|
||||
if (Main.GameTimer > Options.CrewAutoWinsGameAfter.GetInt())
|
||||
{
|
||||
@@ -114,8 +101,8 @@ class FixedUpdateInGamePatch
|
||||
NormalGameEndChecker.CheckWinnerText("SnSTimer");
|
||||
}
|
||||
}
|
||||
// 3 = Speedrun
|
||||
if (Options.Gamemode.GetValue() == 3 && !Utils.isHideNSeek && Options.GameAutoEndsAfter.GetInt() != 0 && !Options.NoGameEnd.GetBool())
|
||||
// 2 = Speedrun
|
||||
if (Options.Gamemode.GetValue() == 2 && !Utils.isHideNSeek && Options.GameAutoEndsAfter.GetInt() != 0 && !Options.NoGameEnd.GetBool())
|
||||
{
|
||||
if (Main.GameTimer > Options.GameAutoEndsAfter.GetInt())
|
||||
{
|
||||
|
||||
@@ -215,7 +215,6 @@ namespace AmongUsRevamped
|
||||
{
|
||||
SystemSettings,
|
||||
//CustomRoleSettings,
|
||||
AbilitySettings,
|
||||
ModSettings,
|
||||
GamemodeSettings,
|
||||
|
||||
|
||||
@@ -13,7 +13,9 @@ public static class Translator
|
||||
English,
|
||||
Italian,
|
||||
SimplifiedChinese,
|
||||
Spanish
|
||||
Spanish,
|
||||
Japanese,
|
||||
Russian
|
||||
}
|
||||
|
||||
private static readonly Dictionary<SupportedLangs, Dictionary<string, string>> _languages = new();
|
||||
@@ -29,12 +31,12 @@ public static class Translator
|
||||
|
||||
try
|
||||
{
|
||||
string path = $"{BanManager.DataPath}/Language/YourLanguage.txt";
|
||||
string path = Path.Combine(LanguageFolder, "YourLanguage.txt");
|
||||
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
Logger.Warn($" Creating a new language file", "Translator");
|
||||
File.WriteAllText(path, "# In this file you can set your Among Us Revamped language.\n# To set the language, replace the 'English' text below with the language you want to select.\n# Supported languages: English, Spanish, SimplifiedChinese, Italian\n\nEnglish");
|
||||
File.WriteAllText(path, "# In this file you can set your Among Us Revamped language.\n# To set the language, replace the 'English' text below with the language you want to select.\n# Supported languages: English, Spanish, SimplifiedChinese, Italian, Japanese, Russian\n\nEnglish");
|
||||
}
|
||||
|
||||
string l = File.ReadAllLines(path).FirstOrDefault(x => !string.IsNullOrWhiteSpace(x) && !x.StartsWith("#"))?.Trim() ?? "English";
|
||||
|
||||
+1
-5
@@ -73,8 +73,6 @@ public static class Utils
|
||||
{
|
||||
case TabGroup.SystemSettings:
|
||||
return Translator.Get("systemSettings");
|
||||
case TabGroup.AbilitySettings:
|
||||
return Translator.Get("abilitySettings");
|
||||
case TabGroup.ModSettings:
|
||||
return Translator.Get("gameplaySettings");
|
||||
case TabGroup.GamemodeSettings:
|
||||
@@ -212,9 +210,7 @@ public static class Utils
|
||||
NormalGameEndChecker.ImpCheckComplete = false;
|
||||
CreateOptionsPickerPatch.SetDleks2 = false;
|
||||
CanCallMeetings = true;
|
||||
AbilityManagement.HandlingRoleMessages = false;
|
||||
PlayerControlSetRolePatch.FirstAssign = true;
|
||||
PlayerControlSetRolePatch.Jesters.Clear();
|
||||
|
||||
PlayerControlCompleteTaskPatch.playerTasksCompleted.Clear();
|
||||
PlayerControlCompleteTaskPatch.tasksPerPlayer.Clear();
|
||||
@@ -225,8 +221,8 @@ public static class Utils
|
||||
OnPlayerJoinedPatch.JoinNum = 0;
|
||||
|
||||
PlayerControlSetRolePatch.Seekers.Clear();
|
||||
PlayerControlSetRolePatch.Jesters.Clear();
|
||||
PlayerControlSetRolePatch.FirstAssign = true;
|
||||
PlayerControlSetRolePatch.manualSeekers.Clear();
|
||||
|
||||
OnGameStartPatch.ScheduleExile = false;
|
||||
CoShowIntroPatch.IntroInitiated = false;
|
||||
|
||||
+133
-95
@@ -1,4 +1,5 @@
|
||||
using Hazel;
|
||||
using AmongUs.GameOptions;
|
||||
using Hazel;
|
||||
using InnerNet;
|
||||
using System;
|
||||
using System.IO;
|
||||
@@ -323,45 +324,88 @@ internal static class SendChatPatch
|
||||
return false;
|
||||
}
|
||||
|
||||
if (__instance.timeSinceLastMessage < 3f || OnGameJoinedPatch.WaitingForChat || AbilityManagement.HandlingRoleMessages) return false;
|
||||
if (text.StartsWith("/seeker "))
|
||||
{
|
||||
if (!Utils.IsLobby || !Utils.isHideNSeek)
|
||||
{
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
|
||||
string argSeeker = text.Substring(8).Trim();
|
||||
bool found = false;
|
||||
|
||||
foreach (PlayerControl p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (p.Data == null) continue;
|
||||
|
||||
if (p.Data.PlayerName.Equals(argSeeker, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
found = true;
|
||||
PlayerControlSetRolePatch.manualSeekers.Add(p.PlayerId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (found)
|
||||
{
|
||||
List<string> names = new();
|
||||
|
||||
foreach (PlayerControl pl in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (PlayerControlSetRolePatch.manualSeekers.Contains(pl.PlayerId)) names.Add(pl.Data.PlayerName);
|
||||
}
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, Translator.Get("seekers") + string.Join(", ", names));
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, $"Player '{argSeeker}' not found.");
|
||||
}
|
||||
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (text == "/clearseeker")
|
||||
{
|
||||
PlayerControlSetRolePatch.manualSeekers.Clear();
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, Translator.Get("clearedSeekers"));
|
||||
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (text == "/seekers")
|
||||
{
|
||||
List<string> n = new();
|
||||
|
||||
foreach (PlayerControl pc in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (PlayerControlSetRolePatch.manualSeekers.Contains(pc.PlayerId)) n.Add(pc.Data.PlayerName);
|
||||
}
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, Translator.Get("seekers") + string.Join(", ", n));
|
||||
|
||||
__instance.freeChatField.textArea.Clear();
|
||||
__instance.freeChatField.textArea.SetText(string.Empty);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (__instance.timeSinceLastMessage < 3f || OnGameJoinedPatch.WaitingForChat) return false;
|
||||
|
||||
if (text == "/l" || text == "/lastgame")
|
||||
{
|
||||
if (string.IsNullOrEmpty(NormalGameEndChecker.LastWinReason) || Utils.InGame) return false;
|
||||
Utils.ChatCommand(__instance, $"{NormalGameEndChecker.LastWinReason}", "", false);
|
||||
return false;
|
||||
}
|
||||
if (text == "/r jester"){
|
||||
Utils.ChatCommand(__instance, "Jester:\n\nThe Jester is a Crewmate who can also win alone by getting voted.", "", false);
|
||||
return false;}
|
||||
|
||||
if (text == "/r mayor"){
|
||||
Utils.ChatCommand(__instance, $"Mayor:\n\nThe Mayor is a Crewmate with {Options.ExtraVotesCrewmate.GetInt()} additional vote(s). Use them wisely.", "", false);
|
||||
return false;}
|
||||
|
||||
if (text == "/r tyrant"){
|
||||
Utils.ChatCommand(__instance, $"Tyrant:\n\nThe Tyrant is an Impostor with {Options.ExtraVotesImpostor.GetInt()} additional vote(s). Use them wisely.", "", false);
|
||||
return false;}
|
||||
|
||||
if (text == "/r workhorse"){
|
||||
Utils.ChatCommand(__instance, $"Workhorse:\n\nThe Workhorse gains {Options.ExtraVotesPerTask.GetInt()} additional vote(s) per completed task. Votes are rounded down.", "", false);
|
||||
return false;}
|
||||
|
||||
if (text == "/r stealer"){
|
||||
Utils.ChatCommand(__instance, $"Stealer:\n\nThe Stealer gains {Options.ExtraVotesPerKill.GetInt()} additional vote(s) per killed player. Votes are rounded down.", "", false);
|
||||
return false;}
|
||||
|
||||
if (text == "/r juggernaut"){
|
||||
Utils.ChatCommand(__instance, $"Juggernaut:\n\nThe Impostors instantly win if the Juggernaut gains {Options.KillsNeededForJuggernaut.GetInt()} kills.", "", false);
|
||||
return false;}
|
||||
|
||||
if (text == "/r tasker"){
|
||||
Utils.ChatCommand(__instance, "Tasker:\n\nThe Crewmates win if the Tasker completes tasks and is alive. The Tasker has more tasks.", "", false);
|
||||
return false;}
|
||||
}
|
||||
|
||||
if (text == "/aur" || text == "/socials")
|
||||
{
|
||||
Utils.ChatCommand(__instance, "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.ChatCommand(__instance, "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);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -379,7 +423,7 @@ internal static class SendChatPatch
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.ChatCommand(__instance, "Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", $"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\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);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -395,25 +439,24 @@ internal static class SendChatPatch
|
||||
switch (Options.Gamemode.GetValue())
|
||||
{
|
||||
case 0:
|
||||
AbilityManagement.SendRoleList(__instance, AbilityManagement.RoleList(), false);
|
||||
if (GameOptionsManager.Instance.CurrentGameOptions.GetFloat(FloatOptionNames.KillCooldown) == 0.01f)
|
||||
{
|
||||
Utils.ChatCommand(__instance, "0 Kill Cooldown:\n\nImpostors have no kill cooldown, Crewmates have low tasks\nThink fast and pay attention!", "", false);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
Utils.ChatCommand(__instance, "0 Kill Cooldown:\n\nImpostors have no kill cooldown, Crewmates have low tasks\nThink fast and pay attention!", "", false);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
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", $"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\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);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
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;
|
||||
|
||||
@@ -541,38 +584,54 @@ public static class RPCHandlerPatch
|
||||
string text = msgtext.ToLower();
|
||||
|
||||
Logger.Info($" {__instance.Data.PlayerName}: {msgtext}", "SendChat");
|
||||
|
||||
string[] keywords = Options.AutoKickStartStrength.GetBool() ? new[] { "start", "begin", "commence" } : new[] { "start", "begin", "commence", "s t a r t", "go" };
|
||||
|
||||
bool c = false;
|
||||
|
||||
if (Options.AutoKickStartStrength.GetBool())
|
||||
{
|
||||
c = keywords.Any(k => text.Contains(k));
|
||||
}
|
||||
else
|
||||
{
|
||||
c = keywords.Any(k => text == k);
|
||||
}
|
||||
|
||||
if (c && Utils.CheckAccessLevel(__instance.Data.FriendCode) < 1 && Options.AutoKickStart.GetBool() && !Utils.InGame)
|
||||
BanManager.IsStartWord(__instance, text);
|
||||
BanManager.IsWordBanned(__instance, text);
|
||||
|
||||
if (text.StartsWith("/seeker ") && Utils.CheckAccessLevel(__instance.Data.FriendCode) >= Options.SlashEndMeetingCmd.GetValue())
|
||||
{
|
||||
int clientId = __instance.Data.ClientId;
|
||||
|
||||
if (!Main.SayStartTimes.ContainsKey(clientId))
|
||||
Main.SayStartTimes.Add(clientId, 0);
|
||||
Main.SayStartTimes[clientId]++;
|
||||
|
||||
if (Main.SayStartTimes[clientId] >= Options.AutoKickStartTimes.GetInt())
|
||||
if (!Utils.IsLobby || !Utils.isHideNSeek)
|
||||
{
|
||||
bool sBan = Options.AutoKickStartAsBan.GetBool();
|
||||
AmongUsClient.Instance.KickPlayer(clientId, sBan);
|
||||
Logger.Info($" {__instance.Data.PlayerName} was {(sBan ? "banned" : "kicked")} for saying start", "KickAnnoyingKids");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} was {(sBan ? "banned" : "kicked")} for saying start");
|
||||
return;
|
||||
}
|
||||
|
||||
string argSeeker = text.Substring(8).Trim();
|
||||
bool found = false;
|
||||
|
||||
foreach (PlayerControl p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (p.Data == null) continue;
|
||||
|
||||
if (p.Data.PlayerName.Equals(argSeeker, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
found = true;
|
||||
PlayerControlSetRolePatch.manualSeekers.Add(p.PlayerId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (found)
|
||||
{
|
||||
List<string> names = new();
|
||||
|
||||
foreach (PlayerControl pl in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (PlayerControlSetRolePatch.manualSeekers.Contains(pl.PlayerId)) names.Add(pl.Data.PlayerName);
|
||||
}
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, Translator.Get("seekers") + string.Join(", ", names));
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, $"Player '{argSeeker}' not found.");
|
||||
}
|
||||
}
|
||||
|
||||
BanManager.IsWordBanned(__instance, text);
|
||||
if (text == "/clearseeker" && Utils.CheckAccessLevel(__instance.Data.FriendCode) >= Options.SlashEndMeetingCmd.GetValue())
|
||||
{
|
||||
PlayerControlSetRolePatch.manualSeekers.Clear();
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, Translator.Get("clearedSeekers"));
|
||||
}
|
||||
|
||||
bool col1 = text.StartsWith("/col ");
|
||||
bool col2 = text.StartsWith("/color ");
|
||||
@@ -638,7 +697,7 @@ public static class RPCHandlerPatch
|
||||
}
|
||||
}
|
||||
|
||||
if (AbilityManagement.HandlingRoleMessages || OnGameJoinedPatch.WaitingForChat || GameStartManagerUpdatePatch.CountingDown) return;
|
||||
if (OnGameJoinedPatch.WaitingForChat || GameStartManagerUpdatePatch.CountingDown) return;
|
||||
|
||||
if (text == "/eg" || text == "/endgame")
|
||||
{
|
||||
@@ -691,7 +750,8 @@ public static class RPCHandlerPatch
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.ModeratorChatCommand("Shift and Seek:\n\nImpostors can only kill someone while shapeshifted as them\nEmergency Meetings = Off", $"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\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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -707,25 +767,24 @@ public static class RPCHandlerPatch
|
||||
switch (Options.Gamemode.GetValue())
|
||||
{
|
||||
case 0:
|
||||
AbilityManagement.SendRoleList(DestroyableSingleton<HudManager>.Instance.Chat, AbilityManagement.RoleList(), true);
|
||||
if (GameOptionsManager.Instance.CurrentGameOptions.GetFloat(FloatOptionNames.KillCooldown) == 0.01f)
|
||||
{
|
||||
Utils.ModeratorChatCommand("0 Kill Cooldown:\n\nImpostors have no kill cooldown, Crewmates have low tasks\nThink fast and pay attention!", "", false);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
Utils.ModeratorChatCommand("0 Kill Cooldown:\n\nImpostors have no kill cooldown, Crewmates have low tasks\nThink fast and pay attention!", "", false);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
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", $"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\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);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
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;
|
||||
|
||||
@@ -733,27 +792,6 @@ public static class RPCHandlerPatch
|
||||
}
|
||||
|
||||
if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < Options.SlashRolesAndGamemodeCmd.GetValue()) return;
|
||||
|
||||
if (text == "/r jester"){
|
||||
Utils.ModeratorChatCommand("Jester:\n\nThe Jester is a Crewmate who can also win alone by getting voted.", "", false);}
|
||||
|
||||
if (text == "/r mayor"){
|
||||
Utils.ModeratorChatCommand($"Mayor:\n\nThe Mayor is a Crewmate with {Options.ExtraVotesCrewmate.GetInt()} additional vote(s). Use them wisely.", "", false);}
|
||||
|
||||
if (text == "/r tyrant"){
|
||||
Utils.ModeratorChatCommand($"Tyrant:\n\nThe Tyrant is an Impostor with {Options.ExtraVotesImpostor.GetInt()} additional vote(s). Use them wisely.", "", false);}
|
||||
|
||||
if (text == "/r workhorse"){
|
||||
Utils.ModeratorChatCommand($"Workhorse:\n\nThe Workhorse gains {Options.ExtraVotesPerTask.GetInt()} additional vote(s) per completed task. Votes are rounded down.", "", false);}
|
||||
|
||||
if (text == "/r stealer"){
|
||||
Utils.ModeratorChatCommand($"Stealer:\n\nThe Stealer gains {Options.ExtraVotesPerKill.GetInt()} additional vote(s) per killed player. Votes are rounded down.", "", false);}
|
||||
|
||||
if (text == "/r juggernaut"){
|
||||
Utils.ModeratorChatCommand($"Juggernaut:\n\nThe Impostors instantly win if the Juggernaut gains {Options.KillsNeededForJuggernaut.GetInt()} kills.", "", false);}
|
||||
|
||||
if (text == "/r tasker"){
|
||||
Utils.ModeratorChatCommand("Tasker:\n\nThe Crewmates win if the Tasker completes tasks and is alive. The Tasker has more tasks.", "", false);}
|
||||
|
||||
if (text.StartsWith("/t "))
|
||||
{
|
||||
|
||||
@@ -77,11 +77,13 @@ namespace AmongUsRevamped
|
||||
}
|
||||
}
|
||||
|
||||
// MY MODSTAMP IS FASTER THAN YOURS!!11!!!1
|
||||
[HarmonyPatch(typeof(SplashManager), nameof(SplashManager.Update))]
|
||||
internal class SplashLogoAnimatorPatch
|
||||
{
|
||||
public static void Prefix(SplashManager __instance)
|
||||
{
|
||||
ModManager.Instance.ShowModStamp();
|
||||
__instance.sceneChanger.AllowFinishLoadingScene();
|
||||
__instance.startedSceneLoad = true;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ class NormalGameEndChecker
|
||||
public static bool Prefix()
|
||||
{
|
||||
|
||||
if (Options.NoGameEnd.GetBool() || Options.Gamemode.GetValue() == 3 || Utils.HandlingGameEnd) return false;
|
||||
if (Options.NoGameEnd.GetBool() || Options.Gamemode.GetValue() == 2 || Utils.HandlingGameEnd) return false;
|
||||
|
||||
var allPlayers = PlayerControl.AllPlayerControls.ToArray();
|
||||
|
||||
@@ -50,27 +50,6 @@ class NormalGameEndChecker
|
||||
var impostorList = string.Join(", ", imps.Select(p => p.Data.PlayerName));
|
||||
|
||||
if (!canUpdateWinnerText) return;
|
||||
|
||||
if (Winner == "Jester")
|
||||
{
|
||||
LastWinReason = "Jester wins! (voted)\n\nImpostors: " + impostorList;
|
||||
canUpdateWinnerText = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Winner == "Juggernaut")
|
||||
{
|
||||
LastWinReason = $"Impostors win! (Juggernaut killed {Options.KillsNeededForJuggernaut.GetInt()} players)\n\nImpostors: " + impostorList;
|
||||
canUpdateWinnerText = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Winner == "Speedrunner")
|
||||
{
|
||||
LastWinReason = "Crewmates win! (Tasker finished tasks)\n\nImpostors: " + impostorList;
|
||||
canUpdateWinnerText = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (Winner == "SnSTimer")
|
||||
{
|
||||
@@ -101,7 +80,7 @@ class NormalGameEndChecker
|
||||
LastWinReason = $"Crewmates Win! ({Options.TaskPercentNeededToWin.GetInt()}% tasks completed)\n\nImpostors: " + impostorList;
|
||||
canUpdateWinnerText = false;
|
||||
}
|
||||
else if (Options.Gamemode.GetValue() < 2 || Winner == "ImpostorSabotage")
|
||||
else if (Options.Gamemode.GetValue() < 1 || Winner == "ImpostorSabotage")
|
||||
{
|
||||
LastWinReason = "Impostors Win! (Sabotage)\n\n Impostors: " + impostorList;
|
||||
}
|
||||
|
||||
@@ -48,14 +48,6 @@ class ExileControllerWrapUpPatch
|
||||
}
|
||||
|
||||
Logger.Info($" {ejectedPlayer.PlayerName} was ejected", "ExileController");
|
||||
|
||||
if (PlayerControlSetRolePatch.Jesters.Contains(exiledPlayer))
|
||||
{
|
||||
Logger.Info($"Jester {ejectedPlayer.PlayerName} wins", "ExilePatch");
|
||||
Utils.CustomWinnerEndGame(exiledPlayer, 1);
|
||||
NormalGameEndChecker.CheckWinnerText("Jester");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch]
|
||||
|
||||
@@ -115,9 +115,6 @@ namespace AmongUsRevamped
|
||||
case TabGroup.SystemSettings:
|
||||
__instance.MenuDescriptionText.text = Translator.Get("systemSettingsDesc");
|
||||
break;
|
||||
case TabGroup.AbilitySettings:
|
||||
__instance.MenuDescriptionText.text = Translator.Get("abilitySettingsDesc");
|
||||
break;
|
||||
case TabGroup.ModSettings:
|
||||
__instance.MenuDescriptionText.text = Translator.Get("gameplaySettingsDesc");
|
||||
break;
|
||||
|
||||
@@ -119,6 +119,7 @@ public class GameStartManagerBeginGamePatch
|
||||
public static void Prefix(GameStartManager __instance)
|
||||
{
|
||||
if (Options.NoGameEnd.GetBool()) Logger.SendInGame(Translator.Get("noGameEndWarning"));
|
||||
if (Main.GM.Value) Logger.SendInGame(Translator.Get("gameMasterWarningTwo"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,6 @@ internal static class CoShowIntroPatch
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
|
||||
IntroInitiated = true;
|
||||
|
||||
AbilityManagement.SendRoleMessages();
|
||||
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
@@ -32,8 +30,6 @@ internal static class CoShowIntroPatch
|
||||
Logger.Info($" {p.Data.PlayerName} -> {p.Data.RoleType}", "RoleInfo");
|
||||
}
|
||||
|
||||
if (!Utils.isHideNSeek && Options.Gamemode.GetValue() < 2) Logger.Info($" {AbilityManagement.RoleList()}", "AbilityInfo");
|
||||
|
||||
if (Options.DisableAnnoyingMeetingCalls.GetBool() && !Utils.isHideNSeek)
|
||||
{
|
||||
Utils.CanCallMeetings = false;
|
||||
|
||||
@@ -139,13 +139,13 @@ public static class SetLevelPatch
|
||||
if (level == 0 && Options.DontKickLevelOnes.GetBool()) return;
|
||||
if (HandledLevelKicks.Contains(__instance)) return;
|
||||
|
||||
if (!Options.TempBanLowLevelPlayer.GetBool())
|
||||
if (!Options.TempBanLowLevelPlayer.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 under level {Options.KickLowLevelPlayer.GetInt()}", "KickLowLevelPlayer");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} (level {level + 1}) was kicked for being under level {Options.KickLowLevelPlayer.GetInt()}");
|
||||
}
|
||||
else
|
||||
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 under level {Options.KickLowLevelPlayer.GetInt()} ", "BanLowLevelPlayer");
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace AmongUsRevamped;
|
||||
|
||||
// Old patch for roles and abilities. Might use later.
|
||||
/*
|
||||
[HarmonyPatch(typeof(MeetingHud), nameof(MeetingHud.CheckForEndVoting))]
|
||||
public static class CheckForEndVotingPatch
|
||||
{
|
||||
@@ -36,12 +38,7 @@ public static class CheckForEndVotingPatch
|
||||
int extraVotesPerTask = (int)(Options.ExtraVotesPerTask.GetFloat()*PlayerControlCompleteTaskPatch.playerTasksCompleted[voterId]+0.1f);
|
||||
int extraVotesPerKill = (int)(Options.ExtraVotesPerKill.GetFloat()*MurderPlayerPatch.killCount[voterId]+0.1f);
|
||||
|
||||
if (!votes.TryGetValue(votedFor, out int currentVotes)) currentVotes = 0;
|
||||
|
||||
if (AbilityManagement.IsMayor(pc)) extraVotes += extraVotesCrewmate;
|
||||
if (AbilityManagement.IsTyrant(pc)) extraVotes += extraVotesImpostor;
|
||||
if (AbilityManagement.IsWorkhorse(pc)) extraVotes += extraVotesPerTask;
|
||||
if (AbilityManagement.IsStealer(pc)) extraVotes += extraVotesPerKill;
|
||||
if (!votes.TryGetValue(votedFor, out int currentVotes)) currentVotes = 0;
|
||||
|
||||
for (int i = 0; i < extraVotes; i++)
|
||||
{
|
||||
@@ -59,6 +56,7 @@ public static class CheckForEndVotingPatch
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[HarmonyPatch(typeof(MeetingHud), nameof(MeetingHud.Start))]
|
||||
class MeetingHudStartPatch
|
||||
|
||||
@@ -17,6 +17,17 @@ public static class NumberOption_Increase
|
||||
|
||||
if (Utils.IsLobby)
|
||||
{
|
||||
if (__instance.Title == StringNames.GameKillCooldown)
|
||||
{
|
||||
if (__instance.Value == 0.01f)
|
||||
{
|
||||
__instance.Value = 0.5f;
|
||||
__instance.UpdateValue();
|
||||
__instance.OnValueChanged.Invoke(__instance);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (__instance.Value <= __instance.ValidRange.min)
|
||||
{
|
||||
return true;
|
||||
@@ -103,6 +114,7 @@ public static class NumberOption_Initialize
|
||||
|
||||
case StringNames.GameKillCooldown:
|
||||
__instance.Increment = 0.5f;
|
||||
__instance.ValidRange = new FloatRange(0.01f, 900f);
|
||||
break;
|
||||
|
||||
case StringNames.GamePlayerSpeed:
|
||||
|
||||
@@ -17,6 +17,11 @@ internal class CoStartGamePatch
|
||||
Logger.Info($" Players: {PlayerControl.AllPlayerControls.Count}", "StartGame");
|
||||
Logger.Info($" Map: {(MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId}", "StartGame");
|
||||
|
||||
if (Main.GM.Value)
|
||||
{
|
||||
Logger.Info($" Game Master Enabled", "StartGame");
|
||||
}
|
||||
|
||||
NormalGameEndChecker.imps.Clear();
|
||||
NormalGameEndChecker.LastWinReason = "";
|
||||
|
||||
@@ -29,7 +34,7 @@ class PlayerControlSetRolePatch
|
||||
public static bool FirstAssign;
|
||||
private static readonly HashSet<byte> ProcessedPlayers = new();
|
||||
public static HashSet<byte> Seekers = new();
|
||||
public static HashSet<PlayerControl> Jesters = new();
|
||||
public static HashSet<byte> manualSeekers = new();
|
||||
private static readonly System.Random rand = new System.Random();
|
||||
|
||||
public static bool Prefix(PlayerControl __instance, ref RoleTypes roleType, ref bool canOverrideRole)
|
||||
@@ -40,23 +45,40 @@ class PlayerControlSetRolePatch
|
||||
|
||||
canOverrideRole = false;
|
||||
|
||||
if (Main.GM.Value && __instance == PlayerControl.LocalPlayer)
|
||||
if (Main.GM.Value && __instance.PlayerId == PlayerControl.LocalPlayer.PlayerId)
|
||||
{
|
||||
roleType = RoleTypes.Crewmate;
|
||||
OnGameStartPatch.ScheduleExile = true;
|
||||
}
|
||||
|
||||
if (Utils.isHideNSeek && Seekers.Count() == 0 && Options.NumSeekers.GetInt() != 1)
|
||||
if (Utils.isHideNSeek && Seekers.Count() == 0 && Options.NumSeekers.GetInt() > 0)
|
||||
{
|
||||
int seekersCount = Options.NumSeekers.GetInt();
|
||||
|
||||
if (manualSeekers.Count > seekersCount) seekersCount = manualSeekers.Count;
|
||||
|
||||
var candidates = new List<PlayerControl>();
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (!Main.GM.Value || p != PlayerControl.LocalPlayer) candidates.Add(p);
|
||||
}
|
||||
|
||||
seekersCount = Math.Min(seekersCount, candidates.Count);
|
||||
if (manualSeekers.Count == 0)
|
||||
{
|
||||
seekersCount = Math.Min(seekersCount, candidates.Count);
|
||||
}
|
||||
else
|
||||
{
|
||||
seekersCount = Math.Min(seekersCount, candidates.Count + manualSeekers.Count);
|
||||
}
|
||||
|
||||
foreach (byte id in manualSeekers)
|
||||
{
|
||||
if (Seekers.Count >= seekersCount) break;
|
||||
Seekers.Add(id);
|
||||
}
|
||||
|
||||
candidates.RemoveAll(p => manualSeekers.Contains(p.PlayerId));
|
||||
|
||||
for (int j = candidates.Count - 1; j > 0; j--)
|
||||
{
|
||||
@@ -64,25 +86,27 @@ class PlayerControlSetRolePatch
|
||||
(candidates[j], candidates[k]) = (candidates[k], candidates[j]);
|
||||
}
|
||||
|
||||
for (int j = 0; j < seekersCount; j++)
|
||||
foreach (var p in candidates)
|
||||
{
|
||||
Seekers.Add(candidates[j].PlayerId);
|
||||
if (Seekers.Count >= seekersCount) break;
|
||||
|
||||
Seekers.Add(p.PlayerId);
|
||||
}
|
||||
}
|
||||
|
||||
if (Utils.isHideNSeek && Options.NumSeekers.GetInt() != 1)
|
||||
if (Utils.isHideNSeek && Options.NumSeekers.GetInt() > 0)
|
||||
{
|
||||
if (Seekers.Contains(__instance.PlayerId)) roleType = RoleTypes.Impostor;
|
||||
else roleType = RoleTypes.Engineer;
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 3 && !Utils.isHideNSeek)
|
||||
if (Options.Gamemode.GetValue() == 2 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (Options.EngineerMode.GetBool()) roleType = RoleTypes.Engineer;
|
||||
else roleType = RoleTypes.Crewmate;
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 2 && !Utils.isHideNSeek)
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (roleType == RoleTypes.Impostor || roleType == RoleTypes.Phantom || roleType == RoleTypes.Viper) roleType = RoleTypes.Shapeshifter;
|
||||
}
|
||||
@@ -95,16 +119,6 @@ class PlayerControlSetRolePatch
|
||||
|
||||
Logger.Info("PCSRP successful", "RoleManaging");
|
||||
}
|
||||
|
||||
if (roleType == RoleTypes.Crewmate && Options.CrewmateAbility.GetValue() == 2 ||
|
||||
roleType == RoleTypes.Scientist && Options.ScientistAbility.GetValue() == 2 ||
|
||||
roleType == RoleTypes.Engineer && Options.EngineerAbility.GetValue() == 2 ||
|
||||
roleType == RoleTypes.Noisemaker && Options.NoisemakerAbility.GetValue() == 2 ||
|
||||
roleType == RoleTypes.Tracker && Options.TrackerAbility.GetValue() == 2 ||
|
||||
roleType == RoleTypes.Detective && Options.DetectiveAbility.GetValue() == 2)
|
||||
{
|
||||
Jesters.Add(__instance);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -116,7 +130,7 @@ internal static class OnGameStartPatch
|
||||
public static bool ScheduleExile;
|
||||
public static void Postfix()
|
||||
{
|
||||
if (AmongUsClient.Instance.AmHost && Options.Gamemode.GetValue() == 2 && Options.SNSChatInGame.GetBool())
|
||||
if (AmongUsClient.Instance.AmHost && Options.Gamemode.GetValue() == 1 && Options.SNSChatInGame.GetBool())
|
||||
{
|
||||
PlayerControl.LocalPlayer.CmdReportDeadBody(null);
|
||||
if (MeetingHud.Instance != null) MeetingHud.Instance.RpcClose();
|
||||
@@ -124,7 +138,8 @@ internal static class OnGameStartPatch
|
||||
|
||||
if (ScheduleExile)
|
||||
{
|
||||
PlayerControl.LocalPlayer.Exiled();
|
||||
Logger.Info($" Game Master Successful", "StartGame");
|
||||
PlayerControl.LocalPlayer.RpcSetRole(RoleTypes.CrewmateGhost);
|
||||
ScheduleExile = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class ReportDeadBodyPatch
|
||||
if (!AmongUsClient.Instance.AmHost || __instance == null) return true;
|
||||
if (Utils.isHideNSeek) return false;
|
||||
|
||||
if (Options.DisableAnnoyingMeetingCalls.GetBool() && !Utils.CanCallMeetings && target == null && Options.Gamemode.GetValue() < 2)
|
||||
if (Options.DisableAnnoyingMeetingCalls.GetBool() && !Utils.CanCallMeetings && target == null && Options.Gamemode.GetValue() < 1)
|
||||
{
|
||||
Logger.Info($" {__instance.Data.PlayerName} is calling a meeting too fast, attempt blocked", "ReportDeadBodyPatch");
|
||||
return false;
|
||||
@@ -25,7 +25,7 @@ class ReportDeadBodyPatch
|
||||
|
||||
// target == null means meeting
|
||||
|
||||
if (Options.Gamemode.GetValue() == 2 || Options.Gamemode.GetValue() == 3)
|
||||
if (Options.Gamemode.GetValue() == 1 || Options.Gamemode.GetValue() == 2)
|
||||
{
|
||||
if (target != null)
|
||||
{
|
||||
@@ -81,15 +81,8 @@ internal static class MurderPlayerPatch
|
||||
}
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() < 2 && AbilityManagement.IsJuggernaut(__instance) && killCount[__instance.PlayerId] >= Options.KillsNeededForJuggernaut.GetInt())
|
||||
{
|
||||
Logger.Info("Juggernaut win", "MurderPlayer");
|
||||
Utils.ContinueEndGame((byte)GameOverReason.ImpostorsByVote);
|
||||
NormalGameEndChecker.CheckWinnerText("Juggernaut");
|
||||
}
|
||||
|
||||
//2 = Shift and Seek
|
||||
if (Options.Gamemode.GetValue() == 2 && !Utils.isHideNSeek)
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek)
|
||||
{
|
||||
if (!resultFlags.HasFlag(MurderResultFlags.Succeeded))
|
||||
return;
|
||||
@@ -115,7 +108,7 @@ internal static class MurderPlayerPatch
|
||||
new LateTask(() =>
|
||||
{
|
||||
__instance.isNew = false;
|
||||
if (!__instance.Data.IsDead) {__instance.RpcSetRole(RoleTypes.Shapeshifter, false);}
|
||||
if (!__instance.Data.IsDead && __instance != null) {__instance.RpcSetRole(RoleTypes.Shapeshifter, false);}
|
||||
}, Options.CantKillTime.GetInt(), "SNSResetRole");
|
||||
}
|
||||
|
||||
@@ -140,7 +133,7 @@ internal static class CheckShapeshiftPatch
|
||||
if (!AmongUsClient.Instance.AmHost) return true;
|
||||
|
||||
// Canceling a Shapeshift freezes the player until they successfully Shapeshift again. Unavoidable game logic.
|
||||
if (Options.Gamemode.GetValue() == 2 && !Utils.isHideNSeek && __instance.isNew)
|
||||
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek && __instance.isNew)
|
||||
{
|
||||
Logger.Info($" {__instance.Data.PlayerName} shapeshifted during misfire cooldown, making the game temporarily freeze them.", "SNSShapeshiftManager");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} shapeshifted during misfire cooldown, making the game temporarily freeze them.");
|
||||
@@ -166,11 +159,6 @@ class PlayerControlCompleteTaskPatch
|
||||
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (AbilityManagement.IsJester(p) && !tasksInitiated)
|
||||
{
|
||||
ignoredTasks += p.Data.Tasks.Count;
|
||||
tasksInitiated = true;
|
||||
}
|
||||
|
||||
if (!playerTasksCompleted.ContainsKey(p.PlayerId))
|
||||
{
|
||||
@@ -181,26 +169,11 @@ class PlayerControlCompleteTaskPatch
|
||||
|
||||
playerTasksCompleted[__instance.PlayerId]++;
|
||||
|
||||
if (AbilityManagement.IsJester(__instance))
|
||||
{
|
||||
ignoredCompletedTasks = playerTasksCompleted[__instance.PlayerId];
|
||||
}
|
||||
|
||||
Logger.Info($" {__instance.Data.PlayerName} completed {idx}", "TaskPatch");
|
||||
|
||||
if (Options.Gamemode.GetValue() < 2)
|
||||
{
|
||||
if (AbilityManagement.IsSpeedrunner(__instance) && !__instance.Data.IsDead && playerTasksCompleted[__instance.PlayerId] >= __instance.Data.Tasks.Count)
|
||||
{
|
||||
Logger.Info($"Speedrunner {__instance.Data.PlayerName} won", "TaskPatch");
|
||||
Utils.ContinueEndGame((byte)GameOverReason.CrewmatesByVote);
|
||||
NormalGameEndChecker.CheckWinnerText("Speedrunner");
|
||||
}
|
||||
}
|
||||
if (Options.Gamemode.GetValue() != 2) CalculateTaskWin();
|
||||
|
||||
if (Options.Gamemode.GetValue() != 3) CalculateTaskWin();
|
||||
|
||||
if (Options.Gamemode.GetValue() == 3)
|
||||
if (Options.Gamemode.GetValue() == 2)
|
||||
{
|
||||
if (!__instance.Data.IsDead && playerTasksCompleted[__instance.PlayerId] >= __instance.Data.Tasks.Count)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@ public static class SabotageSystemTypeRepairDamagePatch
|
||||
var Sabo = (SystemTypes)amount;
|
||||
Logger.Info($" {player.Data.PlayerName} is trying to sabotage: {Sabo}", "SabotageCheck");
|
||||
|
||||
if (Options.Gamemode.GetValue() == 0 || Options.Gamemode.GetValue() == 1)
|
||||
if (Options.Gamemode.GetValue() == 0)
|
||||
{
|
||||
if (Sabo == SystemTypes.LifeSupp && Options.DisableOxygen.GetBool() ||
|
||||
Sabo == SystemTypes.Reactor && Options.DisableReactor.GetBool() ||
|
||||
@@ -26,6 +26,7 @@ public static class SabotageSystemTypeRepairDamagePatch
|
||||
Sabo == SystemTypes.Comms && Options.DisableComms.GetBool() ||
|
||||
Sabo == SystemTypes.HeliSabotage && Options.DisableHeli.GetBool() ||
|
||||
Sabo == SystemTypes.MushroomMixupSabotage && Options.DisableMushroomMixup.GetBool() ||
|
||||
Sabo == SystemTypes.Laboratory && Options.DisableReactor.GetBool() && msgReader != null ||
|
||||
player.Data.IsDead && !Options.DeadImpostorsCanSabotage.GetBool())
|
||||
{
|
||||
Logger.Info($" Sabotage {Sabo} by: {player.Data.PlayerName} was blocked", "SabotageCheck");
|
||||
@@ -34,7 +35,7 @@ public static class SabotageSystemTypeRepairDamagePatch
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Options.Gamemode.GetValue() == 2)
|
||||
if (Options.Gamemode.GetValue() == 1)
|
||||
{
|
||||
if (Sabo == SystemTypes.LifeSupp && Options.SNSDisableOxygen.GetBool() ||
|
||||
Sabo == SystemTypes.Reactor && Options.SNSDisableReactor.GetBool() ||
|
||||
@@ -42,6 +43,7 @@ public static class SabotageSystemTypeRepairDamagePatch
|
||||
Sabo == SystemTypes.Comms && Options.SNSDisableComms.GetBool() ||
|
||||
Sabo == SystemTypes.HeliSabotage && Options.SNSDisableHeli.GetBool() ||
|
||||
Sabo == SystemTypes.MushroomMixupSabotage && Options.SNSDisableMushroomMixup.GetBool() ||
|
||||
Sabo == SystemTypes.Laboratory && Options.DisableReactor.GetBool() && msgReader != null ||
|
||||
player.Data.IsDead && !Options.DeadImpostorsCanSabotage.GetBool())
|
||||
{
|
||||
Logger.Info($" Sabotage {Sabo} by: {player.Data.PlayerName} was blocked", "SnSSabotageCheck");
|
||||
@@ -62,7 +64,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.Gamemode.GetValue() == 2 && Options.SNSDisableCloseDoor.GetBool())
|
||||
if ((Options.DisableCloseDoor.GetBool() && Options.Gamemode.GetValue() == 0) || (Options.Gamemode.GetValue() == 1 && Options.SNSDisableCloseDoor.GetBool()))
|
||||
{
|
||||
Logger.Info($" Door sabotage in: {room} was blocked", "DoorCheck");
|
||||
return false;
|
||||
|
||||
@@ -163,12 +163,6 @@ internal static class RpcSetTasksPatch
|
||||
int numLongTasks = Main.NormalOptions.NumLongTasks;
|
||||
int numShortTasks = Main.NormalOptions.NumShortTasks;
|
||||
|
||||
if (AbilityManagement.IsSpeedrunner(pc))
|
||||
{
|
||||
numLongTasks = Options.SpeedrunnerLongTasks.GetInt();
|
||||
numShortTasks = Options.SpeedrunnerShortTasks.GetInt();
|
||||
}
|
||||
|
||||
if (taskTypeIds.Length == 0) hasCommonTasks = false;
|
||||
|
||||
switch (hasCommonTasks)
|
||||
|
||||
@@ -29,24 +29,7 @@
|
||||
<img src="https://github.com/astra1dev/AUnlocker/assets/90265231/14226f03-a003-4efc-b27b-6df53fb394d6" width=410 height=240>****
|
||||
|
||||
|
||||
# 🎮 Features (v1.8.3):
|
||||
## <b> 🌟 Custom Abilities:</b>
|
||||
- Mayor (Crewmate)
|
||||
- The Mayor has a configurable amount of extra votes
|
||||
- Jester (Crewmate)
|
||||
- The Jester wins alone by getting ejected, can win with Crewmates
|
||||
- Tasker (Crewmate)
|
||||
- The Crewmates win if the Tasker completes tasks and is alive
|
||||
- Workhorse (Crewmate)
|
||||
- The Workhorse gains additional votes per completed task
|
||||
- Tyrant (Impostor)
|
||||
- The Tyrant has a configurable amount of extra votes
|
||||
- Stealer (Impostor)
|
||||
- The Stealer gains additional votes per kill
|
||||
- Juggernaut (Impostor)
|
||||
- The Impostors win if the Juggernaut gains a set amount of kills
|
||||
- For the enabled ability list, type /r
|
||||
- To check ability descriptions, type /r {ability}
|
||||
# 🎮 Features (v1.9.0):
|
||||
|
||||
## <b>♠️ Client Side settings:</b>
|
||||
- Game Master (Spectator)
|
||||
@@ -84,7 +67,7 @@
|
||||
- All players have same tasks
|
||||
- Hide and Seek: Custom Seeker count
|
||||
## <b>🏆 Custom Gamemodes:</b>
|
||||
- 0 Kill Cooldown
|
||||
- 0 Kill Cooldown -> Set Kill Cooldown to 0.01
|
||||
- Shift and Seek
|
||||
- Speedrun
|
||||
## <b>❓ Other Improvements:</b>
|
||||
@@ -103,6 +86,7 @@
|
||||
- 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
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"disableCommandHelper": "Disable Command Helper",
|
||||
"disableCompatibilityWarning": "Disable Compatibility Warning",
|
||||
|
||||
"gameMasterWarning":"You will now spectate games until Game Master is turned off. WARNING: Ability messages will not be sent and role assigning might be inaccurate if this setting is enabled.",
|
||||
"gameMasterWarning":"You will now spectate games until Game Master is turned off. WARNING: Role assigning might be inaccurate if this setting is enabled.",
|
||||
|
||||
"cancelStartCountdown": "Start countdown canceled",
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
"slashLastGameCmd": "Who Can Use /l & /aur",
|
||||
"slashKickCmd": "Who Can Use /kick & /ckick",
|
||||
"slashBanCmd": "Who Can Use /ban & /cban",
|
||||
"slashEndMeetingCmd": "Who Can Use /endmeeting",
|
||||
"slashEndMeetingCmd": "Who Can Use /endmeeting & /seeker",
|
||||
"slashStartAndEndGameCmd": "Who Can Use /startgame & /endgame",
|
||||
|
||||
"tabGroupCrewmate": "Crewmate Roles",
|
||||
@@ -216,35 +216,10 @@
|
||||
"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 or ability list.\n<b>/r {ability}</b>\nSend specific ability info.\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>/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.",
|
||||
|
||||
"translationReloaded": "Your file has successfully been reset.\nTo apply all changes, restart your game.",
|
||||
|
||||
"tabGroupCrewmateAbilities": "Crewmate Ability Settings",
|
||||
"crewmateAbility": "Crewmate (Role) Ability",
|
||||
"scientistAbility": "Scientist Ability",
|
||||
"engineerAbility": "Engineer Ability",
|
||||
"noisemakerAbility": "Noisemaker Ability",
|
||||
"trackerAbility": "Tracker Ability",
|
||||
"detectiveAbility": "Detective Ability",
|
||||
|
||||
"extraVotesCrewmate": "Extra Votes For Mayor",
|
||||
"extraVotesPerTask": "Extra Votes Per Task For Workhorse",
|
||||
"speedrunnerShortTasks": "Short Tasks For Tasker",
|
||||
"speedrunnerLongTasks": "Long Tasks For Tasker",
|
||||
|
||||
"tabGroupImpostorAbilities": "Impostor Ability Settings",
|
||||
"impostorAbility": "Impostor (Role) Ability",
|
||||
"shapeshifterAbility": "Shapeshifter Ability",
|
||||
"phantomAbility": "Phantom Ability",
|
||||
"viperAbility": "Viper Ability",
|
||||
|
||||
"extraVotesImpostor": "Extra Votes For Tyrant",
|
||||
"extraVotesPerKill": "Extra Votes Per Kill For Stealer",
|
||||
"killsNeededForJuggernaut": "Kills Needed For Juggernaut",
|
||||
|
||||
"ability": "Ability",
|
||||
|
||||
"templateWelcome": "# In this file you can add Templates, which serve as easy copy-paste alternatives.\n# To create a template, write a new line with the same formatting as the test Template below.\n# Note that Templates can't be longer than 120 characters and can't contain special characters. Having so will kick you.\n\ntest: this is an example template. Type '/t test' to see it.\n\nwelcome: Welcome! This lobby uses Among Us Revamped {ModVersion} by MV. Enjoy!",
|
||||
"moderatorWelcome": "# In this file you can add Moderators by Friendcode.\n# If you add someone, they will gain a purple name in-game.\n# Go to 'System Settings' in-game to customize Moderator permissions. Below is a Friendcode example.\n\nfriendcode#0000",
|
||||
"vipWelcome": "# In this file you can add VIP's by Friendcode.\n# If you add someone, they will gain a yellow name in-game.\n# Go to 'System Settings' in-game to customize VIP permissions. Below is a Friendcode example.\n\nfriendcode#0000\n",
|
||||
@@ -252,9 +227,10 @@
|
||||
"banlistWelcome": "# In this file you can ban players from your lobby by Friendcode.\n# Banning someone in-game will automatically add them here as well. Below is a Friendcode example.\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# In this file you can set denied words, automatically kicking anyone in-game who sends words listed here.\n# Make sure to separate words by using new lines.",
|
||||
"bannameWelcome": "# In this file you can set denied names, automatically kicking anyone in-game who uses names listed here.\n# Make sure to separate names by using new lines.",
|
||||
"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",
|
||||
"startWordsWelcome": "# In this file you can set the detected words for 'Kick Players Who Say Start'.\n# 'Strict Detection Mode' OFF = Messages have to exactly match words. 'Strict Detection Mode' ON = Messages only have to contain words.\n# You can put unrelated words in as well in order to detect them only in lobby.\n\nstart\nbegin\ncommence",
|
||||
|
||||
"noGameEndWarning": "WARNING: No Game End is enabled",
|
||||
"gameMasterWarningTwo": "WARNING: Game Master is enabled",
|
||||
|
||||
"tooLongTemplate": "Your Template is longer than 120 characters and would kick you upon sending. Please reduce the length.",
|
||||
|
||||
@@ -274,7 +250,7 @@
|
||||
"emDesc": "End the current meeting.",
|
||||
"aurDesc": "Send Among Us Revamped social links.",
|
||||
"sDesc": "Start the game countdown.",
|
||||
"rDesc": "/r sends active abilities or current gamemode. /r {ability} sends specific ability info",
|
||||
"rDesc": "Sends current gamemode description.",
|
||||
"rolesDesc": "Send all abilities/gamemode overview.",
|
||||
"kickDesc": "Kick a player by name.",
|
||||
"ckickDesc": "Kick a player by color.",
|
||||
@@ -291,18 +267,20 @@
|
||||
"removeAdminDesc": "Remove Admin from user.",
|
||||
"lastgameDesc": "Send last game info.",
|
||||
"templateDesc": "Send a specified template from AUR-DATA/templates.txt.",
|
||||
"seekerDesc": "Adds player as Seeker in HnS.",
|
||||
"seekersDesc": "Shows all manually selected Seekers.",
|
||||
"clearSeekerDesc": "Clears the manual Seeker list.",
|
||||
|
||||
"banWordKick": "{0} was kicked because they sent a banned word {1} time(s)",
|
||||
"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)",
|
||||
|
||||
"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",
|
||||
"abilitySettings": "Ability Settings",
|
||||
"gameplaySettings": "Gameplay Settings",
|
||||
"gamemodeSettings": "Gamemode Settings",
|
||||
|
||||
"systemSettingsDesc": "Quality settings to improve comfort and testing.",
|
||||
"abilitySettingsDesc": "Ability settings to enhance vanilla roles.",
|
||||
"gameplaySettingsDesc": "Gameplay settings to improve the in-game experience.",
|
||||
"gamemodeSettingsDesc": "Situational settings to apply for specific gamemodes.",
|
||||
|
||||
@@ -310,5 +288,8 @@
|
||||
"vipAndAbove": "<color=yellow>VIP</color> And Above",
|
||||
"moderatorAndAbove": "<color=purple>Moderator</color> And Above",
|
||||
"admin": "<color=red>Admin</color>",
|
||||
"onlyYou": "Only You"
|
||||
"onlyYou": "Only You",
|
||||
|
||||
"seekers": "Seekers: ",
|
||||
"clearedSeekers": "Successfully cleared the manual Seeker list."
|
||||
}
|
||||
@@ -216,35 +216,10 @@
|
||||
"disableSubmitScan": "Disabilita Invia la scansione",
|
||||
"disableUploadData": "Disabilita Carica i 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>/r {ability}</b>\nInvia le informazioni di un'abilità specifica.\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 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.",
|
||||
|
||||
"translationReloaded": "Il tuo file è stato ripristinato con successo.\nPer applicare tutte le modifiche, riavvia il gioco.",
|
||||
|
||||
"tabGroupCrewmateAbilities": "Impostazioni abilità astronauta",
|
||||
"crewmateAbility": "Abilità dell'astronauta (Ruolo)",
|
||||
"scientistAbility": "Abilità dello scienziato",
|
||||
"engineerAbility": "Abilità dell'ingegnere",
|
||||
"noisemakerAbility": "Abilità del noisemaker",
|
||||
"trackerAbility": "Abilità del tracker",
|
||||
"detectiveAbility": "Abilità del detective",
|
||||
|
||||
"extraVotesCrewmate": "Voti extra per il sindaco",
|
||||
"extraVotesPerTask": "Voti extra per incarico per lo sgobbone",
|
||||
"speedrunnerShortTasks": "Incarichi brevi per il tasker",
|
||||
"speedrunnerLongTasks": "Incarichi lunghi per il tasker",
|
||||
|
||||
"tabGroupImpostorAbilities": "Impostazioni abilità impostore",
|
||||
"impostorAbility": "Abilità dell'impostore (Ruolo)",
|
||||
"shapeshifterAbility": "Abilità del mutaforma",
|
||||
"phantomAbility": "Abilità del fantasma",
|
||||
"viperAbility": "Abilità della vipera",
|
||||
|
||||
"extraVotesImpostor": "Voti extra per il tiranno",
|
||||
"extraVotesPerKill": "Voti extra per uccisione per il ladro",
|
||||
"killsNeededForJuggernaut": "Uccisioni necessarie per il juggernaut",
|
||||
|
||||
"ability": "Abilità",
|
||||
|
||||
"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",
|
||||
@@ -273,7 +248,7 @@
|
||||
"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. /r {ability} invia le informazioni di un'abilità specifica",
|
||||
"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.",
|
||||
@@ -296,12 +271,10 @@
|
||||
"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à.",
|
||||
|
||||
"systemSettings": "Impostazioni di sistema",
|
||||
"abilitySettings": "Impostazioni abilità",
|
||||
"gameplaySettings": "Impostazioni di gioco",
|
||||
"gamemodeSettings": "Impostazioni modalità di gioco",
|
||||
|
||||
"systemSettingsDesc": "Impostazioni di qualità per migliorare il comfort e i test.",
|
||||
"abilitySettingsDesc": "Impostazioni delle abilità per potenziare i ruoli base.",
|
||||
"gameplaySettingsDesc": "Impostazioni di gioco per migliorare l'esperienza in partita.",
|
||||
"gamemodeSettingsDesc": "Impostazioni situazionali da applicare per specifiche modalità di gioco.",
|
||||
|
||||
|
||||
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"LanguageID": "4",
|
||||
|
||||
"disableCompatibilityWarning": "互換性警告を無効化",
|
||||
|
||||
"systemSettings": "システム設定",
|
||||
"gameplaySettings": "ゲームプレイ設定",
|
||||
"gamemodeSettings": "モード設定",
|
||||
|
||||
"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": "開始カウントダウンがキャンセルされました",
|
||||
|
||||
"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 を使用できる権限",
|
||||
|
||||
"tabGroupCrewmate": "クルーメイトの役職",
|
||||
"tabGroupNeutral": "ニュートラルの役職",
|
||||
"tabGroupImpostor": "インポスターの役職",
|
||||
|
||||
"tabGroupStandard": "スタンダードモード",
|
||||
|
||||
"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": "全員がエンジニア",
|
||||
|
||||
"tabGroupSabotages": "サボタージュ設定",
|
||||
"deadImpostorsCanSabotage": "死亡したインポスターもサボタージュ可能",
|
||||
"disableSabotage": "緊急サボタージュを無効化",
|
||||
"disableReactor": "リアクター妨害を無効化",
|
||||
"disableOxygen": "酸素妨害を無効化",
|
||||
"disableLights": "停電妨害を無効化",
|
||||
"disableComms": "通信妨害を無効化",
|
||||
"disableHeli": "墜落危機妨害を無効化",
|
||||
"disableMushroomMixup": "キノコまぜまぜ妨害を無効化",
|
||||
"disableCloseDoor": "ドア閉め妨害を無効化",
|
||||
|
||||
"tabGroupGameplayGeneral": "全般的なゲームプレイ",
|
||||
"disableAnnoyingMeetingCalls": "ゲーム開始後30秒間は緊急会議の招集を禁止",
|
||||
"disableReport": "死体通報を無効化",
|
||||
"changeDecontaminationTime": "除染室の時間を上書き (スタンダードモードのみ)",
|
||||
"decontaminationTimeOnMiraHQ": "Mira HQの除染持続時間",
|
||||
"decontaminationDoorOpenTimeOnMiraHQ": "Mira HQのドア開放持続時間",
|
||||
"decontaminationTimeOnPolus": "Polusの除染持続時間",
|
||||
"decontaminationDoorOpenTimeOnPolus": "Polusのドア開放持続時間",
|
||||
"disableSporeTrigger": "The Fungleの胞子トリガーを無効化",
|
||||
|
||||
"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のバイタルを無効化",
|
||||
|
||||
"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不具合が発生した場合、競合が原因である可能性が非常に高いです。"
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"LanguageID": "5",
|
||||
|
||||
"gameMaster": "Наблюдатель",
|
||||
"showFPS": "Показать FPS",
|
||||
"autoStart": "Авто Старт",
|
||||
"enableDarkTheme": "Включить Тёмную Тему",
|
||||
"enableLobbyMusic": "Музыка Лобби",
|
||||
"disableInfoWhenDead": "Скрывать Информацию После Смерти",
|
||||
"disableCommandHelper": "Выключить Командного Помощника",
|
||||
"disableCompatibilityWarning": "Выключить Предупреждение Совместимости",
|
||||
|
||||
"gameMasterWarning":"Вы будете наблюдать игры пока включён режим спектатора. ВНИМАНИЕ: Сообщения со способностями не будут отправлены и назначение ролей может быть неправильным если эта настройка включена.",
|
||||
|
||||
"cancelStartCountdown": "Отсчет до старта отменён",
|
||||
|
||||
"invalidFriendCodeKick": "{0} был кикнут из-за неправильного Кода друга",
|
||||
"invalidFriendCodeBan": "{0} был забанен из-за неправильного Кода друга",
|
||||
"language": "Язык (Нужен Перезапуск)",
|
||||
"gamemode": "Режим",
|
||||
"tabGroupMain": "Модерация",
|
||||
"kickLowLevelPlayer": "Кикать Игроков Ниже Уровня",
|
||||
"tempBanLowLevelPlayer": "Банить вместо кика",
|
||||
"dontKickLevelOnes": "Не кикать Игроков Ур.1 В Глитчнутых Лобби",
|
||||
"kickInvalidFriendCodes": "Кикать Неправильные (Пустые) Коды друзей",
|
||||
"tempBanInvalidFriendCodes": "Банить вместо кика",
|
||||
"deniedWordsToKick": "Отправленных Запрещённых Слов Чтобы Кикнуть Игрока",
|
||||
"moderatorCanUseCommand": "Модераторы Могут Использовать Команды",
|
||||
"autoKickStart": "Кикать Игроков Которые Говорят Start",
|
||||
"autoKickStartAsBan": "Банить вместо кика",
|
||||
"autoKickStartTimes": "Start сообщений нужно для кика",
|
||||
"autoKickStartStrength": "Режим строго обнаружения",
|
||||
"tabGroupAutomation": "Автоматизация",
|
||||
"autoSendGameInfo": "Автоматически отправлять информацию о победителе",
|
||||
"autoRejoinLobby": "Автоматически перезаходить в лобби",
|
||||
"autoStartTimer": "Отсчет Для Авто Старта",
|
||||
"waitAutoStart": "Авто Старт После",
|
||||
"playerAutoStart": "Игроков Нужно Для Авто Старта",
|
||||
"enableJoinMessages": "Включить Сообщение С Приветствиями",
|
||||
"messagePerPlayerNum": "Сообщение Каждое Количество Заходов",
|
||||
"tabGroupMisc": "Разное",
|
||||
"startCountdown": "Отсчет Для Старта По Умолчанию",
|
||||
"colorCommandLevel": "Кто Может использовать Команды Цветов",
|
||||
"allowFortegreen": "Разрешить Фортезелёный Цвет",
|
||||
"noGameEnd": "Без Конца Игры",
|
||||
|
||||
"tabGroupAccess": "Уровни Доступа",
|
||||
"slashColorCmd": "Кто Может Использовать /color",
|
||||
"slashRolesAndGamemodeCmd": "Кто Может Использовать /r & Templates",
|
||||
"slashLastGameCmd": "Кто Может Использовать /l & /aur",
|
||||
"slashKickCmd": "Кто Может Использовать /kick & /ckick",
|
||||
"slashBanCmd": "Кто Может Использовать /ban & /cban",
|
||||
"slashEndMeetingCmd": "Кто Может Использовать /endmeeting",
|
||||
"slashStartAndEndGameCmd": "Кто Может Использовать /startgame & /endgame",
|
||||
|
||||
"tabGroupCrewmate": "Роли Экипажа",
|
||||
"tabGroupNeutral": "Роли Нейтралов",
|
||||
"tabGroupImpostor": "Роли Предателей",
|
||||
|
||||
"tabGroupStandard": "Стандарт",
|
||||
|
||||
"tabGroupHNS": "Прятки",
|
||||
"numSeekers": "# Искателей",
|
||||
"tabGroup0Kcd": "0 Перезарядка Убийств",
|
||||
"noKcdSettingsOverride": "Автоматически Обновлять Настройки",
|
||||
"tabGroupSNS": "Клон",
|
||||
"snsChatInGame": "Чат во время игры (экспериментальное)",
|
||||
"snsSettingsOverride": "Автоматически Обновлять Настройки",
|
||||
"cantKillTime": "После Осечки Нельзя Убивать В Течение",
|
||||
"misfiresToSuicide": "Самоубийство После Количества Осечек",
|
||||
"crewAutoWinsGameAfter": "Экипаж Автоматически Побеждает После",
|
||||
"snsDisableSabotage": "Выключить Критические Сабботажи в Режиме Клона",
|
||||
"snsDisableReactor": "Выключить Сабботаж Реактора",
|
||||
"snsDisableOxygen": "Выключить Сабботаж O2",
|
||||
"snsDisableLights": "Выключить Сабботаж Света",
|
||||
"snsDisableComms": "Выключить Сабботаж Связи",
|
||||
"snsDisableHeli": "Выключить Сабботаж Столкновения",
|
||||
"snsDisableMushroomMixup": "Выключить Сабботаж Грибного Переполоха",
|
||||
"snsDisableCloseDoor": "Выключить Сабботаж Дверей в Режиме Клона",
|
||||
"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": "Выключить Девайсы на 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": "Выключить Девайсы на Fungle",
|
||||
"disableFungleVital": "Выключить Пульс на 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": "Выключить Задания на Airship",
|
||||
"disableCleanToilet": "Выключить Помыть Туалет",
|
||||
"disableDecontaminate": "Выключить Пройти Обработку",
|
||||
"disableDevelopPhotos": "Выключить Проявить Фото",
|
||||
"disableDressMannequin": "Выключить Одеть Манекен",
|
||||
"disableFixShower": "Выключить Починить Душ",
|
||||
"disableMakeBurger": "Выключить Сделать Бургер",
|
||||
"disablePickUpTowels": "Выключить Поднять Полотенца",
|
||||
"disablePolishRuby": "Выключить Полировать рубин",
|
||||
"disablePutAwayPistols": "Выключить Убрать Пистолеты",
|
||||
"disablePutAwayRifles": "Выключить Убрать Ружья",
|
||||
"disableRewindTapes": "Выключить Перемотать Кассеты",
|
||||
"disableResetBreaker": "Выключить Перезапуск Пробок",
|
||||
"disableSortRecords": "Выключить Разобрать Записи",
|
||||
"disableStartFans": "Выключить Запустить Вентилятор",
|
||||
"disableUnlockSafe": "Выключить Открыть Сейф",
|
||||
|
||||
"disableFungleTasks": "Выключить Задания на Fungle",
|
||||
"disableBuildSandcastle": "Выключить Построить Песчаный Замок",
|
||||
"disableCatchFish": "Выключить Поймать Рыбу",
|
||||
"disableCollectSamples": "Выключить Собрать Образцы",
|
||||
"disableCollectShells": "Выключить Собрать Ракушки",
|
||||
"disableCollectVegetables": "Выключить Собрать Овощи",
|
||||
"disableCrankGenerator": "Выключить Завести Генератор",
|
||||
"disableExtractFuel": "Выключить Извлечь Топливо",
|
||||
"disableFixAntenna": "Выключить Починить Антенну",
|
||||
"disableHelpCritter": "Выключить Помочь Животному",
|
||||
"disableHoistSupplies": "Выключить Поднять Припасы",
|
||||
"disableLiftWeights": "Выключить Поднять Грузы",
|
||||
"disableMineOres": "Выключить Добыть Руду",
|
||||
"disablePlayVideoGame": "Выключить Играть в Видеоигру",
|
||||
"disablePolishGem": "Выключить Отполировать Драгоценный Камень",
|
||||
"disableReplaceParts": "Выключить Заменить Детали",
|
||||
"disableRoastMarshmallow": "Выключить Поджарить Зефирки",
|
||||
"disableThrowFisbee": "Выключить Играть с Фрисби",
|
||||
"disableFindSignal": "Выключить Найти Сигнал",
|
||||
|
||||
"disableMiscCommonTasks": "Выключить Общие Задания",
|
||||
"disableEnterIdCode": "Выключить Ввести Код Доступа",
|
||||
"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>\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",
|
||||
"banlistWelcome": "# В этом файле вы можете банить игроков из ваших лобби по Коду друга.\n# Если вы забаните кого-то в игре они автоматически добавятся в этот файл. Снизу приведен пример Кода друга.\n\nfriendcode#0000\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 символов и будет вас кик если он будет отправлен. Пожалуйста уменьшите длину.",
|
||||
|
||||
"vipAdd": "Успешно добавлен {0} как VIP.",
|
||||
"moderatorAdd": "Успешно добавлен {0} как Модератор.",
|
||||
"adminAdd": "Успешно добавлен {0} as Админ.",
|
||||
"vipRemove": "Успешно убран VIP у {0}.",
|
||||
"moderatorRemove": "Успешно убран Модератор у {0}.",
|
||||
"adminRemove": "Успешно убран Админ у {0}.",
|
||||
"permFail": "Не удалось найти игрока '{0}'. Убедитесь что вы написали ник корректно",
|
||||
|
||||
"helpDesc": "Показывает все Команды и что они делают.",
|
||||
"snsDesc": "Отправляет описание режима Клона.",
|
||||
"0kcDesc": "Отправляет описание режима 0 Перезарядки Убийств.",
|
||||
"SrDesc": "Отправляет описание режима Спидрана.",
|
||||
"egDesc": "Заканчивает текущую игру.",
|
||||
"emDesc": "Заканчивает текущее собрание.",
|
||||
"aurDesc": "Отправляет Ссылки Us Revamped.",
|
||||
"sDesc": "Начинает отсчет для старта.",
|
||||
"rDesc": "/r Отправляет включеные способности или текущий режим.",
|
||||
"rolesDesc": "Отправляет обзор всех способностей/режимов.",
|
||||
"kickDesc": "Кикает игрока по нику.",
|
||||
"ckickDesc": "Кикает игрока по цвету.",
|
||||
"banDesc": "Банит игрока по нику.",
|
||||
"cbanDesc": "Банит игрока по цвету.",
|
||||
"dumpDesc": "Копирует LogOutput в отдельный файл.",
|
||||
"colDesc": "Меняет ваш цвет.",
|
||||
"reloadDesc": "Перезагружает языковой файл.",
|
||||
"vipDesc": "Добавляет игрока как VIP.",
|
||||
"moderatorDesc": "Добавляет игрока как Модератор.",
|
||||
"adminDesc": "Добавляет игрока как Админ.",
|
||||
"cremoveVipDesc": "Убирает VIP у игрока.",
|
||||
"removeModeratorDesc": "Убирает Модератора у игрока.",
|
||||
"removeAdminDesc": "Убирает Админа у игрока.",
|
||||
"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Если у вас будут баги, они наверняка происходят из-за несовместимости.",
|
||||
|
||||
"systemSettings": "Системные Настройки",
|
||||
"gameplaySettings": "Игровые Настройки",
|
||||
"gamemodeSettings": "Настройки Режима",
|
||||
|
||||
"systemSettingsDesc": "Системные Настройки Для Повышения Комфорта и Упрощения Тестирования.",
|
||||
"gameplaySettingsDesc": "Игровые Настройки Для Улучшения Игрового Процесса.",
|
||||
"gamemodeSettingsDesc": "Дополнительные Настройки Для Определённых Игровых Режимов.",
|
||||
|
||||
"everyone": "Все",
|
||||
"vipAndAbove": "<color=yellow>VIP</color> И Выше",
|
||||
"moderatorAndAbove": "<color=purple>Модератор</color> И Выше",
|
||||
"admin": "<color=red>Админ</color>",
|
||||
"onlyYou": "Только Вы"
|
||||
}
|
||||
@@ -216,35 +216,10 @@
|
||||
"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>/r {ability}</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、管理员(Moderator) 或 超级管理员(Admin)。\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、管理员(Moderator) 或 超级管理员(Admin)。\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要应用所有更改,请重启游戏。",
|
||||
|
||||
"tabGroupCrewmateAbilities": "船员技能设置",
|
||||
"crewmateAbility": "船员(职业)技能",
|
||||
"scientistAbility": "科学家技能",
|
||||
"engineerAbility": "工程师技能",
|
||||
"noisemakerAbility": "噪音制造者技能",
|
||||
"trackerAbility": "追踪者技能",
|
||||
"detectiveAbility": "侦探技能",
|
||||
|
||||
"extraVotesCrewmate": "市长额外票数",
|
||||
"extraVotesPerTask": "老黄牛每项任务获得的额外票数",
|
||||
"speedrunnerShortTasks": "任务达人的短任务",
|
||||
"speedrunnerLongTasks": "任务达人的长任务",
|
||||
|
||||
"tabGroupImpostorAbilities": "内鬼技能设置",
|
||||
"impostorAbility": "内鬼(职业)技能",
|
||||
"shapeshifterAbility": "伪装者技能",
|
||||
"phantomAbility": "魔魂技能",
|
||||
"viperAbility": "蝰蛇技能",
|
||||
|
||||
"extraVotesImpostor": "暴君额外票数",
|
||||
"extraVotesPerKill": "小偷每击杀获得的额外票数",
|
||||
"killsNeededForJuggernaut": "主宰所需的击杀数",
|
||||
|
||||
"ability": "技能",
|
||||
|
||||
"templateWelcome": "# 在此文件中,您可以添加模板,以便快捷复制粘贴。\n# 要创建新模板,请另起一行并使用与下方测试模板相同的格式。\n# 请注意,模板长度不能超过 120 个字符,且不能包含特殊字符,否则您会被踢出房间。\n\ntest: 这是一个示例模板。输入 '/t test' 即可查看。\n\nwelcome: 欢迎!本大厅使用的是由 MV 制作的 Among Us Revamped {ModVersion}。祝您玩得开心!",
|
||||
"moderatorWelcome": "# 在此文件中,您可以通过好友代码添加管理员 (Moderator)。\n# 添加后,他们在游戏内的名字将变为紫色。\n# 请前往游戏内的“系统设置”自定义管理员权限。下方为好友代码示例。\n\nfriendcode#0000",
|
||||
"vipWelcome": "# 在此文件中,您可以通过好友代码添加 VIP。\n# 添加后,他们在游戏内的名字将变为黄色。\n# 请前往游戏内的“系统设置”自定义 VIP 权限。下方为好友代码示例。\n\nfriendcode#0000\n",
|
||||
@@ -273,7 +248,7 @@
|
||||
"emDesc": "结束当前会议。",
|
||||
"aurDesc": "发送 Among Us Revamped 社交链接。",
|
||||
"sDesc": "开始游戏倒计时。",
|
||||
"rDesc": "/r 发送活跃技能或当前模式。/r {ability} 发送特定技能信息",
|
||||
"rDesc": "/r 发送活跃技能或当前模式。",
|
||||
"rolesDesc": "发送所有技能/游戏模式总览。",
|
||||
"kickDesc": "通过名字踢出玩家。",
|
||||
"ckickDesc": "通过颜色踢出玩家。",
|
||||
@@ -296,12 +271,10 @@
|
||||
"pluginWarning": "<color=red><size=5><b>警告:</color></b></size>\n<size=3><b>检测到您启用了 2 个或更多插件。</size></b>\nAmong Us Revamped 与大多数模组不兼容。\n如果遇到 Bug,极有可能是因为冲突所致。",
|
||||
|
||||
"systemSettings": "系统设置",
|
||||
"abilitySettings": "能力设置",
|
||||
"gameplaySettings": "游戏设置",
|
||||
"gamemodeSettings": "模式设置",
|
||||
|
||||
"systemSettingsDesc": "用于提升舒适度与测试的画质/系统设置。",
|
||||
"abilitySettingsDesc": "用于增强原版角色能力的设置。",
|
||||
"gameplaySettingsDesc": "用于改善游戏内体验的设置。",
|
||||
"gamemodeSettingsDesc": "适用于特定游戏模式的情境设置。",
|
||||
|
||||
|
||||
@@ -195,28 +195,8 @@
|
||||
"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>/r {ability}</b>\nEnviar información sobre una habilidad específica.\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 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.",
|
||||
"translationReloaded": "Tu archivo se reinició correctamente.\nPara aplicar todos los cambios, reinicia el juego.",
|
||||
"tabGroupCrewmateAbilities": "Configuración de habilidades de tripulante",
|
||||
"crewmateAbility": "Habilidad de tripulante (rol)",
|
||||
"scientistAbility": "Habilidad de científico",
|
||||
"engineerAbility": "Habilidad de ingeniero",
|
||||
"noisemakerAbility": "Habilidad de alertador",
|
||||
"trackerAbility": "Habilidad de rastreador",
|
||||
"detectiveAbility": "Habilidad de detective",
|
||||
"extraVotesCrewmate": "Votos extra para el alcalde",
|
||||
"extraVotesPerTask": "Votos extra por tarea para el trabajador",
|
||||
"speedrunnerShortTasks": "Tareas cortas para el trabajador",
|
||||
"speedrunnerLongTasks": "Tareas largas para el trabajador",
|
||||
"tabGroupImpostorAbilities": "Configuración de habilidades de impostor",
|
||||
"impostorAbility": "Habilidad de impostor (rol)",
|
||||
"shapeshifterAbility": "Habilidad de cambiaformas",
|
||||
"phantomAbility": "Habilidad de fantasma",
|
||||
"viperAbility": "Habilidad de víbora",
|
||||
"extraVotesImpostor": "Votos extra para el tirano",
|
||||
"extraVotesPerKill": "Votos extra por asesinato para el ladrón",
|
||||
"killsNeededForJuggernaut": "Muertes necesarias para el Juggernauta",
|
||||
"ability": "Habilidad",
|
||||
"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",
|
||||
@@ -241,7 +221,7 @@
|
||||
"emDesc": "Termina la reunión actual.",
|
||||
"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. /r {ability} envía información de una habilidad específica",
|
||||
"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.",
|
||||
@@ -262,12 +242,10 @@
|
||||
"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",
|
||||
"abilitySettings": "Configuración de habilidades",
|
||||
"gameplaySettings": "Configuración de la partida",
|
||||
"gamemodeSettings": "Configuración del modo de juego",
|
||||
|
||||
"systemSettingsDesc": "Ajustes de calidad para mejorar la comodidad y facilitar las pruebas.",
|
||||
"abilitySettingsDesc": "Ajustes de habilidades para mejorar los roles originales.",
|
||||
"gameplaySettingsDesc": "Ajustes de la partida para mejorar la experiencia de juego.",
|
||||
"gamemodeSettingsDesc": "Ajustes específicos para determinados modos de juego.",
|
||||
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
var target = Argument("target", "Build");
|
||||
|
||||
var workflow = BuildSystem.GitHubActions.Environment.Workflow;
|
||||
var buildId = workflow.RunNumber;
|
||||
var tag = workflow.RefType == GitHubActionsRefType.Tag ? workflow.RefName : null;
|
||||
|
||||
Task("Build")
|
||||
.Does(() =>
|
||||
{
|
||||
var settings = new DotNetBuildSettings
|
||||
{
|
||||
Configuration = "Release",
|
||||
MSBuildSettings = new DotNetMSBuildSettings()
|
||||
};
|
||||
|
||||
if (tag != null)
|
||||
{
|
||||
settings.MSBuildSettings.Version = tag;
|
||||
}
|
||||
else if (buildId != 0)
|
||||
{
|
||||
settings.MSBuildSettings.VersionSuffix = "ci." + buildId;
|
||||
}
|
||||
|
||||
DotNetBuild(".", settings);
|
||||
});
|
||||
|
||||
RunTarget(target);
|
||||
Reference in new issue
Block a user