diff --git a/Content.Server/Actions/ActionOnInteractSystem.cs b/Content.Server/Actions/ActionOnInteractSystem.cs index 657ab46d60..093db0e9a9 100644 --- a/Content.Server/Actions/ActionOnInteractSystem.cs +++ b/Content.Server/Actions/ActionOnInteractSystem.cs @@ -2,6 +2,7 @@ using Content.Shared.Actions; using Content.Shared.Interaction; using Robust.Shared.Random; using Robust.Shared.Timing; +using System.Linq; namespace Content.Server.Actions; @@ -58,13 +59,21 @@ public sealed class ActionOnInteractSystem : EntitySystem private void OnAfterInteract(EntityUid uid, ActionOnInteractComponent component, AfterInteractEvent args) { - if (args.Handled || component.ActionEntities == null) + if (args.Handled) return; + if (component.ActionEntities is not { } actionEnts) + { + if (!TryComp(uid, out var actionsContainerComponent)) + return; + + actionEnts = actionsContainerComponent.Container.ContainedEntities.ToList(); + } + // First, try entity target actions if (args.Target != null) { - var entOptions = GetValidActions(component.ActionEntities, args.CanReach); + var entOptions = GetValidActions(actionEnts, args.CanReach); for (var i = entOptions.Count - 1; i >= 0; i--) { var action = entOptions[i]; @@ -77,8 +86,6 @@ public sealed class ActionOnInteractSystem : EntitySystem var (entActId, entAct) = _random.Pick(entOptions); if (entAct.Event != null) { - entAct.Event.Performer = args.User; - entAct.Event.Action = entActId; entAct.Event.Target = args.Target.Value; } @@ -87,29 +94,6 @@ public sealed class ActionOnInteractSystem : EntitySystem return; } } - - // else: try world target actions - var options = GetValidActions(component.ActionEntities, args.CanReach); - for (var i = options.Count - 1; i >= 0; i--) - { - var action = options[i]; - if (!_actions.ValidateWorldTarget(args.User, args.ClickLocation, action)) - options.RemoveAt(i); - } - - if (options.Count == 0) - return; - - var (actId, act) = _random.Pick(options); - if (act.Event != null) - { - act.Event.Performer = args.User; - act.Event.Action = actId; - act.Event.Target = args.ClickLocation; - } - - _actions.PerformAction(args.User, null, actId, act, act.Event, _timing.CurTime, false); - args.Handled = true; } private bool ValidAction(BaseActionComponent action, bool canReach = true) diff --git a/Content.Server/_White/Halt/HaltComponent.cs b/Content.Server/_White/Halt/HaltComponent.cs index 9a74b77148..37ab1c2c71 100644 --- a/Content.Server/_White/Halt/HaltComponent.cs +++ b/Content.Server/_White/Halt/HaltComponent.cs @@ -23,7 +23,6 @@ public sealed partial class HaltComponent : Component ["dontmove-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/dontmove.ogg"), ["floor-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/floor.ogg"), ["robocop-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/robocop.ogg"), - ["god-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/god.ogg"), ["freeze-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/freeze.ogg"), ["imperial-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/imperial.ogg"), ["bash-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/bash.ogg"), @@ -31,7 +30,6 @@ public sealed partial class HaltComponent : Component ["asshole-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/asshole.ogg"), ["stfu-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/stfu.ogg"), ["shutup-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/shutup.ogg"), - ["super-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/super.ogg"), ["dredd-phrase"] = new SoundPathSpecifier("/Audio/Voice/Complionator/dredd.ogg") }; } diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index 9e2711982e..f8487773be 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,50 +1,4 @@ Entries: -- author: RavMorgan - changes: - - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0433\u043E\u0432\ - \u043D\u043E\u0447\u0430\u0442!" - type: Add - id: 133 - time: '2023-04-09T21:34:26.0000000+00:00' -- author: BELNAKBU - changes: - - message: "\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0430 \u0434\u0430\u043B\ - \u044C\u043D\u043E\u0441\u0442\u044C \u043E\u0441\u043C\u043E\u0442\u0440\u0430\ - \ \u0430\u0439\u0434\u0438 \u043A\u0430\u0440\u0442\u044B." - type: Tweak - - message: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0441\ - \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0439 \u043E\u0433\ - \u043D\u0435\u0442\u0443\u0448\u0438\u0442\u0435\u043B\u044F \u0443\u0432\u0435\ - \u043B\u0438\u0447\u0435\u043D\u043E \u0434\u043E 10 \u0432\u043C\u0435\u0441\ - \u0442\u043E 6.6. \u0421\u0438\u043B\u0430 \u043E\u0442\u0442\u0430\u043B\u043A\ - \u0438\u0432\u0430\u043D\u0438\u044F \u0443\u0432\u0435\u043B\u0438\u0447\u0435\ - \u043D\u0430 \u0432\u0442\u0440\u043E\u0435" - type: Tweak - - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u0448\u043F\u0440\u0438\u0446\u044B\ - \ \u0438 \u0433\u0438\u043F\u043E\u0441\u043F\u0440\u0435\u0438 \u043D\u0435\ - \ \u043F\u0440\u043E\u0431\u0438\u0432\u0430\u044E\u0442 \u0441\u043A\u0432\u043E\ - \u0437\u044C \u0441\u043A\u0430\u0444\u0430\u043D\u0434\u0440\u044B, \u043A\u043E\ - \u0441\u0442\u044E\u043C\u044B \u0431\u0438\u043E/\u0440\u0430\u0434\u0438\u043E\ - \u0437\u0430\u0449\u0438\u0442\u044B \u0438 \u0441\u0430\u043F\u0435\u0440\u043D\ - \u0443\u044E \u0431\u0440\u043E\u043D\u044E, \u043E\u0434\u043D\u0430\u043A\u043E\ - \ \u0435\u0441\u043B\u0438 \u0448\u043B\u0435\u043C \u0441\u043D\u044F\u0442\ - , \u043E\u043D\u0438 \u043F\u043E \u043F\u0440\u0435\u0436\u043D\u0435\u043C\ - \u0443 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442" - type: Add - - message: "\u0412\u044B\u0441\u0442\u0440\u0435\u043B\u044B \u0434\u0438\u0437\u0435\ - \u0439\u0431\u043B\u0435\u0440\u0430 \u043F\u0440\u043E\u0445\u043E\u0434\u044F\ - \u0442 \u0441\u043A\u0432\u043E\u0437\u044C \u0441\u0442\u0435\u043A\u043B\u043E" - type: Fix - id: 134 - time: '2023-04-09T21:46:00.0000000+00:00' -- author: Valtos - changes: - - message: "banlist \u0441\u043D\u043E\u0432\u0430 \u0432\u044B\u0432\u043E\u0434\ - \u0438\u0442 \u0431\u0430\u043D\u044B \u0441\u043E \u0432\u0441\u0435\u0445\ - \ \u0441\u0435\u0440\u0432\u0435\u0440\u043E\u0432." - type: Fix - id: 135 - time: '2023-04-09T22:20:52.0000000+00:00' - author: Valtos changes: - message: "\u0424\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u044F \u0441\u043B\ @@ -8907,3 +8861,39 @@ id: 632 time: '2024-12-15T15:12:30.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/827 +- author: Ivangelion + changes: + - message: "\u0424\u0438\u043A\u0441 RGB \u043F\u043E\u0441\u043E\u0445\u0430. \u0418\ + \u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 \u0441\u0432\u0435\u0442\u0430\ + \ \u0431\u0443\u0434\u0443\u0442 \u043F\u0435\u0440\u0435\u043B\u0438\u0432\u0430\ + \u0442\u044C\u0441\u044F \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0446\u0432\ + \u0435\u0442\u0430\u043C\u0438 \u0435\u0441\u043B\u0438 \u043A\u043B\u0438\u043A\ + \u0430\u0442\u044C \u043F\u043E \u043D\u0438\u043C \u043F\u043E\u0441\u043E\u0445\ + \u043E\u043C" + type: Fix + id: 633 + time: '2024-12-21T13:57:37.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/835 +- author: BIG_Zi_348 + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u043D\u0435\u0441\ + \u043A\u043E\u043B\u044C\u043A\u043E \u043D\u043E\u0432\u043E\u0433\u043E\u0434\ + \u043D\u0438\u0445 \u0432\u0435\u0449\u0435\u0439." + type: Add + id: 634 + time: '2024-12-21T14:36:41.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/837 +- author: Hero_010 + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u043B\u043E\u043A\ + \u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0441\u0438\u043D\u0445\u0440\ + \u043E\u043D\u0438\u0437\u0430\u0442\u043E\u0440\u0430 \u0430\u043D\u043E\u043C\ + \u0430\u043B\u0438\u0439." + type: Add + - message: "\u0423\u0431\u0440\u0430\u043D\u044B \u043B\u0438\u0448\u043D\u0438\u0435\ + \ \u0444\u0440\u0430\u0437\u044B \u0443 \u043C\u0430\u0441\u043A\u0438 \u0421\ + \u0411." + type: Remove + id: 635 + time: '2024-12-21T20:30:21.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/836 diff --git a/Resources/Locale/ru-RU/_white/hailer.ftl b/Resources/Locale/ru-RU/_white/hailer.ftl index da53675416..9e60eccc7a 100644 --- a/Resources/Locale/ru-RU/_white/hailer.ftl +++ b/Resources/Locale/ru-RU/_white/hailer.ftl @@ -7,8 +7,7 @@ justice-phrase = Приготовьтесь к справедливости! running-phrase = Бег только увеличит ваш срок. dontmove-phrase = Не двигаться, уёбок! floor-phrase = На пол, сука! -robocop-phrase = Мёртвый или живой ты пойдешь со мной. -god-phrase = Бог создал сегодня для жуликов, которых мы не могли поймать вчера. +robocop-phrase = Мёртвый или живой - ты пойдешь со мной. freeze-phrase = Замри, подонок! imperial-phrase = Стоять, преступная мразь! bash-phrase = Остановись или я тебя ударю. @@ -16,5 +15,5 @@ harry-phrase = Сделай мой день. asshole-phrase = Хватит нарушать закон, гадина. stfu-phrase = Вы имеете право завалить ебало. shutup-phrase = Заткнись нахуй! -super-phrase = Сейчас ты познаешь гнев золотой сферы. dredd-phrase = Я ЗАКОН! + diff --git a/Resources/Locale/ru-RU/_white/items/ItemFunSnowglobe.ftl b/Resources/Locale/ru-RU/_white/items/ItemFunSnowglobe.ftl new file mode 100644 index 0000000000..af31da62c1 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/items/ItemFunSnowglobe.ftl @@ -0,0 +1,2 @@ +ent-ItemFunSnowglobe = снежный шар + .desc = Заключённая зима, вечно жаждущая свободы. diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl index de7ad8207d..55bd4c1e31 100644 --- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl +++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-104.ftl @@ -9,9 +9,12 @@ ent-BodyBag = мешок для тел ent-AnomalyLocatorUnpowered = локатор аномалий .desc = Устройство, предназначенное для помощи в обнаружении аномалий. Вы проверили газодобытчиков? .suffix = Без питания -ent-AnomalyLocatorWideUnpowered = широкополосный локатор аномалий +ent-AnomalyLocatorWide = широкополосный локатор аномалий .desc = Устройство, которое ищет аномалии с увеличенного расстояния, но не имеет возможности определить расстояние до них. - .suffix = Без питания +ent-AnomalyLocatorWideUnpowered = { ent-AnomalyLocatorWide } + .desc = { ent-AnomalyLocatorWide.desc } +ent-AnomalyLocatorWideEmpty = { ent-AnomalyLocatorWide } + .desc = { ent-AnomalyLocatorWide.desc } ent-BorgModuleCable = кабельный кибернетический модуль .desc = кабельный кибернетический модуль ent-BorgModuleGPS = GPS-модуль кибернетики diff --git a/Resources/Locale/ru-RU/_white/prototypes/entities/clothing/OuterClothing/reindeer_sweater.ftl b/Resources/Locale/ru-RU/_white/prototypes/entities/clothing/OuterClothing/reindeer_sweater.ftl new file mode 100644 index 0000000000..e9313508e7 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/prototypes/entities/clothing/OuterClothing/reindeer_sweater.ftl @@ -0,0 +1,2 @@ +ent-ClothingOuterReindeerSweater = свитер с оленями + .desc = Уютный свитер, созданный специально для поддержания праздничного настроения. diff --git a/Resources/Locale/ru-RU/_white/structures/christmas_lights.ftl b/Resources/Locale/ru-RU/_white/structures/christmas_lights.ftl new file mode 100644 index 0000000000..f31721ad5f --- /dev/null +++ b/Resources/Locale/ru-RU/_white/structures/christmas_lights.ftl @@ -0,0 +1,2 @@ +ent-ChristmasLights = новогодние гирлянды + .desc = Чувство праздника. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl index 59f242f1fe..3305fb6980 100644 --- a/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl @@ -10,6 +10,10 @@ ent-PinpointerUniversal = универсальный пинпоинтер .desc = Портативное устройство слежения, которое фиксируется на любом физическом объекте в выключенном состоянии. ent-HandheldStationMap = карта станции .desc = Отображает показания текущей станции. +ent-HandheldStationMapUnpowered = { ent-HandheldStationMap } + .desc = { ent-HandheldStationMap.desc } +ent-HandheldStationMapEmpty = { ent-HandheldStationMap } + .desc = { ent-HandheldStationMap.desc } ent-StationRecordsComputerCircuitboard = компьютерная плата записей станции .desc = Компьютерная печатная плата для компьютера, записывающего станцию. ent-CargoBountyComputerCircuitboard = компьютерная плата грузовых наград diff --git a/Resources/Locale/ru-RU/machine-linking/receiver_ports.ftl b/Resources/Locale/ru-RU/machine-linking/receiver_ports.ftl index 01878dccd8..d23e3ccfad 100644 --- a/Resources/Locale/ru-RU/machine-linking/receiver_ports.ftl +++ b/Resources/Locale/ru-RU/machine-linking/receiver_ports.ftl @@ -1,54 +1,83 @@ signal-port-name-autoclose = Автозакрытие signal-port-description-autoclose = Переключает, должно ли устройство автоматически закрываться. + signal-port-name-toggle = Переключить signal-port-description-toggle = Переключает состояние устройства. + signal-port-name-on-receiver = Вкл signal-port-description-on-receiver = Включает устройство. + signal-port-name-off-receiver = Выкл signal-port-description-off-receiver = Выключает устройство. + signal-port-name-forward = Вперёд signal-port-description-forward = Заставляет устройство (например, конвейер) работать в нормальном направлении. + signal-port-name-reverse = Обратно signal-port-description-reverse = Заставляет устройство (например, конвейер) работать в обратном направлении. + signal-port-name-open = Открыть signal-port-description-open = Открывает устройство. + signal-port-name-close = Закрыть signal-port-description-close = Закрывает устройство. + signal-port-name-doorbolt = Дверные болты signal-port-description-doorbolt = Переключает дверные болты. + signal-port-name-trigger = Триггер signal-port-description-trigger = Запускает определенный механизм на устройстве. + signal-port-name-order-sender = Отправитель заказа signal-port-description-order-sender = Отправитель заказа на компьютер карго + signal-port-name-order-receiver = Получатель заказа signal-port-description-order-receiver = Получатель заказа на компьютер карго + signal-port-name-pressurize = Нагнетатель давления signal-port-description-pressurize = Заставляет устройство закачивать воздух, пока не будет достигнуто заданное давление. + signal-port-name-depressurize = Сбрасыватель давления signal-port-description-depressurize = Заставляет устройство откачивать воздух, пока не будет достигнуто заданное давление. + signal-port-name-pod-sender = Капсула клонирования signal-port-description-pod-sender = Передатчик сигнала капсулы клонирования + signal-port-name-pod-receiver = Капсула клонирования signal-port-description-pod-receiver = Приёмник сигнала капсулы клонирования + signal-port-name-med-scanner-sender = Медицинский сканер signal-port-description-med-scanner-sender = Передатчик сигнала медицинского сканера + signal-port-name-med-scanner-receiver = Медицинский сканер signal-port-description-med-scanner-receiver = Приёмник сигнала медицинского сканера + signal-port-name-artifact-analyzer-sender = Консоль signal-port-description-artifact-analyzer-sender = Передатчик сигнала аналитической консоли + signal-port-name-artifact-analyzer-receiver = Платформа signal-port-description-artifact-analyzer-receiver = Приёмник сигнала анализатора артефактов + signal-port-name-hold-open = Держать открытой. signal-port-description-hold-open = Выключает авто закрытие. + signal-port-name-set-particle-delta = Установить тип частицы: дельта signal-port-description-set-particle-delta = Устанавливает тип частицы, испускаемой этим устройством, на дельта. + signal-port-name-set-particle-epsilon = Установить тип частицы: эпсилон signal-port-description-set-particle-epsilon = Устанавливает тип частицы, испускаемой этим устройством, на эпсилон. + signal-port-name-set-particle-zeta = Установить тип частицы: зета -signal-port-description-set-particle-zeta = Устанавливает тип частицы, испускаемой этим устройством, на зета.. +signal-port-description-set-particle-zeta = Устанавливает тип частицы, испускаемой этим устройством, на зета. + +signal-port-name-set-particle-sigma = Установить тип частицы: сигма +signal-port-description-set-particle-sigma = Устанавливает тип частицы, испускаемой этим устройством, на сигма. + signal-port-name-logic-input-a = Вход А signal-port-description-logic-input-a = Первый вход логического элемента. + signal-port-name-logic-input-b = Вход Б signal-port-description-logic-input-b = Второй вход логического элемента. + signal-port-name-logic-input = Вход signal-port-description-logic-input = Вход в край детектора, не может быть импульсным сигналом. diff --git a/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl b/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl index 88d5a6d68e..f8c6d5351d 100644 --- a/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl +++ b/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl @@ -1,25 +1,71 @@ signal-port-name-pressed = Нажато signal-port-description-pressed = Этот порт задействуется всякий раз, когда передатчик активируется. + signal-port-name-on-transmitter = Вкл signal-port-description-on-transmitter = Этот порт задействуется всякий раз, когда передатчик включён. + signal-port-name-off-transmitter = Выкл signal-port-description-off-transmitter = Этот порт задействуется всякий раз, когда передатчик выключен. + signal-port-name-status-transmitter = Статус +signal-port-description-status-transmitter = Этот порт задействуется с высоким или низким уровнем, в зависимости от состояния передатчика. + signal-port-name-left = Налево signal-port-description-left = Этот порт задействуется всякий раз, когда рычаг перемещается в крайнее левое положение. + signal-port-name-right = Направо signal-port-description-right = Этот порт задействуется всякий раз, когда рычаг перемещается в крайнее правое положение. -signal-port-name-doorstatus = Статус двери -signal-port-description-doorstatus = Этот порт вызывается всякий раз, когда меняется статус двери. + +signal-port-name-doorstatus = Статус шлюза +signal-port-description-doorstatus = Этот порт задействуется с высоким уровнем когда с устройством взаимодействуют, и низким уровнем в закрытом состоянии. + +signal-port-name-dockstatus = Статус дока +signal-port-description-dockstatus = Этот порт задействуется с высоким уровнем когда устройство состыковано, и низким уровнем когда отстыковано. + signal-port-name-middle = Середина signal-port-description-middle = Этот порт задействуется всякий раз, когда рычаг перемещается в нейтральное положение. + signal-port-name-timer-trigger = Конец таймера signal-port-description-timer-trigger = Этот порт, задействует всякий раз, когда отчет таймера заканчивается. + signal-port-name-timer-start = Старт таймера signal-port-description-timer-start = Этот порт, задействует всякий раз, когда отчет таймера только начался. + signal-port-name-logic-output = Выход signal-port-description-logic-output = Этот порт вызывается на ВЕРХНЕМ или НИЖНЕМ уровне в зависимости от выбранного шлюза и входов. + signal-port-name-logic-output-high = Верхний выход signal-port-description-logic-output-high = Этот порт вызывается всякий раз, когда на входе есть возрастающийся край. + signal-port-name-logic-output-low = Нижний выход signal-port-description-logic-output-low = Этот порт вызывается всякий раз, когда на входе есть понижающийся край. + +signal-port-name-air-danger = Danger +signal-port-description-air-danger = Этот порт задействуется с высоким уровнем сигнала когда статус Danger, если статус другой, то с низким уровнем. + +signal-port-name-air-warning = Warning +signal-port-description-air-warning = Этот порт задействуется с высоким уровнем сигнала когда статус Warning, если статус другой, то с низким уровнем. + +signal-port-name-air-normal = Normal +signal-port-description-air-normal = Этот порт задействуется с высоким уровнем сигнал когда статус Normal, если статус другой, то с низким уровнем. + +signal-port-name-decaying = Распад +signal-port-description-decaying = Этот порт вызывается всякий раз, когда связанная аномалия начинает исчезать. + +signal-port-name-stabilize = Стабильно +signal-port-description-stabilize = Этот порт вызывается всякий раз, когда связанная аномалия стабилизируется. + +signal-port-name-growing = Рост +signal-port-description-growing = Этот порт вызывается всякий раз, когда связанная аномалия начинает расти. + +signal-port-name-pulse = Импульс +signal-port-description-pulse = Этот порт вызывается всякий раз, когда связанная аномалия издаёт импульс. + +signal-port-name-supercrit = Суперкрит +signal-port-description-supercrit = Этот порт вызывается всякий раз, когда связанная аномалия достигает сверхкритического состояния и взрывается. + +signal-port-name-power-charging = Зарядка +signal-port-description-power-charging = Этот порт задействуется с высоким уровнем сигнала когда батарея заряжается, и с низким когда нет. + +signal-port-name-power-discharging = Разрядка +signal-port-description-power-discharging = Этот порт задействуется с высоким уровнем сигнала когда батарея разряжается, и с низким когда нет. diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml index 3362f16381..a2d7b4a42c 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml @@ -65,6 +65,7 @@ ClothingUniformJumpsuitHawaiYellow: 2 ClothingUniformJumpsuitFlannel: 2 #WD edit start + ClothingOuterReindeerSweater: 4 ClothingUniformJumpsuitCossack: 1 ClothingOuterCoatAdidasCostumeSemki: 1 ClothingOuterCoatBomber: 1 diff --git a/Resources/Prototypes/_White/Entities/Clothing/OuterClothing/reindeer_sweater.yml b/Resources/Prototypes/_White/Entities/Clothing/OuterClothing/reindeer_sweater.yml new file mode 100644 index 0000000000..4ebbc34ffd --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Clothing/OuterClothing/reindeer_sweater.yml @@ -0,0 +1,19 @@ +- type: entity + parent: ClothingOuterBase + id: ClothingOuterReindeerSweater + name: reindeer sweater + description: A cozy sweater designed to celebrate the holiday season. + components: + - type: Sprite + sprite: White/Clothing/OuterClothing/reindeer_sweater.rsi + - type: Clothing + sprite: White/Clothing/OuterClothing/reindeer_sweater.rsi + - type: EmitSoundOnPickup + sound: + path: /Audio/White/Items/handling/cloth_pickup.ogg + - type: EmitSoundOnDrop + sound: + path: /Audio/White/Items/handling/cloth_drop.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/White/Items/handling/cloth_drop.ogg diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/winter_stuff.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/winter_stuff.yml new file mode 100644 index 0000000000..bb025ad231 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/winter_stuff.yml @@ -0,0 +1,53 @@ +- type: entity + name: snowglobe + parent: BaseItem + id: ItemFunSnowglobe + description: Encased winter, always longing for freedom. + components: + - type: Sprite + sprite: White/Objects/Fun/snowglobe.rsi + state: icon + scale: 0.7, 0.7 + - type: Item + size: Tiny + - type: EmitSoundOnPickup + sound: + path: /Audio/White/Items/handling/drinkglass_pickup.ogg + - type: EmitSoundOnDrop + sound: + path: /Audio/White/Items/handling/drinkglass_drop.ogg + - type: StaticPrice + price: 500 + - type: DamageOnLand + damage: + types: + Blunt: 1 + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpillBehavior + solution: contents + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: SolutionContainerManager + solutions: + contents: + reagents: + - ReagentId: Water + Quantity: 20 + - type: PhysicalComposition + materialComposition: + Glass: 50 diff --git a/Resources/Prototypes/_White/Entities/Structures/Decoration/christmas_lights.yml b/Resources/Prototypes/_White/Entities/Structures/Decoration/christmas_lights.yml new file mode 100644 index 0000000000..dd5255fddb --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Structures/Decoration/christmas_lights.yml @@ -0,0 +1,39 @@ +- type: entity + id: ChristmasLights + name: christmas lights + description: Feeling jolly. + placement: + mode: SnapgridCenter + components: + - type: Clickable + - type: Appearance + - type: Sprite + drawdepth: WallMountedItems + sprite: White/Structures/Decoration/christmas_lights.rsi + layers: + - state: icon + - state: unshaded + shader: unshaded + - type: Icon + sprite: White/Structures/Decoration/christmas_lights.rsi + state: icon + - type: Transform + anchored: true + - type: Damageable + damageContainer: StructuralInorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:DoActsBehavior + acts: ["Destruction"] + - type: MeleeSound + soundGroups: + Brute: + path: + "/Audio/Weapons/smash.ogg" diff --git a/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000..106f0e8644 Binary files /dev/null and b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/icon.png b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/icon.png new file mode 100644 index 0000000000..4370fa7ec3 Binary files /dev/null and b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/icon.png differ diff --git a/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/inhand-left.png b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/inhand-left.png new file mode 100644 index 0000000000..e39b676262 Binary files /dev/null and b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/inhand-left.png differ diff --git a/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/inhand-right.png b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/inhand-right.png new file mode 100644 index 0000000000..0bb0c19c9c Binary files /dev/null and b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/inhand-right.png differ diff --git a/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/meta.json b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/meta.json new file mode 100644 index 0000000000..89c9856b0a --- /dev/null +++ b/Resources/Textures/White/Clothing/OuterClothing/reindeer_sweater.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "kxaotuk", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/White/Objects/Fun/snowglobe.rsi/icon.png b/Resources/Textures/White/Objects/Fun/snowglobe.rsi/icon.png new file mode 100644 index 0000000000..0a7c7e809d Binary files /dev/null and b/Resources/Textures/White/Objects/Fun/snowglobe.rsi/icon.png differ diff --git a/Resources/Textures/White/Objects/Fun/snowglobe.rsi/meta.json b/Resources/Textures/White/Objects/Fun/snowglobe.rsi/meta.json new file mode 100644 index 0000000000..1bcf7286a8 --- /dev/null +++ b/Resources/Textures/White/Objects/Fun/snowglobe.rsi/meta.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ + [ + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15, + 0.15 + ] + ] + } + ] +} diff --git a/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/icon.png b/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/icon.png new file mode 100644 index 0000000000..05ddc057e4 Binary files /dev/null and b/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/icon.png differ diff --git a/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/meta.json b/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/meta.json new file mode 100644 index 0000000000..e337197eae --- /dev/null +++ b/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "unshaded" + } + ] +} diff --git a/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/unshaded.png b/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/unshaded.png new file mode 100644 index 0000000000..5813305f38 Binary files /dev/null and b/Resources/Textures/White/Structures/Decoration/christmas_lights.rsi/unshaded.png differ