Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Content.Server/Zombies/ZombieSystem.Transform.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
using Content.Shared.Roles;
using Content.Shared.Temperature.Components;
using Content.Server.NPC.Components; // Corvax-Wega-Zombie
using Content.Shared.Mind; // Corvax-wega-Zomnie
using Robust.Shared.Utility;

namespace Content.Server.Zombies;
Expand Down Expand Up @@ -328,6 +329,8 @@ public void ZombifyEntity(EntityUid target, MobStateComponent? mobState = null)
RemComp(target, handsComp);
}

var mindLink = EnsureComp<MindLinkComponent>(target); // Corvax-wega-Zomnie
mindLink.Channels.Add(zombiecomp.MindChat); // Corvax-wega-Zomnie
// Sloth: What the fuck?
// How long until compregistry lmao.
RemComp<PullerComponent>(target);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,15 @@ public override void Update(float frameTime)
_solutionContainer.TryAddSolution((uid, solution), generated);
}
}

// Corvax-Wega-Start
public void SetReagent(Entity<SolutionRegenerationComponent> ent,Solution reagent)
{
var query = EntityQueryEnumerator<SolutionRegenerationComponent, SolutionComponent>();
while (query.MoveNext(out var uid, out var regen, out var solution))
{
regen.Generated = reagent;
}
}
// Corvax-Wega-End
}
1 change: 1 addition & 0 deletions Content.Shared/Verbs/VerbCategory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ public VerbCategory(string text, string? icon, bool iconsOnly = false)

public static readonly VerbCategory ToggleHeadsetSound = new("verb-categories-toggle-headset-sound", null); // Corvax-Wega-Headset
public static readonly VerbCategory CargoAccount = new("verb-categories-cargo-account", null); // Corvax-Wega-Chaneable-Cargo-Account
public static readonly VerbCategory ReagentChange = new("verb-categories-reagents-change", null); // Corvax-Wega-Chaneable-Reagent
public static readonly VerbCategory Interaction = // Corvax-Wega-Interactions
new("verb-categories-interaction", "/Textures/Interface/VerbIcons/group.svg.192dpi.png"); // Corvax-Wega-Interactions
}
Expand Down
3 changes: 3 additions & 0 deletions Content.Shared/Zombies/ZombieComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Content.Shared.Mind; // Corvax-wega-Zomnie

namespace Content.Shared.Zombies;

Expand Down Expand Up @@ -85,6 +86,8 @@ public sealed partial class ZombieComponent : Component
[DataField("zombieStatusIcon")]
public ProtoId<FactionIconPrototype> StatusIcon { get; set; } = "ZombieFaction";

public ProtoId<MindChannelPrototype> MindChat { get; set; } = "MindZombie"; // Corvax-Wega-Add

/// <summary>
/// Healing each second
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
using System.Linq;
using Content.Shared.Chemistry.Reagent;
using Content.Shared.Chemistry.Components;

namespace Content.Shared.ChangeableReagent.Components;

[RegisterComponent, NetworkedComponent]
[AutoGenerateComponentState]
public sealed partial class ChangeableReagentComponent : Component
{
[DataField(required: true)]
[AutoNetworkedField]
public List<ChangeableReagents> Reagents = new();

[DataField]
[AutoNetworkedField]
public int CurrentReagent;
}

[DataDefinition, Serializable, NetSerializable]
public sealed partial class ChangeableReagents
{
[DataField(required: true)]
public Solution Generated = default!;

[DataField(required: true)]
public LocId Name { get; set; }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
using Robust.Shared.Prototypes;
using Content.Shared.Verbs;
using Content.Shared.Access.Systems;
using Content.Shared.Popups;
using Content.Shared.Database;
using Content.Shared.Examine;
using Content.Shared.Chemistry.EntitySystems;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Reagent;
using Content.Shared.ChangeableReagent.Components;

namespace Content.Shared.ChangeableReagent;

public sealed partial class ChangeableReagentSystem : EntitySystem
{
[Dependency] private IPrototypeManager _prototypeManager = default!;
[Dependency] private SharedPopupSystem _popupSystem = default!;
[Dependency] private SolutionRegenerationSystem _solutionrRagents = default!;

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

SubscribeLocalEvent<ChangeableReagentComponent, GetVerbsEvent<Verb>>(OnGetVerb);
SubscribeLocalEvent<ChangeableReagentComponent, ExaminedEvent>(OnExamined);
}

private void OnExamined(EntityUid uid, ChangeableReagentComponent component, ExaminedEvent args)
{
if (component.Reagents.Count < 2)
return;

var account = GetReagent(component);
var name = account.Name;

args.PushMarkup(Loc.GetString("set-reagent", ("reagent", Loc.GetString(name))));
}

private ChangeableReagents GetReagent(ChangeableReagentComponent component)
{
return component.Reagents[component.CurrentReagent];
}

private void OnGetVerb(EntityUid uid, ChangeableReagentComponent component, GetVerbsEvent<Verb> args)
{
if (!args.CanAccess || !args.CanInteract || !args.CanComplexInteract)
return;

if (component.Reagents.Count < 2)
return;

for (var i = 0; i < component.Reagents.Count; i++)
{
var Reagent = component.Reagents[i];
var index = i;

var v = new Verb
{
Priority = 1,
Category = VerbCategory.ReagentChange,
Text = Loc.GetString(Reagent.Name),
Disabled = i == component.CurrentReagent,
Impact = LogImpact.Low,
DoContactInteraction = true,
Act = () =>
{
TrySetReagent(uid, component, index, args.User);
}
};

args.Verbs.Add(v);
}
}

public bool TrySetReagent(EntityUid uid, ChangeableReagentComponent component, int index, EntityUid? user = null)
{
if (index < 0 || index >= component.Reagents.Count)
return false;

SetReagent(uid, component, index, user);

return true;
}

private void SetReagent(EntityUid uid, ChangeableReagentComponent component, int index, EntityUid? user = null)
{
var Reagent = component.Reagents[index];
component.CurrentReagent = index;
Dirty(uid, component);

if (user != null)
_popupSystem.PopupClient(Loc.GetString("set-reagent", ("reagent", Loc.GetString(Reagent.Name))), uid, user.Value);

if (TryComp(uid, out SolutionRegenerationComponent? reagenComp))
{
_solutionrRagents.SetReagent((uid,reagenComp), Reagent.Generated);
}
}
}
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/_wega/components.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
set-reagent = Генерируемое вещество: { $reagent }
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,9 @@ ghost-role-information-ratvar-desc = Дальше - больше...

