Skip to content

Commit

Permalink
hidden-desc-fix (#2285)
Browse files Browse the repository at this point in the history
  • Loading branch information
Alwayswannahunt authored Dec 10, 2024
1 parent 64d19d1 commit 8f5915f
Show file tree
Hide file tree
Showing 14 changed files with 561 additions and 401 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Content.Server.Corvax.HiddenDescription;

/// <summary>
/// Shows hidden description from entity in container
/// </summary>
[RegisterComponent]
public sealed partial class HiddenDescriptionContainerShowerComponent : Component { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

using Content.Shared.Examine;
using Robust.Server.Containers;

namespace Content.Server.Corvax.HiddenDescription;

public sealed class HiddenDescriptionContainerShowerSystem : EntitySystem
{
[Dependency] private readonly ContainerSystem _container = default!;
[Dependency] private readonly HiddenDescriptionSystem _hiddenDescription = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<HiddenDescriptionContainerShowerComponent, ExaminedEvent>(OnExamine);
}

private void OnExamine(Entity<HiddenDescriptionContainerShowerComponent> entity, ref ExaminedEvent args)
{
foreach (var container in _container.GetAllContainers(entity.Owner))
{
foreach (var containedEntity in container.ContainedEntities)
{
if (TryComp<HiddenDescriptionComponent>(containedEntity, out var hiddenDescription))
{
_hiddenDescription.PushExamineInformation(hiddenDescription, ref args);
}
}
}
}
}
13 changes: 11 additions & 2 deletions Content.Server/Corvax/HiddenDescription/HiddenDescriptionSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,18 @@ public override void Initialize()
}

private void OnExamine(Entity<HiddenDescriptionComponent> hiddenDesc, ref ExaminedEvent args)
// SS220-fix-hidden-desc-fix-begin
{
PushExamineInformation(hiddenDesc.Comp, ref args);
}

