mirror of
https://github.com/Gurge44/EndlessHostRoles.git
synced 2026-10-20 21:35:59 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8548eb9da1 | ||
|
|
b3d8aea512 | ||
|
|
fc0ea73c7a | ||
|
|
e78141bb78 | ||
|
|
f11eb5ae46 | ||
|
|
2cb016e685 | ||
|
|
1a443e9c92 | ||
|
|
1e087c9c69 | ||
|
|
b74ba4baa0 | ||
|
|
4e81fe1704 |
No files matched your search
+9
-33
@@ -1,42 +1,18 @@
|
||||
# Thank you so much for finding and using EHR!
|
||||
|
||||
> [!IMPORTANT]
|
||||
> InnerSloth added a way to use chat commands without needing to spam the chat after it to hide who typed it. In the next few weeks, please adapt to using commands with a `/cmd ` prefix. So if you were to type `/bt 4 snitch`, you would now type `/cmd bt 4 snitch`. This is the last version of EHR that allows the old way of typing commands.
|
||||
|
||||
> [!NOTE]
|
||||
> - Custom Net Objects work again! All game modes and roles can be used again on vanilla servers!
|
||||
> - HTML tags are supported on vanilla regions again! Just make sure they don't contain many numbers. Color tags are automatically replaced to ones without digits. Some visual differences may occur.
|
||||
> - See more info on [our Discord server](https://discord.gg/ehr).
|
||||
> InnerSloth added a way to use chat commands without needing to spam the chat after it to hide who typed it. In the next few weeks, please adapt to using commands with a `/cmd ` prefix. So if you were to type `/bt 4 snitch`, you would now type `/cmd bt 4 snitch`. This is the last major version of EHR that allows the old way of typing commands. Starting v7.3.0, the mod will NOT spam the chat even if you don't use /cmd.
|
||||
|
||||
## Bug Fixes
|
||||
- Fixed Comms Camouflage activating in non-standard game modes
|
||||
- Fixed Room Rush sometimes not working
|
||||
- Fixed chatting during game having weird notifications
|
||||
- Deadlined and Alchemist info is now properly synced with non-host modded clients
|
||||
- Fixed Imitator being able to imitate even after changing roles by other means
|
||||
- Fixed Retributionist kill button availability not syncing with non-host modded clients
|
||||
- Fixed Beacon sometimes not updating vision
|
||||
- Fixed Chameleon being invisible infinitely
|
||||
- Fixed Room Rusher showing incorrect rooms for non-host modded clients
|
||||
- Fixed Starspawn ignoring ability cooldown and uses
|
||||
- Fixed Mingle end summary for non-host modded clients
|
||||
- Fixed `Chat During Game` causing black screen for vanilla clients in Mingle, Quiz and Natural Disasters
|
||||
- Fixed color tags not being replaced to letter-only ones when they had an alpha channel
|
||||
- Fixed Romantic, Follower, and Lawyer not always winning when their target/partner wins
|
||||
- Bloodlust Bodyguard now works correctly
|
||||
- Fixed Accumulator not being able to kill impostors
|
||||
|
||||
## Changes
|
||||
- More compatibility with LevelImpostor
|
||||
- Augur no longer dies due to misguessing, instead it just can't guess in that meeting again
|
||||
- Doppelganger's ID is visually swapped with their victim on the meeting UI. Does not affect `/id` for critical scenarios.
|
||||
- Kill log timestamps are now relative to when the game started (timestamps may be removed entirely in the future, because it's so many digits)
|
||||
- Increased target selection range through pet button
|
||||
- Optimized Mastermind code
|
||||
|
||||
## Additions
|
||||
- New role: Accumulator (Neutral Killing)
|
||||
- New role: Quarry (Neutral Killing)
|
||||
- New settings for Portal Maker:
|
||||
- - `Ability Cooldown`
|
||||
- - `Can Pet To Remove Both Portals After Placing Them`
|
||||
- New setting (Mod Settings > `Camouflage During Comms`):
|
||||
- - `Don't Camouflage Round 1`
|
||||
- New setting (Mod Settings):
|
||||
- - `Take Role Spawn Chances Into Account When Picking Draft Choices`
|
||||
- Updated and improved the command auto-completion system and helper
|
||||
- Quarry's target's kill cooldown gets set to 0 when they get selected as the target
|
||||
|
||||
---
|
||||
@@ -42,8 +42,8 @@ public class Main : BasePlugin
|
||||
private const string DebugKeyHash = "c0fd562955ba56af3ae20d7ec9e64c664f0facecef4b3e366e109306adeae29d";
|
||||
private const string DebugKeySalt = "59687b";
|
||||
private const string PluginGuid = "com.gurge44.endlesshostroles";
|
||||
public const string PluginVersion = "7.2.0";
|
||||
public const string PluginDisplayVersion = "7.2.0";
|
||||
public const string PluginVersion = "7.2.1";
|
||||
public const string PluginDisplayVersion = "7.2.1";
|
||||
public const bool TestBuild = false;
|
||||
|
||||
public const string NeutralColor = "#ffab1b";
|
||||
|
||||
@@ -55,7 +55,7 @@ public static class Translator
|
||||
{
|
||||
using StreamReader reader = new(resourceStream);
|
||||
string jsonContent = reader.ReadToEnd();
|
||||
|
||||
|
||||
// Deserialize the JSON into a dictionary
|
||||
var jsonDictionary = JsonSerializer.Deserialize<Dictionary<string, string>>(jsonContent);
|
||||
|
||||
@@ -74,12 +74,6 @@ public static class Translator
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Convert the resulting translation map to JSON
|
||||
JsonSerializer.Serialize(TranslateMaps, new JsonSerializerOptions
|
||||
{
|
||||
WriteIndented = true
|
||||
});
|
||||
}
|
||||
catch (Exception ex) { Logger.Error($"Error: {ex}", "Translator"); }
|
||||
|
||||
|
||||
+24
-3
@@ -1813,7 +1813,7 @@ public static class Utils
|
||||
private static Stopwatch TempReviveHostRevertStopwatch = new();
|
||||
private static Stopwatch TempReviveHostTimeSinceRevivalStopwatch = new();
|
||||
private static string[] CachedLetterOnlyHexColors = [];
|
||||
private static readonly Regex ColorTagRegex = new(@"<\s*(?:color\s*=\s*)?#([0-9a-fA-F]{6})\s*>", RegexOptions.Compiled);
|
||||
private static readonly Regex ColorTagRegex = new(@"<\s*(?:color\s*=\s*)?#([0-9a-fA-F]{6}(?:[0-9a-fA-F]{2})?)\s*>", RegexOptions.Compiled);
|
||||
private static readonly Dictionary<(int R, int G, int B), string> CachedColorReplacements = [];
|
||||
private static readonly char[] HexLetters = ['a', 'b', 'c', 'd', 'e', 'f'];
|
||||
static readonly Dictionary<string, (int r, int g, int b)> NamedColors = new()
|
||||
@@ -2238,6 +2238,9 @@ public static class Utils
|
||||
{
|
||||
string hex = match.Groups[1].Value.ToLowerInvariant();
|
||||
|
||||
string a = hex.Length == 8 ? hex[6..8] : string.Empty;
|
||||
if (!string.IsNullOrEmpty(a)) hex = hex[..6];
|
||||
|
||||
if (hex.Length != 6 || !hex.Any(char.IsDigit)) return match.Value;
|
||||
|
||||
int r = Convert.ToInt32(hex[..2], 16);
|
||||
@@ -2248,7 +2251,7 @@ public static class Utils
|
||||
|
||||
return NamedColors.ContainsKey(best)
|
||||
? $"<color={best}>"
|
||||
: $"<#{best}>";
|
||||
: $"<#{best}{a}>";
|
||||
});
|
||||
|
||||
static string FindClosestSafeColor(int r, int g, int b)
|
||||
@@ -4230,6 +4233,12 @@ public static class Utils
|
||||
summary = $"{ColorString(Main.PlayerColors[id], name)} - {Deathrace.GetStatistics(id)}";
|
||||
break;
|
||||
case CustomGameMode.Mingle:
|
||||
if (!AmongUsClient.Instance.AmHost)
|
||||
{
|
||||
summary = $"{ColorString(Main.PlayerColors[id], name)} - {GetVitalText(id, true)}";
|
||||
break;
|
||||
}
|
||||
|
||||
int time3 = Mingle.GetSurvivalTime(id);
|
||||
summary = $"{ColorString(Main.PlayerColors[id], name)} - <#e8cd46>{GetString("SurvivedTimePrefix")}: <#ffffff>{(time3 == 0 ? $"{GetString("SurvivedUntilTheEnd")}</color>" : $"{time3}</color>s")}</color> ({GetVitalText(id, true)})";
|
||||
break;
|
||||
@@ -4459,7 +4468,19 @@ public static class Utils
|
||||
public static void SetChatVisibleForAll()
|
||||
{
|
||||
if (!GameStates.IsInGame) return;
|
||||
Main.AllAlivePlayerControls.Do(x => x.SetChatVisible(true));
|
||||
|
||||
PlayerControl[] aapc = Main.AllAlivePlayerControls;
|
||||
|
||||
if (Options.CurrentGameMode is CustomGameMode.Mingle or CustomGameMode.Quiz or CustomGameMode.NaturalDisasters)
|
||||
{
|
||||
foreach (var pc in aapc)
|
||||
{
|
||||
var dummyImp = aapc.FirstOrDefault(x => x != pc);
|
||||
if (dummyImp != null) dummyImp.RpcSetRoleDesync(RoleTypes.Impostor, pc.OwnerId);
|
||||
}
|
||||
}
|
||||
|
||||
aapc.Do(x => x.SetChatVisible(true));
|
||||
}
|
||||
|
||||
public static bool TryCast<T>(this Il2CppObjectBase obj, out T casted) where T : Il2CppObjectBase
|
||||
|
||||
@@ -1775,7 +1775,7 @@ internal static class ChatCommands
|
||||
var choiceLetter = (char)(i + 65);
|
||||
msg += Utils.ColorString(gmPoll ? gmPollColors[i] : RandomColor(), $"{char.ToUpper(choiceLetter)}) {answers[i]}\n");
|
||||
PollVotes[choiceLetter] = 0;
|
||||
PollAnswers[choiceLetter] = $"<size=70%>〖 {answers[i]} 〗</size>";
|
||||
PollAnswers[choiceLetter] = $"〖 {answers[i]} 〗";
|
||||
}
|
||||
|
||||
msg += $"\n{GetString("Poll.Begin")}\n<size=60%><i>";
|
||||
|
||||
@@ -218,9 +218,6 @@ internal static class GameEndChecker
|
||||
case CustomRoles.Maverick when pc.IsAlive() && roleBase is Maverick mr && mr.NumOfKills >= Maverick.MinKillsToWin.GetInt():
|
||||
case CustomRoles.Provocateur when Provocateur.Provoked.TryGetValue(pc.PlayerId, out byte tar) && !WinnerIds.Contains(tar):
|
||||
case CustomRoles.Hater when (roleBase as Hater).IsWon:
|
||||
case CustomRoles.Follower when roleBase is Follower tc && tc.BetPlayer != byte.MaxValue && (WinnerIds.Contains(tc.BetPlayer) || (Main.PlayerStates.TryGetValue(tc.BetPlayer, out PlayerState ps) && (WinnerRoles.Contains(ps.MainRole) || (WinnerTeam == CustomWinner.Bloodlust && ps.SubRoles.Contains(CustomRoles.Bloodlust))))):
|
||||
case CustomRoles.Romantic when WinnerIds.Contains(Romantic.PartnerId) || (Main.PlayerStates.TryGetValue(Romantic.PartnerId, out PlayerState ps1) && (WinnerRoles.Contains(ps1.MainRole) || (WinnerTeam == CustomWinner.Bloodlust && ps1.SubRoles.Contains(CustomRoles.Bloodlust)))):
|
||||
case CustomRoles.Lawyer when Lawyer.Target.TryGetValue(pc.PlayerId, out byte lawyertarget) && (WinnerIds.Contains(lawyertarget) || (Main.PlayerStates.TryGetValue(lawyertarget, out PlayerState ps2) && (WinnerRoles.Contains(ps2.MainRole) || (WinnerTeam == CustomWinner.Bloodlust && ps2.SubRoles.Contains(CustomRoles.Bloodlust))))):
|
||||
case CustomRoles.Postman when (roleBase as Postman).IsFinished:
|
||||
case CustomRoles.Dealer when (roleBase as Dealer).IsWon:
|
||||
case CustomRoles.Impartial when (roleBase as Impartial).IsWon:
|
||||
@@ -247,6 +244,22 @@ internal static class GameEndChecker
|
||||
}
|
||||
}
|
||||
|
||||
foreach (PlayerControl pc in Main.AllPlayerControls) // Second loop for roles depending on other winners
|
||||
{
|
||||
CustomRoles role = pc.GetCustomRole();
|
||||
RoleBase roleBase = Main.PlayerStates[pc.PlayerId].Role;
|
||||
|
||||
switch (role)
|
||||
{
|
||||
case CustomRoles.Follower when roleBase is Follower tc && tc.BetPlayer != byte.MaxValue && (WinnerIds.Contains(tc.BetPlayer) || (Main.PlayerStates.TryGetValue(tc.BetPlayer, out PlayerState ps) && (WinnerRoles.Contains(ps.MainRole) || (WinnerTeam == CustomWinner.Bloodlust && ps.SubRoles.Contains(CustomRoles.Bloodlust))))):
|
||||
case CustomRoles.Romantic when WinnerIds.Contains(Romantic.PartnerId) || (Main.PlayerStates.TryGetValue(Romantic.PartnerId, out PlayerState ps1) && (WinnerRoles.Contains(ps1.MainRole) || (WinnerTeam == CustomWinner.Bloodlust && ps1.SubRoles.Contains(CustomRoles.Bloodlust)))):
|
||||
case CustomRoles.Lawyer when Lawyer.Target.TryGetValue(pc.PlayerId, out byte lawyertarget) && (WinnerIds.Contains(lawyertarget) || (Main.PlayerStates.TryGetValue(lawyertarget, out PlayerState ps2) && (WinnerRoles.Contains(ps2.MainRole) || (WinnerTeam == CustomWinner.Bloodlust && ps2.SubRoles.Contains(CustomRoles.Bloodlust))))):
|
||||
WinnerIds.Add(pc.PlayerId);
|
||||
AdditionalWinnerTeams.Add((AdditionalWinners)role);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (WinnerTeam == CustomWinner.Impostor)
|
||||
{
|
||||
IEnumerable<PlayerControl> aliveImps = Main.AllAlivePlayerControls.Where(x => x.Is(CustomRoleTypes.Impostor));
|
||||
|
||||
+1
-1
@@ -205,7 +205,7 @@ internal static class HudManagerPatch
|
||||
ActionButton usedButton = __instance.KillButton;
|
||||
if (usesPetInsteadOfKill) usedButton = __instance.PetButton;
|
||||
|
||||
__instance.KillButton?.OverrideText(player.GetRoleTypes() == RoleTypes.Viper ? GetString("KillButtonText.Viper") : GetString("KillButtonText"));
|
||||
__instance.KillButton?.OverrideText(player.GetRoleTypes() == RoleTypes.Viper ? GetString("AbilityButtonText.Viper") : GetString("KillButtonText"));
|
||||
__instance.ReportButton?.OverrideText(GetString("ReportButtonText"));
|
||||
__instance.PetButton?.OverrideText(GetString("PetButtonText"));
|
||||
__instance.ImpostorVentButton?.OverrideText(GetString("VentButtonText"));
|
||||
|
||||
+18
-12
@@ -119,6 +119,9 @@ public static class TextBoxPatch
|
||||
|
||||
string input = __instance.outputText.text.Trim().Replace("\b", "");
|
||||
|
||||
bool startsWithCmd = input.StartsWith("/cmd ");
|
||||
if (startsWithCmd) input = "/" + input[5..];
|
||||
|
||||
if (!input.StartsWith('/') || input.Length < 2)
|
||||
{
|
||||
Destroy();
|
||||
@@ -132,7 +135,7 @@ public static class TextBoxPatch
|
||||
var exactMatch = false;
|
||||
bool english = TranslationController.Instance.currentLanguage.languageID == SupportedLangs.English;
|
||||
|
||||
foreach ((string key, Command cmd) in Command.AllCommands)
|
||||
foreach (Command cmd in Command.AllCommands.Values)
|
||||
{
|
||||
string[] commandForms = english ? [.. cmd.CommandForms.TakeWhile(x => x.All(char.IsAscii))] : cmd.CommandForms;
|
||||
|
||||
@@ -179,8 +182,9 @@ public static class TextBoxPatch
|
||||
{
|
||||
Destroy();
|
||||
IsInvalidCommand = true;
|
||||
__instance.compoText.Color(Color.red);
|
||||
__instance.outputText.color = Color.red;
|
||||
Color textColor = input is "/c" or "/cm" or "/cmd" ? Palette.Orange : Color.red;
|
||||
__instance.compoText.Color(textColor);
|
||||
__instance.outputText.color = textColor;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -226,7 +230,7 @@ public static class TextBoxPatch
|
||||
}
|
||||
|
||||
string inputForm = input.TrimStart('/');
|
||||
string text = "/" + (exactMatch ? inputForm : command.CommandForms.TakeWhile(x => x.All(char.IsAscii) && x.StartsWith(inputForm)).MaxBy(x => x.Length));
|
||||
string text = "/" + (startsWithCmd ? "cmd " : string.Empty) + (exactMatch ? inputForm : command.CommandForms.TakeWhile(x => x.All(char.IsAscii) && x.StartsWith(inputForm)).MaxBy(x => x.Length));
|
||||
var info = $"<b>{command.Description}</b>";
|
||||
|
||||
if (!command.CanUseCommand(PlayerControl.LocalPlayer))
|
||||
@@ -237,24 +241,24 @@ public static class TextBoxPatch
|
||||
if (exactMatch && command.Arguments.Length > 0)
|
||||
{
|
||||
bool poll = command.CommandForms.Contains("poll");
|
||||
bool say = command.CommandForms.Contains("say");
|
||||
int spaces = poll ? input.SkipWhile(x => x != '?').Count(x => x == ' ') + 1 : input.Count(x => x == ' ');
|
||||
if (say) spaces = Math.Min(spaces, 1);
|
||||
|
||||
var preText = $"{text} {command.Arguments}";
|
||||
if (!poll) text += " " + command.Arguments.Split(' ').Skip(spaces).Join(delimiter: " ");
|
||||
if (!poll) text += " " + (spaces >= command.ArgsDescriptions.Length ? string.Empty : string.Join(' ', command.Arguments.Split(' ')[spaces..]));
|
||||
|
||||
string[] args = preText.Split(' ')[1..];
|
||||
string[] split = preText.Split(' ');
|
||||
string[] args = split[(startsWithCmd && split.Length > 2 ? 2 : 1)..];
|
||||
|
||||
for (var i = 0; i < args.Length; i++)
|
||||
{
|
||||
if (command.ArgsDescriptions.Length <= i) break;
|
||||
int length = command.ArgsDescriptions.Length;
|
||||
if (length <= i) break;
|
||||
|
||||
int skip = poll ? input.TakeWhile(x => x != '?').Count(x => x == ' ') - 1 : 0;
|
||||
string arg = say ? args[0] : poll ? i == 0 ? args[..++skip].Join(delimiter: " ") : args[spaces - 1 < i ? skip + i + spaces : skip + i] : args[spaces > i ? i : i + spaces];
|
||||
string arg = poll ? i == 0 ? string.Join(' ', args[..++skip]) : args[spaces - 1 < i ? skip + i + spaces : skip + i] : spaces > length && i == length - 1 ? string.Join(' ', args[i..^length]) : args[spaces > i ? i : i + spaces];
|
||||
|
||||
string argName = command.Arguments.Split(' ')[i];
|
||||
bool current = spaces - 1 == i, invalid = IsInvalidArg(), valid = IsValidArg();
|
||||
bool current = spaces - 1 == i || spaces > length && i == length - 1, invalid = IsInvalidArg(), valid = IsValidArg();
|
||||
|
||||
info += "\n" + (invalid, current, valid) switch
|
||||
{
|
||||
@@ -271,7 +275,7 @@ public static class TextBoxPatch
|
||||
|
||||
if (additionalInfo.Length == 0 && argName.Replace('[', '{').Replace(']', '}') is "{id}" or "{id1}" or "{id2}")
|
||||
{
|
||||
Dictionary<string, byte> allIds = Main.AllPlayerControls.ToDictionary(x => x.PlayerId.ColoredPlayerName(), x => x.PlayerId);
|
||||
Dictionary<byte, string> allIds = Main.AllPlayerControls.ToDictionary(x => x.PlayerId, x => x.PlayerId.ColoredPlayerName());
|
||||
additionalInfo = $"<b><u>{Translator.GetString("PlayerIdList").TrimEnd(' ')}</u></b>\n{string.Join('\n', allIds.Select(x => $"<b>{x.Key}</b> \uffeb <b>{x.Value}</b>"))}";
|
||||
OptionShower.CurrentPage = 0;
|
||||
}
|
||||
@@ -318,6 +322,8 @@ public static class TextBoxPatch
|
||||
}
|
||||
}
|
||||
|
||||
additionalInfo += startsWithCmd && AmongUsClient.Instance.AmHost ? $"\n\n<#00a5ff>ⓘ <b>{Translator.GetString("HostMayOmitCmdPrefix")}</b></color>" : string.Empty;
|
||||
|
||||
PlaceHolderText.text = text;
|
||||
CommandInfoText.text = info;
|
||||
AdditionalInfoText.text = additionalInfo;
|
||||
|
||||
@@ -127,6 +127,7 @@ polarsail#2468 | | hatenggers | Toxic |
|
||||
primesnow#4272 | 65b98a6de | HiverXM | Toxic | The n word
|
||||
todayside#9634 | 4e44cffe6 | | Racist | Joined a lobby with racial slur in name
|
||||
roundframe#4949 | 914830596 | PeaceMaker | Toxic | The n word
|
||||
setbud#4013 | 99b904495 | cursed | Toxic | The n word
|
||||
|
||||
## Other
|
||||
tenthrope#3476 | | Oldishwire | Other |
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"LanguageID": "0",
|
||||
"LanguageID": "104",
|
||||
"TextBelowVersionText": "",
|
||||
"HostText": "مضيف - EHR",
|
||||
"IconColor": "00a5ff",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"LanguageID": "0",
|
||||
"LanguageID": "105",
|
||||
"TextBelowVersionText": "",
|
||||
"HostText": "EHR - Host",
|
||||
"IconColor": "#00a5ff",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Verfolgen",
|
||||
"AbilityButtonText.Shapeshifter": "Verwandeln",
|
||||
"AbilityButtonText.Phantom": "Verschwinden",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Säure",
|
||||
"AbilityButtonText.Detective": "Notizen",
|
||||
"SecondaryAbilityButtonText.Detective": "Verhören",
|
||||
"GauloisKillButtonText": "Beschleunigen",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "Der Befehl ist aufgrund der Hosteinstellungen deaktiviert.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Nächste",
|
||||
"AutoGMRotationStatusText.GMPoll": "Spieler stimmen (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Zum nächsten Spielmodus in der Liste springen in <b>{0}</b> Sekunden",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Forschung",
|
||||
"SubmergedRoomName.129": "Observatorium",
|
||||
"SubmergedRoomName.130": "Oberes Zentrum",
|
||||
|
||||
+48
-48
@@ -709,7 +709,7 @@
|
||||
"TimeThiefInfoLong": "(Impostors):\\nEvery time the Time Thief kills a player, the meeting time will be reduced by a certain amount of time. If the Time Thief dies, the meeting time will return to normal.",
|
||||
"SniperInfoLong": "(Impostors):\\nIf you want to shoot players from a distance, you'll need to follow these steps. First, you must shapeshift or pet twice to make a successful snipe. Once you've done that, imagine an arrow pointing from your first shapeshift or petting location to your unshift or second petting location. That arrow will show you the direction in which the snipe will be made. Remember that the snipe only kills the first person in its path. Also, you won't be able to kill anyone normally until you use up all of your ammo.",
|
||||
"EvilTrackerInfoLong": "(Impostors):\\nThe Evil Tracker can track and shapeshift to switch the tracking target but will unshift immediately after. The arrow below their name indicates the target's direction. They receive a kill flash when their teammate kills.",
|
||||
"EvilGuesserInfoLong": "(Impostors):\\nThe Evil Guesser can guess a player's role during the meeting using the command /bt [player id] [role]. If the guess is correct, the target dies; if wrong, the Evil Guesser dies. Use the /id command to view the ID of all players.",
|
||||
"EvilGuesserInfoLong": "(Impostors):\\nThe Evil Guesser can guess a player's role during the meeting using the command <b>/cmd bt [player id] [role]</b>. If the guess is correct, the target dies; if wrong, the Evil Guesser dies. Use the <b>/cmd id</b> command to view the ID of all players.",
|
||||
"AntiAdminerInfoLong": "(Impostors):\\nAnti-Adminer can detect nearby crewmates or neutrals around devices such as Cameras, Admin Table, Vitals, DoorLog, etc. Note that they cannot confirm if the player is using the device, only that someone is close to it.\\n\\nDepending on a setting, you may have an additional ability: You can shapeshift to alert every player using a device to leave it. They have a few seconds to step away from the devices, or else they die.",
|
||||
"ArroganceInfoLong": "(Impostors):\\nThe Arrogance reduces their kill cooldown with each successful kill of theirs.",
|
||||
"BomberInfoLong": "(Impostors):\\nThe Bomber can use the vanish/pet button to self-explode, killing players within a certain range. But as a price, the Bomber will also die. Note: All players will see a kill flash when the Bomber explodes.",
|
||||
@@ -736,7 +736,7 @@
|
||||
"DisperserInfoLong": "(Impostors):\\nDisperser can use vanish/pet to teleport all players to random vents.\\n\\nNote: the Disperser itself will not be teleported with vanish/pet and players who are in the vent cannot be teleported.",
|
||||
"InhibitorInfoLong": "(Impostors):\\nAs the Inhibitor, you can only kill when there is not a critical sabotage active (e.g., Lights or Reactor).",
|
||||
"SaboteurInfoLong": "(Impostors):\\nAs the Saboteur, you can only kill when there is a critical sabotage active (e.g., Comms or O2). Whenever you kill, another random critical sabotage will be activated on top of the ongoing one.",
|
||||
"CouncillorInfoLong": "(Impostors):\\nAs the Councillor, you can kill players during a meeting like a Judge.\\n\\nWhen killing in a meeting, those kills will appear as a trial from a Judge.\\n\\nThe kill command is /tl [player id]\\nYou can see the player's id before the player's name, or use the /id command to view the id of all players.",
|
||||
"CouncillorInfoLong": "(Impostors):\\nAs the Councillor, you can kill players during a meeting like a Judge.\\n\\nWhen killing in a meeting, those kills will appear as a trial from a Judge.\\n\\nThe kill command is <b>/cmd tl [player id]</b>\\nYou can see the player's id before the player's name, or use the <b>/cmd id</b> command to view the id of all players.",
|
||||
"DazzlerInfoLong": "(Impostors):\\nAs the Dazzler, you can reduce the vision of the target of your Shapeshift permanently. When you die, their vision will turn back to normal.",
|
||||
"DeathpactInfoLong": "(Impostors):\\nAs the Deathpact, the targets of your shapeshifting are marked for a deathpact. When enough players are marked for a death pact, the marked players must meet within a defined period; if they fail to do so, they die.\\n\\nIf a marked player dies before the death pact is completed, the pact is withdrawn.",
|
||||
"DevourerInfoLong": "(Impostors):\\nAs the Devourer, you use your shapeshift to change the appearance of the target of the shapeshift permanently. Additionally, when each player's appearance changes, your kill cooldown is reduced by a defined number of seconds. If the Devourer dies or gets voted out during a meeting, the player's appearance will change back to their normal appearance.",
|
||||
@@ -766,7 +766,7 @@
|
||||
"DictatorInfoLong": "(Crewmates):\\nDictator can end the meeting by voting someone out, which will also result in their death.",
|
||||
"ForensicInfoLong": "(Crewmate):\\nAfter reporting the body, the Forensic receives a clue about the victim's role. The host may reveal the murderer's role to the Forensic based on the setting. Note: Forensic won't be Oblivious.",
|
||||
"UndercoverInfoLong": "(Crewmates):\\nThe Impostors knows who Undercover is and sees him as a teammate, but Undercover himself does not know who the Impostors are.",
|
||||
"NiceGuesserInfoLong": "(Crewmates):\\nNice Guesser can guess a player's role during the meeting. Correct guess results in killing the target, while a wrong one leads to suicide. Use the command /bt [player id] [role] to guess. You can see player IDs before their names or use the /id command.",
|
||||
"NiceGuesserInfoLong": "(Crewmates):\\nNice Guesser can guess a player's role during the meeting. Correct guess results in killing the target, while a wrong one leads to suicide. Use the command <b>/cmd bt [player id] [role]</b> to guess. You can see player IDs before their names or use the <b>/cmd id</b> command.",
|
||||
"VigilanteInfoLong": "(Crewmates):\\nVigilante can kill anyone, but only once. After killing, Vigilante can do tasks. Depending on settings, Vigilante can vent.",
|
||||
"TransporterInfoLong": "(Crewmates):\\nAs the Transporter, after you finish tasks, you can use the shapeshift menu to select 2 targets to swap their locations.",
|
||||
"TimeManagerInfoLong": "(Crewmates):\\nTime Manager increases meeting time. If it dies, the meeting time returns to normal. If it becomes Madmate, skill changes to reducing meeting time.",
|
||||
@@ -779,7 +779,7 @@
|
||||
"MedicInfoLong": "(Crewmates):\\nThe Medic can place a shield on a player by pressing the Kill button. After placing the shield, Medic can do tasks.\\n\\nDepending on settings:\\n- When the Medic dies, the shield will be removed.\\n- The Medic can see if someone is trying to break the target's shield.\\n- The Medic or the target themself see whether shield is placed or not (shown as a green circle 「●」 next to the name)\\n- The shield is removed after someone tries to kill the protected player.",
|
||||
"FortuneTellerInfoLong": "(Crewmates):\\nThe Fortune Teller can get a clue to a player's role by voting for them in a meeting. Once all tasks are complete, they get the exact role instead of a clue.",
|
||||
"GlitchInfoLong": "(Neutrals):\\nAs the Glitch, your goal is to kill everyone on the ship. You can hack players to prevent them from killing, venting, sabotaging, and reporting dead bodies for a limited time. You can also disguise as a random player for a limited time. Additionally, your cooldowns go down while in vents.",
|
||||
"JudgeInfoLong": "(Crewmates):\\nThe Judge can judge a player during the meeting. If the target is evil, it's killed; if it's wrong, the Judge dies. Use the /tl [player id] command to judge and /id to view player IDs. Judges can judge all players when they're Madmate.",
|
||||
"JudgeInfoLong": "(Crewmates):\\nThe Judge can judge a player during the meeting. If the target is evil, it's killed; if it's wrong, the Judge dies. Use the <b>/cmd tl [player id]</b> command to judge and <b>/cmd id</b> to view player IDs. Judges can judge all players when they're Madmate.",
|
||||
"MorticianInfoLong": "(Crewmates):\\nWhen the Mortician reports a body, they will know the last player the victim had contact with. Note: Mortician won't be Oblivious or Seer.",
|
||||
"MediumInfoLong": "(Crewmates):\\nThe Medium can contact a dead player after they are reported. The dead player can answer once with a YES or NO to the Medium's question (using /ms yes or /ms no). The Medium won't be Oblivious.",
|
||||
"ObserverInfoLong": "(Crewmates):\\nThe Observer can see all shield animations caused by other players after the first meeting.",
|
||||
@@ -796,7 +796,7 @@
|
||||
"OracleInfoLong": "(Crewmates):\\nAs the Oracle, you may vote for a player during a meeting. You'll see if they are a crewmate, neutral, or Impostor.\\n\\n<color=#ff0000><b>But be careful!\\nThis has a chance of giving you an incorrect result!</b></color>\\n(The host sets the chance)",
|
||||
"SpiritualistInfoLong": "(Crewmates):\\nAs the Spiritualist, you will get an arrow pointing to the ghost of the body that was reported in the last meeting.\\n\\nIf the player was good, it may lead you to an Impostor or neutral killer.\\nIf the player was bad, it may just lead you to a fellow crewmate.",
|
||||
"ChameleonInfoLong": "(Crewmates):\\nAs the Chameleon, you can vent to disguise (invisible). While disguising, nobody can interact with you. Venting while disguised will reveal yourself.",
|
||||
"InspectorInfoLong": "(Crewmates):\\nTo check if two players are on the same team, use the command /cp [player id 1] [player id 2]. Neutral killers are counted as part of the same team. Non-Killing Neutrals are counted as separate teams. The Trickster is counted as crew, and Madmates are counted as Impostor. The Lawyer/Follower and its target count as the same team. You will receive an affirmation message if they are in the same team or a denial message if they are not.",
|
||||
"InspectorInfoLong": "(Crewmates):\\nTo check if two players are on the same team, use the command <b>/cmd cp [player id 1] [player id 2]</b>. Neutral killers are counted as part of the same team. Non-Killing Neutrals are counted as separate teams. The Trickster is counted as crew, and Madmates are counted as Impostor. The Lawyer/Follower and its target count as the same team. You will receive an affirmation message if they are in the same team or a denial message if they are not.",
|
||||
"TimeMasterInfoLong": "(Crewmates):\\nAs the Time Master, use the vents/pet to rewind time to a few seconds before. Players will be teleported back to their positions from that time. Players who died within that time will be revived.",
|
||||
"CrusaderInfoLong": "(Crewmates):\\nAs the Crusader, use your kill button to crusade a player. If that player gets attacked, you'll kill the attacker.",
|
||||
"ArsonistInfoLong": "(Neutrals):\\nArsonist can douse by clicking the kill button on a player and following them for a few seconds. When dousing starts, successful dousing is indicated by a shield animation (only visible to themselves). When the Arsonist douses all surviving players, they can vent/pet their pet to start a fire and win alone. If player name shows 「△」, they're being doused; if it shows 「▲」, they're completely doused. Note that if 'Can Ignite Anytime' is enabled, the Arsonist needs to use their kill button on a fully doused player to ignite.",
|
||||
@@ -840,7 +840,7 @@
|
||||
"MedusaInfoLong": "(Neutrals):\\nAs the Medusa, you can stone bodies much like cleaning a body when your kill cooldown is up. Stoned bodies cannot be reported.\\n\\nKill everyone to win.",
|
||||
"SpiritcallerInfoLong": "(Neutrals):\\nAs the Spiritcaller, your victims become Evil Spirits after they die. These spirits can help you win by freezing other players for a short time and/or blocking their vision. Alternatively, the spirits can give you a shield that protects you briefly from an attempted kill.",
|
||||
"AmnesiacInfoLong": "(Neutrals):\\nAs the Amnesiac, use your kill or report button (depends on the Host's settings) on a player/body to copy their role.\\nSettings may alter the role you get in a few specific scenarios.",
|
||||
"DoomsayerInfoLong": "(Neutrals):\\nThe Doomsayer can guess the role of a certain player during the meeting. If the Doomsayer guesses a certain number of roles (the number depends on the host settings), then he wins.\\n\\nThe guessing command is: /bt [player id] [role]\\nYou can see the player's id before the player's name, or use the /id command to view the id of all players.",
|
||||
"DoomsayerInfoLong": "(Neutrals):\\nThe Doomsayer can guess the role of a certain player during the meeting. If the Doomsayer guesses a certain number of roles (the number depends on the host settings), then he wins.\\n\\nThe guessing command is: <b>/cmd bt [player id] [role]</b>\\nYou can see the player's id before the player's name, or use the <b>/cmd id</b> command to view the id of all players.",
|
||||
"LastImpostorInfoLong": "(Add-ons):\\nLast Impostor gets reduced kill cooldown.",
|
||||
"LoversInfoLong": "(Add-ons):\\nLovers win together and may die together if one is exiled or killed. They can see the ♥ mark next to each other's name. If one of the lovers wins at the end, the other wins too.",
|
||||
"MadmateInfoLong": "(Add-ons):\\nMadmates assist the Impostors in winning the game. They are only available to Crewmates but can identify Impostors depending on the host's settings. Certain roles like Sheriff, Snitch, and Mayor can become Madmates. The abilities of some roles change when they become Madmates. For example, the Grenadier's flash bomb works on Crewmates and Neutrals instead of Impostors. The Judge can judge anyone.",
|
||||
@@ -872,7 +872,7 @@
|
||||
"StealerInfoLong": "(Add-ons):\\nStealers gets additional votes every time they kill someone.",
|
||||
"SchizophrenicInfoLong": "(Add-ons):\\nNeutrals and Madmates can't become Schizophrenic. The Schizophrenic will be considered as two players in the game. Having at least one player as Schizophrenic won't end the game if there are only them and the Impostor left.",
|
||||
"MimicInfoLong": "(Add-ons):\\nMimic is an Impostor role. When a Mimic dies, other Impostors receive a message during meetings that reveals the roles killed by the Mimic.",
|
||||
"GuesserInfoLong": "(Add-ons):\\nAs a guesser, guess the roles of players in meetings to kill them. Guessing wrong kills you instead.\\n\\nThe guessing command is: /bt [player id] [role]\\nYou can see the player's id before the player's name, or use the /id command to view the id of all players.",
|
||||
"GuesserInfoLong": "(Add-ons):\\nAs a guesser, guess the roles of players in meetings to kill them. Guessing wrong kills you instead.\\n\\nThe guessing command is: <b>/cmd bt [player id] [role]</b>\\nYou can see the player's id before the player's name, or use the <b>/cmd id</b> command to view the id of all players.",
|
||||
"NecroviewInfoLong": "(Add-ons):\\nThe Necroview can see the teams of dead players. The following info will be displayed on the dead player's name while in a meeting:\\n- The Red name indicates the Impostors.\\n- The Cyan name indicates the Crewmates.\\n- The Orange name indicates the Neutrals.",
|
||||
"ReachInfoLong": "(Add-on)\\nOnly roles with a kill button can get this add-on. You have the longest kill range possible in the game, unlike everyone else.",
|
||||
"BaitInfoLong": "(Add-ons):\\nThe Bait's murderer is required to self-report the body except when killed by a Scavenger or Cleaner. The report could be delayed based on the Host's settings.",
|
||||
@@ -937,7 +937,7 @@
|
||||
"CanGuessDuringDiscussionTime": "Guessers Can Guess During Discussion Time",
|
||||
"MisguessDeathReason": "'Misguess' Death Reason",
|
||||
"YouCanGuessTitle": "<#00ffff>You can Guess!</color>",
|
||||
"YouCanGuess": "Use the <b>/bt [player id] [role]</b> command to guess someone's role. You can see everyone's IDs next to their name, or type <b>/id</b>.",
|
||||
"YouCanGuess": "Use the <b>/cmd bt [player id] [role]</b> command to guess someone's role. You can see everyone's IDs next to their name, or type <b>/cmd id</b>.",
|
||||
"YouCanGuessMeetingSS": "Use the shapeshift menu to select the player you want to guess, then follow the instructions in the chat for further selections.",
|
||||
"DisableTasks": "Disable Tasks",
|
||||
"DisableSwipeCardTask": "Disable Swipe Card Task",
|
||||
@@ -2135,7 +2135,7 @@
|
||||
"DisableBard": "Disable <color=#ff1919>Bard</color>",
|
||||
"DisableSaboteur": "Disable <color=#ff1919>Saboteur</color>",
|
||||
"SkillUsedLeft": "You have activated your skill to call a meeting. \\nRemaining amount of uses left:",
|
||||
"NemesisDeadMsg": "The death of the Nemesis means the beginning of the revenge. \\nPlease use /rv + [player ID] to kill the specified player \\nYou can see player IDs in front of their names. \\nOr type /rv to get a list of player IDs",
|
||||
"NemesisDeadMsg": "The death of the Nemesis means the beginning of the revenge.\\nPlease use <b>/rv [player ID]</b> to kill the specified player \\nYou can see player IDs in front of their names. \\nOr type /rv to get a list of player IDs",
|
||||
"NemesisAliveKill": "Revenge for the Nemesis can only begin after their death.",
|
||||
"NemesisKillMax": "You have reached the limit of revenges, you can no longer take revenge",
|
||||
"NemesisKillDead": "Choose a living player to take revenge",
|
||||
@@ -2165,7 +2165,7 @@
|
||||
"GuessMarkseekerTarget": "You can't guess the target of the Markseeker",
|
||||
"GuessKill": "<b>{0}</b> was guessed (or they misguessed)",
|
||||
"GuessNull": "Please select an ID of a living player to guess their role",
|
||||
"GuessHelp": "Instructions: /bt [Player ID] [Role Name] \\nExample: /bt 3 Bait \\nYou can see the player IDs before everyone's names \\n or use the /id command to list the player IDs",
|
||||
"GuessHelp": "Instructions: <b>/cmd bt [Player ID] [Role Name]</b>\\nExample: /cmd bt 3 Bait\\nYou can see the player IDs before everyone's names\\nor use the <b>/cmd id</b> command to list the player IDs",
|
||||
"GGGuessMax": "You've reached the limit of maximum guesses, you can't guess anymore!",
|
||||
"EGGuessSnitchTaskDone": "You thought you could guess the Snitch when all of their tasks are done? Nice try.... You're not getting out of this that easily.",
|
||||
"GuessDoubleShot": "You guessed a role incorrectly, but you have Double Shot so you get another chance!",
|
||||
@@ -2187,7 +2187,7 @@
|
||||
"JudgeTrialMax": "\\nNo more trials left!",
|
||||
"LaughToWhoTrialSelf": "God, I didn't think the Judges would be so blind that they wouldn't even see that they had sentenced themselves.",
|
||||
"TrialKill": "<b>{0}</b> was judged.",
|
||||
"TrialHelp": "Command: /tl [player ID]\\nYou can see the players' IDs before the players' names.\\nOr use /id to view the list of all player IDs.",
|
||||
"TrialHelp": "Command: <b>/cmd tl [player ID]</b>\\nYou can see the players' IDs before the players' names.\\nOr use <b>/cmd id</b> to view the list of all player IDs.",
|
||||
"TrialNull": "Please choose a living player for the trial",
|
||||
"MimicDeadMsg": "Mimic's hint: ",
|
||||
"FortuneTellerCheck": "According to your fortune...",
|
||||
@@ -2667,12 +2667,12 @@
|
||||
"JailTalkTitle": "JAIL",
|
||||
"DisableVentingOn1v1": "Disable Venting in 1v1s",
|
||||
"DisableSabotagingOn1v1": "Disable Sabotaging in 1v1s",
|
||||
"DisableWhisperCommand": "Disable /whisper command",
|
||||
"DisableWhisperCommand": "Disable 'whisper' command",
|
||||
"DisableSpectateCommand": "Disable /spectate command",
|
||||
"Disable8ballCommand": "Disable /8ball command",
|
||||
"DisableVoteStartCommand": "Disable /votestart command",
|
||||
"SpectateDisabled": "<#ff0000>X</color> The /spectate command is disabled in this lobby.",
|
||||
"WhisperDisabled": "<#ff0000>X</color> The /whisper command is disabled in this lobby.",
|
||||
"WhisperDisabled": "<#ff0000>X</color> The 'whisper' command is disabled in this lobby.",
|
||||
"EightBallDisabled": "<#ff0000>X</color> The /8ball command is disabled in this lobby.",
|
||||
"VoteStartDisabled": "<#ff0000>X</color> The /votestart command is disabled in this lobby.",
|
||||
"Anagram.CorrectGuess": "<#00ffa5>✓</color> {0} has guessed the anagram correctly (<b>{1}</b>)!",
|
||||
@@ -3021,10 +3021,10 @@
|
||||
"ERR-002-000-1": "This game mode is incompatible with the current map.",
|
||||
"FixBlackScreenWaitForDead": "Everyone is alive, and the black screen fix requires a ghost, so it will wait until someone dies.",
|
||||
"DraftNotEnoughRoles": "There are not enough roles enabled to choose from, so drafting cannot be started. Please enable more roles and try again.",
|
||||
"DraftStart": "<size=90%>Drafting has started! You now have a chance to pick a role from the list below if you'd like to get one of them for the next game. The roles you get to choose from, with their indexes, are:</size>\\n\\n{0}\\n\\n<size=90%>Chat commands to use:</size>\\n- Pick role: <b>/draft [index]</b>\\n- View description of role: <b>/dd [index]</b>\\nReplace [index] with the number of the role you want to pick. Example: <b>/draft 4</b>\\n<size=70%>If you don't pick a role, you get a random one like you normally would.</size>",
|
||||
"DraftResend": "<size=90%>Your drafting choices are:</size>\\n\\n{0}\\n\\n<size=90%>Chat commands to use:</size>\\n- Pick role: <b>/draft [index]</b>\\n- View description of role: <b>/dd [index]</b>\\n<size=90%>Replace [index] with the number of the role you want to pick. Example: <b>/draft 4</b></size>",
|
||||
"DraftStart": "Drafting has started! You now have a chance to pick a role from the list below if you'd like to get one of them for the next game. The roles you get to choose from are:\\n\\n{0}\\n\\nChat commands to use:\\n- Pick role: <b>/draft [number]</b>\\n- View description of role: <b>/dd [number]</b>\\nReplace [number] with the number of the role you want to pick. Example: <b>/draft 4</b>\\n<size=70%>If you don't pick a role, you get a random one like you normally would.</size>",
|
||||
"DraftResend": "Your drafting choices are:\\n\\n{0}\\n\\n<size=70%>Commands:\\n- Pick role: <b>/draft [number]</b>\\n- View description of role: <b>/dd [number]</b>\\nReplace [number] with the number of the role you want to pick. Example: <b>/draft 4</b></size>",
|
||||
"DraftTitle": "<#00a5ff>➡</color> <#00ffa5>Drafting</color> <#00a5ff>⬅</color>",
|
||||
"DraftChosen": "You have chosen the <b>{0}</b> role for the next game.\\n<size=70%>You can still change your choice by typing /draft [index] again.</size>",
|
||||
"DraftChosen": "You have chosen the <b>{0}</b> role for the next game.\\n<size=70%>You can still change your choice by typing /draft [number] again.</size>",
|
||||
"DraftMaxRolesPerPlayer": "Max Roles For Each Player To Choose From When Drafting",
|
||||
"DraftAffectedByRoleSpawnChances": "Take Role Spawn Chances Into Account When Picking Draft Choices",
|
||||
"EveryoneDrafted": "<#00ffa5>✓</color> <#00ff00>Everyone has drafted their role!</color>",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -3511,7 +3510,7 @@
|
||||
"MessageTitle.Attention": "<#ff0000><#ffa500>⚠</color> ATTENTION! <#ffa500>⚠</color></color>",
|
||||
"Starspawn": "Starspawn",
|
||||
"StarspawnInfo": "Isolate Players & Call Daybreak",
|
||||
"StarspawnInfoLong": "(Neutrals):\\nAs the Starspawn, you can isolate players by using your kill button on them. Only evil players can interact with isolated players.\\nOnce in a game, you can call daybreak in a meeting by typing <b>/daybreak</b> in the chat. This will prevent ALL meeting abilities from being used in that meeting. This includes guessing, judging, and all other meeting abilities that are role-specific.\\n\\nYou win if crewmates lose.",
|
||||
"StarspawnInfoLong": "(Neutrals):\\nAs the Starspawn, you can isolate players by using your kill button on them. Only evil players can interact with isolated players.\\nOnce in a game, you can call daybreak in a meeting by typing <b>/cmd daybreak</b> in the chat. This will prevent ALL meeting abilities from being used in that meeting. This includes guessing, judging, and all other meeting abilities that are role-specific.\\n\\nYou win if crewmates lose.",
|
||||
"StarspawnUsedDayBreak": "<#ff0000>⚠</color> <#ffff00>Daybreak has been called by the {0}!</color> <#ff0000>⚠</color>\\nThis means that NO meeting abilities can be used in this meeting anymore.",
|
||||
"Spirit": "Spirit",
|
||||
"SpiritInfo": "Place Candles to Swap Interactions",
|
||||
@@ -3530,7 +3529,7 @@
|
||||
"Magistrate.ExtraVotes": "Extra Votes",
|
||||
"Magistrate.CourtName": "COURT",
|
||||
"Magistrate.JuryName": "JURY",
|
||||
"NoWhisperDuringCourt": "<#ff0000>X</color> The /whisper command is disabled during court.",
|
||||
"NoWhisperDuringCourt": "<#ff0000>X</color> The 'whisper' command is disabled during court.",
|
||||
"Auditor": "Auditor",
|
||||
"AuditorInfo": "Check Players",
|
||||
"AuditorInfoLong": "(Neutrals):\\nAs the Auditor, you can check players by using your kill button on them. You will see their role and:\\n- Steal 1 or all ability uses from them (depending on the settings) if you're in auditing mode\\n- Lower their vision temporarily if you're in smokebombing mode\\n\\nYou win if crewmates lose.",
|
||||
@@ -3575,7 +3574,7 @@
|
||||
"OccultistRevived": "{0} has been revived!",
|
||||
"Loner": "Loner",
|
||||
"LonerInfo": "Select Your Partner",
|
||||
"LonerInfoLong": "(Impostors):\\nAs the Loner, you can freely select your impostor partner using your shapeshift menu in a meeting or the <b>/select {id} {role}</b> command (replace {id} with the player's ID, and {role} with the name of the role you want them to get). If you use the shapeshift menu, it will assign them a random enabled impostor role. The role change takes effect after the meeting.",
|
||||
"LonerInfoLong": "(Impostors):\\nAs the Loner, you can freely select your impostor partner using your shapeshift menu in a meeting or the <b>/cmd select {id} {role}</b> command (replace {id} with the player's ID, and {role} with the name of the role you want them to get). If you use the shapeshift menu, it will assign them a random enabled impostor role. The role change takes effect after the meeting.",
|
||||
"Loner.Picked": "<#00ff00>✓ <#00ffa5>You've picked {0} to be your partner! Their role will be {1}.",
|
||||
"Thanos": "Thanos",
|
||||
"ThanosInfo": "Collect Infinity Stones",
|
||||
@@ -3646,7 +3645,7 @@
|
||||
"ReportBaitAtAllCost": "Report <#00f7ff>Bait</color> at All Cost",
|
||||
"Jailor": "Jailor",
|
||||
"JailorInfo": "Lock up your target in Jail",
|
||||
"JailorInfoLong": "(Crewmates):\\nAs the Jailor, use your kill button to lock a player in jail. Jailed players cannot be guessed or judged and jailed players can only guess Jailor.\\nWhile in jail, jailed players can privately communicate with the Jailor using /jailtalk.",
|
||||
"JailorInfoLong": "(Crewmates):\\nAs the Jailor, use your kill button to lock a player in jail. Jailed players cannot be guessed or judged and jailed players can only guess Jailor.\\nWhile in jail, jailed players can privately communicate with the Jailor using <b>/cmd jailtalk [message]</b>.",
|
||||
"JailorJailCooldown": "Jail cooldown",
|
||||
"JailorTargetAlreadySelected": "You have already selected a target",
|
||||
"SuccessfullyJailed": "Target successfully Jailed",
|
||||
@@ -3977,8 +3976,8 @@
|
||||
"ConvenerInfoLong": "(Crewmates):\\nAs the Convener, you can vent/pet to teleport everyone to you.",
|
||||
"Mathematician": "Mathematician",
|
||||
"MathematicianInfo": "Ask Math Questions",
|
||||
"MathematicianInfoLong": "(Crewmates):\\nAs the Mathematician, you can use '/ask [number] [number]' to ask a math question (What is [number] + [number]?). The first player to answer correctly will get +1 ability use and shielded for the next round. You can only ask once per meeting.",
|
||||
"MathematicianQuestionString": "What is <b>{0} + {1}</b>?\n\nType '/answer [answer]' to answer.\nFirst to answer correctly gets shielded for the next round!",
|
||||
"MathematicianInfoLong": "(Crewmates):\\nAs the Mathematician, you can use <b>/cmd ask [number] [number]</b> to ask a math question (What is [number] + [number]?). The first player to answer correctly will get +1 ability use and shielded for the next round. You can only ask once per meeting.",
|
||||
"MathematicianQuestionString": "What is <b>{0} + {1}</b>?\n\nType <b>/answer [answer]</b> to answer.\nFirst to answer correctly gets shielded for the next round!",
|
||||
"MathematicianAnsweredString": "<b>{0}</b> has answered correctly! ({1})\nThey got +1 ability use and will be shielded for the next round.",
|
||||
"Escort": "Escort",
|
||||
"EscortInfo": "Role-Block Players to Help the Crew!",
|
||||
@@ -4209,7 +4208,7 @@
|
||||
"Deadlined.SafeTime": "<size=80%><#00ffa5>Safe time:</color> <b>{0}</b>s</size>",
|
||||
"Assumer": "Assumer",
|
||||
"AssumerInfo": "Assume Vote Counts",
|
||||
"AssumerInfoLong": "(Impostors):\\nAs the Assumer, you can type <b>/assume {id} {number}</b> to assume that the selected player (whose ID you typed as the first argument, replacing '{id}') will get exactly {number} votes (the number you typed in the second argument, replacing '{number}').\\nExample: <b>/assume 0 3</b> (assume that the host gets 3 votes).\\n\\nIf you are correct, <u>every player</u> that voted for your target dies.",
|
||||
"AssumerInfoLong": "(Impostors):\\nAs the Assumer, you can type <b>/cmd assume {id} {number}</b> to assume that the selected player (whose ID you typed as the first argument, replacing '{id}') will get exactly {number} votes (the number you typed in the second argument, replacing '{number}').\\nExample: <b>/cmd assume 0 3</b> (assume that the host gets 3 votes).\\n\\nIf you are correct, <u>every player</u> that voted for your target dies.",
|
||||
"Assumer.AssumedMessage": "You're assuming that {0} will receive <b>{1}</b> votes",
|
||||
"Assumer.VoteReceiverDies": "Vote Receiver Dies on Correct Assumption",
|
||||
"Assumer.MinPlayersToAssume": "Minimum Alive Players to Make Assumptions",
|
||||
@@ -4432,13 +4431,13 @@
|
||||
"SapperDelay": "Bomb Explode Delay",
|
||||
"Imitator": "Imitator",
|
||||
"ImitatorInfo": "Imitate Roles of Dead Players",
|
||||
"ImitatorInfoLong": "(Crewmates):\\nAs the Imitator, you can imitate the role of a dead player using the <b>/imitate {id}</b> command. Replace '{id}' with the ID of the player whose role you want to imitate.\\nAlternatively, if you aren't the host, use the kick menu to select a player to imitate.",
|
||||
"ImitatorInfoLong": "(Crewmates):\\nAs the Imitator, you can imitate the role of a dead player using the <b>/cmd imitate {id}</b> command. Replace '{id}' with the ID of the player whose role you want to imitate.\\nAlternatively, if you aren't the host, use the kick menu to select a player to imitate.",
|
||||
"Imitator.TargetMustBeCrew": "<#ff5555>X <#bb0000>Your target must be a <#8cffff>Crewmate</color>!",
|
||||
"Imitator.TargetMustBeDead": "<#ff5555>X <#bb0000>Your target must be dead!",
|
||||
"Imitator.Success": "<#00ff00>✓ <#00bb00>You will be imitating {0} in the next round!",
|
||||
"Fabricator": "Fabricator",
|
||||
"FabricatorInfo": "Change Death Reasons",
|
||||
"FabricatorInfoLong": "(Impostors):\\nAs the Fabricator, you can use <b>/fabricate {deathreason}</b> to set the death reason for your next kill. Replace '{deathreason}' with one of the available death reasons in the mod.",
|
||||
"FabricatorInfoLong": "(Impostors):\\nAs the Fabricator, you can use <b>/cmd fabricate {deathreason}</b> to set the death reason for your next kill. Replace '{deathreason}' with one of the available death reasons in the mod.",
|
||||
"Fabricator.InvalidDeathReason": "<#ff5555>X <#bb0000>Invalid death reason '<#ffffff>{0}</color>'!",
|
||||
"Fabricator.SetDeathReason": "<#00ff00>✓ <#00bb00>Your next kill will have the death reason: <#ffffff>{0}</color>",
|
||||
"Composter": "Composter",
|
||||
@@ -4626,7 +4625,7 @@
|
||||
"DeliverCooldown": "Deliver Cooldown",
|
||||
"NecroGuesser": "Necro-Guesser",
|
||||
"NecroGuesserInfo": "Guess Dead Players' Roles",
|
||||
"NecroGuesserInfoLong": "(Neutrals):\\nAs the Necro-Guesser, your job is to guess the roles of dead players. Use <b>/bt {id} {role}</b> to guess. {id} is the player's ID, view them by using /id, {role} is the player's role. You need to guess a certain amount of dead players' roles to win with the winning team at the end.",
|
||||
"NecroGuesserInfoLong": "(Neutrals):\\nAs the Necro-Guesser, your job is to guess the roles of dead players. Use <b>/cmd bt {id} {role}</b> to guess. {id} is the player's ID, view them by using <b>/cmd id</b>, {role} is the player's role. You need to guess a certain amount of dead players' roles to win with the winning team at the end.",
|
||||
"NecroGuesser.NumGuessesToWin": "Number of Guesses Required to Win",
|
||||
"NecroGuesser.GuessCorrect": "Your guess was <#00ff00>correct</color>!",
|
||||
"NecroGuesser.GuessIncorrect": "Your guess was <#ff0000>incorrect</color>!",
|
||||
@@ -4743,7 +4742,7 @@
|
||||
"ChefRottenSuffix": "<#ffa500>You must</color> <#ffff00>kill or vent</color> <#ffa500>within</color> <b>{0}</b>s",
|
||||
"NoteKiller": "Note Killer",
|
||||
"NoteKillerInfo": "Find Players' Real Names to Kill Them in Meetings",
|
||||
"NoteKillerInfoLong": "(Neutrals):\\nAs the Note Killer, you can pet/vanish to see a part of everyone's real names for a few seconds. This has a cooldown. If you find someone's full real name, you can use <b>/dn {realname}</b>, replacing {realname} with the name you've found. If that name is correct, the game will instantly kill the player whose real name you've entered.\\n\\nEveryone knows you're in the game and everyone sees their own real name.",
|
||||
"NoteKillerInfoLong": "(Neutrals):\\nAs the Note Killer, you can pet/vanish to see a part of everyone's real names for a few seconds. This has a cooldown. If you find someone's full real name, you can use <b>/cmd dn {realname}</b>, replacing {realname} with the name you've found. If that name is correct, the game will instantly kill the player whose real name you've entered.\\n\\nEveryone knows you're in the game and everyone sees their own real name.",
|
||||
"NoteKiller.MinLettersRevealed": "Minimum Number of Letters Revealed From Each Name",
|
||||
"NoteKiller.MaxLettersRevealed": "Maximum Number of Letters Revealed From Each Name",
|
||||
"NoteKiller.ClueShowDuration": "Clue Show Duration",
|
||||
@@ -4768,7 +4767,7 @@
|
||||
"ExpressSpeedDur": "Increased Speed Duration",
|
||||
"Swapper": "Swapper",
|
||||
"SwapperInfo": "Swap players' votes",
|
||||
"SwapperInfoLong": "(Crewmates):\\nAs the Swapper, you can use the command <b>/sw <color=#0000ff>[ID]</color></b> twice to choose 2 players. Those votes received by those 2 players will be swapped.\\nYou can see everyone's <color=#0000ff>ID</color>s next to their name.\\n\\nFor example, if 3 players voted red, and 5 players voted yellow, and you swap red and yellows' IDs, then red will receive 5 votes, and yellow will receive 3 votes.\\n\\nDue to technical difficulties, the Host's original vote will seem unchanged, but it's only visual, their vote will still get swapped.",
|
||||
"SwapperInfoLong": "(Crewmates):\\nAs the Swapper, you can use the command <b>/cmd sw <color=#0000ff>[ID]</color></b> twice to choose 2 players. Those votes received by those 2 players will be swapped.\\nYou can see everyone's <color=#0000ff>ID</color>s next to their name.\\n\\nFor example, if 3 players voted red, and 5 players voted yellow, and you swap red and yellows' IDs, then red will receive 5 votes, and yellow will receive 3 votes.\\n\\nDue to technical difficulties, the Host's original vote will seem unchanged, but it's only visual, their vote will still get swapped.",
|
||||
"SwapperMax": "Initial Number of Swaps",
|
||||
"SwapperTrialMax": "Ability use limit reached",
|
||||
"CanSwapSelfVotes": "<color=#922348>Swapper</color> Can Swap Themselves",
|
||||
@@ -4781,7 +4780,7 @@
|
||||
"Swap2": "Second Swap Target Chosen",
|
||||
"CancelSwap1": "First Swap Target Cancelled",
|
||||
"CancelSwap2": "Second Swap Target Cancelled",
|
||||
"SwapHelp": "Use <b>/sw [ID]</b> to choose a player to swap votes with.",
|
||||
"SwapHelp": "Use <b>/cmd sw [ID]</b> to choose a player to swap votes with.",
|
||||
"SwapNull": "No alive player with that ID",
|
||||
"SwapperManipulatedEjection": "Thanks to the {0}",
|
||||
"SecurityGuard": "Security Guard",
|
||||
@@ -4901,12 +4900,12 @@
|
||||
"Rogue.AllTasksCompleted": "<#00ff00>All Objectives Completed</color>",
|
||||
"Journalist": "Journalist",
|
||||
"JournalistInfo": "Write Down Notes",
|
||||
"JournalistInfoLong": "(Crewmates):\\nAs the Journalist, you can write down notes. When you die, all players will see your notes in the next meeting.\\n\\nCommand: <b>/note {add/remove/clear/view} [value]</b><size=80%>\\n- <b>add</b>: Add a note specified in [value]\\n- <b>remove</b>: Remove a note. Provide the index of it in [value] or leave [value] blank to remove the last note. You can see the indexes of your notes by using <b>/note view</b>\\n- <b>clear</b>: Clear all notes (leave [value] blank)\\n- <b>view</b>: View all notes and their indexes (leave [value] blank)</size>\\n\\n<size=70%>Example uses:\\n<b>/note add I think blue and yellow are Lovers</b>\\n<b>/note remove 2</b>\\n<b>/note clear</b>\\n<b>/note view</b></size>",
|
||||
"JournalistInfoLong": "(Crewmates):\\nAs the Journalist, you can write down notes. When you die, all players will see your notes in the next meeting.\\n\\nCommand: <b>/cmd note {add/remove/clear/view} [value]</b><size=80%>\\n- <b>add</b>: Add a note specified in [value]\\n- <b>remove</b>: Remove a note. Provide the index of it in [value] or leave [value] blank to remove the last note. You can see the indexes of your notes by using <b>/cmd note view</b>\\n- <b>clear</b>: Clear all notes (leave [value] blank)\\n- <b>view</b>: View all notes and their indexes (leave [value] blank)</size>\\n\\n<size=70%>Example uses:\\n<b>/cmd note add I think blue and yellow are Lovers</b>\\n<b>/cmd note remove 2</b>\\n<b>/cmd note clear</b>\\n<b>/cmd note view</b></size>",
|
||||
"JournalistNotesTitle": "<#fcba03>Journalist's Notes</color>",
|
||||
"JournalistError.InvalidArgument": "Invalid argument. Use <b>/note {add/remove/clear/view} [value]</b>",
|
||||
"Journalist.CommandUsage": "Usage: <b>/note {add/remove/clear/view} [value]</b>",
|
||||
"JournalistError.InvalidArgument": "Invalid argument. Use <b>/cmd note {add/remove/clear/view} [value]</b>",
|
||||
"Journalist.CommandUsage": "Usage: <b>/cmd note {add/remove/clear/view} [value]</b>",
|
||||
"JournalistError.IndexOutOfRange": "You didn't provide enough arguments.",
|
||||
"JournalistError.ArgumentOutOfRange": "The index you provided is out of range. Use <b>/note view</b> to see the indexes of your notes.",
|
||||
"JournalistError.ArgumentOutOfRange": "The index you provided is out of range. Use <b>/cmd note view</b> to see the indexes of your notes.",
|
||||
"JournalistError.Unknown": "An unknown error occurred.",
|
||||
"BananaMan": "Banana Man",
|
||||
"BananaManInfo": "You're the Banana Man",
|
||||
@@ -5050,8 +5049,8 @@
|
||||
"Speedrun_TimeStacksUp": "Time Remainder Adds to Next Time Limit (time stacks up)",
|
||||
"Speedrun_TimeLimit": "Time Limit to Do a Task or Kill",
|
||||
"Speedrun_KillersCanKillTaskingPlayers": "Killing Players Can Kill Players Who Didn't Finish Their Tasks Yet",
|
||||
"Speedrun_CanKillSuffixInfo": "<#00ffa5>Time:</color> <#ffffff>{3}s</color>\\n<size=80%><#ffff00>Alive players: <#ffab1b>{0}</color>/{1}</color>\\n<#ff1919>Kill everyone to win</color>\\n<size=70%><#888888>Apart from you, <#ffffff>{2}</color> players can kill</color></size></size>",
|
||||
"Speedrun_DoTasksSuffixInfo": "<#00ffa5>Time:</color> <#ffffff>{4}s</color>\\n<size=70%><#888888>Alive players: <#ffffff>{1}</color>/{2}</color>\\n<size=80%><#00ffa5>Finish your <#ffff00>{0}</color> remaining tasks</color>\\n<size=70%><#ffab1b><#ffffff>{3}</color> players can kill</color></size></size></size>",
|
||||
"Speedrun_CanKillSuffixInfo": "<#00ffa5>Time:</color> <#ffffff>{3}s</color>\\n<size=80%><#ffff00>Living players: <#ffab1b>{0}</color>/{1}</color>\\n<#ff1919>Kill everyone to win</color>\\n<size=70%><#888888>Apart from you, <#ffffff>{2}</color> players can kill</color></size></size>",
|
||||
"Speedrun_DoTasksSuffixInfo": "<#00ffa5>Time:</color> <#ffffff>{4}s</color>\\n<size=70%><#888888>Living players: <#ffffff>{1}</color>/{2}</color>\\n<size=80%><#00ffa5>Finish your <#ffff00>{0}</color> remaining tasks</color>\\n<size=70%><#ffab1b><#ffffff>{3}</color> players can kill</color></size></size></size>",
|
||||
"Speedrun_CompletedTasks": "<#00ff00>You're done with tasks!</color>",
|
||||
"Speedrun_KillingPlayer": "<#ff1919>KILLING</color>",
|
||||
"Runner": "SPEEDRUN",
|
||||
@@ -9073,7 +9072,7 @@
|
||||
"DoorjammerBlockSabo": "<#bb0000>This room is jammed, you can't sabotage in here</color>",
|
||||
"Negotiator": "Negotiator",
|
||||
"NegotiatorInfo": "Negotiate with Players",
|
||||
"NegotiatorInfoLong": "(Crewmates):\\nAs the Negotiator, you can negotiate with someone by voting for them in a meeting. Your target then has to choose between suiciding, receiving a harmful add-on, permanently getting low vision or low speed.\\n\\nIf they don't pick, the default action is suicide. They can use <b>/neg {index}</b> to pick.\\nYou can only negotiate once per meeting. After the meeting, you'll know what your target picked.",
|
||||
"NegotiatorInfoLong": "(Crewmates):\\nAs the Negotiator, you can negotiate with someone by voting for them in a meeting. Your target then has to choose between suiciding, receiving a harmful add-on, permanently getting low vision or low speed.\\n\\nIf they don't pick, the default action is suicide. They can use <b>/cmd neg {index}</b> to pick.\\nYou can only negotiate once per meeting. After the meeting, you'll know what your target picked.",
|
||||
"Negotiator.LowVision": "Low vision",
|
||||
"Negotiator.LowSpeed": "Low speed",
|
||||
"Negotiator.MinVotingTimeLeftToNegotiate": "Minimum Voting Time Left to Negotiate",
|
||||
@@ -9291,14 +9290,14 @@
|
||||
"SoothsayerDiedNotify": "The Soothsayer predicted that {0} would kill them\\nand they were correct!",
|
||||
"Ventriloquist": "Ventriloquist",
|
||||
"VentriloquistInfo": "Make Others Say What You Want",
|
||||
"VentriloquistInfoLong": "(Impostors):\\nAs the Ventriloquist, you can make others say what you want. First, type /target {id} to target a player. Then, type /chat {message} to make the targeted player say the message.",
|
||||
"VentriloquistInfoLong": "(Impostors):\\nAs the Ventriloquist, you can make others say what you want. First, type <b>/cmd target {id}</b> to target a player. Then, type <b>/cmd chat {message}</b> to make the targeted player say the message.",
|
||||
"Augmenter": "Augmenter",
|
||||
"AugmenterInfo": "Choose Who You Want to Kill",
|
||||
"AugmenterInfoLong": "(Impostors):\\nAs the Augmenter, you can shapeshift into someone to make them your target. The next time you attempt to kill someone, they will be swapped with your target and you will kill your target instead.",
|
||||
"AugmenterFail": "<#ffff44>Your attempt of murdering your target failed,\\nso you've murdered your original target instead.</color>",
|
||||
"Inquirer": "Inquirer",
|
||||
"InquirerInfo": "Check Players' Roles",
|
||||
"InquirerInfoLong": "(Crewmates):\\nAs the Inquirer, you can check if a player has a specific role by typing /check {player id} {role}. There's a fail chance.",
|
||||
"InquirerInfoLong": "(Crewmates):\\nAs the Inquirer, you can check if a player has a specific role by typing <b>/cmd check {player id} {role}</b>. There's a fail chance.",
|
||||
"Inquirer.FailChance": "Chance to Show Incorrect Result",
|
||||
"Inquirer.MessageTrue": "<#00ff00><b><u>Correct!</u></b></color> That player has the role you entered.",
|
||||
"Inquirer.MessageFalse": "<#ff0000><b><u>Incorrect!</u></b></color> That player does not have the role you entered.",
|
||||
@@ -9337,9 +9336,9 @@
|
||||
"Tank.Suffix": "<size=80%><#00ffa5>A random vent you haven't entered yet:</color> {0}</size>",
|
||||
"Retributionist": "Retributionist",
|
||||
"RetributionistInfo": "Find & Kill Your Target's Killer",
|
||||
"RetributionistInfoLong": "(Crewmates):\\nAs the Retributionist, you may mark a player using your kill button to camp them. If they die, you will be notified. In the meeting after that, you may use <b>/retribute {id}</b> to kill the player who killed your target. If you guess wrong, nothing happens. After the meeting, you may camp another player.",
|
||||
"RetributionistInfoLong": "(Crewmates):\\nAs the Retributionist, you may mark a player using your kill button to camp them. If they die, you will be notified. In the meeting after that, you may use <b>/cmd retribute {id}</b> to kill the player who killed your target. If you guess wrong, nothing happens. After the meeting, you may camp another player.",
|
||||
"Retributionist.ResetCampedPlayerAfterEveryMeeting": "Can Camp a New Player After Every Meeting",
|
||||
"Retributionist.TargetDead": "<#ffff00>Your target is dead!</color>\\nYou can use <u>/retribute {id}</u> to kill the player who killed your target in the next meeting.",
|
||||
"Retributionist.TargetDead": "<#ffff00>Your target is dead!</color>\\nYou can use <u>/cmd retribute {id}</u> to kill the player who killed your target in the next meeting.",
|
||||
"Retributionist.Fail": "<#ff0000>X</color> <#bb0000>Wrong!",
|
||||
"Retributionist.KillerDead": "<#ffa500>-</color> <#ffab1b>Correct, but the killer is already dead, or they've disconnected.",
|
||||
"Retributionist.Success": "<#00ff00>✓</color> Correct!",
|
||||
@@ -9622,7 +9621,7 @@
|
||||
"InspectorCheckTrue": "<b>{0}</b> and <b>{1}</b> are in the same team!\"",
|
||||
"InspectorCheckFalse": "<b>{0}</b> and <b>{1}</b> are <color=#ff1919>NOT</color> in the same team!",
|
||||
"InspectorCheckTargetMsg": " were checked by Inspector.",
|
||||
"InspectorCheckHelp": "Instructions: /cp [Player ID 1] [Player ID 2] \\nExample: /cp 1 5 \\nYou can see the player IDs before everyone's names \\n or use the /id command to list the player IDs",
|
||||
"InspectorCheckHelp": "Instructions: <b>/cmd cp [Player ID 1] [Player ID 2]</b>\\nExample: <b>/cmd cp 1 5</b>\\nYou can see the player IDs before everyone's names\\n or use the <b>/cmd id</b> command to list the player IDs",
|
||||
"InspectorCheckNull": "Please select an ID of a living player to check their team",
|
||||
"EgoistCountMode.Original": "Original",
|
||||
"EgoistCountMode.Neutral": "Neutral",
|
||||
@@ -9664,7 +9663,7 @@
|
||||
"LaughToWhoMurderSelf": "Hahaha, who would've thought someone was stupid enough to murder themselves?\\n\\nGuess it happens to be... YOU!",
|
||||
"MisguessButNoSuicide": "You guessed incorrectly so you.... WOULD have died if the host wasn't kind enough to disable guesser suicides!",
|
||||
"MurderKill": "<b>{0}</b> was murdered.",
|
||||
"MurderHelp": "Command: /tl [player ID]\\nYou can see the players' IDs before the players' names.\\nOr use /id to view the list of all player IDs.",
|
||||
"MurderHelp": "Command: <b>/cmd tl [player ID]</b>\\nYou can see the players' IDs before the players' names.\\nOr use <b>/cmd id</b> to view the list of all player IDs.",
|
||||
"MurderNull": "Please choose a living player to murder.",
|
||||
"MurderKillTitle": "[★ Wicked Court ★]",
|
||||
"MurderLimitPerMeeting": "Maximum Meeting Kills Per Meeting",
|
||||
@@ -9693,7 +9692,7 @@
|
||||
"Gardener.PlantCreated": "<#00ff00>Plant created!</color>\\nIt will be visible after the next meeting.",
|
||||
"Pawn": "Pawn",
|
||||
"PawnInfo": "Complete Tasks Then Pick Your Role",
|
||||
"PawnInfoLong": "(Neutrals):\\nAs the Pawn, you must complete all of your tasks, then use <b>/choose {role}</b> to pick your role.\\n\\n(Replace {role} with the name of the role that you want to become.) (You can only choose roles that are enabled.)\\nYou lose if you have this role when the game ends.",
|
||||
"PawnInfoLong": "(Neutrals):\\nAs the Pawn, you must complete all of your tasks, then use <b>/cmd choose {role}</b> to pick your role.\\n\\n(Replace {role} with the name of the role that you want to become.) (You can only choose roles that are enabled.)\\nYou lose if you have this role when the game ends.",
|
||||
"Pawn.KeepsGameGoing": "Keeps The Game Going",
|
||||
"Blind": "Blind",
|
||||
"BlindInfo": "You Can't See Arrows",
|
||||
@@ -9701,7 +9700,7 @@
|
||||
"Prefix.Blind": "Blind",
|
||||
"Forger": "Forger",
|
||||
"ForgerInfo": "Forge Others' Roles",
|
||||
"ForgerInfoLong": "(Impostors):\\nAs the Forger, you can use <b>/forge {id} {role}</b> to change the specified player's role to the one you specifed after they die. Note that this will only be visual, the player will keep their actual role technically.",
|
||||
"ForgerInfoLong": "(Impostors):\\nAs the Forger, you can use <b>/cmd forge {id} {role}</b> to change the specified player's role to the one you specifed after they die. Note that this will only be visual, the player will keep their actual role technically.",
|
||||
"Dealer": "Dealer",
|
||||
"DealerInfo": "Give Players Add-ons",
|
||||
"DealerInfoLong": "(Neutrals):\\nAs the Dealer, use your kill button to give players random add-ons. If you give a certain amount of add-ons, your win condition satisfy, and you'll win with the winning team at the end.",
|
||||
@@ -9716,7 +9715,7 @@
|
||||
"BatteryNotify": "<#ffa500>The lights sabotage cannot be called\\nbecause there's a {0} alive</color>",
|
||||
"President": "President",
|
||||
"PresidentInfo": "Control The Game",
|
||||
"PresidentInfoLong": "(Crewmates):\\nAs the President, you have 6 decrees each to be used once in the game. You can only use 1 decree in every meeting. To use a decree, type <b>/decree {number}</b>, replacing {number} with the ID of the corresponding decree. To get a list of decrees and their IDs, type <b>/decree</b>.<size=80%>\\n\\nList of decrees and what they do:\\n- Revealing: Reveals you as the President for everyone, makes you unguessable and cuts your vision in half for the rest of the game.\\n- Finishing: Ends the current meeting instantly without counting the votes.\\n- Declassification: Everyone will see voting colors at the end of the current meeting.\\n- Government Support: Gives all crewmates +1 ability use.\\n- Investigation: Get info about how many impostors and neutral killers are alive.\\n- Government Recruiting: After using, vote for someone to recruit them (your vote will be canceled and you'll be able to vote normally after this) to recruit that player to the role specified in the settings, if they're a crewmate.</size>",
|
||||
"PresidentInfoLong": "(Crewmates):\\nAs the President, you have 6 decrees each to be used once in the game. You can only use 1 decree in every meeting. To use a decree, type <b>/cmd decree {number}</b>, replacing {number} with the ID of the corresponding decree. To get a list of decrees and their IDs, type <b>/cmd decree</b>.<size=80%>\\n\\nList of decrees and what they do:\\n- Revealing: Reveals you as the President for everyone, makes you unguessable and cuts your vision in half for the rest of the game.\\n- Finishing: Ends the current meeting instantly without counting the votes.\\n- Declassification: Everyone will see voting colors at the end of the current meeting.\\n- Government Support: Gives all crewmates +1 ability use.\\n- Investigation: Get info about how many impostors and neutral killers are alive.\\n- Government Recruiting: After using, vote for someone to recruit them (your vote will be canceled and you'll be able to vote normally after this) to recruit that player to the role specified in the settings, if they're a crewmate.</size>",
|
||||
"President.Decree.Reveal": "Revealing Decree",
|
||||
"President.Decree.Finish": "Finishing Decree",
|
||||
"President.Decree.Declassification": "Declassification Decree",
|
||||
@@ -9726,7 +9725,7 @@
|
||||
"President.Reveal.CanBeConvertedAfterRevealing": "Can be <#ffab1b>converted</color> after revealing",
|
||||
"President.Reveal.ConvertedPresidentCanReveal": "<#ffab1b>Converted</color> <#30916f>President</color> can reveal",
|
||||
"President.GovernmentRecruiting.RecruitedRole": "Recruited role",
|
||||
"President.Help": "Command: /decree {decree ID}\\nYou can see the decree IDs by typing /decree",
|
||||
"President.Help": "Command: <b>/cmd decree {decree ID}</b>\\nYou can see the decree IDs by typing <b>/cmd decree</b>",
|
||||
"President.Recruit.TargetNotifyMessage": "You have been recruited by the <#30916f>President</color>!",
|
||||
"President.UsedDecreeMessage.Everyone": "The <#30916f>President</color> has used the <#ffab1b>{0}</color>!",
|
||||
"President.DecreeAlreadyUsedMessage": "You have already used this decree or it isn't enabled!",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Perseguir",
|
||||
"AbilityButtonText.Shapeshifter": "Cambiar",
|
||||
"AbilityButtonText.Phantom": "Desaparecer",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Ácido",
|
||||
"AbilityButtonText.Detective": "Notas",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogar",
|
||||
"GauloisKillButtonText": "Acelerar",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Incapaz de usar /lastresult durante un juego.",
|
||||
"IllegalColor": "Por favor introduce el color correcto",
|
||||
"DisableUseCommand": "Las configuraciones del Host no permiten usar este comando.",
|
||||
"SureUse.quit": "Te expulsaremos y bloquearemos de entrar a este lobby de nuevo. Esta configuración es irreversible. Si en serio la quieres, por favor envía el comando /qt {0}",
|
||||
"PlayerIdList": "Lista de IDs de jugadores: ",
|
||||
"turnOn": "Encendido",
|
||||
"turnOff": "Apagado",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Accélérer",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Percepat",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "憑依",
|
||||
"AbilityButtonText.Shapeshifter": "シフト",
|
||||
"AbilityButtonText.Phantom": "消える",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "速度アップ",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "<size=90%>ゲーム中に <b>/lastresult</b> を使用することは不可能です。</size>",
|
||||
"IllegalColor": "<size=90%>正しい色名 (英語で) を入力してください</size>",
|
||||
"DisableUseCommand": "<size=80%>ホストの設定で このコマンドの使用が許可されていません。</size>",
|
||||
"SureUse.quit": "<size=80%>私たちは あなたを追い出し そして このロビーに あなたが再び入るのをブロックします。\\nこの設定は取り消せません。\\nもし あなたが これを本当に欲しいとき、コマンド <b>/qt {0}</b> を送信してください</size>",
|
||||
"PlayerIdList": "プレイヤーIDのリスト: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "次へ",
|
||||
"AutoGMRotationStatusText.GMPoll": "プレイヤー投票 (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "<b>{0}</b>秒で リストの次のゲームモードへ飛びます",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "研究所",
|
||||
"SubmergedRoomName.129": "展望台",
|
||||
"SubmergedRoomName.130": "アッパーセントラル",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Assombrar",
|
||||
"AbilityButtonText.Shapeshifter": "Metamorfar",
|
||||
"AbilityButtonText.Phantom": "Invisibilidade",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Acelerar",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Não está habilitado o /lastresult durante o jogo.",
|
||||
"IllegalColor": "Por favor coloque a cor correta",
|
||||
"DisableUseCommand": "A Configuração do Anfitrião não permitem o uso desse comando.",
|
||||
"SureUse.quit": "Iremos te expulsar e te bloquear de entrar nessa sala de novo. Essa configuração é irreversível. Se você realmente quer isso, digite /qt {0}",
|
||||
"PlayerIdList": "Lista de ID dos Jogadores:",
|
||||
"turnOn": "Lig.",
|
||||
"turnOff": "Deslig.",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Próximo",
|
||||
"AutoGMRotationStatusText.GMPoll": "Voto do Jogador (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Pulando para o próximo modo de jogo na lista em <b>{0}</b> segundos",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Pesquisar",
|
||||
"SubmergedRoomName.129": "Observatório",
|
||||
"SubmergedRoomName.130": "Central Superior",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"LanguageID": "0",
|
||||
"LanguageID": "106",
|
||||
"TextBelowVersionText": "",
|
||||
"HostText": "EHR - Host",
|
||||
"IconColor": "#00a5ff",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
+16
-16
@@ -1199,7 +1199,7 @@
|
||||
"CommsCamouflageLimitMaxTimesPerGame": "За игру",
|
||||
"CommsCamouflageLimitMaxTimesPerRound": "За раунд",
|
||||
"CommsCamouflageSetSameSpeed": "У всех игроков одинаковая скорость во время камуфляжа",
|
||||
"CommsCamouflagePreventRound1": "Don't Camouflage Round 1",
|
||||
"CommsCamouflagePreventRound1": "Камуфляж не активируется в 1 раунде",
|
||||
"DisableReportWhenCC": "Выключить репорт во время камуфляжа",
|
||||
"EnableDebugMode": "Выключить режим отладки",
|
||||
"ChangeNameToRoleInfo": "Показывать описания ролей игрокам без мода (Раунд 1)",
|
||||
@@ -1845,7 +1845,7 @@
|
||||
"AmOblivious": "<color=#424242>Игнорирующий</color> не может репортить трупы",
|
||||
"ShipHasNoMoreMeetingsLeft": "Кнопок срочных собраний не осталось",
|
||||
"NoMoreEmergencyMeetingsLeft": "Кнопок срочных собраний не осталось",
|
||||
"QuarryTarget": "As the <#c1fb2b>Quarry</color>'s target, you cannot start meetings",
|
||||
"QuarryTarget": "Как цель <#c1fb2b>Добычи</color>, вы не можете созывать собрания",
|
||||
"UnreportableBody": "Из-за влияния какой-то роли, этот труп нельзя зарепортить",
|
||||
"CheckMurderFail": "<#ff0000>Убийства не случилось из-за следующей причины:\\n</color>",
|
||||
"SameCTATeam": "Игрок, которого ты атаковал был в твоей команде",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Преследовать",
|
||||
"AbilityButtonText.Shapeshifter": "Морф",
|
||||
"AbilityButtonText.Phantom": "Инвиз",
|
||||
"KillButtonText.Viper": "Растворить",
|
||||
"AbilityButtonText.Viper": "Растворить",
|
||||
"AbilityButtonText.Detective": "Заметки",
|
||||
"SecondaryAbilityButtonText.Detective": "Допросить",
|
||||
"GauloisKillButtonText": "Скорость",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Нельзя использовать команду /l или /lastresult во время игры",
|
||||
"IllegalColor": "Введите корректный цвет",
|
||||
"DisableUseCommand": "Настройки не позволяют использовать эту команду",
|
||||
"SureUse.quit": "Мы кикнем и забаним вас. Вы больше не сможете зайти в это лобби. Эту функцию нельзя отключить. Если вы действительно хотите выйти навсегда, напишите команду /qt {0}",
|
||||
"PlayerIdList": "Список ID игроков: ",
|
||||
"turnOn": "Вкл",
|
||||
"turnOff": "Выкл",
|
||||
@@ -4977,7 +4976,7 @@
|
||||
"FFA_ShieldIsOneTimeUse": "Щит ломается при попытке убийства",
|
||||
"FFA_ShieldBroken": "<color=#ffff00>Кто-то попытался вас убить и сломал ваш щит!</color>",
|
||||
"FFA_ChatDuringGame": "Включить чат во время игры",
|
||||
"FFAChatMessageNotify": "[Chat] {0}: <#ffffff>{1}",
|
||||
"FFAChatMessageNotify": "[Чат] {0}: <#ffffff>{1}",
|
||||
"Killer": "FREE FOR ALL",
|
||||
"KillerInfo": "УБЕЙТЕ ВСЕХ, ЧТОБЫ ПОБЕДИТЬ",
|
||||
"KillerInfoLong": "УБЕЙТЕ ВСЕХ, ЧТОБЫ ПОБЕДИТЬ",
|
||||
@@ -9251,15 +9250,15 @@
|
||||
"Telekinetic.Mode.Shield": "Щит",
|
||||
"Telekinetic.Mode.Speed": "Ускорение",
|
||||
"Telekinetic.Mode.Doors": "Открытие дверей",
|
||||
"Quarry": "Quarry",
|
||||
"QuarryInfo": "Hide From Players",
|
||||
"QuarryInfoLong": "(Neutrals):\\nAs the Quarry, you may shapeshift to select your target and swap places with them, they then have to kill you in a specified time or they die. If they find and kill you, they live. You can also kill normally using the kill button.\\nKill everyone to win!",
|
||||
"Quarry.TargetHasArrowToQuarry": "Target has an arrow to the <#c1fb2b>Quarry</color>",
|
||||
"Quarry.CanVentDuringSeekTime": "Can Vent During Seek Time",
|
||||
"Quarry.TargetDiesOnMeetingCall": "Target Dies on Meeting Call",
|
||||
"Quarry.SeekTime": "Seek Time",
|
||||
"Quarry.TargetSeekBeginNotify": "<#ff0000>You were swapped with the {0}! They have a black name!",
|
||||
"Quarry.TimeLeftSuffix": "<#ffff00>You have <#ffffff>{0}s</color> to kill the {1} <#ffa500>or you die!",
|
||||
"Quarry": "Добыча",
|
||||
"QuarryInfo": "Прячьтесь от выбранных игроков",
|
||||
"QuarryInfoLong": "(Нейтральный Убийца):\\nКак Добыча, вы можете морфнуться в игрока, чтобы сделать его своей целью и поменяться с ним местами. Его задача - убить вас. Если он сможет, то выживет, если нет - умрёт. Вы также можете убивать с помощью кнопки убийства.",
|
||||
"Quarry.TargetHasArrowToQuarry": "У цели есть стрелка на <#c1fb2b>Добычу</color>",
|
||||
"Quarry.CanVentDuringSeekTime": "Может использовать люки во время пряток",
|
||||
"Quarry.TargetDiesOnMeetingCall": "Цель умирает при вызове собрания",
|
||||
"Quarry.SeekTime": "Прятки длятся",
|
||||
"Quarry.TargetSeekBeginNotify": "<#ff0000>Вы поменялись местами с {0}! У них чёрный никнейм!",
|
||||
"Quarry.TimeLeftSuffix": "<#ffff00>Вы должны убить {1} в течение <#ffffff>{0}с</color> <#ffa500>, иначе вы умрёте!",
|
||||
"Nonplus": "Дизориентатор",
|
||||
"NonplusInfo": "Ослепляйте игроков",
|
||||
"NonplusInfoLong": "(Нейтральный Убийца):\\nКак Дизориентатор, вы можете временно ослепить ближайших к вам игроков, прыгнув в люк/погладив питомца. Ослеплённые игроки ничего не будут видеть в течение некоторого времени.",
|
||||
@@ -10049,10 +10048,10 @@
|
||||
"Goddess.Suffix": "<{1}>Окаменение</color> <#888888>-</color> <b>{0}</b>",
|
||||
"Augur": "Авгур",
|
||||
"AugurInfo": "Угадывайте роли",
|
||||
"AugurInfoLong": "(Coven):\\nYou can guess players' roles during meetings. If you misguess, you don't die, but you can't guess again until the next meeting. You cannot gain the Necronomicon, similar to a Reaper.",
|
||||
"AugurInfoLong": "(Ковен):\\nКак Авгур, вы можете гадать роли игроков во время собраний. Если вы не угадаете, то не умрёте, но не сможете гадать до следующего собрания. Вы не можете получить Некрономикон.",
|
||||
"Augur.MaxGuessesPerMeeting": "Макс. кол-во угадываний за собрание",
|
||||
"Augur.MaxGuessesPerGame": "Макс. кол-во угадываний за игру",
|
||||
"Augur.IncorrectGuess": "<#ff0000>Incorrect!</color> You can't guess in this meeting anymore.",
|
||||
"Augur.IncorrectGuess": "<#ff0000>Неправильно!</color> Вы не можете больше гадать на этом собрании.",
|
||||
"Dreamweaver": "Ткач Снов",
|
||||
"DreamweaverInfo": "Заставляйте игроков сходить с ума",
|
||||
"DreamweaverInfoLong": "(Ковен):\\nКак Ткач Снов, вы можете заставлять игроков сходить с ума; игрок, на котором вы использовали свою способность станет сумасшедшим после следующего собрания. Сумасшедшие игроки будут автоматически использовать свою способность на других игроках, если те будут рядом и если их способность откатилась. После вашей смерти все сумасшедшие игроки перестанут быть сумасшедшими. Получив Некрономикон, ваша способность будет заставлять сумасшедших игроков совершать суицид после контакта с другим игроком.",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Следующий",
|
||||
"AutoGMRotationStatusText.GMPoll": "Игроки голосуют (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Переход к следующему режиму в списке через <b>{0}</b>с",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Исследовательская",
|
||||
"SubmergedRoomName.129": "Обсерватория",
|
||||
"SubmergedRoomName.130": "Верхний узел",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"LanguageID": "0",
|
||||
"LanguageID": "107",
|
||||
"TextBelowVersionText": "",
|
||||
"HostText": "EHR - Domaćin",
|
||||
"IconColor": "#00a5ff",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"LanguageID": "0",
|
||||
"LanguageID": "108",
|
||||
"TextBelowVersionText": "",
|
||||
"HostText": "EHR - Host",
|
||||
"IconColor": "#00a5ff",
|
||||
@@ -1199,6 +1199,7 @@
|
||||
"CommsCamouflageLimitMaxTimesPerGame": "Maximum Times of Camouflaging Per Game",
|
||||
"CommsCamouflageLimitMaxTimesPerRound": "Maximum Times of Camouflaging Per Round",
|
||||
"CommsCamouflageSetSameSpeed": "All Players Have the Same Speed During Camouflage",
|
||||
"CommsCamouflagePreventRound1": "Don't Camouflage Round 1",
|
||||
"DisableReportWhenCC": "Disable body reporting while camouflaged",
|
||||
"EnableDebugMode": "Enable Debug Mode",
|
||||
"ChangeNameToRoleInfo": "Show Role Info to Unmodded Clients Round 1",
|
||||
@@ -1844,6 +1845,7 @@
|
||||
"AmOblivious": "You are <color=#424242>Oblivious</color>, meaning you cannot report bodies",
|
||||
"ShipHasNoMoreMeetingsLeft": "The ship has no more emergency meetings left",
|
||||
"NoMoreEmergencyMeetingsLeft": "You have no more emergency meetings left",
|
||||
"QuarryTarget": "As the <#c1fb2b>Quarry</color>'s target, you cannot start meetings",
|
||||
"UnreportableBody": "This body is unreportable due to a role-specific action",
|
||||
"CheckMurderFail": "<#ff0000>The murder was canceled due to the following reason:\\n</color>",
|
||||
"SameCTATeam": "The player you attacked is in the same custom team as you",
|
||||
@@ -3024,6 +3026,7 @@
|
||||
"DraftTitle": "<#00a5ff>➡</color> <#00ffa5>Drafting</color> <#00a5ff>⬅</color>",
|
||||
"DraftChosen": "You have chosen the <b>{0}</b> role for the next game.\\n<size=70%>You can still change your choice by typing /draft [index] again.</size>",
|
||||
"DraftMaxRolesPerPlayer": "Max Roles For Each Player To Choose From When Drafting",
|
||||
"DraftAffectedByRoleSpawnChances": "Take Role Spawn Chances Into Account When Picking Draft Choices",
|
||||
"EveryoneDrafted": "<#00ffa5>✓</color> <#00ff00>Everyone has drafted their role!</color>",
|
||||
"DeathCommand": "<#ffffff>You were killed by </color>{0}<#ffffff>\\nTheir role is </color>{1}",
|
||||
"DeathCommandFail": "<#ff0000>The game could not determine your real killer.</color>\\nYour death reason is <#00ffa5>{0}</color>.",
|
||||
@@ -3221,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "Haunt",
|
||||
"AbilityButtonText.Shapeshifter": "Shift",
|
||||
"AbilityButtonText.Phantom": "Vanish",
|
||||
"KillButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Viper": "Acid",
|
||||
"AbilityButtonText.Detective": "Notes",
|
||||
"SecondaryAbilityButtonText.Detective": "Interrogate",
|
||||
"GauloisKillButtonText": "Speed Up",
|
||||
@@ -3304,7 +3307,6 @@
|
||||
"CantUse.lastresult": "Unable to use /lastresult during a game.",
|
||||
"IllegalColor": "Please enter the correct color",
|
||||
"DisableUseCommand": "The Host's settings do not allow this command to be used.",
|
||||
"SureUse.quit": "We will kick you and block you from entering this lobby again. This setting is irreversible. If you really want it, please send the command /qt {0}",
|
||||
"PlayerIdList": "List of player IDs: ",
|
||||
"turnOn": "On",
|
||||
"turnOff": "Off",
|
||||
@@ -4455,6 +4457,7 @@
|
||||
"PortalMaker": "Portal Maker",
|
||||
"PortalMakerInfo": "Make Portals & Teleport Between Them",
|
||||
"PortalMakerInfoLong": "(Crewmates):\\nAs the Portal Maker, you can place 2 permanent portals by petting. After placing both portals, if anyone goes near one of them, they will be teleported to the other portal. Portal usage has a 5 second cooldown.",
|
||||
"PortalMaker.PetToRemovePortals": "Can Pet To Remove Both Portals After Placing Them",
|
||||
"RiftMaker": "Rift Maker",
|
||||
"RiftMakerInfo": "Teleport between 2 places",
|
||||
"RiftMakerInfoLong": "(Impostors):\\nAs the Rift Maker, you may shapeshift twice/pet twice to mark two points on the ship. After you've marked both places, whenever you go near a marked place, you will automatically teleport to the other mark point.\\nVenting discards both marked places.\\n\\nYou cannot vent normally.",
|
||||
@@ -9247,6 +9250,15 @@
|
||||
"Telekinetic.Mode.Shield": "Shield",
|
||||
"Telekinetic.Mode.Speed": "Speed",
|
||||
"Telekinetic.Mode.Doors": "Doors",
|
||||
"Quarry": "Quarry",
|
||||
"QuarryInfo": "Hide From Players",
|
||||
"QuarryInfoLong": "(Neutrals):\\nAs the Quarry, you may shapeshift to select your target and swap places with them, they then have to kill you in a specified time or they die. If they find and kill you, they live. You can also kill normally using the kill button.\\nKill everyone to win!",
|
||||
"Quarry.TargetHasArrowToQuarry": "Target has an arrow to the <#c1fb2b>Quarry</color>",
|
||||
"Quarry.CanVentDuringSeekTime": "Can Vent During Seek Time",
|
||||
"Quarry.TargetDiesOnMeetingCall": "Target Dies on Meeting Call",
|
||||
"Quarry.SeekTime": "Seek Time",
|
||||
"Quarry.TargetSeekBeginNotify": "<#ff0000>You were swapped with the {0}! They have a black name!",
|
||||
"Quarry.TimeLeftSuffix": "<#ffff00>You have <#ffffff>{0}s</color> to kill the {1} <#ffa500>or you die!",
|
||||
"Nonplus": "Nonplus",
|
||||
"NonplusInfo": "Blind Others",
|
||||
"NonplusInfoLong": "(Neutrals):\\nAs the Nonplus, you can blind others by venting or petting. Blinded players can't see anything for a set amount of time.\\nKill everyone to win.",
|
||||
@@ -9516,6 +9528,14 @@
|
||||
"ImmuneToAttacksWhenTasksDone": "Immune to attacks on task completion",
|
||||
"TwisterCooldown": "Twist Cooldown",
|
||||
"TwisterButtonText": "Twist",
|
||||
"Accumulator": "Accumulator",
|
||||
"AccumulatorInfo": "Do Tasks For Low Kill Cooldown",
|
||||
"AccumulatorInfoLong": "(Neutrals):\\nAs the Accumulator, you start with a crewmate basis, and you can do tasks. Each task you complete lowers your kill cooldown (that you'll eventually have). You can pet or finish all tasks to turn into a killing neutral with the kill cooldown you accumulated.\\nKill everyone to win!",
|
||||
"Accumulator.KillCooldownDecrementWithEachTask": "Kill Cooldown Decrement With Each Task",
|
||||
"Accumulator.CanVentBeforeKilling": "Can Vent Before Killing",
|
||||
"Accumulator.CanVentAfterKilling": "Can Vent After Killing",
|
||||
"Accumulator.ImpostorVisionBeforeKilling": "Has Impostor Vision Before Killing",
|
||||
"Accumulator.ImpostorVisionAfterKilling": "Has Impostor Vision After Killing",
|
||||
"MainMenu.SettingsButton": "Settings",
|
||||
"MainMenu.InventoryButton": "Inventory",
|
||||
"MainMenu.CreditsButton": "Credits",
|
||||
@@ -10031,6 +10051,7 @@
|
||||
"AugurInfoLong": "(Coven):\\nYou can guess players' roles during meetings. You cannot gain the Necronomicon, similar to a Reaper.",
|
||||
"Augur.MaxGuessesPerMeeting": "Max number of guesses per meeting",
|
||||
"Augur.MaxGuessesPerGame": "Max number of guesses per game",
|
||||
"Augur.IncorrectGuess": "<#ff0000>Incorrect!</color> You can't guess in this meeting anymore.",
|
||||
"Dreamweaver": "Dreamweaver",
|
||||
"DreamweaverInfo": "Drive players insane with weaving",
|
||||
"DreamweaverInfoLong": "(Coven):\\nWeave a player; woven players will become insane after the next meeting. Once insane, when they go near someone, they will immediately use their ability if their cooldown is up. Upon your death, all insane players will be freed. When enhanced by the Necronomicon, insane players will suicide after making contact with another player.",
|
||||
@@ -10254,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "Next",
|
||||
"AutoGMRotationStatusText.GMPoll": "Player Vote (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "Jumping to the next game mode on the list in <b>{0}</b> seconds",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "Research",
|
||||
"SubmergedRoomName.129": "Observatory",
|
||||
"SubmergedRoomName.130": "Upper Central",
|
||||
|
||||
+26
-26
@@ -1199,7 +1199,7 @@
|
||||
"CommsCamouflageLimitMaxTimesPerGame": "每次游戏的最大小黑人时间",
|
||||
"CommsCamouflageLimitMaxTimesPerRound": "每轮最大小黑人时间",
|
||||
"CommsCamouflageSetSameSpeed": "所有玩家在隐蔽期间速度相同",
|
||||
"CommsCamouflagePreventRound1": "Don't Camouflage Round 1",
|
||||
"CommsCamouflagePreventRound1": "第一轮不要触发小黑人",
|
||||
"DisableReportWhenCC": "当伪装激活时,禁用尸体报告",
|
||||
"EnableDebugMode": "开启调试模式",
|
||||
"ChangeNameToRoleInfo": "刚开局用玩家名字显示职业简介",
|
||||
@@ -1845,7 +1845,7 @@
|
||||
"AmOblivious": "你是<color=#424242>胆小鬼</color>,所以你不能报告",
|
||||
"ShipHasNoMoreMeetingsLeft": "该船已不能召开紧急会议",
|
||||
"NoMoreEmergencyMeetingsLeft": "你已经没有更多的紧急会议次数",
|
||||
"QuarryTarget": "As the <#c1fb2b>Quarry</color>'s target, you cannot start meetings",
|
||||
"QuarryTarget": "作为<#c1fb2b>猎物</color>的目标,您不能开\n召开会议",
|
||||
"UnreportableBody": "该玩家由于特定职业的动作而被屏蔽",
|
||||
"CheckMurderFail": "<#ff0000>谋杀没有发生,原因如下所示:\\n</color>",
|
||||
"SameCTATeam": "你攻击同一阵营的队友干嘛?",
|
||||
@@ -3026,7 +3026,7 @@
|
||||
"DraftTitle": "<#00a5ff>➡</color> <#00ffa5>轮抽选角中</color> <#00a5ff>⬅</color>",
|
||||
"DraftChosen": "您选择了<b>{0}</b>职业.\\n<size=70%>再次输入 /draft [职业名称编号],更改选择</size>",
|
||||
"DraftMaxRolesPerPlayer": "每位玩家在轮抽选角期间可以选择的最大职业数量",
|
||||
"DraftAffectedByRoleSpawnChances": "Take Role Spawn Chances Into Account When Picking Draft Choices",
|
||||
"DraftAffectedByRoleSpawnChances": "轮选抽角时考虑职业的分配概率",
|
||||
"EveryoneDrafted": "<#00ffa5>✓</color> <#00ff00>所有人都选择了职业!</color>",
|
||||
"DeathCommand": "<#ffffff>你被</color>{0}<#ffffff>杀了\\n凶手的职业是:</color>{1}",
|
||||
"DeathCommandFail": "<#ff0000>游戏不知道谁击杀了你。</color>\\n你的死因是<#00ffa5>{0}</color>。",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "幽幽鬼影",
|
||||
"AbilityButtonText.Shapeshifter": "变形",
|
||||
"AbilityButtonText.Phantom": "消失",
|
||||
"KillButtonText.Viper": "腐蚀",
|
||||
"AbilityButtonText.Viper": "酸液",
|
||||
"AbilityButtonText.Detective": "笔记",
|
||||
"SecondaryAbilityButtonText.Detective": "审问",
|
||||
"GauloisKillButtonText": "速度提升",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "不可以在游戏中查看游戏结果",
|
||||
"IllegalColor": "请输入正确的颜色",
|
||||
"DisableUseCommand": "房主设置不允许使用该指令",
|
||||
"SureUse.quit": "我们将踢出您并封禁您以防止您再次遇到这个糟糕的房间,此操作不可逆转,如果您真的希望如此请发送 /qt {0}",
|
||||
"PlayerIdList": "玩家编号列表: ",
|
||||
"turnOn": "开",
|
||||
"turnOff": "关闭",
|
||||
@@ -4458,7 +4457,7 @@
|
||||
"PortalMaker": "星门制造者",
|
||||
"PortalMakerInfo": "放置传送门并传送",
|
||||
"PortalMakerInfoLong": "(船员职业):\\n星门制造者可以使用宠物放下2个传送门。此后,靠近传送门的玩家会被立刻传送到地图上的另一个传送门。使用传送门有5s冷却。",
|
||||
"PortalMaker.PetToRemovePortals": "Can Pet To Remove Both Portals After Placing Them",
|
||||
"PortalMaker.PetToRemovePortals": "摸宠物移除先前放置的两个传送门",
|
||||
"RiftMaker": "穿梭者",
|
||||
"RiftMakerInfo": "来去自如",
|
||||
"RiftMakerInfoLong": "(内鬼职业):\\n穿梭者可以通过变形/抚摸宠物来制造裂缝。穿梭者可以通过触摸裂缝所在的区域,从一个裂缝传送到另一个裂缝。穿梭者无法进入通风管道,尝试进入会将所有裂缝销毁。",
|
||||
@@ -4977,7 +4976,7 @@
|
||||
"FFA_ShieldIsOneTimeUse": "护盾在尝试 1 次击杀后破裂",
|
||||
"FFA_ShieldBroken": "<color=#ffff00>有人想击杀你,你的盾牌现在坏了!</color>",
|
||||
"FFA_ChatDuringGame": "游戏中聊天",
|
||||
"FFAChatMessageNotify": "[Chat] {0}: <#ffffff>{1}",
|
||||
"FFAChatMessageNotify": "[聊天] {0}:<#ffffff>{1}",
|
||||
"Killer": "自由对战",
|
||||
"KillerInfo": "击杀所有人,获得胜利!",
|
||||
"KillerInfoLong": "击杀所有人,获得胜利!",
|
||||
@@ -9251,15 +9250,15 @@
|
||||
"Telekinetic.Mode.Shield": "盾牌",
|
||||
"Telekinetic.Mode.Speed": "速跑",
|
||||
"Telekinetic.Mode.Doors": "芝麻开门",
|
||||
"Quarry": "Quarry",
|
||||
"QuarryInfo": "Hide From Players",
|
||||
"QuarryInfoLong": "(Neutrals):\\nAs the Quarry, you may shapeshift to select your target and swap places with them, they then have to kill you in a specified time or they die. If they find and kill you, they live. You can also kill normally using the kill button.\\nKill everyone to win!",
|
||||
"Quarry.TargetHasArrowToQuarry": "Target has an arrow to the <#c1fb2b>Quarry</color>",
|
||||
"Quarry.CanVentDuringSeekTime": "Can Vent During Seek Time",
|
||||
"Quarry.TargetDiesOnMeetingCall": "Target Dies on Meeting Call",
|
||||
"Quarry.SeekTime": "Seek Time",
|
||||
"Quarry.TargetSeekBeginNotify": "<#ff0000>You were swapped with the {0}! They have a black name!",
|
||||
"Quarry.TimeLeftSuffix": "<#ffff00>You have <#ffffff>{0}s</color> to kill the {1} <#ffa500>or you die!",
|
||||
"Quarry": "猎物",
|
||||
"QuarryInfo": "在玩家中隐藏",
|
||||
"QuarryInfoLong": "(中立阵营):\\n作为猎物,你可以透过变形选择目标然后交换位置,他们必须在指定时间内杀死你,否则就会死亡。反之他们顺利击杀你,那他们不会死亡,你也可以使用击杀按键正常击杀\\n杀死所有人获胜",
|
||||
"Quarry.TargetHasArrowToQuarry": "目标有个指向<#c1fb2b>猎物</color>的箭头",
|
||||
"Quarry.CanVentDuringSeekTime": "可以在寻找时间内使用通风管道",
|
||||
"Quarry.TargetDiesOnMeetingCall": "目标在会议中死亡",
|
||||
"Quarry.SeekTime": "寻找时间",
|
||||
"Quarry.TargetSeekBeginNotify": "<#ff0000>你跟{0}!交换了位置!\n他的名字是黑色的!",
|
||||
"Quarry.TimeLeftSuffix": "<#ffff00>你有<#ffffff>{0}s</color>去击杀{1} <#ffa500>否则你会死亡!",
|
||||
"Nonplus": "老闭灯",
|
||||
"NonplusInfo": "让玩家致盲",
|
||||
"NonplusInfoLong": "(中立职业):\\n老闭灯可以通过进入通风口/抚摸宠物来让他人致盲。致盲的玩家在一定时间内看不到任何东西。",
|
||||
@@ -9529,14 +9528,14 @@
|
||||
"ImmuneToAttacksWhenTasksDone": "完成任务后免疫击杀",
|
||||
"TwisterCooldown": "交换位置冷却",
|
||||
"TwisterButtonText": "交换",
|
||||
"Accumulator": "Accumulator",
|
||||
"AccumulatorInfo": "Do Tasks For Low Kill Cooldown",
|
||||
"AccumulatorInfoLong": "(Neutrals):\\nAs the Accumulator, you start with a crewmate basis, and you can do tasks. Each task you complete lowers your kill cooldown (that you'll eventually have). You can pet or finish all tasks to turn into a killing neutral with the kill cooldown you accumulated.\\nKill everyone to win!",
|
||||
"Accumulator.KillCooldownDecrementWithEachTask": "Kill Cooldown Decrement With Each Task",
|
||||
"Accumulator.CanVentBeforeKilling": "Can Vent Before Killing",
|
||||
"Accumulator.CanVentAfterKilling": "Can Vent After Killing",
|
||||
"Accumulator.ImpostorVisionBeforeKilling": "Has Impostor Vision Before Killing",
|
||||
"Accumulator.ImpostorVisionAfterKilling": "Has Impostor Vision After Killing",
|
||||
"Accumulator": "蓄电池",
|
||||
"AccumulatorInfo": "完成任务降低击杀冷却",
|
||||
"AccumulatorInfoLong": "(中立职业)\\n蓄电池一开始会显示为船员,并且可以完成任务。你每完成一个任务都会降低你的击杀冷却时间(永久)。你可以摸宠物或完成所有任务变为带刀中立。\\n杀死所有人获胜。",
|
||||
"Accumulator.KillCooldownDecrementWithEachTask": "完成一个任务降低的冷却",
|
||||
"Accumulator.CanVentBeforeKilling": "进行过击杀前可以使用通风管道",
|
||||
"Accumulator.CanVentAfterKilling": "进行过击杀后可以使用通风管道",
|
||||
"Accumulator.ImpostorVisionBeforeKilling": "进行过击杀前拥有内鬼的视野",
|
||||
"Accumulator.ImpostorVisionAfterKilling": "进行过击杀后拥有内鬼的视野",
|
||||
"MainMenu.SettingsButton": "设置",
|
||||
"MainMenu.InventoryButton": "仓库",
|
||||
"MainMenu.CreditsButton": "制作人员",
|
||||
@@ -10049,10 +10048,10 @@
|
||||
"Goddess.Suffix": "<{1}>石头窥视中</color> <#888888>-</color> <b>{0}</b>",
|
||||
"Augur": "巫婆",
|
||||
"AugurInfo": "猜测职业",
|
||||
"AugurInfoLong": "(Coven):\\nYou can guess players' roles during meetings. If you misguess, you don't die, but you can't guess again until the next meeting. You cannot gain the Necronomicon, similar to a Reaper.",
|
||||
"AugurInfoLong": "(巫师阵营):\\n你可以在会议期间猜测其他玩家的职业。,如果你的猜测错误,你也不会死亡,但是你无法再在这次会议进行猜测。你不能获得亡灵魔法,类似于收割者",
|
||||
"Augur.MaxGuessesPerMeeting": "每次会议的最大猜测数",
|
||||
"Augur.MaxGuessesPerGame": "每次游戏的最大猜测数",
|
||||
"Augur.IncorrectGuess": "<#ff0000>Incorrect!</color> You can't guess in this meeting anymore.",
|
||||
"Augur.IncorrectGuess": "<#ff0000>你猜错了!</color>你无法再在这轮会议进行猜测",
|
||||
"Dreamweaver": "造梦者",
|
||||
"DreamweaverInfo": "用编织把玩家疯狂地赶跑。",
|
||||
"DreamweaverInfoLong": "(巫师阵营):\\n造梦者可以编织一名玩家;被编织的玩家在下次会议后会变得疯狂。一旦发疯,当他们靠近某人时,如果他们的技能冷却时间结束,他们会立即使用他们的技能。在造梦者死亡后,所有疯狂的玩家都将被释放。当被亡灵魔法增强时,疯狂的玩家会在与其他玩家接触后自杀。",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "下一个",
|
||||
"AutoGMRotationStatusText.GMPoll": "玩家投票 (/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "在 <b>{0}</b> 秒内跳转到列表中的下一个游戏模式",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "研究室",
|
||||
"SubmergedRoomName.129": "瞭望台",
|
||||
"SubmergedRoomName.130": "上层中心",
|
||||
|
||||
+26
-26
@@ -1199,7 +1199,7 @@
|
||||
"CommsCamouflageLimitMaxTimesPerGame": "每局遊戲最大隱蔽次數",
|
||||
"CommsCamouflageLimitMaxTimesPerRound": "每回合最大隱蔽次數",
|
||||
"CommsCamouflageSetSameSpeed": "偽裝狀態下所有玩家速度相同",
|
||||
"CommsCamouflagePreventRound1": "Don't Camouflage Round 1",
|
||||
"CommsCamouflagePreventRound1": "第一輪不會偽裝",
|
||||
"DisableReportWhenCC": "小灰人時禁止報告屍體",
|
||||
"EnableDebugMode": "開啟偵錯模式",
|
||||
"ChangeNameToRoleInfo": "開始遊戲時用玩家名字顯示職業簡介",
|
||||
@@ -1845,7 +1845,7 @@
|
||||
"AmOblivious": "你是<color=#424242>膽小鬼</color>,所以你不能報告屍體",
|
||||
"ShipHasNoMoreMeetingsLeft": "船上已沒有剩餘的緊急會議",
|
||||
"NoMoreEmergencyMeetingsLeft": "船上已沒有剩餘的緊急會議次數",
|
||||
"QuarryTarget": "As the <#c1fb2b>Quarry</color>'s target, you cannot start meetings",
|
||||
"QuarryTarget": "作為<#c1fb2b>獵物</color>的目標,你不能召開會議",
|
||||
"UnreportableBody": "該屍體因特定職業的技能而受到無法報告",
|
||||
"CheckMurderFail": "<#ff0000>謀殺被取消,原因為:\\n</color>",
|
||||
"SameCTATeam": "你攻擊的玩家與你屬於同一個自定義陣營",
|
||||
@@ -3026,7 +3026,7 @@
|
||||
"DraftTitle": "<#00a5ff>➡</color> <#00ffa5>草稿模式</color> <#00a5ff>⬅</color>",
|
||||
"DraftChosen": "你為下一局遊戲選擇了 <b>{0}</b> 職業\\n<size=70%>你可以再次輸入 /draft [index] 來更改你的選擇</size>",
|
||||
"DraftMaxRolesPerPlayer": "每位玩家在輪流抽角期間可以選擇的最大職業數量",
|
||||
"DraftAffectedByRoleSpawnChances": "Take Role Spawn Chances Into Account When Picking Draft Choices",
|
||||
"DraftAffectedByRoleSpawnChances": "在選擇職業時,考慮職業刷新幾率",
|
||||
"EveryoneDrafted": "<#00ffa5>✓</color> <#00ff00>所有人都選擇了職業!</color>",
|
||||
"DeathCommand": "<#ffffff>殺害你的人是 </color>{0}<#ffffff>\\n他們的職業是 </color>{1}",
|
||||
"DeathCommandFail": "<#ff0000>遊戲不知道誰擊殺了您。</color>\\n您的死因是<#00ffa5>{0}</color>。",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"AbilityButtonText.Impostor": "作祟",
|
||||
"AbilityButtonText.Shapeshifter": "變形",
|
||||
"AbilityButtonText.Phantom": "隱形",
|
||||
"KillButtonText.Viper": "酸液",
|
||||
"AbilityButtonText.Viper": "酸液",
|
||||
"AbilityButtonText.Detective": "筆記",
|
||||
"SecondaryAbilityButtonText.Detective": "審問",
|
||||
"GauloisKillButtonText": "加速",
|
||||
@@ -3307,7 +3307,6 @@
|
||||
"CantUse.lastresult": "不可以在遊戲中查看遊戲結果",
|
||||
"IllegalColor": "請輸入正確的顏色",
|
||||
"DisableUseCommand": "房主設定不允許使用該指令",
|
||||
"SureUse.quit": "我們將踢出並封禁您以防止您再次遇到這個糟糕的房間,此操作為不可逆,如果您真的希望如此請傳送 /qt {0}",
|
||||
"PlayerIdList": "玩家編號列表: ",
|
||||
"turnOn": "開",
|
||||
"turnOff": "關",
|
||||
@@ -4458,7 +4457,7 @@
|
||||
"PortalMaker": "星門製造者",
|
||||
"PortalMakerInfo": "放置傳送門並傳送",
|
||||
"PortalMakerInfoLong": "(船員):\\n作為星門製造者,你可以透過摸寵物放置兩個永久傳送門。放置兩個傳送門後,如果有人靠近其中一個,就會被傳送到另一個傳送門。傳送門的使用有5秒的冷卻時間。",
|
||||
"PortalMaker.PetToRemovePortals": "Can Pet To Remove Both Portals After Placing Them",
|
||||
"PortalMaker.PetToRemovePortals": "摸寵物能移除原先安裝的兩個傳送門",
|
||||
"RiftMaker": "裂隙師",
|
||||
"RiftMakerInfo": "扭轉空間!",
|
||||
"RiftMakerInfoLong": "(偽裝者陣營):\\n裂隙師可以通過變形/寵物來製造空間裂縫,只要在製造兩條空間裂縫後到達某一個裂縫處,便可以傳送至另一個空間裂縫。\\n裂隙師可以使用管道來刪除所有的裂縫。\\n\\n請注意: 裂隙師不能正常的使用管道。",
|
||||
@@ -4977,7 +4976,7 @@
|
||||
"FFA_ShieldIsOneTimeUse": "護盾抵擋攻擊後會被消耗",
|
||||
"FFA_ShieldBroken": "<color=#ffff00>有人嘗試攻擊你,所以你的護盾失效了!</color>",
|
||||
"FFA_ChatDuringGame": "可以在遊戲中使用聊天",
|
||||
"FFAChatMessageNotify": "[Chat] {0}: <#ffffff>{1}",
|
||||
"FFAChatMessageNotify": "[聊天] {0}: <#ffffff>{1}",
|
||||
"Killer": "自由對戰模式",
|
||||
"KillerInfo": "殺死所有人取勝",
|
||||
"KillerInfoLong": "殺死所有人取勝",
|
||||
@@ -9251,15 +9250,15 @@
|
||||
"Telekinetic.Mode.Shield": "盾牌",
|
||||
"Telekinetic.Mode.Speed": "加速",
|
||||
"Telekinetic.Mode.Doors": "開門",
|
||||
"Quarry": "Quarry",
|
||||
"QuarryInfo": "Hide From Players",
|
||||
"QuarryInfoLong": "(Neutrals):\\nAs the Quarry, you may shapeshift to select your target and swap places with them, they then have to kill you in a specified time or they die. If they find and kill you, they live. You can also kill normally using the kill button.\\nKill everyone to win!",
|
||||
"Quarry.TargetHasArrowToQuarry": "Target has an arrow to the <#c1fb2b>Quarry</color>",
|
||||
"Quarry.CanVentDuringSeekTime": "Can Vent During Seek Time",
|
||||
"Quarry.TargetDiesOnMeetingCall": "Target Dies on Meeting Call",
|
||||
"Quarry.SeekTime": "Seek Time",
|
||||
"Quarry.TargetSeekBeginNotify": "<#ff0000>You were swapped with the {0}! They have a black name!",
|
||||
"Quarry.TimeLeftSuffix": "<#ffff00>You have <#ffffff>{0}s</color> to kill the {1} <#ffa500>or you die!",
|
||||
"Quarry": "獵物",
|
||||
"QuarryInfo": "在玩家中隱藏",
|
||||
"QuarryInfoLong": "(中立陣營):\\n作為獵物,你可以變形來選擇目標並與之交換位置。目標必須在指定時間內殺死你,否則就會死亡。如果他們找到並殺死你,他們就能活下來。你也可以使用擊殺按鈕進行正常擊殺。 \\n殺光所有人即可獲勝!",
|
||||
"Quarry.TargetHasArrowToQuarry": "目標擁有一個指向<#c1fb2b>獵物</color>的箭頭",
|
||||
"Quarry.CanVentDuringSeekTime": "尋找期間可以使用管道",
|
||||
"Quarry.TargetDiesOnMeetingCall": "目標在會議中死亡",
|
||||
"Quarry.SeekTime": "尋找時間",
|
||||
"Quarry.TargetSeekBeginNotify": "<#ff0000>你跟{0}交換了位置!他們名字變成黑色的!",
|
||||
"Quarry.TimeLeftSuffix": "<#ffff00>你有<#ffffff>{0}秒</color>來殺死{1} <#ffa500>否則你就死!",
|
||||
"Nonplus": "迷惑者",
|
||||
"NonplusInfo": "致盲玩家",
|
||||
"NonplusInfoLong": "(中立陣營):\\n迷惑者可以使用通風口或撫摸寵物來讓其他人致盲,被致盲的玩家將在一段時間內看不到任何東西。\\n擊殺所有人獲勝",
|
||||
@@ -9529,14 +9528,14 @@
|
||||
"ImmuneToAttacksWhenTasksDone": "完成任務後免疫擊殺",
|
||||
"TwisterCooldown": "躁動冷卻時間",
|
||||
"TwisterButtonText": "躁動",
|
||||
"Accumulator": "Accumulator",
|
||||
"AccumulatorInfo": "Do Tasks For Low Kill Cooldown",
|
||||
"AccumulatorInfoLong": "(Neutrals):\\nAs the Accumulator, you start with a crewmate basis, and you can do tasks. Each task you complete lowers your kill cooldown (that you'll eventually have). You can pet or finish all tasks to turn into a killing neutral with the kill cooldown you accumulated.\\nKill everyone to win!",
|
||||
"Accumulator.KillCooldownDecrementWithEachTask": "Kill Cooldown Decrement With Each Task",
|
||||
"Accumulator.CanVentBeforeKilling": "Can Vent Before Killing",
|
||||
"Accumulator.CanVentAfterKilling": "Can Vent After Killing",
|
||||
"Accumulator.ImpostorVisionBeforeKilling": "Has Impostor Vision Before Killing",
|
||||
"Accumulator.ImpostorVisionAfterKilling": "Has Impostor Vision After Killing",
|
||||
"Accumulator": "蓄電池",
|
||||
"AccumulatorInfo": "完成任務降低冷卻",
|
||||
"AccumulatorInfoLong": "(中立陣營):\\n作為蓄電池,你一開始會以船員的身份出現,並且可以完成任務。你完成的每個任務都會降低你的擊殺冷卻時間(最終你會擁有冷卻時間)。你可以撫摸寵物或完成所有任務,從而利用你累積的擊殺冷卻時間轉變為擊殺型中立職業。 \\n殺光所有人即可獲勝!",
|
||||
"Accumulator.KillCooldownDecrementWithEachTask": "每次完成任務都會減少擊殺冷卻時間",
|
||||
"Accumulator.CanVentBeforeKilling": "擊殺前可以跳管",
|
||||
"Accumulator.CanVentAfterKilling": "擊殺後可以跳管",
|
||||
"Accumulator.ImpostorVisionBeforeKilling": "擊殺前擁有偽裝者視野",
|
||||
"Accumulator.ImpostorVisionAfterKilling": "擊殺後擁有偽裝者視野",
|
||||
"MainMenu.SettingsButton": "設定",
|
||||
"MainMenu.InventoryButton": "物品庫",
|
||||
"MainMenu.CreditsButton": "製作人員",
|
||||
@@ -10049,10 +10048,10 @@
|
||||
"Goddess.Suffix": "<{1}>石頭凝視</color> <#888888>-</color> <b>{0}</b>",
|
||||
"Augur": "巫婆",
|
||||
"AugurInfo": "猜測身分",
|
||||
"AugurInfoLong": "(Coven):\\nYou can guess players' roles during meetings. If you misguess, you don't die, but you can't guess again until the next meeting. You cannot gain the Necronomicon, similar to a Reaper.",
|
||||
"AugurInfoLong": "(巫師陣營):\\n在會議期間,你可以猜測其他玩家的職業。如果猜錯了,你不會死,但直到下次會議之前都不能再次猜測。你無法獲得死靈之書,就像死神一樣。",
|
||||
"Augur.MaxGuessesPerMeeting": "每個會議最多猜測次數",
|
||||
"Augur.MaxGuessesPerGame": "每場遊戲最多猜測次數",
|
||||
"Augur.IncorrectGuess": "<#ff0000>Incorrect!</color> You can't guess in this meeting anymore.",
|
||||
"Augur.IncorrectGuess": "<#ff0000>錯誤! </color> 這輪會議你不能再進行猜測。",
|
||||
"Dreamweaver": "織夢者",
|
||||
"DreamweaverInfo": "用編織讓玩家瘋狂",
|
||||
"DreamweaverInfoLong": "(巫師陣營):\\n編織一名玩家;被編織的玩家在下次會面後會陷入瘋狂。一旦陷入瘋狂,當他們靠近某人時,如果技能冷卻時間已到,就會立即使用。你死亡後,所有陷入瘋狂的玩家將被釋放。在《死靈之書》的強化下,陷入瘋狂的玩家在與其他玩家接觸後會自殺。",
|
||||
@@ -10276,6 +10275,7 @@
|
||||
"AutoGMRotationStatusText.NextGM": "下一個",
|
||||
"AutoGMRotationStatusText.GMPoll": "玩家投票(/gmpoll)",
|
||||
"AutoGMRotationStatusText.CooldownTimer": "將在 <b>{0}</b> 秒內跳到清單中的下一個遊戲模式",
|
||||
"HostMayOmitCmdPrefix": "'cmd' prefix\\ncan be omitted",
|
||||
"SubmergedRoomName.128": "研究所",
|
||||
"SubmergedRoomName.129": "瞭望台",
|
||||
"SubmergedRoomName.130": "上層中心",
|
||||
|
||||
@@ -44,40 +44,37 @@ internal class Bodyguard : RoleBase
|
||||
|
||||
public static bool OnAnyoneCheckMurder(PlayerControl killer, PlayerControl target)
|
||||
{
|
||||
if (killer.IsCrewmate()) return true;
|
||||
if (killer.IsCrewmate() || killer.PlayerId == target.PlayerId || killer.Is(CustomRoles.Bodyguard)) return true;
|
||||
|
||||
if (killer.PlayerId != target.PlayerId)
|
||||
foreach (Bodyguard bodyguard in Instances)
|
||||
{
|
||||
foreach (Bodyguard bodyguard in Instances)
|
||||
try
|
||||
{
|
||||
try
|
||||
if (bodyguard.BodyguardPC == null || bodyguard.BodyguardPC.PlayerId == target.PlayerId) continue;
|
||||
|
||||
float dis = Vector2.Distance(bodyguard.BodyguardPC.Pos(), target.Pos());
|
||||
if (dis > BodyguardProtectRadius.GetFloat()) return true;
|
||||
|
||||
if (bodyguard.BodyguardPC.IsMadmate() && killer.Is(Team.Impostor))
|
||||
{
|
||||
if (bodyguard.BodyguardPC == null || bodyguard.BodyguardPC.PlayerId == target.PlayerId) continue;
|
||||
|
||||
float dis = Vector2.Distance(bodyguard.BodyguardPC.Pos(), target.Pos());
|
||||
if (dis > BodyguardProtectRadius.GetFloat()) return true;
|
||||
|
||||
if (bodyguard.BodyguardPC.IsMadmate() && killer.Is(Team.Impostor))
|
||||
{
|
||||
Logger.Info($"{bodyguard.BodyguardPC.GetRealName()} is a madmate, so they chose to ignore the murder scene", "Bodyguard");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (BodyguardKillsKiller.GetBool() && bodyguard.BodyguardPC.RpcCheckAndMurder(killer, true))
|
||||
bodyguard.BodyguardPC.Kill(killer);
|
||||
else
|
||||
killer.SetKillCooldown();
|
||||
|
||||
bodyguard.BodyguardPC.Suicide(PlayerState.DeathReason.Sacrifice, killer);
|
||||
Logger.Info($"{bodyguard.BodyguardPC.GetRealName()} stood up and died for {target.GetRealName()}", "Bodyguard");
|
||||
|
||||
if (bodyguard.BodyguardPC.AmOwner && target.Is(CustomRoles.President))
|
||||
Achievements.Type.GetDownMrPresident.Complete();
|
||||
|
||||
return false;
|
||||
Logger.Info($"{bodyguard.BodyguardPC.GetRealName()} is a madmate, so they chose to ignore the murder scene", "Bodyguard");
|
||||
continue;
|
||||
}
|
||||
catch (Exception e) { Utils.ThrowException(e); }
|
||||
|
||||
if (BodyguardKillsKiller.GetBool() && bodyguard.BodyguardPC.RpcCheckAndMurder(killer, true))
|
||||
bodyguard.BodyguardPC.Kill(killer);
|
||||
else
|
||||
killer.SetKillCooldown();
|
||||
|
||||
bodyguard.BodyguardPC.Suicide(PlayerState.DeathReason.Sacrifice, killer);
|
||||
Logger.Info($"{bodyguard.BodyguardPC.GetRealName()} stood up and died for {target.GetRealName()}", "Bodyguard");
|
||||
|
||||
if (bodyguard.BodyguardPC.AmOwner && target.Is(CustomRoles.President))
|
||||
Achievements.Type.GetDownMrPresident.Complete();
|
||||
|
||||
return false;
|
||||
}
|
||||
catch (Exception e) { Utils.ThrowException(e); }
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -90,20 +90,12 @@ public class Accumulator : RoleBase
|
||||
{
|
||||
if (Killing) return;
|
||||
Killing = true;
|
||||
pc.RpcSetRoleDesync(RoleTypes.Impostor, pc.OwnerId, setRoleMap: true);
|
||||
pc.RpcChangeRoleBasis(CustomRoles.SerialKiller);
|
||||
LateTask.New(() => pc.SetKillCooldown(KCD), 0.2f);
|
||||
Utils.SendRPC(CustomRPC.SyncRoleData, pc.PlayerId, KCD, Killing);
|
||||
Utils.NotifyRoles(SpecifySeer: pc, SpecifyTarget: pc);
|
||||
}
|
||||
|
||||
public override void AfterMeetingTasks()
|
||||
{
|
||||
if (!Killing) return;
|
||||
PlayerControl pc = AccumulatorId.GetPlayer();
|
||||
if (pc == null || !pc.IsAlive()) return;
|
||||
pc.RpcSetRoleDesync(RoleTypes.Impostor, pc.OwnerId, setRoleMap: true);
|
||||
}
|
||||
|
||||
public void ReceiveRPC(MessageReader reader)
|
||||
{
|
||||
KCD = reader.ReadSingle();
|
||||
|
||||
@@ -28,6 +28,7 @@ public class Quarry : RoleBase
|
||||
|
||||
private byte QuarryId;
|
||||
public byte TargetId;
|
||||
private float TargetKCD;
|
||||
private Stopwatch SeekTimer;
|
||||
private long LastUpdate;
|
||||
|
||||
@@ -58,6 +59,7 @@ public class Quarry : RoleBase
|
||||
On = true;
|
||||
QuarryId = playerId;
|
||||
TargetId = byte.MaxValue;
|
||||
TargetKCD = 0f;
|
||||
SeekTimer = new();
|
||||
LastUpdate = 0;
|
||||
Instances.Add(this);
|
||||
@@ -113,6 +115,7 @@ public class Quarry : RoleBase
|
||||
|
||||
TargetId = target.PlayerId;
|
||||
SeekTimer = Stopwatch.StartNew();
|
||||
TargetKCD = Main.KillTimers[TargetId];
|
||||
Utils.SendRPC(CustomRPC.SyncRoleData, QuarryId, 1, TargetId);
|
||||
Main.Instance.StartCoroutine(ContinuouslyResetAbilityCooldown());
|
||||
if (TargetHasArrowToQuarry.GetBool()) TargetArrow.Add(target.PlayerId, shapeshifter.PlayerId);
|
||||
@@ -122,6 +125,7 @@ public class Quarry : RoleBase
|
||||
hasValue |= sender.Notify(target, string.Format(Translator.GetString("Quarry.TargetSeekBeginNotify"), CustomRoles.Quarry.ToColoredString()));
|
||||
hasValue |= sender.RpcSetRole(target, RoleTypes.Impostor, target.OwnerId);
|
||||
hasValue |= sender.RpcSetRole(shapeshifter, RoleTypes.Crewmate, target.OwnerId);
|
||||
hasValue |= sender.SetKillCooldown(target, 0.01f);
|
||||
hasValue |= sender.NotifyRolesSpecific(target, shapeshifter, out sender, out bool cleared);
|
||||
if (cleared) hasValue = false;
|
||||
sender.SendMessage(dispose: !hasValue);
|
||||
@@ -184,8 +188,10 @@ public class Quarry : RoleBase
|
||||
{
|
||||
killer.Kill(target);
|
||||
killer.RpcSetRoleDesync(killer.GetRoleTypes(), killer.OwnerId);
|
||||
killer.SetKillCooldown(instance.TargetKCD);
|
||||
instance.QuarryId.GetPlayer()?.RpcResetAbilityCooldown();
|
||||
instance.TargetId = byte.MaxValue;
|
||||
instance.TargetKCD = 0f;
|
||||
instance.SeekTimer.Reset();
|
||||
Utils.SendRPC(CustomRPC.SyncRoleData, instance.QuarryId, 2);
|
||||
return true;
|
||||
|
||||
Reference in new issue
Block a user