diff --git a/Content.Client/Communications/UI/CommunicationsConsoleBoundUserInterface.cs b/Content.Client/Communications/UI/CommunicationsConsoleBoundUserInterface.cs index 1c94d32bf8..73488eaea3 100644 --- a/Content.Client/Communications/UI/CommunicationsConsoleBoundUserInterface.cs +++ b/Content.Client/Communications/UI/CommunicationsConsoleBoundUserInterface.cs @@ -3,6 +3,7 @@ using Content.Shared.Chat; using Content.Shared.Communications; using Robust.Shared.Configuration; using Robust.Shared.Timing; +using Robust.Shared.Prototypes; namespace Content.Client.Communications.UI { diff --git a/Content.Client/Communications/UI/CommunicationsConsoleMenu.xaml.cs b/Content.Client/Communications/UI/CommunicationsConsoleMenu.xaml.cs index 90643e45cf..db42618776 100644 --- a/Content.Client/Communications/UI/CommunicationsConsoleMenu.xaml.cs +++ b/Content.Client/Communications/UI/CommunicationsConsoleMenu.xaml.cs @@ -1,7 +1,9 @@ using Content.Client.UserInterface.Controls; using System.Threading; +using Content.Shared.CCVar; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.XAML; +using Robust.Shared.Configuration; using Robust.Shared.Utility; using Timer = Robust.Shared.Timing.Timer; @@ -13,6 +15,8 @@ namespace Content.Client.Communications.UI private CommunicationsConsoleBoundUserInterface Owner { get; set; } private readonly CancellationTokenSource _timerCancelTokenSource = new(); + [Dependency] private readonly IConfigurationManager _cfg = default!; + public CommunicationsConsoleMenu(CommunicationsConsoleBoundUserInterface owner) { IoCManager.InjectDependencies(this); @@ -23,6 +27,21 @@ namespace Content.Client.Communications.UI var loc = IoCManager.Resolve(); MessageInput.Placeholder = new Rope.Leaf(loc.GetString("comms-console-menu-announcement-placeholder")); + var maxAnnounceLength = _cfg.GetCVar(CCVars.ChatMaxAnnouncementLength); + MessageInput.OnTextChanged += (args) => + { + if (args.Control.TextLength > maxAnnounceLength) + { + AnnounceButton.Disabled = true; + AnnounceButton.ToolTip = Loc.GetString("comms-console-message-too-long"); + } + else + { + AnnounceButton.Disabled = !owner.CanAnnounce; + AnnounceButton.ToolTip = null; + } + }; + AnnounceButton.OnPressed += (_) => Owner.AnnounceButtonPressed(Rope.Collapse(MessageInput.TextRope)); AnnounceButton.Disabled = !owner.CanAnnounce; diff --git a/Content.Server/Communications/CommunicationsConsoleSystem.cs b/Content.Server/Communications/CommunicationsConsoleSystem.cs index 174ef80ed9..ef095e3619 100644 --- a/Content.Server/Communications/CommunicationsConsoleSystem.cs +++ b/Content.Server/Communications/CommunicationsConsoleSystem.cs @@ -9,7 +9,7 @@ using Content.Server.DeviceNetwork.Systems; using Content.Server.Interaction; using Content.Server.Popups; using Content.Server.RoundEnd; -using Content.Server.Screens; +using Robust.Shared.Player; using Content.Server.Screens.Components; using Content.Server.Shuttles.Systems; using Content.Server.Station.Components; @@ -27,6 +27,7 @@ using Content.Shared.Popups; using Content.Shared._White; using Robust.Server.GameObjects; using Robust.Shared.Configuration; +using Content.Server.Administration; namespace Content.Server.Communications { @@ -45,6 +46,7 @@ namespace Content.Server.Communications [Dependency] private readonly UserInterfaceSystem _uiSystem = default!; [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; + [Dependency] private readonly QuickDialogSystem _quickDialog = default!; private const float UIUpdateInterval = 5.0f; @@ -332,7 +334,7 @@ namespace Content.Server.Communications if (!CanUse(mob, uid)) { - _popupSystem.PopupEntity(Loc.GetString("comms-console-permission-denied"), uid, message.Session); + _popupSystem.PopupEntity(Loc.GetString("comms-console-permission-denied"), uid, mob); return; } @@ -340,12 +342,30 @@ namespace Content.Server.Communications RaiseLocalEvent(ref ev); if (ev.Cancelled) { - _popupSystem.PopupEntity(ev.Reason ?? Loc.GetString("comms-console-shuttle-unavailable"), uid, message.Session); + _popupSystem.PopupEntity(ev.Reason ?? Loc.GetString("comms-console-shuttle-unavailable"), uid, mob); return; } - _roundEndSystem.RequestRoundEnd(uid); - _adminLogger.Add(LogType.Action, LogImpact.Extreme, $"{ToPrettyString(mob):player} has called the shuttle."); + if (!TryComp(mob, out var actor)) + return; + + _quickDialog.OpenDialog(actor.PlayerSession, Loc.GetString("comms-console-window-text"), "Reason", (LongString message) => + { + if (!CanUse(mob, uid)) + { + _popupSystem.PopupEntity(Loc.GetString("comms-console-permission-denied"), uid, mob); + return; + } + + _roundEndSystem.RequestRoundEnd(uid, text: "round-end-system-shuttle-called-announcement-reason", reason: message); + + //WD-start + var ttsEv = new TTSAnnouncementEvent(message, comp.TtsVoiceId, uid, comp.Global); + RaiseLocalEvent(ttsEv); + //WD-end + + _adminLogger.Add(LogType.Action, LogImpact.Extreme, $"{ToPrettyString(mob):player} has called the shuttle."); + }); } private void OnRecallShuttleMessage(EntityUid uid, CommunicationsConsoleComponent comp, CommunicationsConsoleRecallEmergencyShuttleMessage message) diff --git a/Content.Server/Ghost/GhostSystem.cs b/Content.Server/Ghost/GhostSystem.cs index f34137c006..858dbecf13 100644 --- a/Content.Server/Ghost/GhostSystem.cs +++ b/Content.Server/Ghost/GhostSystem.cs @@ -462,6 +462,9 @@ namespace Content.Server.Ghost if (HasComp(entity)) continue; + if (TryComp(entity, out var invisibilityComponent) && invisibilityComponent.Invisible) + continue; + var playerDepartmentId = _prototypeManager.Index("Specific").ID; var playerJobName = "Неизвестно"; diff --git a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs index 6c80dce805..6399bc3bee 100644 --- a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs @@ -16,6 +16,7 @@ using Content.Shared.Chemistry.Reagent; using Content.Shared.Database; using Content.Shared.DoAfter; using Content.Shared.FixedPoint; +using Content.Shared.Hands.EntitySystems; using Content.Shared.IdentityManagement; using Content.Shared.Interaction; using Content.Shared.Interaction.Events; @@ -47,6 +48,7 @@ public sealed class DrinkSystem : SharedDrinkSystem [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + [Dependency] private readonly SharedHandsSystem _hands = default!; [Dependency] private readonly SharedInteractionSystem _interaction = default!; [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; [Dependency] private readonly StomachSystem _stomach = default!; @@ -155,6 +157,9 @@ public sealed class DrinkSystem : SharedDrinkSystem _appearance.SetData(uid, FoodVisuals.Visual, drainAvailable.Float(), appearance); } + /// + /// Tries to feed the drink item to the target entity + /// private bool TryDrink(EntityUid user, EntityUid target, DrinkComponent drink, EntityUid item) { if (!HasComp(target)) @@ -209,9 +214,9 @@ public sealed class DrinkSystem : SharedDrinkSystem BreakOnDamage = true, MovementThreshold = 0.01f, DistanceThreshold = 1.0f, - // Mice and the like can eat without hands. - // TODO maybe set this based on some CanEatWithoutHands event or component? - NeedHand = forceDrink, + // do-after will stop if item is dropped when trying to feed someone else + // or if the item started out in the user's own hands + NeedHand = forceDrink || _hands.IsHolding(user, item), }; _doAfter.TryStartDoAfter(doAfterEventArgs); diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs index 49d7374041..6293e76631 100644 --- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs @@ -95,6 +95,9 @@ public sealed class FoodSystem : EntitySystem args.Handled = result.Handled; } + /// + /// Tries to feed the food item to the target entity + /// public (bool Success, bool Handled) TryFeed(EntityUid user, EntityUid target, EntityUid food, FoodComponent foodComp) { //Suppresses eating yourself and alive mobs @@ -185,9 +188,9 @@ public sealed class FoodSystem : EntitySystem BreakOnDamage = true, MovementThreshold = 0.01f, DistanceThreshold = MaxFeedDistance, - // Mice and the like can eat without hands. - // TODO maybe set this based on some CanEatWithoutHands event or component? - NeedHand = forceFeed, + // do-after will stop if item is dropped when trying to feed someone else + // or if the item started out in the user's own hands + NeedHand = forceFeed || _hands.IsHolding(user, food), }; _doAfter.TryStartDoAfter(doAfterArgs); diff --git a/Content.Server/RoundEnd/RoundEndSystem.cs b/Content.Server/RoundEnd/RoundEndSystem.cs index cf90f9b84f..3269074769 100644 --- a/Content.Server/RoundEnd/RoundEndSystem.cs +++ b/Content.Server/RoundEnd/RoundEndSystem.cs @@ -141,7 +141,8 @@ namespace Content.Server.RoundEnd EntityUid? requester = null, bool checkCooldown = true, string text = "round-end-system-shuttle-called-announcement", - string name = "Station") + string name = "Station", + string? reason = null) { var duration = DefaultCountdownDuration; @@ -156,7 +157,7 @@ namespace Content.Server.RoundEnd } } - RequestRoundEnd(duration, requester, checkCooldown, text, name); + RequestRoundEnd(duration, requester, checkCooldown, text, name, reason); } public void RequestRoundEnd( @@ -164,7 +165,8 @@ namespace Content.Server.RoundEnd EntityUid? requester = null, bool checkCooldown = true, string text = "round-end-system-shuttle-called-announcement", - string name = "Station") + string name = "Station", + string? reason = null) { if (_gameTicker.RunLevel != GameRunLevel.InRound) return; @@ -202,13 +204,23 @@ namespace Content.Server.RoundEnd units = "eta-units-minutes"; } - _chatSystem.DispatchGlobalAnnouncement(Loc.GetString(text, + if (reason == null) + _chatSystem.DispatchGlobalAnnouncement(Loc.GetString(text, ("time", time), ("units", Loc.GetString(units))), - name, - false, - null, - Color.Gold); + name, + false, + null, + Color.Gold); + else + _chatSystem.DispatchGlobalAnnouncement(Loc.GetString(text, + ("time", time), + ("units", Loc.GetString(units)), + ("reason", reason)), + name, + false, + null, + Color.Gold); _audio.PlayGlobal("/Audio/Announcements/shuttlecalled.ogg", Filter.Broadcast(), true); diff --git a/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs b/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs index aaea67ab96..e648bcdf94 100644 --- a/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs +++ b/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs @@ -20,6 +20,7 @@ using Content.Server.Mind; using Content.Server.Singularity.EntitySystems; using Content.Server.Standing; using Content.Server.Weapons.Ranged.Systems; +using Content.Shared._White.Antag; using Content.Shared._White.BetrayalDagger; using Content.Shared._White.Cult.Components; using Content.Shared._White.Events; @@ -184,6 +185,7 @@ public sealed class WizardSpellsSystem : EntitySystem SwapComponent(uid, target); SwapComponent(uid, target); SwapComponent(uid, target); + SwapComponent(uid, target); _mindSystem.TransferTo(mindId, target, mind: mind); @@ -195,6 +197,10 @@ public sealed class WizardSpellsSystem : EntitySystem TransferAllMagicActions(uid, target); + // This is bad, but EnsureComp cant copy variables + if (TryComp(target, out var globalAntagonistComponent)) + globalAntagonistComponent.AntagonistPrototype = "globalAntagonistWizard"; + _standing.TryLieDown(uid); _standing.TryLieDown(target); @@ -947,24 +953,26 @@ public sealed class WizardSpellsSystem : EntitySystem } } - private void SwapComponent(EntityUid uid1, EntityUid uid2) where T : Component, new() + private void SwapComponent(EntityUid uidFrom, EntityUid uidTo) where T : Component, new() { - var hasComp = HasComp(uid1); - var targetHasComp = HasComp(uid2); + var hasComp = HasComp(uidFrom); + var targetHasComp = HasComp(uidTo); if (hasComp == targetHasComp) return; if (hasComp) { - EnsureComp(uid2); - RemComp(uid1); + EnsureComp(uidTo); + RemComp(uidFrom); + + return; } - if (targetHasComp) + if (!targetHasComp) { - EnsureComp(uid1); - RemComp(uid2); + EnsureComp(uidFrom); + RemComp(uidTo); } } diff --git a/Content.Server/_White/Wizard/WizardRuleSystem.cs b/Content.Server/_White/Wizard/WizardRuleSystem.cs index e33eb21833..ad21269529 100644 --- a/Content.Server/_White/Wizard/WizardRuleSystem.cs +++ b/Content.Server/_White/Wizard/WizardRuleSystem.cs @@ -439,7 +439,7 @@ public sealed class WizardRuleSystem : GameRuleSystem if (HasComp(uid)) return; - MakeWizard(uid, rule, true); + MakeWizard(uid, rule); } private bool MakeWizard(EntityUid wizard, WizardRuleComponent rule, @@ -468,7 +468,7 @@ public sealed class WizardRuleSystem : GameRuleSystem return false; } - if (!SpawnMap((wizard, rule))) + if (!SpawnMap((rule.Owner, rule))) { _sawmill.Info("Failed to load shuttle for wizard"); return false; diff --git a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs index b72a7c4eb3..5f30df094b 100644 --- a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs +++ b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs @@ -227,9 +227,17 @@ public abstract partial class SharedHandsSystem return true; } - public bool IsHolding(EntityUid uid, EntityUid? entity, [NotNullWhen(true)] out Hand? inHand, HandsComponent? handsComp = null) + public bool IsHolding(Entity entity, [NotNullWhen(true)] EntityUid? item) + { + return IsHolding(entity, item, out _, entity); + } + + public bool IsHolding(EntityUid uid, [NotNullWhen(true)] EntityUid? entity, [NotNullWhen(true)] out Hand? inHand, HandsComponent? handsComp = null) { inHand = null; + if (entity == null) + return false; + if (!Resolve(uid, ref handsComp, false)) return false; @@ -241,7 +249,6 @@ public abstract partial class SharedHandsSystem return true; } } - return false; } diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index da37f52918..83287eb508 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -227,16 +227,31 @@ namespace Content.Shared.Preferences } // TODO: This should eventually not be a visual change only. - public static HumanoidCharacterProfile Random(HashSet? ignoredSpecies = null) + public static HumanoidCharacterProfile Random(HashSet? ignoredSpecies = null, bool includeSponsor = false) { var prototypeManager = IoCManager.Resolve(); var random = IoCManager.Resolve(); + // WD edit - fix free sponsor species + var speciesToIgnore = ignoredSpecies != null + ? new HashSet(ignoredSpecies) + : new HashSet(); + + if (!includeSponsor) + { + var sponsorSpecies = prototypeManager.EnumeratePrototypes() + .Where(x => x.SponsorOnly) + .Select(x => x.ID); + + speciesToIgnore.UnionWith(sponsorSpecies); + } + var species = random.Pick(prototypeManager .EnumeratePrototypes() - .Where(x => ignoredSpecies == null ? x.RoundStart : x.RoundStart && !ignoredSpecies.Contains(x.ID)) + .Where(x => !x.SponsorOnly && x.RoundStart && !speciesToIgnore.Contains(x.ID)) .ToArray() ).ID; + // WD edit end return RandomWithSpecies(species); } diff --git a/Resources/Changelog/ChangelogWhite.yml b/Resources/Changelog/ChangelogWhite.yml index f842f812a5..7a18c0e291 100644 --- a/Resources/Changelog/ChangelogWhite.yml +++ b/Resources/Changelog/ChangelogWhite.yml @@ -6472,3 +6472,184 @@ id: 411 time: '2024-07-23T15:34:13.0000000+00:00' url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/484 +- author: PuroSlavKing + changes: + - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u0433\u0430\u0440\u043F\u0438\u0438\ + \ \u043C\u043E\u0433\u0443\u0442 \u0435\u0441\u0442\u044C \u0441\u044B\u0440\ + \u043E\u0435 \u043C\u044F\u0441\u043E, \u0431\u0435\u0437 \u0432\u0440\u0435\ + \u0434\u0430 \u0434\u043B\u044F \u0437\u0434\u043E\u0440\u043E\u0432\u044C\u044F\ + ." + type: Tweak + - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u043D\u0430\u0437\u0432\ + \u0430\u043D\u0438\u0435 \u043C\u044F\u0441\u0430 \u0413\u043E\u043D\u0434\u043E\ + \u043B\u044B, \u0442\u0435\u043F\u0435\u0440\u044C \u0435\u0433\u043E \u043D\ + \u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0442\u043B\u0438\ + \u0447\u0438\u0442\u044C \u043E\u0442 \u043E\u0431\u044B\u0447\u043D\u043E\u0433\ + \u043E \u043C\u044F\u0441\u0430 \u043F\u043E \u043D\u0430\u0437\u0432\u0430\u043D\ + \u0438\u044E \u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044E." + type: Tweak + - message: "\u041F\u043E\u043B\u0438\u043C\u043E\u0440\u0444 \u0413\u043E\u043D\u0434\ + \u043E\u043B\u044B \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\ + \u0441\u043A\u0438 \u0441\u043F\u0430\u0434\u0430\u0435\u0442, \u0447\u0435\u0440\ + \u0435\u0437 15 \u043C\u0438\u043D\u0443\u0442." + type: Tweak + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043D\u0435\ + \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u043F\u043E\ + \u043B\u0438\u043C\u043E\u0440\u0444\u0430 \u0432 \u0413\u043E\u043D\u0434\u043E\ + \u043B\u0443 \u0443 \u0444\u0435\u043B\u0438\u043D\u0438\u0434\u043E\u0432." + type: Fix + id: 412 + time: '2024-07-23T17:36:35.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/485 +- author: ThereDrD + changes: + - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u043F\u0440\u0438 \u0432\u044B\ + \u0437\u043E\u0432\u0435 \u0448\u0430\u0442\u0442\u043B\u0430 \u043C\u043E\u0436\ + \u043D\u043E \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u043F\u0440\u0438\ + \u0447\u0438\u043D\u0443 \u0432\u044B\u0437\u043E\u0432\u0430, \u043A\u043E\u0442\ + \u043E\u0440\u0430\u044F \u043F\u043E\u044F\u0432\u0438\u0442\u0441\u044F \u0432\ + \ \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0438 \u0432\u044B\u0437\u043E\ + \u0432\u0430." + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u043E\u0432\ + \u044B\u0435 \u0440\u0430\u0437\u043D\u043E\u0446\u0432\u0435\u0442\u043D\u044B\ + \u0435 \u0432\u0438\u0434\u044B \u043A\u0440\u0435\u0441\u0435\u043B, \u0442\ + \u0430\u0431\u0443\u0440\u0435\u0442\u043E\u043A \u0438 \u043B\u0430\u0432\u043E\ + \u0447\u0435\u043A. \u0418\u0445 \u043C\u043E\u0436\u043D\u043E \u0441\u043A\ + \u0440\u0430\u0444\u0442\u0438\u0442\u044C" + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u044E\u0431\u043A\u043E\ + \u043C\u0431\u0435\u0437 \u043C\u0443\u0437\u044B\u043A\u0430\u043D\u0442\u0430\ + , \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043C\u043E\u0436\u043D\u043E\ + \ \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0432 \u043B\u043E\u0430\u0434\ + \u0430\u0443\u0442\u0430\u0445. \u0410 \u0442\u0430\u043A \u0436\u0435 \u0443\ + \u043D\u0438\u0444\u043E\u0440\u043C\u0430 \u043C\u0443\u0437\u044B\u043A\u0430\ + \u043D\u0442\u0430 \u0442\u0435\u043F\u0435\u0440\u044C \u043F\u0440\u043E\u0434\ + \u0430\u0435\u0442\u0441\u044F \u0432 \u0422\u0435\u0430\u0442\u0440\u043E\u0428\ + \u043A\u0430\u0444\u0443" + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0431\u0443\u043A\u0435\ + \u0442 \u0438\u0437 \u043C\u0430\u043A\u043E\u0432, \u043A\u043E\u0442\u043E\ + \u0440\u044B\u0439 \u043C\u043E\u0436\u043D\u043E \u0441\u043A\u0440\u0430\u0444\ + \u0442\u0438\u0442\u044C \u0438\u0437 4 \u0446\u0432\u0435\u0442\u043A\u043E\ + \u0432. \u0415\u0433\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u043A\u0443\ + \u0448\u0430\u0442\u044C \u0438 \u043F\u043E\u0434\u0436\u0435\u0447\u044C,\ + \ \u0435\u0441\u043B\u0438 \u043F\u043E\u0434\u0430\u0440\u043E\u043A \u0432\ + \u0430\u043C \u043D\u0435 \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u043B\u0441\ + \u044F." + type: Add + - message: "\u0412 \u043F\u043B\u044E\u0448\u0435\u0432\u044B\u0435 \u0438\u0433\ + \u0440\u0443\u0448\u043A\u0438 \u0442\u0435\u043F\u0435\u0440\u044C \u043C\u043E\ + \u0436\u043D\u043E \u0437\u0430\u0441\u0443\u043D\u0443\u0442\u044C \u043F\u0418\ + \u0418, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442\ + \ \u043E\u0442\u0442\u0443\u0434\u0430 \u0440\u0430\u0437\u0433\u043E\u0432\u0430\ + \u0440\u0438\u0432\u0430\u0442\u044C." + type: Add + - message: "\u0411\u0430\u0444\u0444 \u0436\u0433\u0443\u0442\u0430, \u0442\u0435\ + \u043F\u0435\u0440\u044C \u043E\u043D \u043D\u0430\u043C\u043D\u043E\u0433\u043E\ + \ \u043B\u0443\u0447\u0448\u0435 \u043E\u0441\u0442\u0430\u043D\u0430\u0432\u043B\ + \u0438\u0432\u0430\u0435\u0442 \u043A\u0440\u043E\u0432\u043E\u0442\u0435\u0447\ + \u0435\u043D\u0438\u044F. \u0410 \u0435\u0449\u0435 \u043E\u043D \u0442\u0435\ + \u043F\u0435\u0440\u044C \u043F\u0440\u043E\u0434\u0430\u0435\u0442\u0441\u044F\ + \ \u0432 \u041D\u0430\u043D\u043E\u043C\u0435\u0434\u0435, \u0437\u0430\u043D\ + \u0438\u043C\u0430\u0435\u0442 \u043C\u0435\u043D\u044C\u0448\u0435 \u043C\u0435\ + \u0441\u0442\u0430 \u0438 \u0441\u0442\u0430\u043A\u0430\u0435\u0442\u0441\u044F\ + \ \u0434\u043E \u0434\u0432\u0443\u0445." + type: Tweak + id: 413 + time: '2024-07-23T17:37:15.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/486 +- author: ThereDrD + changes: + - message: "WhiteMoose \u0442\u0435\u043F\u0435\u0440\u044C \u043F\u043E\u0434\u0434\ + \u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0440\u0430\u043D\u0441\ + \u0444\u0435\u0440 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432\ + \ \u043C\u0435\u0436\u0434\u0443 \u043F\u0440\u043E\u0442\u043E\u043B\u0430\u0442\ + \u0430\u043C\u0438" + type: Fix + - message: "\u041A\u0438\u0440\u043A\u0430 \u043F\u043E\u043B\u0443\u0447\u0438\u043B\ + \u0430 \u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\ + \u0437\u043C\u0435\u0440" + type: Fix + - message: "\u0411\u043E\u043B\u044C\u0448\u0435 \u043D\u0435\u043B\u044C\u0437\u044F\ + \ \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u043D\u0430\u0442\ + \u043D\u044B\u0435 \u0440\u0430\u0441\u044B \u0431\u0430\u0433\u043E\u043C" + type: Fix + - message: "\u0410\u0434\u043C\u0438\u043D\u0433\u043E\u0441\u0442 \u0442\u0435\u043F\ + \u0435\u0440\u044C \u043D\u0435 \u0432\u0438\u0434\u043D\u043E \u0432 \u043F\ + \u0430\u043D\u0435\u043B\u0438 \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\ + \u0430, \u043A\u043E\u0433\u0434\u0430 \u043E\u043D \u0432 \u043D\u0435\u0432\ + \u0438\u0434\u0438\u043C\u043E\u0441\u0442\u0438" + type: Fix + - message: "\u041F\u0435\u0434\u0430\u043B\u044C\u043D\u044B\u0439 \u0432\u0435\u0440\ + \u0431 \u043F\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u0438\ + \u0433\u0440\u043E\u043A\u0430 \u0432 \u043C\u0430\u0433\u0430 \u0442\u0435\u043F\ + \u0435\u0440\u044C \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442" + type: Fix + - message: "\u041C\u0430\u0433 \u043F\u043E\u0441\u043B\u0435 \u0441\u0432\u0430\ + \u043F\u0430 \u0442\u0435\u043B\u0430 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\ + \u0430\u0435\u0442\u0441\u044F \u0432 \u043F\u0430\u043D\u0435\u043B\u0438 \u0442\ + \u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430 \u043A\u0430\u043A \u043C\u0430\ + \u0433, \u0430 \u0441\u0442\u0430\u0440\u043E\u0435 \u0442\u0435\u043B\u043E\ + \ \u043D\u0435\u0442" + type: Fix + - message: "\u0414\u0443\u0430\u0444\u0442\u0435\u0440 \u0435\u0434\u044B \u0438\ + \ \u043F\u0438\u0442\u044C\u044F \u0442\u0435\u043F\u0435\u0440\u044C \u043F\ + \u0440\u0435\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F, \u0435\u0441\u043B\ + \u0438 \u0432\u044B\u043A\u0438\u043D\u0443\u0442\u044C \u0435\u0434\u0443 \u043D\ + \u0430 \u043F\u043E\u043B \u0438\u043B\u0438 \u043F\u043E\u043B\u043E\u0436\u0438\ + \u0442\u044C \u0432 \u0440\u044E\u043A\u0437\u0430\u043A." + type: Fix + - message: "\u0421\u0432\u044F\u0449\u0435\u043D\u043D\u0438\u043A \u043F\u043E\u043B\ + \u0443\u0447\u0438\u043B \u0431\u0438\u0431\u043B\u0438\u044E \u0432 \u043B\u043E\ + \u0430\u0434\u0430\u0443\u0442\u0430\u0445" + type: Fix + - message: "\u0423 \u043A\u0430\u043F\u0438\u0442\u0430\u043D\u0430 \u0431\u043E\ + \u043B\u044C\u0448\u0435 \u043D\u0435\u0442 \u0434\u0432\u0443\u0445 \u0432\u0435\ + \u0449\u043C\u0435\u0448\u043A\u043E\u0432" + type: Fix + - message: "\u0421\u0411, \u043D\u0430\u0434\u0435\u044E\u0441\u044C, \u0431\u043E\ + \u043B\u044C\u0448\u0435 \u043D\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043F\ + \u0430\u0432\u043D\u0438\u0442\u044C\u0441\u044F \u0441 \u043E\u0431\u044B\u0447\ + \u043D\u043E\u0439 \u0433\u0430\u0440\u043D\u0438\u0442\u0443\u0440\u043E\u0439\ + \ \u043D\u0430 \u0443\u0448\u0430\u0445 \u0438 \u043F\u043E\u043B\u043D\u043E\ + \u0446\u0435\u043D\u043D\u043E\u0439 \u0432 \u043D\u043E\u0433\u0430\u0445." + type: Fix + - message: "\u041A\u043E\u0440\u043E\u0431\u043A\u0430 \u0441 \u043C\u0435\u0448\ + \u043A\u0430\u043C\u0438 \u0434\u043B\u044F \u043C\u0443\u0441\u043E\u0440\u0430\ + \ \u0443\u0431\u0440\u0430\u043D\u0430, \u043F\u043E\u0442\u043E\u043C\u0443\ + \ \u0447\u0442\u043E \u043C\u0435\u0448\u043A\u0438 \u0434\u043B\u044F \u043C\ + \u0443\u0441\u043E\u0440\u0430 \u0437\u0430\u043D\u0438\u043C\u0430\u044E\u0442\ + \u0441\u044F \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u043D\u043E\u0433\ + \u043E \u043C\u0435\u0441\u0442\u0430 \u0438 \u043D\u0435 \u043F\u043E\u043C\ + \u0435\u0449\u0430\u044E\u0442\u0441\u044F \u043D\u0438 \u0432 \u043E\u0434\u043D\ + \u0443 \u043A\u043E\u0440\u043E\u0431\u043A\u0443" + type: Remove + id: 414 + time: '2024-07-23T23:19:14.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/488 +- author: Spatison + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0442\u0440\u0430\ + \u0432\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043F\u0443\ + \u043B\u044F \u0434\u043B\u044F \u0433\u0440\u0430\u043D\u0430\u0442\u043E\u043C\ + \u0435\u0442\u0430" + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043A\u043E\u0440\ + \u043E\u0431\u043A\u0438 \u0433\u0440\u0430\u043D\u0430\u0442" + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0441\u043F\u0440\u0430\ + \u0439\u0442 \u0438 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0433\u0440\ + \u0430\u043D\u0430\u0442\u043E\u043C\u0435\u0442\u0443" + type: Add + - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D \u0446\u0432\u0435\u0442\ + \ \u0434\u044B\u043C\u0430 \u0441\u043B\u0435\u0437\u043E\u0442\u043E\u0447\u0438\ + \u0432\u043E\u0439 \u0433\u0440\u0430\u043D\u0430\u0442\u044B" + type: Tweak + - message: "\u0413\u0440\u0430\u043D\u0430\u0442\u043E\u043C\u0435\u0442 \u0434\u043E\ + \u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u0448\u043A\u0430\u0444 \u0432\u0430\ + \u0440\u0434\u0435\u043D\u0430" + type: Tweak + id: 415 + time: '2024-07-23T23:19:31.0000000+00:00' + url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/483 diff --git a/Resources/Locale/en-US/communications/communications-console-component.ftl b/Resources/Locale/en-US/communications/communications-console-component.ftl index f7cc87cb8b..3485906519 100644 --- a/Resources/Locale/en-US/communications/communications-console-component.ftl +++ b/Resources/Locale/en-US/communications/communications-console-component.ftl @@ -5,10 +5,12 @@ comms-console-menu-announcement-button = Announce comms-console-menu-broadcast-button = Broadcast comms-console-menu-call-shuttle = Call emergency shuttle comms-console-menu-recall-shuttle = Recall emergency shuttle +comms-console-window-text = Enter the nature of emergency # Popup comms-console-permission-denied = Permission denied comms-console-shuttle-unavailable = Shuttle is currently unavailable +comms-console-message-too-long = Message is too long # Placeholder values comms-console-announcement-sent-by = Sent by diff --git a/Resources/Locale/en-US/round-end/round-end-system.ftl b/Resources/Locale/en-US/round-end/round-end-system.ftl index f86851506b..d1afaf1ea8 100644 --- a/Resources/Locale/en-US/round-end/round-end-system.ftl +++ b/Resources/Locale/en-US/round-end/round-end-system.ftl @@ -1,6 +1,10 @@ ## RoundEndSystem -round-end-system-shuttle-called-announcement = An emergency shuttle has been sent. ETA: {$time} {$units}. +round-end-system-shuttle-called-announcement = An emergency shuttle has been sent. ETA: {$time} {$units}. +round-end-system-shuttle-called-announcement-reason = + An emergency shuttle has been sent. ETA: {$time} {$units}. + + Nature of emergency: {$reason} round-end-system-shuttle-already-called-announcement = An emergency shuttle has already been sent. round-end-system-shuttle-auto-called-announcement = An automatic crew shift change shuttle has been sent. ETA: {$time} {$units}. Recall the shuttle to extend the shift. round-end-system-shuttle-recalled-announcement = The emergency shuttle has been recalled. diff --git a/Resources/Locale/ru-RU/_white/communications/communications-console-component.ftl b/Resources/Locale/ru-RU/_white/communications/communications-console-component.ftl new file mode 100644 index 0000000000..2ec62606c0 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/communications/communications-console-component.ftl @@ -0,0 +1,2 @@ +comms-console-window-text = Введите причину вызова эвакуации +comms-console-message-too-long = Сообщение слишком длинное diff --git a/Resources/Locale/ru-RU/_white/round-end/round-end-system.ftl b/Resources/Locale/ru-RU/_white/round-end/round-end-system.ftl new file mode 100644 index 0000000000..4023c05040 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/round-end/round-end-system.ftl @@ -0,0 +1,5 @@ +round-end-system-shuttle-called-announcement = Эвакуационный шаттл был вызван. Он прибудет через: {$time} {$units}. +round-end-system-shuttle-called-announcement-reason = + Эвакуационный шаттл был вызван. Он прибудет через: {$time} {$units}. + + Причина: {$reason} diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/body/organs/anthro_animal.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/body/organs/anthro_animal.ftl new file mode 100644 index 0000000000..b18426bf03 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/body/organs/anthro_animal.ftl @@ -0,0 +1,6 @@ +ent-OrganAnthroAnimalStomach = { ent-OrganHumanStomach } + .desc = { ent-OrganHumanStomach.desc } +ent-OrganAnthroAnimalLiver = { ent-OrganHumanLiver } + .desc = { ent-OrganHumanLiver.desc } +ent-OrganAnthroAnimalHeart = { ent-OrganHumanHeart } + .desc = { ent-OrganHumanHeart.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/markers/spawners/mobs.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/markers/spawners/mobs.ftl new file mode 100644 index 0000000000..b6ad12ffd8 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/markers/spawners/mobs.ftl @@ -0,0 +1,2 @@ +ent-SpawnMobGondola = спавнер Гондола + .desc = { ent-MarkerBase.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/mobs/npcs/animals.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/mobs/npcs/animals.ftl new file mode 100644 index 0000000000..615205903e --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/mobs/npcs/animals.ftl @@ -0,0 +1,2 @@ +ent-MobGondola = Гондола + .desc = Не имея рук, он воплощает даосский принцип у-вэй (бездействия), а выражение его улыбающегося лица показывает его полное принятие мира таким, какой он есть. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/consumable/food/meat.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/consumable/food/meat.ftl index 55a6d6c194..069926678a 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/consumable/food/meat.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/consumable/food/meat.ftl @@ -1,5 +1,7 @@ -ent-FoodMeatGondola = сырое мясо Гондолы - .desc = Ты монстр. +ent-FoodMeatGondola = { ent-FoodMeat } + .desc = { ent-FoodMeat.desc } + .suffix = Гондола -ent-FoodMeatGondolaCooked = стейк из Гондолы - .desc = Приготовленное мясо Гондолы... +ent-FoodMeatGondolaCooked = { ent-FoodMeatCooked } + .desc = { ent-FoodMeatCooked.desc } + .suffix = Гондола diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/ammunition/boxes/shinano.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/ammunition/boxes/shinano.ftl new file mode 100644 index 0000000000..ad4c4d8a54 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/ammunition/boxes/shinano.ftl @@ -0,0 +1,8 @@ +ent-BaseShinanoGrenadeAmmoProvider = { ent-BaseAmmoProvider } + .desc = { ent-BaseAmmoProvider.desc } +ent-BoxShinanoGrenadeFlash = коробка гранат (светошумовые) + .desc = Заставь их плакать. +ent-BoxShinanoGrenadeSmoke = коробка гранат (слезоточивые) + .desc = Заставь их плакать. +ent-BoxShinanoGrenadeBeanbag = коробка гранат (травматические) + .desc = Это точно никого не убьет? \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/ammunition/cartridges/shinanogrenade.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/ammunition/cartridges/shinanogrenade.ftl new file mode 100644 index 0000000000..8b9fb638f8 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/ammunition/cartridges/shinanogrenade.ftl @@ -0,0 +1,8 @@ +ent-BaseShinanoGrenade = Граната + .desc = { ent-BaseCartridge.desc } +ent-ShinanoGrenadeFlash = Светошумовая граната + .desc = { ent-BaseShinanoGrenade.desc } +ent-ShinanoGrenadeSmoke = Слезоточивая граната + .desc = { ent-BaseShinanoGrenade.desc } +ent-ShinanoGrenadeBeanbag = Травматическая граната + .desc = { ent-BaseShinanoGrenade.desc } \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/launchers/shinano.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/launchers/shinano.ftl new file mode 100644 index 0000000000..ff1e63ee15 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/guns/launchers/shinano.ftl @@ -0,0 +1,2 @@ +ent-WeaponLauncherShinano = Синано + .desc = Однозарядный гранатомёт, которым снаряжаются колониальные полиции, охранные подразделения и наёмники везде, где есть влияние Нанотрейзен. Печально известен среди пикетирующих и революционеров, так как БЛУП - это первое, что они слышут, перед тем как начинается насилие. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/experimental_stunbaton.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/melee/experimental_stunbaton.ftl similarity index 100% rename from Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/experimental_stunbaton.ftl rename to Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/weapons/melee/experimental_stunbaton.ftl diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/metabolizer-types.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/metabolizer-types.ftl new file mode 100644 index 0000000000..eafbb8fc09 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/metabolizer-types.ftl @@ -0,0 +1 @@ +metabolizer-type-anthropomorph-animal = Гуманоидное животное diff --git a/Resources/Maps/White/WhiteMoose.yml b/Resources/Maps/White/WhiteMoose.yml index bbf42e2651..a351e99747 100644 --- a/Resources/Maps/White/WhiteMoose.yml +++ b/Resources/Maps/White/WhiteMoose.yml @@ -9545,6 +9545,7 @@ entities: - type: NavMap - type: BecomesStation id: WhiteMooseStation + - type: MaterialStorage - uid: 3058 components: - type: MetaData @@ -77108,7 +77109,7 @@ entities: - stampedColor: '#006600FF' stampedName: stamp-component-stamped-name-centcom content: >- - Совместная работа отделов повышает эффективность всех сотрудников. Попроси помощи и помоги другим и увидишь, как тебе проще стало летать в космос. Грабеж и хамство последнее, что ты должен делать. + Совместная работа отделов повышает эффективность всех сотрудников. Попроси помощи и помоги другим и увидишь, как тебе проще стало летать в космос. Грабеж и хамство последнее, что ты должен делать. diff --git a/Resources/Prototypes/Body/Prototypes/reptilian.yml b/Resources/Prototypes/Body/Prototypes/reptilian.yml index 1e9ebd54a4..4c486b3838 100644 --- a/Resources/Prototypes/Body/Prototypes/reptilian.yml +++ b/Resources/Prototypes/Body/Prototypes/reptilian.yml @@ -13,10 +13,10 @@ torso: part: TorsoReptilian organs: - heart: OrganAnimalHeart + heart: OrganAnthroAnimalHeart # WD lungs: OrganHumanLungs - stomach: OrganReptilianStomach - liver: OrganAnimalLiver + stomach: OrganAnthroAnimalStomach # WD + liver: OrganAnthroAnimalLiver # WD kidneys: OrganHumanKidneys connections: - right arm diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml index 6a8f1faf4f..36db90fc01 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml @@ -19,6 +19,10 @@ - id: ClothingOuterHardsuitWarden - id: OxygenTankFilled - id: LightModule + - id: WeaponLauncherShinano + - id: BoxShinanoGrenadeFlash + - id: BoxShinanoGrenadeSmoke + - id: BoxShinanoGrenadeBeanbag - type: entity id: LockerWardenFilled @@ -39,6 +43,10 @@ - id: MagazinePistol - id: BoxMindshield - id: LightModule + - id: WeaponLauncherShinano + - id: BoxShinanoGrenadeFlash + - id: BoxShinanoGrenadeSmoke + - id: BoxShinanoGrenadeBeanbag - type: entity id: LockerSecurityFilled diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml index 82bb1ffc2e..7667a385e2 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml @@ -6,6 +6,7 @@ Ointment: 2 Bloodpack: 2 Gauze: 2 + Tourniquet: 5 EpinephrineChemistryBottle: 1 Syringe: 2 EmergencyMedipen: 2 diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml index 37875420d7..eff2b56be0 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml @@ -788,3 +788,14 @@ sprite: Clothing/Uniforms/Jumpskirt/inspectorformal.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpskirt/inspectorformal.rsi + +- type: entity + parent: ClothingUniformSkirtBase + id: ClothingUniformJumpskirtMusician + name: musician's skirt + description: A fancy skirt for the musically inclined. Perfect for any lounge act! + components: + - type: Sprite + sprite: Clothing/Uniforms/Jumpskirt/musician.rsi + - type: Clothing + sprite: Clothing/Uniforms/Jumpskirt/musician.rsi diff --git a/Resources/Prototypes/Entities/Effects/chemistry_effects.yml b/Resources/Prototypes/Entities/Effects/chemistry_effects.yml index 0a0d21c5b5..e773cda116 100644 --- a/Resources/Prototypes/Entities/Effects/chemistry_effects.yml +++ b/Resources/Prototypes/Entities/Effects/chemistry_effects.yml @@ -48,6 +48,23 @@ tags: - HideContextMenu +#WD EDIT +- type: entity + parent: BaseFoam + id: SmokeTear + name: smoketear + noSpawn: true + components: + - type: Sprite + color: "#B54B3BBA" + sprite: Effects/chemsmoke.rsi + state: chemsmoke + - type: TimedDespawn + lifetime: 10 + - type: Tag + tags: + - HideContextMenu + - type: entity parent: BaseFoam id: Foam diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/furniture.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/furniture.yml new file mode 100644 index 0000000000..2236a0a776 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/furniture.yml @@ -0,0 +1,41 @@ +- type: entity + name: random comfy spawner + id: RandomComfySpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - sprite: Structures/Furniture/chairs.rsi + state: comfy-random + - type: RandomSpawner + prototypes: + - BlackComfyChair + - BlueComfyChair + - GreenComfyChair + - OrangeComfyChair + - PinkComfyChair + - PurpleComfyChair + - RedComfyChair + - WhiteComfyChair + chance: 1 + +- type: entity + name: random padded stool spawner + id: RandomPaddedStoolSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - sprite: Structures/Furniture/chairs.rsi + state: pufi-box-random + - type: RandomSpawner + prototypes: + - BlackPaddedStool + - BluePaddedStool + - GreenPaddedStool + - OrangePaddedStool + - PinkPaddedStool + - PurplePaddedStool + - RedPaddedStool + - WhitePaddedStool + chance: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index b31dd992bd..efc0636ff8 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -52,6 +52,17 @@ reagents: - ReagentId: Fiber Quantity: 10 + - type: ItemSlots + slots: + item: + ejectSound: + collection: storageRustle + insertSound: + collection: storageRustle + #name: plushie-inserted-pai + whitelist: + components: + - PAI - type: entity parent: BasePlushie diff --git a/Resources/Prototypes/Entities/Objects/Misc/bouquet.yml b/Resources/Prototypes/Entities/Objects/Misc/bouquet.yml new file mode 100644 index 0000000000..fbea7eb812 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Misc/bouquet.yml @@ -0,0 +1,54 @@ +- type: entity + name: PoppyBouquet + parent: FoodProduceBase + id: PoppyBouquet + description: It's a great way to honor the memory of an assistant who was killed through your fault. + components: + - type: Sprite + sprite: Objects/Misc/poppybouquet.rsi + state: icon + scale: 1.15,1.15 + - type: Item + sprite: Objects/Misc/poppybouquet.rsi + - type: Construction + graph: PoppyBouquet + node: PoppyBouquet + - type: BadFood + - type: SolutionContainerManager # 4 flowers + solutions: + food: + maxVol: 66 + reagents: + - ReagentId: Nutriment + Quantity: 4 + - ReagentId: Bicaridine + Quantity: 40 + - ReagentId: Fiber + Quantity: 8 + - type: FlavorProfile + flavors: + - medicine + - type: Flammable + fireSpread: true + alwaysCombustible: true + damage: + types: + Heat: 1 + - type: FireVisuals + sprite: Effects/fire.rsi + normalState: fire + - type: Damageable + damageModifierSet: Web + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index ec43ae2089..11ca70eae2 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -242,20 +242,29 @@ - SecBeltEquip - type: Sprite state: tourniquet + - type: Item + size: Tiny - type: Healing damageContainers: - Biological damage: groups: - Brute: 5 # Tourniquets HURT! + Brute: -1 types: - Asphyxiation: 5 # Essentially Stopping all blood reaching a part of your body - bloodlossModifier: -10 # Tourniquets stop bleeding + Bloodloss: 2 + Asphyxiation: 2 # Essentially Stopping all blood reaching a part of your body + bloodlossModifier: -10 delay: 0.5 healingBeginSound: path: "/Audio/Items/Medical/brutepack_begin.ogg" healingEndSound: path: "/Audio/Items/Medical/brutepack_end.ogg" + - type: Stack + stackType: Tourniquet + count: 1 + - type: StackPrice + price: 10 + - type: entity name: roll of gauze diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml index 98ed1f36a3..fa961dca56 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml @@ -32,7 +32,7 @@ size: Normal shape: - 0,0,2,0 - - 1,1,1,2 + - 1,1,1,1 sprite: Objects/Weapons/Melee/pickaxe.rsi storedRotation: -45 - type: UseDelay diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml index 48aff490f1..325ee3f8d5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml @@ -393,6 +393,7 @@ - type: SmokeOnTrigger duration: 10 spreadAmount: 30 + smokePrototype: SmokeTear # WD EDIT solution: reagents: - ReagentId: TearGas diff --git a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml index a7dbab65f5..e8c94824bd 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml @@ -4,7 +4,7 @@ abstract: true description: You sit in this. Either by will or force. placement: - mode: PlaceFree + mode: SnapgridCenter components: - type: Clickable - type: InteractionOutline @@ -34,7 +34,7 @@ buckleOffset: "0,-0.05" - type: Pullable - type: Damageable - damageContainer: StructuralInorganic + damageContainer: Inorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -128,7 +128,7 @@ - type: entity name: stool id: Stool - parent: UnanchoredChairBase + parent: ChairBase description: Apply butt. components: - type: Sprite @@ -181,6 +181,148 @@ graph: Seat node: chairOfficeDark +- type: entity + name: black comfy chair + id: BlackComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#23242c" + - type: Construction + graph: Seat + node: blackChairComfy + +- type: entity + name: blue comfy chair + id: BlueComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#356287" + - type: Construction + graph: Seat + node: blueChairComfy + +- type: entity + name: green comfy chair + id: GreenComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#2a6e47" + - type: Construction + graph: Seat + node: greenChairComfy + +- type: entity + name: orange comfy chair + id: OrangeComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#9d480c" + - type: Construction + graph: Seat + node: orangeChairComfy + +- type: entity + name: pink comfy chair + id: PinkComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#91265e" + - type: Construction + graph: Seat + node: pinkChairComfy + +- type: entity + name: purple comfy chair + id: PurpleComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#563968" + - type: Construction + graph: Seat + node: purpleChairComfyf + +- type: entity + name: red comfy chair + id: RedComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#872222" + - type: Construction + graph: Seat + node: redChairComfy + +- type: entity + name: white comfy chair + id: WhiteComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#dcdcdc" + - type: Construction + graph: Seat + node: whiteChairComfy + +# WD edit start + +- type: entity + name: brown comfy chair + id: BrownComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#AE6716" + - type: Construction + graph: Seat + node: brownChairComfy + +- type: entity + name: light blue comfy chair + id: LightBlueComfyChair + parent: ChairBase + description: It looks comfy. + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#52B4E9" + - type: Construction + graph: Seat + node: lightBlueChairComfy + - type: entity name: comfy chair id: ComfyChair @@ -188,11 +330,14 @@ description: It looks comfy. components: - type: Sprite - state: comfy + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale - type: Construction graph: Seat node: chairComfy +# WD edit end + - type: entity name: pilot seat id: ChairPilotSeat @@ -253,7 +398,7 @@ - type: entity id: ChairMeat - parent: UnanchoredChairBase + parent: ChairBase name: meat chair description: Uncomfortably sweaty. components: @@ -298,7 +443,7 @@ name: web chair id: ChairWeb description: For true web developers. - parent: UnanchoredChairBase + parent: ChairBase components: - type: Sprite sprite: Structures/Web/chair.rsi @@ -314,12 +459,6 @@ thresholds: - trigger: !type:DamageTrigger - damage: 300 #excess damage (nuke?). avoid computational cost of spawning entities. # WD edit start - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - trigger: - !type:DamageTrigger # WD edit end damage: 50 behaviors: - !type:DoActsBehavior @@ -368,6 +507,8 @@ parent: ChairFolding id: ChairFoldingSpawnFolded suffix: folded + placement: + mode: PlaceFree components: - type: Foldable folded: true @@ -384,6 +525,7 @@ graph: Seat node: chairSteelBench +# WD edit start - type: entity name: wooden bench id: WoodenBench @@ -413,3 +555,116 @@ max: 4 - type: StaticPrice price: 20 +# WD edit end + +- type: entity + name: black padded stool + id: BlackPaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#23242c" + - type: Construction + graph: Seat + node: blackPaddedStool + +- type: entity + name: blue padded stool + id: BluePaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#356287" + - type: Construction + graph: Seat + node: bluePaddedStool + +- type: entity + name: green padded stool + id: GreenPaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#2a6e47" + - type: Construction + graph: Seat + node: greenPaddedStool + +- type: entity + name: orange padded stool + id: OrangePaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#9d480c" + - type: Construction + graph: Seat + node: orangePaddedStool + +- type: entity + name: pink padded stool + id: PinkPaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#91265e" + - type: Construction + graph: Seat + node: pinkPaddedStool + +- type: entity + name: purple padded stool + id: PurplePaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#563968" + - type: Construction + graph: Seat + node: purplePaddedStool + +- type: entity + name: red padded stool + id: RedPaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#872222" + - type: Construction + graph: Seat + node: redPaddedStool + +- type: entity + name: white padded stool + id: WhitePaddedStool + parent: ChairBase + description: Soft bag chair, comfortable! + components: + - type: Sprite + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + color: "#dcdcdc" + - type: Construction + graph: Seat + node: whitePaddedStool diff --git a/Resources/Prototypes/Loadouts/Jobs/Civilian/chaplain.yml b/Resources/Prototypes/Loadouts/Jobs/Civilian/chaplain.yml index 0968de0ad6..de147e30b1 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Civilian/chaplain.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Civilian/chaplain.yml @@ -195,6 +195,15 @@ back: - ArmamentsBeacon +- type: itemLoadout # WD + id: Bible + equipment: Bible +- type: startingGear + id: Bible + storage: + back: + - Bible + # PDA - type: itemLoadout # WD diff --git a/Resources/Prototypes/Loadouts/Jobs/Civilian/musician.yml b/Resources/Prototypes/Loadouts/Jobs/Civilian/musician.yml index 7a2f9244e2..fa055f486b 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Civilian/musician.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Civilian/musician.yml @@ -36,6 +36,14 @@ equipment: jumpsuit: ClothingUniformJumpsuitMusician +- type: itemLoadout # WD + id: MusicianJumpskirt + equipment: MusicianJumpskirt +- type: startingGear + id: MusicianJumpskirt + equipment: + jumpsuit: ClothingUniformJumpskirtMusician + # Outerclothing - type: itemLoadout id: MusicianWintercoat diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index 77df53e05e..d80f375b87 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -67,7 +67,6 @@ - CaptainBackpack - CaptainSatchel - CaptainDuffel - - CaptainDuffel - CommonSatchelLeather # WD - type: loadoutGroup @@ -374,8 +373,11 @@ - type: loadoutGroup # WD edit id: ChaplainJobTrinkets name: loadout-group-job-trinkets + minLimit: 2 + maxLimit: 2 loadouts: - ArmamentsBeacon + - Bible - type: loadoutGroup id: ChaplainPDA @@ -634,6 +636,7 @@ name: loadout-group-jumpsuit loadouts: - MusicianJumpsuit + - MusicianJumpskirt - JumpsuitFamily - JumpsuitLoungewear @@ -1589,12 +1592,6 @@ - BlackTie - RedTie -- type: loadoutGroup # WD - id: CommonSecurityHeadset - name: loadout-group-ears - loadouts: - - SecurityHeadset - - type: loadoutGroup # WD id: CommonSecurityCommandHeadset name: loadout-group-ears diff --git a/Resources/Prototypes/Reagents/gases.yml b/Resources/Prototypes/Reagents/gases.yml index 5105369761..01e6ec06e6 100644 --- a/Resources/Prototypes/Reagents/gases.yml +++ b/Resources/Prototypes/Reagents/gases.yml @@ -14,6 +14,10 @@ conditions: - !type:OrganType type: Human + - !type:Oxygenate # WD + conditions: + - !type:OrganType + type: AnthroAnimal - !type:Oxygenate conditions: - !type:OrganType @@ -450,6 +454,11 @@ conditions: - !type:OrganType type: Human + - !type:Oxygenate # WD + factor: 8 + conditions: + - !type:OrganType + type: AnthroAnimal - !type:Oxygenate factor: 8 conditions: diff --git a/Resources/Prototypes/Reagents/narcotics.yml b/Resources/Prototypes/Reagents/narcotics.yml index 10f85a1538..6f5077a376 100644 --- a/Resources/Prototypes/Reagents/narcotics.yml +++ b/Resources/Prototypes/Reagents/narcotics.yml @@ -522,7 +522,7 @@ desc: reagent-desc-tear-gas physicalDesc: reagent-physical-desc-milky flavor: salty - color: "#96a8b5" + color: "#B54B3BBA" boilingPoint: 255.0 meltingPoint: 36.0 metabolisms: diff --git a/Resources/Prototypes/Reagents/toxins.yml b/Resources/Prototypes/Reagents/toxins.yml index 73ec54bd59..d4a3d29671 100644 --- a/Resources/Prototypes/Reagents/toxins.yml +++ b/Resources/Prototypes/Reagents/toxins.yml @@ -412,6 +412,8 @@ min: 1 - !type:OrganType type: Animal # Applying damage to the mobs with lower metabolism capabilities + - !type:OrganType # WD + type: AnthroAnimal damage: types: Poison: 0.4 @@ -422,6 +424,8 @@ min: 3 - !type:OrganType type: Animal + - !type:OrganType # WD + type: AnthroAnimal - type: reagent id: Amatoxin @@ -488,6 +492,9 @@ - !type:OrganType type: Animal shouldHave: false + - !type:OrganType # WD + type: AnthroAnimal + shouldHave: false reagent: Protein type: Local visualType: MediumCaution @@ -499,11 +506,17 @@ - !type:OrganType type: Animal shouldHave: false + - !type:OrganType # WD + type: AnthroAnimal + shouldHave: false - !type:HealthChange conditions: - !type:OrganType type: Animal shouldHave: false + - !type:OrganType # WD + type: AnthroAnimal + shouldHave: false damage: types: Poison: 1 @@ -512,6 +525,9 @@ - !type:OrganType type: Animal shouldHave: true + - !type:OrganType # WD + type: AnthroAnimal + shouldHave: true reagent: Protein amount: 0.5 @@ -533,6 +549,8 @@ min: 1 - !type:OrganType type: Animal + - !type:OrganType # WD + type: AnthroAnimal damage: types: Poison: 0.06 @@ -575,6 +593,8 @@ min: 1 - !type:OrganType type: Animal + - !type:OrganType # WD + type: AnthroAnimal damage: types: Poison: 0.06 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml index c587e47efb..42d2b14207 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml @@ -36,7 +36,42 @@ - material: Steel amount: 2 doAfter: 1 - - to: chairComfy + - to: blackChairComfy + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: blueChairComfy + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: greenChairComfy + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: orangeChairComfy + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: pinkChairComfy + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: purpleChairComfy + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: redChairComfy + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: whiteChairComfy steps: - material: Steel amount: 2 @@ -87,6 +122,70 @@ doAfter: 1 - material: Cloth amount: 1 + - to: blackPaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: bluePaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: greenPaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: orangePaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: pinkPaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: purplePaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: redPaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: whitePaddedStool + steps: + - material: Cloth + amount: 3 + doAfter: 1 + - material: WoodPlank + amount: 1 + doAfter: 1 - node: chair entity: Chair @@ -156,8 +255,8 @@ - tool: Screwing doAfter: 1 - - node: chairComfy - entity: ComfyChair + - node: blackChairComfy + entity: BlackComfyChair edges: - to: start completed: @@ -168,6 +267,130 @@ - tool: Screwing doAfter: 1 + - node: blueChairComfy + entity: BlueComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: greenChairComfy + entity: GreenComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: orangeChairComfy + entity: OrangeComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: pinkChairComfy + entity: PinkComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: purpleChairComfy + entity: PurpleComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: redChairComfy + entity: RedComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: whiteChairComfy + entity: WhiteComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + # WD edit starts + + - node: brownChairComfy + entity: BrownComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: lightBlueChairComfy + entity: LightBlueComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + - node: chairComfy + entity: ComfyChair + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + steps: + - tool: Screwing + doAfter: 1 + + # WD edit end + - node: chairPilotSeat entity: ChairPilotSeat edges: @@ -276,3 +499,123 @@ doAfter: 1 - tool: Screwing doAfter: 1 + + - node: blackPaddedStool + entity: BlackPaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + + - node: bluePaddedStool + entity: BluePaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + + - node: greenPaddedStool + entity: GreenPaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + + - node: orangePaddedStool + entity: OrangePaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + + - node: pinkPaddedStool + entity: PinkPaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + + - node: purplePaddedStool + entity: PurplePaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + + - node: redPaddedStool + entity: RedPaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + + - node: whitePaddedStool + entity: WhitePaddedStool + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 3 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Cutting + doAfter: 1 diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index 47b7a37fc8..898749a095 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -102,25 +102,201 @@ - !type:TileNotBlocked - type: construction - name: comfy chair - id: ComfyChair + name: black comfy chair + id: BlackChairComfy graph: Seat startNode: start - targetNode: chairComfy + targetNode: blackChairComfy category: construction-category-furniture description: It looks comfy. icon: sprite: Structures/Furniture/chairs.rsi - state: comfy + state: comfy-greyscale objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false conditions: - !type:TileNotBlocked +- type: construction + name: blue comfy chair + id: BlueChairComfy + graph: Seat + startNode: start + targetNode: blueChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: green comfy chair + id: GreenChairComfy + graph: Seat + startNode: start + targetNode: greenChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: orange comfy chair + id: OrangeChairComfy + graph: Seat + startNode: start + targetNode: orangeChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: pink comfy chair + id: PinkChairComfy + graph: Seat + startNode: start + targetNode: pinkChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: purple comfy chair + id: PurpleChairComfy + graph: Seat + startNode: start + targetNode: purpleChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: red comfy chair + id: RedChairComfy + graph: Seat + startNode: start + targetNode: redChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: white comfy chair + id: WhiteChairComfy + graph: Seat + startNode: start + targetNode: whiteChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +# WD edit start + +- type: construction + name: brown comfy chair + id: BrownChairComfy + graph: Seat + startNode: start + targetNode: brownChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#AE6716" + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: light blue comfy chair + id: LightBlueChairComfy + graph: Seat + startNode: start + targetNode: lightBlueChairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + color: "#52B4E9" + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: comfy chair + id: ChairComfy + graph: Seat + startNode: start + targetNode: chairComfy + category: construction-category-furniture + description: It looks comfy. + icon: + sprite: Structures/Furniture/chairs.rsi + state: comfy-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +# WD edit end + - type: construction name: pilots chair - id: ChairPilotSeat + id: chairPilotSeat graph: Seat startNode: start targetNode: chairPilotSeat @@ -271,6 +447,142 @@ conditions: - !type:TileNotBlocked +- type: construction + name: black padded stool + id: BlackPaddedStool + graph: Seat + startNode: start + targetNode: blackPaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: blue padded stool + id: BluePaddedStool + graph: Seat + startNode: start + targetNode: bluePaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: green padded stool + id: GreenPaddedStool + graph: Seat + startNode: start + targetNode: greenPaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: orange padded stool + id: OrangePaddedStool + graph: Seat + startNode: start + targetNode: orangePaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: pink padded stool + id: PinkPaddedStool + graph: Seat + startNode: start + targetNode: pinkPaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: purple padded stool + id: PurplePaddedStool + graph: Seat + startNode: start + targetNode: purplePaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: red padded stool + id: RedPaddedStool + graph: Seat + startNode: start + targetNode: redPaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: white padded stool + id: WhitePaddedStool + graph: Seat + startNode: start + targetNode: whitePaddedStool + category: construction-category-furniture + description: Soft bag chair, comfortable! + icon: + sprite: Structures/Furniture/chairs.rsi + state: pufi-box-greyscale + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + #tables - type: construction name: steel table @@ -885,6 +1197,7 @@ conditions: - !type:TileNotBlocked +# WD edit start - type: construction id: NoticeBoard name: notice board @@ -901,7 +1214,7 @@ canRotate: true canBuildInImpassable: false conditions: - - !type:TileNotBlocked + - !type:TileNotBlocked - type: construction id: Mannequin @@ -920,3 +1233,4 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked +# WD edit end diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml index 56e31bbe8d..b61ee35533 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml @@ -36,3 +36,42 @@ doAfter: 5 - node: suit entity: ClothingOuterSuitIan + +- type: constructionGraph + id: PoppyBouquet + start: start + graph: + - node: start + edges: + - to: PoppyBouquet + steps: + - tag: Flower + name: flower + icon: + sprite: Objects/Specific/Hydroponics/poppy.rsi + state: produce + - tag: Flower + name: flower + icon: + sprite: Objects/Specific/Hydroponics/poppy.rsi + state: produce + - tag: Flower + name: flower + icon: + sprite: Objects/Specific/Hydroponics/poppy.rsi + state: produce + - tag: Flower + name: flower + icon: + sprite: Objects/Specific/Hydroponics/poppy.rsi + state: produce + - tag: Flower + name: flower + icon: + sprite: Objects/Specific/Hydroponics/poppy.rsi + state: produce + - material: Cotton + amount: 1 + doAfter: 10 + - node: PoppyBouquet + entity: PoppyBouquet \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Crafting/toys.yml b/Resources/Prototypes/Recipes/Crafting/toys.yml index 4fd91bdb69..941388f379 100644 --- a/Resources/Prototypes/Recipes/Crafting/toys.yml +++ b/Resources/Prototypes/Recipes/Crafting/toys.yml @@ -23,3 +23,14 @@ icon: sprite: Clothing/OuterClothing/Suits/iansuit.rsi state: icon + +- type: construction + name: PoppyBouquet + id: PoppyBouquet + graph: PoppyBouquet + startNode: start + targetNode: PoppyBouquet + category: construction-category-misc + description: A bouquet of the best flowers that you could grow. At least you tried... + icon: { sprite: Objects/Misc/poppybouquet.rsi, state: icon } + objectType: Item \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/medical_stacks.yml b/Resources/Prototypes/Stacks/medical_stacks.yml index 7ad3c21634..31a53fe543 100644 --- a/Resources/Prototypes/Stacks/medical_stacks.yml +++ b/Resources/Prototypes/Stacks/medical_stacks.yml @@ -33,6 +33,14 @@ spawn: Bloodpack maxCount: 10 +- type: stack + id: Tourniquet + name: tourniquet + icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: tourniquet } + spawn: Tourniquet + maxCount: 3 # WD + itemSize: 1 + - type: stack id: MedicatedSuture name: medicated-suture diff --git a/Resources/Prototypes/_White/Body/Organs/anthro_animal.yml b/Resources/Prototypes/_White/Body/Organs/anthro_animal.yml new file mode 100644 index 0000000000..12bf4a59ef --- /dev/null +++ b/Resources/Prototypes/_White/Body/Organs/anthro_animal.yml @@ -0,0 +1,23 @@ +- type: entity + parent: OrganHumanStomach + id: OrganAnthroAnimalStomach + noSpawn: true + components: + - type: Metabolizer + metabolizerTypes: [ AnthroAnimal ] + +- type: entity + parent: OrganHumanLiver + id: OrganAnthroAnimalLiver + noSpawn: true + components: + - type: Metabolizer + metabolizerTypes: [ AnthroAnimal ] + +- type: entity + parent: OrganHumanHeart + id: OrganAnthroAnimalHeart + noSpawn: true + components: + - type: Metabolizer + metabolizerTypes: [ AnthroAnimal ] diff --git a/Resources/Prototypes/_White/Body/Prototypes/felinid.yml b/Resources/Prototypes/_White/Body/Prototypes/felinid.yml index f0c98ff83e..4817e301c3 100644 --- a/Resources/Prototypes/_White/Body/Prototypes/felinid.yml +++ b/Resources/Prototypes/_White/Body/Prototypes/felinid.yml @@ -18,10 +18,10 @@ - left leg - right leg organs: - heart: OrganAnimalHeart + heart: OrganAnthroAnimalHeart lungs: OrganHumanLungs - stomach: OrganReptilianStomach - liver: OrganAnimalLiver + stomach: OrganAnthroAnimalStomach + liver: OrganAnthroAnimalLiver kidneys: OrganHumanKidneys right arm: part: RightArmHuman diff --git a/Resources/Prototypes/_White/Body/Prototypes/harpy.yml b/Resources/Prototypes/_White/Body/Prototypes/harpy.yml index 9c832d9af3..8882a5ed30 100644 --- a/Resources/Prototypes/_White/Body/Prototypes/harpy.yml +++ b/Resources/Prototypes/_White/Body/Prototypes/harpy.yml @@ -18,10 +18,10 @@ - left leg - right leg organs: - heart: OrganHumanHeart + heart: OrganAnthroAnimalHeart lungs: OrganHumanLungs - stomach: OrganHumanStomach - liver: OrganHumanLiver + stomach: OrganAnthroAnimalStomach + liver: OrganAnthroAnimalLiver kidneys: OrganHumanKidneys right arm: part: RightArmHuman diff --git a/Resources/Prototypes/_White/Chemistry/metabolizer_types.yml b/Resources/Prototypes/_White/Chemistry/metabolizer_types.yml new file mode 100644 index 0000000000..1c0b304475 --- /dev/null +++ b/Resources/Prototypes/_White/Chemistry/metabolizer_types.yml @@ -0,0 +1,3 @@ +- type: metabolizerType + id: AnthroAnimal + name: metabolizer-type-anthropomorph-animal diff --git a/Resources/Prototypes/_White/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/_White/Entities/Markers/Spawners/mobs.yml index cb2386e49c..9c7ed7a39b 100644 --- a/Resources/Prototypes/_White/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/_White/Entities/Markers/Spawners/mobs.yml @@ -1,7 +1,7 @@ - type: entity parent: MarkerBase id: SpawnMobGondola - name: спавнер Гондола + name: Gondola spawner components: - type: Sprite layers: diff --git a/Resources/Prototypes/_White/Entities/Mobs/NPCs/gondola.yml b/Resources/Prototypes/_White/Entities/Mobs/NPCs/gondola.yml index c5727ccdb1..583ca4ab3d 100644 --- a/Resources/Prototypes/_White/Entities/Mobs/NPCs/gondola.yml +++ b/Resources/Prototypes/_White/Entities/Mobs/NPCs/gondola.yml @@ -6,8 +6,8 @@ - MobBloodstream - MobFlammable id: MobGondola - name: Гондола - description: Не имея рук, он воплощает даосский принцип у-вэй (бездействия), а выражение его улыбающегося лица показывает его полное принятие мира таким, какой он есть. + name: Gondola + description: Something about Jesus. components: - type: FloatingVisuals - type: RotationVisuals @@ -19,10 +19,8 @@ - state: gondola_body_medium map: [ "enum.DamageStateVisualLayers.Base" ] color: "#6e4e40" - shader: unshaded - state: gondola_moustache_large_short - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] - shader: unshaded + map: [ "enum.DamageStateVisualLayers.Base" ] - type: RandomSprite available: - enum.DamageStateVisualLayers.Base: diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shinanobox.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shinanobox.yml new file mode 100644 index 0000000000..bd445330a2 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shinanobox.yml @@ -0,0 +1,50 @@ +- type: entity + parent: BaseAmmoProvider + id: BaseShinanoGrenadeAmmoProvider + abstract: true + components: + - type: BallisticAmmoProvider + mayTransfer: true + whitelist: + tags: + - ShinanoGrenade + capacity: 4 + +- type: entity + name: shinano grenade flash dispenser + parent: BaseShinanoGrenadeAmmoProvider + id: BoxShinanoGrenadeFlash + description: A dispenser box full of flash grenade, designed for Shinano. + components: + - type: BallisticAmmoProvider + proto: ShinanoGrenadeFlash + - type: Sprite + layers: + - state: boxwide + - state: shellflash + +- type: entity + name: shinano grenade smoke dispenser + parent: BaseShinanoGrenadeAmmoProvider + id: BoxShinanoGrenadeSmoke + description: A dispenser box full of smoke grenade, designed for Shinano. + components: + - type: BallisticAmmoProvider + proto: ShinanoGrenadeSmoke + - type: Sprite + layers: + - state: boxwide + - state: shellflare + +- type: entity + name: shinano grenade beanbag dispenser + parent: BaseShinanoGrenadeAmmoProvider + id: BoxShinanoGrenadeBeanbag + description: A dispenser box full of beanbag grenade, designed for Shinano. + components: + - type: BallisticAmmoProvider + proto: ShinanoGrenadeBeanbag + - type: Sprite + layers: + - state: boxwide + - state: shellbeanbag \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Ammunition/shinanogrenades.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Ammunition/shinanogrenades.yml new file mode 100644 index 0000000000..9e7f719406 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Ammunition/shinanogrenades.yml @@ -0,0 +1,63 @@ +- type: entity + id: BaseShinanoGrenade + name: base shinano grenade + parent: BaseItem + abstract: true + components: + - type: Tag + tags: + - ShinanoGrenade + - type: Item + size: Small + - type: Sprite + +- type: entity + id: ShinanoGrenadeFlash + name: shinano flash grenade + parent: BaseShinanoGrenade + components: + - type: CartridgeAmmo + proto: ShinanoBulletGrenadeFlash + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + layers: + - state: blast + map: ["enum.AmmoVisualLayers.Base"] + - type: Appearance + - type: SpentAmmoVisuals + state: flash + suffix: false + +- type: entity + id: ShinanoGrenadeSmoke + name: shinano smoke grenade + parent: BaseShinanoGrenade + components: + - type: CartridgeAmmo + proto: ShinanoBulletGrenadeSmoke + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + layers: + - state: blast + map: ["enum.AmmoVisualLayers.Base"] + - type: Appearance + - type: SpentAmmoVisuals + state: smoke + suffix: false + +- type: entity + id: ShinanoGrenadeBeanbag + name: beanbag shinano grenade + parent: BaseShinanoGrenade + components: + - type: CartridgeAmmo + proto: ShinanoBulletGrenadeBeanbag + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + layers: + - state: blast + map: ["enum.AmmoVisualLayers.Base"] + - type: Appearance + - type: SpentAmmoVisuals + state: beanbag + suffix: false \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Projectiles/shinanogrenades.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Projectiles/shinanogrenades.yml new file mode 100644 index 0000000000..7014e3bc30 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Projectiles/shinanogrenades.yml @@ -0,0 +1,84 @@ +- type: entity + id: BaseBulletShinanoGranade + name: base shinano granade + abstract: true + components: + - type: MovedByPressure + - type: FlyBySound + - type: Clickable + - type: Sprite + noRot: false + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: grenade + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.25,0.25" + density: 20 + mask: + - ItemMask + restitution: 0.3 # fite me + friction: 0.2 + - type: DeleteOnTrigger + - type: Physics + bodyType: Dynamic + - type: TimedDespawn + lifetime: 10 + - type: TriggerOnLand + +- type: entity + id: ShinanoBulletGrenadeFlash + name: flash shinano grenade + parent: BaseBulletShinanoGranade + noSpawn: true + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: grenade + - type: FlashOnTrigger + range: 3 + - type: SpawnOnTrigger + proto: GrenadeFlashEffect + +- type: entity + id: ShinanoBulletGrenadeSmoke + name: smoke shinano grenade + parent: BaseBulletShinanoGranade + noSpawn: true + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: grenade + - type: SmokeOnTrigger + duration: 10 + spreadAmount: 30 + smokePrototype: SmokeTear + solution: + reagents: + - ReagentId: TearGas + Quantity: 50 + - type: SoundOnTrigger + sound: /Audio/Items/smoke_grenade_smoke.ogg + +- type: entity + id: ShinanoBulletGrenadeBeanbag + name: beanbag shinano grenade + noSpawn: true + parent: [BaseBullet, BaseBulletTrail] + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: grenade + - type: Projectile + damage: + types: + Blunt: 15 + - type: StaminaDamageOnCollide + ignoreResistances: true + damage: 80 \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/riotgrenadelauncher.txt b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/riotgrenadelauncher.txt deleted file mode 100644 index 557417f1be..0000000000 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/riotgrenadelauncher.txt +++ /dev/null @@ -1,5 +0,0 @@ -- type: entity - name: BaseWeaponLauncher - parent: BaseItem - id: BaseWeaponLauncher - description: A rooty tooty point and shooty. \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/riotgrenadelauncher.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/riotgrenadelauncher.yml deleted file mode 100644 index 9b656dabd2..0000000000 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/riotgrenadelauncher.yml +++ /dev/null @@ -1,147 +0,0 @@ -- type: entity - name: Riot Launcher - parent: BaseItem - id: RiotWeaponLauncher - description: ShitSec Launcher - components: - - type: Sprite - sprite: White/Objects/Weapons/Guns/Launchers/china_lake-icons.rsi - layers: - - state: icon - map: ["enum.GunVisualLayers.Base"] - - type: Item - sprite: White/Objects/Weapons/Guns/Launchers/china_lake-inhands.rsi - - type: Clothing - sprite: White/Objects/Weapons/Guns/Launchers/china_lake-inhands.rsi - slots: - - Back - - suitStorage - - type: AmmoCounter - - type: Gun - fireRate: 1 - selectedMode: SemiAuto - projectileSpeed: 10 - projectileSpeedModified: 10 - availableModes: - - SemiAuto - soundGunshot: - path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg - - type: BallisticAmmoProvider - whitelist: - tags: - - RiotGrenade - capacity: 1 - proto: RiotGrenadeFlash - soundInsert: - path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg - autoCycle: false - -- type: entity - id: BaseRiotGrenade - name: base riot grenade - parent: BaseItem - abstract: true - components: - - type: Tag - tags: - - RiotGrenade - - type: Item - size: Small - - type: Sprite - -- type: entity - id: RiotGrenadeFlash - name: riot flash grenade - parent: BaseRiotGrenade - components: - - type: CartridgeAmmo - proto: RiotBulletGrenadeFlash - - type: Sprite - sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi - layers: - - state: blast - map: ["enum.AmmoVisualLayers.Base"] - - type: Appearance - - type: SpentAmmoVisuals - state: flash - suffix: false - -- type: entity - id: RiotGrenadeSmoke - name: riot smoke grenade - parent: BaseRiotGrenade - components: - - type: CartridgeAmmo - proto: RiotBulletGrenadeSmoke - - type: Sprite - sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi - layers: - - state: blast - map: ["enum.AmmoVisualLayers.Base"] - - type: Appearance - - type: SpentAmmoVisuals - state: smoke - suffix: false - -- type: entity - id: BaseBulletRiotGranade - name: base roit granade - abstract: true - components: - - type: MovedByPressure - - type: FlyBySound - - type: Clickable - - type: Sprite - noRot: false - sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi - layers: - - state: grenade - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.25,-0.25,0.25,0.25" - density: 20 - mask: - - ItemMask - restitution: 0.3 # fite me - friction: 0.2 - - type: DeleteOnTrigger - - type: Physics - bodyType: Dynamic - - type: TimedDespawn - lifetime: 10 - - type: TriggerOnLand - -- type: entity - id: RiotBulletGrenadeFlash - name: flash riot grenade - parent: BaseBulletRiotGranade - noSpawn: true - components: - - type: Sprite - sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi - layers: - - state: grenade - - type: FlashOnTrigger - range: 7 - forceStun: true - - type: SpawnOnTrigger - proto: GrenadeFlashEffect - -- type: entity - id: RiotBulletGrenadeSmoke - name: smoke riot grenade - parent: BaseBulletRiotGranade - noSpawn: true - components: - - type: Sprite - sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi - layers: - - state: grenade - - type: SmokeOnTrigger - duration: 30 - spreadAmount: 50 - - type: SoundOnTrigger - sound: /Audio/Items/smoke_grenade_smoke.ogg \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/shinano.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/shinano.yml new file mode 100644 index 0000000000..d68d08375b --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/shinano.yml @@ -0,0 +1,37 @@ +- type: entity + name: Shinano + parent: BaseItem + id: WeaponLauncherShinano + description: A single-shot grenade launcher, which is equipped with colonial police, security units and mercenaries wherever there is a Nanotrain influence. He is notorious among picketers and revolutionaries, as BLUP is the first thing they hear before violence begins. + components: + - type: Sprite + sprite: White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi + layers: + - state: icon + map: ["enum.GunVisualLayers.Base"] + - type: Item + sprite: White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi + - type: Clothing + sprite: White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi + slots: + - Back + - suitStorage + - type: AmmoCounter + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + projectileSpeed: 15 + projectileSpeedModified: 15 + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + - type: BallisticAmmoProvider + whitelist: + tags: + - ShinanoGrenade + capacity: 1 + proto: ShinanoGrenadeFlash + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + autoCycle: false \ No newline at end of file diff --git a/Resources/Prototypes/_White/Object/colored_armchairs.yml b/Resources/Prototypes/_White/Object/colored_armchairs.yml index a4b6ab12d4..5f282702bb 100644 --- a/Resources/Prototypes/_White/Object/colored_armchairs.yml +++ b/Resources/Prototypes/_White/Object/colored_armchairs.yml @@ -1,82 +1 @@ -# black - #808080 -# brown - #AE6716 -# command - #4B709C -# security - #DE3A3A -# medical - #52B4E9 -# engineering - #FFA647 -# science - #F98AFF -# cargo - #D69949 -# service - #9FED58 - -- type: entity - id: ComfyChairBlack - suffix: Black - parent: ComfyChair - components: - - type: Sprite - color: "#808080" - -- type: entity - id: ComfyChairBrown - suffix: Brown - parent: ComfyChair - components: - - type: Sprite - color: "#AE6716" - -- type: entity - id: ComfyChairCommand - suffix: Command - parent: ComfyChair - components: - - type: Sprite - color: "#4B709C" - -- type: entity - id: ComfyChairSecurity - suffix: Security - parent: ComfyChair - components: - - type: Sprite - color: "#DE3A3A" - -- type: entity - id: ComfyChairMedical - suffix: Medical - parent: ComfyChair - components: - - type: Sprite - color: "#52B4E9" - -- type: entity - id: ComfyChairEngineering - suffix: Engineering - parent: ComfyChair - components: - - type: Sprite - color: "#FFA647" - -- type: entity - id: ComfyChairScience - suffix: Science - parent: ComfyChair - components: - - type: Sprite - color: "#F98AFF" - -- type: entity - id: ComfyChairCargo - suffix: Cargo - parent: ComfyChair - components: - - type: Sprite - color: "#D69949" - -- type: entity - id: ComfyChairService - suffix: Service - parent: ComfyChair - components: - - type: Sprite - color: "#9FED58" - + \ No newline at end of file diff --git a/Resources/Prototypes/_White/Polymorphs/polymorph.yml b/Resources/Prototypes/_White/Polymorphs/polymorph.yml index 1fab49fc98..619f2cad00 100644 --- a/Resources/Prototypes/_White/Polymorphs/polymorph.yml +++ b/Resources/Prototypes/_White/Polymorphs/polymorph.yml @@ -8,3 +8,4 @@ inventory: Drop revertOnDeath: true revertOnCrit: false + duration: 900 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000..78b2c2ea5d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/equipped-INNERCLOTHING.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/icon.png new file mode 100644 index 0000000000..48c4151632 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/inhand-left.png new file mode 100644 index 0000000000..5919ab9cff Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/inhand-left.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/inhand-right.png new file mode 100644 index 0000000000..988fda91fa Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/inhand-right.png differ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/meta.json new file mode 100644 index 0000000000..b8ed6819b6 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/Jumpskirt/musician.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by github:DreamlyJack(624946166152298517)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Misc/poppybouquet.rsi/icon.png b/Resources/Textures/Objects/Misc/poppybouquet.rsi/icon.png new file mode 100644 index 0000000000..7713344750 Binary files /dev/null and b/Resources/Textures/Objects/Misc/poppybouquet.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Misc/poppybouquet.rsi/inhand-left.png b/Resources/Textures/Objects/Misc/poppybouquet.rsi/inhand-left.png new file mode 100644 index 0000000000..b461104567 Binary files /dev/null and b/Resources/Textures/Objects/Misc/poppybouquet.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Misc/poppybouquet.rsi/inhand-right.png b/Resources/Textures/Objects/Misc/poppybouquet.rsi/inhand-right.png new file mode 100644 index 0000000000..ca5c3c919f Binary files /dev/null and b/Resources/Textures/Objects/Misc/poppybouquet.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Misc/poppybouquet.rsi/meta.json b/Resources/Textures/Objects/Misc/poppybouquet.rsi/meta.json new file mode 100644 index 0000000000..a74877333b --- /dev/null +++ b/Resources/Textures/Objects/Misc/poppybouquet.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite taked from TG station.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-greyscale.png b/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-greyscale.png new file mode 100644 index 0000000000..8b5f960fce Binary files /dev/null and b/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-greyscale.png differ diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-overlay.png b/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-overlay.png deleted file mode 100644 index 97f7a5a222..0000000000 Binary files a/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-overlay.png and /dev/null differ diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-random.png b/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-random.png new file mode 100644 index 0000000000..0aaa343f30 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/chairs.rsi/comfy-random.png differ diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/comfy.png b/Resources/Textures/Structures/Furniture/chairs.rsi/comfy.png deleted file mode 100644 index 2f6c9c525c..0000000000 Binary files a/Resources/Textures/Structures/Furniture/chairs.rsi/comfy.png and /dev/null differ diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json index 0433a854d2..41a29ecf1b 100644 --- a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json +++ b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json @@ -1,103 +1,108 @@ { - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278, meat.png is CC0-1.0 by EmoGarbage404 (github) for Space Station 14. chair.png and its derrivatives taken from shiptest at commit https://github.com/shiptest-ss13/Shiptest/commit/f761c784812e827960a66cd10aac17ebc6edfac3, palette for chair.png, steel-bench.png and chair-greyscale.png taken from paradise equivalent chairs at commit https://github.com/ParadiseSS13/Paradise/commit/5ce5a66c814c4a60118d24885389357fd0240002, steel by SonicHDC, brass chair.png taken from tgstation at https://github.com/tgstation/tgstation/blob/b7e7779c19b76449c290aaf2150fb93545b1a79a/icons/obj/chairs.dmi, wooden bench by Ko4erga (discord)", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "bar", - "directions": 4 + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278, meat.png is CC0-1.0 by EmoGarbage404 (github) for Space Station 14. chair.png and its derrivatives taken from shiptest at commit https://github.com/shiptest-ss13/Shiptest/commit/f761c784812e827960a66cd10aac17ebc6edfac3, palette for chair.png, steel-bench.png and chair-greyscale.png taken from paradise equivalent chairs at commit https://github.com/ParadiseSS13/Paradise/commit/5ce5a66c814c4a60118d24885389357fd0240002, steel by SonicHDC, brass chair.png taken from tgstation at https://github.com/tgstation/tgstation/blob/b7e7779c19b76449c290aaf2150fb93545b1a79a/icons/obj/chairs.dmi, pufi-greyscale pufi-greyscale-overlay comfy-greyscale comfy-overlay-greyscale sprited by github:DreamlyJack(624946166152298517)", + "size": { + "x": 32, + "y": 32 }, - { - "name": "bar-knocked", - "directions": 4 - }, - { - "name": "chair", - "directions": 4 - }, - { - "name": "chair-knocked", - "directions": 4 - }, - { - "name": "chair-greyscale", - "directions": 4 - }, - { - "name": "chair-greyscale-knocked", - "directions": 4 - }, - { - "name": "comfy", - "directions": 4 - }, - { - "name": "comfy-overlay", - "directions": 4 - }, - { - "name": "meat", - "directions": 4 - }, - { - "name": "office-dark", - "directions": 4 - }, - { - "name": "office-white", - "directions": 4 - }, - { - "name": "shuttle", - "directions": 4 - }, - { - "name": "shuttle-overlay", - "directions": 4 - }, - { - "name": "stool", - "directions": 4 - }, - { - "name": "stool-knocked", - "directions": 4 - }, - { - "name": "wooden", - "directions": 4 - }, - { - "name": "wooden-bench", - "directions": 4 - }, - { - "name": "wooden-wings", - "directions": 4 - }, - { - "name": "wooden-wings-knocked", - "directions": 4 - }, - { - "name": "ritual", - "directions": 4 - }, - { - "name": "cursed", - "directions": 4 - }, - { - "name": "steel-bench", - "directions": 4 - }, - { - "name": "brass_chair", - "directions": 4 - } - ] + "states": [ + { + "name": "bar", + "directions": 4 + }, + { + "name": "bar-knocked", + "directions": 4 + }, + { + "name": "chair", + "directions": 4 + }, + { + "name": "chair-knocked", + "directions": 4 + }, + { + "name": "chair-greyscale", + "directions": 4 + }, + { + "name": "chair-greyscale-knocked", + "directions": 4 + }, + { + "name": "meat", + "directions": 4 + }, + { + "name": "office-dark", + "directions": 4 + }, + { + "name": "office-white", + "directions": 4 + }, + { + "name": "shuttle", + "directions": 4 + }, + { + "name": "shuttle-overlay", + "directions": 4 + }, + { + "name": "stool", + "directions": 4 + }, + { + "name": "stool-knocked", + "directions": 4 + }, + { + "name": "wooden", + "directions": 4 + }, + { + "name": "wooden-wings", + "directions": 4 + }, + { + "name": "wooden-wings-knocked", + "directions": 4 + }, + { + "name": "ritual", + "directions": 4 + }, + { + "name": "cursed", + "directions": 4 + }, + { + "name": "steel-bench", + "directions": 4 + }, + { + "name": "brass_chair", + "directions": 4 + }, + { + "name": "pufi-box-greyscale" + }, + { + "name": "comfy-greyscale", + "directions": 4 + }, + { + "name": "comfy-random" + }, + { + "name": "pufi-box-random" + }, + { + "name": "wooden-bench", + "directions": 4 + } + ] } diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/pufi-box-greyscale.png b/Resources/Textures/Structures/Furniture/chairs.rsi/pufi-box-greyscale.png new file mode 100644 index 0000000000..6be19dcac6 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/chairs.rsi/pufi-box-greyscale.png differ diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/pufi-box-random.png b/Resources/Textures/Structures/Furniture/chairs.rsi/pufi-box-random.png new file mode 100644 index 0000000000..0f8fb1dd50 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/chairs.rsi/pufi-box-random.png differ diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/bolt-open.png b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/bolt-open.png new file mode 100644 index 0000000000..1905899507 Binary files /dev/null and b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/bolt-open.png differ diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/icon.png b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/icon.png new file mode 100644 index 0000000000..79a8f90545 Binary files /dev/null and b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/icon.png differ diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/meta.json b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/meta.json new file mode 100644 index 0000000000..45c099c298 --- /dev/null +++ b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-icons.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/pull/6042/commits/64916c98f4847acc4adf3a2416bf78c005fd7dd7, https://github.com/discordia-space/CEV-Eris/blob/master/icons/obj/guns/launcher/grenadelauncher.dmi, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111", + "size": { + "x": 48, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "bolt-open" + } + ] +} diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/equipped-BACKPACK.png b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..d64db44fc6 Binary files /dev/null and b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..d64db44fc6 Binary files /dev/null and b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/inhand-left.png b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/inhand-left.png new file mode 100644 index 0000000000..a01e84dea9 Binary files /dev/null and b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/inhand-left.png differ diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/inhand-right.png b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/inhand-right.png new file mode 100644 index 0000000000..8e223cc9f9 Binary files /dev/null and b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/inhand-right.png differ diff --git a/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/meta.json b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/meta.json new file mode 100644 index 0000000000..fddba126c7 --- /dev/null +++ b/Resources/Textures/White/Objects/Weapons/Guns/Launchers/shinano-inhands.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/pull/6042/commits/64916c98f4847acc4adf3a2416bf78c005fd7dd7, https://github.com/discordia-space/CEV-Eris/blob/master/icons/obj/guns/launcher/grenadelauncher.dmi, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/Resources/migration.yml b/Resources/migration.yml index 42dacbf48b..1281d949fc 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -255,4 +255,17 @@ BodyBag_Folded: BodyBagFolded # 2024-04-14 BookSpaceLaws: null -NewsReadCartridge: null \ No newline at end of file +NewsReadCartridge: null + +# 2024-07-23 WD +ComfyChairBlack: BlackComfyChair +ComfyChairBrown: BrownComfyChair +ComfyChairCommand: BlueComfyChair +ComfyChairSecurity: RedComfyChair +ComfyChairMedical: LightBlueComfyChair +ComfyChairEngineering: OrangeComfyChair +ComfyChairScience: PurpleComfyChair +ComfyChairCargo: BrownComfyChair +ComfyChairService: GreenComfyChair + +BoxTrashbag: TrashBag