ghost-role-information-ash-guardian-name = Пепельный страж
ghost-role-information-ash-guardian-description = Слушайте своего хозяина. Не танкуйте урон. Сильно бейте людей.

ghost-role-information-sentient-carpshark-name = Карпоакула
ghost-role-information-sentient-golocarp-name = Голокарп
ghost-role-information-sentient-rainbowcarp-name = Радужный карп

ghost-role-information-syndicate-cyborg-medical-name = Медицинский киборг Синдиката
4 changes: 3 additions & 1 deletion Resources/Locale/ru-RU/_wega/mind/mindlink.ftl
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
blood-cult-mind-channel = Культ крови
xenoborg-mind-channel = Ксеноборг
veil-cult-mind-channel = Праведники Ратвара
diona-mind-channel = Дионы
diona-mind-channel = Дионы
zomnie-mind-channel = Зомби
carp-mind-channel = Карпы
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/_wega/silicons/borg-module.ftl
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
borg-type-sec = [color= #ba342d]киборга-охранника[/color]
borg-type-syndicate-medical = [color= #ba342d]медицинского киборга синдиката[/color]
5 changes: 4 additions & 1 deletion Resources/Locale/ru-RU/_wega/store/uplink-catalog.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,7 @@ uplink-pressure-upgrade-desc = Модкит, который отключает
uplink-smoke-implant-name = Имплант "Дым"
uplink-smoke-implant-desc = Имплант, который даст вам возможность выпустить облако дыма, очень полезен при отступлении или побеге.
uplink-jumpsuit-ventcrawler-name = комбинезон лазальщика
uplink-jumpsuit-ventcrawler-desc = Специальный комбинезон, внешне идентичный тому, что носят атмосферные техники, позволяет пользователю лазить по вентиляциям, не забудьте про то, что там может быть давление!
uplink-jumpsuit-ventcrawler-desc = Специальный комбинезон, внешне идентичный тому, что носят атмосферные техники, позволяет пользователю лазить по вентиляциям, не забудьте про то, что там может быть давление!

nukie-delivery-medicineborg-bundle-name = Телепорт медицинского киборга Синдиката
nukie-delivery-medicineborg-bundle-desc = Поставщик редких реагентов, хирургических операций и успешных операций.
2 changes: 2 additions & 0 deletions Resources/Locale/ru-RU/_wega/verbs/verb-system.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ verb-common-toggle-headset-disabled = Выключить звук
verb-categories-cargo-account = Сменить аккаунт

verb-categories-interaction = Взаимодействия

verb-categories-reagents-change = Генерируемые реагенты
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ent-BluespaceLifeline = блюспейс испарение
.desc = Частицы блюспейс энергии...
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,11 @@ ent-SyndicateCircuitBoard = плата законов (Синдикат)
.desc = Электронная плата, хранящая набор законов ИИ 'Синдикат'.

ent-ThiefimovCircuitBoard = плата законов (Воримов)
.desc = Электронная плата, хранящая набор законов ИИ 'Воримов'.
.desc = Электронная плата, хранящая набор законов ИИ 'Воримов'.

ent-PlayerBorgSyndicateMedicalBattery = { ent-BorgChassisSyndicateMedical }
.desc = { ent-BorgChassisSyndicateMedical.desc }
.suffix = Батарея, Модуль, Оперативник
ent-PlayerBorgSyndicateMedicalGhostRole = { ent-BorgChassisSyndicateMedical }
.desc = { ent-BorgChassisSyndicateMedical.desc }
.suffix = Роль призрака
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ent-ReinforcementRadioSyndicateCyborgMedical = радио подкрепления мединского киборга Синдиката
.desc = Призовите хорошо оснащеного медицинского киборга, немедленно!
.suffix = Ядерные оперативники
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@ ent-BorgDrinkSolutionMilk = синтезатор молока
.desc = Синтезатор питьевых реагентов, который в данный момент генерирует молоко.
ent-BorgDrinkSolutionWine = синтезатор вина
.desc = Синтезатор питьевых реагентов, который в данный момент генерирует вино.
ent-BorgDrinkSolutionPro = продвинутый синтезатор питьевых реагентов
.desc = Синтезатор питьевых реагентов продвинутого типа для элиты НТ.
ent-BorgDrinkSolutionBase = синтезатор питьевых реагентов
.desc = Синтезатор питьевых реагентов базового типа для обслуживания клиентов.


# Уборщик
Expand Down Expand Up @@ -142,33 +146,10 @@ ent-BorgSyringe = { ent-BaseSyringe }
ent-BorgAdvancedJetInjector = { ent-AdvancedJetInjector }
.desc = { ent-AdvancedJetInjector.desc }
.suffix = Киборг
ent-BorgHypoTricordrazineBase = базовый борг-гипоспрей трикордразина
.desc = Стерильный инъектор для быстрого введения и генерации трикордразина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Трикордразин
ent-BorgHypoEpinephrineBase = базовый борг-гипоспрей эпинефрина
.desc = Стерильный инъектор для быстрого введения и генерации эпинефрина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Эпинефрин
ent-BorgHypoTricordrazine = продвинутый борг-гипоспрей трикордразина
.desc = Стерильный инъектор для быстрого введения и генерации трикордразина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Трикордразин
ent-BorgHypoBicaridine = продвинутый борг-гипоспрей бикаридина
.desc = Стерильный инъектор для быстрого введения и генерации бикаридина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Бикаридин
ent-BorgHypoDermaline = продвинутый борг-гипоспрей дермалина
.desc = Стерильный инъектор для быстрого введения и генерации дермалина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Дермалин
ent-BorgHypoDylovene = продвинутый борг-гипоспрей диловаена
.desc = Стерильный инъектор для быстрого введения и генерации диловена пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Диловен
ent-BorgHypoHyronalin = продвинутый борг-гипоспрей хироналина
.desc = Стерильный инъектор для быстрого введения и генерации хироналина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Хироналин
ent-BorgHypoDexalin = продвинутый борг-гипоспрей дексалина
.desc = Стерильный инъектор для быстрого введения и генерации дексалина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Дексалин
ent-BorgHypoEpinephrine = продвинутый борг-гипоспрей эпинефрина
.desc = Стерильный инъектор для быстрого введения и генерации эпинефрина пациентам. Удешевлённый и более специализированный вариант для медицинских боргов.
.suffix = Эпинефрин
ent-BorgHypoGeneratedGeneral = базовый генератор реагентов
.desc = Гипоспрей с генерацией базовых медикаментов, теперь человеки не помрут!
ent-BorgHypoGeneratedAdvensed = продвинутый генератор реагентов
.desc = Гипоспрей с рассширенным арсеналом медикаментов, переносная аптечка теперь с вами.
ent-BorgGeneratorProCandy = генератор конфет
.desc = Успокойте членов экипажа вкусной ( или нет ) конфеткой! Убедите их, что Вы знакомый дядя для них!
.suffix = 50% мед веществ
Expand Down Expand Up @@ -221,7 +202,13 @@ ent-TelescopicShieldBorgSyndCr20 = универсальная броня син
.desc = Штурм помещений никогда не был столь стандартизированным.
ent-TelescopicShieldBorgSyndL6 = утяжалённая броня синдиборга
.desc = Тяжелый ответ против балистики корпоратов и своих косых коллег.

ent-DefibrillatorSyndicateCyborg = { ent-DefibrillatorSyndicate }
.desc = { ent-DefibrillatorSyndicate.desc }
.suffix = Киборг
ent-BaseBorgHypoSyndie = гипоспрей синдиборга
.desc = { ent-BorgHypo.desc }
ent-BorgHypoGeneratedSyndieGeneral = боевой генератор реагентов
.desc = Гипоспрей со множеством боевых реагентов, которые помогут в борьбе за диск

# Ксеноборги
ent-XenoborgHoloprojectorForcefield = голопроектор силового поля ксеноборгов
Expand Down Expand Up @@ -262,4 +249,7 @@ ent-XenoborgModuleBag = синтетическое хранилище для ч
ent-TurboItemRechargerXenoborg = { ent-TurboItemRecharger }
.desc = { ent-TurboItemRecharger.desc }
ent-ClothingHeadHatChameleonXenoborg = проекция головного убора
.desc = Дешевый элемент индивидуальности органиков, правда прибор очень хрупкий.
.desc = Дешевый элемент индивидуальности органиков, правда прибор очень хрупкий.

ent-WeaponClockworkSwordBorg = { ent-WeaponClockworkSword }
.desc = { ent-WeaponClockworkSword.desc }
Loading
Loading