From 4e63fe6b996b1d2f099494e0b93d3484a5e9fe48 Mon Sep 17 00:00:00 2001 From: KashRas2 Date: Tue, 20 Jan 2026 02:57:57 +0300 Subject: [PATCH 1/7] =?UTF-8?q?[ADD]=20=D0=98=D0=BD=D0=B4=D1=83=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D1=8B=20=D0=B8=20=D0=9C=D0=B5=D0=B3=D0=B0?= =?UTF-8?q?=D0=B1=D0=B0=D1=82=D0=B0=D1=80=D0=B5=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_LP/Power/Systems/InducerSystem.cs | 149 +++++++++++++ .../_LP/Power/Components/InducerComponent.cs | 27 +++ .../_LP/Power/Systems/SharedInducerSystem.cs | 22 ++ .../prototypes/entities/objects/megacells.ftl | 27 +++ .../entities/structures/power/chargers.ftl | 2 + .../ru-RU/_ADT/research/technologies.ftl | 3 + Resources/Locale/ru-RU/_LP/power/inducer.ftl | 8 + .../circuitboards/machine/production.ftl | 2 + .../entities/objects/tools/tools.ftl | 13 ++ .../ru-RU/_LP/research/technologies.ftl | 1 + .../Mobs/Cyborgs/base_borg_chassis.yml | 5 + .../Entities/Structures/Power/chargers.yml | 6 + .../Circuitboards/Machine/production.yml | 22 ++ .../Entities/Objects/Power/megacharger.yml | 38 ++++ .../Entities/Objects/Power/megapowercells.yml | 203 ++++++++++++++++++ .../_ADT/Recipes/Lathes/Packs/engineering.yml | 12 ++ .../_ADT/Recipes/Lathes/electronics.yml | 10 + .../_ADT/Recipes/Lathes/powercells.yml | 39 ++++ .../Prototypes/_ADT/Research/industrial.yml | 32 +++ Resources/Prototypes/_ADT/tags.yml | 2 + .../_LP/Entities/Objects/Tools/inducer.yml | 91 ++++++++ .../_LP/Recipes/Lathes/Packs/engineering.yml | 9 + .../Prototypes/_LP/Recipes/Lathes/tools.yml | 15 ++ .../Prototypes/_LP/Research/industrial.yml | 15 ++ .../Devices/megacells.rsi/h_megacell.png | Bin 0 -> 259 bytes .../Devices/megacells.rsi/hyp_megacell.png | Bin 0 -> 236 bytes .../Devices/megacells.rsi/inf_megacell.png | Bin 0 -> 392 bytes .../Devices/megacells.rsi/m_megacell.png | Bin 0 -> 259 bytes .../Devices/megacells.rsi/megacell.png | Bin 0 -> 236 bytes .../Objects/Devices/megacells.rsi/meta.json | 35 +++ .../_ADT/Objects/Devices/megacells.rsi/o0.png | Bin 0 -> 155 bytes .../_ADT/Objects/Devices/megacells.rsi/o1.png | Bin 0 -> 164 bytes .../_ADT/Objects/Devices/megacells.rsi/o2.png | Bin 0 -> 164 bytes .../Power/megacharger.rsi/empty.png | Bin 0 -> 386 bytes .../Structures/Power/megacharger.rsi/full.png | Bin 0 -> 500 bytes .../Power/megacharger.rsi/light-charged.png | Bin 0 -> 579 bytes .../Power/megacharger.rsi/light-charging.png | Bin 0 -> 609 bytes .../Power/megacharger.rsi/light-empty.png | Bin 0 -> 128 bytes .../Power/megacharger.rsi/light-off.png | Bin 0 -> 672 bytes .../Power/megacharger.rsi/meta.json | 52 +++++ .../Structures/Power/megacharger.rsi/open.png | Bin 0 -> 175 bytes .../Objects/Tools/inducer-engi.rsi/icon.png | Bin 0 -> 552 bytes .../Tools/inducer-engi.rsi/inducer-bat.png | Bin 0 -> 454 bytes .../Tools/inducer-engi.rsi/inhand-left.png | Bin 0 -> 672 bytes .../Tools/inducer-engi.rsi/inhand-right.png | Bin 0 -> 676 bytes .../Objects/Tools/inducer-engi.rsi/meta.json | 27 +++ .../Objects/Tools/inducer-rnd.rsi/icon.png | Bin 0 -> 591 bytes .../Tools/inducer-rnd.rsi/inducer-bat.png | Bin 0 -> 454 bytes .../Tools/inducer-rnd.rsi/inhand-left.png | Bin 0 -> 672 bytes .../Tools/inducer-rnd.rsi/inhand-right.png | Bin 0 -> 678 bytes .../Objects/Tools/inducer-rnd.rsi/meta.json | 27 +++ 51 files changed, 894 insertions(+) create mode 100644 Content.Server/_LP/Power/Systems/InducerSystem.cs create mode 100644 Content.Shared/_LP/Power/Components/InducerComponent.cs create mode 100644 Content.Shared/_LP/Power/Systems/SharedInducerSystem.cs create mode 100644 Resources/Locale/ru-RU/_ADT/prototypes/entities/objects/megacells.ftl create mode 100644 Resources/Locale/ru-RU/_ADT/prototypes/entities/structures/power/chargers.ftl create mode 100644 Resources/Locale/ru-RU/_ADT/research/technologies.ftl create mode 100644 Resources/Locale/ru-RU/_LP/power/inducer.ftl create mode 100644 Resources/Locale/ru-RU/_LP/prototypes/entities/objects/devices/circuitboards/machine/production.ftl create mode 100644 Resources/Locale/ru-RU/_LP/prototypes/entities/objects/tools/tools.ftl create mode 100644 Resources/Locale/ru-RU/_LP/research/technologies.ftl create mode 100644 Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml create mode 100644 Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml create mode 100644 Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml create mode 100644 Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml create mode 100644 Resources/Prototypes/_ADT/Recipes/Lathes/electronics.yml create mode 100644 Resources/Prototypes/_ADT/Recipes/Lathes/powercells.yml create mode 100644 Resources/Prototypes/_ADT/Research/industrial.yml create mode 100644 Resources/Prototypes/_ADT/tags.yml create mode 100644 Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml create mode 100644 Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml create mode 100644 Resources/Prototypes/_LP/Recipes/Lathes/tools.yml create mode 100644 Resources/Prototypes/_LP/Research/industrial.yml create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/h_megacell.png create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/hyp_megacell.png create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/inf_megacell.png create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/m_megacell.png create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/megacell.png create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/meta.json create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o0.png create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o1.png create mode 100644 Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o2.png create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/empty.png create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/full.png create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/light-charged.png create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/light-charging.png create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/light-empty.png create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/light-off.png create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/meta.json create mode 100644 Resources/Textures/_ADT/Structures/Power/megacharger.rsi/open.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/icon.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inducer-bat.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inhand-left.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inhand-right.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/meta.json create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/icon.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inducer-bat.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inhand-left.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inhand-right.png create mode 100644 Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/meta.json diff --git a/Content.Server/_LP/Power/Systems/InducerSystem.cs b/Content.Server/_LP/Power/Systems/InducerSystem.cs new file mode 100644 index 00000000000..468e37c0c79 --- /dev/null +++ b/Content.Server/_LP/Power/Systems/InducerSystem.cs @@ -0,0 +1,149 @@ +using System.Linq; +using Content.Server.Power.Components; +using Content.Shared.Containers.ItemSlots; +using Content.Shared.DoAfter; +using Content.Shared.Interaction; +using Content.Shared.Popups; +using Content.Shared.Power.Components; +using Content.Shared.Verbs; +using Robust.Shared.Utility; + +namespace Content.Server.Power.EntitySystems; + +public sealed class InducerSystem : EntitySystem +{ + [Dependency] private readonly BatterySystem _battery = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + [Dependency] private readonly ItemSlotsSystem _itemSlots = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAfterInteract); + SubscribeLocalEvent(OnDoAfter); + SubscribeLocalEvent>(OnGetVerbs); + } + + private void OnAfterInteract(EntityUid uid, InducerComponent component, AfterInteractEvent args) + { + if (args.Handled || args.Target == null || !args.CanReach) + return; + + var target = args.Target.Value; + + if (!TryComp(target, out var targetBattery)) + { + _popup.PopupEntity(Loc.GetString("inducer-no-battery"), uid, args.User); + return; + } + + if (!_itemSlots.TryGetSlot(uid, component.PowerCellSlotId, out var slot) || slot.Item == null || + !TryComp(slot.Item.Value, out var sourceBattery)) + { + _popup.PopupEntity(Loc.GetString("inducer-no-power-cell"), uid, args.User); + return; + } + + if (sourceBattery.CurrentCharge <= 0) + { + _popup.PopupEntity(Loc.GetString("inducer-empty"), uid, args.User); + return; + } + + if (_battery.IsFull(target, targetBattery)) + { + _popup.PopupEntity(Loc.GetString("inducer-target-full"), uid, args.User); + return; + } + + var doAfterArgs = new DoAfterArgs(EntityManager, args.User, component.TransferDelay, new InducerDoAfterEvent(), uid, target: target, used: uid) + { + BreakOnMove = true, + BreakOnDamage = true, + RequireCanInteract = true, + DistanceThreshold = component.MaxDistance, + CancelDuplicate = false, + }; + + _doAfter.TryStartDoAfter(doAfterArgs); + args.Handled = true; + } + + private void OnDoAfter(EntityUid uid, InducerComponent component, DoAfterEvent args) + { + if (args.Cancelled || args.Handled || args.Target == null) + return; + + var target = args.Target.Value; + + if (!TryComp(target, out var targetBattery)) + return; + + if (!_itemSlots.TryGetSlot(uid, component.PowerCellSlotId, out var slot) || slot.Item == null) + return; + + if (!TryComp(slot.Item.Value, out var sourceBattery)) + return; + + var energyToTransfer = component.TransferRate * component.TransferDelay; + energyToTransfer = Math.Min(energyToTransfer, sourceBattery.CurrentCharge); + + var freeSpace = targetBattery.MaxCharge - targetBattery.CurrentCharge; + energyToTransfer = Math.Min(energyToTransfer, freeSpace); + + if (energyToTransfer <= 0) + return; + + if (_battery.TryUseCharge(slot.Item.Value, energyToTransfer, sourceBattery)) + { + _battery.AddCharge(target, energyToTransfer, targetBattery); + var percent = (int)(targetBattery.CurrentCharge / targetBattery.MaxCharge * 100); + _popup.PopupEntity(Loc.GetString("inducer-success", ("percent", percent)), uid, args.User); + + if (targetBattery.CurrentCharge < targetBattery.MaxCharge * 0.95f) + { + args.Repeat = true; + } + else + { + args.Repeat = false; + } + } + else + { + _battery.SetCharge(target, targetBattery.CurrentCharge + energyToTransfer, targetBattery); + _battery.SetCharge(slot.Item.Value, sourceBattery.CurrentCharge - energyToTransfer, sourceBattery); + args.Repeat = false; + } + } + + private void OnGetVerbs(EntityUid uid, InducerComponent component, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract) + return; + + var priority = 0; + foreach (var rate in component.AvailableTransferRates) + { + AlternativeVerb verb = new() + { + Text = Loc.GetString("inducer-set-transfer-rate", ("rate", rate)), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/zap.svg.192dpi.png")), + Category = VerbCategory.SelectType, + Act = () => + { + component.TransferRate = rate; + Dirty(uid, component); + _popup.PopupEntity(Loc.GetString("inducer-transfer-rate-set", ("rate", rate)), uid, args.User); + }, + Priority = priority + }; + + priority--; + + args.Verbs.Add(verb); + } + } +} diff --git a/Content.Shared/_LP/Power/Components/InducerComponent.cs b/Content.Shared/_LP/Power/Components/InducerComponent.cs new file mode 100644 index 00000000000..233fd28ebf3 --- /dev/null +++ b/Content.Shared/_LP/Power/Components/InducerComponent.cs @@ -0,0 +1,27 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; +using Content.Shared.DoAfter; + +namespace Content.Shared.Power.Components; + +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class InducerComponent : Component +{ + [DataField] + public string PowerCellSlotId = "inducer_power_cell_slot"; + + [DataField, AutoNetworkedField] + public float TransferRate = default!; + + [DataField] + public List AvailableTransferRates = new(); + + [DataField] + public float TransferDelay = default!; + + [DataField] + public float MaxDistance = default!; +} + +[Serializable, NetSerializable] +public sealed partial class InducerDoAfterEvent : SimpleDoAfterEvent; diff --git a/Content.Shared/_LP/Power/Systems/SharedInducerSystem.cs b/Content.Shared/_LP/Power/Systems/SharedInducerSystem.cs new file mode 100644 index 00000000000..4e194c697fa --- /dev/null +++ b/Content.Shared/_LP/Power/Systems/SharedInducerSystem.cs @@ -0,0 +1,22 @@ +using Content.Shared.Examine; +using Content.Shared.Power.Components; + +namespace Content.Shared.Power.EntitySystems; + +public sealed class SharedInducerSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnExamined); + } + + private void OnExamined(EntityUid uid, InducerComponent component, ExaminedEvent args) + { + if (!args.IsInDetailsRange) + return; + + args.PushMarkup(Loc.GetString("inducer-examine-rate", ("rate", component.TransferRate))); + } +} diff --git a/Resources/Locale/ru-RU/_ADT/prototypes/entities/objects/megacells.ftl b/Resources/Locale/ru-RU/_ADT/prototypes/entities/objects/megacells.ftl new file mode 100644 index 00000000000..cdd172afd79 --- /dev/null +++ b/Resources/Locale/ru-RU/_ADT/prototypes/entities/objects/megacells.ftl @@ -0,0 +1,27 @@ +ent-ADTMegaCellSmall = мегабатарея малой ёмкости + .desc = Перезаряжаемый энергоэлемент высшего класса. Скромная по меркам серии, но на порядок превосходит устаревшие промышленные аккумуляторы. Из-за особенностей конструкции несовместима с обычными зарядниками. + .suffix = Полный +ent-ADTMegaCellSmallPrinted = { ent-ADTMegaCellSmall } + .suffix = Пустой + .desc = { ent-ADTMegaCellSmall.desc } +ent-ADTMegaCellMedium = мегабатарея средней ёмкости + .desc = Энергоэлемент продвинутой конструкции. Обладает выдающейся стабильностью и ёмкостью. Из-за особенностей конструкции несовместима с обычными зарядниками. + .suffix = Полный +ent-ADTMegaCellMediumPrinted = { ent-ADTMegaCellMedium } + .suffix = Пустой + .desc = { ent-ADTMegaCellMedium.desc } +ent-ADTMegaCellHigh = мегабатарея высокой ёмкости + .desc = Высокоёмкий источник энергии нового поколения. Обеспечивает длительное энергоснабжение без потери производительности. Из-за особенностей конструкции несовместима с обычными зарядниками. + .suffix = Полный +ent-ADTMegaCellHighPrinted = { ent-ADTMegaCellHigh } + .suffix = Пустой + .desc = { ent-ADTMegaCellHigh.desc } +ent-ADTMegaCellHyper = мегабатарея гипер ёмкости + .desc = Эталон инженерной мысли в сфере энергосистем. Способна вмещать в себя колоссальное количество энергии и сохранять её с безупречной стабильностью. Из-за особенностей конструкции несовместима с обычными зарядниками. + .suffix = Полный +ent-ADTMegaCellHyperPrinted = { ent-ADTMegaCellHyper } + .suffix = Пустой + .desc = { ent-ADTMegaCellHyper.desc } +ent-ADTMegaCellInfinite = квантовая мегабатарея + .desc = Абсолютная вершина энергетических технологий. Квантовая матрица внутри корпуса обеспечивает практически неисчерпаемый запас энергии, нарушая все известные законы термодинамики. + .suffix = Бесконечный \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_ADT/prototypes/entities/structures/power/chargers.ftl b/Resources/Locale/ru-RU/_ADT/prototypes/entities/structures/power/chargers.ftl new file mode 100644 index 00000000000..45ca6c1fd1d --- /dev/null +++ b/Resources/Locale/ru-RU/_ADT/prototypes/entities/structures/power/chargers.ftl @@ -0,0 +1,2 @@ +ent-ADTMegaCellRecharger = зарядник мегабатарей + .desc = Модифицированный зарядник промышленного класса, предназначенный исключительно для зарядки мегабатарей. Оснащён контактным основанием и усиленными энергоканалами для безопасной и эффективной передачи электричества. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_ADT/research/technologies.ftl b/Resources/Locale/ru-RU/_ADT/research/technologies.ftl new file mode 100644 index 00000000000..02921199ddd --- /dev/null +++ b/Resources/Locale/ru-RU/_ADT/research/technologies.ftl @@ -0,0 +1,3 @@ +research-technology-basemegacells = Мегабатареи + +research-technology-advancedmegacells = Сверхэффективные мегабатареи diff --git a/Resources/Locale/ru-RU/_LP/power/inducer.ftl b/Resources/Locale/ru-RU/_LP/power/inducer.ftl new file mode 100644 index 00000000000..d6fe557fbbd --- /dev/null +++ b/Resources/Locale/ru-RU/_LP/power/inducer.ftl @@ -0,0 +1,8 @@ +inducer-no-battery = В цели нет батареи! +inducer-no-power-cell = В индукторе нет батареи! +inducer-empty = Батарея устройства разряжена! +inducer-target-full = Батарея цели уже полностью заряжена! +inducer-success = Энергия передана. Заряд цели: {$percent}% +inducer-set-transfer-rate = Установить {$rate} Дж/с +inducer-transfer-rate-set = Скорость передачи установлена на {$rate} Дж/с +inducer-examine-rate = Текущая скорость передачи: [color=yellow]{$rate} Дж/с[/color] diff --git a/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/devices/circuitboards/machine/production.ftl b/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/devices/circuitboards/machine/production.ftl new file mode 100644 index 00000000000..7af05ba62a5 --- /dev/null +++ b/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/devices/circuitboards/machine/production.ftl @@ -0,0 +1,2 @@ +ent-ADTMegaCellRechargerCircuitboard = зарядник мегабатарей (машинная плата) + .desc = Печатная плата зарядника мегабатарей. diff --git a/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/tools/tools.ftl b/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/tools/tools.ftl new file mode 100644 index 00000000000..28ac041c2f2 --- /dev/null +++ b/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/tools/tools.ftl @@ -0,0 +1,13 @@ + +ent-LPEngiInducer = индуктор + .desc = Устройство для беспроводной передачи энергии от собственной батареи к батареям других устройств. + .suffix = Пустой, Инженерный +ent-LPEngiInducerBattery = { ent-LPEngiInducer } + .desc = { ent-LPEngiInducer.desc } + .suffix = Батарея, Инженерный +ent-LPRNDInducer = { ent-LPEngiInducer } + .desc = { ent-LPEngiInducer.desc } + .suffix = Пустой, РНД +ent-LPRNDInducerBattery = { ent-LPEngiInducer } + .desc = { ent-LPEngiInducer.desc } + .suffix = Батарея, РНД diff --git a/Resources/Locale/ru-RU/_LP/research/technologies.ftl b/Resources/Locale/ru-RU/_LP/research/technologies.ftl new file mode 100644 index 00000000000..0373b43a9cc --- /dev/null +++ b/Resources/Locale/ru-RU/_LP/research/technologies.ftl @@ -0,0 +1 @@ +research-technology-inducer = Беспроводная передача энергии diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 53db7180aae..bb852fef517 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -329,6 +329,11 @@ slots: cell_slot: name: power-cell-slot-component-slot-name-default + # LP Edit Start + blacklist: + tags: + - ADTMegaCell + # LP Edit End - type: Body bodyType: Simple - type: StatusEffects diff --git a/Resources/Prototypes/Entities/Structures/Power/chargers.yml b/Resources/Prototypes/Entities/Structures/Power/chargers.yml index c36b58f3b2b..80501e06a12 100644 --- a/Resources/Prototypes/Entities/Structures/Power/chargers.yml +++ b/Resources/Prototypes/Entities/Structures/Power/chargers.yml @@ -155,6 +155,11 @@ tags: - PowerCell - PowerCellSmall + # ADT-tweak-start + blacklist: + tags: + - ADTMegaCell + # ADT-tweak-end - type: entity parent: [ BaseItemRecharger, ConstructibleMachine ] @@ -280,6 +285,7 @@ blacklist: tags: - PotatoBattery + - ADTMegaCell # ADT-Tweak - WizardWand # Goobstation components: # Goobstation - MaterialEnergy diff --git a/Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml new file mode 100644 index 00000000000..31da812e472 --- /dev/null +++ b/Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -0,0 +1,22 @@ +- type: entity + id: ADTMegaCellRechargerCircuitboard + parent: BaseMachineCircuitboard + name: megacell recharger machine board + description: A machine printed circuit board for a megacell recharger. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: engineering + - type: MachineBoard + prototype: ADTMegaCellRecharger + stackRequirements: + Manipulator: 5 + Copper: 10 + Gold: 6 + Cable: 5 + - type: PhysicalComposition + materialComposition: + Steel: 30 + Plastic: 30 + - type: StaticPrice + price: 15 diff --git a/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml b/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml new file mode 100644 index 00000000000..3607e1d4c9c --- /dev/null +++ b/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml @@ -0,0 +1,38 @@ +- type: entity + parent: PowerCellRecharger + id: ADTMegaCellRecharger + name: megacell recharger + components: + - type: Sprite + sprite: _ADT/Structures/Power/megacharger.rsi + layers: + - map: ["enum.PowerChargerVisualLayers.Base"] + state: "empty" + - map: ["enum.PowerChargerVisualLayers.Light"] + state: "light-off" + shader: "unshaded" + - state: open + map: ["enum.WiresVisualLayers.MaintenancePanel"] + visible: false + - type: Machine + board: ADTMegaCellRechargerCircuitboard + - type: WiresPanel + - type: GenericVisualizer + visuals: + enum.WiresVisuals.MaintenancePanelState: + enum.WiresVisualLayers.MaintenancePanel: + True: { visible: true } + False: { visible: false } + - type: PowerCellSlot + cellSlotId: charger_slot + - type: Charger + chargeRate: 100.0 + slotId: charger_slot + - type: ItemSlots + slots: + charger_slot: + ejectOnInteract: true + name: power-cell-slot-component-slot-name-default + whitelist: + tags: + - ADTMegaCell diff --git a/Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml b/Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml new file mode 100644 index 00000000000..24b47c9dbc7 --- /dev/null +++ b/Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml @@ -0,0 +1,203 @@ +- type: entity + id: ADTBaseMegaCell + abstract: true + parent: BaseItem + components: + - type: Item + storedRotation: -90 + - type: Battery + pricePerJoule: 0.15 + - type: PowerCell + - type: Explosive + explosionType: HardBomb + maxIntensity: 2500 + intensitySlope: 1.5 + totalIntensity: 400 + - type: Sprite + sprite: _ADT/Objects/Devices/megacells.rsi + - type: SolutionContainerManager + solutions: + battery: + maxVol: 5 + - type: InjectableSolution + solution: battery + - type: DrawableSolution + solution: battery + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Gold # LP Edit + Quantity: 15 + - type: Tag + tags: + - ADTMegaCell + - PowerCell + - type: Appearance + - type: PowerCellVisuals + - type: Riggable + +- type: entity + name: megacell small + description: damnation + id: ADTMegaCellSmall + suffix: Full + parent: ADTBaseMegaCell + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + - type: Battery + maxCharge: 10800 + startingCharge: 10800 + - type: Tag + tags: + - ADTMegaCell + +- type: entity + id: ADTMegaCellSmallPrinted + suffix: Empty + parent: ADTMegaCellSmall + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + visible: false + - type: Battery + maxCharge: 10800 + startingCharge: 0 + +- type: entity + name: megacell medium + description: damnation + id: ADTMegaCellMedium + suffix: Full + parent: ADTBaseMegaCell + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: m_megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + - type: Battery + maxCharge: 21600 + startingCharge: 21600 + +- type: entity + id: ADTMegaCellMediumPrinted + suffix: Empty + parent: ADTMegaCellMedium + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: m_megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + visible: false + - type: Battery + maxCharge: 21600 + startingCharge: 0 + +- type: entity + name: megacell high + description: damnation + id: ADTMegaCellHigh + suffix: Full + parent: ADTBaseMegaCell + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: h_megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + - type: Battery + maxCharge: 32400 + startingCharge: 32400 + +- type: entity + id: ADTMegaCellHighPrinted + suffix: Empty + parent: ADTMegaCellHigh + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: h_megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + visible: false + - type: Battery + maxCharge: 32400 + startingCharge: 0 + +- type: entity + name: megacell hyper + description: damnation + id: ADTMegaCellHyper + suffix: Full + parent: ADTBaseMegaCell + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: hyp_megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + - type: Battery + maxCharge: 48600 + startingCharge: 48600 + +- type: entity + id: ADTMegaCellHyperPrinted + suffix: Empty + parent: ADTMegaCellHyper + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: hyp_megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + visible: false + - type: Battery + maxCharge: 48600 + startingCharge: 0 + +- type: entity + name: infinite power cell + description: damnation + id: ADTMegaCellInfinite + parent: ADTBaseMegaCell + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: inf_megacell + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + - type: StaticPrice + price: 25000 + - type: Battery + maxCharge: 1000000 + startingCharge: 1000000 + pricePerJoule: 0 # Без этого StaticPrice работать не будет, что уж! + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 100 diff --git a/Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml new file mode 100644 index 00000000000..7041ea8b92a --- /dev/null +++ b/Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml @@ -0,0 +1,12 @@ +- type: latheRecipePack + id: ADTMegaCellPack + recipes: + - ADTMegaCellSmallRecipe + - ADTMegaCellMediumRecipe + - ADTMegaCellHighRecipe + - ADTMegaCellHyperRecipe + +- type: latheRecipePack + id: ADTMegaCharger + recipes: + - ADTMegaCellRechargerCircuitboardRecipe diff --git a/Resources/Prototypes/_ADT/Recipes/Lathes/electronics.yml b/Resources/Prototypes/_ADT/Recipes/Lathes/electronics.yml new file mode 100644 index 00000000000..bd7f6876aee --- /dev/null +++ b/Resources/Prototypes/_ADT/Recipes/Lathes/electronics.yml @@ -0,0 +1,10 @@ +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: ADTMegaCellRechargerCircuitboardRecipe + result: ADTMegaCellRechargerCircuitboard + completetime: 10 + materials: + Steel: 1500 + Glass: 1000 + Gold: 600 + Silver: 600 diff --git a/Resources/Prototypes/_ADT/Recipes/Lathes/powercells.yml b/Resources/Prototypes/_ADT/Recipes/Lathes/powercells.yml new file mode 100644 index 00000000000..22ed7fb45ae --- /dev/null +++ b/Resources/Prototypes/_ADT/Recipes/Lathes/powercells.yml @@ -0,0 +1,39 @@ +- type: latheRecipe + id: ADTMegaCellSmallRecipe + result: ADTMegaCellSmallPrinted + completetime: 15 + materials: + Steel: 8000 + Glass: 5600 + Gold: 600 + Silver: 600 + +- type: latheRecipe + id: ADTMegaCellMediumRecipe + result: ADTMegaCellMediumPrinted + completetime: 15 + materials: + Steel: 10000 + Glass: 7000 + Gold: 600 + Silver: 600 + +- type: latheRecipe + id: ADTMegaCellHighRecipe + result: ADTMegaCellHighPrinted + completetime: 15 + materials: + Steel: 12000 + Glass: 8400 + Gold: 600 + Silver: 600 + +- type: latheRecipe + id: ADTMegaCellHyperRecipe + result: ADTMegaCellHyperPrinted + completetime: 20 + materials: + Steel: 14000 + Glass: 9800 + Gold: 600 + Silver: 600 diff --git a/Resources/Prototypes/_ADT/Research/industrial.yml b/Resources/Prototypes/_ADT/Research/industrial.yml new file mode 100644 index 00000000000..b4029df2d2f --- /dev/null +++ b/Resources/Prototypes/_ADT/Research/industrial.yml @@ -0,0 +1,32 @@ +- type: technology + id: ADTMegaCells + name: research-technology-basemegacells + icon: + sprite: _ADT/Objects/Devices/megacells.rsi + state: megacell + discipline: Industrial + tier: 2 + cost: 15000 + recipeUnlocks: + - ADTMegaCellRechargerCircuitboardRecipe + - ADTMegaCellSmallRecipe + - ADTMegaCellMediumRecipe + position: 1,-7 # LP Edit + technologyPrerequisites: + - AdvancedPowercells + +- type: technology + id: ADTMegaCellsAdvanced + name: research-technology-advancedmegacells + icon: + sprite: _ADT/Objects/Devices/megacells.rsi + state: hyp_megacell + discipline: Industrial + tier: 3 + cost: 35000 + recipeUnlocks: + - ADTMegaCellHighRecipe + - ADTMegaCellHyperRecipe + position: 1,-9 # LP Edit + technologyPrerequisites: + - LPInducer # LP Edit diff --git a/Resources/Prototypes/_ADT/tags.yml b/Resources/Prototypes/_ADT/tags.yml new file mode 100644 index 00000000000..0c1d0f47ecc --- /dev/null +++ b/Resources/Prototypes/_ADT/tags.yml @@ -0,0 +1,2 @@ +- type: Tag + id: ADTMegaCell diff --git a/Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml b/Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml new file mode 100644 index 00000000000..d1c877866ff --- /dev/null +++ b/Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml @@ -0,0 +1,91 @@ +- type: entity + parent: BaseItem + id: LPEngiInducer + name: inducer + description: A device for wirelessly transferring energy from a battery to other devices. + suffix: Empty, Engineering + components: + - type: Sprite + sprite: _LP/Objects/Tools/inducer-engi.rsi + state: icon + - type: Item + size: Small + - type: Inducer + availableTransferRates: + - 500 + - 2500 + - 5000 + - 7500 + transferRate: 500 + transferDelay: 1 + maxDistance: 3 + - type: PowerCellSlot + cellSlotId: inducer_power_cell_slot + - type: ContainerContainer + containers: + inducer_power_cell_slot: !type:ContainerSlot + - type: ItemSlots + slots: + inducer_power_cell_slot: + name: power-cell-slot-component-slot-name-default + insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg + whitelist: + tags: + - ADTMegaCell + - type: ItemMapper + mapLayers: + inducer-bat: + whitelist: + tags: + - ADTMegaCell + sprite: _LP/Objects/Tools/inducer-engi.rsi + - type: Appearance + +- type: entity + parent: LPEngiInducer + id: LPEngiInducerBattery + name: inducer + description: A device for wirelessly transferring energy from a battery to other devices. + suffix: Battery, Engineering + components: + - type: ItemSlots + slots: + inducer_power_cell_slot: + startingItem: ADTMegaCellMedium + +- type: entity + parent: LPEngiInducer + id: LPRNDInducer + name: inducer + description: A device for wirelessly transferring energy from a battery to other devices. + suffix: Empty, RND + components: + - type: Sprite + sprite: _LP/Objects/Tools/inducer-rnd.rsi + state: icon + - type: Inducer + availableTransferRates: + - 900 + transferRate: 900 + transferDelay: 0.09 + maxDistance: 6 + - type: ItemMapper + mapLayers: + inducer-bat: + whitelist: + tags: + - ADTMegaCell + sprite: _LP/Objects/Tools/inducer-rnd.rsi + +- type: entity + parent: LPRNDInducer + id: LPRNDInducerBattery + name: inducer + description: A device for wirelessly transferring energy from a battery to other devices. + suffix: Battery, RND + components: + - type: ItemSlots + slots: + inducer_power_cell_slot: + startingItem: ADTMegaCellMedium diff --git a/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml new file mode 100644 index 00000000000..f63b63a142c --- /dev/null +++ b/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml @@ -0,0 +1,9 @@ +- type: latheRecipePack + id: LPRNDInducer + recipes: + - LPRNDInducerRecipe + +- type: latheRecipePack + id: LPEngiInducer + recipes: + - LPEngiInducerRecipe diff --git a/Resources/Prototypes/_LP/Recipes/Lathes/tools.yml b/Resources/Prototypes/_LP/Recipes/Lathes/tools.yml new file mode 100644 index 00000000000..add0b9c63eb --- /dev/null +++ b/Resources/Prototypes/_LP/Recipes/Lathes/tools.yml @@ -0,0 +1,15 @@ +- type: latheRecipe + id: LPRNDInducerRecipe + result: LPRNDInducer + completetime: 8 + materials: + Steel: 1000 + Plastic: 100 + +- type: latheRecipe + id: LPEngiInducerRecipe + result: LPEngiInducer + completetime: 8 + materials: + Steel: 1000 + Plastic: 100 diff --git a/Resources/Prototypes/_LP/Research/industrial.yml b/Resources/Prototypes/_LP/Research/industrial.yml new file mode 100644 index 00000000000..b60169a0975 --- /dev/null +++ b/Resources/Prototypes/_LP/Research/industrial.yml @@ -0,0 +1,15 @@ +- type: technology + id: LPInducer + name: research-technology-inducer + icon: + sprite: _LP/Objects/Tools/inducer-rnd.rsi + state: icon + discipline: Industrial + tier: 2 + cost: 10000 + recipeUnlocks: + - LPRNDInducerRecipe + - LPEngiInducerRecipe + position: 1,-8 + technologyPrerequisites: + - ADTMegaCells diff --git a/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/h_megacell.png b/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/h_megacell.png new file mode 100644 index 0000000000000000000000000000000000000000..aeb5c4d44daebe57a35b6aeb0b3766456b8bde23 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv-2k5u*8>L*OqssAiA(J0@hh8j z6#g?9pJ6b*|KLSIal0|Y|I0zn#tdiNy`p`XgjLk^Zah732B?v-B*-tA!Qt7BG$5zN z)5S4FV`6fGgpWgjr@+k98X9ksG*(D)h^LsaaY^h}6X#yQQDGu3y@+Fn#bVA1KQ|$P z_|S|uJ0(3A1bQ-E?J+JtzhFinAJgh-hgmIH934CZW%LT%-rb$uT>gHJX3J^@P7O^i zuLGec=2$WZ6*8@JTC{kvpeO5jNdbmc7S2UGF7h!jth-iW*8>L*#MGwOuI~BIV0?zb zc;4x?PO)Cb4F8Q8&X_n`$|=b&I9l}&sF<-N$S;_|;n|HeAg9vP#W6%$!XxYZ0&g9} zob*~EyYeK<+-s98P9HdsptJbMfdx~K9Vo~ZJKQ{%=l@5`rUlF%jOR8!;sJqb$$g70 z1m-KRc-631^nPbRE7yz_FByd2*7B&``t5PaIf^4=>B3L*LlOc@rkU|sZ2D@+%vyqo_rPsAH)wgHuD=ES$tVAr|1$xBD+I#?YCBwCa;r>6|xPwH#`|X z<;n8!Tu+<$o`H>xt!X^EqRc<;^n0F)y|Bm6L~i4>l~jL(OKf) zJKaW6wc@Jnolr(zPb1j|872ey$HDEq7B@BnO-Y&m(3m6M;~_WW9@Ee+JLYRzGh_^& jD}4<8uK^0O6h;QNg>f9qF7>7ZgOL*Oqss=RRqJ)<5#}) zs{Lm$KEq&q|G|rb;&x+(|NoEp8Z(@6_lmAzV^UGmQ%>E;1k}h_666=m;PC858j#cC z>EaloF)=wo!p9-NQ()$44UIQR8Y`qY#8XVzxFmL~iE}UDs4x+iUc|A(VliihpPP_C zd}zj-osyml0zH|o_86C+Uoaz(k7@O^!>kr8jt-uIGI|AW@9xfSE`L8qvt=~{r-mk% z*MZOzb1a#I3Ype9En2)-(3ADNqyWPz3+JL87x@?%)?F};_`n`g4RjBKr>mdKI;Vst E0Ow#iW*8>L*Oqss==` z7~g;JqM*3lnBl)M!x?w4XcaZRLymISfr=SRg8YIR9G=}s19B=oT^vI+CMG9H_&5Xv z2+TaKp|NC%hDHvDcuEKpmxiV_E9U}^6{@V7i#Rki7jmu;SLEzyW7Aq`uE?pv)wOVz zVevB`5o0Gs2E7An9E^(!8fONr4)bHl;%-^Zz{xPR<6x-AxjCFchP>;XbaZtEJz1ao fNGMp|$zW#?nyw;T7MAM;bOeK^tDnm{r-UW|BIHI* literal 0 HcmV?d00001 diff --git a/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/meta.json b/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/meta.json new file mode 100644 index 00000000000..d22708d9d6f --- /dev/null +++ b/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tg station at commit c76efcfba42bfdbee733a48aa289a6483cbe926a and commit dfab3c542b13dc006b6e660e0be39be105d7beee.", + "states": [ + { + "name": "megacell" + }, + { + "name": "m_megacell" + }, + { + "name": "h_megacell" + }, + { + "name": "hyp_megacell" + }, + { + "name": "inf_megacell" + }, + { + "name": "o0" + }, + { + "name": "o1" + }, + { + "name": "o2" + } + ] +} diff --git a/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o0.png b/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o0.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea8ce0ab14ffb62cdf418b26e945da3f68e77eb GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq0y z;usRqnw%iPx;R0krzy~Y%k7|s#LI?>B1gj|C9h8SdF%iG`-^5XFPL`UML2Bv6+xXP t8gXC$+jH6XOkBcngp17vtO2B(fq`+30EZ86Y%9=U22WQ%mvv4FO#o3iEw%sv literal 0 HcmV?d00001 diff --git a/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o1.png b/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o1.png new file mode 100644 index 0000000000000000000000000000000000000000..9d03123cf603b0dc9084c2e2e15365bc0ead3d55 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJY)==*kcie~n}P=nhaH%fF>bBB z!nl}EqV&KDW;a=bR}F#eJys2kjg74$N56eLYIfpJGkbM^z$=DD&J0;U6H|KLDHJhy zDi(ax(Yk+QM$l_X2?@{4DVLPEJc<}}4>UY)0_jfx8Ogw~|D{+){nV`~Kx-L1UHx3v IIVCg!0H6~&VgLXD literal 0 HcmV?d00001 diff --git a/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o2.png b/Resources/Textures/_ADT/Objects/Devices/megacells.rsi/o2.png new file mode 100644 index 0000000000000000000000000000000000000000..7c84d428797d6fcbcc1d631388b6e8049c4ec859 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJY)==*kcie~n}P=nhaH%fF>bBB z!nl}EqV&KDW;a=bR}F#eJys2kjg74$N6p`M=T7+fioLo&;1$CnXNIhwi77qr6p9!; z6$`%UXx+atBj~lHgoJ12luJrn9z_hg2O6F?f%GSUjAURaePx$JV``BR9J=Wls{^PKoG{i#9$$KfIz%}VBrn+AgKa@+`vKtLa^`#fn2~tq_9q7 zXDyg#EVO(UE9*<;L$d3?_cVEs{Z%r<%zS*#Eb!mC5(RzVKMWPPt}CoLm7Af2ZQEQd zj^j0F0|2g9@3@db2TarCVp}*M6i^fek|Ytv*XDA60e)C6TFT7@1VM284#V(w1Q0@w zZ-C=CTtPp-lqib0H)OE`x~?xCtg0%isuJc#1&AEzFbo5Vq73F4W5}{>QryWqKqrdZ42x??DzM4a_6CKAI=x>Cs)vC%mDy+|4`60jW9kJ z?kor)2g|Ys3(_pJATopp=d(@0yPx$u1Q2eR9J=WlfO&DKorNn{-7wBF2yO5MWM7bLKmS<*)`Y>4hp&#-79nuk%FBR ztn^Js{xKt`p3I2T+HwQTYITVgQsGLrxLtTfo z1B#+dorx=JjLa^8O>dP*B;Ys>vxiUs%K<-x5D-GVwWg`KZa)iiqy&g&U`thTes(I= zOj-cX0YV5Ys|C}{4Tx04R}tkv&L4Q5c4wdo7Ao8ghsTx`Q48mKjNf6@f+Rqj<< z8iUrLp`RtIp{2RjhSnem`hjR^Z7OPsxN%faBKwx}@SgAeINy6fuH<#oX&VL8D%r7c zNJ*yBO2-Rce0UjUK-HaMBtDm*WqsZuiSu?u%xc~DXZej)M+Zp(ruCv-0%--9TrU*` z?*RdQO*KF|1BUHnDh<+u(6t)B3eHwp7Bd5OA~pkZ08p|`tTnN|W}6^S071jF43LvG zHUw`7HuGh@{!X!>Z`E3i3mxbu%sdgIC}@<)k*CB6IV=<$VuT5`@b^{yQOaoK$)Te# zO92zL>PP&+?`)mS_*iX{F9hw+uKPX+9Xs&7?Ydt_uKRrqo+r4p8va5Brar*4-Oz%E z(7g%gR}D?ug^MldeJrZBT9rJ2oXNo3Dfm;+a|2yVwcP6WoZLfV0~W4f{{V)v(7oJZ z@6P7j{_Uyf_XDB=a=PXsFem^30DwtEK~!jg?bcBWfFKNj;The?&eWZ{lRMLTs(f)i zM2hx*AP5t5bD$ys0N}5J8%<*Oe5wrK9%<1jvm&j0`b0000+aRLdHD*XS& RXN~{>002ovPDHLkV1j8o0p4Tx04R}tkvm8OK@>&LZWJXZSeQb@VvA^{ASxo*NECx$Kw^YME!S_a7R z8XJN)1)I5&UVo?9(3iB9mxK=V6K0+WizsN6$daSTFj*`V9HN8?wea^<{fm^)$dN@y zVU|25YSoYUgWuUYsj<=8Bwq;HUtITN06KP|vg5kn$F5sB0namBSq*=_43nSW*=cCO zBk10Oi|dA_?ZM?X^gb0-TdhhSKu)FL{S5pG=(z>&YAv_=J*N*4+k}N1I5>pCG<2`E z*t@eiw|{%;`TYRuD{|M$`df7X005myL_t(|obA?83WG2V2H*(0(Y*f&+B0QO+kCMI zTULkP2L-|6FEoip00000SFy}~0R~#+>w2v@D+O?3_k0&XUuw?kR`F22qxbp@6JQ`W z9k>*A;Ou-8VBi-WI6ME;6W|IRI6MF236L4td&FAsmwKcF9JG&V_00000NkvXXu0mjfe=-V) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_ADT/Structures/Power/megacharger.rsi/light-empty.png b/Resources/Textures/_ADT/Structures/Power/megacharger.rsi/light-empty.png new file mode 100644 index 0000000000000000000000000000000000000000..919d1cb48171fb99d2c3988881aea7a2d7d6822e GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQjEnx?oJHr&dIz4a;!XE978f1 z-=5pZ$)F&>a!~xue&g&aEX>4Tx04R}tkvm8OK@>&LZj?w=QkX(TWDB)Y5EZeMC12!23pY^@Y+L{=sVB#7}fbGY;FW8NK*OF7+in})%(3QjZ< zR^o|e#s5Mp0b1#$OVwR_esLy7!}`2K66fuZnAN!N&uTZ4t`3p{OzO5%0BH>vUoY5# z_kfU|Q4NsJfI%moSO)1q=vswe1*gj_i+QQKM?0N6~;NOAoZO{8U^1Sb3@IAq$RrBXdF!2Gt?V8qi z2*FJ_zp824E?jIu=cBDUYFY9Daw-LHr_i2&jvEN9RC24{b8-){4Vb%z{R0?CLvXdh z-YxaH{o7N`?+0NZa-d)PpW^@k0NqJMK~z|UV_+BsqhJ(_f&m7Mq$o~EE+tCcg1Oy9 zo5@0o0~i<>7)ndB89sdYf>lmHfQO;GXDUhNk?a5%m_2793O_X^o-A{i$aMe%G^j}l zZft<$5Ri}%XW-)Gfb$Iu3>X*~7#O4^MHu+_`AK#FMIk^9FzNu3(!lfQ&lr}k*n(AV z>-NKNHKYKN3L=FJj56>E#78${HG&&na4_ILH*RofO={sM9ia&cc<<9F6~Z zczFJwU!dl;ifNA`!{=)DwK?ijwmL1ai+65`nq|=-_w;}U#K@*V11>fh1_r4H-l-1X S4)FjjW$<+Mb6Mw<&;$UZNH`1t literal 0 HcmV?d00001 diff --git a/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/icon.png b/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ad970ef86ab6fcd207d3b645c9dc4fca60c9b275 GIT binary patch literal 552 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCiji0(?STceEJ1y4`$ln{AP+R%~pFx|W`)xgAjQs&CaBAjMG<zVil@v?tT&7Ia>5;8K}8(zwGc4o57FO`}W(Id95-9Iq2rfsrDG#`!i_g5`k_g-4Bc2&!|LW_^`7Ji} zJ_bkkNd2}yvfChiTFl<_^OD4Wg$B9WS1&I(-p|4R&_Yaj{;#d?LC*Gc^>bP0l+XkK Dn!%Q> literal 0 HcmV?d00001 diff --git a/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inducer-bat.png b/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inducer-bat.png new file mode 100644 index 0000000000000000000000000000000000000000..b56cd3f8da48d765b82e879ddb74b69355d86802 GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCiji0(?ST)wT2{OrCM_^w}mZu}wM(_Kdu-u_-{wa~mzPfD}hbkYDhB2w=F^ zyf+dk##!JISZ6sHdx+%Q~lo FCID?QY3~34 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inhand-left.png b/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee7019e8d117c87269d18edf2e1f828082cd23f GIT binary patch literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Qf# zr;B4q#hkaZ4th&FiX7YT^>Inqh34l?olg{mL>yPxN@guwF30kh-$lc#|K67ejv@>H zJ8oRsF6Vu^%BwhwNAZh-)cK}_R5owOoM z<_*(|!z*+2Hx*k>*8G3wuJ)~2JNAEDmiCWr?$uvqNxRZtvHtu#yEg5H_OrOM+24hlf~&VR)jZ$&tLk^} znUEc|5vmL85B5&q@9;%xLdvauFMc;S&GlGu^(VXk2JQvjAr;~oam~DhjhK(85S>9@Gw71K-JgKsV zt&z>Yl4;T1M>@M3mOf=Xv+sZV=Ea4Z!yEa_eBVCu6ufUf|KZQqht_W1Z8SME!g5;K zOr|o%D?iTdIm=PgA}@AH_46yIk_CNExdO^7f2VWpVNr=$a#Y>SI%NN3yM;21vODhP zZQpT9t6^FEg`O=czU^C^^s=r@%Qn6>P5MLaXO=ZgHGI25qlG75-u{W1-*d7}7yH7$ n@%GkY|20@t91(F_!5H3D_~J}uUd>Zrl4J06^>bP0l+XkKt-UKa literal 0 HcmV?d00001 diff --git a/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inhand-right.png b/Resources/Textures/_LP/Objects/Tools/inducer-engi.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..4803ac6ae42a305b5fda478a4b73c79692e0b248 GIT binary patch literal 676 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Qf- zr;B4q#hkaZ{Jo_eC639v+T5(T*#E$-Xo8Zc|ErS;=jFKGZr8BA72U7u`a#;`HM_w7 z33EaOgqC{nFZ5h!?s&n;x9Ziw()o9Jj!l@`yNk2u{qN>f^_i*0pJ(4ZdB|8@yP4i;Jrhc-0beX`wp+lsl1{eN?^_8i7_2h5m#D>N4U+k5kujQ<*j zvR{wO)O6yn+4#iC9A+&$*R0pd{Qdd6&8;`0W<{TfX?lx?xt-Fx%@96oeD}{WII-lN(U~COCjj$-%7s(tZ^HY39XgyDAvGG68 zp9VJKr>-9V%PsKv&zqXvjoBMM?~O?pb(mc+p?ypAeHKMj{{=E)^SVlG!s%PSE%(;y z<@#7(`X{@ZVe(etXKy2{cZb`r_{;ouW_`N!Jg-Op7}DOhR90`VN^4(ozna5rpTWC( zUVrzUyqS>Q%=o#?@27@IZ^F;-@0$MqI&7+!y}l{`lC13E>ksZt{mk{vu7A1QMfG)z zZzHQ+zQ)*nRu<-nR}7P-51@s)pzM%#u8rf@Xg6Vaz6 zyE}FQDc+JGzu^B!fWh{KQX5c$v%n*=n1O-s2naJy)#j513QCl?MwA5SrRIOG-LeC!*_ImNnda%K#lQjNurf$7vNA9NSzbUa4P}FTroqSz z7H0yo4H=mj1b}oD5NEctfW@fF zn0Mlb$PTW%Z!6k)92YHlv+4crjuP(VpMkGuy=OVHbG>F>vgsn{Ga5QeCu|8%?Ah^Z r-u;O?V_WZ>stv18;eRMxueg&@;hb87#{Sj2K|b+x^>bP0l+XkK%lo!^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inducer-bat.png b/Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inducer-bat.png new file mode 100644 index 0000000000000000000000000000000000000000..b56cd3f8da48d765b82e879ddb74b69355d86802 GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCiji0(?ST)wT2{OrCM_^w}mZu}wM(_Kdu-u_-{wa~mzPfD}hbkYDhB2w=F^ zyf+dk##!JISZ6sHdx+%Q~lo FCID?QY3~34 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inhand-left.png b/Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b41ecf5f5c969e5a340d1d707fba1373b97ed1 GIT binary patch literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Qf# zr;B4q#hkaZY&~QgMUMY>^3r#c=8RbRqj#mBqf1M|jv&skm0Nh4ViLQC<$f4j`15HBMeKiW-8ppVPydOxKX!Mh1kB!djuWUn zCH0NG-ub2t_a?q5?sqKAoy%f>cc;4X$Jye$?}8Qc-&@cJcb)-b84{|$-%_-&o_Pv-L{)hY$`omQ^x nU37Fm2V_l4J06^>bP0l+XkKED0zW literal 0 HcmV?d00001 diff --git a/Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inhand-right.png b/Resources/Textures/_LP/Objects/Tools/inducer-rnd.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..8d701579e1bfac088ee8bb79ba41286c6141394a GIT binary patch literal 678 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Qfp zr;B4q#hkaZc6)0(inP}=-d?aw@Sq##$F-qJ#e&kV)`EGdOGDSVxNH#Kovk>jT5#o~8K`L^o{rnX{DYCV2uCAHpO&2wkGQu*qK zOOe3L#l;77LfAR4{9Gq5`~UxkjP0*EPRPY1SEL-1V%+7BtLAa&+`WIdw+i<$t+@QM z*HpV!yza=`V#|^TTH90qmF+LRv#;z}AcJT?r0n)f6L(3uoca9BYRiLvYRzpCXZ+f= zV?OWlYy4x{&^B4m#@7CU$@I;azB%71J@Z;4p}6*1jKwkDt!zt7D!J#(m1%o5`&Q4H zfA3ybek;yrbUHhKwak`gt9UQFaK;p2sZSHjPES`r^PUm|HlMHO$=mqterN9EMejGf zu-zZ{_QP(uaK@h-zg2io(W)=szs?Q-0OL`m_>uL zq_4b0swCje+;8O~^>#eVGEq@rU`P16r= Date: Tue, 20 Jan 2026 13:20:16 +0300 Subject: [PATCH 2/7] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=8F=D0=BC?= =?UTF-8?q?=D0=BB=20=D0=BB=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Objects/Devices/Circuitboards/Machine/production.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml index 31da812e472..f4f2620835e 100644 --- a/Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/_ADT/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -11,8 +11,7 @@ prototype: ADTMegaCellRecharger stackRequirements: Manipulator: 5 - Copper: 10 - Gold: 6 + Gold: 20 Cable: 5 - type: PhysicalComposition materialComposition: From f82216dedeb2bb5686c8a58860912cd37e222ab9 Mon Sep 17 00:00:00 2001 From: KashRas2 Date: Tue, 20 Jan 2026 19:32:31 +0300 Subject: [PATCH 3/7] =?UTF-8?q?=D0=9D=D1=83=20=D0=B4=D0=BE=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D0=BC=20=D0=BC=D0=BD=D0=B5=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=84=D0=B8=D0=B3=20=D0=BD=D0=B0=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_LP/Power/Systems/InducerSystem.cs | 2 +- .../circuitboards/machine/production.ftl | 0 .../entities/objects/power}/megacells.ftl | 0 .../entities/structures/power/chargers.ftl | 0 .../entities/objects/tools/tools.ftl | 15 +++++----- .../Entities/Objects/Power/megacharger.yml | 2 +- .../Entities/Objects/Power/megapowercells.yml | 26 ++++++++-------- .../_LP/Entities/Objects/Tools/inducer.yml | 30 +++++++++---------- .../_LP/Recipes/Lathes/Packs/engineering.yml | 14 ++++++--- .../Prototypes/_LP/Recipes/Lathes/tools.yml | 8 ++--- .../Prototypes/_LP/Research/industrial.yml | 6 ++-- 11 files changed, 54 insertions(+), 49 deletions(-) rename Resources/Locale/ru-RU/{_LP => ss14-ru/_adt}/prototypes/entities/objects/devices/circuitboards/machine/production.ftl (100%) rename Resources/Locale/ru-RU/{_ADT/prototypes/entities/objects => ss14-ru/_adt/prototypes/entities/objects/power}/megacells.ftl (100%) rename Resources/Locale/ru-RU/{_ADT => ss14-ru/_adt}/prototypes/entities/structures/power/chargers.ftl (100%) rename Resources/Locale/ru-RU/{_LP => ss14-ru/_lp}/prototypes/entities/objects/tools/tools.ftl (54%) diff --git a/Content.Server/_LP/Power/Systems/InducerSystem.cs b/Content.Server/_LP/Power/Systems/InducerSystem.cs index 468e37c0c79..029695b6511 100644 --- a/Content.Server/_LP/Power/Systems/InducerSystem.cs +++ b/Content.Server/_LP/Power/Systems/InducerSystem.cs @@ -87,7 +87,7 @@ private void OnDoAfter(EntityUid uid, InducerComponent component, DoAfterEvent a if (!TryComp(slot.Item.Value, out var sourceBattery)) return; - var energyToTransfer = component.TransferRate * component.TransferDelay; + var energyToTransfer = component.TransferRate; energyToTransfer = Math.Min(energyToTransfer, sourceBattery.CurrentCharge); var freeSpace = targetBattery.MaxCharge - targetBattery.CurrentCharge; diff --git a/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/devices/circuitboards/machine/production.ftl b/Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/devices/circuitboards/machine/production.ftl similarity index 100% rename from Resources/Locale/ru-RU/_LP/prototypes/entities/objects/devices/circuitboards/machine/production.ftl rename to Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/devices/circuitboards/machine/production.ftl diff --git a/Resources/Locale/ru-RU/_ADT/prototypes/entities/objects/megacells.ftl b/Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/power/megacells.ftl similarity index 100% rename from Resources/Locale/ru-RU/_ADT/prototypes/entities/objects/megacells.ftl rename to Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/power/megacells.ftl diff --git a/Resources/Locale/ru-RU/_ADT/prototypes/entities/structures/power/chargers.ftl b/Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/structures/power/chargers.ftl similarity index 100% rename from Resources/Locale/ru-RU/_ADT/prototypes/entities/structures/power/chargers.ftl rename to Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/structures/power/chargers.ftl diff --git a/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/tools/tools.ftl b/Resources/Locale/ru-RU/ss14-ru/_lp/prototypes/entities/objects/tools/tools.ftl similarity index 54% rename from Resources/Locale/ru-RU/_LP/prototypes/entities/objects/tools/tools.ftl rename to Resources/Locale/ru-RU/ss14-ru/_lp/prototypes/entities/objects/tools/tools.ftl index 28ac041c2f2..a9bb241c0da 100644 --- a/Resources/Locale/ru-RU/_LP/prototypes/entities/objects/tools/tools.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/_lp/prototypes/entities/objects/tools/tools.ftl @@ -1,13 +1,12 @@ - -ent-LPEngiInducer = индуктор +ent-LPPEngiInducer = индуктор .desc = Устройство для беспроводной передачи энергии от собственной батареи к батареям других устройств. .suffix = Пустой, Инженерный -ent-LPEngiInducerBattery = { ent-LPEngiInducer } - .desc = { ent-LPEngiInducer.desc } +ent-LPPEngiInducerBattery = { ent-LPPEngiInducer } + .desc = { ent-LPPEngiInducer.desc } .suffix = Батарея, Инженерный -ent-LPRNDInducer = { ent-LPEngiInducer } - .desc = { ent-LPEngiInducer.desc } +ent-LPPRNDInducer = { ent-LPPEngiInducer } + .desc = { ent-LPPEngiInducer.desc } .suffix = Пустой, РНД -ent-LPRNDInducerBattery = { ent-LPEngiInducer } - .desc = { ent-LPEngiInducer.desc } +ent-LPPRNDInducerBattery = { ent-LPPEngiInducer } + .desc = { ent-LPPEngiInducer.desc } .suffix = Батарея, РНД diff --git a/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml b/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml index 3607e1d4c9c..4b98751e777 100644 --- a/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml +++ b/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml @@ -26,7 +26,7 @@ - type: PowerCellSlot cellSlotId: charger_slot - type: Charger - chargeRate: 100.0 + chargeRate: 3000.0 slotId: charger_slot - type: ItemSlots slots: diff --git a/Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml b/Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml index 24b47c9dbc7..023ef074e9a 100644 --- a/Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml +++ b/Resources/Prototypes/_ADT/Entities/Objects/Power/megapowercells.yml @@ -26,7 +26,7 @@ - type: Extractable juiceSolution: reagents: - - ReagentId: Gold # LP Edit + - ReagentId: Gold Quantity: 15 - type: Tag tags: @@ -51,8 +51,8 @@ state: o2 shader: unshaded - type: Battery - maxCharge: 10800 - startingCharge: 10800 + maxCharge: 62500 + startingCharge: 62500 - type: Tag tags: - ADTMegaCell @@ -71,7 +71,7 @@ shader: unshaded visible: false - type: Battery - maxCharge: 10800 + maxCharge: 62500 startingCharge: 0 - type: entity @@ -89,8 +89,8 @@ state: o2 shader: unshaded - type: Battery - maxCharge: 21600 - startingCharge: 21600 + maxCharge: 125000 + startingCharge: 125000 - type: entity id: ADTMegaCellMediumPrinted @@ -106,7 +106,7 @@ shader: unshaded visible: false - type: Battery - maxCharge: 21600 + maxCharge: 125000 startingCharge: 0 - type: entity @@ -124,8 +124,8 @@ state: o2 shader: unshaded - type: Battery - maxCharge: 32400 - startingCharge: 32400 + maxCharge: 187500 + startingCharge: 187500 - type: entity id: ADTMegaCellHighPrinted @@ -141,7 +141,7 @@ shader: unshaded visible: false - type: Battery - maxCharge: 32400 + maxCharge: 187500 startingCharge: 0 - type: entity @@ -159,8 +159,8 @@ state: o2 shader: unshaded - type: Battery - maxCharge: 48600 - startingCharge: 48600 + maxCharge: 250000 + startingCharge: 250000 - type: entity id: ADTMegaCellHyperPrinted @@ -176,7 +176,7 @@ shader: unshaded visible: false - type: Battery - maxCharge: 48600 + maxCharge: 250000 startingCharge: 0 - type: entity diff --git a/Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml b/Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml index d1c877866ff..9378538e072 100644 --- a/Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml +++ b/Resources/Prototypes/_LP/Entities/Objects/Tools/inducer.yml @@ -1,6 +1,6 @@ - type: entity parent: BaseItem - id: LPEngiInducer + id: LPPEngiInducer name: inducer description: A device for wirelessly transferring energy from a battery to other devices. suffix: Empty, Engineering @@ -12,12 +12,12 @@ size: Small - type: Inducer availableTransferRates: - - 500 - - 2500 - - 5000 - 7500 - transferRate: 500 - transferDelay: 1 + - 10000 + - 12000 + - 15000 + transferRate: 7500 + transferDelay: 2.5 maxDistance: 3 - type: PowerCellSlot cellSlotId: inducer_power_cell_slot @@ -43,8 +43,8 @@ - type: Appearance - type: entity - parent: LPEngiInducer - id: LPEngiInducerBattery + parent: LPPEngiInducer + id: LPPEngiInducerBattery name: inducer description: A device for wirelessly transferring energy from a battery to other devices. suffix: Battery, Engineering @@ -55,8 +55,8 @@ startingItem: ADTMegaCellMedium - type: entity - parent: LPEngiInducer - id: LPRNDInducer + parent: LPPEngiInducer + id: LPPRNDInducer name: inducer description: A device for wirelessly transferring energy from a battery to other devices. suffix: Empty, RND @@ -66,9 +66,9 @@ state: icon - type: Inducer availableTransferRates: - - 900 - transferRate: 900 - transferDelay: 0.09 + - 3750 + transferRate: 3750 + transferDelay: 1 maxDistance: 6 - type: ItemMapper mapLayers: @@ -79,8 +79,8 @@ sprite: _LP/Objects/Tools/inducer-rnd.rsi - type: entity - parent: LPRNDInducer - id: LPRNDInducerBattery + parent: LPPRNDInducer + id: LPPRNDInducerBattery name: inducer description: A device for wirelessly transferring energy from a battery to other devices. suffix: Battery, RND diff --git a/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml index f63b63a142c..29fad9c7371 100644 --- a/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml +++ b/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml @@ -1,9 +1,15 @@ - type: latheRecipePack - id: LPRNDInducer + id: LPPRNDInducer recipes: - - LPRNDInducerRecipe + - LPPRNDInducerRecipe - type: latheRecipePack - id: LPEngiInducer + id: LPPEngiInducer recipes: - - LPEngiInducerRecipe + - LPPEngiInducerRecipe + +- type: latheRecipePack + id: LPPInducerBoth + recipes: + - LPPEngiInducerRecipe + - LPPRNDInducerRecipe diff --git a/Resources/Prototypes/_LP/Recipes/Lathes/tools.yml b/Resources/Prototypes/_LP/Recipes/Lathes/tools.yml index add0b9c63eb..32bff927ae5 100644 --- a/Resources/Prototypes/_LP/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/_LP/Recipes/Lathes/tools.yml @@ -1,14 +1,14 @@ - type: latheRecipe - id: LPRNDInducerRecipe - result: LPRNDInducer + id: LPPRNDInducerRecipe + result: LPPRNDInducer completetime: 8 materials: Steel: 1000 Plastic: 100 - type: latheRecipe - id: LPEngiInducerRecipe - result: LPEngiInducer + id: LPPEngiInducerRecipe + result: LPPEngiInducer completetime: 8 materials: Steel: 1000 diff --git a/Resources/Prototypes/_LP/Research/industrial.yml b/Resources/Prototypes/_LP/Research/industrial.yml index b60169a0975..58d83172adc 100644 --- a/Resources/Prototypes/_LP/Research/industrial.yml +++ b/Resources/Prototypes/_LP/Research/industrial.yml @@ -1,5 +1,5 @@ - type: technology - id: LPInducer + id: LPPInducer name: research-technology-inducer icon: sprite: _LP/Objects/Tools/inducer-rnd.rsi @@ -8,8 +8,8 @@ tier: 2 cost: 10000 recipeUnlocks: - - LPRNDInducerRecipe - - LPEngiInducerRecipe + - LPPRNDInducerRecipe + - LPPEngiInducerRecipe position: 1,-8 technologyPrerequisites: - ADTMegaCells From 4bfdc2aa2dcccb7e688d16d9635e61660c03def7 Mon Sep 17 00:00:00 2001 From: KashRas2 Date: Tue, 20 Jan 2026 23:10:37 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D0=B4=D1=83=D1=88=D0=BD=D0=B8=D0=BB=D0=B0?= =?UTF-8?q?=20=D0=A2=D0=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entities/objects/devices/circuitboards/machine/production.ftl | 0 .../_adt}/entities/objects/power/megacells.ftl | 0 .../_adt}/entities/structures/power/chargers.ftl | 0 .../_lp}/entities/objects/tools/tools.ftl | 0 .../_ADT/Entities/{Objects => Structures}/Power/megacharger.yml | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename Resources/Locale/ru-RU/ss14-ru/{_adt/prototypes => prototypes/_adt}/entities/objects/devices/circuitboards/machine/production.ftl (100%) rename Resources/Locale/ru-RU/ss14-ru/{_adt/prototypes => prototypes/_adt}/entities/objects/power/megacells.ftl (100%) rename Resources/Locale/ru-RU/ss14-ru/{_adt/prototypes => prototypes/_adt}/entities/structures/power/chargers.ftl (100%) rename Resources/Locale/ru-RU/ss14-ru/{_lp/prototypes => prototypes/_lp}/entities/objects/tools/tools.ftl (100%) rename Resources/Prototypes/_ADT/Entities/{Objects => Structures}/Power/megacharger.yml (100%) diff --git a/Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/devices/circuitboards/machine/production.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_adt/entities/objects/devices/circuitboards/machine/production.ftl similarity index 100% rename from Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/devices/circuitboards/machine/production.ftl rename to Resources/Locale/ru-RU/ss14-ru/prototypes/_adt/entities/objects/devices/circuitboards/machine/production.ftl diff --git a/Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/power/megacells.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_adt/entities/objects/power/megacells.ftl similarity index 100% rename from Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/objects/power/megacells.ftl rename to Resources/Locale/ru-RU/ss14-ru/prototypes/_adt/entities/objects/power/megacells.ftl diff --git a/Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/structures/power/chargers.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_adt/entities/structures/power/chargers.ftl similarity index 100% rename from Resources/Locale/ru-RU/ss14-ru/_adt/prototypes/entities/structures/power/chargers.ftl rename to Resources/Locale/ru-RU/ss14-ru/prototypes/_adt/entities/structures/power/chargers.ftl diff --git a/Resources/Locale/ru-RU/ss14-ru/_lp/prototypes/entities/objects/tools/tools.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_lp/entities/objects/tools/tools.ftl similarity index 100% rename from Resources/Locale/ru-RU/ss14-ru/_lp/prototypes/entities/objects/tools/tools.ftl rename to Resources/Locale/ru-RU/ss14-ru/prototypes/_lp/entities/objects/tools/tools.ftl diff --git a/Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml b/Resources/Prototypes/_ADT/Entities/Structures/Power/megacharger.yml similarity index 100% rename from Resources/Prototypes/_ADT/Entities/Objects/Power/megacharger.yml rename to Resources/Prototypes/_ADT/Entities/Structures/Power/megacharger.yml From 9aacfc1a0bc5bcdb512a9ec3044e1a41b7fa4876 Mon Sep 17 00:00:00 2001 From: KashRas2 Date: Tue, 20 Jan 2026 23:21:58 +0300 Subject: [PATCH 5/7] =?UTF-8?q?=D0=93=D1=83=D0=B1=D1=81=D1=82=D0=B5=D0=B9?= =?UTF-8?q?=D1=88=D0=BD=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=84=D0=B5=D0=BC=D0=B1=D0=BE=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources/Prototypes/_ADT/Research/industrial.yml | 4 ++-- Resources/Prototypes/_LP/Research/industrial.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/_ADT/Research/industrial.yml b/Resources/Prototypes/_ADT/Research/industrial.yml index b4029df2d2f..4de00826291 100644 --- a/Resources/Prototypes/_ADT/Research/industrial.yml +++ b/Resources/Prototypes/_ADT/Research/industrial.yml @@ -11,7 +11,7 @@ - ADTMegaCellRechargerCircuitboardRecipe - ADTMegaCellSmallRecipe - ADTMegaCellMediumRecipe - position: 1,-7 # LP Edit + position: 1,-8 # LP Edit technologyPrerequisites: - AdvancedPowercells @@ -27,6 +27,6 @@ recipeUnlocks: - ADTMegaCellHighRecipe - ADTMegaCellHyperRecipe - position: 1,-9 # LP Edit + position: 1,-10 # LP Edit technologyPrerequisites: - LPInducer # LP Edit diff --git a/Resources/Prototypes/_LP/Research/industrial.yml b/Resources/Prototypes/_LP/Research/industrial.yml index 58d83172adc..e8587996ba6 100644 --- a/Resources/Prototypes/_LP/Research/industrial.yml +++ b/Resources/Prototypes/_LP/Research/industrial.yml @@ -10,6 +10,6 @@ recipeUnlocks: - LPPRNDInducerRecipe - LPPEngiInducerRecipe - position: 1,-8 + position: 1,-9 technologyPrerequisites: - ADTMegaCells From f8e1e45ac41141f0b2116639a92c9f884c4fd50d Mon Sep 17 00:00:00 2001 From: KashRas2 Date: Wed, 21 Jan 2026 00:34:48 +0300 Subject: [PATCH 6/7] here i am --- Resources/Prototypes/_ADT/Research/industrial.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_ADT/Research/industrial.yml b/Resources/Prototypes/_ADT/Research/industrial.yml index 4de00826291..813ba98467f 100644 --- a/Resources/Prototypes/_ADT/Research/industrial.yml +++ b/Resources/Prototypes/_ADT/Research/industrial.yml @@ -29,4 +29,4 @@ - ADTMegaCellHyperRecipe position: 1,-10 # LP Edit technologyPrerequisites: - - LPInducer # LP Edit + - LPPInducer # LP Edit From 563f73275828ee332c3943944b66573e815f0a87 Mon Sep 17 00:00:00 2001 From: KashRas2 Date: Wed, 21 Jan 2026 02:33:52 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=94=D0=BE=20=D0=BB=D1=83=D1=87=D1=88?= =?UTF-8?q?=D0=B8=D1=85=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_ADT/Recipes/Lathes/Packs/engineering.yml | 22 +++---- .../Prototypes/_ADT/Research/industrial.yml | 62 +++++++++---------- .../_LP/Recipes/Lathes/Packs/engineering.yml | 26 ++++---- .../Prototypes/_LP/Research/industrial.yml | 30 ++++----- 4 files changed, 70 insertions(+), 70 deletions(-) diff --git a/Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml index 7041ea8b92a..d2c454ffd02 100644 --- a/Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml +++ b/Resources/Prototypes/_ADT/Recipes/Lathes/Packs/engineering.yml @@ -1,12 +1,12 @@ -- type: latheRecipePack - id: ADTMegaCellPack - recipes: - - ADTMegaCellSmallRecipe - - ADTMegaCellMediumRecipe - - ADTMegaCellHighRecipe - - ADTMegaCellHyperRecipe +# - type: latheRecipePack +# id: ADTMegaCellPack +# recipes: +# - ADTMegaCellSmallRecipe +# - ADTMegaCellMediumRecipe +# - ADTMegaCellHighRecipe +# - ADTMegaCellHyperRecipe -- type: latheRecipePack - id: ADTMegaCharger - recipes: - - ADTMegaCellRechargerCircuitboardRecipe +# - type: latheRecipePack +# id: ADTMegaCharger +# recipes: +# - ADTMegaCellRechargerCircuitboardRecipe diff --git a/Resources/Prototypes/_ADT/Research/industrial.yml b/Resources/Prototypes/_ADT/Research/industrial.yml index 813ba98467f..b672a4b0038 100644 --- a/Resources/Prototypes/_ADT/Research/industrial.yml +++ b/Resources/Prototypes/_ADT/Research/industrial.yml @@ -1,32 +1,32 @@ -- type: technology - id: ADTMegaCells - name: research-technology-basemegacells - icon: - sprite: _ADT/Objects/Devices/megacells.rsi - state: megacell - discipline: Industrial - tier: 2 - cost: 15000 - recipeUnlocks: - - ADTMegaCellRechargerCircuitboardRecipe - - ADTMegaCellSmallRecipe - - ADTMegaCellMediumRecipe - position: 1,-8 # LP Edit - technologyPrerequisites: - - AdvancedPowercells +# - type: technology +# id: ADTMegaCells +# name: research-technology-basemegacells +# icon: +# sprite: _ADT/Objects/Devices/megacells.rsi +# state: megacell +# discipline: Industrial +# tier: 2 +# cost: 15000 +# recipeUnlocks: +# - ADTMegaCellRechargerCircuitboardRecipe +# - ADTMegaCellSmallRecipe +# - ADTMegaCellMediumRecipe +# position: 1,-8 # LP Edit +# technologyPrerequisites: +# - AdvancedPowercells -- type: technology - id: ADTMegaCellsAdvanced - name: research-technology-advancedmegacells - icon: - sprite: _ADT/Objects/Devices/megacells.rsi - state: hyp_megacell - discipline: Industrial - tier: 3 - cost: 35000 - recipeUnlocks: - - ADTMegaCellHighRecipe - - ADTMegaCellHyperRecipe - position: 1,-10 # LP Edit - technologyPrerequisites: - - LPPInducer # LP Edit +# - type: technology +# id: ADTMegaCellsAdvanced +# name: research-technology-advancedmegacells +# icon: +# sprite: _ADT/Objects/Devices/megacells.rsi +# state: hyp_megacell +# discipline: Industrial +# tier: 3 +# cost: 35000 +# recipeUnlocks: +# - ADTMegaCellHighRecipe +# - ADTMegaCellHyperRecipe +# position: 1,-10 # LP Edit +# technologyPrerequisites: +# - LPPInducer # LP Edit diff --git a/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml index 29fad9c7371..7c6fb1e5d2d 100644 --- a/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml +++ b/Resources/Prototypes/_LP/Recipes/Lathes/Packs/engineering.yml @@ -1,15 +1,15 @@ -- type: latheRecipePack - id: LPPRNDInducer - recipes: - - LPPRNDInducerRecipe +# - type: latheRecipePack +# id: LPPRNDInducer +# recipes: +# - LPPRNDInducerRecipe -- type: latheRecipePack - id: LPPEngiInducer - recipes: - - LPPEngiInducerRecipe +# - type: latheRecipePack +# id: LPPEngiInducer +# recipes: +# - LPPEngiInducerRecipe -- type: latheRecipePack - id: LPPInducerBoth - recipes: - - LPPEngiInducerRecipe - - LPPRNDInducerRecipe +# - type: latheRecipePack +# id: LPPInducerBoth +# recipes: +# - LPPEngiInducerRecipe +# - LPPRNDInducerRecipe diff --git a/Resources/Prototypes/_LP/Research/industrial.yml b/Resources/Prototypes/_LP/Research/industrial.yml index e8587996ba6..9e84584f25b 100644 --- a/Resources/Prototypes/_LP/Research/industrial.yml +++ b/Resources/Prototypes/_LP/Research/industrial.yml @@ -1,15 +1,15 @@ -- type: technology - id: LPPInducer - name: research-technology-inducer - icon: - sprite: _LP/Objects/Tools/inducer-rnd.rsi - state: icon - discipline: Industrial - tier: 2 - cost: 10000 - recipeUnlocks: - - LPPRNDInducerRecipe - - LPPEngiInducerRecipe - position: 1,-9 - technologyPrerequisites: - - ADTMegaCells +# - type: technology +# id: LPPInducer +# name: research-technology-inducer +# icon: +# sprite: _LP/Objects/Tools/inducer-rnd.rsi +# state: icon +# discipline: Industrial +# tier: 2 +# cost: 10000 +# recipeUnlocks: +# - LPPRNDInducerRecipe +# - LPPEngiInducerRecipe +# position: 1,-9 +# technologyPrerequisites: +# - ADTMegaCells