public void PushExamineInformation(HiddenDescriptionComponent component, ref ExaminedEvent args)
// SS220-fix-hidden-desc-fix-end
{
_mind.TryGetMind(args.Examiner, out var mindId, out var mindComponent);

foreach (var item in hiddenDesc.Comp.Entries)
// foreach (var item in hiddenDesc.Comp.Entries) SS220-hidden-desc-fix
foreach (var item in component.Entries) // SS220-hidden-desc-fix
{
var isJobAllow = false;
if (_roles.MindHasRole<JobRoleComponent>((mindId, mindComponent), out var jobRole))
Expand All @@ -40,7 +48,8 @@ private void OnExamine(Entity<HiddenDescriptionComponent> hiddenDesc, ref Examin
: isMindWhitelistPassed || isBodyWhitelistPassed || isJobAllow;

if (passed)
args.PushMarkup(Loc.GetString(item.Label), hiddenDesc.Comp.PushPriority);
// args.PushMarkup(Loc.GetString(item.Label), hiddenDesc.Comp.PushPriority);
args.PushMarkup(Loc.GetString(item.Label), component.PushPriority); // SS220-hidden-desc-fix
}
}
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,49 @@ ent-ImplanterAdmeme = { ent-Implanter }
ent-BaseImplantOnlyImplanter = { ent-Implanter }
.desc = Одноразовый шприц, специально предназначенный для введения подкожных имплантов.
ent-BaseImplantOnlyImplanterSyndi = имплантер синдиката
.desc = Компактный одноразовый шприц, специально предназначенный для введения подкожных имплантов.
ent-SadTromboneImplanter = имплантер Грустный тромбон
.desc = Одноразовый имплантер, содержащий имплант, который проигрывает грустную мелодию при смерти владельца.
ent-LightImplanter = имплантер Свет
.desc = Одноразовый имплантер, содержащий имплант, который излучает свет при активации.
ent-TrackingImplanter = имплантер Трекер
.desc = Одноразовый имплантер, содержащий имплант, постоянно передающий координаты владельца.
ent-StorageImplanter = имплантер Хранилище
.desc = Одноразовый имплантер, содержащий имплант, создающий хранилище в теле владельца.
ent-FreedomImplanter = имплантер Свобода
.desc = Одноразовый имплантер, содержащий имплант, позволяющий владельцу три раза освободиться от наручников и других ограничителей.
ent-UplinkImplanter = имплантер Аплинк
.desc = Одноразовый имплантер, содержащий имплант, позволяющий владельцу пользоваться аплинком.
ent-MicroBombImplanter = имплантер Микробомба
.desc = Одноразовый имплантер, содержащий неизвлекаемый имплант, вызывающий небольшой взрыв при смерти владельца.
ent-MacroBombImplanter = имплантер Макробомба
.desc = Одноразовый имплантер, содержащий имплант, вызывающий мощный взрыв при смерти владельца по истечении заданного времени.
ent-BikeHornImplanter = имплантер Клаксон
.desc = Одноразовый имплантер, содержащий имплант, позволяющий пользователю хонкать когда угодно.
ent-EmpImplanter = имплантер ЭМИ
.desc = Одноразовый имплантер, содержащий имплант, позволяющий пользователю создавать электромагнитные импульсы при активации.
ent-DnaScramblerImplanter = имплантер Миксер ДНК
.desc = Одноразовый имплантер, содержащий имплант, позволяющий пользователю пользователю один раз произвольно изменить свою внешность и имя.
ent-DeathRattleImplanter = имплантер Предсмертный Хрип
.desc = Одноразовый имплантер, содержащий имплант, сообщающий в радиоканал Синдиката, если пользователь окажется в критическом состоянии или умрёт.
ent-MindShieldImplanter = имплантер Щит разума
.desc = Одноразовый имплантер, содержащий имплант, гарантирующий лояльность корпорации Nanotrasen.
ent-DeathAcidifierImplanter = имплантер Посмертный растворитель
.desc = Одноразовый имплантер, содержащий имплант, уничтожающий экипировку владельца.
.desc = { ent-Implanter.desc }
ent-SadTromboneImplanter = { ent-Implanter }
.suffix = Грустный тромбон
.desc = { ent-Implanter.desc }
ent-LightImplanter = { ent-Implanter }
.suffix = Свет
.desc = { ent-Implanter.desc }
ent-TrackingImplanter = { ent-Implanter }
.suffix = Трекер
.desc = { ent-Implanter.desc }
ent-StorageImplanter = { ent-Implanter }
.suffix = Хранилище
.desc = { ent-Implanter.desc }
ent-FreedomImplanter = { ent-Implanter }
.suffix = Свобода
.desc = { ent-Implanter.desc }
ent-UplinkImplanter = { ent-Implanter }
.suffix = Аплинк
.desc = { ent-Implanter.desc }
ent-MicroBombImplanter = { ent-Implanter }
.suffix = Микробомба
.desc = { ent-Implanter.desc }
ent-MacroBombImplanter = { ent-Implanter }
.suffix = Макробомба
.desc ={ ent-Implanter.desc }
ent-BikeHornImplanter = { ent-Implanter }
.suffix = Клаксон
.desc = { ent-Implanter.desc }
ent-EmpImplanter = { ent-Implanter }
.suffix = ЭМИ
.desc = { ent-Implanter.desc }
ent-DnaScramblerImplanter = { ent-Implanter }
.suffix = миксер ДНК
.desc = { ent-Implanter.desc }
ent-DeathRattleImplanter = { ent-Implanter }
.suffix = предсмертный хрип
.desc = { ent-Implanter.desc }
ent-MindShieldImplanter = { ent-Implanter }
.suffix = Защита разума
.desc = { ent-Implanter.desc }
ent-DeathAcidifierImplanter = { ent-Implanter }
.suffix = растворитель
.desc = { ent-Implanter.desc }
ent-ScramImplanter = { ent-Implanter }
.suffix = побег
.desc = { ent-BaseImplantOnlyImplanterSyndi.desc }
.desc = { ent-Implanter.desc }
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
ent-BaseSubdermalImplant = имплант
.desc = Микрочип, который вживляют под кожу.
.desc = Имплант без подписи.
# Corvax-HiddenDesc-Start
ent-SadTromboneImplant = { ent-BaseSubdermalImplant }
.suffix = Грустный тромбон
.desc = { ent-BaseSubdermalImplant.desc }
.desc = имплант подписан "грустный тромбон"
ent-LightImplant = { ent-BaseSubdermalImplant }
.suffix = Свет
.desc = { ent-BaseSubdermalImplant.desc }
.desc = имплант подписан "свет"
ent-BikeHornImplant = { ent-BaseSubdermalImplant }
.suffix = хонк-имплант
.desc = { ent-BaseSubdermalImplant.desc }
.desc = имплант подписан "велосипедный клаксон"
ent-TrackingImplant = { ent-BaseSubdermalImplant }
.suffix = Трекер
.desc = { ent-BaseSubdermalImplant.desc }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,18 @@ hidden-desc-ThermalGoogles-research = [color=#D381C9]Неожиданно для
hidden-desc-ThermalVisorImplanter-research = [color=#D381C9]Сверив номера на имплантере, вы замечаете знакомый шаблон. Когда-то НаноТрейзен исследовала возможность ксеноморфов видеть людей сквозь преграды, открытые испытания тех чипов имели такой же шаблон серийных номеров, видимо доработка была успешна, но должна ли была Вам в руки попасть уже засекреченная разработка?[/color]
hidden-desc-MindShieldImplanter-security = [color=#009ae1]Внутри имплантера находится имплант защиты разума.[/color]
hidden-desc-TrackingImplanter-security = [color=#009ae1]Внутри имплантера нахоится имплант-трекер.[/color]
hidden-desc-MindSlaveImplant-medical = [color=#52B4E9]Сверив номера импланта внутри, вы понимаете, что это несертифицированный имплант. При внимательном осмотре вы понимаете что этот имплант обладает ИИ, подавляющим разум имплантированного.[/color]
hidden-desc-MindSlaveImplant-research = [color=#D381C9]Внимательно осмотрев имплант, вы понимаете, что это внутри имплант, губительно влияющий на нервную систему.[/color]
hidden-desc-MindSlaveImplant-syndicate = [color=#e31735]Этот имплант подчиняет разум владельца тому, кто установил имлпант. При извлечении импланта контроль над разумом теряется.[/color]
# Regular decriptions below

ent-ThermalVisorImplanter = имплантер Термального Зрения
.desc = Одноразовый имплантер, содержащий извлекаемым имплант, позволяющий видеть тела существ сквозь преграды.
ent-ThermalVisorImplanter = { ent-Implanter }
.desc = { ent-Implanter.desc }
.suffix = Термальное зрение
ent-ThermalVisionImplant = имплант Термального Зрения
.desc = Микрочип, который вживляют под кожу.
Expand Down
8 changes: 5 additions & 3 deletions Resources/Locale/ru-RU/ss220/implant/mindslave.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@ mindslave-notification-window-text-freed =
mindslave-notification-window-accept = Понятно
#entities
ent-MindSlaveImplanter = имплантер Подчинитель разума
.desc = Одноразовый имплантер, содержащий имплант, который подчиняет разум владельца тому, кто установил имплант.
ent-MindSlaveImplanter = { ent-Implanter }
.desc = { ent-Implanter.desc }
.suffix = Подчинитель
ent-MindSlaveImplant = Подчинитель разума
.desc = Этот имплант подчиняет разум владельца тому, кто установил имлпант. При извлечении импланта контроль над разумом теряется.
.desc = { ent-BaseSubdermalImplant.desc }
ent-MindslaveFixerCerebralImplant = конфигуратор имплантов
.desc = Небольшое устройство, позволяющее произвести более тонкую настройку имплантов. На корпусе расположилось лого "Interdyne pharmaceutics".
ent-MindslaveFixSurgeryGuide = инструкция
Expand Down
Loading

0 comments on commit 8f5915f

Please sign in to comment.