diff --git a/Content.Server/Body/Systems/BloodstreamSystem.cs b/Content.Server/Body/Systems/BloodstreamSystem.cs index 99da767289..d18b83a81c 100644 --- a/Content.Server/Body/Systems/BloodstreamSystem.cs +++ b/Content.Server/Body/Systems/BloodstreamSystem.cs @@ -1,3 +1,4 @@ +using Content.Server._White.Accent.Bloodloss; using Content.Server.Body.Components; using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.Chemistry.ReactionEffects; @@ -43,6 +44,7 @@ public sealed class BloodstreamSystem : EntitySystem [Dependency] private readonly AlertsSystem _alertsSystem = default!; [Dependency] private readonly ForensicsSystem _forensicsSystem = default!; [Dependency] private readonly MovementSpeedModifierSystem _speed = default!; // WD + [Dependency] private readonly BloodLossAccent _bloodLossAccent = default!; public override void Initialize() { @@ -158,7 +160,7 @@ public sealed class BloodstreamSystem : EntitySystem uid, (float) bloodstream.UpdateInterval.TotalSeconds * 2, applySlur: false); - _stutteringSystem.DoStutter(uid, bloodstream.UpdateInterval * 2, refresh: false); + _bloodLossAccent.StartBloodLossAccent(uid, bloodstream.UpdateInterval * 2, refresh: false); // storing the drunk and stutter time so we can remove it independently from other effects additions bloodstream.StatusTime += bloodstream.UpdateInterval * 2; @@ -173,7 +175,7 @@ public sealed class BloodstreamSystem : EntitySystem // Remove the drunk effect when healthy. Should only remove the amount of drunk and stutter added by low blood level _drunkSystem.TryRemoveDrunkenessTime(uid, bloodstream.StatusTime.TotalSeconds); - _stutteringSystem.DoRemoveStutterTime(uid, bloodstream.StatusTime.TotalSeconds); + _bloodLossAccent.StopBloodLossAccent(uid, bloodstream.StatusTime.TotalSeconds); // Reset the drunk and stutter time to zero bloodstream.StatusTime = TimeSpan.Zero; } diff --git a/Content.Server/GameTicking/Commands/ForcePresetCommand.cs b/Content.Server/GameTicking/Commands/ForcePresetCommand.cs index 1041fed6ec..92faeb3a4c 100644 --- a/Content.Server/GameTicking/Commands/ForcePresetCommand.cs +++ b/Content.Server/GameTicking/Commands/ForcePresetCommand.cs @@ -1,7 +1,10 @@ using System.Linq; using Content.Server.Administration; +using Content.Server.Administration.Logs; +using Content.Server.Chat.Managers; using Content.Server.GameTicking.Presets; using Content.Shared.Administration; +using Content.Shared.Database; using Robust.Shared.Console; using Robust.Shared.Prototypes; @@ -10,6 +13,9 @@ namespace Content.Server.GameTicking.Commands [AdminCommand(AdminFlags.Round)] sealed class ForcePresetCommand : IConsoleCommand { + [Dependency] private readonly IAdminLogManager _adminLogger = default!; + [Dependency] private readonly IChatManager _chatManager = default!; + public string Command => "forcepreset"; public string Description => "Forces a specific game preset to start for the current lobby."; public string Help => $"Usage: {Command} "; @@ -36,8 +42,19 @@ namespace Content.Server.GameTicking.Commands return; } - ticker.SetGamePreset(type, true); - shell.WriteLine($"Forced the game to start with preset {name}."); + ticker.SetGamePreset(type); + + _adminLogger.Add(LogType.EventStarted, $"Forced {type.ID} for secret."); + + + var player = "Someone"; + + if (shell.Player != null) + player = shell.Player.Name; + + _chatManager.SendAdminAnnouncement($"{player} forced {type.ID} for secret."); + shell.WriteLine($"forced the game to start with preset {name}."); + ticker.UpdateInfoText(); } diff --git a/Content.Server/_White/Accent/Bloodloss/BloodLossAccent.cs b/Content.Server/_White/Accent/Bloodloss/BloodLossAccent.cs new file mode 100644 index 0000000000..9c88736da2 --- /dev/null +++ b/Content.Server/_White/Accent/Bloodloss/BloodLossAccent.cs @@ -0,0 +1,66 @@ +using System.Text; +using Content.Server.Speech; +using Content.Shared.StatusEffect; +using Robust.Shared.Random; + +namespace Content.Server._White.Accent.Bloodloss; + +public sealed class BloodLossAccent : EntitySystem +{ + [Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!; + [Dependency] private readonly IRobustRandom _random = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnAccent); + } + + public void StartBloodLossAccent(EntityUid uid, TimeSpan time, bool refresh, StatusEffectsComponent? status = null) + { + if (!Resolve(uid, ref status, false)) + return; + + _statusEffectsSystem.TryAddStatusEffect(uid, "BloodLoss", time, refresh, status); + } + + public void StopBloodLossAccent(EntityUid uid, double timeRemoved) + { + _statusEffectsSystem.TryRemoveTime(uid, "BloodLoss", TimeSpan.FromSeconds(timeRemoved)); + } + + private void OnAccent(EntityUid uid, BloodLossAccentComponent component, AccentGetEvent args) + { + args.Message = Accentuate(args.Message, component); + } + + public string Accentuate(string message, BloodLossAccentComponent component) + { + if (string.IsNullOrEmpty(message)) + { + return message; + } + + var result = new StringBuilder(); + string[] words = message.Split(' '); + + foreach (var word in words) + { + if (word.Length >= 3 && _random.NextDouble() < component.ReplaceProb) + { + int start = Random.Shared.Next(1, word.Length - 1); + int end = start + Random.Shared.Next(1, word.Length - start); + + result.Append(word.Substring(0, start) + component.ToReplace + word.Substring(end)); + } + else + { + result.Append(word); + } + + result.Append(' '); + } + + return result.ToString().TrimEnd(); + } +} diff --git a/Content.Server/_White/Accent/Bloodloss/BloodLossAccentComponent.cs b/Content.Server/_White/Accent/Bloodloss/BloodLossAccentComponent.cs new file mode 100644 index 0000000000..eb51fe3b35 --- /dev/null +++ b/Content.Server/_White/Accent/Bloodloss/BloodLossAccentComponent.cs @@ -0,0 +1,13 @@ +namespace Content.Server._White.Accent.Bloodloss; + +[RegisterComponent] +public sealed partial class BloodLossAccentComponent : Component +{ + [DataField] + [ViewVariables(VVAccess.ReadWrite)] + public float ReplaceProb = 0.6f; + + [DataField] + [ViewVariables(VVAccess.ReadWrite)] + public string ToReplace = "..."; +} diff --git a/Resources/Locale/ru-RU/hands/hands-system.ftl b/Resources/Locale/ru-RU/hands/hands-system.ftl index eea248cbb5..d5aa577cc0 100644 --- a/Resources/Locale/ru-RU/hands/hands-system.ftl +++ b/Resources/Locale/ru-RU/hands/hands-system.ftl @@ -3,8 +3,8 @@ hands-system-missing-equipment-slot = У вас нет { $slotName }, из которого можно что-то взять! hands-system-empty-equipment-slot = В вашем { $slotName } нет ничего, что можно было бы вынуть! # Examine text after when they're holding something (in-hand) -comp-hands-examine-empty = { CAPITALIZE(SUBJECT($user)) } ничего не удерживает. +comp-hands-examine-empty = { CAPITALIZE(SUBJECT($user)) } ничего не держит. comp-hands-examine-wrapper = [color=paleturquoise]{$item}[/color] -comp-hands-examine = { CAPITALIZE(SUBJECT($user)) } удерживает { $items }. +comp-hands-examine = { CAPITALIZE(SUBJECT($user)) } держит { $items }. hands-system-blocked-by = Руки заблокированы этим: diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml index a50fc01ecf..59d5056ec2 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml @@ -5,9 +5,9 @@ description: A cardboard box for storing things. components: - type: Item - size: Large - shape: - - 0,0,2,2 + size: Normal + shape: + - 0,0,1,1 - type: Storage maxItemSize: Small grid: diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml b/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml index 9862399776..0ab4114040 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml @@ -7,7 +7,7 @@ - type: StorageFill contents: - id: Syringe - amount: 6 + amount: 4 - type: Sprite layers: - state: box diff --git a/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml b/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml index 76aca4df13..1d32df423a 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml @@ -27,7 +27,9 @@ grid: - 0,0,7,1 - type: Item - size: Ginormous + size: Large + shape: + - 0, 0, 4, 1 - type: ContainerContainer containers: storagebase: !type:Container diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 6c9104f6bf..dd823827da 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -548,7 +548,9 @@ - type: Clothing sprite: Clothing/Belt/sheath.rsi - type: Item - size: Ginormous + size: Huge + shape: + - 0, 0, 4, 0 - type: ItemSlots slots: item: diff --git a/Resources/Prototypes/Entities/Clothing/Neck/mantles.yml b/Resources/Prototypes/Entities/Clothing/Neck/mantles.yml index 7d53f499b4..cdb7acd303 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/mantles.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/mantles.yml @@ -1,5 +1,15 @@ - type: entity parent: ClothingNeckBase + id: ClothingNeckMantleBase + abstract: true + name: base mantle + description: based + components: + - type: Item + storedRotation: -90 + +- type: entity + parent: ClothingNeckMantleBase id: ClothingNeckMantleCap name: captain's mantle description: A comfortable and chique mantle befitting of only the most experienced captain. @@ -10,7 +20,7 @@ sprite: Clothing/Neck/mantles/capmantle.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingNeckMantleBase id: ClothingNeckMantleCE name: chief engineer's mantle description: High visibility, check. RIG system, check. High capacity cell, check. Everything a chief engineer could need in a stylish mantle. @@ -21,7 +31,7 @@ sprite: Clothing/Neck/mantles/cemantle.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingNeckMantleBase id: ClothingNeckMantleCMO name: chief medical officer's mantle description: For a CMO that has been in enough medbays to know that more PPE means less central command dry cleaning visits when the shift is over. @@ -32,7 +42,7 @@ sprite: Clothing/Neck/mantles/cmomantle.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingNeckMantleBase id: ClothingNeckMantleHOP name: head of personnel's mantle description: A good HOP knows that paper pushing is only half the job... petting your dog and looking fashionable is the other half. @@ -43,7 +53,7 @@ sprite: Clothing/Neck/mantles/hopmantle.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingNeckMantleBase id: ClothingNeckMantleHOS name: head of security's mantle description: Shootouts with nukies are just another Tuesday for this HoS. This mantle is a symbol of commitment to the station. @@ -54,7 +64,7 @@ sprite: Clothing/Neck/mantles/hosmantle.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingNeckMantleBase id: ClothingNeckMantleRD name: research director's mantle description: For when long days in the office consist of explosives, poisonous gas, murder robots, and a fresh pizza from cargo; this mantle will keep you comfy. @@ -65,7 +75,7 @@ sprite: Clothing/Neck/mantles/rdmantle.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingNeckMantleBase id: ClothingNeckMantleQM name: quartermaster's mantle description: For the master of goods and materials to rule over the department, a befitting mantle to show off superiority! @@ -76,7 +86,7 @@ sprite: Clothing/Neck/mantles/qmmantle.rsi - type: entity - parent: ClothingNeckBase + parent: ClothingNeckMantleBase id: ClothingNeckMantleInspector name: inspector's mantle description: Dark mantle that highlights your intimidating figure. These are the shoulders! diff --git a/Resources/Prototypes/Entities/Clothing/Neck/ties.yml b/Resources/Prototypes/Entities/Clothing/Neck/ties.yml index 9e361d5919..cce328a109 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/ties.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/ties.yml @@ -1,5 +1,15 @@ - type: entity parent: ClothingNeckBase + id: ClothingNeckTieBase + abstract: true + name: red-tie + description: A neosilk clip-on red tie. + components: + - type: Item + storedRotation: 135 + +- type: entity + parent: ClothingNeckTieBase id: ClothingNeckTieRed name: red-tie description: A neosilk clip-on red tie. @@ -15,7 +25,7 @@ - ClothMade - type: entity - parent: ClothingNeckBase + parent: ClothingNeckTieBase id: ClothingNeckTieDet name: detective's tie description: A loosely tied necktie, a perfect accessory for the over-worked detective. @@ -24,9 +34,9 @@ sprite: Clothing/Neck/Ties/dettie.rsi - type: Clothing sprite: Clothing/Neck/Ties/dettie.rsi - + - type: entity - parent: ClothingNeckBase + parent: ClothingNeckTieBase id: ClothingNeckTieSci name: scientist's tie description: Why do we all have to wear these ridiculous ties? diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml index 2599f28127..adcdcd8fff 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml @@ -3,7 +3,7 @@ #Basic armor vest - type: entity - parent: ClothingOuterBaseMedium + parent: ClothingOuterBase id: ClothingOuterArmorBasic name: armor vest description: A standard Type I armored vest that provides decent protection against most types of damage. diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml index db00905ea6..1661727cb2 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml @@ -74,6 +74,8 @@ sprite: Clothing/OuterClothing/Suits/atmos_firesuit.rsi - type: Clothing sprite: Clothing/OuterClothing/Suits/atmos_firesuit.rsi + - type: Item + storedRotation: -90 - type: PressureProtection highPressureMultiplier: 0.02 lowPressureMultiplier: 1000 diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml b/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml index 7605ca415e..868e391868 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml @@ -10,6 +10,7 @@ state: icon - type: Item size: Small + storedRotation: 90 - type: Food requiresSpecialDigestion: true - type: SolutionContainerManager diff --git a/Resources/Prototypes/Entities/Debugging/spanisharmyknife.yml b/Resources/Prototypes/Entities/Debugging/spanisharmyknife.yml index b7fb1188cc..a38a5dc6c9 100644 --- a/Resources/Prototypes/Entities/Debugging/spanisharmyknife.yml +++ b/Resources/Prototypes/Entities/Debugging/spanisharmyknife.yml @@ -40,3 +40,5 @@ - behavior: Anchoring useSound: /Audio/Items/drill_use.ogg changeSound: /Audio/Items/change_drill.ogg + - type: Item + storedRotation: -90 diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml index 9b9b145952..a49dfa7386 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml @@ -39,6 +39,7 @@ - KnockedDown - SlowedDown - Stutter + - BloodLoss - Electrocution - type: Pullable - type: Tag diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml index 7f6114e364..f183f85e6a 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml @@ -56,6 +56,7 @@ - KnockedDown - SlowedDown - Stutter + - BloodLoss - Electrocution - type: NameIdentifier group: GenericNumber diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml b/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml index ae5efa75e1..f676d43c2f 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml @@ -21,6 +21,7 @@ allowed: - SlowedDown - Stutter + - BloodLoss - Electrocution - ForcedSleep - TemporaryBlindness @@ -97,6 +98,7 @@ - KnockedDown - SlowedDown - Stutter + - BloodLoss - Electrocution - ForcedSleep - TemporaryBlindness diff --git a/Resources/Prototypes/Entities/Mobs/Player/terminator.yml b/Resources/Prototypes/Entities/Mobs/Player/terminator.yml index 9c7974367b..1b3918f2ff 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/terminator.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/terminator.yml @@ -32,6 +32,7 @@ - KnockedDown - SlowedDown - Stutter + - BloodLoss - Electrocution - Drunk - SlurredSpeech diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index f18f3b8093..fca92085e1 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -132,6 +132,7 @@ - KnockedDown - SlowedDown - Stutter + - BloodLoss - SeeingRainbows - Electrocution - Drunk @@ -290,6 +291,7 @@ - KnockedDown - SlowedDown - Stutter + - BloodLoss - SeeingRainbows - Electrocution - ForcedSleep diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 3f0277e1bc..a43667dc37 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -440,6 +440,8 @@ Quantity: 10 - ReagentId: Oculine Quantity: 2 + - type: Item + storedRotation: -45 - type: entity name: cabbage @@ -872,6 +874,8 @@ - type: Tag tags: - Fruit + - type: Item + size: Tiny - type: entity name: cocoa pod diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml index f18d7c4ba5..220faf2c99 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml @@ -17,7 +17,7 @@ sprite: Objects/Devices/timer.rsi state: timer - type: Item - size: Small + size: Tiny - type: PayloadTrigger components: - type: OnUseTimerTrigger diff --git a/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml b/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml index 7436ae7c98..228175f8d1 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml @@ -9,6 +9,7 @@ state: forensicnew - type: Item size: Small + storedRotation: 90 - type: Clothing sprite: Objects/Devices/forensic_scanner.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Devices/payload.yml b/Resources/Prototypes/Entities/Objects/Devices/payload.yml index 160f0c58e7..1f89f8893c 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/payload.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/payload.yml @@ -18,6 +18,8 @@ behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Item + size: Tiny - type: entity name: explosive payload diff --git a/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml b/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml index f5e46bbf54..29d6d67885 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml @@ -22,6 +22,7 @@ state: pinpointer - type: Item sprite: Objects/Devices/pinpointer.rsi + size: Tiny - type: Pinpointer - type: Appearance - type: GenericVisualizer diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml index 9346a47fc5..1bc4e1b0d7 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml @@ -9,7 +9,7 @@ sprite: Objects/Materials/Sheets/glass.rsi - type: Item sprite: Objects/Materials/Sheets/glass.rsi - size: Small + size: Normal - type: StaticPrice price: 0 - type: Tag @@ -197,7 +197,7 @@ - ReagentId: Carbon Quantity: 0.5 canReact: false - + - type: entity parent: SheetGlassBase id: SheetPGlass diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml index b91f5e153d..3a7b35f1cf 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml @@ -8,7 +8,7 @@ sprite: Objects/Materials/Sheets/metal.rsi - type: Item sprite: Objects/Materials/Sheets/metal.rsi - size: Small + size: Normal - type: StaticPrice price: 0 - type: Tag diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml index 058adc9f16..18590e98df 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml @@ -8,7 +8,7 @@ sprite: Objects/Materials/Sheets/other.rsi - type: Item sprite: Objects/Materials/Sheets/other.rsi - size: Small + size: Normal - type: Tag tags: - Sheet diff --git a/Resources/Prototypes/Entities/Objects/Misc/dat_fukken_disk.yml b/Resources/Prototypes/Entities/Objects/Misc/dat_fukken_disk.yml index 6a93f02c0f..fdcd8455bf 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/dat_fukken_disk.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/dat_fukken_disk.yml @@ -21,6 +21,8 @@ - type: Sprite sprite: Objects/Misc/nukedisk.rsi state: icon + - type: Item + size: Tiny - type: StaticPrice price: 2000 - type: CargoSellBlacklist diff --git a/Resources/Prototypes/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/Entities/Objects/Power/powercells.yml index edd19c5543..d6ad3575e8 100644 --- a/Resources/Prototypes/Entities/Objects/Power/powercells.yml +++ b/Resources/Prototypes/Entities/Objects/Power/powercells.yml @@ -4,7 +4,7 @@ parent: BaseItem components: - type: Item - storedRotation: -90 + size: Tiny - type: Battery pricePerJoule: 0.15 - type: PowerCell @@ -291,7 +291,7 @@ parent: BasePowerCell components: - type: Item - size: Ginormous + size: Huge - type: MultiHandedItem - type: SolutionContainerManager solutions: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml index a4692db9b5..44b56fefb1 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml @@ -13,7 +13,9 @@ slots: - belt - type: Item - size: Ginormous + size: Large + shape: + - 0, 0, 2, 1 - type: Storage maxItemSize: Normal # allow up to 5 large beakers / 10 beakers / 10 pill canisters grid: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml index bc03308d14..cdd34e185a 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml @@ -19,6 +19,7 @@ Slash: 10 - type: Item sprite: Objects/Tools/Hydroponics/hoe.rsi + storedRotation: 45 - type: entity name: plant clippers @@ -108,6 +109,7 @@ Piercing: 5 # I guess you can stab it into them? - type: Item sprite: Objects/Tools/Hydroponics/spade.rsi + storedRotation: 135 - type: Shovel speedModifier: 0.75 # slower at digging than a full-sized shovel @@ -121,7 +123,7 @@ sprite: Objects/Specific/Hydroponics/Equipment/plant_bag.rsi state: icon - type: Item - storedRotation: -90 + size: Normal - type: Clothing quickEquip: false slots: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml index a10bc5b576..706575f691 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml @@ -23,6 +23,9 @@ - type: Item size: Large sprite: Objects/Specific/Janitorial/mop.rsi + storedRotation: -135 + shape: + - 0, 0, 3, 0 - type: Absorbent - type: SolutionContainerManager solutions: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index c14c3e8ef0..b2f34ea082 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -27,6 +27,7 @@ state: ointment - type: Item heldPrefix: ointment + storedRotation: 45 - type: Healing damageContainers: - Biological @@ -229,7 +230,7 @@ components: - type: Stack lingering: true - + - type: entity parent: BaseHealingItem id: Tourniquet @@ -268,6 +269,8 @@ - Gauze - type: Sprite state: gauze + - type: Item + storedRotation: 90 - type: Construction graph: Gauze node: gauze diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml index 43cfde2a98..928f23a541 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml @@ -328,6 +328,9 @@ layers: - state: stimpen map: ["enum.SolutionContainerLayers.Fill"] + - type: Item + size: Small + storedRotation: 90 - type: SolutionContainerManager solutions: pen: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml index d7f2231ec9..67533bdf11 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml @@ -10,9 +10,9 @@ - type: Storage maxItemSize: Small grid: - - 0,0,3,1 + - 0,0,4,1 - type: Item - size: Large + size: Normal sprite: Objects/Specific/Medical/firstaidkits.rsi heldPrefix: firstaid - type: Tag diff --git a/Resources/Prototypes/Entities/Objects/Specific/Research/disk.yml b/Resources/Prototypes/Entities/Objects/Specific/Research/disk.yml index 432eda8164..ff12975c6c 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Research/disk.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Research/disk.yml @@ -4,6 +4,10 @@ name: research point disk (1000) description: A disk for the R&D server containing 1000 points. components: + - type: Item + size: Small + shape: + - 0, 0, 1, 1 - type: Sprite sprite: Objects/Specific/Research/researchdisk.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml index f2f317b654..4d50c7389c 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml @@ -154,6 +154,8 @@ description: Used to contain a moderate amount of chemicals and solutions. id: Beaker components: + - type: Item + size: Tiny - type: Spillable solution: beaker - type: StaticPrice @@ -281,6 +283,7 @@ - type: Item size: Tiny sprite: Objects/Specific/Chemistry/dropper.rsi + storedRotation: -45 - type: Appearance - type: SolutionContainerVisuals maxFillLevels: 1 @@ -329,8 +332,9 @@ sprite: Objects/Specific/Chemistry/syringe.rsi state: "syringe_base0" - type: Item - size: Tiny + size: Small sprite: Objects/Specific/Chemistry/syringe.rsi + storedRotation: -45 - type: SolutionContainerManager solutions: injector: diff --git a/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml b/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml index f2c236064a..0334cf30c8 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml @@ -64,6 +64,7 @@ - type: Item sprite: Objects/Devices/communication.rsi heldPrefix: old-radio + storedRotation: 90 - type: UserInterface interfaces: - key: enum.StoreUiKey.Key diff --git a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml index 019742ee04..4ea677965e 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml @@ -9,6 +9,7 @@ - type: Item size: Normal sprite: Objects/Tanks/generic.rsi + storedRotation: 45 - type: Clothing quickEquip: false sprite: Objects/Tanks/generic.rsi @@ -57,6 +58,8 @@ sprite: Objects/Tanks/oxygen.rsi - type: Item sprite: Objects/Tanks/oxygen.rsi + shape: + - 0, 0, 3, 0 - type: GasTank outputPressure: 21.3 air: @@ -87,6 +90,8 @@ sprite: Objects/Tanks/emergency.rsi - type: Item size: Small + shape: + - 0, 0, 1, 0 sprite: Objects/Tanks/emergency.rsi - type: GasTank air: @@ -208,6 +213,9 @@ air: volume: 15 temperature: 293.15 + - type: Item + shape: + - 0, 0, 3, 0 - type: entity parent: GasTankRoundBase @@ -219,6 +227,8 @@ sprite: Objects/Tanks/anesthetic.rsi - type: Item sprite: Objects/Tanks/anesthetic.rsi + shape: + - 0, 0, 3, 0 - type: GasTank outputPressure: 30.4 air: diff --git a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml index 5e6de0aebf..142eb9b695 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml @@ -38,6 +38,8 @@ - type: Item sprite: Objects/Tanks/Jetpacks/blue.rsi size: Huge + shape: + - 0, 0, 2, 3 - type: UserInterface interfaces: - key: enum.SharedGasTankUiKey.Key diff --git a/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml b/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml index 903b8d3f90..1031cac5ef 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml @@ -9,6 +9,7 @@ state: spray_painter - type: Item sprite: Objects/Tools/spray_painter.rsi + storedRotation: -90 - type: ActivatableUI key: enum.SprayPainterUiKey.Key - type: UserInterface diff --git a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml index 374f00b402..800c0add54 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml @@ -23,7 +23,9 @@ grid: - 0,0,6,3 - type: Item - size: Ginormous + size: Large + shape: + - 0,0,6,2 - type: MeleeWeapon damage: types: diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml index 4f87305bf9..1109aadae2 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml @@ -502,6 +502,7 @@ sprite: Objects/Tools/rcd.rsi state: ammo - type: Item + size: Tiny sprite: Objects/Tools/rcd.rsi heldPrefix: ammo - type: PhysicalComposition diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 3347b580e1..a165383838 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -12,6 +12,8 @@ - type: Sprite - type: Item size: Huge + shape: + - 0,0,4,1 - type: Clothing sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi quickEquip: false @@ -838,3 +840,5 @@ price: 800 - type: Item size: Large + shape: + - 0, 0, 3, 1 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index 80475c2b4a..1ea5c35eae 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -13,6 +13,8 @@ - Back - type: Item size: Huge + shape: + - 0,0,5,1 - type: StaticPrice price: 500 - type: ContainerContainer diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index ce6cb07e13..d8cdb8e0d9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -8,6 +8,8 @@ - type: Sprite - type: Item size: Huge + shape: + - 0,0,4,1 - type: Clothing sprite: Objects/Weapons/Guns/Rifles/ak.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index a25e75420b..e5764f1946 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -11,6 +11,8 @@ map: ["enum.GunVisualLayers.Base"] - type: Item size: Huge + shape: + - 0,0,4,0 - type: Clothing sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index 6827f3a3e8..5915cb24b5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -41,6 +41,7 @@ state: icon - type: Item sprite: Objects/Weapons/Melee/kitchen_knife.rsi + storedRotation: -45 - type: GuideHelp guides: - Chef @@ -102,6 +103,7 @@ Slash: 10 - type: Item sprite: Objects/Weapons/Melee/combat_knife.rsi + storedRotation: -45 - type: DisarmMalus malus: 0.225 - type: Construction @@ -291,3 +293,4 @@ Piercing: 15 - type: Item sprite: Objects/Weapons/Melee/throwing_knife.rsi + storedRotation: -45 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml index 0579964727..d982243dfe 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml @@ -48,7 +48,10 @@ types: Piercing: 15 - type: Item - size: Ginormous + storedRotation: 44 # It just works + size: Huge + shape: + - 0,0,5,0 - type: Clothing quickEquip: false slots: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index 0745425e9d..46ba8b7b20 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -24,6 +24,9 @@ - type: Item size: Large sprite: Objects/Weapons/Melee/captain_sabre.rsi + storedRotation: 44 # It just works + shape: + - 0, 0, 4, 0 - type: Tag tags: - CaptainSabre diff --git a/Resources/Prototypes/Entities/Objects/Weapons/security.yml b/Resources/Prototypes/Entities/Objects/Weapons/security.yml index cdc6ef0a2f..0c547cae22 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/security.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/security.yml @@ -52,6 +52,9 @@ - type: Item heldPrefix: off size: Normal + shape: + - 0,0,2,0 + storedRotation: 44 - type: Clothing sprite: Objects/Weapons/Melee/stunbaton.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Virtual/virtual_item.yml b/Resources/Prototypes/Entities/Virtual/virtual_item.yml index ed74243550..5fc2ff90ee 100644 --- a/Resources/Prototypes/Entities/Virtual/virtual_item.yml +++ b/Resources/Prototypes/Entities/Virtual/virtual_item.yml @@ -5,4 +5,5 @@ noSpawn: true components: - type: Item + size: Ginormous - type: VirtualItem diff --git a/Resources/Prototypes/Entities/White/voice_recorder.yml b/Resources/Prototypes/Entities/White/voice_recorder.yml index a7a49fb186..a2fbe5659d 100644 --- a/Resources/Prototypes/Entities/White/voice_recorder.yml +++ b/Resources/Prototypes/Entities/White/voice_recorder.yml @@ -17,6 +17,7 @@ - type: Item heldPrefix: off sprite: White/VoiceRecorder/voicerecorder.rsi + storedRotation: 90 - type: Appearance - type: VoiceRecorder blacklist: diff --git a/Resources/Prototypes/_White/Economy/card.yml b/Resources/Prototypes/_White/Economy/card.yml index bc836bde9f..bec8e1c851 100644 --- a/Resources/Prototypes/_White/Economy/card.yml +++ b/Resources/Prototypes/_White/Economy/card.yml @@ -9,6 +9,8 @@ sprite: White/Misc/cards.rsi scale: 0.8, 0.8 state: budgetcard + - type: Item + storedRotation: 90 - type: entity parent: BaseDepartmentBudgetCard diff --git a/Resources/Prototypes/item_size.yml b/Resources/Prototypes/item_size.yml index f02a7e9fd6..ebdfbced1d 100644 --- a/Resources/Prototypes/item_size.yml +++ b/Resources/Prototypes/item_size.yml @@ -45,3 +45,5 @@ name: item-component-size-Ginormous defaultShape: - 0,0,5,5 + + diff --git a/Resources/Prototypes/status_effects.yml b/Resources/Prototypes/status_effects.yml index a9ea56db57..563a4df5a8 100644 --- a/Resources/Prototypes/status_effects.yml +++ b/Resources/Prototypes/status_effects.yml @@ -68,6 +68,9 @@ id: NarcoticEffect alwaysAllowed: true -#WD EDIT +# WD EDIT - type: statusEffect id: Incorporeal + +- type: statusEffect + id: BloodLoss