diff --git a/Content.Client/Overlays/ShowSyndicateIconsSystem.cs b/Content.Client/Overlays/ShowAntagonistIconsSystem.cs similarity index 89% rename from Content.Client/Overlays/ShowSyndicateIconsSystem.cs rename to Content.Client/Overlays/ShowAntagonistIconsSystem.cs index 660ef198e1..6104f0cae6 100644 --- a/Content.Client/Overlays/ShowSyndicateIconsSystem.cs +++ b/Content.Client/Overlays/ShowAntagonistIconsSystem.cs @@ -6,7 +6,7 @@ using Robust.Shared.Prototypes; namespace Content.Client.Overlays; -public sealed class ShowSyndicateIconsSystem : EquipmentHudSystem +public sealed class ShowAntagonistIconsSystem : EquipmentHudSystem { [Dependency] private readonly IPrototypeManager _prototype = default!; diff --git a/Content.Client/Replay/ContentReplayPlaybackManager.cs b/Content.Client/Replay/ContentReplayPlaybackManager.cs index f90731bfa7..95c4c97646 100644 --- a/Content.Client/Replay/ContentReplayPlaybackManager.cs +++ b/Content.Client/Replay/ContentReplayPlaybackManager.cs @@ -1,10 +1,8 @@ -using System.IO.Compression; using Content.Client.Administration.Managers; using Content.Client.Launcher; using Content.Client.MainMenu; using Content.Client.Replay.Spectator; using Content.Client.Replay.UI.Loading; -using Content.Client.Stylesheets; using Content.Client.UserInterface.Systems.Chat; using Content.Shared.Chat; using Content.Shared.Effects; @@ -26,8 +24,6 @@ using Robust.Client.Replays.Playback; using Robust.Client.State; using Robust.Client.Timing; using Robust.Client.UserInterface; -using Robust.Client.UserInterface.Controls; -using Robust.Client.UserInterface.CustomControls; using Robust.Shared; using Robust.Shared.Configuration; using Robust.Shared.ContentPack; @@ -60,7 +56,7 @@ public sealed class ContentReplayPlaybackManager public bool IsScreenshotMode = false; private bool _initialized; - + /// /// Most recently loaded file, for re-attempting the load with error tolerance. /// Required because the zip reader auto-disposes and I'm too lazy to change it so that @@ -96,32 +92,18 @@ public sealed class ContentReplayPlaybackManager return; } - ReturnToDefaultState(); + if (_client.RunLevel == ClientRunLevel.SinglePlayerGame) + _client.StopSinglePlayer(); - // Show a popup window with the error message - var text = Loc.GetString("replay-loading-failed", ("reason", exception)); - var box = new BoxContainer - { - Orientation = BoxContainer.LayoutOrientation.Vertical, - Children = {new Label {Text = text}} - }; - - var popup = new DefaultWindow { Title = "Error!" }; - popup.Contents.AddChild(box); + Action? retryAction = null; + Action? cancelAction = null; // Add button for attempting to re-load the replay while ignoring some errors. - if (!_cfg.GetCVar(CVars.ReplayIgnoreErrors) && LastLoad is {} last) + if (!_cfg.GetCVar(CVars.ReplayIgnoreErrors) && LastLoad is { } last) { - var button = new Button - { - Text = Loc.GetString("replay-loading-retry"), - StyleClasses = { StyleBase.ButtonCaution } - }; - - button.OnPressed += _ => + retryAction = () => { _cfg.SetCVar(CVars.ReplayIgnoreErrors, true); - popup.Dispose(); IReplayFileReader reader = last.Zip == null ? new ReplayFileReaderResources(_resMan, last.Folder) @@ -129,11 +111,19 @@ public sealed class ContentReplayPlaybackManager _loadMan.LoadAndStartReplay(reader); }; - - box.AddChild(button); } - popup.OpenCentered(); + // If we have an explicit menu to get back to (e.g. replay browser UI), show a cancel button. + if (DefaultState != null) + { + cancelAction = () => + { + _stateMan.RequestStateChange(DefaultState); + }; + } + // Switch to a new game state to present the error and cancel/retry options. + var state = _stateMan.RequestStateChange(); + state.SetData(exception, cancelAction, retryAction); } public void ReturnToDefaultState() diff --git a/Content.Client/Replay/UI/Loading/ReplayLoadingFailed.cs b/Content.Client/Replay/UI/Loading/ReplayLoadingFailed.cs new file mode 100644 index 0000000000..afb00c76a6 --- /dev/null +++ b/Content.Client/Replay/UI/Loading/ReplayLoadingFailed.cs @@ -0,0 +1,30 @@ +using Content.Client.Stylesheets; +using Robust.Client.State; +using Robust.Client.UserInterface; +using Robust.Shared.Utility; +namespace Content.Client.Replay.UI.Loading; +/// +/// State used to display an error message if a replay failed to load. +/// +/// +/// +public sealed class ReplayLoadingFailed : State +{ + [Dependency] private readonly IStylesheetManager _stylesheetManager = default!; + [Dependency] private readonly IUserInterfaceManager _userInterface = default!; + private ReplayLoadingFailedControl? _control; + public void SetData(Exception exception, Action? cancelPressed, Action? retryPressed) + { + DebugTools.Assert(_control != null); + _control.SetData(exception, cancelPressed, retryPressed); + } + protected override void Startup() + { + _control = new ReplayLoadingFailedControl(_stylesheetManager); + _userInterface.StateRoot.AddChild(_control); + } + protected override void Shutdown() + { + _control?.Orphan(); + } +} diff --git a/Content.Client/Replay/UI/Loading/ReplayLoadingFailedControl.xaml b/Content.Client/Replay/UI/Loading/ReplayLoadingFailedControl.xaml new file mode 100644 index 0000000000..d5b13afb31 --- /dev/null +++ b/Content.Client/Replay/UI/Loading/ReplayLoadingFailedControl.xaml @@ -0,0 +1,14 @@ + + + + + + + + + [RegisterComponent, NetworkedComponent] -public sealed partial class ShowSyndicateIconsComponent : Component {} +public sealed partial class ShowAntagonistIconsComponent : Component {} diff --git a/Content.Shared/_White/Implants/VoiceActivatedBomb/SharedVoiceActivatedBombSystem.cs b/Content.Shared/_White/Implants/VoiceActivatedBomb/SharedVoiceActivatedBombSystem.cs new file mode 100644 index 0000000000..992d37f350 --- /dev/null +++ b/Content.Shared/_White/Implants/VoiceActivatedBomb/SharedVoiceActivatedBombSystem.cs @@ -0,0 +1,35 @@ +using Content.Shared.Body.Components; +using Content.Shared.Implants; +using Content.Shared.Tag; + +namespace Content.Shared._White.Implants.VoiceActivatedBomb; + +public abstract class SharedVoiceActivatedBombSystem : EntitySystem +{ + [Dependency] protected readonly TagSystem Tag = default!; + protected const string VoiceActivatedBombTag = "VoiceActivatedBombImplant"; + public override void Initialize() + { + SubscribeLocalEvent(OnTryInsertVoiceActivatedBomb); + } + + private void OnTryInsertVoiceActivatedBomb(Entity ent, ref AddImplantAttemptEvent args) + { + if (!Tag.HasTag(args.Implant, VoiceActivatedBombTag)) + return; + + var ev = new InsertVoiceActivatedBombEvent(args.User, args.Implant, args.Implanter); + RaiseLocalEvent(args.Implant, ev); + if (ev.Cancelled) + args.Cancel(); + + return; + } +} +public sealed class InsertVoiceActivatedBombEvent(EntityUid user, EntityUid implant, EntityUid implanter) + : CancellableEntityEventArgs +{ + public readonly EntityUid User = user; + public readonly EntityUid Implant = implant; + public readonly EntityUid Implanter = implanter; +} diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index c3e76f7cb4..cb37a49ecf 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -1,71 +1,4 @@ Entries: -- author: hailrakes - changes: - - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0430\u0432\u0442\ - \u043E\u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F \u0441\u043F\u0438\ - \u0441\u043A\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0432\ - \ Discord." - type: Add - id: 97 - time: '2023-03-01T12:37:40.0000000+00:00' -- author: RavMorgan - changes: - - message: "\u041F\u0430\u043D\u0435\u043B\u044C \u0441 \u044D\u043C\u043E\u0443\ - \u0442\u0430\u043C\u0438 \u0442\u0435\u043F\u0435\u0440\u044C \u043E\u0442\u0441\ - \u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0430!" - type: Add - - message: "\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u0443\u0431\u0440\u0430\ - \u043D\u044B \u043B\u0438\u043D\u043A\u0438 \u043D\u0430 \u043F\u0440\u043E\u0444\ - \u0435\u0441\u0441\u0438\u0438 \u0432 \u0447\u0430\u0442\u0435!" - type: Remove - id: 98 - time: '2023-03-01T19:21:18.0000000+00:00' -- author: rhailrake - changes: - - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u0431\u043E\u0440\u0433\u0430\ - \ \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0441\u0442\u0430\u043D\u0438\u0442\ - \u044C \u0444\u043B\u0435\u0448\u043A\u043E\u0439!" - type: Add - - message: "\u0422\u0440\u0438 \u043D\u043E\u0432\u044B\u0445 \u0431\u043E\u0440\ - \u0433\u0430: Sec, Eng, Syndi" - type: Add - - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u043E\u0433\u043D\u0435\u0442\u0443\ - \u0448\u0438\u0442\u0435\u043B\u044C \u0437\u0430\u043F\u0440\u0430\u0432\u043B\ - \u044F\u0435\u0442\u0441\u044F \u0441\u043E \u0432\u0440\u0435\u043C\u0435\u043D\ - \u0435\u043C." - type: Add - id: 99 - time: '2023-03-02T13:00:53.0000000+00:00' -- author: RavMorgan - changes: - - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0422\u0422\u0421\ - \ \u0443 \u043A\u043B\u043E\u0443\u043D\u0430!" - type: Add - id: 100 - time: '2023-03-02T13:25:24.0000000+00:00' -- author: RavMorgan - changes: - - message: "\u0424\u0438\u043A\u0441 \u043F\u0430\u043D\u0435\u043B\u0438 \u0441\ - \ \u044D\u043C\u043E\u0443\u0442\u0430\u043C\u0438!" - type: Add - id: 101 - time: '2023-03-03T21:17:20.0000000+00:00' -- author: KettlebellOfCreation - changes: - - message: "\u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0437\u0430\u0434\ - \u0435\u0440\u0436\u043A\u0430 \u0432 90 \u0441\u0435\u043A\u0443\u043D\u0434\ - \ \u043C\u0435\u0436\u0434\u0443 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u043E\ - \u0439 LOOC \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439." - type: Add - id: 102 - time: '2023-03-03T21:19:04.0000000+00:00' -- author: BronyUraj - changes: - - message: "Bomb Cap \u0434\u043B\u044F \u0433\u0430\u0437\u043E\u0432\u044B\u0445\ - \ \u0431\u043E\u043C\u0431." - type: Add - id: 103 - time: '2023-03-04T15:46:44.0000000+00:00' - author: NCast changes: - message: "\u0414\u043E\u0431\u0430\u0432\u0438\u043B \u0440\u0435\u0446\u0435\u043F\ @@ -8851,3 +8784,103 @@ id: 596 time: '2024-11-05T11:52:29.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/770 +- author: Valtos + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043F\u0440\ + \u043E\u0431\u043B\u0435\u043C\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\ + \u043A\u043E\u0439 \u0440\u0435\u043F\u043B\u0435\u0435\u0432. \u041E\u043D\u0438\ + \ \u0432\u0441\u0451 \u0435\u0449\u0451 \u043C\u043E\u0433\u0443\u0442 \u0432\ + \u044B\u0434\u0430\u0432\u0430\u0442\u044C \u043E\u0448\u0438\u0431\u043A\u0443\ + , \u043E\u0434\u043D\u0430\u043A\u043E \u0442\u0435\u043F\u0435\u0440\u044C\ + \ \u0442\u043E\u0447\u043D\u043E \u0434\u043E\u043B\u0436\u043D\u044B \u0437\ + \u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C\u0441\u044F." + type: Fix + id: 597 + time: '2024-11-05T20:04:51.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/772 +- author: BIG_Zi_348 + changes: + - message: "\u0412\u0437\u0440\u044B\u0432\u043D\u0430\u044F \u0440\u0443\u0447\u043A\ + \u0430 \u0441\u0438\u043D\u0434\u0438\u043A\u0430\u0442\u0430 \u0442\u0435\u043F\ + \u0435\u0440\u044C \u0432\u0437\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F\ + ." + type: Fix + id: 598 + time: '2024-11-05T21:28:42.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/771 +- author: Valtos + changes: + - message: "\u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\ + \u043D \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433 \u044D\u043D\u0442\ + \u0438\u0442\u0438 \u0432 \u043A\u043E\u0441\u043C\u043E\u0441\u0435" + type: Tweak + - message: "\u0422\u0432\u0438\u043A\u043D\u0443\u0442\u0430 \u043F\u0440\u043E\u0438\ + \u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\ + \u044C \u0431\u0434" + type: Tweak + - message: "\u0414\u043E\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u0430 \u0441\u0438\ + \u0441\u0442\u0435\u043C\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\ + \u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u0439" + type: Tweak + id: 599 + time: '2024-11-07T23:21:53.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/775 +- author: BIG_Zi_348 + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0443\u043B\u0438\ + \u0442\u043A\u0438. \u0427\u0435\u0441\u0442\u043D\u043E, \u043F\u0440\u043E\ + \u0441\u0442\u043E \u0443\u043B\u0438\u0442\u043A\u0438, \u043E\u043D\u0438\ + \ \u043D\u0438\u043A\u0430\u043A \u043D\u0435 \u043C\u043E\u0433\u0443\u0442\ + \ \u043F\u043E\u0432\u043B\u0438\u044F\u0442\u044C \u043D\u0430 \u0440\u0430\ + \u0431\u043E\u0442\u0443 \u0441\u0442\u0430\u043D\u0446\u0438\u0438. \u041D\u0435\ + \ \u043D\u0430\u0434\u043E \u0432\u044B\u0437\u044B\u0432\u0430\u0442\u044C\ + \ \u044D\u0432\u0430\u043A\u0443\u0430\u0446\u0438\u044E, \u0432\u044B \u0441\ + \u043F\u0440\u0430\u0432\u0438\u0442\u0435\u0441\u044C." + type: Add + id: 600 + time: '2024-11-11T06:54:23.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/774 +- author: BIG_Zi_348 + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u0435\u0434\ + \u043E\u0441\u0442\u0430\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u0432\ + \u043E\u0434\u044B \u043E\u0440\u0443\u0436\u0435\u0439\u043D\u044B\u043C \u0441\ + \u0435\u0439\u0444\u0430\u043C." + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u0435\u0434\ + \u043E\u0441\u0442\u0430\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u0432\ + \u043E\u0434\u044B \u0441\u043A\u0430\u043D\u0435\u0440\u0443 \u0430\u043D\u043E\ + \u043C\u0430\u043B\u0438\u0439." + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u0435\u0434\ + \u043E\u0441\u0442\u0430\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u0432\ + \u043E\u0434\u044B \u0441\u043A\u0430\u043D\u0435\u0440\u0443 \u0437\u0434\u043E\ + \u0440\u043E\u0432\u044C\u044F." + type: Add + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u043F\u0438\u043A\ + \u0441\u0435\u043B\u044C \u0432 \u0441\u043F\u0440\u0430\u0439\u0442\u0435 \u0434\ + \u0438\u0437\u0435\u0439\u0431\u043B\u0435\u0440\u0430." + type: Fix + id: 601 + time: '2024-11-11T06:55:45.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/778 +- author: BIG_Zi_348 + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u0440\u0430\ + \u0431\u043E\u0442\u0430 \u0441\u043A\u0430\u043D\u0435\u0440\u0430 \u0442\u0435\ + \u043B\u0430." + type: Fix + id: 602 + time: '2024-11-11T06:59:00.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/781 +- author: BIG_Zi_348 + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043D\u043E\u0432\u044B\ + \u0439 \u0438\u043C\u043F\u043B\u0430\u043D\u0442 \u0434\u043B\u044F \u0441\u0438\ + \u043D\u0434\u0438\u043A\u0430\u0442\u0430 - \u0431\u043E\u043C\u0431\u0430\ + \ \u0441 \u0433\u043E\u043B\u043E\u0441\u043E\u0432\u043E\u0439 \u0430\u043A\ + \u0442\u0438\u0432\u0430\u0446\u0438\u0435\u0439." + type: Add + id: 603 + time: '2024-11-11T07:02:02.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/782 diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index c8c3cae670..567b824079 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -10,6 +10,13 @@ ghost-role-information-mouse-description = A hungry and mischievous mouse. ghost-role-information-mothroach-name = Mothroach ghost-role-information-mothroach-description = A cute but mischievous mothroach. +ghost-role-information-snail-name = Snail +ghost-role-information-snail-description = A little snail who doesn't mind a bit of space. Just stay on grid! +ghost-role-information-snailspeed-name = Snail +ghost-role-information-snailspeed-description = A little snail with snailborn thrusters. +ghost-role-information-snoth-name = Snoth +ghost-role-information-snoth-description = A little snoth who doesn't mind a bit of space. Just stay on grid! + ghost-role-information-giant-spider-name = Giant spider ghost-role-information-giant-spider-description = This station's inhabitants look mighty tasty, and your sticky web is perfect to catch them! diff --git a/Resources/Locale/en-US/replays/replays.ftl b/Resources/Locale/en-US/replays/replays.ftl index 7a7e551b3e..f488a60693 100644 --- a/Resources/Locale/en-US/replays/replays.ftl +++ b/Resources/Locale/en-US/replays/replays.ftl @@ -9,6 +9,7 @@ replay-loading-starting= Starting Entities replay-loading-failed = Failed to load replay. Error: {$reason} replay-loading-retry = Try load with more exception tolerance - MAY CAUSE BUGS! +replay-loading-cancel = Cancel # Main Menu replay-menu-subtext = Replay Client diff --git a/Resources/Locale/en-US/species/species.ftl b/Resources/Locale/en-US/species/species.ftl index f31b1fa0f0..64c7632863 100644 --- a/Resources/Locale/en-US/species/species.ftl +++ b/Resources/Locale/en-US/species/species.ftl @@ -9,3 +9,7 @@ species-name-arachnid = Arachnid species-name-moth = Moth Person species-name-skeleton = Skeleton species-name-vox = Vox + +## Misc species things + +snail-hurt-by-salt-popup = The salty solution burns like acid! diff --git a/Resources/Locale/ru-RU/_white/implants/voiceactivatedbomb.ftl b/Resources/Locale/ru-RU/_white/implants/voiceactivatedbomb.ftl new file mode 100644 index 0000000000..3b0a3784ad --- /dev/null +++ b/Resources/Locale/ru-RU/_white/implants/voiceactivatedbomb.ftl @@ -0,0 +1,7 @@ +uplink-voice-activated-bomb-implant = Имплант бомбы с голосовым триггером +uplink-voice-activated-bomb-implant-desc = Имплант микробомбы с триггером, заставляющим сработать по заданной голосовой команде. + +ent-VoiceActivatedBombImplant = Имплант бомбы с голосовым триггером + .desc = Имплант микробомбы с триггером, заставляющим сработать по заданной голосовой команде. + +voice-activated-bomb-no-key-phrase = Голосовой триггер не инициализирован, ввод импланта заблокирован. diff --git a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl index 77f4a97bb2..cc90f3f3b2 100644 --- a/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl +++ b/Resources/Locale/ru-RU/_white/locales-new/autotranslate-71.ftl @@ -52,5 +52,11 @@ ent-MobDionaNymph = нимфа дионы .desc = Это как кошка, только… более ветвистая. ent-MobDionaNymphAccent = { ent-MobDionaNymph } .desc = { ent-MobDionaNymph.desc } +ent-OrganDionaNymphBrain = { ent-MobDionaNymph } + .desc = Содержит мозг ранее полностью сформированной дионы. Убив её, ты убьёшь диону навсегда, монстр. +ent-OrganDionaNymphStomach = { ent-MobDionaNymph } + .desc = Содержит желудок ранее полностью сформированной дионы. Вкус от этого лучше не будет. +ent-OrganDionaNymphLungs = { ent-MobDionaNymph } + .desc = Содержит лёгкие ранее полностью сформированной дионы. Захватывает дух. ent-MobArgocyteSlurva = slurva .desc = Жалкие создания, не способные на многое. diff --git a/Resources/Locale/ru-RU/_white/wizard/spellbook.ftl b/Resources/Locale/ru-RU/_white/wizard/spellbook.ftl index 212fcd1d6a..8f717bd355 100644 --- a/Resources/Locale/ru-RU/_white/wizard/spellbook.ftl +++ b/Resources/Locale/ru-RU/_white/wizard/spellbook.ftl @@ -37,8 +37,8 @@ spellbook-mime-desc = { ent-ActionMimeTouchSpell.desc } spellbook-recall-name = { ent-ActionInstantRecallSpell } spellbook-recall-desc = { ent-ActionInstantRecallSpell.desc } -spellbook-smite-name = { ent-ActionSmite } -spellbook-smite-desc = { ent-ActionSmite.desc } +spellbook-smite-name = { ent-ActionSmiteWizard } +spellbook-smite-desc = { ent-ActionSmiteWizard.desc } spellbook-mindswap-name = { ent-ActionMindswapSpell } spellbook-mindswap-desc = { ent-ActionMindswapSpell.desc } diff --git a/Resources/Locale/ru-RU/_white/wizard/spells.ftl b/Resources/Locale/ru-RU/_white/wizard/spells.ftl index 72aca1438f..e0c4954015 100644 --- a/Resources/Locale/ru-RU/_white/wizard/spells.ftl +++ b/Resources/Locale/ru-RU/_white/wizard/spells.ftl @@ -40,7 +40,7 @@ ent-ActionTeleportSpell = Телепортация ent-ActionKnock = Стук .desc = Открывает все двери, шлюзы и шкафы в радиусе 5 тайлов. -ent-ActionSmite = Кара +ent-ActionSmiteWizard = Кара .desc = Заряжает вашу руку мерзкой энергией, которую можно использовать для взрыва жертв. Заклинание требует, чтобы вы коснулись своей цели, поэтому вы не сможете использовать его в наручниках или будучи оглушённым. Не работает без волшебной мантии и шляпы. ent-ActionMindswapSpell = Подмена сознания diff --git a/Resources/Locale/ru-RU/actions/actions/suicide.ftl b/Resources/Locale/ru-RU/actions/actions/suicide.ftl new file mode 100644 index 0000000000..1e27da7b77 --- /dev/null +++ b/Resources/Locale/ru-RU/actions/actions/suicide.ftl @@ -0,0 +1 @@ +suicide-action-popup = ЭТО ДЕЙСТВИЕ УБЬЁТ ВАС! Используйте его ещё раз, если вы уверены. diff --git a/Resources/Locale/ru-RU/anomaly/anomaly.ftl b/Resources/Locale/ru-RU/anomaly/anomaly.ftl index 28809e1ca5..70bbbc0749 100644 --- a/Resources/Locale/ru-RU/anomaly/anomaly.ftl +++ b/Resources/Locale/ru-RU/anomaly/anomaly.ftl @@ -8,6 +8,7 @@ anomaly-particles-delta = Дельта-частицы anomaly-particles-epsilon = Эпсилон-частицы anomaly-particles-zeta = Зета-частицы anomaly-particles-omega = Омега-частицы +anomaly-particles-sigma = Сигма-частицы anomaly-scanner-component-scan-complete = Сканирование завершено! @@ -22,6 +23,11 @@ anomaly-scanner-particle-readout = Анализ реакции на частиц anomaly-scanner-particle-danger = - [color=crimson]Опасный тип:[/color] { $type } anomaly-scanner-particle-unstable = - [color=plum]Нестабильный тип:[/color] { $type } anomaly-scanner-particle-containment = - [color=goldenrod]Сдерживающий тип:[/color] { $type } +anomaly-scanner-particle-transformation = - [color=#6b75fa]Трансформирующий тип:[/color] { $type } +anomaly-scanner-particle-danger-unknown = - [color=crimson]Опасный тип:[/color] [color=red]ОШИБКА[/color] +anomaly-scanner-particle-unstable-unknown = - [color=plum]Нестабильный тип:[/color] [color=red]ОШИБКА[/color] +anomaly-scanner-particle-containment-unknown = - [color=goldenrod]Сдерживающий тип:[/color] [color=red]ОШИБКА[/color] +anomaly-scanner-particle-transformation-unknown = - [color=#6b75fa]Трансформирующий тип:[/color] [color=red]ОШИБКА[/color] anomaly-scanner-pulse-timer = Время до следующего импульса: [color=gray]{ $time }[/color] anomaly-gorilla-core-slot-name = Ядро аномалии @@ -69,3 +75,24 @@ anomaly-command-supercritical = Доводит аномалию до супер # Flavor text on the footer anomaly-generator-flavor-left = Аномалия может возникнуть внутри пользователя. anomaly-generator-flavor-right = v1.1 + +anomaly-behavior-unknown = [color=red]ОШИБКА. Невозможно считать.[/color] + +anomaly-behavior-title = Анализ отклонений поведения: +anomaly-behavior-point = [color=gold]Аномалия генерирует { $mod }% очков[/color] + +anomaly-behavior-safe = [color=forestgreen]Аномалия чрезвычайно стабильна. Крайне редкие импульсы.[/color] +anomaly-behavior-slow = [color=forestgreen]Частота импульсов значительно снижена.[/color] +anomaly-behavior-light = [color=forestgreen]Мощность импульсов значительно снижена.[/color] +anomaly-behavior-balanced = Отклонения поведения не обнаружены. +anomaly-behavior-delayed-force = Частота пульсаций значительно снижена, но их сила повышена. +anomaly-behavior-rapid = Частота пульсаций значительно повышена, но их сила снижена. +anomaly-behavior-reflect = Обнаружено защитное покрытие. +anomaly-behavior-nonsensivity = Обнаружена слабая реакция на частицы. +anomaly-behavior-sensivity = Обнаружена сильная реакция на частицы. +anomaly-behavior-invisibility = Обнаружено искажение светового потока. +anomaly-behavior-secret = Обнаружены помехи. Некоторые данные не могут быть считаны +anomaly-behavior-inconstancy = [color=crimson]Обнаружено непостоянство. Со временем типы частиц могут поменяться.[/color] +anomaly-behavior-fast = [color=crimson]Частота импульсов значительно повышена.[/color] +anomaly-behavior-strenght = [color=crimson]Мощность импульсов значительно повышена.[/color] +anomaly-behavior-moving = [color=crimson]Обнаружена координатная нестабильность.[/color] diff --git a/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl b/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl index ecbc3bbd9b..07d6230d28 100644 --- a/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl +++ b/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl @@ -30,6 +30,7 @@ cargo-console-snip-snip = Заказ урезан до вместимости cargo-console-insufficient-funds = Недостаточно средств (требуется { $cost }) cargo-console-unfulfilled = Нет места для выполнения заказа cargo-console-trade-station = Отправить на {$destination} +cargo-console-unlock-approved-order-broadcast = [bold]{$productName} x{$orderAmount}[/bold], стоимостью [bold]{$cost}[/bold], одобрено [bold]{$approverName}, {$approverJob}[/bold] cargo-console-paper-print-name = Заказ #{$orderNumber} cargo-console-paper-print-text = diff --git a/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl b/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl index 95d1efffd5..5108ca4e30 100644 --- a/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl @@ -10,6 +10,15 @@ ghost-role-information-mouse-description = Голодная и озорная м ghost-role-information-mothroach-name = Таракамоль ghost-role-information-mothroach-description = Милая озорная таракамоль. +ghost-role-information-snail-name = Улитка +ghost-role-information-snail-description = Маленькая улитка, которая не против немного побыть на свободе. Только не убегай за пределы клетки! +ghost-role-information-snailspeed-name = Улитка +ghost-role-information-snailspeed-description = Маленькая улитка с турбоулиточными ускорителями. +ghost-role-information-snoth-name = Молитка +ghost-role-information-snoth-description = Маленькая молитка, которая не против немного побыть на свободе. Только не убегай за пределы клетки! +ghost-role-information-deathsnail-name = Улитка забвения +ghost-role-information-deathsnail-description = Маленькая улитка, предвестник Конца, последний адепт Элегиста. Вся жизнь будет окончена, все звёзды - потухнут, но она останется. + ghost-role-information-giant-spider-name = Гигантский паук ghost-role-information-giant-spider-description = Устройте хаос обитателям станции! diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl index ac15728926..01b7bb1df4 100644 --- a/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl @@ -51,3 +51,13 @@ ent-MobKangarooSpace = космо-кенгуру .desc = Это выглядит дружелюбно. Почему бы тебе не обнять его? ent-MobSpiderSpace = космо-паук .desc = Он так светится, что выглядит опасным. +ent-MobSnail = улитка + .desc = Отвратительна, только если вы не француз. +ent-MobSnailInstantDeath = { ent-MobSnail } + .suffix = Кара + .desc = Древнее существо, пришедшее из ниоткуда и которое останется, пока последний атом не будет расчеплён. +ent-MobSnailSpeed = { ent-MobSnail } + .suffix = Скорость + .desc = { ent-MobSnail.desc } +ent-MobSnailMoth = молитка + .desc = Отвратительна, только если вы не моль-француз. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-44.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-44.ftl index e69cb8711d..5183554e1d 100644 --- a/Resources/Locale/ru-RU/locales-new/autotranslate-44.ftl +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-44.ftl @@ -70,6 +70,24 @@ ent-LockerParamedic = шкаф парамедика .desc = { ent-LockerBase.desc } ent-GunSafe = оружейный сейф .desc = { ent-LockerBase.desc } +ent-GunSafeDisabler = сейф с дизейблерами + .desc = { ent-GunSafe.desc } +ent-GunSafeSubMachineGunDrozd = сейф с пистолетами-пулемётами Дрозд + .desc = { ent-GunSafe.desc } +ent-GunSafeShotgunEnforcer = сейф с дробовиками Силовик + .desc = { ent-GunSafe.desc } +ent-GunSafeShotgunKammerer = сейф с дробовиками Каммерер + .desc = { ent-GunSafe.desc } +ent-GunSafeLaserCarbine = сейф с лазерными винтовками + .desc = { ent-GunSafe.desc } +ent-GunSafeRifleLecter = сейф с винтовками Лектер + .desc = { ent-GunSafe.desc } +ent-GunSafePistolMk58 = сейф с пистолетами МК 58 + .desc = { ent-GunSafe.desc } +ent-GunSafeTempGun = сейф с температурными пушками + .desc = { ent-GunSafe.desc } +ent-GunSafeSubMachineGunWt550 = сейф с пистолетами-пулемётами WT550 + .desc = { ent-GunSafe.desc } ent-LockerBluespaceStation = блюспейс шкаф .desc = Усовершенствованная технология шкафчиков. ent-CrateChemistrySecure = надежный химический ящик diff --git a/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl b/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl index 7b131088e2..f937d1cc4f 100644 --- a/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl +++ b/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl @@ -13,28 +13,28 @@ health-analyzer-window-scan-mode-text = Режим сканирования: health-analyzer-window-scan-mode-active = ВКЛЮЧЕН health-analyzer-window-scan-mode-inactive = ВЫКЛЮЧЕН -health-analyzer-window-damage-group-Brute = Механические: -health-analyzer-window-damage-type-Blunt = Удары: -health-analyzer-window-damage-type-Slash = Разрезы: -health-analyzer-window-damage-type-Piercing = Уколы: +damage-group-brute = Механические +damage-type-blunt = Удары +damage-type-slash = Разрезы +damage-type-piercing = Уколы -health-analyzer-window-damage-group-Burn = Ожоги: -health-analyzer-window-damage-type-Heat = Термические: -health-analyzer-window-damage-type-Laser = Лазерный: -health-analyzer-window-damage-type-Shock = Электрические: -health-analyzer-window-damage-type-Cold = Обморожение: -health-analyzer-window-damage-type-Caustic = Кислотные: +damage-group-burn = Ожоги +damage-type-heat = Термические +damage-type-laser = Лазерный +damage-type-shock = Электрические +damage-type-cold = Обморожение +damage-type-caustic = Кислотные -health-analyzer-window-damage-group-Airloss = Нехватка воздуха: -health-analyzer-window-damage-type-Asphyxiation = Удушение: -health-analyzer-window-damage-type-Bloodloss = Кровопотеря: +damage-group-airloss = Нехватка воздуха +damage-type-asphyxiation = Удушение +damage-type-bloodloss = Кровопотеря -health-analyzer-window-damage-group-Toxin = Токсины: -health-analyzer-window-damage-type-Poison = Яды: -health-analyzer-window-damage-type-Radiation = Радиация: +damage-group-toxin = Токсины +damage-type-poison = Яды +damage-type-radiation = Радиация -health-analyzer-window-damage-group-Genetic = Генетические: -health-analyzer-window-damage-type-Cellular = Клеточные: +damage-group-genetic = Генетические +damage-type-cellular = Клеточные health-analyzer-window-malnutrition = Тяжёлое недоедание diff --git a/Resources/Locale/ru-RU/pai/pai-system.ftl b/Resources/Locale/ru-RU/pai/pai-system.ftl index 22d8c1de05..a914c567ba 100644 --- a/Resources/Locale/ru-RU/pai/pai-system.ftl +++ b/Resources/Locale/ru-RU/pai/pai-system.ftl @@ -2,12 +2,25 @@ pai-system-pai-installed = пИИ установлен. pai-system-off = пИИ не установлен. pai-system-still-searching = Всё ещё ищем пИИ. pai-system-searching = Ищем пИИ... + pai-system-role-name = персональный ИИ pai-system-role-description = Станьте чьим-то персональным Искуственным Интеллектом! (Воспоминания *не* прилагаются.) +pai-system-role-name-syndicate = персональный ИИ Синдиката +pai-system-role-description-syndicate = Станьте чьим-то персональным Искуственным Интеллектом! + (Воспоминания *не* прилагаются.) +pai-system-role-name-potato = картофельный искусственный интеллект +pai-system-role-description-potato = Это игрушка для детей. И теперь ваша жизнь в ней. + pai-system-wipe-device-verb-text = Удалить пИИ pai-system-wiped-device = пИИ был стерт с устройства. + pai-system-stop-searching-verb-text = Прекратить поиск pai-system-stopped-searching = Устройство прекратило поиск пИИ. + pai-system-pai-name = пИИ { CAPITALIZE($owner) } +pai-system-pai-name-raw = пИИ {$name} + +pai-system-brick-popup = Микросхемы пИИ громко хлопают и перегорают! +pai-system-scramble-popup = Микросхемы пИИ перенапряжены электричеством! diff --git a/Resources/Locale/ru-RU/procedural/expeditions.ftl b/Resources/Locale/ru-RU/procedural/expeditions.ftl index 86a260bcbb..0933e58871 100644 --- a/Resources/Locale/ru-RU/procedural/expeditions.ftl +++ b/Resources/Locale/ru-RU/procedural/expeditions.ftl @@ -4,6 +4,7 @@ salvage-expedition-structure-remaining = [one] { $count } структура осталась. *[other] { $count } структур осталось. } +salvage-expedition-type = Миссия salvage-expedition-megafauna-remaining = { $count } мегафауны остаётся. salvage-expedition-window-title = Экспедиции salvage-expedition-window-difficulty = Сложность: @@ -35,11 +36,43 @@ salvage-expedition-difficulty-Minor = Незначительная salvage-expedition-difficulty-Moderate = Умеренная salvage-expedition-difficulty-Hazardous = Опасная salvage-expedition-difficulty-Extreme = Экстремальная + +salvage-expedition-difficulty-players = Рекомендуется утилизаторов: + # Runner salvage-expedition-not-all-present = Не все утилизаторы находятся на борту шаттла! # Runner salvage-expedition-announcement-countdown-minutes = { $duration } минут осталось до завершения экспедиции. salvage-expedition-announcement-countdown-seconds = { $duration } секунд осталось до завершения экспедиции. salvage-expedition-reward-description = Награда за выполнение миссии -salvage-expedition-announcement-dungeon = Подземелье расположено на { $direction }. +salvage-expedition-announcement-dungeon = Подземелье обнаружено. Местоположение: { $direction }. salvage-expedition-completed = Экспедиция завершена. + +salvage-faction-xenos = Ксено +salvage-faction-carps = Карпы + +salvage-biome-mod-caves = Пещеры +salvage-biome-mod-grasslands = Луга +salvage-biome-mod-snow = Снег +salvage-biome-mod-lava = Лава + +salvage-light-mod-daylight = День +salvage-light-mod-evening = Вечер +salvage-light-mod-night = Ночь +salvage-temperature-mod-room-temperature = Комнатная температура +salvage-temperature-mod-hot = Жара +salvage-temperature-mod-high-temperature = Высокая температура +salvage-temperature-mod-extreme-heat = Экстремальная жара +salvage-temperature-mod-cold = Холод +salvage-temperature-mod-low-temperature = Низкая температура +salvage-temperature-mod-extreme-cold = Экстремальный холод +salvage-air-mod-no-atmosphere = Отсутствие атмосферы +salvage-air-mod-breathable-atmosphere = Пригодная атмосфера +salvage-air-mod-dangerous-atmosphere = Опасная атмосфера +salvage-air-mod-toxic-atmosphere = Токсичная атмосфера +salvage-air-mod-volatile-atmosphere = Изменчивая атмосфера +salvage-dungeon-mod-lava-brig = Лавовый бриг +salvage-dungeon-mod-snowy-labs = Снежная лаборатория +salvage-dungeon-mod-experiment = Эксперимент +salvage-dungeon-mod-haunted = Призраки +salvage-dungeon-mod-mineshaft = Шахта diff --git a/Resources/Locale/ru-RU/species/species.ftl b/Resources/Locale/ru-RU/species/species.ftl index d67314bde8..ea87fc16d1 100644 --- a/Resources/Locale/ru-RU/species/species.ftl +++ b/Resources/Locale/ru-RU/species/species.ftl @@ -10,3 +10,7 @@ species-name-skrell = Скрелл species-name-moth = Моль species-name-skeleton = Скелет species-name-felinid = Фелинид + +## Misc species things + +snail-hurt-by-salt-popup = Соленый раствор жжет, как кислота! diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/meat.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/meat.ftl index 0d6257d914..a842c66766 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/meat.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/meat.ftl @@ -48,6 +48,8 @@ ent-FoodMeatMeatball = фрикаделька .desc = Шарик сырого мяса. Ноу хомо. ent-FoodMeatSlime = шар слизи .desc = Студенистая масса из слаймового желе. +ent-FoodMeatSnail = сырое мясо улитки + .desc = Лучше с солью. ent-FoodMeatCooked = стейк .desc = Зажаренный кусок мяса. Аромат первобытности. ent-FoodMeatBaconCooked = бекон @@ -72,6 +74,8 @@ ent-FoodMeatSpiderlegCooked = приготовленная паучья нога .desc = Нога гигантского паука, которая все еще дергается после приготовления. Отвратительно! ent-FoodMeatMeatballCooked = фрикаделька .desc = Приготовленная фрикаделька. Идеально подходит для добавления в другие блюда... кроме фруктовых. +ent-FoodMeatSnailCooked = варёная улитка + .desc = Лучше с солью. ent-FoodMeatCutlet = сырая котлета .desc = Котлета из сырого мяса. ent-FoodMeatBearCutlet = сырая котлета из медведя diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/soup.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/soup.ftl index 35f2484a26..a682e42760 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/soup.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/food/soup.ftl @@ -84,3 +84,5 @@ ent-FoodSaladColeslaw = салат коул слоу .desc = Нашинкованную капусту и красный лук заправить винегретом. ent-FoodSaladKimchi = салат кимчи .desc = На самом деле это просто острый салат. +ent-FoodSoupEscargot = эскарго + .desc = Сытное сливочное блюдо с улитками, бон апетит! diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/implanters.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/implanters.ftl index 8df980b01a..728e8c9fd6 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/implanters.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/implanters.ftl @@ -56,3 +56,6 @@ ent-ImplanterSyndi = { ent-BaseImplanter } .desc = { ent-BaseImplanter.desc } ent-NeuroStabilizationImplanter = { ent-BaseImplanter } .desc = { ent-BaseImplanter.desc } +ent-VoiceActivatedBombImplanter = { ent-BaseImplanter } + .desc = { ent-BaseImplanter.desc } + .suffix = бомба с голосовым триггером diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/janitorial/soap.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/janitorial/soap.ftl index fae9b35489..6b1f75ea57 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/janitorial/soap.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/janitorial/soap.ftl @@ -10,3 +10,5 @@ ent-SoapHomemade = мыло .desc = Самодельный брусок мыла. Пахнет... уф.... ent-SoapOmega = омега мыло .desc = Самое совершенное мыло, известное человечеству. Пахнет блюспейсом. +ent-SoapletSyndie = кусочек мыла + .desc = Крохотный кусочек мыла синдиката. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/magic/smite_spells.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/magic/smite_spells.ftl new file mode 100644 index 0000000000..0b864112f8 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/magic/smite_spells.ftl @@ -0,0 +1,2 @@ +ent-ActionSmite = Кара + .desc = Мгновенно поражает цель. diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml b/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml index b51d96978f..5bd8613134 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml @@ -254,7 +254,7 @@ id: ClothingEyesGlassesThermalNukie suffix: "Хамелеон, Ядерные Оперативники" components: - - type: ShowSyndicateIcons + - type: ShowAntagonistIcons - type: entity parent: ClothingEyesBase diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml index 24ead4a18f..26e434a2a8 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml @@ -167,7 +167,7 @@ damageContainers: - Biological - Inorganic - - type: ShowSyndicateIcons + - type: ShowAntagonistIcons - type: entity parent: [ClothingEyesBase, ShowSecurityIcons, ShowMedicalIcons] @@ -185,7 +185,7 @@ - Inorganic - type: ShowHungerIcons - type: ShowThirstIcons - - type: ShowSyndicateIcons + - type: ShowAntagonistIcons - type: entity parent: [ClothingEyesBase, ShowSecurityIcons] @@ -197,7 +197,7 @@ sprite: Clothing/Eyes/Hud/synd.rsi - type: Clothing sprite: Clothing/Eyes/Hud/synd.rsi - - type: ShowSyndicateIcons + - type: ShowAntagonistIcons - type: entity parent: [ClothingEyesBase, ShowSecurityIcons] @@ -209,7 +209,7 @@ sprite: Clothing/Eyes/Hud/syndagent.rsi - type: Clothing sprite: Clothing/Eyes/Hud/syndagent.rsi - - type: ShowSyndicateIcons + - type: ShowAntagonistIcons - type: ShowHealthBars damageContainers: - Biological diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 052f35e99e..ffe1e94410 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -278,7 +278,7 @@ - type: ActiveRadio channels: - Syndicate - - type: ShowSyndicateIcons + - type: ShowAntagonistIcons - type: MovementAlwaysTouching - type: TTS - type: PointLight diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml index 6d7f14c92c..68240d3d36 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml @@ -375,3 +375,239 @@ suffix: "Salvage Ruleset" components: - type: SalvageMobRestrictions + +- type: entity # WD Ahead of wizden + parent: SimpleSpaceMobBase + id: MobSnail + name: snail + description: Revolting unless you're french. + components: + - type: Body + prototype: Mouse + - type: GhostRole + makeSentient: true + allowSpeech: false + allowMovement: true + name: ghost-role-information-snail-name + description: ghost-role-information-snail-description + # rules: ghost-role-information-freeagent-rules # WD TODO later + - type: GhostTakeoverAvailable + - type: Emoting + - type: Sprite + drawdepth: SmallMobs + sprite: Mobs/Animals/snail.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: snail + - type: Item + size: Tiny + - type: NpcFactionMember + factions: + - Mouse + - type: HTN + rootTask: + task: MouseCompound + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.2 + density: 100 + mask: + - SmallMobMask + layer: + - SmallMobLayer + - type: MobState + - type: Deathgasp + - type: MobStateActions + actions: + Critical: + - ActionCritSuccumb + - ActionCritFakeDeath + - ActionCritLastWords + - type: MobThresholds + thresholds: + 0: Alive + 10: Critical + 20: Dead + - type: MovementSpeedModifier + baseWalkSpeed : 2 + baseSprintSpeed : 3 + - type: DamageStateVisuals + states: + Alive: + Base: snail + Critical: + Base: dead + Dead: + Base: dead + - type: Food + - type: Thirst + startingThirst: 25 # spawn with Okay thirst state + thresholds: + OverHydrated: 35 + Okay: 25 + Thirsty: 15 + Parched: 10 + Dead: 0 + baseDecayRate: 0.04 + - type: Hunger + currentHunger: 25 # spawn with Okay hunger state + thresholds: + Overfed: 35 + Okay: 25 + Peckish: 15 + Starving: 10 + Dead: 0 + baseDecayRate: 0.1 + - type: Extractable + grindableSolutionName: food + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 3 + - type: Butcherable + spawned: + - id: FoodMeatSnail + amount: 1 + - type: Tag + tags: + - Trash + - VimPilot + - ChefPilot + - Meat + - type: CombatMode + combatToggleAction: ActionCombatModeToggleOff + - type: Bloodstream + bloodMaxVolume: 30 + bloodReagent: Cryoxadone + - type: CanEscapeInventory + - type: MobPrice + price: 50 + - type: BadFood + - type: NonSpreaderZombie + - type: PreventSpiller + - type: FireVisuals + sprite: Mobs/Effects/onfire.rsi + normalState: Mouse_burning + - type: Temperature + heatDamageThreshold: 500 + coldDamageThreshold: 0 + - type: Reactive + reactions: + - reagents: [TableSalt, Saline] + methods: [Touch, Ingestion, Injection] + effects: + - !type:HealthChange + scaleByQuantity: true + damage: + types: + Caustic: 1 + - !type:PopupMessage + type: Local + visualType: Large + messages: [ "snail-hurt-by-salt-popup" ] + probability: 0.66 + +- type: entity # WD Ahead of wizden + parent: MobSnail + id: MobSnailInstantDeath + suffix: Smite + components: + - type: MobStateActions + actions: + Alive: + - ActionSmite + Critical: + - ActionCritSuccumb + - ActionCritFakeDeath + - ActionCritLastWords + # - type: Godmode # WD Removed - not funny + - type: MovementAlwaysTouching + # WD EDIT START + - type: MobThresholds + thresholds: + 0: Alive + 1900: Critical + 2000: Dead + - type: Bloodstream + maxBleedAmount: 1 + bloodMaxVolume: 100 + bloodReagent: Necrosol + - type: GhostRole + name: ghost-role-information-deathsnail-name + description: ghost-role-information-deathsnail-description + raffle: + settings: default + - type: Sprite + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: deathsnail + - type: PointLight + color: red + energy: 2 + range: 3 + - type: AmbientSound + range: 5 + volume: 30 + sound: + path: /Audio/White/Supermatter/calm.ogg + - type: MovementSpeedModifier + baseWalkSpeed : 0.5 + baseSprintSpeed : 1 + # WD EDIT END + +- type: entity # WD Ahead of wizden + parent: MobSnail + id: MobSnailSpeed + suffix: Speed + components: + - type: GhostRole + name: ghost-role-information-snailspeed-name + description: ghost-role-information-snailspeed-description + # rules: ghost-role-information-freeagent-rules # WD TODO later + - type: Sprite + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: spacesnail + - type: DamageStateVisuals + states: + Alive: + Base: spacesnail + Critical: + Base: spacedead + Dead: + Base: spacedead + - type: MovementSpeedModifier + baseWalkSpeed : 5 #he go fast, also they cant slip so its probably fine. + baseSprintSpeed : 7 +# - type: ActiveJetpack # I think this will need a custom component to not make tests angry. + - type: MovementAlwaysTouching + +- type: entity # WD Ahead of wizden + parent: MobSnail + id: MobSnailMoth + name: Snoth + components: + - type: Body + prototype: Mothroach + - type: GhostRole + name: ghost-role-information-snoth-name + description: ghost-role-information-snoth-description + # rules: ghost-role-information-freeagent-rules # WD TODO later + - type: Sprite + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: snoth + - type: DamageStateVisuals + states: + Alive: + Base: snoth + Critical: + Base: snothdead + Dead: + Base: snothdead diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml index cef0496d57..fe454a2ae3 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml @@ -679,6 +679,35 @@ - type: Sprite state: slime +- type: entity # WD Ahead of wizden + name: raw snail meat + parent: FoodMeatRawBase + id: FoodMeatSnail + description: Improved with salt. + components: + - type: Sprite + state: snail + # - type: FoodSequenceElement # WD TODO later + # sprite: + # sprite: Objects/Consumable/Food/meat.rsi + # state: snail + # entries: + # burger: + # name: food-sequence-content-snail + # taco: + # name: food-sequence-content-snail + - type: SolutionContainerManager + solutions: + food: + maxVol: 15 + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 3 + - ReagentId: Fat + Quantity: 3 + - ReagentId: Water + Quantity: 4 #It makes saline if you add salt! + # Cooked - type: entity @@ -1070,6 +1099,40 @@ - ReagentId: Protein Quantity: 5 +- type: entity + name: boiled snail + parent: FoodMeatBase + id: FoodMeatSnailCooked + description: Improved with salt. + components: + - type: Tag + tags: + - Cooked + - Meat + - type: Sprite + layers: + - state: snail-cooked + # - type: FoodSequenceElement + # sprite: + # sprite: Objects/Consumable/Food/meat.rsi + # state: snail-cooked + # entries: + # burger: + # name: food-sequence-content-snail + # taco: + # name: food-sequence-content-snail + - type: SolutionContainerManager + solutions: + food: + maxVol: 15 + reagents: + - ReagentId: Nutriment + Quantity: 3 + - ReagentId: Protein + Quantity: 3 + - ReagentId: Water + Quantity: 4 # makes saline if you add salt! + # Cutlets # Raw diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml index 8601dfbad5..a466a9d7f5 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml @@ -1226,3 +1226,33 @@ - Fruit - Soup # Tastes like bungo, hot curry. + +- type: entity # WD Ahead of wizden + name: escargot + parent: FoodBowlBase + id: FoodSoupEscargot + description: A creamy and rich bowl of snails, bon appetit! + components: + - type: FlavorProfile + flavors: + - creamy + - slimy + - type: Sprite + layers: + - state: bowl + - state: escargot + - type: SolutionContainerManager + solutions: + food: + maxVol: 20 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: Vitamin + Quantity: 6 + - ReagentId: Allicin + Quantity: 3 + - type: Tag + tags: + - Meat + - Soup diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml index c6c37d3642..95575a5280 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml @@ -20,6 +20,8 @@ - type: DeviceLinkSink ports: - Trigger + - type: EmitSoundOnUse + handle: false # WD Ahead of wizden upstream - don't want the sound to stop the explosion from triggering - type: entity parent: BaseItem diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 76bd02bf03..e1982e7c18 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -207,6 +207,52 @@ - id: MobMothroach prob: 0.008 +- type: entity # WD Ahead of wizden + id: SnailMigrationLowPop + # parent: BaseStationEventShortDelay # WD TODO later + parent: BaseGameRule + noSpawn: true + components: + - type: StationEvent + startAnnouncement: station-event-vent-creatures-start-announcement + startAudio: + path: /Audio/Announcements/attention.ogg + weight: 6 + duration: 50 + - type: VentCrittersRule + entries: + - id: MobSnail + prob: 0.02 + - id: MobSnailSpeed + prob: 0.002 + - id: MobSnailMoth + prob: 0.005 # WD edit from 0.002 to 0.005 + +- type: entity # WD Ahead of wizden + id: SnailMigration + # parent: BaseStationEventShortDelay # WD TODO later + parent: BaseGameRule + noSpawn: true + components: + - type: StationEvent + startAnnouncement: station-event-vent-creatures-start-announcement + startAudio: + path: /Audio/Announcements/attention.ogg + earliestStart: 15 + weight: 6 + duration: 50 + minimumPlayers: 30 + - type: VentCrittersRule + entries: + - id: MobSnail + prob: 0.02 + - id: MobSnailSpeed + prob: 0.002 + - id: MobSnailMoth + prob: 0.005 # WD edit from 0.002 to 0.005 + - id: MobSnailInstantDeath + prob: 0.00001 # ~ 1:2000 snails + - type: entity id: PowerGridCheck parent: BaseGameRule diff --git a/Resources/Prototypes/Magic/smite_spells.yml b/Resources/Prototypes/Magic/smite_spells.yml index 55d3e8a293..44cf47688e 100644 --- a/Resources/Prototypes/Magic/smite_spells.yml +++ b/Resources/Prototypes/Magic/smite_spells.yml @@ -4,8 +4,6 @@ description: Instantly gibs a target. noSpawn: true components: - - type: Magic - requiresClothes: true - type: EntityTargetAction useDelay: 60 itemIconStyle: BigAction @@ -22,3 +20,13 @@ state: gib event: !type:SmiteSpellEvent speech: action-speech-spell-smite + +- type: entity + id: ActionSmiteWizard + parent: ActionSmite + name: Smite + description: Instantly gibs a target. + noSpawn: true + components: + - type: Magic + requiresClothes: true diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml index 36ae34f43e..3598954f3f 100644 --- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml @@ -896,6 +896,29 @@ FoodBungo: 2 FoodChiliPepper: 1 +- type: microwaveMealRecipe # WD Ahead of wizden + id: RecipeBoiledSnail + name: boiled snail recipe + result: FoodMeatSnailCooked + time: 5 + reagents: + Water: 10 + solids: + FoodMeatSnail: 1 + +- type: microwaveMealRecipe # WD Ahead of wizden + id: RecipeEscargotSoup + name: escargot recipe + result: FoodSoupEscargot + time: 10 + reagents: + Water: 5 + solids: + FoodBowlBig: 1 + FoodOnionSlice: 1 + FoodButter: 1 + FoodMeatSnailCooked: 1 + #Pies - type: microwaveMealRecipe diff --git a/Resources/Prototypes/_White/Catalog/uplink.yml b/Resources/Prototypes/_White/Catalog/uplink.yml index 2cdad02829..392a7eb7de 100644 --- a/Resources/Prototypes/_White/Catalog/uplink.yml +++ b/Resources/Prototypes/_White/Catalog/uplink.yml @@ -324,3 +324,15 @@ Telecrystal: 2 categories: - UplinkDisruption + +- type: listing + id: UplinkVoiceActivatedBombImplanter + name: uplink-voice-activated-bomb-implant + description: uplink-voice-activated-bomb-implant-desc + icon: { sprite: /Textures/Actions/Implants/implants.rsi, state: explosive } + productEntity: VoiceActivatedBombImplanter + cost: + Telecrystal: 8 + categories: + - UplinkImplants + saleLimit: 1 diff --git a/Resources/Prototypes/_White/Entities/Clothing/Head/night_vision_goggle.yml b/Resources/Prototypes/_White/Entities/Clothing/Head/night_vision_goggle.yml index 76f342c920..d925bd4ad5 100644 --- a/Resources/Prototypes/_White/Entities/Clothing/Head/night_vision_goggle.yml +++ b/Resources/Prototypes/_White/Entities/Clothing/Head/night_vision_goggle.yml @@ -33,4 +33,4 @@ id: ClothingEyesNightVisionGogglesNukie suffix: "Хамелеон, Ядерные Оперативники" components: - - type: ShowSyndicateIcons + - type: ShowAntagonistIcons diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml index d229a9c5ed..dac2453912 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/implanters.yml @@ -43,6 +43,18 @@ - type: Implanter implant: NeuroStabilizationImplant +- type: entity + parent: BaseImplantOnlyImplanterSyndi + id: VoiceActivatedBombImplanter + suffix: voice activated bomb + components: + - type: Implanter + implant: VoiceActivatedBombImplant + - type: TriggerOnVoice + - type: Tag + tags: + - VoiceActivatedBombImplant + #Amour - type: entity id: GenderSwapImplanter @@ -51,3 +63,4 @@ components: - type: Implanter implant: GenderSwapImplant + diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml index 7b75f6d04f..6a513273f4 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/subdermal_implants.yml @@ -49,6 +49,27 @@ tags: - NeuroStabilization +- type: entity + parent: BaseSubdermalImplant + id: VoiceActivatedBombImplant + name: voice activated Bomb implant + description: A microbomb implant with a trigger that causes it to go off by vocal keywords. + noSpawn: true + components: + - type: SubdermalImplant + permanent: true + - type: TriggerOnVoice + - type: ExplodeOnTrigger + - type: Explosive + explosionType: MicroBomb + totalIntensity: 150 + intensitySlope: 5 + maxIntensity: 30 + canCreateVacuum: false + - type: Tag + tags: + - VoiceActivatedBombImplant + #Amour - type: entity parent: BaseSubdermalImplant diff --git a/Resources/Prototypes/_White/Ghosts/custom_ghosts.yml b/Resources/Prototypes/_White/Ghosts/custom_ghosts.yml index 734f3ba15a..fd4335d887 100644 --- a/Resources/Prototypes/_White/Ghosts/custom_ghosts.yml +++ b/Resources/Prototypes/_White/Ghosts/custom_ghosts.yml @@ -499,7 +499,7 @@ sprite: White/Ghosts/DEN4IK_64-ghost.rsi alpha: 0.9 ghostName: Никелевый камушек - ghostDescription: Этот Ниггер имеет талант, знаешь что я тебе за это дам??? + ghostDescription: Этот камушек имеет талант, знаешь что я тебе за это дам??? #BIG_Zi_348 - type: customGhost @@ -509,3 +509,13 @@ alpha: 0.9 ghostName: BIG_Zi_348 ghostDescription: Зенит космической энергии — генезис сознания из пустоты. + +#AugustNacist1488 +- type: customGhost + id: augustnacist1488-ghost + ckey: AugustNacist1488 + sprite: White/Ghosts/augustnacist1488-ghost.rsi + alpha: 0.9 + ghostName: Ash drake + ghostDescription: Почитаемый хранитель некрополя. + size: 0.75, 0.75 diff --git a/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml b/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml index 4744c1a23b..2139910bfe 100644 --- a/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml +++ b/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml @@ -149,7 +149,7 @@ name: "Smite scroll" components: - type: Scroll - actionId: ActionSmite + actionId: ActionSmiteWizard learnPopup: scroll-component-smite - type: entity diff --git a/Resources/Prototypes/_White/tags.yml b/Resources/Prototypes/_White/tags.yml index 382fc950ab..7dc0743d05 100644 --- a/Resources/Prototypes/_White/tags.yml +++ b/Resources/Prototypes/_White/tags.yml @@ -102,3 +102,6 @@ - type: Tag id: ClusterBang + +- type: Tag + id: VoiceActivatedBombImplant diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/dead.png b/Resources/Textures/Mobs/Animals/snail.rsi/dead.png new file mode 100644 index 0000000000..bdaecdab58 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/snail.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/deathsnail.png b/Resources/Textures/Mobs/Animals/snail.rsi/deathsnail.png new file mode 100644 index 0000000000..29cb58cf17 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/snail.rsi/deathsnail.png differ diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/meta.json b/Resources/Textures/Mobs/Animals/snail.rsi/meta.json new file mode 100644 index 0000000000..2800667917 --- /dev/null +++ b/Resources/Textures/Mobs/Animals/snail.rsi/meta.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by Kezu (discord) & IProduceWidgets (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "snail", + "directions": 4 + }, + { + "name": "dead" + }, + { + "name": "spacesnail", + "directions": 4 + }, + { + "name": "deathsnail", + "directions": 4 + }, + { + "name": "spacedead" + }, + { + "name": "snoth", + "directions": 4 + }, + { + "name": "snothdead" + } + ] +} diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/snail.png b/Resources/Textures/Mobs/Animals/snail.rsi/snail.png new file mode 100644 index 0000000000..26d112c57f Binary files /dev/null and b/Resources/Textures/Mobs/Animals/snail.rsi/snail.png differ diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/snoth.png b/Resources/Textures/Mobs/Animals/snail.rsi/snoth.png new file mode 100644 index 0000000000..5e634d1265 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/snail.rsi/snoth.png differ diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/snothdead.png b/Resources/Textures/Mobs/Animals/snail.rsi/snothdead.png new file mode 100644 index 0000000000..7296239608 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/snail.rsi/snothdead.png differ diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/spacedead.png b/Resources/Textures/Mobs/Animals/snail.rsi/spacedead.png new file mode 100644 index 0000000000..37cbde99fb Binary files /dev/null and b/Resources/Textures/Mobs/Animals/snail.rsi/spacedead.png differ diff --git a/Resources/Textures/Mobs/Animals/snail.rsi/spacesnail.png b/Resources/Textures/Mobs/Animals/snail.rsi/spacesnail.png new file mode 100644 index 0000000000..3a2d97c622 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/snail.rsi/spacesnail.png differ diff --git a/Resources/Textures/Objects/Consumable/Food/bowl.rsi/escargot.png b/Resources/Textures/Objects/Consumable/Food/bowl.rsi/escargot.png new file mode 100644 index 0000000000..2ae8f5af72 Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Food/bowl.rsi/escargot.png differ diff --git a/Resources/Textures/Objects/Consumable/Food/bowl.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/bowl.rsi/meta.json index 8e2c4444fc..d6c3ed7676 100644 --- a/Resources/Textures/Objects/Consumable/Food/bowl.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Food/bowl.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa. Fills created by potato1234_x", + "copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa. escargot from tgstation at https://github.com/tgstation/tgstation/commit/7ffd61b6fa6a6183daa8900f9a490f46f7a81955. Fills created by potato1234_x", "size": { "x": 32, "y": 32 @@ -66,6 +66,9 @@ 0.1 ] ] + }, + { + "name": "escargot" }, { "name": "eyeball" diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json index 824d3b9681..4ad75849d1 100644 --- a/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation and modified by Swept, potato1234x and deltanedas at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa", + "copyright": "Taken from tgstation and modified by Swept, potato1234x and deltanedas at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, snail by IproduceWidgets (github) and Kezu (discord)", "size": { "x": 32, "y": 32 @@ -152,6 +152,12 @@ }, { "name": "slime" + }, + { + "name": "snail" + }, + { + "name": "snail-cooked" }, { "name": "snake" diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/snail-cooked.png b/Resources/Textures/Objects/Consumable/Food/meat.rsi/snail-cooked.png new file mode 100644 index 0000000000..81d8f43bbf Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Food/meat.rsi/snail-cooked.png differ diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/snail.png b/Resources/Textures/Objects/Consumable/Food/meat.rsi/snail.png new file mode 100644 index 0000000000..c3c7ffcef5 Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Food/meat.rsi/snail.png differ diff --git a/Resources/Textures/White/Ghosts/augustnacist1488-ghost.rsi/animated.png b/Resources/Textures/White/Ghosts/augustnacist1488-ghost.rsi/animated.png new file mode 100644 index 0000000000..6afa0c0f00 Binary files /dev/null and b/Resources/Textures/White/Ghosts/augustnacist1488-ghost.rsi/animated.png differ diff --git a/Resources/Textures/White/Ghosts/augustnacist1488-ghost.rsi/meta.json b/Resources/Textures/White/Ghosts/augustnacist1488-ghost.rsi/meta.json new file mode 100644 index 0000000000..7f672c70eb --- /dev/null +++ b/Resources/Textures/White/Ghosts/augustnacist1488-ghost.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/tgstation/tgstation", + "size": { + "x": 96, + "y": 96 + }, + "states": [ + { + "name": "animated", + "directions": 4 + } + ] +}