Improve illiterate text and FOV handling
This commit is contained in:
parent
cc32a11404
commit
ada2f4ff7b
36 changed files with 799 additions and 123 deletions
|
|
@ -25,14 +25,14 @@ namespace src.utils
|
|||
if (targetresult.Players.Count == 0)
|
||||
{
|
||||
if (!ignoreMessage && command.CallingPlayer != null)
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslation("no_player"));
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslationWithoutIlliterate("no_player"));
|
||||
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
else if (singletarget && targetresult.Players.Count > 1)
|
||||
{
|
||||
if (command.CallingPlayer != null)
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslation("duplicate_player"));
|
||||
command.ReplyToCommand(command.CallingPlayer.GetTranslationWithoutIlliterate("duplicate_player"));
|
||||
return (new List<CCSPlayerController>(), string.Empty);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ namespace src.utils
|
|||
}
|
||||
|
||||
var value = Math.Round((double)(chance ?? 1), 2);
|
||||
var skillNameText = GetTranslation(SkillKey(skill), langCode, player, value);
|
||||
var skillNameText = GetTranslation(SkillKey(skill), langCode, player, true, value);
|
||||
if (skillNameText.Contains('%')) skillNameText = skillNameText.Replace(value.ToString(), Math.Round(value * 100, 0).ToString());
|
||||
return skillNameText;
|
||||
}
|
||||
|
|
@ -173,7 +173,7 @@ namespace src.utils
|
|||
|
||||
var skillName = SkillDesc2Key(skill);
|
||||
var value = Math.Round((double)(chance ?? 1), 2);
|
||||
var desc2 = GetTranslation(skillName, langCode, player, value);
|
||||
var desc2 = GetTranslation(skillName, langCode, player, true, value);
|
||||
|
||||
var skilLDescription = desc2 == skillName
|
||||
? player.GetTranslation(SkillDescKey(skill))
|
||||
|
|
@ -181,7 +181,7 @@ namespace src.utils
|
|||
return skilLDescription;
|
||||
}
|
||||
|
||||
public static void PrintTranslationToChatAll(string message, string[]? key, params object[][]? args)
|
||||
public static void PrintTranslationToChatAll(string message, string[]? key, bool useIlliterate = true, params object[][]? args)
|
||||
{
|
||||
foreach (var player in Utilities.GetPlayers().Where(p => !p.IsBot))
|
||||
{
|
||||
|
|
@ -196,7 +196,7 @@ namespace src.utils
|
|||
for (int i = 0; i < key.Length; i++)
|
||||
{
|
||||
object[] currentArgs = args != null && i < args.Length ? args[i] : [];
|
||||
string translation = GetTranslation(key[i], langCode, null, currentArgs);
|
||||
string translation = GetTranslation(key[i], langCode, null, useIlliterate, currentArgs);
|
||||
translations.Add(translation);
|
||||
}
|
||||
player.PrintToChat(string.Format(message, [.. translations]));
|
||||
|
|
@ -206,10 +206,21 @@ namespace src.utils
|
|||
public static string GetTranslation(this CCSPlayerController player, string key, params object[] args)
|
||||
{
|
||||
string langCode = GetLangCode(player);
|
||||
return GetTranslation(key, langCode, player, args);
|
||||
return GetTranslation(key, langCode, player, true, args);
|
||||
}
|
||||
|
||||
public static string GetTranslation(string key, string? langCode = null, CCSPlayerController? player = null, params object[] args)
|
||||
public static string GetTranslationWithoutIlliterate(this CCSPlayerController player, string key, params object[] args)
|
||||
{
|
||||
string langCode = GetLangCode(player);
|
||||
return GetTranslation(key, langCode, player, false, args);
|
||||
}
|
||||
|
||||
public static string GetTranslationWithoutIlliterate(string key)
|
||||
{
|
||||
return GetTranslation(key, null, null, false);
|
||||
}
|
||||
|
||||
public static string GetTranslation(string key, string? langCode = null, CCSPlayerController? player = null, bool useIlliterate = true, params object[] args)
|
||||
{
|
||||
langCode ??= defaultLangCode;
|
||||
if (_translations.TryGetValue(langCode, out var langDict) && langDict.TryGetValue(key, out var translation))
|
||||
|
|
@ -219,13 +230,13 @@ namespace src.utils
|
|||
{
|
||||
string output = args.Length == 0 ? translation : string.Format(translation, args);
|
||||
|
||||
if (Illiterate.CheckIlliterateSkill(player))
|
||||
if (useIlliterate && Illiterate.CheckIlliterateSkill(player))
|
||||
return Illiterate.GetRandomText(output)!;
|
||||
return output;
|
||||
}
|
||||
|
||||
if (langCode != defaultLangCode)
|
||||
return GetTranslation(key, null, player, args);
|
||||
return GetTranslation(key, null, player, useIlliterate, args);
|
||||
return key;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -878,7 +878,7 @@ namespace src.utils
|
|||
if (manager == null) return;
|
||||
|
||||
var config = Config.LoadedConfig.HtmlHudCustomisation;
|
||||
var your_skill = player.GetTranslation("your_skill");
|
||||
var your_skill = player.GetTranslationWithoutIlliterate("your_skill");
|
||||
var emptySymbol = $"<font class='fontSize-{(string.IsNullOrEmpty(your_skill) ? "l" : "ml")}'> </font>";
|
||||
|
||||
string infoLine = string.IsNullOrEmpty(your_skill)
|
||||
|
|
@ -897,9 +897,9 @@ namespace src.utils
|
|||
var hudContent = infoLine + skillLine + remainingLine;
|
||||
|
||||
string controllsLine =
|
||||
$"{emptySymbol}<font class='fontSize-{config.WSADMenuControllsLineSize}' color='{config.WSADMenuControllsLineColor1}'>{player.GetTranslation($"menu_controlls_scroll")}</font>"
|
||||
+ $"<font class='fontSize-{config.WSADMenuControllsLineSize}' color='{config.WSADMenuControllsLineColor2}'>{player.GetTranslation($"menu_controlls_padding")}</font>"
|
||||
+ $"<font class='fontSize-{config.WSADMenuControllsLineSize}' color='{config.WSADMenuControllsLineColor3}'>{player.GetTranslation($"menu_controlls_select")}</font>{emptySymbol}";
|
||||
$"{emptySymbol}<font class='fontSize-{config.WSADMenuControllsLineSize}' color='{config.WSADMenuControllsLineColor1}'>{player.GetTranslationWithoutIlliterate($"menu_controlls_scroll")}</font>"
|
||||
+ $"<font class='fontSize-{config.WSADMenuControllsLineSize}' color='{config.WSADMenuControllsLineColor2}'>{player.GetTranslationWithoutIlliterate($"menu_controlls_padding")}</font>"
|
||||
+ $"<font class='fontSize-{config.WSADMenuControllsLineSize}' color='{config.WSADMenuControllsLineColor3}'>{player.GetTranslationWithoutIlliterate($"menu_controlls_select")}</font>{emptySymbol}";
|
||||
|
||||
string itemText = $"<font class='fontSize-{config.WSADMenuItemLineSize}' color='{config.WSADMenuItemLineColor}'>{{0}}</font><br>";
|
||||
string itemHoverText = $"<font class='fontSize-{config.WSADMenuItemLineSize}'><font color='purple'>[ </font><font color='{config.WSADMenuItemHoverLineColor}'>{{0}}</font><font color='purple'> ]</font></font><br>";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue