Skip to content

Commit

Permalink
Merge branch 'master' into upstream0611
Browse files Browse the repository at this point in the history
  • Loading branch information
Schrodinger71 authored Nov 8, 2024
2 parents 1191c97 + 9441d1f commit 4eb39d2
Show file tree
Hide file tree
Showing 81 changed files with 199,566 additions and 481 deletions.
4 changes: 3 additions & 1 deletion Content.IntegrationTests/Tests/PostMapInitTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ public sealed class PostMapInitTest
"Cog",
// ADT-Start
"ADT_FrontierHalloween",
"ADT_Frontier",
"ADT_TrainHalloween",
"ADT_SalternHalloween",
"ADT_Astra",
Expand All @@ -104,7 +105,8 @@ public sealed class PostMapInitTest
"ADT_Aspid",
"ADT_Moose",
"ADT_Alley",
"ADT_kilo"
"ADT_kilo",
"ADT_Pie"
// ADT-End
};

Expand Down
54 changes: 54 additions & 0 deletions Content.Server/ADT/Language/ChatSystem.Language.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
using Robust.Shared.Utility;
using Content.Shared.ADT.Language;

namespace Content.Server.Chat.Systems;

public sealed partial class ChatSystem
{
public (string, string) GetLanguageColoredMessages(EntityUid sender, string message, LanguagePrototype language)
{
string coloredMessage = message;
string coloredLanguageMessage = _language.ObfuscateMessage(sender, message, language);

if (language.Color != null)
{
coloredMessage = "[color=" + language.Color.Value.ToHex().ToString() + "]" + coloredMessage + "[/color]";
coloredLanguageMessage = "[color=" + language.Color.Value.ToHex().ToString() + "]" + coloredLanguageMessage + "[/color]";
}

return (coloredMessage, coloredLanguageMessage);
}

public (string, string) GetLanguageICSanitizedMessages(EntityUid sender, string message, LanguagePrototype language)
{
message = SanitizeInGameICMessage(sender, FormattedMessage.EscapeText(message), out _);
string languageMessage = SanitizeInGameICMessage(sender, FormattedMessage.EscapeText(_language.ObfuscateMessage(sender, message, language)), out _);

return (message, languageMessage);
}

public (string, string) GetObfuscatedLanguageMessages(EntityUid source, string message, LanguagePrototype language)
{
var obfuscatedMessage = ObfuscateMessageReadability(message, 0.2f);
var obfuscatedLanguageMessage = ObfuscateMessageReadability(_language.ObfuscateMessage(source, message, language), 0.2f);

return (obfuscatedMessage, obfuscatedLanguageMessage);
}

public (string, string, string, string) GetColoredObfuscatedLanguageMessages(EntityUid source, string message, LanguagePrototype language)
{
var languageMessage = _language.ObfuscateMessage(source, message, language);
var obfuscatedMessage = ObfuscateMessageReadability(message, 0.2f);
var obfuscatedLanguageMessage = ObfuscateMessageReadability(languageMessage, 0.2f);

if (language.Color != null)
{
message = "[color=" + language.Color.Value.ToHex().ToString() + "]" + message + "[/color]";
languageMessage = "[color=" + language.Color.Value.ToHex().ToString() + "]" + languageMessage + "[/color]";
obfuscatedMessage = "[color=" + language.Color.Value.ToHex().ToString() + "]" + obfuscatedMessage + "[/color]";
obfuscatedLanguageMessage = "[color=" + language.Color.Value.ToHex().ToString() + "]" + obfuscatedLanguageMessage + "[/color]";
}

return (message, languageMessage, obfuscatedMessage, obfuscatedLanguageMessage);
}
}
35 changes: 6 additions & 29 deletions Content.Server/Chat/Systems/ChatSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -558,12 +558,8 @@ private void SendEntitySpeak(
bool shouldCapitalizeTheWordI = (!CultureInfo.CurrentCulture.IsNeutralCulture && CultureInfo.CurrentCulture.Parent.Name == "en")
|| (CultureInfo.CurrentCulture.IsNeutralCulture && CultureInfo.CurrentCulture.Name == "en");

string coloredMessage = SanitizeInGameICMessage(source, FormattedMessage.EscapeText(message), out _, true, shouldPunctuate, shouldCapitalizeTheWordI);

string coloredLanguageMessage = SanitizeInGameICMessage(source, _language.ObfuscateMessage(source, FormattedMessage.EscapeText(message), language), out _);

coloredMessage = FormattedMessage.EscapeText(coloredMessage);
coloredLanguageMessage = FormattedMessage.EscapeText(coloredLanguageMessage);
var (sanitizedMessage, sanitizedLanguageMessage) = GetLanguageICSanitizedMessages(source, message, language);
var (coloredMessage, coloredLanguageMessage) = GetLanguageColoredMessages(source, sanitizedMessage, language);

if (language.Color != null)
{
Expand Down Expand Up @@ -595,7 +591,7 @@ private void SendEntitySpeak(

SendInVoiceRange(ChatChannel.Local, message, wrappedMessage, wrappedLanguageMessage, source, range, language: language); // ADT Languages

var ev = new EntitySpokeEvent(source, message, language, null, null);
var ev = new EntitySpokeEvent(source, sanitizedMessage, language, null, null); // ADT message => sanitizedMessage
RaiseLocalEvent(source, ev, true);

// To avoid logging any messages sent by entities that are not players, like vendors, cloning, etc.
Expand Down Expand Up @@ -644,9 +640,6 @@ private void SendEntityWhisper(
// ADT Languages start
if (language == null)
language = _language.GetCurrentLanguage(source);

var languageMessage = SanitizeInGameICMessage(source, _language.ObfuscateMessage(source, message, language), out _);
var obfuscatedLanguageMessage = ObfuscateMessageReadability(SanitizeInGameICMessage(source, _language.ObfuscateMessage(source, message, language), out _), 0.2f);
// ADT Languages end

// get the entity's name by visual identity (if no override provided).
Expand All @@ -670,24 +663,8 @@ private void SendEntityWhisper(
bool shouldCapitalizeTheWordI = (!CultureInfo.CurrentCulture.IsNeutralCulture && CultureInfo.CurrentCulture.Parent.Name == "en")
|| (CultureInfo.CurrentCulture.IsNeutralCulture && CultureInfo.CurrentCulture.Name == "en");

string coloredMessage = SanitizeInGameICMessage(source, FormattedMessage.EscapeText(message), out _, true, shouldPunctuate, shouldCapitalizeTheWordI);
string coloredObfuscatedMessage = SanitizeInGameICMessage(source, FormattedMessage.EscapeText(obfuscatedMessage), out _, true, shouldPunctuate, shouldCapitalizeTheWordI);

string coloredObfuscatedLanguageMessage = FormattedMessage.EscapeText(obfuscatedLanguageMessage);
string coloredLanguageMessage = FormattedMessage.EscapeText(languageMessage);

coloredMessage = FormattedMessage.EscapeText(coloredMessage);
coloredObfuscatedMessage = FormattedMessage.EscapeText(coloredObfuscatedMessage);
coloredObfuscatedLanguageMessage = FormattedMessage.EscapeText(coloredObfuscatedLanguageMessage);
coloredLanguageMessage = FormattedMessage.EscapeText(coloredLanguageMessage);

if (language.WhisperColor != null)
{
coloredMessage = "[color=" + language.WhisperColor.Value.ToHex().ToString() + "]" + coloredMessage + "[/color]";
coloredObfuscatedMessage = "[color=" + language.WhisperColor.Value.ToHex().ToString() + "]" + coloredObfuscatedMessage + "[/color]";
coloredObfuscatedLanguageMessage = "[color=" + language.WhisperColor.Value.ToHex().ToString() + "]" + coloredObfuscatedLanguageMessage + "[/color]";
coloredLanguageMessage = "[color=" + language.WhisperColor.Value.ToHex().ToString() + "]" + coloredLanguageMessage + "[/color]";
}
var (sanitizedMessage, sanitizedLanguageMessage) = GetLanguageICSanitizedMessages(source, message, language);
var (coloredMessage, coloredLanguageMessage, coloredObfuscatedMessage, coloredObfuscatedLanguageMessage) = GetColoredObfuscatedLanguageMessages(source, sanitizedMessage, language);

name = FormattedMessage.EscapeText(name);

Expand Down Expand Up @@ -755,7 +732,7 @@ private void SendEntityWhisper(

_replay.RecordServerMessage(new ChatMessage(ChatChannel.Whisper, message, wrappedMessage, GetNetEntity(source), null, MessageRangeHideChatForReplay(range)));

var ev = new EntitySpokeEvent(source, message, language, channel, obfuscatedMessage, true);
var ev = new EntitySpokeEvent(source, sanitizedMessage, language, channel, obfuscatedMessage, true); // ADT message => sanitizedMessage
RaiseLocalEvent(source, ev, true);
if (!hideLog)
if (originalMessage == message)
Expand Down
7 changes: 6 additions & 1 deletion Content.Server/Shuttles/Systems/ShuttleConsoleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -171,12 +171,17 @@ private bool TryPilot(EntityUid user, EntityUid uid)
if (!_tags.HasTag(user, "CanPilot") ||
!TryComp<ShuttleConsoleComponent>(uid, out var component) ||
!this.IsPowered(uid, EntityManager) ||
!Transform(uid).Anchored ||
// !Transform(uid).Anchored || // ADT-TWEAK
!_blocker.CanInteract(user, uid))
{
return false;
}

// ADT-Tweak-Start
if (!component.IsHandheldConsole && !Transform(uid).Anchored)
return false;
// ADT-Tweak-End

var pilotComponent = EnsureComp<PilotComponent>(user);
var console = pilotComponent.Console;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ namespace Content.Shared.Shuttles.Components
public abstract partial class SharedShuttleConsoleComponent : Component
{
public static string DiskSlotName = "disk_slot";

// ADT-TWEAK-START
[DataField("isHandheldConsole")]
public bool IsHandheldConsole = false;
// ADT-TWEAK-END

}

[Serializable, NetSerializable]
Expand Down
127 changes: 127 additions & 0 deletions Resources/Changelog/1ChangelogADT.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3999,3 +3999,130 @@ Entries:
- {message: 'Для создания Гиперноблия теперь требуется N2O, а не N2.', type: Tweak}
time: '2024-11-02T19:54:06Z'
id: 501
- author: Kasey [Adnoda] Bitboxxer
changes:
- {message: 'Добавлено у Бриг-Таймера: строчка "Статьи:"', type: Add}
- {message: 'Изменен Бриг-Таймер: окно стало шире и изменено описание минут,
секунд', type: Tweak}
time: '2024-11-04T13:09:59Z'
id: 502
- author: eddiemercury
changes:
- {message: 'NanoTrasen начала производить и поставлять на СЦК печать "ПЕРЕДЕЛАТЬ",
чтобы сотрудники не ставили "отказ" на неправильно оформленные факсы экипажа.
Теперь админам будет проще.', type: Add}
- {message: На экран ожидания перед началом смены добавлен новый красивый тематический
арт., type: Add}
- {message: 'плюшевый Джунгарик умеет кричать, а также издает фразы как фигурка
при использовании. Звук использования заменён на писк мыши.', type: Add}
- {message: 'Мыши теперь умеют разговаривать на мышином, вместе с летучей мышью
и Гамлетом. По крайней мере, выбрать язык - могут.', type: Add}
- {message: 'Руководство NanoTrasen во избежание нарушения трудового порядка
запретило отправку боргов с глупыми или странными именами. Удалены глупые
и ЛРПшные имена боргов, добавлены новые', type: Remove}
- {message: 'Руководство NanoTrasen решило производить пожарные шлюзы по аналогии
с обычными, ибо чрезмерная прочность им ни к чему, они всё итак выдерживают,
а деньги экономить надо. Пожарный шлюз по резистам теперь как обычный (До
этого резисты были как у укрепленной стены).', type: Tweak}
- {message: 'У инженеров в лоудауте теперь жилет с мультитулом, а не с конфигуратором.',
type: Fix}
- {message: 'Инженеры теперь не спавнятся с двумя поясами (один был на них из-за
базового Gear, а второй из-за лоудаута в персонализации).', type: Fix}
- {message: NanoTrasen начала производить и поставлять на СЦК печать "ПЕРЕДЕЛАТЬ".,
type: Add}
- {message: На экран ожидания перед началом смены добавлен новый красивый тематический
арт., type: Add}
- {message: 'плюшевый Джунгарик умеет кричать, издавать фразы и пищит при использовании.',
type: Add}
- {message: 'Мыши теперь умеют разговаривать на мышином, вместе с летучей мышью
и Гамлетом.', type: Add}
- {message: Выбор пояса или жилета в лоудауте есть теперь и у Бригадира., type: Add}
- {message: Руководство NanoTrasen во избежание нарушения трудового порядка
запретило отправку боргов с глупыми или странными именами., type: Remove}
- {message: Пожарный шлюз по резистам теперь как обычный (До этого резисты были
как у укрепленной стены)., type: Tweak}
- {message: 'В лоудауте ИО в жилете теперь мультитул, а не конфигуратор.', type: Fix}
- {message: Инженеры теперь не спавнятся с двумя поясами., type: Fix}
time: '2024-11-04T15:30:58Z'
id: 503
- author: eddiemercury
changes:
- {message: Добавлен спавнер опоссума Поппи, type: Add}
- {message: Добавлен перевод спавнера Карпкат, type: Add}
time: '2024-11-04T21:26:46Z'
id: 504
- author: Friskis
changes:
- {message: У одинокого оперативника удалена ветка подкреплений в аплинке.,
type: Tweak}
time: '2024-11-05T08:42:09Z'
id: 505
- author: Sh4zik
changes:
- {message: Добавлен Морожемат с большим количеством мороженного!, type: Add}
time: '2024-11-05T10:42:28Z'
id: 506
- author: PyotrIgn
changes:
- {message: Добавлены новые именные вещи., type: Add}
time: '2024-11-05T11:05:23Z'
id: 507
- author: Ratyyy
changes:
- {message: 'Руководство НТ решило, что стоит ввести отдельный код под агрессивную
фауну, для спокойствия гражданских!', type: Add}
time: '2024-11-05T19:54:19Z'
id: 508
- author: Шрёдька & FaDeOkno & Ratyyy
changes:
- {message: 'Подтянуты коммиты с Корвакса, 20.10.2024.', type: Tweak}
time: '2024-11-06T10:40:13Z'
id: 509
- author: PyotrIgn
changes:
- {message: Добавлено веселье!, type: Add}
- {message: Удалено веселье!, type: Remove}
- {message: Изменено веселье!, type: Tweak}
- {message: Исправлено веселье!, type: Fix}
time: '2024-11-06T12:44:06Z'
id: 510
- author: KashRas2
changes:
- {message: Откат лжефикса гиперноблия., type: Fix}
time: '2024-11-06T15:22:47Z'
id: 511
- author: Filo
changes:
- {message: 'Кто-то пролил мутаген в вентиляции и оттуда вылезли не черепашки-ниндзя...
а гигантские пауки разных сортов.(добавлены 3 вида пауков в событие с пауками,
а тарантул теперь достаточно опасная тварь в ближнем бою)', type: Add}
- {message: Добавлено событие с появлением мирных паучков, type: Add}
- {message: Убрана лотерея на некоторых минорных или командных антагах., type: Tweak}
time: '2024-11-06T16:05:55Z'
id: 512
- author: PyotrIgn
changes:
- {message: Добавлена карта Pie для лоупоп-смен, type: Add}
time: '2024-11-07T08:32:05Z'
id: 513
- author: NameLunar
changes:
- {message: Добавлена карта Frontier!, type: Add}
- {message: Выведена из ротации карта Helloween Frontier!, type: Remove}
- {message: Исправлены ошибки на карте Frontier и Helloween Frontier!, type: Fix}
time: '2024-11-07T12:54:02Z'
id: 514
- author: PyotrIgn
changes:
- {message: На большинство наших карт добавлена роль и спавн пилота СБ, type: Add}
- {message: Хеллоуинские карты выведены из ротации, type: Remove}
- {message: Во всех оружейных появились ионные винтовки, type: Tweak}
- {message: Увеличено число доступных скафандров для СБ Дельты, type: Tweak}
time: '2024-11-07T14:26:44Z'
id: 515
- author: Filo
changes:
- {message: 'Возвращены виртуальные кошельки в кпк СБ, Медиков и утилизаторов.',
type: Fix}
time: '2024-11-07T14:33:24Z'
id: 516
2 changes: 2 additions & 0 deletions Resources/Locale/ru-RU/ADT/Interaction/interaction-system.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
battery-drinker-verb-drink = Использовать аккумулятор для зарядки.
battery-drinker-empty = Аккумулятор для зарядки пуст.
Loading

0 comments on commit 4eb39d2

Please sign in to comment.