From 0c329ed6614e55e273328ceab25dbc99d16ffd14 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Mon, 30 Oct 2023 23:55:55 -0400 Subject: [PATCH] Storage Standardization [Take 2] (#21270) --- Content.Client/Storage/UI/StorageWindow.cs | 45 ++- .../Tests/HumanInventoryUniformSlotsTest.cs | 8 +- Content.IntegrationTests/Tests/StackTest.cs | 39 -- Content.IntegrationTests/Tests/StorageTest.cs | 142 +++++--- .../EntitySystems/ChemMasterSystem.cs | 12 +- .../Nutrition/EntitySystems/FoodSystem.cs | 3 +- .../Components/SecretStashComponent.cs | 2 +- .../StorageFillVisualizerSystem.cs | 13 +- .../EntitySystems/StorageSystem.Fill.cs | 5 +- .../UserInterface/StatValuesCommand.cs | 50 ++- .../Melee/EnergySword/EnergySwordSystem.cs | 4 +- .../Inventory/InventorySystem.Equip.cs | 2 +- Content.Shared/Item/ItemComponent.cs | 56 ++- Content.Shared/Item/ItemToggleComponent.cs | 5 +- Content.Shared/Item/SharedItemSystem.cs | 34 +- .../EntitySystems/MagnetPickupSystem.cs | 5 +- .../EntitySystems/SharedStorageSystem.cs | 182 +++++++--- Content.Shared/Storage/StorageComponent.cs | 34 +- .../en-US/commands/stat-values-command.ftl | 5 + .../en-US/components/storage-component.ftl | 7 +- .../en-US/items/components/item-component.ftl | 7 + Resources/Maps/Shuttles/striker.yml | 113 ------ Resources/Maps/core.yml | 4 - Resources/Maps/europa.yml | 2 - .../Fills/Backpacks/StarterGear/backpack.yml | 3 +- .../Catalog/Fills/Backpacks/duffelbag.yml | 334 +++++++++--------- .../Catalog/Fills/Boxes/ammunition.yml | 2 +- .../Catalog/Fills/Boxes/general.yml | 54 ++- .../Catalog/Fills/Boxes/medical.yml | 4 +- .../Catalog/Fills/Boxes/security.yml | 7 + .../Prototypes/Catalog/Fills/Crates/fun.yml | 4 +- .../Prototypes/Catalog/Fills/Items/belt.yml | 9 +- .../Catalog/Fills/Items/briefcases.yml | 4 + .../Catalog/Fills/Items/firstaidkits.yml | 29 +- .../Catalog/Fills/Items/toolboxes.yml | 9 +- .../Entities/Clothing/Back/backpacks.yml | 12 +- .../Entities/Clothing/Back/duffel.yml | 151 ++++---- .../Entities/Clothing/Back/satchel.yml | 5 +- .../Entities/Clothing/Back/specific.yml | 2 +- .../Clothing/Belt/base_clothingbelt.yml | 7 +- .../Entities/Clothing/Belt/belts.yml | 20 +- .../Entities/Clothing/Belt/quiver.yml | 3 +- .../Entities/Clothing/Belt/waist_bags.yml | 6 +- .../Entities/Clothing/Ears/headsets.yml | 2 + .../Clothing/Eyes/base_clothingeyes.yml | 2 + .../Clothing/Hands/base_clothinghands.yml | 2 + .../Clothing/Head/base_clothinghead.yml | 7 +- .../Entities/Clothing/Head/hats.yml | 6 +- .../Clothing/Masks/base_clothingmask.yml | 2 + .../Clothing/Neck/base_clothingneck.yml | 2 +- .../Entities/Clothing/Neck/pins.yml | 2 +- .../OuterClothing/base_clothingouter.yml | 12 +- .../Clothing/OuterClothing/hardsuits.yml | 2 +- .../Entities/Clothing/OuterClothing/suits.yml | 4 +- .../Clothing/OuterClothing/wintercoats.yml | 2 +- .../Clothing/Shoes/base_clothingshoes.yml | 5 +- .../Entities/Clothing/Shoes/specific.yml | 2 +- .../Entities/Clothing/base_clothing.yml | 2 + .../Entities/Debugging/debug_sweps.yml | 2 +- .../Prototypes/Entities/Mobs/NPCs/animals.yml | 6 +- .../Prototypes/Entities/Mobs/NPCs/silicon.yml | 3 +- .../Objects/Consumable/Drinks/drinks_cans.yml | 4 +- .../Objects/Consumable/Food/Baked/bread.yml | 2 +- .../Objects/Consumable/Food/Baked/cake.yml | 6 +- .../Consumable/Food/Baked/donkpocket.yml | 2 +- .../Objects/Consumable/Food/Baked/donut.yml | 2 +- .../Objects/Consumable/Food/Baked/misc.yml | 2 +- .../Objects/Consumable/Food/Baked/pizza.yml | 4 +- .../Consumable/Food/Containers/box.yml | 25 +- .../Consumable/Food/Containers/tin.yml | 4 +- .../Entities/Objects/Consumable/Food/egg.yml | 4 +- .../Entities/Objects/Consumable/Food/meat.yml | 4 +- .../Objects/Consumable/Food/produce.yml | 22 +- .../Objects/Consumable/Food/skewer.yml | 2 +- .../Objects/Consumable/Food/snacks.yml | 10 +- .../Smokeables/Cigarettes/cartons.yml | 4 +- .../Smokeables/Cigarettes/cigarette.yml | 4 +- .../Smokeables/Cigarettes/joints.yml | 4 +- .../Smokeables/Cigarettes/packs.yml | 9 +- .../Smokeables/Cigarettes/rolling_paper.yml | 11 +- .../Consumable/Smokeables/Cigars/case.yml | 4 +- .../Consumable/Smokeables/Cigars/cigar.yml | 4 +- .../Consumable/Smokeables/Pipes/pipe.yml | 2 +- .../Objects/Decoration/jackolantern.yml | 4 +- .../Entities/Objects/Decoration/lidsalami.yml | 2 +- .../Entities/Objects/Decoration/present.yml | 4 +- .../Objects/Devices/Electronics/triggers.yml | 2 +- .../Syndicate_Gadgets/chimp_upgrade_kit.yml | 6 +- .../Objects/Devices/forensic_scanner.yml | 2 +- .../Entities/Objects/Devices/pda.yml | 2 +- .../Fun/Instruments/base_instruments.yml | 2 +- .../Fun/Instruments/instruments_brass.yml | 8 +- .../Fun/Instruments/instruments_misc.yml | 16 +- .../Instruments/instruments_percussion.yml | 10 +- .../Fun/Instruments/instruments_string.yml | 16 +- .../Fun/Instruments/instruments_wind.yml | 20 +- .../Entities/Objects/Fun/bike_horn.yml | 8 +- .../Entities/Objects/Fun/crayons.yml | 7 +- .../Prototypes/Entities/Objects/Fun/darts.yml | 8 +- .../Prototypes/Entities/Objects/Fun/dice.yml | 2 +- .../Entities/Objects/Fun/dice_bag.yml | 7 +- .../Entities/Objects/Fun/puppet.yml | 2 +- .../Prototypes/Entities/Objects/Fun/toys.yml | 26 +- .../Objects/Materials/Sheets/glass.yml | 19 +- .../Objects/Materials/Sheets/metal.yml | 12 +- .../Objects/Materials/Sheets/other.yml | 15 +- .../Entities/Objects/Materials/ingots.yml | 8 +- .../Entities/Objects/Materials/materials.yml | 45 +-- .../Entities/Objects/Materials/ore.yml | 17 +- .../Entities/Objects/Materials/parts.yml | 8 +- .../Entities/Objects/Materials/shards.yml | 2 +- .../Entities/Objects/Misc/bedsheets.yml | 2 +- .../Prototypes/Entities/Objects/Misc/box.yml | 4 +- .../Entities/Objects/Misc/briefcases.yml | 12 +- .../Entities/Objects/Misc/eggspider.yml | 2 +- .../Objects/Misc/fire_extinguisher.yml | 2 +- .../Entities/Objects/Misc/fluff_lights.yml | 4 +- .../Entities/Objects/Misc/handcuffs.yml | 10 +- .../Objects/Misc/identification_cards.yml | 1 + .../Entities/Objects/Misc/implanters.yml | 2 +- .../Objects/Misc/improvised_gun_parts.yml | 8 +- .../Entities/Objects/Misc/machine_parts.yml | 2 +- .../Entities/Objects/Misc/medalcase.yml | 5 +- .../Entities/Objects/Misc/monkeycube.yml | 2 - .../Entities/Objects/Misc/paper.yml | 23 +- .../Entities/Objects/Misc/potatoai_chip.yml | 4 +- .../Objects/Misc/subdermal_implants.yml | 5 +- .../Entities/Objects/Misc/tiles.yml | 1 + .../Entities/Objects/Power/antimatter_jar.yml | 2 +- .../Objects/Power/antimatter_part.yml | 2 +- .../Entities/Objects/Power/powersink.yml | 2 +- .../Entities/Objects/Power/solar_parts.yml | 2 +- .../Entities/Objects/Shields/shields.yml | 12 +- .../Objects/Specific/Chapel/bibles.yml | 6 +- .../Objects/Specific/Chemistry/chem_bag.yml | 4 +- .../Objects/Specific/Forensics/forensics.yml | 2 +- .../Objects/Specific/Hydroponics/leaves.yml | 4 +- .../Objects/Specific/Hydroponics/seeds.yml | 6 +- .../Objects/Specific/Hydroponics/tools.yml | 6 +- .../Objects/Specific/Janitorial/janitor.yml | 8 +- .../Objects/Specific/Janitorial/trashbag.yml | 9 +- .../Objects/Specific/Kitchen/foodcarts.yml | 19 +- .../Objects/Specific/Librarian/books_bag.yml | 4 +- .../Specific/Mech/mech_construction.yml | 8 +- .../Objects/Specific/Mech/mecha_equipment.yml | 2 +- .../Objects/Specific/Medical/defib.yml | 2 +- .../Objects/Specific/Medical/disease.yml | 4 +- .../Objects/Specific/Medical/healing.yml | 102 +++++- .../Objects/Specific/Medical/hypospray.yml | 8 +- .../Objects/Specific/Medical/medkits.yml | 8 +- .../Objects/Specific/Medical/morgue.yml | 2 +- .../Objects/Specific/Research/rped.yml | 4 +- .../Objects/Specific/Salvage/ore_bag.yml | 5 +- .../Service/vending_machine_restock.yml | 2 +- .../Xenoarchaeology/item_artifacts.yml | 2 +- .../Objects/Specific/chemical-containers.yml | 2 +- .../Objects/Specific/chemistry-bottles.yml | 2 +- .../Entities/Objects/Specific/chemistry.yml | 14 +- .../Entities/Objects/Specific/syndicate.yml | 8 +- .../Objects/Tools/access_configurator.yml | 12 +- .../Entities/Objects/Tools/bucket.yml | 2 +- .../Entities/Objects/Tools/cable_coils.yml | 14 +- .../Entities/Objects/Tools/cowtools.yml | 2 +- .../Entities/Objects/Tools/fulton.yml | 6 +- .../Entities/Objects/Tools/gas_tanks.yml | 4 +- .../Objects/Tools/inflatable_wall.yml | 10 +- .../Entities/Objects/Tools/jaws_of_life.yml | 4 +- .../Entities/Objects/Tools/jetpacks.yml | 4 +- .../Entities/Objects/Tools/lighters.yml | 2 +- .../Entities/Objects/Tools/matches.yml | 12 +- .../Entities/Objects/Tools/toolbox.yml | 9 +- .../Entities/Objects/Tools/tools.yml | 16 +- .../Entities/Objects/Tools/welders.yml | 4 +- .../Entities/Objects/Vehicles/keys.yml | 2 +- .../Entities/Objects/Weapons/Bombs/funny.yml | 2 +- .../Objects/Weapons/Bombs/plastic.yml | 2 +- .../Entities/Objects/Weapons/Bombs/spider.yml | 2 +- .../Guns/Ammunition/Boxes/antimateriel.yml | 2 +- .../Guns/Ammunition/Boxes/caseless_rifle.yml | 2 +- .../Guns/Ammunition/Boxes/light_rifle.yml | 2 +- .../Weapons/Guns/Ammunition/Boxes/magnum.yml | 2 +- .../Weapons/Guns/Ammunition/Boxes/pistol.yml | 2 +- .../Weapons/Guns/Ammunition/Boxes/rifle.yml | 2 +- .../Ammunition/Cartridges/base_cartridge.yml | 2 +- .../Ammunition/Magazines/caseless_rifle.yml | 6 +- .../Guns/Ammunition/Magazines/heavy_rifle.yml | 2 +- .../Guns/Ammunition/Magazines/light_rifle.yml | 2 +- .../Guns/Ammunition/Magazines/magnum.yml | 2 +- .../Guns/Ammunition/Magazines/pistol.yml | 6 +- .../Guns/Ammunition/Magazines/rifle.yml | 2 +- .../Guns/Ammunition/Magazines/shotgun.yml | 2 +- .../Weapons/Guns/Ammunition/explosives.yml | 6 +- .../Objects/Weapons/Guns/Basic/base_pka.yml | 2 +- .../Objects/Weapons/Guns/Basic/base_staff.yml | 2 +- .../Objects/Weapons/Guns/Basic/base_wand.yml | 2 +- .../Weapons/Guns/Basic/spraynozzle.yml | 2 +- .../Objects/Weapons/Guns/Basic/watergun.yml | 6 +- .../Weapons/Guns/Battery/battery_guns.yml | 6 +- .../Entities/Objects/Weapons/Guns/Bow/bow.yml | 2 +- .../Objects/Weapons/Guns/HMGs/hmgs.yml | 2 +- .../Objects/Weapons/Guns/LMGs/lmgs.yml | 2 +- .../Weapons/Guns/Launchers/launchers.yml | 2 +- .../Objects/Weapons/Guns/Pistols/pistols.yml | 2 +- .../Weapons/Guns/Projectiles/arrows.yml | 2 +- .../Weapons/Guns/Revolvers/revolvers.yml | 6 +- .../Objects/Weapons/Guns/Rifles/rifles.yml | 2 +- .../Objects/Weapons/Guns/SMGs/smgs.yml | 2 +- .../Weapons/Guns/Shotguns/shotguns.yml | 16 +- .../Objects/Weapons/Guns/Snipers/snipers.yml | 2 +- .../Objects/Weapons/Guns/flare_gun.yml | 2 +- .../Objects/Weapons/Guns/pneumatic_cannon.yml | 20 +- .../Objects/Weapons/Melee/armblade.yml | 2 +- .../Objects/Weapons/Melee/baseball_bat.yml | 2 +- .../Objects/Weapons/Melee/chainsaw.yml | 2 +- .../Entities/Objects/Weapons/Melee/cult.yml | 6 +- .../Objects/Weapons/Melee/e_sword.yml | 8 +- .../Objects/Weapons/Melee/fireaxe.yml | 2 +- .../Entities/Objects/Weapons/Melee/gohei.yml | 2 +- .../Entities/Objects/Weapons/Melee/knife.yml | 24 +- .../Entities/Objects/Weapons/Melee/mining.yml | 6 +- .../Entities/Objects/Weapons/Melee/needle.yml | 2 +- .../Objects/Weapons/Melee/pickaxe.yml | 2 +- .../Entities/Objects/Weapons/Melee/spear.yml | 2 +- .../Objects/Weapons/Melee/stunprod.yml | 2 +- .../Entities/Objects/Weapons/Melee/sword.yml | 12 +- .../Objects/Weapons/Melee/weapon_toolbox.yml | 2 +- .../Objects/Weapons/Melee/white_cane.yml | 2 +- .../Objects/Weapons/Throwable/bola.yml | 2 +- .../Objects/Weapons/Throwable/grenades.yml | 4 +- .../Entities/Objects/Weapons/security.yml | 6 +- .../Prototypes/Entities/Objects/base_item.yml | 2 +- .../Structures/Furniture/bookshelf.yml | 3 +- .../Entities/Structures/Furniture/chairs.yml | 4 +- .../Entities/Structures/Furniture/dresser.yml | 13 +- .../Structures/Furniture/rollerbeds.yml | 2 +- .../Structures/Piping/Atmospherics/pipes.yml | 2 +- .../Specific/Atmospherics/sensor.yml | 2 +- .../Structures/Storage/filing_cabinets.yml | 6 +- .../Entities/Structures/Storage/ore_box.yml | 3 +- .../XenoArch/Effects/utility_effects.yml | 4 +- 240 files changed, 1365 insertions(+), 1275 deletions(-) delete mode 100644 Content.IntegrationTests/Tests/StackTest.cs diff --git a/Content.Client/Storage/UI/StorageWindow.cs b/Content.Client/Storage/UI/StorageWindow.cs index 1af50cb147..5c98577917 100644 --- a/Content.Client/Storage/UI/StorageWindow.cs +++ b/Content.Client/Storage/UI/StorageWindow.cs @@ -1,16 +1,15 @@ using System.Numerics; -using Robust.Client.GameObjects; +using Content.Client.Message; using Robust.Client.Graphics; using Robust.Client.UserInterface.Controls; -using Robust.Client.UserInterface.CustomControls; using Content.Client.Stylesheets; using Content.Client.UserInterface.Controls; using Content.Shared.IdentityManagement; using Content.Shared.Item; using Content.Shared.Stacks; using Content.Shared.Storage; +using Content.Shared.Storage.EntitySystems; using Robust.Client.UserInterface; -using Robust.Shared.Containers; using static Robust.Client.UserInterface.Controls.BoxContainer; using Direction = Robust.Shared.Maths.Direction; @@ -23,7 +22,9 @@ namespace Content.Client.Storage.UI { private readonly IEntityManager _entityManager; - private readonly Label _information; + private readonly SharedStorageSystem _storage; + + private readonly RichTextLabel _information; public readonly ContainerButton StorageContainerButton; public readonly ListContainer EntityList; private readonly StyleBoxFlat _hoveredBox = new() { BackgroundColor = Color.Black.WithAlpha(0.35f) }; @@ -32,6 +33,7 @@ namespace Content.Client.Storage.UI public StorageWindow(IEntityManager entityManager) { _entityManager = entityManager; + _storage = _entityManager.System(); SetSize = new Vector2(240, 320); Title = Loc.GetString("comp-storage-window-title"); RectClipContent = true; @@ -60,11 +62,13 @@ namespace Content.Client.Storage.UI StorageContainerButton.AddChild(vBox); - _information = new Label + _information = new RichTextLabel { - Text = Loc.GetString("comp-storage-window-volume", ("itemCount", 0), ("usedVolume", 0), ("maxVolume", 0)), VerticalAlignment = VAlignment.Center }; + _information.SetMessage(Loc.GetString("comp-storage-window-weight", + ("percent", 0), + ("size", SharedItemSystem.GetItemSizeLocale(ItemSize.Normal)))); vBox.AddChild(_information); @@ -101,15 +105,25 @@ namespace Content.Client.Storage.UI EntityList.PopulateList(list); - // Sets information about entire storage container current capacity - if (component.StorageCapacityMax != 0) + SetStorageInformation((entity, component)); + } + + private void SetStorageInformation(Entity uid) + { + //todo: text is the straight agenda. What about anything else? + if (uid.Comp.MaxSlots == null) { - _information.Text = Loc.GetString("comp-storage-window-volume", ("itemCount", storedCount), - ("usedVolume", component.StorageUsed), ("maxVolume", component.StorageCapacityMax)); + _information.SetMarkup(Loc.GetString("comp-storage-window-weight", + ("weight", _storage.GetCumulativeItemSizes(uid, uid.Comp)), + ("maxWeight", uid.Comp.MaxTotalWeight), + ("size", SharedItemSystem.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp)))))); } else { - _information.Text = Loc.GetString("comp-storage-window-volume-unlimited", ("itemCount", storedCount)); + _information.SetMarkup(Loc.GetString("comp-storage-window-slots", + ("itemCount", uid.Comp.Container.ContainedEntities.Count), + ("maxCount", uid.Comp.MaxSlots), + ("size", SharedItemSystem.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp)))))); } } @@ -122,10 +136,9 @@ namespace Content.Client.Storage.UI || !_entityManager.EntityExists(entity)) return; - _entityManager.TryGetComponent(entity, out ItemComponent? item); _entityManager.TryGetComponent(entity, out StackComponent? stack); + _entityManager.TryGetComponent(entity, out ItemComponent? item); var count = stack?.Count ?? 1; - var size = item?.Size; var spriteView = new SpriteView { @@ -147,12 +160,14 @@ namespace Content.Client.Storage.UI HorizontalExpand = true, ClipText = true, Text = _entityManager.GetComponent(Identity.Entity(entity, _entityManager)).EntityName + - (count > 1 ? $" x {count}" : string.Empty), + (count > 1 ? $" x {count}" : string.Empty) }, new Label { Align = Label.AlignMode.Right, - Text = size.ToString() ?? Loc.GetString("comp-storage-no-item-size"), + Text = item?.Size != null + ? $"{SharedItemSystem.GetItemSizeWeight(item.Size)}" + : Loc.GetString("comp-storage-no-item-size") } } }); diff --git a/Content.IntegrationTests/Tests/HumanInventoryUniformSlotsTest.cs b/Content.IntegrationTests/Tests/HumanInventoryUniformSlotsTest.cs index 3ea3dd7916..4bba605f0a 100644 --- a/Content.IntegrationTests/Tests/HumanInventoryUniformSlotsTest.cs +++ b/Content.IntegrationTests/Tests/HumanInventoryUniformSlotsTest.cs @@ -26,7 +26,7 @@ namespace Content.IntegrationTests.Tests - type: Clothing slots: [innerclothing] - type: Item - size: 5 + size: Tiny - type: entity name: IDCardDummy @@ -36,7 +36,7 @@ namespace Content.IntegrationTests.Tests slots: - idcard - type: Item - size: 5 + size: Tiny - type: IdCard - type: entity @@ -44,14 +44,14 @@ namespace Content.IntegrationTests.Tests id: FlashlightDummy components: - type: Item - size: 5 + size: Tiny - type: entity name: ToolboxDummy id: ToolboxDummy components: - type: Item - size: 9999 + size: Huge "; [Test] public async Task Test() diff --git a/Content.IntegrationTests/Tests/StackTest.cs b/Content.IntegrationTests/Tests/StackTest.cs deleted file mode 100644 index a34dd7e53d..0000000000 --- a/Content.IntegrationTests/Tests/StackTest.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Content.Shared.Item; -using Content.Shared.Stacks; -using Robust.Shared.GameObjects; -using Robust.Shared.Prototypes; - -namespace Content.IntegrationTests.Tests; - -[TestFixture] -public sealed class StackTest -{ - [Test] - public async Task StackCorrectItemSize() - { - await using var pair = await PoolManager.GetServerClient(); - var server = pair.Server; - - var protoManager = server.ResolveDependency(); - var compFact = server.ResolveDependency(); - - Assert.Multiple(() => - { - foreach (var entity in PoolManager.GetPrototypesWithComponent(server)) - { - if (!entity.TryGetComponent(out var stackComponent, compFact) || - !entity.TryGetComponent(out var itemComponent, compFact)) - continue; - - if (!protoManager.TryIndex(stackComponent.StackTypeId, out var stackProto) || - stackProto.ItemSize == null) - continue; - - var expectedSize = stackProto.ItemSize * stackComponent.Count; - Assert.That(itemComponent.Size, Is.EqualTo(expectedSize), $"Prototype id: {entity.ID} has an item size of {itemComponent.Size} but expected size of {expectedSize}."); - } - }); - - await pair.CleanReturnAsync(); - } -} diff --git a/Content.IntegrationTests/Tests/StorageTest.cs b/Content.IntegrationTests/Tests/StorageTest.cs index ea7f3f5866..e9781ef47a 100644 --- a/Content.IntegrationTests/Tests/StorageTest.cs +++ b/Content.IntegrationTests/Tests/StorageTest.cs @@ -3,11 +3,12 @@ using System.Collections.Generic; using System.Linq; using Content.Server.Storage.Components; using Content.Shared.Item; +using Content.Shared.Prototypes; using Content.Shared.Storage; using Content.Shared.Storage.Components; +using Content.Shared.Storage.EntitySystems; using Robust.Shared.GameObjects; using Robust.Shared.Prototypes; -using Robust.UnitTesting; namespace Content.IntegrationTests.Tests { @@ -32,9 +33,11 @@ namespace Content.IntegrationTests.Tests { if (!proto.TryGetComponent("Storage", out var storage) || storage.Whitelist != null || - !proto.TryGetComponent("Item", out var item)) continue; + storage.MaxItemSize == null || + !proto.TryGetComponent("Item", out var item)) + continue; - Assert.That(storage.StorageCapacityMax, Is.LessThanOrEqualTo(item.Size), $"Found storage arbitrage on {proto.ID}"); + Assert.That(storage.MaxItemSize.Value, Is.LessThanOrEqualTo(item.Size), $"Found storage arbitrage on {proto.ID}"); } }); await pair.CleanReturnAsync(); @@ -82,69 +85,122 @@ namespace Content.IntegrationTests.Tests { foreach (var proto in PoolManager.GetPrototypesWithComponent(server)) { - int capacity; - var isEntStorage = false; + if (proto.HasComponent(compFact)) + continue; - if (proto.TryGetComponent("Storage", out var storage)) + if (!proto.TryGetComponent("Storage", out var storage)) { - capacity = storage.StorageCapacityMax; + Assert.Fail($"Entity {proto.ID} has storage-fill without a storage component!"); + continue; } - else if (proto.TryGetComponent("EntityStorage", out var entStorage)) + + proto.TryGetComponent("Item", out var item); + + var fill = (StorageFillComponent) proto.Components[id].Component; + var size = GetFillSize(fill, false, protoMan); + var maxSize = storage.MaxItemSize ?? + (item?.Size == null + ? SharedStorageSystem.DefaultStorageMaxItemSize + : (ItemSize) Math.Max(0, (int) item.Size - 1)); + if (storage.MaxSlots != null) { - capacity = entStorage.Capacity; - isEntStorage = true; + Assert.That(GetFillSize(fill, true, protoMan), Is.LessThanOrEqualTo(storage.MaxSlots), + $"{proto.ID} storage fill has too many items."); } else + { + Assert.That(size, Is.LessThanOrEqualTo(storage.MaxTotalWeight), $"{proto.ID} storage fill is too large."); + } + + foreach (var entry in fill.Contents) + { + if (entry.PrototypeId == null) + continue; + + if (!protoMan.TryIndex(entry.PrototypeId, out var fillItem)) + continue; + + if (!fillItem.TryGetComponent("Item", out var entryItem)) + continue; + + Assert.That(entryItem.Size, Is.LessThanOrEqualTo(maxSize), + $"Entity {proto.ID} has storage-fill item, {entry.PrototypeId}, that is too large"); + } + } + }); + + await pair.CleanReturnAsync(); + + } + + [Test] + public async Task TestSufficientSpaceForEntityStorageFill() + { + await using var pair = await PoolManager.GetServerClient(); + var server = pair.Server; + + var protoMan = server.ResolveDependency(); + var compFact = server.ResolveDependency(); + var id = compFact.GetComponentName(typeof(StorageFillComponent)); + + Assert.Multiple(() => + { + foreach (var proto in PoolManager.GetPrototypesWithComponent(server)) + { + if (proto.HasComponent(compFact)) + continue; + + if (!proto.TryGetComponent("EntityStorage", out var entStorage)) { Assert.Fail($"Entity {proto.ID} has storage-fill without a storage component!"); continue; } var fill = (StorageFillComponent) proto.Components[id].Component; - var size = GetFillSize(fill, isEntStorage); - Assert.That(size, Is.LessThanOrEqualTo(capacity), $"{proto.ID} storage fill is too large."); + var size = GetFillSize(fill, true, protoMan); + Assert.That(size, Is.LessThanOrEqualTo(entStorage.Capacity), + $"{proto.ID} storage fill is too large."); } }); + await pair.CleanReturnAsync(); + } - int GetEntrySize(EntitySpawnEntry entry, bool isEntStorage) + private int GetEntrySize(EntitySpawnEntry entry, bool getCount, IPrototypeManager protoMan) + { + if (entry.PrototypeId == null) + return 0; + + if (!protoMan.TryIndex(entry.PrototypeId, out var proto)) { - if (entry.PrototypeId == null) - return 0; - - if (!protoMan.TryIndex(entry.PrototypeId, out var proto)) - { - Assert.Fail($"Unknown prototype: {entry.PrototypeId}"); - return 0; - } - - if (isEntStorage) - return entry.Amount; - - if (proto.TryGetComponent("Item", out var item)) - return item.Size * entry.Amount; - - Assert.Fail($"Prototype is missing item comp: {entry.PrototypeId}"); + Assert.Fail($"Unknown prototype: {entry.PrototypeId}"); return 0; } - int GetFillSize(StorageFillComponent fill, bool isEntStorage) + if (getCount) + return entry.Amount; + + if (proto.TryGetComponent("Item", out var item)) + return SharedItemSystem.GetItemSizeWeight(item.Size) * entry.Amount; + + Assert.Fail($"Prototype is missing item comp: {entry.PrototypeId}"); + return 0; + } + + private int GetFillSize(StorageFillComponent fill, bool getCount, IPrototypeManager protoMan) + { + var totalSize = 0; + var groups = new Dictionary(); + foreach (var entry in fill.Contents) { - var totalSize = 0; - var groups = new Dictionary(); - foreach (var entry in fill.Contents) - { - var size = GetEntrySize(entry, isEntStorage); + var size = GetEntrySize(entry, getCount, protoMan); - if (entry.GroupId == null) - totalSize += size; - else - groups[entry.GroupId] = Math.Max(size, groups.GetValueOrDefault(entry.GroupId)); - } - - return totalSize + groups.Values.Sum(); + if (entry.GroupId == null) + totalSize += size; + else + groups[entry.GroupId] = Math.Max(size, groups.GetValueOrDefault(entry.GroupId)); } - await pair.CleanReturnAsync(); + return totalSize + groups.Values.Sum(); } } } diff --git a/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs b/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs index a831165e68..5e4ba355cf 100644 --- a/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs @@ -180,14 +180,13 @@ namespace Content.Server.Chemistry.EntitySystems var user = message.Session.AttachedEntity; var maybeContainer = _itemSlotsSystem.GetItemOrNull(chemMaster, SharedChemMaster.OutputSlotName); if (maybeContainer is not { Valid: true } container - || !TryComp(container, out StorageComponent? storage) - || storage.Container is null) + || !TryComp(container, out StorageComponent? storage)) { return; // output can't fit pills } // Ensure the number is valid. - if (message.Number == 0 || message.Number > storage.StorageCapacityMax - storage.StorageUsed) + if (message.Number == 0 || !_storageSystem.HasSpace((container, storage))) return; // Ensure the amount is valid. @@ -348,17 +347,14 @@ namespace Content.Server.Chemistry.EntitySystems if (!TryComp(container, out StorageComponent? storage)) return null; - var pills = storage.Container?.ContainedEntities.Select((Func) (pill => + var pills = storage.Container.ContainedEntities.Select((Func) (pill => { _solutionContainerSystem.TryGetSolution(pill, SharedChemMaster.PillSolutionName, out var solution); var quantity = solution?.Volume ?? FixedPoint2.Zero; return (Name(pill), quantity); })).ToList(); - if (pills == null) - return null; - - return new ContainerInfo(name, storage.StorageUsed, storage.StorageCapacityMax) + return new ContainerInfo(name, _storageSystem.GetCumulativeItemSizes(container.Value, storage), storage.MaxTotalWeight) { Entities = pills }; diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs index ff4ec41dd9..758d42356e 100644 --- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs @@ -1,3 +1,4 @@ +using System.Linq; using Content.Server.Body.Components; using Content.Server.Body.Systems; using Content.Server.Inventory; @@ -122,7 +123,7 @@ public sealed class FoodSystem : EntitySystem return (false, false); // Check for used storage on the food item - if (TryComp(food, out var storageState) && storageState.StorageUsed != 0) + if (TryComp(food, out var storageState) && storageState.Container.ContainedEntities.Any()) { _popup.PopupEntity(Loc.GetString("food-has-used-storage", ("food", food)), user, user); return (false, true); diff --git a/Content.Server/Storage/Components/SecretStashComponent.cs b/Content.Server/Storage/Components/SecretStashComponent.cs index 60d0c829e9..6c7095617c 100644 --- a/Content.Server/Storage/Components/SecretStashComponent.cs +++ b/Content.Server/Storage/Components/SecretStashComponent.cs @@ -19,7 +19,7 @@ namespace Content.Server.Storage.Components /// Max item size that can be fitted into secret stash. /// [DataField("maxItemSize")] - public int MaxItemSize = (int) ReferenceSizes.Pocket; + public ItemSize MaxItemSize = ItemSize.Small; /// /// IC secret stash name. For example "the toilet cistern". diff --git a/Content.Server/Storage/EntitySystems/StorageFillVisualizerSystem.cs b/Content.Server/Storage/EntitySystems/StorageFillVisualizerSystem.cs index ed48de2e45..01ed9a13dc 100644 --- a/Content.Server/Storage/EntitySystems/StorageFillVisualizerSystem.cs +++ b/Content.Server/Storage/EntitySystems/StorageFillVisualizerSystem.cs @@ -1,7 +1,6 @@ using Content.Shared.Rounding; using Content.Shared.Storage; using Content.Shared.Storage.Components; -using Robust.Server.GameObjects; using Robust.Shared.Containers; namespace Content.Server.Storage.EntitySystems; @@ -13,12 +12,12 @@ public sealed class StorageFillVisualizerSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnInserted); SubscribeLocalEvent(OnRemoved); } - private void OnInit(EntityUid uid, StorageFillVisualizerComponent component, ComponentInit args) + private void OnStartup(EntityUid uid, StorageFillVisualizerComponent component, ComponentStartup args) { UpdateAppearance(uid, component: component); } @@ -42,7 +41,13 @@ public sealed class StorageFillVisualizerSystem : EntitySystem if (component.MaxFillLevels < 1) return; - var level = ContentHelpers.RoundToEqualLevels(storage.StorageUsed, storage.StorageCapacityMax, component.MaxFillLevels); + if (!_appearance.TryGetData(uid, StorageVisuals.StorageUsed, out var used, appearance)) + return; + + if (!_appearance.TryGetData(uid, StorageVisuals.Capacity, out var capacity, appearance)) + return; + + var level = ContentHelpers.RoundToEqualLevels(used, capacity, component.MaxFillLevels); _appearance.SetData(uid, StorageFillVisuals.FillLevel, level, appearance); } } diff --git a/Content.Server/Storage/EntitySystems/StorageSystem.Fill.cs b/Content.Server/Storage/EntitySystems/StorageSystem.Fill.cs index 902ab471f1..500a3fb100 100644 --- a/Content.Server/Storage/EntitySystems/StorageSystem.Fill.cs +++ b/Content.Server/Storage/EntitySystems/StorageSystem.Fill.cs @@ -38,10 +38,11 @@ public sealed partial class StorageSystem if (entityStorageComp != null && EntityStorage.Insert(ent, uid, entityStorageComp)) continue; - if (storageComp != null && Insert(uid, ent, out _, storageComp: storageComp, playSound: false)) + var reason = string.Empty; + if (storageComp != null && Insert(uid, ent, out _, out reason, storageComp: storageComp, playSound: false)) continue; - Log.Error($"Tried to StorageFill {item} inside {ToPrettyString(uid)} but can't."); + Log.Error($"Tried to StorageFill {item} inside {ToPrettyString(uid)} but can't. Reason: {Loc.GetString(reason ?? "no reason.")}"); EntityManager.DeleteEntity(ent); } } diff --git a/Content.Server/UserInterface/StatValuesCommand.cs b/Content.Server/UserInterface/StatValuesCommand.cs index fe2ee380fe..3021233a1c 100644 --- a/Content.Server/UserInterface/StatValuesCommand.cs +++ b/Content.Server/UserInterface/StatValuesCommand.cs @@ -3,7 +3,9 @@ using System.Linq; using Content.Server.Administration; using Content.Server.Cargo.Systems; using Content.Server.EUI; +using Content.Server.Item; using Content.Shared.Administration; +using Content.Shared.Item; using Content.Shared.Materials; using Content.Shared.Research.Prototypes; using Content.Shared.UserInterface; @@ -23,7 +25,7 @@ public sealed class StatValuesCommand : IConsoleCommand public string Command => "showvalues"; public string Description => Loc.GetString("stat-values-desc"); - public string Help => $"{Command} "; + public string Help => $"{Command} "; public void Execute(IConsoleShell shell, string argStr, string[] args) { if (shell.Player is not { } pSession) @@ -51,6 +53,9 @@ public sealed class StatValuesCommand : IConsoleCommand case "melee": message = GetMelee(); break; + case "itemsize": + message = GetItem(); + break; default: shell.WriteError(Loc.GetString("stat-values-invalid", ("arg", args[0]))); return; @@ -119,6 +124,49 @@ public sealed class StatValuesCommand : IConsoleCommand return state; } + private StatValuesEuiMessage GetItem() + { + var values = new List(); + var metaQuery = _entManager.GetEntityQuery(); + var itemQuery = _entManager.GetEntityQuery(); + var items = new HashSet(1024); + var ents = _entManager.GetEntities().ToArray(); + + foreach (var entity in ents) + { + if (!metaQuery.TryGetComponent(entity, out var meta)) + continue; + + var id = meta.EntityPrototype?.ID; + + // We'll add it even if we don't have it so we don't have to raise the event again because this is probably faster. + if (id == null || !items.Add(id)) + continue; + + if (!itemQuery.TryGetComponent(entity, out var itemComp)) + continue; + + values.Add(new[] + { + id, + $"{SharedItemSystem.GetItemSizeLocale(itemComp.Size)}", + }); + } + + var state = new StatValuesEuiMessage + { + Title = Loc.GetString("stat-item-values"), + Headers = new List + { + Loc.GetString("stat-item-id"), + Loc.GetString("stat-item-price"), + }, + Values = values, + }; + + return state; + } + private StatValuesEuiMessage GetMelee() { var values = new List(); diff --git a/Content.Server/Weapons/Melee/EnergySword/EnergySwordSystem.cs b/Content.Server/Weapons/Melee/EnergySword/EnergySwordSystem.cs index fcd42f5a28..80316d64f9 100644 --- a/Content.Server/Weapons/Melee/EnergySword/EnergySwordSystem.cs +++ b/Content.Server/Weapons/Melee/EnergySword/EnergySwordSystem.cs @@ -98,7 +98,7 @@ public sealed class EnergySwordSystem : EntitySystem { if (TryComp(uid, out ItemComponent? item)) { - _item.SetSize(uid, 5, item); + _item.SetSize(uid, ItemSize.Small, item); } if (TryComp(uid, out var malus)) @@ -125,7 +125,7 @@ public sealed class EnergySwordSystem : EntitySystem { if (TryComp(uid, out ItemComponent? item)) { - _item.SetSize(uid, 9999, item); + _item.SetSize(uid, ItemSize.Huge, item); } if (comp.IsSharp) diff --git a/Content.Shared/Inventory/InventorySystem.Equip.cs b/Content.Shared/Inventory/InventorySystem.Equip.cs index 90c9f0e1e0..23c0fbd0a2 100644 --- a/Content.Shared/Inventory/InventorySystem.Equip.cs +++ b/Content.Shared/Inventory/InventorySystem.Equip.cs @@ -264,7 +264,7 @@ public abstract partial class InventorySystem if (slotDefinition.DependsOn != null && !TryGetSlotEntity(target, slotDefinition.DependsOn, out _, inventory)) return false; - var fittingInPocket = slotDefinition.SlotFlags.HasFlag(SlotFlags.POCKET) && item is { Size: <= (int) ReferenceSizes.Pocket }; + var fittingInPocket = slotDefinition.SlotFlags.HasFlag(SlotFlags.POCKET) && item is { Size: <= ItemSize.Small }; if (clothing == null && !fittingInPocket || clothing != null && !clothing.Slots.HasFlag(slotDefinition.SlotFlags) && !fittingInPocket) { diff --git a/Content.Shared/Item/ItemComponent.cs b/Content.Shared/Item/ItemComponent.cs index 7516f4faca..a14561d766 100644 --- a/Content.Shared/Item/ItemComponent.cs +++ b/Content.Shared/Item/ItemComponent.cs @@ -13,18 +13,17 @@ namespace Content.Shared.Item; [Access(typeof(SharedItemSystem))] public sealed partial class ItemComponent : Component { - [ViewVariables(VVAccess.ReadWrite)] - [DataField("size")] - [Access(typeof(SharedItemSystem), Other = AccessPermissions.ReadExecute)] - public int Size = 5; + [DataField, ViewVariables(VVAccess.ReadWrite)] + [Access(typeof(SharedItemSystem))] + public ItemSize Size = ItemSize.Small; [Access(typeof(SharedItemSystem))] - [DataField("inhandVisuals")] + [DataField] public Dictionary> InhandVisuals = new(); [Access(typeof(SharedItemSystem))] [ViewVariables(VVAccess.ReadWrite)] - [DataField("heldPrefix")] + [DataField] public string? HeldPrefix; /// @@ -39,10 +38,10 @@ public sealed partial class ItemComponent : Component [Serializable, NetSerializable] public sealed class ItemComponentState : ComponentState { - public int Size { get; } + public ItemSize Size { get; } public string? HeldPrefix { get; } - public ItemComponentState(int size, string? heldPrefix) + public ItemComponentState(ItemSize size, string? heldPrefix) { Size = size; HeldPrefix = heldPrefix; @@ -67,15 +66,38 @@ public sealed class VisualsChangedEvent : EntityEventArgs } /// -/// Reference sizes for common containers and items. +/// Abstracted sizes for items. +/// Used to determine what can fit into inventories. /// -public enum ReferenceSizes +public enum ItemSize { - Wallet = 4, - Pocket = 12, - Box = 24, - Belt = 30, - Toolbox = 60, - Backpack = 100, - NoStoring = 9999 + /// + /// Items that can be held completely in one's hand. + /// + Tiny = 1, + + /// + /// Items that can fit inside of a standard pocket. + /// + Small = 2, + + /// + /// Items that can fit inside of a standard bag. + /// + Normal = 4, + + /// + /// Items that are too large to fit inside of standard bags, but can worn in exterior slots or placed in custom containers. + /// + Large = 16, + + /// + /// Items that are too large to place inside of any kind of container. + /// + Huge = 24, + + /// + /// Picture furry gf + /// + Ginormous = 48 } diff --git a/Content.Shared/Item/ItemToggleComponent.cs b/Content.Shared/Item/ItemToggleComponent.cs index fda4d0904a..250306f8c7 100644 --- a/Content.Shared/Item/ItemToggleComponent.cs +++ b/Content.Shared/Item/ItemToggleComponent.cs @@ -1,3 +1,4 @@ +using Content.Shared.Item; using Robust.Shared.Audio; using Robust.Shared.GameStates; @@ -20,11 +21,11 @@ public sealed partial class ItemToggleComponent : Component [ViewVariables(VVAccess.ReadWrite)] [DataField("offSize")] - public int OffSize = 1; + public ItemSize OffSize = ItemSize.Small; [ViewVariables(VVAccess.ReadWrite)] [DataField("onSize")] - public int OnSize = 9999; + public ItemSize OnSize = ItemSize.Huge; } [ByRefEvent] diff --git a/Content.Shared/Item/SharedItemSystem.cs b/Content.Shared/Item/SharedItemSystem.cs index 5f890af99f..4317a2307f 100644 --- a/Content.Shared/Item/SharedItemSystem.cs +++ b/Content.Shared/Item/SharedItemSystem.cs @@ -1,21 +1,18 @@ -using Content.Shared.CombatMode; using Content.Shared.Hands.EntitySystems; using Content.Shared.Interaction; using Content.Shared.Stacks; using Content.Shared.Verbs; using Content.Shared.Examine; +using JetBrains.Annotations; using Robust.Shared.Containers; using Robust.Shared.GameStates; -using Robust.Shared.Prototypes; using Robust.Shared.Utility; namespace Content.Shared.Item; public abstract class SharedItemSystem : EntitySystem { - [Dependency] private readonly IPrototypeManager _prototype = default!; [Dependency] private readonly SharedHandsSystem _handsSystem = default!; - [Dependency] private readonly SharedCombatModeSystem _combatMode = default!; [Dependency] protected readonly SharedContainerSystem Container = default!; public override void Initialize() @@ -33,13 +30,13 @@ public abstract class SharedItemSystem : EntitySystem #region Public API - public void SetSize(EntityUid uid, int size, ItemComponent? component = null) + public void SetSize(EntityUid uid, ItemSize size, ItemComponent? component = null) { if (!Resolve(uid, ref component, false)) return; component.Size = size; - Dirty(component); + Dirty(uid, component); } public void SetHeldPrefix(EntityUid uid, string? heldPrefix, ItemComponent? component = null) @@ -51,7 +48,7 @@ public abstract class SharedItemSystem : EntitySystem return; component.HeldPrefix = heldPrefix; - Dirty(component); + Dirty(uid, component); VisualsChanged(uid); } @@ -67,7 +64,7 @@ public abstract class SharedItemSystem : EntitySystem item.InhandVisuals = otherItem.InhandVisuals; item.HeldPrefix = otherItem.HeldPrefix; - Dirty(item); + Dirty(uid, item); VisualsChanged(uid); } @@ -83,14 +80,7 @@ public abstract class SharedItemSystem : EntitySystem protected virtual void OnStackCountChanged(EntityUid uid, ItemComponent component, StackCountChangedEvent args) { - if (!TryComp(uid, out var stack)) - return; - if (!_prototype.TryIndex(stack.StackTypeId, out var stackProto) || - stackProto.ItemSize is not { } size) - return; - - SetSize(uid, args.NewCount * size, component); } private void OnHandleState(EntityUid uid, ItemComponent component, ref ComponentHandleState args) @@ -135,7 +125,7 @@ public abstract class SharedItemSystem : EntitySystem private void OnExamine(EntityUid uid, ItemComponent component, ExaminedEvent args) { args.PushMarkup(Loc.GetString("item-component-on-examine-size", - ("size", component.Size))); + ("size", GetItemSizeLocale(component.Size)))); } /// @@ -148,4 +138,16 @@ public abstract class SharedItemSystem : EntitySystem public virtual void VisualsChanged(EntityUid owner) { } + + [PublicAPI] + public static string GetItemSizeLocale(ItemSize size) + { + return Robust.Shared.Localization.Loc.GetString($"item-component-size-{size.ToString()}"); + } + + [PublicAPI] + public static int GetItemSizeWeight(ItemSize size) + { + return (int) size; + } } diff --git a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs index 16657bdae4..c7505ab3c0 100644 --- a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs +++ b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs @@ -1,10 +1,7 @@ using Content.Server.Storage.Components; -using Content.Shared.Hands; using Content.Shared.Inventory; -using Content.Shared.Stacks; using Robust.Shared.Map; using Robust.Shared.Physics.Components; -using Robust.Shared.Player; using Robust.Shared.Timing; namespace Content.Shared.Storage.EntitySystems; @@ -56,7 +53,7 @@ public sealed class MagnetPickupSystem : EntitySystem comp.NextScan += ScanDelay; // No space - if (storage.StorageUsed >= storage.StorageCapacityMax) + if (!_storage.HasSpace((uid, storage))) continue; if (!_inventory.TryGetContainingSlot(uid, out var slotDef)) diff --git a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs index 5faec99fd5..05030edb82 100644 --- a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs +++ b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs @@ -1,10 +1,11 @@ +using System.Diagnostics.CodeAnalysis; using System.Linq; using Content.Shared.ActionBlocker; using Content.Shared.CombatMode; using Content.Shared.Containers.ItemSlots; using Content.Shared.Destructible; using Content.Shared.DoAfter; -using Content.Shared.Hands; +using Content.Shared.FixedPoint; using Content.Shared.Hands.Components; using Content.Shared.Hands.EntitySystems; using Content.Shared.Implants.Components; @@ -46,6 +47,8 @@ public abstract class SharedStorageSystem : EntitySystem private EntityQuery _stackQuery; private EntityQuery _xformQuery; + public const ItemSize DefaultStorageMaxItemSize = ItemSize.Normal; + /// public override void Initialize() { @@ -89,6 +92,7 @@ public abstract class SharedStorageSystem : EntitySystem { // TODO: I had this. // We can get states being applied before the container is ready. + // ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract if (component.Container == default) return; @@ -229,7 +233,7 @@ public abstract class SharedStorageSystem : EntitySystem return; } - if (TryComp(uid, out var transformOwner) && TryComp(target, out var transformEnt)) + if (_xformQuery.TryGetComponent(uid, out var transformOwner) && TryComp(target, out var transformEnt)) { var parent = transformOwner.ParentUid; @@ -239,7 +243,7 @@ public abstract class SharedStorageSystem : EntitySystem _transform ); - if (PlayerInsertEntityInWorld(uid, args.User, target, storageComp)) + if (PlayerInsertEntityInWorld((uid, storageComp), args.User, target)) { RaiseNetworkEvent(new AnimateInsertingEntitiesEvent(GetNetEntity(uid), new List { GetNetEntity(target) }, @@ -285,7 +289,7 @@ public abstract class SharedStorageSystem : EntitySystem var angle = targetXform.LocalRotation; - if (PlayerInsertEntityInWorld(uid, args.Args.User, entity, component)) + if (PlayerInsertEntityInWorld((uid, component), args.Args.User, entity)) { successfullyInserted.Add(entity); successfullyInsertedPositions.Add(position); @@ -322,7 +326,7 @@ public abstract class SharedStorageSystem : EntitySystem /// private void OnInteractWithItem(EntityUid uid, StorageComponent storageComp, StorageInteractWithItemEvent args) { - if (args.Session.AttachedEntity is not EntityUid player) + if (args.Session.AttachedEntity is not { } player) return; var entity = GetEntity(args.InteractedItemUID); @@ -396,27 +400,16 @@ public abstract class SharedStorageSystem : EntitySystem public void RecalculateStorageUsed(EntityUid uid, StorageComponent storageComp) { - storageComp.StorageUsed = 0; - - foreach (var entity in storageComp.Container.ContainedEntities) + if (storageComp.MaxSlots == null) { - if (!_itemQuery.TryGetComponent(entity, out var itemComp)) - continue; - - var size = itemComp.Size; - storageComp.StorageUsed += size; + _appearance.SetData(uid, StorageVisuals.StorageUsed, GetCumulativeItemSizes(uid, storageComp)); + _appearance.SetData(uid, StorageVisuals.Capacity, storageComp.MaxTotalWeight); + } + else + { + _appearance.SetData(uid, StorageVisuals.StorageUsed, storageComp.Container.ContainedEntities.Count); + _appearance.SetData(uid, StorageVisuals.Capacity, storageComp.MaxSlots.Value); } - - _appearance.SetData(uid, StorageVisuals.StorageUsed, storageComp.StorageUsed); - _appearance.SetData(uid, StorageVisuals.Capacity, storageComp.StorageCapacityMax); - } - - public int GetAvailableSpace(EntityUid uid, StorageComponent? component = null) - { - if (!Resolve(uid, ref component)) - return 0; - - return component.StorageCapacityMax - component.StorageUsed; } /// @@ -449,17 +442,20 @@ public abstract class SharedStorageSystem : EntitySystem /// Verifies if an entity can be stored and if it fits /// /// The entity to check + /// /// If returning false, the reason displayed to the player + /// + /// /// true if it can be inserted, false otherwise - public bool CanInsert(EntityUid uid, EntityUid insertEnt, out string? reason, StorageComponent? storageComp = null) + public bool CanInsert(EntityUid uid, EntityUid insertEnt, out string? reason, StorageComponent? storageComp = null, ItemComponent? item = null) { - if (!Resolve(uid, ref storageComp)) + if (!Resolve(uid, ref storageComp) || !Resolve(insertEnt, ref item)) { reason = null; return false; } - if (TryComp(insertEnt, out TransformComponent? transformComp) && transformComp.Anchored) + if (Transform(insertEnt).Anchored) { reason = "comp-storage-anchored-failure"; return false; @@ -477,15 +473,28 @@ public abstract class SharedStorageSystem : EntitySystem return false; } - if (TryComp(insertEnt, out StorageComponent? storage) && - storage.StorageCapacityMax >= storageComp.StorageCapacityMax) + if (item.Size > GetMaxItemSize((uid, storageComp))) { - reason = "comp-storage-insufficient-capacity"; + reason = "comp-storage-too-big"; return false; } - if (TryComp(insertEnt, out ItemComponent? itemComp) && - itemComp.Size > storageComp.StorageCapacityMax - storageComp.StorageUsed) + if (TryComp(insertEnt, out var insertStorage) + && GetMaxItemSize((insertEnt, insertStorage)) >= GetMaxItemSize((uid, storageComp))) + { + reason = "comp-storage-too-big"; + return false; + } + + if (storageComp.MaxSlots != null) + { + if (storageComp.Container.ContainedEntities.Count >= storageComp.MaxSlots) + { + reason = "comp-storage-insufficient-capacity"; + return false; + } + } + else if (SharedItemSystem.GetItemSizeWeight(item.Size) + GetCumulativeItemSizes(uid, storageComp) > storageComp.MaxTotalWeight) { reason = "comp-storage-insufficient-capacity"; return false; @@ -499,11 +508,34 @@ public abstract class SharedStorageSystem : EntitySystem /// Inserts into the storage container /// /// true if the entity was inserted, false otherwise - public bool Insert(EntityUid uid, EntityUid insertEnt, out EntityUid? stackedEntity, EntityUid? user = null, StorageComponent? storageComp = null, bool playSound = true) + public bool Insert( + EntityUid uid, + EntityUid insertEnt, + out EntityUid? stackedEntity, + EntityUid? user = null, + StorageComponent? storageComp = null, + bool playSound = true) + { + return Insert(uid, insertEnt, out stackedEntity, out _, user: user, storageComp: storageComp, playSound: playSound); + } + + /// + /// Inserts into the storage container + /// + /// true if the entity was inserted, false otherwise + public bool Insert( + EntityUid uid, + EntityUid insertEnt, + out EntityUid? stackedEntity, + out string? reason, + EntityUid? user = null, + StorageComponent? storageComp = null, + bool playSound = true) { stackedEntity = null; + reason = null; - if (!Resolve(uid, ref storageComp) || !CanInsert(uid, insertEnt, out _, storageComp)) + if (!Resolve(uid, ref storageComp) || !CanInsert(uid, insertEnt, out reason, storageComp)) return false; /* @@ -542,8 +574,7 @@ public abstract class SharedStorageSystem : EntitySystem if (insertStack.Count > 0) { // Try to insert it as a new stack. - if (TryComp(insertEnt, out ItemComponent? itemComp) && - itemComp.Size > storageComp.StorageCapacityMax - storageComp.StorageUsed || + if (!CanInsert(uid, insertEnt, out _, storageComp) || !storageComp.Container.Insert(insertEnt)) { // If we also didn't do any stack fills above then just end @@ -568,7 +599,9 @@ public abstract class SharedStorageSystem : EntitySystem /// /// Inserts an entity into storage from the player's active hand /// + /// /// The player to insert an entity from + /// /// true if inserted, false otherwise public bool PlayerInsertHeldEntity(EntityUid uid, EntityUid player, StorageComponent? storageComp = null) { @@ -589,21 +622,23 @@ public abstract class SharedStorageSystem : EntitySystem return false; } - return PlayerInsertEntityInWorld(uid, player, toInsert.Value, storageComp); + return PlayerInsertEntityInWorld((uid, storageComp), player, toInsert.Value); } /// /// Inserts an Entity () in the world into storage, informing if it fails. - /// is *NOT* held, see . + /// is *NOT* held, see . /// + /// /// The player to insert an entity with + /// /// true if inserted, false otherwise - public bool PlayerInsertEntityInWorld(EntityUid uid, EntityUid player, EntityUid toInsert, StorageComponent? storageComp = null) + public bool PlayerInsertEntityInWorld(Entity uid, EntityUid player, EntityUid toInsert) { - if (!Resolve(uid, ref storageComp) || !_sharedInteractionSystem.InRangeUnobstructed(player, uid)) + if (!Resolve(uid, ref uid.Comp) || !_sharedInteractionSystem.InRangeUnobstructed(player, uid)) return false; - if (!Insert(uid, toInsert, out _, user: player, storageComp)) + if (!Insert(uid, toInsert, out _, user: player, uid.Comp)) { _popupSystem.PopupClient(Loc.GetString("comp-storage-cant-insert"), uid, player); return false; @@ -611,6 +646,71 @@ public abstract class SharedStorageSystem : EntitySystem return true; } + /// + /// Returns true if there is enough space to theoretically fit another item. + /// + public bool HasSpace(Entity uid) + { + if (!Resolve(uid, ref uid.Comp)) + return false; + + //todo maybe this shouldn't be authoritative over weight? idk. + if (uid.Comp.MaxSlots != null) + { + return uid.Comp.Container.ContainedEntities.Count < uid.Comp.MaxSlots; + + } + + return GetCumulativeItemSizes(uid, uid.Comp) < uid.Comp.MaxTotalWeight; + } + + /// + /// Returns the sum of all the ItemSizes of the items inside of a storage. + /// + public int GetCumulativeItemSizes(EntityUid uid, StorageComponent? component = null) + { + if (!Resolve(uid, ref component)) + return 0; + + var sum = 0; + foreach (var item in component.Container.ContainedEntities) + { + if (!_itemQuery.TryGetComponent(item, out var itemComp)) + continue; + sum += SharedItemSystem.GetItemSizeWeight(itemComp.Size); + } + + return sum; + } + + public ItemSize GetMaxItemSize(Entity uid) + { + if (!Resolve(uid, ref uid.Comp)) + return DefaultStorageMaxItemSize; + + // If we specify a max item size, use that + if (uid.Comp.MaxItemSize != null) + return uid.Comp.MaxItemSize.Value; + + if (!_itemQuery.TryGetComponent(uid, out var item)) + return DefaultStorageMaxItemSize; + + // if there is no max item size specified, the value used + // is one below the item size of the storage entity, clamped at ItemSize.Tiny + return (ItemSize) Math.Max((int) item.Size - 1, 1); + } + + public FixedPoint2 GetStorageFillPercentage(Entity uid) + { + if (!Resolve(uid, ref uid.Comp)) + return 0; + + var slotPercent = FixedPoint2.New(uid.Comp.Container.ContainedEntities.Count) / uid.Comp.MaxSlots ?? FixedPoint2.Zero; + var weightPercent = FixedPoint2.New(GetCumulativeItemSizes(uid)) / uid.Comp.MaxTotalWeight; + + return FixedPoint2.Max(slotPercent, weightPercent); + } + /// /// Plays a clientside pickup animation for the specified uid. /// diff --git a/Content.Shared/Storage/StorageComponent.cs b/Content.Shared/Storage/StorageComponent.cs index fdcf06bf5d..2c05cb4eed 100644 --- a/Content.Shared/Storage/StorageComponent.cs +++ b/Content.Shared/Storage/StorageComponent.cs @@ -1,3 +1,5 @@ +using Content.Shared.Item; +using Content.Shared.Storage.EntitySystems; using Content.Shared.Whitelist; using Robust.Shared.Audio; using Robust.Shared.Containers; @@ -20,6 +22,26 @@ namespace Content.Shared.Storage [ViewVariables] public Container Container = default!; + /// + /// A limit for the cumulative ItemSize weights that can be inserted in this storage. + /// If MaxSlots is not null, then this is ignored. + /// + [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + public int MaxTotalWeight; + + /// + /// The maximum size item that can be inserted into this storage, + /// + [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + [Access(typeof(SharedStorageSystem))] + public ItemSize? MaxItemSize; + + /// + /// The max number of entities that can be inserted into this storage. + /// + [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + public int? MaxSlots; + // TODO: Make area insert its own component. [DataField("quickInsert")] public bool QuickInsert; // Can insert storables by "attacking" them with the storage entity @@ -45,18 +67,6 @@ namespace Content.Shared.Storage [DataField("blacklist")] public EntityWhitelist? Blacklist; - /// - /// How much storage is currently being used by contained entities. - /// - [ViewVariables, DataField("storageUsed"), AutoNetworkedField] - public int StorageUsed; - - /// - /// Maximum capacity for storage. - /// - [DataField("capacity"), AutoNetworkedField] - public int StorageCapacityMax = 10000; - /// /// Sound played whenever an entity is inserted into storage. /// diff --git a/Resources/Locale/en-US/commands/stat-values-command.ftl b/Resources/Locale/en-US/commands/stat-values-command.ftl index 66fa5d98b9..99c6bd194e 100644 --- a/Resources/Locale/en-US/commands/stat-values-command.ftl +++ b/Resources/Locale/en-US/commands/stat-values-command.ftl @@ -13,3 +13,8 @@ stat-lathe-values = Lathe sell prices stat-lathe-id = ID stat-lathe-cost = Cost stat-lathe-sell = Sell price + +# Item Sizes +stat-item-values = Item sizes +stat-item-id = ID +stat-item-price = Size diff --git a/Resources/Locale/en-US/components/storage-component.ftl b/Resources/Locale/en-US/components/storage-component.ftl index a6d542e4fb..29c858891a 100644 --- a/Resources/Locale/en-US/components/storage-component.ftl +++ b/Resources/Locale/en-US/components/storage-component.ftl @@ -1,9 +1,10 @@ comp-storage-no-item-size = N/A comp-storage-cant-insert = Can't insert. -comp-storage-insufficient-capacity = Insufficient capacity. +comp-storage-too-big = Too big! +comp-storage-insufficient-capacity = No room! comp-storage-invalid-container = This doesn't go in there! comp-storage-anchored-failure = Can't insert an anchored item. comp-storage-cant-drop = You can't let go of { THE($entity) }! comp-storage-window-title = Storage Item -comp-storage-window-volume = Items: { $itemCount }, Stored: { $usedVolume }/{ $maxVolume } -comp-storage-window-volume-unlimited = Items: { $itemCount } +comp-storage-window-weight = { $weight }/{ $maxWeight }, Max Size: {$size} +comp-storage-window-slots = Slots: { $itemCount }/{ $maxCount }, Max Size: {$size} diff --git a/Resources/Locale/en-US/items/components/item-component.ftl b/Resources/Locale/en-US/items/components/item-component.ftl index f9750a55fa..8ebde5251e 100644 --- a/Resources/Locale/en-US/items/components/item-component.ftl +++ b/Resources/Locale/en-US/items/components/item-component.ftl @@ -7,3 +7,10 @@ pick-up-verb-get-data-text = Pick Up pick-up-verb-get-data-text-inventory = Put in hand item-component-on-examine-size = Size: {$size} + +item-component-size-Tiny = tiny +item-component-size-Small = small +item-component-size-Normal = normal +item-component-size-Large = large +item-component-size-Huge = huge +item-component-size-Ginormous = ginormous diff --git a/Resources/Maps/Shuttles/striker.yml b/Resources/Maps/Shuttles/striker.yml index 1b71e29725..2601c78160 100644 --- a/Resources/Maps/Shuttles/striker.yml +++ b/Resources/Maps/Shuttles/striker.yml @@ -874,36 +874,6 @@ entities: pos: -0.5,0.5 parent: 325 type: Transform -- proto: ClothingBeltSyndieHolster - entities: - - uid: 317 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - canCollide: False - type: Physics -- proto: ClothingHandsGlovesCombat - entities: - - uid: 316 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - canCollide: False - type: Physics -- proto: ClothingMaskGasSyndicate - entities: - - uid: 318 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - canCollide: False - type: Physics - proto: ComputerIFFSyndicate entities: - uid: 40 @@ -926,16 +896,6 @@ entities: ents: - 245 type: ContainerContainer -- proto: Crowbar - entities: - - uid: 313 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - canCollide: False - type: Physics - proto: CyberPen entities: - uid: 77 @@ -1672,16 +1632,6 @@ entities: pos: -2.5,-3.5 parent: 325 type: Transform -- proto: Multitool - entities: - - uid: 314 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - canCollide: False - type: Physics - proto: NitrogenTankFilled entities: - uid: 105 @@ -1880,20 +1830,6 @@ entities: type: Transform - canCollide: False type: Physics -- proto: Screwdriver - entities: - - uid: 310 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - selected: - enum.DamageStateVisualLayers.Base: - screwdriver: '#1861D5FF' - type: RandomSprite - - canCollide: False - type: Physics - proto: SheetGlass1 entities: - uid: 244 @@ -2382,21 +2318,6 @@ entities: - pos: 1.5699697,-0.44908836 parent: 325 type: Transform - - containers: - storagebase: !type:Container - showEnts: False - occludes: True - ents: - - 310 - - 311 - - 312 - - 313 - - 314 - - 315 - - 316 - - 317 - - 318 - type: ContainerContainer - canCollide: False type: Physics - proto: ToyFigurineNukie @@ -2656,16 +2577,6 @@ entities: - pos: -2.5,2.5 parent: 325 type: Transform -- proto: Welder - entities: - - uid: 312 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - canCollide: False - type: Physics - proto: WindoorSecure entities: - uid: 166 @@ -2687,30 +2598,6 @@ entities: ents: - 346 type: ContainerContainer -- proto: Wirecutter - entities: - - uid: 315 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - selected: - enum.DamageStateVisualLayers.Base: - cutters: '#D58C18FF' - type: RandomSprite - - canCollide: False - type: Physics -- proto: Wrench - entities: - - uid: 311 - components: - - flags: InContainer - type: MetaData - - parent: 177 - type: Transform - - canCollide: False - type: Physics - proto: YellowOxygenTankFilled entities: - uid: 167 diff --git a/Resources/Maps/core.yml b/Resources/Maps/core.yml index 328400cd0b..d31189c43b 100644 --- a/Resources/Maps/core.yml +++ b/Resources/Maps/core.yml @@ -102471,8 +102471,6 @@ entities: type: Transform - count: 15 type: Stack - - size: 15 - type: Item - proto: SheetPlasma entities: - uid: 12944 @@ -102564,8 +102562,6 @@ entities: type: Transform - count: 20 type: Stack - - size: 20 - type: Item - proto: Shovel entities: - uid: 12955 diff --git a/Resources/Maps/europa.yml b/Resources/Maps/europa.yml index ddba1100f2..98a2c5807d 100644 --- a/Resources/Maps/europa.yml +++ b/Resources/Maps/europa.yml @@ -78331,8 +78331,6 @@ entities: type: Transform - count: 15 type: Stack - - size: 30 - type: Item - proto: StoolBar entities: - uid: 921 diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml index 0f75531965..3921843612 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml @@ -285,8 +285,7 @@ - id: trayScanner - id: RCD - id: RCDAmmo - - id: RCDAmmo - - id: RCDAmmo + amount: 2 - id: CableMVStack - id: CableHVStack - id: CableApcStack diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml index c97082e351..f9abc596b2 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml @@ -4,31 +4,31 @@ name: surgical duffel bag description: "A large duffel bag for holding extra medical supplies - this one seems to be designed for holding surgical tools." components: - - type: StorageFill - contents: - - id: Hemostat - - id: Saw - - id: Drill - - id: Cautery - - id: Retractor - - id: Scalpel + - type: StorageFill + contents: + - id: Hemostat + - id: Saw + - id: Drill + - id: Cautery + - id: Retractor + - id: Scalpel - type: entity id: ClothingBackpackDuffelCBURNFilled parent: ClothingBackpackDuffelCBURN suffix: Filled components: - - type: StorageFill - contents: - - id: BoxSurvivalEngineering - - id: WeaponShotgunDoubleBarreled - - id: BoxShotgunIncendiary - amount: 2 - - id: GrenadeFlashBang - amount: 2 - - id: PillAmbuzolPlus - - id: PillAmbuzol - amount: 4 + - type: StorageFill + contents: + - id: BoxSurvivalEngineering + - id: WeaponShotgunDoubleBarreled + - id: BoxShotgunIncendiary + amount: 2 + - id: GrenadeFlashBang + amount: 2 + - id: PillAmbuzolPlus + - id: PillAmbuzol + amount: 4 - type: entity parent: ClothingBackpackDuffelSyndicateMedicalBundle @@ -36,14 +36,14 @@ name: syndicate surgical duffel bag description: A large duffel bag containing a full suite of surgical tools. components: - - type: StorageFill - contents: - - id: Hemostat - - id: SawAdvanced - - id: Drill - - id: Cautery - - id: Retractor - - id: ScalpelAdvanced + - type: StorageFill + contents: + - id: Hemostat + - id: SawAdvanced + - id: Drill + - id: Cautery + - id: Retractor + - id: ScalpelAdvanced - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -51,12 +51,12 @@ name: Bulldog bundle description: "Lean and mean: Contains the popular Bulldog Shotgun, a 12g beanbag drum and 3 12g buckshot drums." #, and a pair of Thermal Imaging Goggles. components: - - type: StorageFill - contents: - - id: WeaponShotgunBulldog - - id: MagazineShotgun - - id: MagazineShotgun - - id: MagazineShotgunBeanbag + - type: StorageFill + contents: + - id: WeaponShotgunBulldog + - id: MagazineShotgun + - id: MagazineShotgun + - id: MagazineShotgunBeanbag # - id: ThermalImagingGoggles - type: entity @@ -65,11 +65,11 @@ name: C-20r bundle description: "Old faithful: The classic C-20r Submachine Gun, bundled with three magazines." #, and a Suppressor. components: - - type: StorageFill - contents: - - id: WeaponSubMachineGunC20r - - id: MagazinePistolSubMachineGun - amount: 2 + - type: StorageFill + contents: + - id: WeaponSubMachineGunC20r + - id: MagazinePistolSubMachineGun + amount: 2 # - id: SMGSuppressor - type: entity @@ -78,11 +78,11 @@ name: Python bundle description: "Go loud and proud with a fully loaded Magnum Python, bundled with two speed loaders." components: - - type: StorageFill - contents: - - id: WeaponRevolverPythonAP - - id: SpeedLoaderMagnumAP - amount: 2 + - type: StorageFill + contents: + - id: WeaponRevolverPythonAP + - id: SpeedLoaderMagnumAP + amount: 2 - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -90,10 +90,10 @@ name: L6 Saw bundle description: "More dakka: The iconic L6 lightmachinegun, bundled with 2 box magazines." components: - - type: StorageFill - contents: - - id: WeaponLightMachineGunL6 - - id: MagazineLightRifleBox + - type: StorageFill + contents: + - id: WeaponLightMachineGunL6 + - id: MagazineLightRifleBox - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -101,13 +101,13 @@ name: China-Lake bundle description: "An old China-Lake grenade launcher bundled with 11 rounds of various destruction capability." components: - - type: StorageFill - contents: - - id: WeaponLauncherChinaLake - - id: GrenadeBlast - amount: 4 - - id: GrenadeFrag - amount: 4 + - type: StorageFill + contents: + - id: WeaponLauncherChinaLake + - id: GrenadeBlast + amount: 4 + - id: GrenadeFrag + amount: 4 - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -115,17 +115,17 @@ name: M-90gl bundle description: "A versatile battle rifle with an attached grenade launcher, bundled with 3 magazines and 6 grenades of various capabilities." components: - - type: StorageFill - contents: - - id: WeaponRifleM90GrenadeLauncher - - id: MagazineRifle - amount: 2 - - id: GrenadeBlast - amount: 2 - - id: GrenadeFlash - amount: 2 - - id: GrenadeFrag - amount: 2 + - type: StorageFill + contents: + - id: WeaponRifleM90GrenadeLauncher + - id: MagazineRifle + amount: 2 + - id: GrenadeBlast + amount: 2 + - id: GrenadeFlash + amount: 2 + - id: GrenadeFrag + amount: 2 - type: entity parent: ClothingBackpackDuffelSyndicateAmmo @@ -133,14 +133,14 @@ name: ammo bundle description: "Reloading! Contains 4 magazines for the C-20r, 4 drums for the Bulldog, and 2 ammo boxes for the L6 SAW." components: - - type: StorageFill - contents: - - id: MagazinePistolSubMachineGun - amount: 4 - - id: MagazineShotgun - amount: 4 - - id: MagazineLightRifleBox - amount: 2 + - type: StorageFill + contents: + - id: MagazinePistolSubMachineGun + amount: 4 + - id: MagazineShotgun + amount: 4 + - id: MagazineLightRifleBox + amount: 2 - type: entity parent: ClothingBackpackDuffel @@ -149,36 +149,36 @@ description: "Contains a full CentCom Official uniform set, headset and clipboard included. Encryption keys and ID access are not included." suffix: DO NOT MAP components: - - type: Tag - tags: [] # ignore "WhitelistChameleon" tag - - type: StorageFill - contents: - - id: ClothingHeadHatCentcom - - id: ClothingEyesGlassesSunglasses - - id: ClothingUniformJumpsuitCentcomOfficial - - id: ClothingShoesBootsJack - - id: ClothingHandsGlovesColorBlack - - id: ClothingHeadsetAltCentComFake - - id: ClothingOuterArmorBasic - - id: Paper - - id: Pen - - id: CentcomPDAFake + - type: Tag + tags: [] # ignore "WhitelistChameleon" tag + - type: StorageFill + contents: + - id: ClothingHeadHatCentcom + - id: ClothingEyesGlassesSunglasses + - id: ClothingUniformJumpsuitCentcomOfficial + - id: ClothingShoesBootsJack + - id: ClothingHandsGlovesColorBlack + - id: ClothingHeadsetAltCentComFake + - id: ClothingOuterArmorBasic + - id: Paper + - id: Pen + - id: CentcomPDAFake - type: entity parent: ClothingBackpackDuffelClown id: ClothingBackpackDuffelSyndicateCostumeClown suffix: syndicate components: - - type: Tag - tags: [] # ignore "WhitelistChameleon" tag - - type: StorageFill - contents: - - id: ClothingUniformJumpsuitClown - - id: ClothingShoesClown - - id: ClothingMaskClown - - id: BikeHorn - - id: ClownPDA - - id: ClothingHeadsetService + - type: Tag + tags: [] # ignore "WhitelistChameleon" tag + - type: StorageFill + contents: + - id: ClothingUniformJumpsuitClown + - id: ClothingShoesClown + - id: ClothingMaskClown + - id: BikeHorn + - id: ClownPDA + - id: ClothingHeadsetService - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -186,11 +186,11 @@ name: carp suit duffel bag description: Contains a carp suit and some friends to play with. components: - - type: StorageFill - contents: - - id: ClothingOuterSuitCarp - - id: PlushieCarp - amount: 6 + - type: StorageFill + contents: + - id: ClothingOuterSuitCarp + - id: PlushieCarp + amount: 6 - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -198,22 +198,24 @@ name: syndicate pyjama duffel bag description: Contains 3 pairs of syndicate pyjamas and 3 plushies for the ultimate sleepover. components: - - type: StorageFill - contents: - - id: ClothingUniformJumpsuitPyjamaSyndicateRed - - id: ClothingUniformJumpsuitPyjamaSyndicateBlack - - id: ClothingUniformJumpsuitPyjamaSyndicatePink - - id: ClothingHeadPyjamaSyndicateRed - - id: ClothingHeadPyjamaSyndicateBlack - - id: ClothingHeadPyjamaSyndicatePink - - id: ClothingShoesSlippers - amount: 3 - - id: BedsheetSyndie - amount: 3 - - id: PlushieCarp - - id: PlushieNuke - - id: PlushieLizard - - id: PlushieSharkBlue + - type: Storage + maxTotalWeight: 44 + - type: StorageFill + contents: + - id: ClothingUniformJumpsuitPyjamaSyndicateRed + - id: ClothingUniformJumpsuitPyjamaSyndicateBlack + - id: ClothingUniformJumpsuitPyjamaSyndicatePink + - id: ClothingHeadPyjamaSyndicateRed + - id: ClothingHeadPyjamaSyndicateBlack + - id: ClothingHeadPyjamaSyndicatePink + - id: ClothingShoesSlippers + amount: 3 + - id: BedsheetSyndie + amount: 3 + - id: PlushieCarp + - id: PlushieNuke + - id: PlushieLizard + - id: PlushieSharkBlue - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -249,12 +251,12 @@ name: syndicate EVA bundle description: "Contains the Syndicate approved EVA suit." components: - - type: StorageFill - contents: - - id: ClothingHeadHelmetSyndicate - - id: ClothingOuterHardsuitSyndicate - - id: ClothingMaskGasSyndicate - - id: DoubleEmergencyOxygenTankFilled + - type: StorageFill + contents: + - id: ClothingHeadHelmetSyndicate + - id: ClothingOuterHardsuitSyndicate + - id: ClothingMaskGasSyndicate + - id: DoubleEmergencyOxygenTankFilled - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -262,11 +264,16 @@ name: syndicate hardsuit bundle description: "Contains the Syndicate's signature blood red hardsuit." components: - - type: StorageFill - contents: - - id: ClothingOuterHardsuitSyndie - - id: ClothingMaskGasSyndicate - - id: ClothingHandsGlovesCombat + - type: Storage + maxItemSize: Huge + whitelist: #to snub 'dem metagamers + components: + - Clothing + - type: StorageFill + contents: + - id: ClothingOuterHardsuitSyndie + - id: ClothingMaskGasSyndicate + - id: ClothingHandsGlovesCombat - type: entity parent: ClothingBackpackDuffelSyndicateBundle @@ -274,26 +281,26 @@ name: syndicate zombie bundle description: "An all-in-one kit for unleashing the undead upon a station." components: - - type: StorageFill - contents: - - id: SyringeRomerol - - id: WeaponRevolverPython - - id: MagazineBoxMagnumIncendiary - - id: PillAmbuzolPlus - - id: PillAmbuzol - amount: 3 + - type: StorageFill + contents: + - id: SyringeRomerol + - id: WeaponRevolverPython + - id: MagazineBoxMagnumIncendiary + - id: PillAmbuzolPlus + - id: PillAmbuzol + amount: 3 - type: entity parent: ClothingBackpackDuffelSyndicateBundle id: ClothingBackpackDuffelSyndicateOperative name: operative duffelbag components: - - type: StorageFill - contents: - - id: BoxSurvivalSyndicate - - id: WeaponPistolViper - - id: PinpointerNuclear - - id: MicroBombImplanter + - type: StorageFill + contents: + - id: BoxSurvivalSyndicate + - id: WeaponPistolViper + - id: PinpointerNuclear + - id: MicroBombImplanter - type: entity @@ -302,18 +309,17 @@ name: operative medic duffelbag description: A large duffel bag for holding extra medical supplies. components: - - type: StorageFill - contents: - - id: BoxSurvivalSyndicate - - id: SawAdvanced - - id: Cautery - - id: CombatKnife - - id: WeaponPistolViper - - id: PinpointerNuclear - - id: HandheldHealthAnalyzer - - id: CombatMedipen - - id: MicroBombImplanter - - id: SyndiHypo + - type: StorageFill + contents: + - id: BoxSurvivalSyndicate + - id: SawAdvanced + - id: Cautery + - id: CombatKnife + - id: WeaponPistolViper + - id: PinpointerNuclear + - id: HandheldHealthAnalyzer + - id: CombatMedipen + - id: MicroBombImplanter - type: entity parent: ClothingBackpackDuffelSyndicateMedicalBundle @@ -321,12 +327,12 @@ name: medical bundle description: "All you need to get your comrades back in the fight." components: - - type: StorageFill - contents: - - id: MedkitCombatFilled - - id: Defibrillator - - id: CombatMedipen - amount: 3 - - id: ClothingHandsGlovesLatex - - id: SyringeTranexamicAcid - - id: SyringeHyronalin + - type: StorageFill + contents: + - id: MedkitCombatFilled + - id: Defibrillator + - id: CombatMedipen + amount: 3 + - id: ClothingHandsGlovesLatex + - id: SyringeTranexamicAcid + - id: SyringeHyronalin diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml index 20e291494f..7fc62984a0 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml @@ -278,7 +278,7 @@ containers: ballistic-ammo: !type:Container - type: Item - size: 30 + size: Normal - type: Sprite sprite: Objects/Storage/boxes.rsi diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml index d05dfbb4ed..6d30dac57a 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml @@ -37,7 +37,7 @@ - state: box - state: light - type: Storage - capacity: 60 + maxTotalWeight: 24 whitelist: components: - LightBulb @@ -60,7 +60,7 @@ - state: box - state: lighttube - type: Storage - capacity: 60 + maxTotalWeight: 24 whitelist: components: - LightBulb @@ -85,7 +85,7 @@ - state: box - state: lightmixed - type: Storage - capacity: 60 + maxTotalWeight: 24 whitelist: components: - LightBulb @@ -107,11 +107,6 @@ layers: - state: box - state: pda - - type: Storage - capacity: 60 - whitelist: - components: - - Pda - type: entity name: ID card box @@ -127,11 +122,6 @@ layers: - state: box - state: pda - - type: Storage - capacity: 60 - whitelist: - components: - - IdCard - type: entity name: headset box @@ -147,11 +137,6 @@ layers: - state: box - state: headset - - type: Storage - capacity: 60 - whitelist: - components: - - Headset - type: entity name: meson box @@ -191,8 +176,6 @@ id: BoxHugHealing description: A special box for sensitive people. components: - - type: Storage - capacity: 30 - type: Sprite layers: - state: box_hug @@ -234,6 +217,12 @@ id: BoxPerformer description: Happy Hatsune Miku Day! components: + - type: Storage + maxItemSize: Normal + whitelist: + components: + - Clothing + - Food - type: StorageFill contents: - id: ClothingShoesBootsPerformer @@ -267,7 +256,8 @@ - id: TrashBag amount: 6 - type: Storage - capacity: 800 + maxTotalWeight: 24 + maxItemSize: Normal whitelist: tags: - TrashBag @@ -294,7 +284,6 @@ - state: box - state: encryptokey - type: Storage - capacity: 30 whitelist: components: - EncryptionKey @@ -386,13 +375,12 @@ description: Two syndicate encryption keys for the price of one. Miniaturized for ease of use. components: - type: Item - size: 15 + size: Normal - type: StorageFill contents: - id: EncryptionKeySyndie amount: 2 - type: Storage - capacity: 15 - type: entity name: deathrattle implant box @@ -401,7 +389,7 @@ description: Six deathrattle implants and handheld GPS devices for the whole squad. components: - type: Item - size: 60 + size: Normal - type: StorageFill contents: - id: DeathRattleImplanter @@ -409,7 +397,7 @@ - id: HandheldGPSBasic amount: 6 - type: Storage - capacity: 60 + maxTotalWeight: 24 - type: Sprite layers: - state: box @@ -434,20 +422,20 @@ description: This box filled with colorful darts. components: - type: Item - size: 40 + size: Normal - type: StorageFill contents: - id: Dart - amount: 5 + amount: 3 - id: DartBlue - amount: 5 + amount: 3 - id: DartPurple - amount: 5 + amount: 3 - id: DartYellow - amount: 5 + amount: 3 - type: Storage - capacity: 40 + maxTotalWeight: 24 - type: Sprite layers: - state: box - - state: darts \ No newline at end of file + - state: darts diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml b/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml index 41ee064ce0..02f4905693 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/medical.yml @@ -93,10 +93,12 @@ parent: BoxCardboard id: BoxMouthSwab components: + - type: Storage + maxTotalWeight: 20 - type: StorageFill contents: - id: DiseaseSwab - amount: 30 + amount: 10 - type: Sprite layers: - state: box diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/security.yml b/Resources/Prototypes/Catalog/Fills/Boxes/security.yml index 027aaf19f6..527194d104 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/security.yml @@ -49,6 +49,11 @@ id: BoxZiptie description: A box full of zipties. components: + - type: Storage + maxTotalWeight: 20 + whitelist: + components: + - Handcuff - type: StorageFill contents: - id: Zipties @@ -64,6 +69,8 @@ id: BoxForensicPad description: A box of forensic pads. components: + - type: Storage + maxTotalWeight: 20 - type: StorageFill contents: - id: ForensicPad diff --git a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml index 48877fd889..1526cf0f63 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml @@ -302,8 +302,8 @@ - id: TargetDarts amount: 1 - id: BoxDarts - amount: 1 + amount: 2 - id: BoxDarts amount: 1 prob: 0.05 - + diff --git a/Resources/Prototypes/Catalog/Fills/Items/belt.yml b/Resources/Prototypes/Catalog/Fills/Items/belt.yml index f784768925..683162f9d4 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/belt.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/belt.yml @@ -91,14 +91,11 @@ - type: StorageFill contents: - id: Brutepack - amount: 1 - id: Ointment - amount: 1 - id: Bloodpack - amount: 1 - id: Gauze - id: EmergencyMedipen #You never know what people are going to latejoin into - amount: 6 + amount: 3 - type: entity id: ClothingBeltPlantFilled @@ -126,6 +123,10 @@ name: grenadier chest rig suffix: Filled components: + - type: Item + size: Large + - type: Storage + maxSlots: 8 - type: StorageFill contents: - id: ExGrenade diff --git a/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml b/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml index c487909a4b..714148a64d 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml @@ -15,6 +15,10 @@ parent: BriefcaseSyndie suffix: SniperBundle components: + - type: Item + size: Huge + - type: Storage + maxItemSize: Large - type: StorageFill contents: - id: WeaponSniperHristov diff --git a/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml b/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml index 8cc7d6b6d4..832d357d83 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml @@ -12,8 +12,7 @@ - id: Ointment amount: 2 - id: Gauze - - id: PillTricordrazine - amount: 5 + - id: PillCanisterTricordrazine # see https://github.com/tgstation/blob/master/code/game/objects/items/storage/firstaid.dm for example contents - type: entity @@ -28,10 +27,8 @@ - id: Ointment amount: 2 - id: SyringeSigynate - - id: PillKelotane - amount: 5 - - id: PillDermaline - amount: 5 + - id: PillCanisterKelotane + - id: PillCanisterDermaline - type: entity id: MedkitBruteFilled @@ -45,10 +42,8 @@ - id: Gauze - id: Bloodpack - id: SyringeTranexamicAcid - - id: PillIron - amount: 5 - - id: PillBicaridine - amount: 5 + - id: PillCanisterIron + - id: PillCanisterBicaridine - type: entity id: MedkitToxinFilled @@ -60,10 +55,8 @@ - id: SyringeIpecac - id: SyringeEthylredoxrazine - id: AntiPoisonMedipen - - id: PillDylovene - amount: 5 - - id: PillCharcoal - amount: 3 + - id: PillCanisterDylovene + - id: PillCanisterCharcoal - type: entity id: MedkitOxygenFilled @@ -76,8 +69,7 @@ - id: EmergencyOxygenTankFilled - id: EmergencyMedipen - id: SyringeInaprovaline - - id: PillDexalin - amount: 7 + - id: PillCanisterDexalin - type: entity id: MedkitRadiationFilled @@ -92,8 +84,7 @@ amount: 1 - id: EmergencyMedipen amount: 1 - - id: PillHyronalin - amount: 5 + - id: PillCanisterHyronalin - type: entity id: MedkitAdvancedFilled @@ -120,11 +111,9 @@ - id: MedicatedSuture - id: RegenerativeMesh - id: SyringeEphedrine - - id: SyringeSaline - id: BruteAutoInjector - id: BurnAutoInjector - id: EmergencyMedipen - - id: Bloodpack - type: entity id: StimkitFilled diff --git a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml index 234481af8d..bc9485d7f0 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml @@ -86,9 +86,16 @@ suffix: Filled parent: ToolboxSyndicate components: + - type: Storage + maxSlots: 8 - type: StorageFill contents: - - id: ClothingBeltUtilityEngineering + - id: Crowbar + - id: Wrench + - id: Screwdriver + - id: Wirecutter + - id: Welder + - id: Multitool - id: ClothingHandsGlovesCombat - id: ClothingMaskGasSyndicate diff --git a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml index 7277ebb10a..1253252390 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml @@ -8,13 +8,14 @@ sprite: Clothing/Back/Backpacks/backpack.rsi state: icon - type: Item - size: 9999 + size: Large - type: Clothing quickEquip: false slots: - back - type: Storage - capacity: 100 + maxItemSize: Large + maxTotalWeight: 28 - type: ContainerContainer containers: storagebase: !type:Container @@ -196,7 +197,7 @@ - type: Sprite sprite: Clothing/Back/Backpacks/ertleader.rsi - type: Storage - capacity: 250 + maxTotalWeight: 44 - type: entity parent: ClothingBackpackERTLeader @@ -259,8 +260,11 @@ shader: unshaded - type: Clothing equippedPrefix: holding + - type: Item + size: Ginormous - type: Storage - capacity: 9999 + maxItemSize: Large + maxTotalWeight: 56 #14 normal-sized items. - type: entity parent: ClothingBackpackClown diff --git a/Resources/Prototypes/Entities/Clothing/Back/duffel.yml b/Resources/Prototypes/Entities/Clothing/Back/duffel.yml index c89158486b..8d2850172a 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/duffel.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/duffel.yml @@ -4,13 +4,14 @@ name: duffel bag description: A large duffel bag for holding extra things. components: - - type: Sprite - sprite: Clothing/Back/Duffels/duffel.rsi - - type: Storage - capacity: 120 - - type: ClothingSpeedModifier - walkModifier: 1 - sprintModifier: 0.9 + - type: Sprite + sprite: Clothing/Back/Duffels/duffel.rsi + - type: Storage + maxItemSize: Large + maxTotalWeight: 40 + - type: ClothingSpeedModifier + walkModifier: 1 + sprintModifier: 0.9 - type: entity parent: ClothingBackpackDuffel @@ -18,8 +19,8 @@ name: engineering duffel bag description: A large duffel bag for holding extra tools and supplies. components: - - type: Sprite - sprite: Clothing/Back/Duffels/engineering.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/engineering.rsi - type: entity parent: ClothingBackpackDuffel @@ -27,8 +28,8 @@ name: atmospherics duffel bag description: A large duffel bag made of fire resistant fibers. Smells like plasma. components: - - type: Sprite - sprite: Clothing/Back/Duffels/atmospherics.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/atmospherics.rsi - type: entity parent: ClothingBackpackDuffel @@ -36,8 +37,8 @@ name: medical duffel bag description: A large duffel bag for holding extra medical supplies. components: - - type: Sprite - sprite: Clothing/Back/Duffels/medical.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/medical.rsi - type: entity parent: ClothingBackpackDuffel @@ -45,8 +46,8 @@ name: captain's duffel bag description: A large duffel bag for holding extra captainly goods. components: - - type: Sprite - sprite: Clothing/Back/Duffels/captain.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/captain.rsi - type: entity parent: ClothingBackpackDuffel @@ -54,11 +55,11 @@ name: clown duffel bag description: A large duffel bag for holding extra honk goods. components: - - type: Sprite - sprite: Clothing/Back/Duffels/clown.rsi - - type: Storage - storageOpenSound: - collection: BikeHorn + - type: Sprite + sprite: Clothing/Back/Duffels/clown.rsi + - type: Storage + storageOpenSound: + collection: BikeHorn - type: entity parent: ClothingBackpackDuffel @@ -66,8 +67,8 @@ name: security duffel bag description: A large duffel bag for holding extra security related goods. components: - - type: Sprite - sprite: Clothing/Back/Duffels/security.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/security.rsi - type: entity parent: ClothingBackpackDuffel @@ -75,8 +76,8 @@ name: brigmedic duffel bag description: A large duffel bag for holding extra medical related goods. components: - - type: Sprite - sprite: Clothing/Back/Duffels/brigmedic.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/brigmedic.rsi - type: entity parent: ClothingBackpackDuffel @@ -84,8 +85,8 @@ name: chemistry duffel bag description: A large duffel bag for holding extra beakers and test tubes. components: - - type: Sprite - sprite: Clothing/Back/Duffels/chemistry.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/chemistry.rsi - type: entity parent: ClothingBackpackDuffel @@ -93,8 +94,8 @@ name: virology duffel bag description: A large duffel bag made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey. components: - - type: Sprite - sprite: Clothing/Back/Duffels/virology.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/virology.rsi - type: entity parent: ClothingBackpackDuffel @@ -102,8 +103,8 @@ name: genetics duffel bag description: A large duffel bag for holding extra genetic mutations. components: - - type: Sprite - sprite: Clothing/Back/Duffels/genetics.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/genetics.rsi - type: entity parent: ClothingBackpackDuffel @@ -111,12 +112,12 @@ name: mime duffel bag description: A large duffel bag for holding... mime... stuff. components: - - type: Sprite - sprite: Clothing/Back/Duffels/mime.rsi - storageOpenSound: - collection: null - storageInsertSound: - collection: null + - type: Sprite + sprite: Clothing/Back/Duffels/mime.rsi + storageOpenSound: + collection: null + storageInsertSound: + collection: null - type: entity parent: ClothingBackpackDuffel @@ -124,8 +125,8 @@ name: science duffel bag description: A large duffel bag for holding extra science related goods. components: - - type: Sprite - sprite: Clothing/Back/Duffels/science.rsi + - type: Sprite + sprite: Clothing/Back/Duffels/science.rsi - type: entity parent: ClothingBackpackDuffel @@ -160,31 +161,29 @@ name: syndicate duffel bag description: A large duffel bag for holding various traitor goods. components: - - type: Sprite - sprite: Clothing/Back/Duffels/syndicate.rsi - - type: Storage - capacity: 131 + - type: Sprite + sprite: Clothing/Back/Duffels/syndicate.rsi - type: entity parent: ClothingBackpackDuffelSyndicate id: ClothingBackpackDuffelSyndicateBundle abstract: true components: - - type: Tag - tags: [] # ignore "WhitelistChameleon" tag + - type: Tag + tags: [] # ignore "WhitelistChameleon" tag - type: entity parent: ClothingBackpackDuffelSyndicate id: ClothingBackpackDuffelSyndicateAmmo name: syndicate duffel bag components: - - type: Sprite - sprite: Clothing/Back/Duffels/syndicate.rsi - state: icon-ammo - - type: Item - heldPrefix: ammo - - type: Clothing - equippedPrefix: ammo + - type: Sprite + sprite: Clothing/Back/Duffels/syndicate.rsi + state: icon-ammo + - type: Item + heldPrefix: ammo + - type: Clothing + equippedPrefix: ammo - type: entity parent: ClothingBackpackDuffelSyndicateAmmo @@ -199,13 +198,13 @@ id: ClothingBackpackDuffelSyndicateMedical name: syndicate duffel bag components: - - type: Sprite - sprite: Clothing/Back/Duffels/syndicate.rsi - state: icon-med - - type: Item - heldPrefix: med - - type: Clothing - equippedPrefix: med + - type: Sprite + sprite: Clothing/Back/Duffels/syndicate.rsi + state: icon-med + - type: Item + heldPrefix: med + - type: Clothing + equippedPrefix: med - type: entity parent: ClothingBackpackDuffelSyndicateMedical @@ -221,17 +220,20 @@ name: duffelbag of holding description: A duffelbag that opens into a localized pocket of bluespace. components: - - type: Sprite - sprite: Clothing/Back/Duffels/holding.rsi - state: icon - layers: - - state: icon - - state: icon-unlit - shader: unshaded - - type: Storage - capacity: 9999 - - type: ClothingSpeedModifier - sprintModifier: 1 # makes its stats identical to other variants of bag of holding + - type: Sprite + sprite: Clothing/Back/Duffels/holding.rsi + state: icon + layers: + - state: icon + - state: icon-unlit + shader: unshaded + - type: Item + size: Ginormous + - type: Storage + maxItemSize: Large + maxTotalWeight: 56 #14 normal-sized items. + - type: ClothingSpeedModifier + sprintModifier: 1 # makes its stats identical to other variants of bag of holding - type: entity parent: ClothingBackpackDuffel @@ -239,8 +241,9 @@ name: CBURN duffel bag description: A duffel bag containing a variety of biological containment equipment. components: - - type: Storage - capacity: 150 - - type: ClothingSpeedModifier - walkModifier: 1 - sprintModifier: 1 + - type: Storage + maxItemSize: Large + maxTotalWeight: 40 + - type: ClothingSpeedModifier + walkModifier: 1 + sprintModifier: 1 diff --git a/Resources/Prototypes/Entities/Clothing/Back/satchel.yml b/Resources/Prototypes/Entities/Clothing/Back/satchel.yml index e80b0d6f8b..245c9f9fa8 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/satchel.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/satchel.yml @@ -167,5 +167,8 @@ - state: icon - state: icon-unlit shader: unshaded + - type: Item + size: Ginormous - type: Storage - capacity: 9999 + maxItemSize: Large + maxTotalWeight: 56 #14 normal-sized items. diff --git a/Resources/Prototypes/Entities/Clothing/Back/specific.yml b/Resources/Prototypes/Entities/Clothing/Back/specific.yml index 5964007356..c36ddde03b 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/specific.yml @@ -33,7 +33,7 @@ sprite: Clothing/Back/Backpacks/waterbackpack.rsi state: icon - type: Item - size: 200 + size: Huge - type: Clothing slots: BACK sprite: Clothing/Back/Backpacks/waterbackpack.rsi diff --git a/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml b/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml index b37d3fd974..ec6b48bf89 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml @@ -6,7 +6,7 @@ - type: Sprite state: icon - type: Item - size: 50 + size: Normal - type: Clothing slots: [belt] quickEquip: false @@ -22,7 +22,10 @@ id: ClothingBeltStorageBase components: - type: Storage - capacity: 40 + maxSlots: 7 + maxItemSize: Normal + - type: Item + size: Huge - 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 fa1a5e951f..28f8ed0dca 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -11,7 +11,7 @@ - type: Clothing sprite: Clothing/Belt/utility.rsi - type: Storage - capacity: 45 + maxItemSize: Normal # TODO: Fill this out more. whitelist: tags: @@ -83,7 +83,6 @@ - type: Clothing sprite: Clothing/Belt/ce.rsi - type: Storage - capacity: 105 # TODO: Fill this out more. whitelist: tags: @@ -238,7 +237,6 @@ - type: Clothing sprite: Clothing/Belt/medical.rsi - type: Storage - capacity: 60 whitelist: tags: - Wrench @@ -393,7 +391,7 @@ - type: Clothing sprite: Clothing/Belt/sheath.rsi - type: Storage - capacity: 15 + maxSlots: 1 whitelist: tags: - CaptainSabre @@ -418,9 +416,8 @@ - type: Clothing sprite: Clothing/Belt/bandolier.rsi - type: Item - size: 60 + size: Large - type: Storage - capacity: 60 whitelist: tags: - ShellShotgun @@ -451,7 +448,7 @@ - type: Clothing sprite: Clothing/Belt/holster.rsi - type: Storage - capacity: 20 + maxSlots: 3 - type: entity parent: ClothingBeltStorageBase @@ -464,9 +461,8 @@ - type: Clothing sprite: Clothing/Belt/syndieholster.rsi - type: Item - size: 60 + size: Large - type: Storage - capacity: 60 whitelist: components: - Gun @@ -528,9 +524,7 @@ - type: Clothing sprite: Clothing/Belt/militarywebbingmed.rsi - type: Item - size: 70 - - type: Storage - capacity: 70 + size: Large - type: entity parent: ClothingBeltBase @@ -559,7 +553,7 @@ - type: Clothing sprite: Clothing/Belt/wand.rsi - type: Storage - capacity: 120 + maxSlots: 8 whitelist: tags: - WizardWand diff --git a/Resources/Prototypes/Entities/Clothing/Belt/quiver.yml b/Resources/Prototypes/Entities/Clothing/Belt/quiver.yml index 10332e46aa..e6685eb47a 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/quiver.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/quiver.yml @@ -12,7 +12,8 @@ visible: false - type: Clothing - type: Storage - capacity: 150 + maxSlots: 15 + maxItemSize: Small whitelist: tags: - Arrow diff --git a/Resources/Prototypes/Entities/Clothing/Belt/waist_bags.yml b/Resources/Prototypes/Entities/Clothing/Belt/waist_bags.yml index 6d47010efc..b439bb6d60 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/waist_bags.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/waist_bags.yml @@ -9,8 +9,8 @@ - type: Clothing sprite: Clothing/Belt/waistbag_leather.rsi - type: Storage - capacity: 20 - + maxItemSize: Small + #Colorization on worn items doesn't work. If this ever gets fixed, you can duplicate this entry and change the color on the sprite to add color variants. #- type: entity # parent: ClothingBeltStorageWaistbag @@ -29,4 +29,4 @@ # layers: # - state: "equipped-BELT" # color: "#bf1313" -# - state: "equipped-trinkets" \ No newline at end of file +# - state: "equipped-trinkets" diff --git a/Resources/Prototypes/Entities/Clothing/Ears/headsets.yml b/Resources/Prototypes/Entities/Clothing/Ears/headsets.yml index cae6a0ea17..858ec6f0db 100644 --- a/Resources/Prototypes/Entities/Clothing/Ears/headsets.yml +++ b/Resources/Prototypes/Entities/Clothing/Ears/headsets.yml @@ -17,6 +17,8 @@ keySlots: 4 - type: Sprite state: icon + - type: Item + size: Small - type: Clothing slots: - ears diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/base_clothingeyes.yml b/Resources/Prototypes/Entities/Clothing/Eyes/base_clothingeyes.yml index dc37811fb8..a0c41120b8 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/base_clothingeyes.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/base_clothingeyes.yml @@ -7,3 +7,5 @@ state: icon - type: Clothing slots: [eyes] + - type: Item + size: Small diff --git a/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml b/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml index e7d8bec69f..5cf7fd645b 100644 --- a/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml +++ b/Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml @@ -9,6 +9,8 @@ slots: [gloves] - type: Food requiresSpecialDigestion: true + - type: Item + size: Small - type: SolutionContainerManager solutions: food: diff --git a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml index ce1767b1bb..88b58c9c8c 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml @@ -8,6 +8,8 @@ - HEAD - type: Sprite state: icon + - type: Item + size: Small - type: Food requiresSpecialDigestion: true - type: SolutionContainerManager @@ -69,6 +71,7 @@ equippedPrefix: off - type: Item heldPrefix: off + size: Normal - type: ToggleableLightVisuals - type: PointLight enabled: false @@ -117,7 +120,7 @@ name: base space helmet components: - type: Item - size: 10 + size: Normal - type: PressureProtection highPressureMultiplier: 0.6 lowPressureMultiplier: 1000 @@ -241,4 +244,4 @@ - type: GroupExamine - type: Tag tags: - - HidesHair \ No newline at end of file + - HidesHair diff --git a/Resources/Prototypes/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/Entities/Clothing/Head/hats.yml index d5d13fbdd0..731513d31e 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hats.yml @@ -197,7 +197,7 @@ - type: Clothing sprite: Clothing/Head/Hats/chefhat.rsi - type: Storage - capacity: 5 + maxSlots: 1 - type: UserInterface interfaces: - key: enum.StorageUiKey.Key @@ -751,10 +751,10 @@ offset: "0, 0.12" sprite: Clothing/Head/Hats/magician.rsi - type: Item - size: 10 + size: Small sprite: Clothing/Head/Hats/magician.rsi - type: Storage - capacity: 10 + maxSlots: 1 - type: UserInterface interfaces: - key: enum.StorageUiKey.Key diff --git a/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml b/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml index b79d76aa17..d57065ba79 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml @@ -5,6 +5,8 @@ components: - type: Sprite state: icon + - type: Item + size: Small - type: Clothing slots: [mask] diff --git a/Resources/Prototypes/Entities/Clothing/Neck/base_clothingneck.yml b/Resources/Prototypes/Entities/Clothing/Neck/base_clothingneck.yml index 06ec393c78..1bccb4c92a 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/base_clothingneck.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/base_clothingneck.yml @@ -4,7 +4,7 @@ id: ClothingNeckBase components: - type: Item - size: 10 + size: Small - type: Clothing quickEquip: true slots: diff --git a/Resources/Prototypes/Entities/Clothing/Neck/pins.yml b/Resources/Prototypes/Entities/Clothing/Neck/pins.yml index fe72fd12e9..0d22a653db 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/pins.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/pins.yml @@ -6,7 +6,7 @@ description: be nothing do crime components: - type: Item - size: 1 + size: Tiny - type: entity parent: ClothingNeckPinBase diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml index f92592f65e..63c8ac86ef 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml @@ -15,7 +15,7 @@ id: ClothingOuterBaseLarge components: - type: Item - size: 80 + size: Large - type: Clothing slots: - outerClothing @@ -28,10 +28,8 @@ parent: ClothingOuterBase id: ClothingOuterStorageBase components: - - type: Item - size: 10 - type: Storage - capacity: 10 + maxTotalWeight: 6 - type: ContainerContainer containers: storagebase: !type:Container @@ -72,7 +70,7 @@ walkModifier: 0.4 sprintModifier: 0.6 - type: Item - size: 121 + size: Huge - type: Armor modifiers: coefficients: @@ -107,7 +105,7 @@ walkModifier: 0.8 sprintModifier: 0.8 - type: Item - size: 80 + size: Large - type: entity parent: ClothingOuterBase @@ -130,7 +128,7 @@ id: ClothingOuterBaseMedium components: - type: Item - size: 30 + size: Large - type: Clothing slots: - outerClothing diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index d05d9ce8f8..384aceaf59 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -350,7 +350,7 @@ walkModifier: 0.75 sprintModifier: 0.75 - type: Item - size: 50 + size: Normal - type: Tag tags: - WhitelistChameleon diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml index 16bef8c7b2..f0aa96f613 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml @@ -176,7 +176,7 @@ - type: Sprite sprite: Clothing/OuterClothing/Suits/iansuit.rsi - type: Item - size: 30 + size: Normal - type: Clothing sprite: Clothing/OuterClothing/Suits/iansuit.rsi - type: ToggleableClothing @@ -197,7 +197,7 @@ - type: Sprite sprite: Clothing/OuterClothing/Suits/carpsuit.rsi - type: Item - size: 30 + size: Normal - type: Clothing sprite: Clothing/OuterClothing/Suits/carpsuit.rsi - type: ToggleableClothing diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml index 9bc3d25fc4..d15e114857 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml @@ -11,7 +11,7 @@ - type: TemperatureProtection coefficient: 0.1 - type: Item - size: 10 + size: Small - type: Armor modifiers: coefficients: diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml b/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml index c829dc5d44..c7152b23d9 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml @@ -8,6 +8,8 @@ - FEET - type: Sprite state: icon + - type: Item + size: Normal - type: Food requiresSpecialDigestion: true - type: SolutionContainerManager @@ -39,7 +41,8 @@ id: ClothingShoesStorageBase components: - type: Storage - capacity: 10 + maxSlots: 1 + maxItemSize: Normal - type: ContainerContainer containers: storagebase: !type:Container diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml index 7b864e806e..eae044f8dd 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml @@ -181,7 +181,7 @@ - state: equipped-FEET offset: "0, -0.02" - type: Item - size: 10 + size: Small sprite: Clothing/Shoes/Specific/large_clown.rsi - type: ClothingSpeedModifier walkModifier: 0.85 diff --git a/Resources/Prototypes/Entities/Clothing/base_clothing.yml b/Resources/Prototypes/Entities/Clothing/base_clothing.yml index 60a94fe291..7e9d6e9568 100644 --- a/Resources/Prototypes/Entities/Clothing/base_clothing.yml +++ b/Resources/Prototypes/Entities/Clothing/base_clothing.yml @@ -3,6 +3,8 @@ parent: BaseItem id: Clothing components: + - type: Item + size: Normal - type: Sprite - type: Tag tags: diff --git a/Resources/Prototypes/Entities/Debugging/debug_sweps.yml b/Resources/Prototypes/Entities/Debugging/debug_sweps.yml index 2d374b8e12..e3289569a2 100644 --- a/Resources/Prototypes/Entities/Debugging/debug_sweps.yml +++ b/Resources/Prototypes/Entities/Debugging/debug_sweps.yml @@ -101,7 +101,7 @@ types: Blunt: 20000 - type: Item - size: 1 + size: Tiny sprite: Objects/Weapons/Melee/debug.rsi - type: entity diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index d0b2d507f7..404fe768f7 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -959,7 +959,7 @@ - map: ["enum.DamageStateVisualLayers.Base"] state: mouse-0 - type: Item - size: 5 + size: Tiny - type: Clothing quickEquip: false sprite: Mobs/Animals/mouse.rsi @@ -1425,7 +1425,7 @@ groups: Brute: 5 - type: Item - size: 80 + size: Normal - type: OnUseTimerTrigger delay: 10 beepSound: @@ -2330,7 +2330,7 @@ - map: ["enum.DamageStateVisualLayers.Base"] state: hamster-0 - type: Item - size: 5 + size: Tiny - type: Physics - type: Fixtures fixtures: diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml index aaeeaf0bf6..ee853777f5 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml @@ -172,7 +172,8 @@ graph: SupplyBot node: bot - type: Storage - capacity: 250 + maxItemSize: Large + maxTotalWeight: 40 - type: UserInterface interfaces: - key: enum.StorageUiKey.Key diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml index 118b242136..11228d0ed6 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml @@ -370,9 +370,9 @@ map: ["6pack6"] visible: false - type: Item - size: 6 + size: Normal - type: Storage - capacity: 30 + maxSlots: 6 whitelist: tags: - Cola diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml index a4cb797129..e4ebcc4c00 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml @@ -28,7 +28,7 @@ abstract: true components: - type: Item - size: 1 + size: Tiny - type: FlavorProfile flavors: - bread diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml index 09f5ce27ff..7db9015295 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml @@ -21,7 +21,7 @@ - ReagentId: Vitamin Quantity: 5 - type: Item - size: 25 + size: Normal - type: entity parent: FoodCakeBase @@ -43,7 +43,7 @@ - ReagentId: Vitamin Quantity: 1 - type: Item - size: 5 + size: Tiny # Custom Cake Example @@ -574,7 +574,7 @@ - type: Food transferAmount: 12 - type: Item - size: 40 + size: Normal - type: PointLight color: "#FFFF00" radius: 2 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml index 061852f561..b0be8011aa 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml @@ -16,7 +16,7 @@ - ReagentId: Nutriment Quantity: 3 - type: Item - size: 1 + size: Tiny - type: Tag tags: - DonkPocket diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml index bd007d87cb..9cf32f30b4 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml @@ -21,7 +21,7 @@ Quantity: 3 - type: Item sprite: Objects/Consumable/Food/Baked/donut.rsi - size: 1 + size: Tiny # Tastes like donut. # The sprinkles are now an overlay, so you can put them on any donut! If we really diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml index 54fc4d6553..1296bc4752 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml @@ -16,7 +16,7 @@ - ReagentId: Nutriment Quantity: 5 - type: Item - size: 1 + size: Tiny # Muffins/Buns diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml index 1f6a307f4e..01f93ccced 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml @@ -24,7 +24,7 @@ - type: SliceableFood count: 8 - type: Item - size: 8 + size: Normal - type: Tag tags: - Pizza @@ -53,7 +53,7 @@ - ReagentId: Vitamin Quantity: 0.8 - type: Item - size: 1 + size: Tiny - type: Tag tags: - Pizza diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml index 5130b9d7e2..41aadf05fd 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml @@ -38,13 +38,13 @@ map: ["pink-box6"] visible: false - type: Storage - capacity: 6 + maxSlots: 6 whitelist: tags: - Donut - type: Item sprite: Objects/Consumable/Food/Baked/donut.rsi - size: 6 + size: Small heldPrefix: box - type: StorageFill contents: @@ -118,13 +118,13 @@ map: ["box12"] visible: false - type: Storage - capacity: 12 + maxSlots: 12 whitelist: tags: - Egg - type: Item sprite: Objects/Consumable/Food/egg.rsi - size: 12 + size: Small - type: StorageFill contents: - id: FoodEgg @@ -206,7 +206,8 @@ map: ["enum.StorageVisualLayers.Door"] # TODO make these entitystorage again + placeablesurface after entity storage ECS gets merged. - type: Storage - capacity: 8 + maxSlots: 1 + maxItemSize: Normal whitelist: tags: - Pizza @@ -296,10 +297,10 @@ map: ["box6"] visible: false - type: Storage - capacity: 6 + maxSlots: 6 - type: Item sprite: Objects/Consumable/Food/Baked/nuggets.rsi - size: 6 + size: Small heldPrefix: box - type: StorageFill contents: @@ -330,13 +331,13 @@ sprite: Objects/Consumable/Food/Baked/donkpocket.rsi state: box - type: Storage + maxTotalWeight: 12 whitelist: tags: - DonkPocket - capacity: 6 - type: Item sprite: Objects/Consumable/Food/Baked/donkpocket.rsi - size: 6 + size: Small - type: StorageFill contents: - id: FoodDonkpocket @@ -458,8 +459,6 @@ - type: Item sprite: Objects/Storage/Happyhonk/clown.rsi heldPrefix: box - - type: Storage - capacity: 30 - type: Tag tags: - Trash @@ -583,10 +582,8 @@ suffix: Toy Unsafe, Snacks name: syndicate snack box components: - - type: Item - size: 64 - type: Storage - capacity: 64 # need more room for goodies + maxSlots: 9 - type: StorageFill contents: # toy diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml index 4e63ca5012..89ec5a8c27 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml @@ -37,7 +37,7 @@ - type: Item sprite: Objects/Consumable/Food/snacks.rsi heldPrefix: packet - size: 3 + size: Tiny - type: DamageOnLand damage: types: @@ -63,7 +63,7 @@ - type: Item sprite: Objects/Consumable/Food/snacks.rsi heldPrefix: packet - size: 3 + size: Tiny - type: PhysicalComposition materialComposition: Steel: 100 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml index 4f6d10d98f..3eb2b96684 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml @@ -16,7 +16,7 @@ sprite: Objects/Consumable/Food/egg.rsi - type: Item sprite: Objects/Consumable/Food/egg.rsi - size: 1 + size: Tiny - type: SolutionContainerManager solutions: food: @@ -69,7 +69,7 @@ sprite: Objects/Consumable/Food/egg.rsi state: eggshells - type: Item - size: 1 + size: Tiny - type: SolutionContainerManager solutions: food: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml index 35057aeacd..2b7c9d6e16 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml @@ -24,7 +24,7 @@ - ReagentId: Fat Quantity: 5 - type: Item - size: 5 + size: Tiny - type: Fixtures fixtures: fix1: @@ -209,7 +209,7 @@ graph: BearSteak node: start defaultTarget: filet migrawr - + - type: entity name: raw penguin meat diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 9ce373d63d..f0da095bbd 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -136,7 +136,7 @@ - type: Sprite sprite: Objects/Specific/Hydroponics/nettle.rsi - type: Item - size: 10 + size: Small sprite: Objects/Specific/Hydroponics/nettle.rsi - type: MeleeWeapon damage: @@ -166,7 +166,7 @@ - type: Sprite sprite: Objects/Specific/Hydroponics/death_nettle.rsi - type: Item - size: 10 + size: Small sprite: Objects/Specific/Hydroponics/death_nettle.rsi - type: MeleeWeapon damage: @@ -184,7 +184,7 @@ - type: Produce seedId: deathNettle - type: MeleeChemicalInjector - transferAmount: 6 + transferAmount: 6 solution: food pierceArmor: true # We do a little trolling - type: Extractable @@ -222,7 +222,7 @@ - type: Tag tags: - Fruit - + - type: entity name: mimana parent: FoodProduceBase @@ -314,7 +314,7 @@ state: peel - type: Item sprite: Objects/Specific/Hydroponics/mimana.rsi - heldPrefix: peel + heldPrefix: peel - type: Slippery slipSound: path: /Audio/Effects/slip.ogg @@ -836,7 +836,7 @@ sprite: Objects/Specific/Hydroponics/corn.rsi state: cob - type: Item - size: 1 + size: Tiny - type: Tag tags: - Trash @@ -1237,7 +1237,7 @@ - type: Tag tags: - Galaxythistle - - Fruit # Probably? + - Fruit # Probably? - type: entity name: fly amanita @@ -1365,7 +1365,7 @@ description: Round green object that you can slice and eat. components: - type: Item - size: 10 + size: Small - type: FlavorProfile flavors: - watermelon @@ -1427,7 +1427,7 @@ description: Juicy green and red slice. components: - type: Item - size: 2 + size: Tiny - type: FlavorProfile flavors: - watermelon @@ -1573,7 +1573,7 @@ description: A large, orange... berry. Seriously. components: - type: Item - size: 10 + size: Small - type: FlavorProfile flavors: - pumpkin @@ -1612,4 +1612,4 @@ - id: PumpkinSeeds - type: Tag tags: - - Fruit \ No newline at end of file + - Fruit diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml index 0b32de1ce5..8c8f55f804 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml @@ -17,7 +17,7 @@ - ReagentId: Nutriment Quantity: 8 - type: Item - size: 5 + size: Small # Kebabs diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml index c2274aef6d..82c31a01c5 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml @@ -21,7 +21,7 @@ - type: Item sprite: Objects/Consumable/Food/snacks.rsi heldPrefix: packet - size: 3 + size: Tiny # Snacks # "Snacks" means food in a packet. Down the line this stuff can have multiple @@ -101,7 +101,7 @@ state: chocolatebar - type: Item heldPrefix: chocolatebar - size: 3 + size: Tiny - type: Tag tags: - FoodSnack @@ -346,7 +346,7 @@ - type: Item sprite: Objects/Consumable/Food/snacks.rsi heldPrefix: packet - size: 1 + size: Tiny - type: Food trash: FoodCookieFortune @@ -357,7 +357,7 @@ description: A carefully synthesized brick designed to contain the highest ratio of nutriment to volume. Tastes like shit. components: - type: Item - size: 10 + size: Small - type: Tag tags: - FoodSnack @@ -381,7 +381,7 @@ flavors: - nutribrick - type: Item - size: 10 + size: Small - type: Sprite state: nutribrick-open - type: Food diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cartons.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cartons.yml index 4d0b442c46..eff790cdd1 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cartons.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cartons.yml @@ -10,11 +10,9 @@ - state: closed - state: open map: ["openLayer"] - - type: Storage - capacity: 36 - type: Item sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/green.rsi - size: 36 + size: Normal - type: StorageFill contents: - id: CigPackGreen diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cigarette.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cigarette.yml index 09ac79b141..3543db2ed1 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cigarette.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cigarette.yml @@ -17,7 +17,7 @@ slots: [ mask ] equippedPrefix: unlit - type: Item - size: 1 + size: Tiny - type: Construction graph: smokeableCigarette node: cigarette @@ -41,7 +41,7 @@ slots: [ mask ] equippedPrefix: unlit - type: Item - size: 1 + size: Tiny - type: Construction graph: smokeableCigarette node: cigarette diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/joints.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/joints.yml index 402dcd80f5..e3ae06ec9f 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/joints.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/joints.yml @@ -17,7 +17,7 @@ slots: [ mask ] equippedPrefix: unlit - type: Item - size: 1 + size: Tiny - type: Construction graph: smokeableJoint node: joint @@ -48,7 +48,7 @@ slots: [ mask ] equippedPrefix: unlit - type: Item - size: 1 + size: Tiny - type: Construction graph: smokeableBlunt node: blunt diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml index 1d161b160a..6bc14cfb77 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml @@ -43,9 +43,9 @@ Steel: 50 - type: SpaceGarbage - type: Storage - capacity: 5 + maxSlots: 5 - type: Item - size: 5 + size: Small - type: StorageFill contents: - id: Cigarette @@ -108,9 +108,10 @@ Steel: 50 - type: SpaceGarbage - type: Storage - capacity: 10 + maxSlots: 10 + maxTotalWeight: 20 - type: Item - size: 10 + size: Small - type: StorageFill contents: - id: CigaretteRandom diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/rolling_paper.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/rolling_paper.yml index e1005bf113..324a28caca 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/rolling_paper.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/rolling_paper.yml @@ -9,7 +9,7 @@ tags: - RollingPaper - CigFilter - capacity: 20 + maxSlots: 20 - type: StorageFill contents: - id: PaperRolling @@ -31,7 +31,6 @@ tags: - RollingPaper - CigFilter - capacity: 32 - type: StorageFill contents: - id: PaperRolling @@ -54,7 +53,7 @@ state: cigpaper - type: Item sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi - size: 5 + size: Tiny - type: Tag tags: - RollingPaper @@ -68,8 +67,6 @@ components: - type: Stack count: 1 - - type: Item - size: 1 - type: entity id: CigaretteFilter @@ -86,7 +83,7 @@ state: cigfilter - type: Item sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi - size: 10 + size: Tiny - type: Tag tags: - CigFilter @@ -99,5 +96,3 @@ components: - type: Stack count: 1 - - type: Item - size: 2 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/case.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/case.yml index 6034df179a..eede84cd4b 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/case.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/case.yml @@ -35,10 +35,10 @@ map: ["cigar8"] visible: false - type: Storage - capacity: 8 + maxSlots: 8 - type: Item sprite: Objects/Consumable/Smokeables/Cigars/case.rsi - size: 8 + size: Small - type: StorageFill contents: - id: Cigar diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml index 4ed5912fc5..3495ae26f9 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml @@ -19,7 +19,7 @@ slots: [ mask ] equippedPrefix: unlit - type: Item - size: 1 + size: Tiny - type: entity id: CigarSpent @@ -49,7 +49,7 @@ slots: [ mask ] equippedPrefix: unlit - type: Item - size: 1 + size: Tiny - type: entity id: CigarGoldSpent diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Pipes/pipe.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Pipes/pipe.yml index 21017465bc..7d2b234a58 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Pipes/pipe.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Pipes/pipe.yml @@ -12,7 +12,7 @@ slots: [ mask ] equippedPrefix: unlit - type: Item - size: 3 + size: Tiny sprite: Objects/Consumable/Smokeables/Pipes/pipe.rsi - type: Appearance - type: BurnStateVisuals diff --git a/Resources/Prototypes/Entities/Objects/Decoration/jackolantern.yml b/Resources/Prototypes/Entities/Objects/Decoration/jackolantern.yml index 1205c202e4..4dbcddb983 100644 --- a/Resources/Prototypes/Entities/Objects/Decoration/jackolantern.yml +++ b/Resources/Prototypes/Entities/Objects/Decoration/jackolantern.yml @@ -8,7 +8,7 @@ sprite: Objects/Specific/Hydroponics/pumpkin.rsi state: carved - type: Item - size: 10 + size: Normal - type: Construction graph: PumpkinAddLight node: start @@ -58,4 +58,4 @@ suffix: Large components: - type: Sprite - scale: 1.5, 1.5 \ No newline at end of file + scale: 1.5, 1.5 diff --git a/Resources/Prototypes/Entities/Objects/Decoration/lidsalami.yml b/Resources/Prototypes/Entities/Objects/Decoration/lidsalami.yml index dfff087e22..65141af36f 100644 --- a/Resources/Prototypes/Entities/Objects/Decoration/lidsalami.yml +++ b/Resources/Prototypes/Entities/Objects/Decoration/lidsalami.yml @@ -9,6 +9,6 @@ layers: - state: icon - type: Item - size: 1001 + size: Huge - type: StaticPrice price: 0 diff --git a/Resources/Prototypes/Entities/Objects/Decoration/present.yml b/Resources/Prototypes/Entities/Objects/Decoration/present.yml index 14a1dfbb5e..a7fd1cd1de 100644 --- a/Resources/Prototypes/Entities/Objects/Decoration/present.yml +++ b/Resources/Prototypes/Entities/Objects/Decoration/present.yml @@ -15,9 +15,7 @@ suffix: Empty components: - type: Item - size: 30 - - type: Storage - capacity: 30 + size: Normal - type: entity id: PresentRandomUnsafe diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml index 4bb13bdd93..c462a3cb03 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: 5 + size: Small - type: PayloadTrigger components: - type: OnUseTimerTrigger diff --git a/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/chimp_upgrade_kit.yml b/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/chimp_upgrade_kit.yml index aed09fe70b..fc6c2ac787 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/chimp_upgrade_kit.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/chimp_upgrade_kit.yml @@ -6,9 +6,9 @@ components: - type: Sprite sprite: Objects/Misc/module.rsi - state: abductor_mod + state: abductor_mod - type: Item - size: 10 + size: Small - type: Tag tags: - - WeaponPistolCHIMPUpgradeKit \ No newline at end of file + - WeaponPistolCHIMPUpgradeKit diff --git a/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml b/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml index ad05777cfa..21943bfaff 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml @@ -8,7 +8,7 @@ sprite: Objects/Devices/forensic_scanner.rsi state: forensicnew - type: Item - size: 5 + size: Small - type: Clothing sprite: Objects/Devices/forensic_scanner.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Devices/pda.yml b/Resources/Prototypes/Entities/Objects/Devices/pda.yml index 89c44ed192..4cf04d8b17 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pda.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pda.yml @@ -37,7 +37,7 @@ components: - IdCard - type: Item - size: 10 + size: Small - type: ContainerContainer containers: PDA-id: !type:ContainerSlot {} diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml index 06b2301262..07d918b576 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml @@ -16,7 +16,7 @@ - key: enum.InstrumentUiKey.Key type: InstrumentBoundUserInterface - type: Item - size: 24 + size: Normal - type: StaticPrice price: 200 diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml index e8ac6f7ce5..260490ccad 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml @@ -14,7 +14,7 @@ sprite: Objects/Fun/Instruments/trumpet.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/trumpet.rsi - type: Tag tags: @@ -32,7 +32,7 @@ sprite: Objects/Fun/Instruments/trombone.rsi state: icon - type: Item - size: 48 + size: Normal sprite: Objects/Fun/Instruments/trombone.rsi - type: Tag tags: @@ -50,7 +50,7 @@ sprite: Objects/Fun/Instruments/frenchhorn.rsi state: icon - type: Item - size: 48 + size: Normal sprite: Objects/Fun/Instruments/frenchhorn.rsi - type: Tag tags: @@ -69,7 +69,7 @@ sprite: Objects/Fun/Instruments/euphonium.rsi state: icon - type: Item - size: 48 + size: Normal sprite: Objects/Fun/Instruments/euphonium.rsi - type: Tag tags: diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml index 15581cbd8d..47ea5ab2f6 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml @@ -10,7 +10,7 @@ - type: Instrument program: 121 - type: Item - size: 10 + size: Small - type: entity parent: BaseHandheldInstrument @@ -24,7 +24,7 @@ - type: Instrument program: 122 - type: Item - size: 10 + size: Small - type: entity parent: BaseHandheldInstrument @@ -38,7 +38,7 @@ - type: Instrument program: 123 - type: Item - size: 5 + size: Tiny - type: entity parent: BaseHandheldInstrument @@ -55,7 +55,7 @@ - type: Instrument program: 124 - type: Item - size: 10 + size: Small - type: Prayable sentMessage: prayer-popup-notify-centcom-sent notifiactionPrefix: prayer-chat-notify-centcom @@ -74,7 +74,7 @@ - type: Instrument program: 125 - type: Item - size: 10 + size: Small - type: entity parent: BaseHandheldInstrument @@ -88,7 +88,7 @@ - type: Instrument program: 126 - type: Item - size: 5 + size: Tiny - type: entity parent: BaseHandheldInstrument @@ -102,7 +102,7 @@ sprite: Objects/Fun/Instruments/gunpet.rsi state: icon - type: Item - size: 15 + size: Normal sprite: Objects/Fun/Instruments/gunpet.rsi - type: Tag tags: @@ -125,7 +125,7 @@ - BrassInstrument #Go figure. - type: Item sprite: Objects/Fun/Instruments/bike_horn.rsi - size: 10 + size: Small - type: Clothing sprite: Objects/Fun/Instruments/bike_horn.rsi slots: [Belt] diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml index 1ab803c5e2..d79b354df4 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml @@ -9,7 +9,7 @@ sprite: Objects/Fun/Instruments/glockenspiel.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/glockenspiel.rsi - type: Tag tags: @@ -58,7 +58,7 @@ sprite: Objects/Fun/Instruments/microphone.rsi state: icon - type: Item - size: 10 + size: Small sprite: Objects/Fun/Instruments/microphone.rsi - type: entity @@ -76,7 +76,7 @@ sprite: Objects/Fun/Instruments/h_synthesizer.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/h_synthesizer.rsi - type: Tag tags: @@ -135,5 +135,5 @@ sprite: Objects/Fun/Instruments/h_synthesizer.rsi state: icon - type: Item - size: 24 - sprite: Objects/Fun/Instruments/h_synthesizer.rsi \ No newline at end of file + size: Normal + sprite: Objects/Fun/Instruments/h_synthesizer.rsi diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml index c71fecd91b..70d1444bc4 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml @@ -15,7 +15,7 @@ sprite: Objects/Fun/Instruments/eguitar.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/eguitar.rsi - type: Clothing quickEquip: false @@ -44,7 +44,7 @@ sprite: Objects/Fun/Instruments/bassguitar.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/bassguitar.rsi - type: Clothing quickEquip: false @@ -72,7 +72,7 @@ sprite: Objects/Fun/Instruments/rockguitar.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/rockguitar.rsi - type: Clothing quickEquip: false @@ -115,7 +115,7 @@ - StringInstrument - type: Item sprite: Objects/Fun/Instruments/guitar.rsi - size: 24 + size: Normal - type: Clothing quickEquip: false slots: @@ -178,7 +178,7 @@ sprite: Objects/Fun/Instruments/banjo.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/banjo.rsi - type: Tag tags: @@ -200,7 +200,7 @@ sprite: Objects/Fun/Instruments/violin.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/violin.rsi - type: Tag tags: @@ -218,7 +218,7 @@ sprite: Objects/Fun/Instruments/viola.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/viola.rsi - type: Tag tags: @@ -236,7 +236,7 @@ sprite: Objects/Fun/Instruments/cello.rsi state: icon - type: Item - size: 48 + size: Normal sprite: Objects/Fun/Instruments/cello.rsi - type: Tag tags: diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml index 09db613313..afba6c2774 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml @@ -16,7 +16,7 @@ sprite: Objects/Fun/Instruments/saxophone.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/saxophone.rsi - type: Tag tags: @@ -45,7 +45,7 @@ sprite: Objects/Fun/Instruments/accordion.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/accordion.rsi - type: Tag tags: @@ -62,7 +62,7 @@ sprite: Objects/Fun/Instruments/harmonica.rsi state: icon - type: Item - size: 10 + size: Small sprite: Objects/Fun/Instruments/harmonica.rsi - type: Tag tags: @@ -80,7 +80,7 @@ sprite: Objects/Fun/Instruments/clarinet.rsi state: icon - type: Item - size: 20 + size: Normal sprite: Objects/Fun/Instruments/clarinet.rsi - type: Tag tags: @@ -98,7 +98,7 @@ sprite: Objects/Fun/Instruments/flute.rsi state: icon - type: Item - size: 20 + size: Normal sprite: Objects/Fun/Instruments/flute.rsi - type: Tag tags: @@ -116,7 +116,7 @@ sprite: Objects/Fun/Instruments/recorder.rsi state: icon - type: Item - size: 24 + size: Normal sprite: Objects/Fun/Instruments/recorder.rsi - type: Tag tags: @@ -134,7 +134,7 @@ sprite: Objects/Fun/Instruments/panflute.rsi state: icon - type: Item - size: 15 + size: Normal sprite: Objects/Fun/Instruments/panflute.rsi - type: Tag tags: @@ -153,7 +153,7 @@ sprite: Objects/Fun/Instruments/ocarina.rsi state: icon - type: Item - size: 15 + size: Normal sprite: Objects/Fun/Instruments/ocarina.rsi - type: Tag tags: @@ -171,8 +171,8 @@ sprite: Objects/Fun/Instruments/bagpipes.rsi state: icon - type: Item - size: 48 + size: Normal sprite: Objects/Fun/Instruments/bagpipes.rsi - type: Tag tags: - - WoodwindInstrument \ No newline at end of file + - WoodwindInstrument diff --git a/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml b/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml index fc20f1a58d..58b168e882 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml @@ -9,7 +9,7 @@ state: icon - type: Item sprite: Objects/Fun/bikehorn.rsi - size: 5 + size: Tiny - type: Clothing sprite: Objects/Fun/bikehorn.rsi slots: [Belt] @@ -58,7 +58,7 @@ state: icon - type: Item sprite: Objects/Fun/cluwnehorn.rsi - size: 5 + size: Tiny - type: Clothing sprite: Objects/Fun/cluwnehorn.rsi slots: [Belt] @@ -100,7 +100,7 @@ state: icon - type: Item sprite: Objects/Fun/goldbikehorn.rsi - size: 5 + size: Tiny - type: Clothing sprite: Objects/Fun/goldbikehorn.rsi slots: [Belt] @@ -119,7 +119,7 @@ state: icon - type: Item sprite: Objects/Fun/bananiumhorn.rsi - size: 5 + size: Tiny - type: Clothing sprite: Objects/Fun/bananiumhorn.rsi slots: [Belt] diff --git a/Resources/Prototypes/Entities/Objects/Fun/crayons.yml b/Resources/Prototypes/Entities/Objects/Fun/crayons.yml index 3ed188bd8e..2ec93b9c9b 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/crayons.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/crayons.yml @@ -9,7 +9,7 @@ sprite: Objects/Fun/crayons.rsi - type: Item sprite: Objects/Fun/crayons.rsi - size: 1 + size: Tiny - type: Tag tags: - Write @@ -235,10 +235,11 @@ sprite: Objects/Fun/crayons.rsi state: box - type: Storage - capacity: 7 + maxSlots: 7 + maxTotalWeight: 7 - type: Item sprite: Objects/Fun/crayons.rsi - size: 7 + size: Small heldPrefix: box - type: StorageFill contents: diff --git a/Resources/Prototypes/Entities/Objects/Fun/darts.yml b/Resources/Prototypes/Entities/Objects/Fun/darts.yml index bd4163d974..34486ac93e 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/darts.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/darts.yml @@ -40,7 +40,7 @@ types: Piercing: 4 - type: Item - size: 2 + size: Tiny sprite: Objects/Fun/Darts/dart_red.rsi - type: ItemCooldown - type: SolutionContainerManager @@ -86,7 +86,7 @@ - type: SolutionContainerVisuals maxFillLevels: 1 fillBaseName: dart - + - type: entity parent: Dart id: DartBlue @@ -95,7 +95,7 @@ sprite: Objects/Fun/Darts/dart_blue.rsi - type: Item sprite: Objects/Fun/Darts/dart_blue.rsi - + - type: entity parent: Dart id: DartPurple @@ -104,7 +104,7 @@ sprite: Objects/Fun/Darts/dart_purple.rsi - type: Item sprite: Objects/Fun/Darts/dart_purple.rsi - + - type: entity parent: Dart id: DartYellow diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice.yml b/Resources/Prototypes/Entities/Objects/Fun/dice.yml index 6903a0bcac..d2c33b90f0 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/dice.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/dice.yml @@ -13,7 +13,7 @@ tags: - Dice - type: Item - size: 2 + size: Tiny - type: entity parent: BaseDice diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml b/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml index 8c3b5aea8b..f2d547dd8c 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml @@ -17,11 +17,12 @@ sprite: Objects/Fun/dice.rsi state: dicebag - type: Item + size: Small - type: Storage - capacity: 18 + maxTotalWeight: 8 whitelist: tags: - - Dice + - Dice - type: entity parent: DiceBag @@ -32,4 +33,4 @@ sprite: Objects/Fun/dice.rsi state: magicdicebag - type: Storage - capacity: 30 + maxTotalWeight: 20 diff --git a/Resources/Prototypes/Entities/Objects/Fun/puppet.yml b/Resources/Prototypes/Entities/Objects/Fun/puppet.yml index c0649d0acf..01a15d2e5b 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/puppet.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/puppet.yml @@ -14,7 +14,7 @@ - type: DoAfter - type: VentriloquistPuppet - type: Item - size: 30 + size: Normal - type: Muted - type: TypingIndicator proto: robot diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 1b601c9f95..49ef8faddd 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -565,7 +565,7 @@ components: - type: Sprite - type: Item - size: 24 + size: Normal - type: entity parent: FoamWeaponBase @@ -577,7 +577,7 @@ sprite: Objects/Fun/toys.rsi state: foamcrossbow - type: Item - size: 24 + size: Normal sprite: Objects/Fun/toys.rsi heldPrefix: foamcrossbow - type: Gun @@ -683,7 +683,7 @@ types: Blunt: 0 - type: Item - size: 20 + size: Small sprite: Objects/Fun/toys.rsi heldPrefix: foamblade - type: ItemCooldown @@ -703,7 +703,7 @@ sound: path: /Audio/Effects/Footsteps/bounce.ogg - type: Item - size: 24 + size: Normal sprite: Objects/Fun/toys.rsi heldPrefix: bask - type: TileFrictionModifier @@ -719,7 +719,7 @@ sprite: Objects/Fun/toys.rsi state: football - type: Item - size: 12 + size: Small sprite: Objects/Fun/toys.rsi heldPrefix: footb @@ -736,7 +736,7 @@ sound: path: /Audio/Effects/Footsteps/bounce.ogg - type: Item - size: 24 + size: Normal sprite: Objects/Fun/toys.rsi heldPrefix: beachb - type: TileFrictionModifier @@ -752,7 +752,7 @@ sprite: Objects/Fun/toys.rsi state: synb - type: Item - size: 24 + size: Small sprite: Objects/Fun/toys.rsi heldPrefix: synb - type: Damageable @@ -771,7 +771,7 @@ sprite: Objects/Fun/toys.rsi state: corgib - type: Item - size: 24 + size: Normal sprite: Objects/Fun/toys.rsi heldPrefix: corgib - type: Damageable @@ -796,7 +796,7 @@ intensity: 2000 falloffPower: 2.6 - type: Item - size: 12 + size: Small sprite: Objects/Fun/toys.rsi heldPrefix: singularitytoy @@ -814,7 +814,7 @@ radius: 2 color: "#00CCFF" - type: Item - size: 24 + size: Normal sprite: Objects/Fun/toys.rsi heldPrefix: orb - type: TileFrictionModifier @@ -839,7 +839,7 @@ shader: unshaded map: [ "blade" ] - type: Item - size: 5 + size: Small sprite: Objects/Weapons/Melee/e_sword.rsi - type: UseDelay delay: 1.0 @@ -903,7 +903,7 @@ types: Blunt: 0 - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/cutlass.rsi - type: entity @@ -945,7 +945,7 @@ - type: StaminaDamageOnHit damage: 8 - type: Item - size: 5 + size: Small sprite: Objects/Fun/rubber_hammer.rsi - type: Appearance - type: DisarmMalus diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml index 2c1a8e628d..898d2c37c1 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: 30 + size: Normal - type: StaticPrice price: 0 - type: Tag @@ -83,8 +83,6 @@ - type: Stack stackType: Glass count: 10 - - type: Item - size: 10 - type: entity parent: SheetGlass @@ -96,16 +94,12 @@ - type: Stack stackType: Glass count: 1 - - type: Item - size: 1 - type: entity parent: SheetGlass id: SheetGlassLingering0 suffix: Lingering, 0 components: - - type: Item - size: 0 - type: Stack lingering: true count: 0 @@ -174,8 +168,6 @@ - type: Stack stackType: ReinforcedGlass count: 1 - - type: Item - size: 1 - type: entity parent: SheetGlassBase @@ -201,7 +193,6 @@ map: ["base"] - type: Item heldPrefix: pglass - size: 30 - type: Construction graph: Glass node: SheetPGlass @@ -239,8 +230,6 @@ - type: Stack stackType: PlasmaGlass count: 1 - - type: Item - size: 1 - type: entity parent: SheetPGlass @@ -281,8 +270,6 @@ - type: Stack stackType: ReinforcedPlasmaGlass count: 1 - - type: Item - size: 1 - type: entity parent: SheetGlassBase @@ -345,8 +332,6 @@ - type: Stack stackType: UraniumGlass count: 1 - - type: Item - size: 1 - type: entity parent: SheetUGlass @@ -386,5 +371,3 @@ - type: Stack stackType: ReinforcedUraniumGlass count: 1 - - type: Item - size: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml index 69b7f83ddb..99c7ae0e11 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: 30 + size: Normal - type: StaticPrice price: 0 - type: Tag @@ -75,8 +75,6 @@ name: steel suffix: 10 components: - - type: Item - size: 10 - type: Sprite state: steel - type: Stack @@ -89,8 +87,6 @@ name: steel suffix: Single components: - - type: Item - size: 1 - type: Sprite state: steel - type: Stack @@ -102,8 +98,6 @@ id: SheetSteelLingering0 suffix: Lingering, 0 components: - - type: Item - size: 0 - type: Stack lingering: true count: 0 @@ -145,8 +139,6 @@ - type: Stack stackType: Plasteel count: 10 - - type: Item - size: 10 - type: entity parent: SheetPlasteel @@ -159,5 +151,3 @@ - type: Stack stackType: Plasteel count: 1 - - type: Item - size: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml index 3cb6f027a9..ed1a1e3da0 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: 30 + size: Normal - type: Tag tags: - Sheet @@ -56,8 +56,6 @@ state: paper - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: SheetOtherBase @@ -106,8 +104,6 @@ state: plasma - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: SheetOtherBase @@ -138,7 +134,6 @@ map: ["base"] - type: Item heldPrefix: plastic - size: 30 - type: Appearance - type: entity @@ -149,8 +144,6 @@ components: - type: Sprite state: plastic - - type: Item - size: 10 - type: Stack count: 10 @@ -162,8 +155,6 @@ components: - type: Sprite state: plastic - - type: Item - size: 1 - type: Stack count: 1 @@ -212,8 +203,6 @@ components: - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: SheetOtherBase @@ -255,5 +244,3 @@ state: meat - type: Stack count: 1 - - type: Item - size: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/ingots.yml b/Resources/Prototypes/Entities/Objects/Materials/ingots.yml index 61aefee332..d383a7266d 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/ingots.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/ingots.yml @@ -8,7 +8,7 @@ sprite: Objects/Materials/ingots.rsi - type: Item sprite: Objects/Materials/ingots.rsi - size: 30 + size: Normal - type: StaticPrice price: 0 - type: Tag @@ -62,8 +62,6 @@ state: gold - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: IngotBase @@ -99,7 +97,3 @@ components: - type: Sprite state: silver - - type: Stack - count: 1 - - type: Item - size: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/materials.yml b/Resources/Prototypes/Entities/Objects/Materials/materials.yml index 7386eaee4d..4af2886c24 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/materials.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/materials.yml @@ -8,7 +8,7 @@ sprite: Objects/Materials/materials.rsi - type: Item sprite: Objects/Materials/materials.rsi - size: 30 + size: Normal - type: Tag tags: - DroneUsable @@ -47,8 +47,6 @@ - state: cardboard_3 map: ["base"] - type: Appearance - - type: Item - size: 30 - type: entity parent: MaterialCardboard @@ -59,8 +57,6 @@ state: cardboard - type: Stack count: 10 - - type: Item - size: 10 - type: entity parent: MaterialCardboard @@ -71,8 +67,6 @@ state: cardboard - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: MaterialBase @@ -114,8 +108,6 @@ - state: cloth_3 map: ["base"] - type: Appearance - - type: Item - size: 30 - type: Food requiresSpecialDigestion: true - type: SolutionContainerManager @@ -144,8 +136,6 @@ state: cloth - type: Stack count: 10 - - type: Item - size: 10 - type: entity parent: MaterialCloth @@ -156,8 +146,6 @@ state: cloth - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: MaterialBase @@ -209,8 +197,6 @@ state: durathread - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: MaterialBase @@ -245,8 +231,6 @@ components: - type: Stack count: 10 - - type: Item - size: 10 - type: entity parent: MaterialWoodPlank @@ -255,8 +239,6 @@ components: - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: MaterialBase @@ -278,8 +260,6 @@ - type: GuideHelp guides: - Cloning - - type: Item - size: 100 - type: entity parent: MaterialBiomass @@ -288,8 +268,6 @@ components: - type: Stack count: 1 - - type: Item - size: 1 # Following not used currently - type: entity @@ -352,7 +330,6 @@ state: diamond - type: Item heldPrefix: diamond - size: 60 - type: entity parent: MaterialDiamond @@ -361,8 +338,6 @@ components: - type: Stack count: 1 - - type: Item - size: 2 - type: entity parent: MaterialBase @@ -383,8 +358,6 @@ - state: cotton_3 map: ["base"] - type: Appearance - - type: Item - size: 30 - type: Food requiresSpecialDigestion: true - type: SolutionContainerManager @@ -410,8 +383,6 @@ state: cotton - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: MaterialBase @@ -462,8 +433,6 @@ - ReagentId: Honk Quantity: 5 - type: Appearance - - type: Item - size: 20 - type: entity parent: MaterialBananium @@ -474,8 +443,6 @@ state: bananium - type: Stack count: 1 - - type: Item - size: 2 - type: entity parent: MaterialBase @@ -493,8 +460,6 @@ - type: Stack count: 50 stackType: WebSilk - - type: Item - size: 50 - type: Food requiresSpecialDigestion: true - type: FlavorProfile @@ -522,8 +487,6 @@ components: - type: Stack count: 25 - - type: Item - size: 25 - type: entity parent: MaterialWebSilk @@ -532,8 +495,6 @@ components: - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: MaterialBase @@ -554,8 +515,6 @@ - state: cotton_3 map: ["base"] - type: Appearance - - type: Item - size: 30 - type: Food - type: BadFood - type: SolutionContainerManager @@ -573,5 +532,3 @@ components: - type: Stack count: 1 - - type: Item - size: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/ore.yml b/Resources/Prototypes/Entities/Objects/Materials/ore.yml index f27d1b770e..2b6fec873b 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/ore.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/ore.yml @@ -8,7 +8,7 @@ sprite: Objects/Materials/ore.rsi - type: Item sprite: Objects/Materials/ore.rsi - size: 60 + size: Normal - type: Tag tags: - Ore @@ -57,8 +57,6 @@ components: - type: Stack count: 1 - - type: Item - size: 2 - type: entity parent: OreBase @@ -82,8 +80,6 @@ components: - type: Stack count: 1 - - type: Item - size: 2 - type: entity parent: OreBase @@ -107,8 +103,6 @@ components: - type: Stack count: 1 - - type: Item - size: 2 - type: entity parent: OreBase @@ -132,8 +126,6 @@ components: - type: Stack count: 1 - - type: Item - size: 2 - type: entity parent: OreBase @@ -157,8 +149,6 @@ components: - type: Stack count: 1 - - type: Item - size: 2 - type: entity parent: OreBase @@ -182,9 +172,6 @@ components: - type: Stack count: 1 - - type: Item - size: 2 - - type: entity parent: OreBase @@ -208,5 +195,3 @@ components: - type: Stack count: 1 - - type: Item - size: 2 diff --git a/Resources/Prototypes/Entities/Objects/Materials/parts.yml b/Resources/Prototypes/Entities/Objects/Materials/parts.yml index e75704c2a4..7529bdee04 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/parts.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/parts.yml @@ -44,7 +44,7 @@ - state: rods_5 map: ["base"] - type: Item - size: 30 + size: Normal # heldPrefix: rods - type: Construction graph: MetalRod @@ -73,8 +73,6 @@ state: rods - type: Stack count: 10 - - type: Item - size: 10 - type: entity parent: PartRodMetal @@ -90,16 +88,12 @@ state: rods - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: PartRodMetal id: PartRodMetalLingering0 suffix: Lingering, 0 components: - - type: Item - size: 0 - type: Stack lingering: true count: 0 diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index affd08edb1..8129ab2116 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -26,7 +26,7 @@ Slash: 3.5 - type: Item sprite: Objects/Materials/Shards/shard.rsi - size: 4 + size: Tiny - type: CollisionWake enabled: false - type: Fixtures diff --git a/Resources/Prototypes/Entities/Objects/Misc/bedsheets.yml b/Resources/Prototypes/Entities/Objects/Misc/bedsheets.yml index 6c6f2d484e..2945c4f68e 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/bedsheets.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/bedsheets.yml @@ -13,7 +13,7 @@ sprite: Objects/Misc/bedsheets.rsi noRot: true - type: Item - size: 10 + size: Small - type: Clothing quickEquip: true slots: diff --git a/Resources/Prototypes/Entities/Objects/Misc/box.yml b/Resources/Prototypes/Entities/Objects/Misc/box.yml index 59a2abd566..b2c63f14a9 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/box.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/box.yml @@ -7,9 +7,9 @@ sprite: Objects/Storage/boxes.rsi - type: Item sprite: Objects/Storage/boxes.rsi - size: 30 + size: Normal - type: Storage - capacity: 30 + maxTotalWeight: 12 - type: ContainerContainer containers: storagebase: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml b/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml index 1866d3513e..ebf776a7b1 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml @@ -5,9 +5,10 @@ description: Useful for carrying items in your hands. components: - type: Item - size: 60 + size: Large - type: Storage - capacity: 60 + maxSlots: 4 + maxTotalWeight: 16 - type: Tag tags: - Briefcase @@ -25,16 +26,17 @@ sprite: Objects/Storage/Briefcases/briefcase_brown.rsi - type: entity - parent: BaseStorageItem + parent: BriefcaseBase abstract: true id: BriefcaseSyndieBase suffix: Syndicate, Empty description: Useful for carrying items in your hands. components: - type: Item - size: 80 + size: Large - type: Storage - capacity: 80 + maxSlots: 6 + maxTotalWeight: 24 - type: Tag tags: - Briefcase diff --git a/Resources/Prototypes/Entities/Objects/Misc/eggspider.yml b/Resources/Prototypes/Entities/Objects/Misc/eggspider.yml index f53e39e364..c2357ed3c8 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/eggspider.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/eggspider.yml @@ -14,7 +14,7 @@ Structural: 2 animation: WeaponArcPunch - type: Item - size: 5 + size: Small - type: PointLight radius: 1.5 energy: 3 diff --git a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml index a90f598a5d..0697281a0f 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml @@ -11,7 +11,7 @@ map: [ "enabled" ] - type: Item sprite: Objects/Misc/fire_extinguisher.rsi - size: 10 + size: Small - type: SolutionContainerManager solutions: spray: diff --git a/Resources/Prototypes/Entities/Objects/Misc/fluff_lights.yml b/Resources/Prototypes/Entities/Objects/Misc/fluff_lights.yml index 77b321f951..1b925b5cb0 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/fluff_lights.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/fluff_lights.yml @@ -38,7 +38,7 @@ sprite: Objects/Misc/Lights/lights.rsi - type: Item sprite: Objects/Misc/Lights/lights.rsi - size: 20 + size: Normal heldPrefix: off - type: PointLight enabled: false @@ -158,7 +158,7 @@ description: A pole with powerful mounted lights on it. components: - type: Item - size: 50 + size: Normal - type: Sprite layers: - state: floodlight diff --git a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml index befd24f36e..4f2199bfa8 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml @@ -5,7 +5,7 @@ parent: BaseItem components: - type: Item - size: 3 + size: Small - type: Handcuff cuffedRSI: Objects/Misc/handcuffs.rsi bodyIconState: body-overlay @@ -31,8 +31,6 @@ id: Cablecuffs parent: Handcuffs components: - - type: Item - size: 5 - type: Handcuff breakoutTime: 15 cuffedRSI: Objects/Misc/cablecuffs.rsi @@ -65,7 +63,7 @@ parent: Handcuffs components: - type: Item - size: 2 + size: Tiny - type: Handcuff breakoutTime: 20 # halfway between improvised cablecuffs and metal ones cuffedRSI: Objects/Misc/cablecuffs.rsi # cablecuffs will look fine @@ -92,7 +90,7 @@ abstract: true components: - type: Item - size: 2 + size: Tiny - type: Tag tags: - Trash @@ -128,7 +126,7 @@ description: Used to restrain those who may cause harm to themselves or others. components: - type: Item - size: 20 + size: Normal - type: Handcuff cuffedRSI: Clothing/OuterClothing/Misc/straight_jacket.rsi breakoutTime: 100 diff --git a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml index d1441c341b..7047042f04 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml @@ -12,6 +12,7 @@ - idcard sprite: Objects/Misc/id_cards.rsi - type: Item + size: Small heldPrefix: default - type: Access - type: IdCard diff --git a/Resources/Prototypes/Entities/Objects/Misc/implanters.yml b/Resources/Prototypes/Entities/Objects/Misc/implanters.yml index 0ca029a120..6168fb9a5a 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/implanters.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/implanters.yml @@ -97,7 +97,7 @@ components: - type: Item sprite: Objects/Specific/Medical/syndi_implanter.rsi - size: 3 + size: Tiny - type: Sprite sprite: Objects/Specific/Medical/syndi_implanter.rsi state: implanter1 diff --git a/Resources/Prototypes/Entities/Objects/Misc/improvised_gun_parts.yml b/Resources/Prototypes/Entities/Objects/Misc/improvised_gun_parts.yml index d94193e49a..abf4e0974a 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/improvised_gun_parts.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/improvised_gun_parts.yml @@ -2,12 +2,12 @@ #TODO: Assimilate these into the same RSI. - type: entity parent: BaseItem - id: ModularReceiver - name: modular receiver + id: ModularReceiver + name: modular receiver description: A vital part used in the creation of firearms. #Could use a better description, but I'm not a gun nut so I can't really do that. components: # - type: Item -# size: 15 +# size: Normal - type: Sprite sprite: Objects/Misc/modular_receiver.rsi state: icon @@ -23,7 +23,7 @@ description: A robust wooden stock, used in the creation of firearms. #Same as above components: # - type: Item -# size: 25 +# size: Normal - type: Sprite sprite: Objects/Misc/rifle_stock.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Misc/machine_parts.yml b/Resources/Prototypes/Entities/Objects/Misc/machine_parts.yml index be1f4f65ee..c38239a08d 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/machine_parts.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/machine_parts.yml @@ -8,7 +8,7 @@ - type: Sprite sprite: Objects/Misc/stock_parts.rsi - type: Item - size: 1 + size: Tiny - type: GuideHelp guides: - MachineUpgrading diff --git a/Resources/Prototypes/Entities/Objects/Misc/medalcase.yml b/Resources/Prototypes/Entities/Objects/Misc/medalcase.yml index 64c11d5a2f..d1ceae2c60 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/medalcase.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/medalcase.yml @@ -9,9 +9,10 @@ state: icon - type: Item sprite: Objects/Storage/medalcase.rsi - size: 80 + size: Normal - type: Storage - capacity: 80 + maxSlots: 8 + maxTotalWeight: 16 - type: StorageFill contents: - id: ClothingNeckGoldmedal diff --git a/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml b/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml index 32ad0552c0..fcf47d713d 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml @@ -8,7 +8,6 @@ whitelist: tags: - MonkeyCube - capacity: 30 - type: StorageFill contents: - id: MonkeyCubeWrapped @@ -47,7 +46,6 @@ whitelist: tags: - MonkeyCube - capacity: 30 - type: StorageFill contents: - id: SyndicateSpongeWrapped diff --git a/Resources/Prototypes/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/Entities/Objects/Misc/paper.yml index 132d6b7aff..99dc9c07c6 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/paper.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/paper.yml @@ -23,7 +23,7 @@ - key: enum.PaperUiKey.Key type: PaperBoundUserInterface - type: Item - size: 1 + size: Tiny - type: Tag tags: - Document @@ -245,7 +245,7 @@ - type: Item sprite: Objects/Misc/bureaucracy.rsi heldPrefix: pen - size: 2 + size: Tiny - type: PhysicalComposition materialComposition: Steel: 25 @@ -277,7 +277,7 @@ - type: Item sprite: Objects/Misc/bureaucracy.rsi heldPrefix: overpriced_pen - size: 2 + size: Tiny - type: entity name: captain's fountain pen @@ -336,9 +336,11 @@ # black: "#3f3f3f" - type: Item sprite: Objects/Misc/bureaucracy.rsi - size: 5 + size: Small - type: Storage - capacity: 10 + maxSlots: 10 + maxItemSize: Small + maxTotalWeight: 20 whitelist: tags: - Document @@ -468,13 +470,14 @@ insertOnInteract: false - type: Item sprite: Objects/Misc/clipboard.rsi - size: 10 + size: Small - type: Clothing slots: [belt] quickEquip: false sprite: Objects/Misc/clipboard.rsi - type: Storage - capacity: 20 + maxSlots: 15 + maxTotalWeight: 30 whitelist: tags: - Document @@ -526,13 +529,13 @@ insertOnInteract: true - type: Item sprite: Objects/Misc/qm_clipboard.rsi - size: 30 + size: Normal - type: Clothing slots: [belt] quickEquip: false sprite: Objects/Misc/qm_clipboard.rsi - type: Storage - capacity: 90 + maxSlots: 20 quickInsert: true whitelist: tags: @@ -585,7 +588,7 @@ sprite: Objects/Misc/bureaucracy.rsi state: stamp-mime - type: Item - size: 3 + size: Tiny - type: entity name: alternate rubber stamp diff --git a/Resources/Prototypes/Entities/Objects/Misc/potatoai_chip.yml b/Resources/Prototypes/Entities/Objects/Misc/potatoai_chip.yml index 528aa30a14..0f871831e2 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/potatoai_chip.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/potatoai_chip.yml @@ -8,10 +8,10 @@ sprite: Objects/Misc/potatoai_chip.rsi state: icon - type: Item - size: 3 + size: Tiny - type: Tag tags: - SmallAIChip - type: Construction graph: PotatoAIChip - node: potatoaichip \ No newline at end of file + node: potatoaichip diff --git a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml index bc7a3a38ad..25c9e7fc58 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml @@ -119,9 +119,10 @@ components: - Hands # no use giving a mouse a storage implant, but a monkey is another story... - type: Item - size: 9999 + size: Huge - type: Storage - capacity: 20 #10-20 should be more than enough for this + maxSlots: 4 + maxItemSize: Small - type: ContainerContainer containers: storagebase: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml index 6b5e17a211..ba85154d8f 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml @@ -8,6 +8,7 @@ sprite: Objects/Tiles/tile.rsi - type: Item sprite: Objects/Tiles/tile.rsi + size: Normal - type: DamageOtherOnHit damage: types: diff --git a/Resources/Prototypes/Entities/Objects/Power/antimatter_jar.yml b/Resources/Prototypes/Entities/Objects/Power/antimatter_jar.yml index 8267903dbb..22e5b9bb3c 100644 --- a/Resources/Prototypes/Entities/Objects/Power/antimatter_jar.yml +++ b/Resources/Prototypes/Entities/Objects/Power/antimatter_jar.yml @@ -5,7 +5,7 @@ description: A hermetically sealed jar containing antimatter for use in an antimatter reactor. components: - type: Item - size: 5 + size: Normal sprite: Objects/Power/AME/ame_jar.rsi - type: Sprite sprite: Objects/Power/AME/ame_jar.rsi diff --git a/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml b/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml index a393cad617..7d428bcc5a 100644 --- a/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml +++ b/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml @@ -5,7 +5,7 @@ description: A flatpack used for constructing an antimatter engine reactor. Use a multitool to unpack it. components: - type: Item - size: 5 + size: Small sprite: Objects/Power/AME/ame_part.rsi - type: Sprite sprite: Objects/Power/AME/ame_part.rsi diff --git a/Resources/Prototypes/Entities/Objects/Power/powersink.yml b/Resources/Prototypes/Entities/Objects/Power/powersink.yml index 9317dd741f..c8684323a9 100644 --- a/Resources/Prototypes/Entities/Objects/Power/powersink.yml +++ b/Resources/Prototypes/Entities/Objects/Power/powersink.yml @@ -5,7 +5,7 @@ description: Drains immense amounts of electricity from the grid. components: - type: Item - size: 150 + size: Large - type: NodeContainer examinable: true nodes: diff --git a/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml b/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml index ff333b93c2..5b3f5e90ce 100644 --- a/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml +++ b/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml @@ -4,7 +4,7 @@ name: solar assembly part components: - type: Item - size: 10 + size: Small - type: Sprite sprite: Objects/Power/solar_parts.rsi state: solar_assembly_parts diff --git a/Resources/Prototypes/Entities/Objects/Shields/shields.yml b/Resources/Prototypes/Entities/Objects/Shields/shields.yml index 8afe40bfe7..76a8e576a5 100644 --- a/Resources/Prototypes/Entities/Objects/Shields/shields.yml +++ b/Resources/Prototypes/Entities/Objects/Shields/shields.yml @@ -10,7 +10,7 @@ state: riot-icon - type: Item sprite: Objects/Weapons/Melee/shields.rsi - size: 100 + size: Huge heldPrefix: riot - type: Blocking passiveBlockModifier: @@ -308,7 +308,7 @@ path: /Audio/Weapons/ebladeon.ogg deActivateSound: path: /Audio/Weapons/ebladeoff.ogg - offSize: 5 + offSize: Small - type: Sprite sprite: Objects/Weapons/Melee/e_shield.rsi layers: @@ -319,7 +319,7 @@ shader: unshaded map: [ "shield" ] - type: Item - size: 5 + size: Small sprite: Objects/Weapons/Melee/e_shield.rsi heldPrefix: eshield - type: UseDelay @@ -398,7 +398,7 @@ state: eshield-icon - type: Item sprite: Objects/Weapons/Melee/e_shield.rsi - size: 5 + size: Small heldPrefix: eshield - type: entity @@ -417,7 +417,7 @@ path: /Audio/Weapons/telescopicoff.ogg params: volume: -5 - offSize: 10 + offSize: Small - type: Sprite sprite: Objects/Weapons/Melee/teleriot_shield.rsi layers: @@ -426,7 +426,7 @@ visible: false map: [ "shield" ] - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Melee/teleriot_shield.rsi heldPrefix: teleriot - type: UseDelay diff --git a/Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml b/Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml index 19414d0997..3e72257d5c 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml @@ -31,13 +31,13 @@ sprite: Objects/Specific/Chapel/bible.rsi state: icon - type: Item - size: 15 + size: Normal sprite: Objects/Specific/Chapel/bible.rsi - type: Clothing slots: - Belt - type: Storage - capacity: 10 + maxSlots: 1 - type: UserInterface interfaces: - key: enum.StorageUiKey.Key @@ -74,7 +74,7 @@ sprite: Objects/Specific/Chapel/necronomicon.rsi state: icon - type: Item - size: 15 + size: Normal sprite: Objects/Specific/Chapel/necronomicon.rsi - type: Clothing slots: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml index 8be5fecb4f..597f48744c 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml @@ -13,9 +13,9 @@ slots: - belt - type: Item - size: 46 + size: Normal - type: Storage - capacity: 45 + maxSlots: 40 quickInsert: true areaInsert: true whitelist: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Forensics/forensics.yml b/Resources/Prototypes/Entities/Objects/Specific/Forensics/forensics.yml index a3abd4f1e3..b7627e1016 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Forensics/forensics.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Forensics/forensics.yml @@ -5,7 +5,7 @@ description: A forensic pad for collecting fingerprints or fibers. components: - type: Item - size: 3 + size: Tiny - type: ForensicPad - type: Sprite sprite: Objects/Misc/bureaucracy.rsi diff --git a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml index 6da11b53fb..8e26898daa 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml @@ -63,7 +63,7 @@ tags: - Smokable - type: Item - size: 1 + size: Tiny - type: entity name: tobacco leaves @@ -121,4 +121,4 @@ tags: - Smokable - type: Item - size: 1 + size: Tiny diff --git a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml index 2462c601e4..a851ce2626 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml @@ -8,7 +8,7 @@ sprite: Objects/Specific/Hydroponics/seeds.rsi state: seed - type: Item - size: 2 + size: Tiny - type: StaticPrice price: 20 @@ -457,7 +457,7 @@ seedId: watermelon - type: Sprite sprite: Objects/Specific/Hydroponics/watermelon.rsi - + - type: entity parent: SeedBase name: packet of grape seeds @@ -498,7 +498,7 @@ seedId: bungo - type: Sprite sprite: Objects/Specific/Hydroponics/bungo.rsi - + - type: entity parent: SeedBase name: packet of pumpkin seeds diff --git a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml index c939cc9ca1..026c47f176 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml @@ -59,7 +59,7 @@ types: Slash: 10 - type: Item - size: 20 + size: Normal - type: Clothing sprite: Objects/Tools/Hydroponics/scythe.rsi slots: @@ -123,13 +123,13 @@ - type: Sprite sprite: Objects/Specific/Hydroponics/Equipment/plant_bag.rsi state: icon - - type: Item - type: Clothing quickEquip: false slots: - belt - type: Storage - capacity: 200 + maxSlots: 40 + maxItemSize: Small quickInsert: true areaInsert: true whitelist: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml index 333c17b217..d865dd172f 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml @@ -20,7 +20,7 @@ types: Blunt: 5 - type: Item - size: 15 + size: Normal sprite: Objects/Specific/Janitorial/mop.rsi - type: Absorbent - type: SolutionContainerManager @@ -59,7 +59,7 @@ types: Blunt: 5 - type: Item - size: 15 + size: Normal sprite: Objects/Specific/Janitorial/advmop.rsi - type: Absorbent pickupAmount: 100 @@ -203,7 +203,7 @@ sprite: Objects/Specific/Janitorial/wet_floor_sign.rsi - type: Item sprite: Objects/Specific/Janitorial/wet_floor_sign.rsi - size: 15 + size: Normal - type: Armor modifiers: coefficients: @@ -544,7 +544,7 @@ types: Blunt: 0 - type: Item - size: 10 + size: Small sprite: Objects/Specific/Janitorial/rag.rsi - type: Absorbent pickupAmount: 15 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml index 80aace05e7..7f61cf69d4 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml @@ -9,7 +9,8 @@ - state: icon-0 map: ["enum.StorageFillLayers.Fill"] - type: Storage - capacity: 125 + maxTotalWeight: 48 + maxItemSize: Small quickInsert: true areaInsert: true storageOpenSound: @@ -33,7 +34,7 @@ slots: [belt] sprite: Objects/Specific/Janitorial/trashbag.rsi - type: Item - size: 125 + size: Normal - type: entity name: trash bag @@ -55,7 +56,9 @@ parent: TrashBagBlue components: - type: Storage - capacity: 125000 + maxSlots: 100 + maxItemSize: Huge + maxTotalWeight: 200 quickInsert: true areaInsert: true areaInsertRadius: 1000 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml b/Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml index 22faf499f1..20ec7354fb 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml @@ -47,10 +47,9 @@ - key: enum.StorageUiKey.Key type: StorageBoundUserInterface - type: Storage - capacity: 30 - type: TileFrictionModifier - modifier: 0.4 # makes it slide - + modifier: 0.4 # makes it slide + # Add this if freezing/heating container/objects thermodynamics becomes a thing #- type: PowerCellSlot @@ -63,7 +62,7 @@ # cell_slot: # name: power-cell-slot-component-slot-name-default # startingItem: PowerCellMedium - + - type: entity name: Hot Food Cart id: FoodCartHot @@ -73,11 +72,11 @@ - type: Sprite netSync: false noRot: true - sprite: Objects/Specific/Kitchen/food_carts.rsi + sprite: Objects/Specific/Kitchen/food_carts.rsi layers: - state: stand-food - type: Storage - blacklist: + blacklist: tags: - Coldsauce - Hotsauce @@ -100,7 +99,7 @@ whitelist: tags: - Hotsauce - priority: 5 + priority: 5 bbqsauce_slot: name: BBQ Sauce insertSound: /Audio/Items/bottle_clunk.ogg @@ -108,7 +107,7 @@ whitelist: tags: - BBQsauce - priority: 4 + priority: 4 ketchup_slot: name: Ketchup insertSound: /Audio/Items/bottle_clunk.ogg @@ -116,7 +115,7 @@ whitelist: tags: - Ketchup - priority: 3 + priority: 3 - type: ItemMapper mapLayers: cart_hotsauce: @@ -154,7 +153,7 @@ - type: Sprite netSync: false noRot: true - sprite: Objects/Specific/Kitchen/food_carts.rsi + sprite: Objects/Specific/Kitchen/food_carts.rsi layers: - state: stand-ice - type: ContainerContainer diff --git a/Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml index 2ad28399a6..a2675ffaaf 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml @@ -13,9 +13,9 @@ slots: - belt - type: Item - size: 151 + size: Huge - type: Storage - capacity: 150 + maxSlots: 15 quickInsert: true areaInsert: true whitelist: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml index 678cd5ea12..a79e6e9037 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml @@ -44,7 +44,7 @@ abstract: true components: - type: Item - size: 50 + size: Huge - type: entity parent: BaseRipleyPart @@ -172,7 +172,7 @@ abstract: true components: - type: Item - size: 50 + size: Huge - type: entity parent: BaseHonkerPart @@ -300,7 +300,7 @@ abstract: true components: - type: Item - size: 50 + size: Large - type: entity parent: BaseHamtrPart @@ -428,7 +428,7 @@ abstract: true components: - type: Item - size: 10 + size: Small - type: entity parent: BaseVimPartItem diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mecha_equipment.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mecha_equipment.yml index 8539c473b9..ac550b8e61 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mecha_equipment.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mecha_equipment.yml @@ -7,7 +7,7 @@ sprite: Objects/Specific/Mech/mecha_equipment.rsi - type: Item sprite: Objects/Specific/Mech/mecha_equipment.rsi - size: 50 + size: Huge - type: MechEquipment - type: GuideHelp guides: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml index a69147b610..74b0cbb0d9 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml @@ -28,7 +28,7 @@ True: { visible: true } False: { visible: false } - type: Item - size: 50 + size: Normal - type: ItemCooldown - type: Speech speechVerb: Robotic diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/disease.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/disease.yml index 9c67cbb28c..b85f708777 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/disease.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/disease.yml @@ -5,7 +5,7 @@ description: Used for taking and transfering samples. Sterile until open. Single use only. components: - type: Item - size: 1 + size: Tiny - type: Sprite sprite: Objects/Specific/Medical/mouth_swab.rsi state: icon @@ -26,7 +26,7 @@ description: Prevents people who DON'T already have a disease from catching it. components: - type: Item - size: 3 + size: Tiny - type: Sprite sprite: Objects/Specific/Medical/medipen.rsi state: salpen diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index 5083ae4a44..88b7401f74 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -6,7 +6,7 @@ - type: Sprite sprite: Objects/Specific/Medical/medical.rsi - type: Item - size: 10 + size: Small sprite: Objects/Specific/Medical/medical.rsi heldPrefix: ointment # Inherited @@ -54,8 +54,6 @@ - type: Stack stackType: Ointment count: 1 - - type: Item - size: 1 - type: entity id: Ointment10Lingering @@ -105,8 +103,6 @@ - type: Stack stackType: RegenerativeMesh count: 1 - - type: Item - size: 1 - type: entity name: bruise pack @@ -144,8 +140,6 @@ - type: Stack stackType: Brutepack count: 1 - - type: Item - size: 1 - type: entity id: Brutepack10Lingering @@ -193,8 +187,6 @@ - type: Stack stackType: MedicatedSuture count: 1 - - type: Item - size: 1 - type: entity name: blood pack @@ -273,8 +265,6 @@ components: - type: Stack count: 1 - - type: Item - size: 1 - type: entity id: Gauze10Lingering @@ -338,6 +328,16 @@ - ReagentId: Dexalin Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterDexalin + suffix: Dexalin, 7 + components: + - type: StorageFill + contents: + - id: PillDexalin + amount: 7 + - type: entity name: dylovene pill (10u) parent: Pill @@ -351,6 +351,16 @@ - ReagentId: Dylovene Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterDylovene + suffix: Dylovene, 5 + components: + - type: StorageFill + contents: + - id: PillDylovene + amount: 5 + - type: entity name: hyronalin pill (10u) parent: Pill @@ -364,6 +374,16 @@ - ReagentId: Hyronalin Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterHyronalin + suffix: Hyronalin, 5 + components: + - type: StorageFill + contents: + - id: PillHyronalin + amount: 5 + - type: entity name: iron pill (10u) parent: Pill @@ -377,6 +397,16 @@ - ReagentId: Iron Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterIron + suffix: Iron, 5 + components: + - type: StorageFill + contents: + - id: PillIron + amount: 5 + - type: entity name: kelotane pill (10u) parent: Pill @@ -390,6 +420,16 @@ - ReagentId: Kelotane Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterKelotane + suffix: Kelotane, 5 + components: + - type: StorageFill + contents: + - id: PillKelotane + amount: 5 + - type: entity name: dermaline pill (10u) parent: Pill @@ -403,6 +443,16 @@ - ReagentId: Dermaline Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterDermaline + suffix: Dermaline, 5 + components: + - type: StorageFill + contents: + - id: PillDermaline + amount: 5 + - type: entity name: space drugs parent: Pill @@ -429,6 +479,16 @@ - ReagentId: Tricordrazine Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterTricordrazine + suffix: Tricordrazine, 5 + components: + - type: StorageFill + contents: + - id: PillTricordrazine + amount: 5 + - type: entity name: bicaridine pill (10u) parent: Pill @@ -442,6 +502,16 @@ - ReagentId: Bicaridine Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterBicaridine + suffix: Bicaridine, 5 + components: + - type: StorageFill + contents: + - id: PillBicaridine + amount: 5 + - type: entity name: charcoal pill (10u) parent: Pill @@ -458,6 +528,16 @@ - ReagentId: Charcoal Quantity: 10 +- type: entity + parent: PillCanister + id: PillCanisterCharcoal + suffix: Charcoal, 3 + components: + - type: StorageFill + contents: + - id: PillCharcoal + amount: 3 + - type: entity name: romerol pill parent: Pill diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml index dccbbc7328..709bc751a4 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml @@ -101,7 +101,7 @@ map: ["enum.SolutionContainerLayers.Fill"] - type: Item sprite: Objects/Specific/Medical/medipen.rsi - size: 3 + size: Tiny - type: SolutionContainerManager solutions: pen: @@ -291,7 +291,7 @@ map: ["enum.SolutionContainerLayers.Fill"] - type: Item sprite: Objects/Specific/Medical/medipen.rsi - size: 10 + size: Small - type: SolutionContainerManager solutions: pen: @@ -320,7 +320,7 @@ map: ["enum.SolutionContainerLayers.Fill"] - type: Item sprite: Objects/Specific/Medical/medipen.rsi - size: 5 + size: Tiny - type: SolutionContainerManager solutions: pen: @@ -346,7 +346,7 @@ map: ["enum.SolutionContainerLayers.Fill"] - type: Item sprite: Objects/Specific/Medical/medipen.rsi - size: 5 + size: Tiny - 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 400f6670ab..81cda3d5e1 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml @@ -8,9 +8,9 @@ sprite: Objects/Specific/Medical/firstaidkits.rsi state: firstaid - type: Storage - capacity: 60 + maxTotalWeight: 14 - type: Item - size: 60 + size: Normal sprite: Objects/Specific/Medical/firstaidkits.rsi heldPrefix: firstaid - type: Tag @@ -93,7 +93,5 @@ state: blackkit - type: Item heldPrefix: blackkit - size: 50 - - type: Storage - capacity: 50 + size: Normal diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml index 18e502ccdf..1ef73f2396 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml @@ -5,7 +5,7 @@ description: A plastic bag designed for the storage and transportation of cadavers. components: - type: Item - size: 6 + size: Small - type: Sprite drawdepth: SmallObjects # I guess body bags need appear above a coroner's table? sprite: Objects/Specific/Medical/Morgue/bodybags.rsi diff --git a/Resources/Prototypes/Entities/Objects/Specific/Research/rped.yml b/Resources/Prototypes/Entities/Objects/Specific/Research/rped.yml index 268a91c8de..dd9d771ebe 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Research/rped.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Research/rped.yml @@ -9,13 +9,13 @@ state: icon - type: Item sprite: Objects/Specific/Research/rped.rsi - size: 50 + size: Normal - type: GuideHelp guides: - MachineUpgrading - type: PartExchanger - type: Storage - capacity: 150 + maxSlots: 30 quickInsert: true areaInsert: true whitelist: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml index 583aef374a..814ddb30da 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml @@ -14,9 +14,10 @@ slots: - belt - type: Item - size: 176 + size: Huge - type: Storage - capacity: 175 + maxSlots: 5 + maxItemSize: Normal quickInsert: true areaInsert: true whitelist: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml b/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml index 6ada51176c..6abdd790c9 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml @@ -22,7 +22,7 @@ soundSwing: path: /Audio/Weapons/punchmiss.ogg - type: Item - size: 50 + size: Normal - type: Damageable damageContainer: Inorganic damageModifierSet: Metallic diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml index 465e1a458c..6c49fd7a5e 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml @@ -55,7 +55,7 @@ type: IntercomBoundUserInterface - type: Appearance - type: Item - size: 40 + size: Normal sprite: Objects/Specific/Xenoarchaeology/item_artifacts.rsi heldPrefix: ano01 - type: Actions diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml index 0e679c7096..51d705f617 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml @@ -17,7 +17,7 @@ map: [ "enum.SolutionContainerLayers.Fill" ] visible: false - type: Item - size: 20 + size: Normal sprite: Objects/Specific/Chemistry/jug.rsi - type: RefillableSolution solution: beaker diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml index da1a15e238..b869a2008f 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml @@ -46,7 +46,7 @@ - key: enum.TransferAmountUiKey.Key type: TransferAmountBoundUserInterface - type: Item - size: 3 + size: Tiny sprite: Objects/Specific/Chemistry/beaker.rsi - type: Spillable solution: drink diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml index bf323067ac..f3ed4f2284 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml @@ -187,7 +187,7 @@ map: ["enum.SolutionContainerLayers.Fill"] visible: false - type: Item - size: 10 + size: Small sprite: Objects/Specific/Chemistry/beaker_large.rsi - type: SolutionContainerManager solutions: @@ -317,7 +317,7 @@ sprite: Objects/Specific/Chemistry/syringe.rsi state: "syringe_base0" - type: Item - size: 3 + size: Tiny sprite: Objects/Specific/Chemistry/syringe.rsi heldPrefix: 0 - type: SolutionContainerManager @@ -393,7 +393,7 @@ sprite: Objects/Specific/Chemistry/pills.rsi state: pill - type: Item - size: 1 + size: Tiny sprite: Objects/Specific/Chemistry/pills.rsi - type: Pill - type: Food @@ -436,24 +436,22 @@ name: pill canister id: PillCanister parent: BaseStorageItem - description: Holds up to 9 pills. + description: Holds up to 10 pills. components: - type: Sprite sprite: Objects/Specific/Chemistry/pills_canister.rsi state: pill_canister - type: Item sprite: Objects/Specific/Chemistry/pills_canister.rsi + size: Small - type: Tag tags: - PillCanister - type: Storage - capacity: 9 + maxTotalWeight: 10 quickInsert: true areaInsert: true areaInsertRadius: 1 storageInsertSound: /Audio/Effects/pill_insert.ogg storageRemoveSound: /Audio/Effects/pill_remove.ogg - whitelist: - components: - - Pill - type: Dumpable diff --git a/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml b/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml index 81836f9c6c..aa6a64789e 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/syndicate.yml @@ -10,7 +10,7 @@ state: telecrystal - type: Item sprite: Objects/Specific/Syndicate/telecrystal.rsi - size: 20 + size: Tiny - type: Stack count: 20 stackType: Telecrystal @@ -29,8 +29,6 @@ components: - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: Telecrystal @@ -39,8 +37,6 @@ components: - type: Stack count: 5 - - type: Item - size: 5 - type: entity parent: Telecrystal @@ -49,8 +45,6 @@ components: - type: Stack count: 10 - - type: Item - size: 10 # Uplinks - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml b/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml index c8b05c6959..7863cf8c09 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml @@ -11,7 +11,7 @@ sprite: Objects/Tools/access_configurator.rsi state: icon - type: Item - size: 5 + size: Small - type: Clothing sprite: Objects/Tools/access_configurator.rsi quickEquip: false @@ -62,12 +62,12 @@ - type: UserInterface interfaces: - key: enum.AccessOverriderUiKey.Key - type: AccessOverriderBoundUserInterface - - type: ActivatableUI + type: AccessOverriderBoundUserInterface + - type: ActivatableUI key: enum.AccessOverriderUiKey.Key - requireHands: true - closeOnHandDeselect: false - singleUser: true + requireHands: true + closeOnHandDeselect: false + singleUser: true - type: ItemSlots - type: ContainerContainer containers: diff --git a/Resources/Prototypes/Entities/Objects/Tools/bucket.yml b/Resources/Prototypes/Entities/Objects/Tools/bucket.yml index 2a5870908f..c7d62d759b 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/bucket.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/bucket.yml @@ -16,7 +16,7 @@ state: fill-1 visible: false - type: Item - size: 100 + size: Normal - type: Clothing sprite: Objects/Tools/bucket.rsi slots: diff --git a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml index e73d80f83b..1b97467049 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml @@ -19,7 +19,7 @@ sprite: Objects/Tools/cable-coils.rsi - type: Item sprite: Objects/Tools/cable-coils.rsi - size: 30 + size: Normal - type: CablePlacer - type: Clickable - type: StaticPrice @@ -62,8 +62,6 @@ state: coilhv-10 - type: Stack count: 10 - - type: Item - size: 10 - type: entity parent: CableHVStack10 @@ -83,8 +81,6 @@ state: coilhv-10 - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: CableStack @@ -121,8 +117,6 @@ state: coilmv-10 - type: Stack count: 10 - - type: Item - size: 10 - type: entity parent: CableMVStack10 @@ -142,8 +136,6 @@ state: coilmv-10 - type: Stack count: 1 - - type: Item - size: 1 - type: entity parent: CableStack @@ -179,8 +171,6 @@ state: coillv-10 - type: Stack count: 10 - - type: Item - size: 10 - type: entity parent: CableApcStack10 @@ -200,5 +190,3 @@ state: coillv-10 - type: Stack count: 1 - - type: Item - size: 1 diff --git a/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml b/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml index 24eb0b02b2..e6a7a43fa4 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml @@ -127,7 +127,7 @@ - type: Sprite sprite: Objects/Tools/Cowtools/cowelder.rsi - type: Item - size: 10 + size: Small sprite: Objects/Tools/Cowtools/cowelder.rsi - type: Tool speed: 0.05 diff --git a/Resources/Prototypes/Entities/Objects/Tools/fulton.yml b/Resources/Prototypes/Entities/Objects/Tools/fulton.yml index 8e54b4277f..612c8b93b9 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/fulton.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/fulton.yml @@ -28,7 +28,7 @@ mask: - Impassable - type: Item - size: 30 + size: Normal - type: Foldable folded: true - type: Clickable @@ -58,7 +58,7 @@ components: - type: Fulton - type: Item - size: 20 + size: Normal - type: Stack stackType: Fulton count: 10 @@ -84,7 +84,7 @@ suffix: One components: - type: Item - size: 2 + size: Small - type: Stack count: 1 diff --git a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml index 09d9945213..9887d8cdc0 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml @@ -7,7 +7,7 @@ sprite: Objects/Tanks/generic.rsi state: icon - type: Item - size: 15 + size: Normal sprite: Objects/Tanks/generic.rsi - type: Clothing sprite: Objects/Tanks/generic.rsi @@ -100,7 +100,7 @@ - type: Sprite sprite: Objects/Tanks/emergency.rsi - type: Item - size: 10 + size: Small sprite: Objects/Tanks/emergency.rsi - type: GasTank outputPressure: 21.3 diff --git a/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml b/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml index b3d117dced..5c30cfdea3 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml @@ -13,7 +13,7 @@ state: item_wall - type: Item sprite: Objects/Misc/inflatable_wall.rsi - size: 10 + size: Small - type: SpawnAfterInteract prototype: InflatableWall doAfter: 1 @@ -39,7 +39,7 @@ state: item_door - type: Item sprite: Objects/Misc/inflatable_door.rsi - size: 4 + size: Small - type: SpawnAfterInteract prototype: InflatableDoor doAfter: 1 @@ -57,8 +57,6 @@ components: - type: Sprite state: item_wall - - type: Item - size: 5 - type: Stack count: 5 @@ -69,8 +67,6 @@ components: - type: Sprite state: item_wall - - type: Item - size: 1 - type: Stack count: 1 @@ -81,7 +77,5 @@ components: - type: Sprite state: item_door - - type: Item - size: 1 - type: Stack count: 1 diff --git a/Resources/Prototypes/Entities/Objects/Tools/jaws_of_life.yml b/Resources/Prototypes/Entities/Objects/Tools/jaws_of_life.yml index 36f96f61af..31d852354b 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/jaws_of_life.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/jaws_of_life.yml @@ -11,7 +11,7 @@ sprite: Objects/Tools/jaws_of_life.rsi state: jaws_pry - type: Item - size: 50 + size: Normal - type: Clothing sprite: Objects/Tools/jaws_of_life.rsi quickEquip: false @@ -61,7 +61,7 @@ sprite: Objects/Tools/jaws_of_life.rsi state: syn_jaws_pry - type: Item - size: 35 + size: Normal - type: Tool qualities: - Prying diff --git a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml index b87bbae0d8..d63225b2bd 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml @@ -37,7 +37,7 @@ state: icon - type: Item sprite: Objects/Tanks/Jetpacks/blue.rsi - size: 100 + size: Large - type: UserInterface interfaces: - key: enum.SharedGasTankUiKey.Key @@ -153,7 +153,7 @@ - Back - type: Item sprite: Objects/Tanks/Jetpacks/captain.rsi - size: 30 + size: Normal - type: Tag tags: - HighRiskItem diff --git a/Resources/Prototypes/Entities/Objects/Tools/lighters.yml b/Resources/Prototypes/Entities/Objects/Tools/lighters.yml index e3422f2a4a..a3b6b3fd6e 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/lighters.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/lighters.yml @@ -40,7 +40,7 @@ visible: false - state: basic_icon_top - type: Item - size: 1 + size: Tiny sprite: Objects/Tools/lighters.rsi heldPrefix: off - type: ItemCooldown diff --git a/Resources/Prototypes/Entities/Objects/Tools/matches.yml b/Resources/Prototypes/Entities/Objects/Tools/matches.yml index fd7e185cb0..98affd271c 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/matches.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/matches.yml @@ -4,9 +4,10 @@ abstract: true components: - type: Storage - capacity: 10 + maxSlots: 7 + maxTotalWeight: 14 - type: Item - size: 10 + size: Small - type: entity name: match stick @@ -26,7 +27,7 @@ - type: Item sprite: Objects/Tools/matches.rsi heldPrefix: unlit - size: 1 + size: Tiny - type: Matchstick duration: 10 igniteSound: @@ -80,9 +81,10 @@ - type: Item sprite: Objects/Tools/matches.rsi heldPrefix: matchbox - size: 5 + size: Small - type: Storage - capacity: 5 + maxSlots: 5 + maxTotalWeight: 5 - type: StorageFill contents: - id: Matchstick diff --git a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml index e9f0526796..8a1c33df76 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml @@ -8,9 +8,11 @@ sound: path: /Audio/Items/toolbox_drop.ogg - type: Storage - capacity: 60 + maxSlots: 7 + maxItemSize: Normal + maxTotalWeight: 14 - type: Item - size: 9999 + size: Huge - type: ItemCooldown - type: MeleeWeapon damage: @@ -114,7 +116,8 @@ - type: Item sprite: Objects/Tools/Toolboxes/toolbox_syn.rsi - type: Storage - capacity: 170 # this seems silly high + maxItemSize: Large + maxTotalWeight: 28 - type: MeleeWeapon damage: types: diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml index 12a6ede231..566c72dafd 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml @@ -140,7 +140,7 @@ state: icon - type: Item sprite: Objects/Tools/crowbar.rsi - size: 10 + size: Small - type: ItemCooldown - type: MeleeWeapon wideAnimationRotation: -135 @@ -191,7 +191,7 @@ - state: green-unlit shader: unshaded - type: Item - size: 5 + size: Small - type: Clothing sprite: Objects/Tools/multitool.rsi quickEquip: false @@ -240,7 +240,7 @@ map: ["enum.NetworkConfiguratorLayers.ModeLight"] shader: unshaded - type: Item - size: 5 + size: Small - type: Clothing sprite: Objects/Tools/network_configurator.rsi quickEquip: false @@ -290,7 +290,7 @@ state: drill_screw - type: Item sprite: Objects/Tools/drill.rsi - size: 10 + size: Small - type: Tool qualities: - Screwing @@ -346,7 +346,7 @@ sprite: Objects/Tools/rcd.rsi state: icon - type: Item - size: 20 + size: Normal - type: Clothing sprite: Objects/Tools/rcd.rsi quickEquip: false @@ -422,7 +422,7 @@ state: omnitool-screwing - type: Item sprite: Objects/Tools/omnitool.rsi - size: 20 + size: Normal - type: Tag tags: - Multitool @@ -497,7 +497,7 @@ types: Blunt: 14 - type: Item - size: 90 + size: Normal sprite: Objects/Tools/shovel.rsi - type: PhysicalComposition materialComposition: @@ -517,7 +517,7 @@ state: icon - type: Item sprite: Objects/Tools/rolling_pin.rsi - size: 10 + size: Small - type: Clothing sprite: Objects/Tools/rolling_pin.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Tools/welders.yml b/Resources/Prototypes/Entities/Objects/Tools/welders.yml index 7c3de82d0a..caa0d4c208 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/welders.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/welders.yml @@ -17,7 +17,7 @@ shader: unshaded visible: false - type: Item - size: 10 + size: Small sprite: Objects/Tools/welder.rsi - type: ToggleableLightVisuals spriteLayer: flame @@ -142,7 +142,7 @@ - type: Sprite sprite: Objects/Tools/welder_mini.rsi - type: Item - size: 5 + size: Tiny sprite: Objects/Tools/welder_mini.rsi - type: RefillableSolution solution: Welder diff --git a/Resources/Prototypes/Entities/Objects/Vehicles/keys.yml b/Resources/Prototypes/Entities/Objects/Vehicles/keys.yml index f361c2b877..468f1aa3a5 100644 --- a/Resources/Prototypes/Entities/Objects/Vehicles/keys.yml +++ b/Resources/Prototypes/Entities/Objects/Vehicles/keys.yml @@ -5,7 +5,7 @@ description: Interesting design. components: - type: Item - size: 2 + size: Tiny - type: Tag tags: - VehicleKey diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml index c33c1f92c5..84883c975d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml @@ -12,7 +12,7 @@ map: ["base"] - type: Item sprite: Objects/Weapons/Bombs/hot_potato.rsi - size: 5 + size: Small - type: AmbientSound enabled: false range: 8 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml index 4d9fed1f91..e3581370f0 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml @@ -12,7 +12,7 @@ map: ["base"] - type: Item sprite: Objects/Weapons/Bombs/c4.rsi - size: 10 + size: Small - type: OnUseTimerTrigger delay: 10 delayOptions: [10, 30, 60, 120, 300] diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml index 50a7ea8687..8f997b7687 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml @@ -10,7 +10,7 @@ state: icon - type: Item sprite: Objects/Weapons/Bombs/spidercharge.rsi - size: 10 + size: Small - type: SpiderCharge - type: OnUseTimerTrigger delay: 10 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/antimateriel.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/antimateriel.yml index c7980f845f..28157ef345 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/antimateriel.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/antimateriel.yml @@ -12,7 +12,7 @@ proto: CartridgeAntiMateriel capacity: 10 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle.yml index 4a77bfcfc5..063268d8b5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle.yml @@ -12,7 +12,7 @@ proto: CartridgeCaselessRifle capacity: 60 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml index 1c8fbc26e1..0751d3608c 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml @@ -12,7 +12,7 @@ proto: CartridgeLightRifle capacity: 50 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/magnum.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/magnum.yml index 5a9a850e9c..1ff05558e5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/magnum.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/magnum.yml @@ -11,7 +11,7 @@ proto: CartridgeMagnum capacity: 60 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml index a9a78f399a..867aa15a34 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml @@ -12,7 +12,7 @@ proto: CartridgePistol capacity: 60 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml index 3725ad91af..5ed2fcc63e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml @@ -11,7 +11,7 @@ proto: CartridgeRifle capacity: 60 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml index de6f9f92a5..1831db28e7 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml @@ -20,7 +20,7 @@ tags: - Cartridge - type: Item - size: 1 + size: Tiny - type: SpaceGarbage - type: EmitSoundOnLand sound: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle.yml index 773ff01ed8..0d16f1e966 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle.yml @@ -15,7 +15,7 @@ proto: CartridgeCaselessRifle capacity: 30 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container @@ -42,7 +42,7 @@ proto: CartridgeCaselessRifle capacity: 10 - type: Item - size: 3 + size: Tiny - type: Sprite sprite: Objects/Weapons/Guns/Ammunition/Magazine/CaselessRifle/caseless_rifle_mag_short.rsi layers: @@ -67,7 +67,7 @@ proto: CartridgeCaselessRifle capacity: 10 - type: Item - size: 5 + size: Small - type: Sprite sprite: Objects/Weapons/Guns/Ammunition/Magazine/CaselessRifle/caseless_pistol_mag.rsi layers: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/heavy_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/heavy_rifle.yml index 239533c940..d8af7064a4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/heavy_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/heavy_rifle.yml @@ -8,7 +8,7 @@ tags: - MagazineHeavyRifle - type: Item - size: 10 + size: Small - type: BallisticAmmoProvider mayTransfer: true capacity: 100 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml index e586364369..7ae4f32524 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml @@ -16,7 +16,7 @@ proto: CartridgeLightRifle capacity: 30 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml index 6060898d49..b65dac5d15 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml @@ -14,7 +14,7 @@ - CartridgeMagnum capacity: 25 - type: Item - size: 10 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml index 4ed38fdeb3..8793a717e7 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml @@ -14,7 +14,7 @@ - CartridgePistol capacity: 10 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container @@ -47,7 +47,7 @@ - CartridgePistol capacity: 16 - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container @@ -80,7 +80,7 @@ - CartridgePistol capacity: 35 - type: Item - size: 10 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml index ca1f9b8de2..8e65cd992e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml @@ -9,7 +9,7 @@ tags: - MagazineRifle - type: Item - size: 5 + size: Small - type: BallisticAmmoProvider mayTransfer: true whitelist: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/shotgun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/shotgun.yml index b78825f3e1..cbe9bbfbe9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/shotgun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/shotgun.yml @@ -16,7 +16,7 @@ soundRack: path: /Audio/Weapons/Guns/Cock/smg_cock.ogg - type: Item - size: 5 + size: Small - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml index 56d420cb33..86da8e6662 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml @@ -10,7 +10,7 @@ tags: - CartridgeRocket - type: Item - size: 5 + size: Small - type: CartridgeAmmo proto: BulletRocket deleteOnSpawn: true @@ -30,7 +30,7 @@ tags: - CartridgeRocket - type: Item - size: 5 + size: Small - type: CartridgeAmmo proto: BulletWeakRocket deleteOnSpawn: true @@ -52,7 +52,7 @@ tags: - Grenade - type: Item - size: 5 + size: Small - type: Sprite - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_pka.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_pka.yml index 041cf446c1..f85e93b893 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_pka.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_pka.yml @@ -7,7 +7,7 @@ sprite: Objects/Weapons/Guns/Basic/kinetic_accelerator.rsi - type: Item sprite: Objects/Weapons/Guns/Basic/kinetic_accelerator.rsi - size: 30 + size: Normal - type: GunWieldBonus minAngle: -43 maxAngle: -43 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_staff.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_staff.yml index 76bd0b9e75..9cab4cac25 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_staff.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_staff.yml @@ -7,7 +7,7 @@ sprite: Objects/Weapons/Guns/Basic/staves.rsi - type: Item heldPrefix: staff - size: 60 + size: Normal - type: Gun fireRate: 1 selectedMode: SemiAuto diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wand.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wand.yml index 3b97eac8ee..c4a937ee2c 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wand.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wand.yml @@ -7,7 +7,7 @@ sprite: Objects/Weapons/Guns/Basic/wands.rsi - type: Item heldPrefix: wand - size: 30 + size: Normal - type: Gun fireRate: 0.5 selectedMode: SemiAuto diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/spraynozzle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/spraynozzle.yml index d4d00252f5..f2e93a607e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/spraynozzle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/spraynozzle.yml @@ -9,7 +9,7 @@ state: icon - type: Item sprite: Objects/Weapons/Guns/Basic/spraynozzle.rsi - size: 30 + size: Normal - type: Gun cameraRecoilScalar: 0 #no recoil fireRate: 4 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml index a815f9c0cd..e925bdab87 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml @@ -10,7 +10,7 @@ slots: BELT - type: Item sprite: Objects/Weapons/Guns/Pistols/water_pistol.rsi - size: 10 + size: Small - type: Gun clumsyProof: true cameraRecoilScalar: 0 #no recoil @@ -95,7 +95,7 @@ map: [ "enum.DamageStateVisualLayers.Base" ] - type: Item sprite: Objects/Weapons/Guns/Pistols/soaker.rsi - size: 35 + size: Normal - type: RandomSprite getAllGroups: true available: @@ -132,7 +132,7 @@ map: [ "enum.DamageStateVisualLayers.Base" ] - type: Item sprite: Objects/Weapons/Guns/Pistols/soaker.rsi - size: 35 + size: Normal - type: RandomSprite getAllGroups: true available: 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 38875ee9a7..0469f96673 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -5,7 +5,7 @@ components: - type: Sprite - type: Item - size: 50 + size: Large - type: Clothing sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi quickEquip: false @@ -37,7 +37,7 @@ abstract: true components: - type: Item - size: 10 + size: Small - type: Tag tags: - Sidearm @@ -408,7 +408,7 @@ description: An experimental high-energy laser pistol with a self-charging nuclear battery. components: - type: Item - size: 30 # Intentionally larger than other pistols + size: Normal # Intentionally larger than other pistols - type: Sprite sprite: Objects/Weapons/Guns/Battery/advancedlasergun.rsi layers: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Bow/bow.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Bow/bow.yml index 88640f7812..4b7125f571 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Bow/bow.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Bow/bow.yml @@ -8,7 +8,7 @@ - type: Sprite sprite: Objects/Weapons/Guns/Bow/bow.rsi - type: Item - size: 60 + size: Normal - type: Clothing quickEquip: false slots: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml index 785b36cc62..1b318beac8 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml @@ -7,6 +7,7 @@ components: - type: Sprite - type: Item + size: Huge - type: Gun fireRate: 20 selectedMode: FullAuto @@ -33,7 +34,6 @@ map: ["enum.GunVisualLayers.Base"] - type: Item sprite: Objects/Weapons/Guns/HMGs/minigun.rsi - size: 90 - type: Gun fireRate: 15 soundGunshot: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml index 62142519bf..3d6cd680a0 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml @@ -7,7 +7,7 @@ components: - type: Sprite - type: Item - size: 60 + size: Large - type: Clothing sprite: Objects/Weapons/Guns/LMGs/l6.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index 3796ac92b8..2dbf71840c 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -12,7 +12,7 @@ slots: - Back - type: Item - size: 60 + size: Large - type: StaticPrice price: 500 - type: ContainerContainer diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index 7bfd914d94..a6c6f1e677 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -12,7 +12,7 @@ - state: mag-0 map: ["enum.GunVisualLayers.Mag"] - type: Item - size: 10 + size: Small - type: Tag tags: - Sidearm diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/arrows.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/arrows.yml index 32a2ea4623..8dbcf2b303 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/arrows.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/arrows.yml @@ -4,7 +4,7 @@ abstract: true components: - type: Item - size: 10 + size: Small - type: Sprite sprite: Objects/Weapons/Guns/Projectiles/arrows.rsi - type: Fixtures diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml index 1851dcddf6..c523fd2797 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml @@ -8,7 +8,7 @@ - type: Sprite state: icon - type: Item - size: 10 + size: Small - type: Tag tags: - Sidearm @@ -122,7 +122,7 @@ params: volume: 2.25 -- type: entity +- type: entity name: Python parent: WeaponRevolverPython id: WeaponRevolverPythonAP # For the uplink. @@ -155,4 +155,4 @@ - type: RevolverAmmoProvider capacity: 5 chambers: [ True, True, True, True, True ] - ammoSlots: [ null, null, null, null, null ] \ No newline at end of file + ammoSlots: [ null, null, null, null, null ] diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index 114573c087..d460c0c8f0 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -7,7 +7,7 @@ components: - type: Sprite - type: Item - size: 50 + size: Large - type: Clothing sprite: Objects/Weapons/Guns/Rifles/ak.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index e423c09841..6bf6fcf695 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -7,7 +7,7 @@ components: - type: Sprite - type: Item - size: 30 + size: Normal - type: Clothing sprite: Objects/Weapons/Guns/SMGs/atreides.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml index 4bee243d57..5a08eb3636 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml @@ -11,7 +11,7 @@ map: [ "enum.GunVisualLayers.Base" ] - type: Item # If you update this also update the bulldog's size. - size: 30 + size: Large - type: Clothing sprite: Objects/Weapons/Guns/Shotguns/db_shotgun.rsi quickEquip: false @@ -57,8 +57,6 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-0 map: ["enum.GunVisualLayers.Mag"] - - type: Item - size: 30 - type: Clothing sprite: Objects/Weapons/Guns/Shotguns/bulldog.rsi quickEquip: false @@ -137,7 +135,7 @@ - type: Clothing sprite: Objects/Weapons/Guns/Shotguns/enforcer.rsi - type: BallisticAmmoProvider - + - type: entity name: Enforcer parent: BaseWeaponShotgun @@ -151,7 +149,7 @@ sprite: Objects/Weapons/Guns/Shotguns/enforcer.rsi - type: BallisticAmmoProvider proto: ShellShotgunBeanbag - + - type: entity name: Kammerer parent: BaseWeaponShotgun @@ -162,6 +160,8 @@ sprite: Objects/Weapons/Guns/Shotguns/pump.rsi - type: Clothing sprite: Objects/Weapons/Guns/Shotguns/pump.rsi + - type: Item + size: Normal - type: BallisticAmmoProvider capacity: 4 @@ -176,7 +176,7 @@ - type: Clothing sprite: Objects/Weapons/Guns/Shotguns/sawn.rsi - type: Item - size: 10 + size: Small - type: Gun fireRate: 4 - type: BallisticAmmoProvider @@ -210,8 +210,6 @@ sprite: Objects/Weapons/Guns/Shotguns/hm_pistol.rsi - type: Clothing sprite: Objects/Weapons/Guns/Shotguns/hm_pistol.rsi - - type: Item - size: 10 - type: Gun fireRate: 4 - type: BallisticAmmoProvider @@ -245,8 +243,6 @@ sprite: Objects/Weapons/Guns/Shotguns/improvised_shotgun.rsi - type: Clothing sprite: Objects/Weapons/Guns/Shotguns/improvised_shotgun.rsi - - type: Item - size: 75 - type: Gun fireRate: 4 #No reason to stifle the firerate since you have to manually reload every time anyways. - type: BallisticAmmoProvider diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 68c494b888..4a16aadb65 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -10,7 +10,7 @@ - state: base map: ["enum.GunVisualLayers.Base"] - type: Item - size: 50 + size: Large - type: Clothing sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml index d41346380c..cfcc0a01cd 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml @@ -10,7 +10,7 @@ - state: icon map: ["enum.GunVisualLayers.Base"] - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Guns/Shotguns/flaregun.rsi - type: Gun fireRate: 8 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml index 9f3aec5c39..fcd028a64e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml @@ -12,7 +12,7 @@ map: [ "tank" ] visible: false - type: Item - size: 50 + size: Large - type: Clothing quickEquip: false slots: @@ -32,7 +32,9 @@ container: storagebase - type: PneumaticCannon - type: Storage - capacity: 30 + maxSlots: 8 + maxItemSize: Normal + maxTotalWeight: 32 blacklist: tags: - CannonRestrict @@ -75,10 +77,12 @@ layers: - state: piecannon - type: Storage + maxSlots: 8 + maxItemSize: Normal + maxTotalWeight: 32 whitelist: components: - CreamPie - capacity: 40 - type: Gun fireRate: 1 selectedMode: SemiAuto @@ -93,7 +97,7 @@ - type: ContainerAmmoProvider container: storagebase - type: Item - size: 50 + size: Normal - type: Clothing sprite: Objects/Weapons/Guns/Cannons/pie_cannon.rsi quickEquip: false @@ -120,9 +124,13 @@ suffix: Admeme components: - type: Item - size: 9999 + size: Huge - type: Storage - capacity: 9999 + maxSlots: 100 + maxItemSize: Huge + maxTotalWeight: 1600 + whitelist: + tags: [] #dodging a test fail like the IRS - type: PneumaticCannon gasUsage: 0 throwItems: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml index 9e9288c8d4..497876f359 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml @@ -16,7 +16,7 @@ Slash: 25 Piercing: 15 - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/armblade.rsi - type: Tool qualities: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml index c1fc668d59..a1a4f484fa 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml @@ -18,7 +18,7 @@ types: Blunt: 8 - type: Item - size: 80 + size: Normal - type: Tool qualities: - Rolling diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/chainsaw.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/chainsaw.yml index 13f5191c10..bfddd764ca 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/chainsaw.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/chainsaw.yml @@ -31,7 +31,7 @@ Blunt: 5 Structural: 20 - type: Item - size: 50 + size: Normal sprite: Objects/Weapons/Melee/chainsaw.rsi - type: DisarmMalus - type: RefillableSolution diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml index 661ee379b2..ff80144f9f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml @@ -15,7 +15,7 @@ types: Slash: 12 - type: Item - size: 20 + size: Normal - type: Clothing sprite: Objects/Weapons/Melee/cult_dagger.rsi slots: @@ -39,7 +39,7 @@ types: Slash: 33 - type: Item - size: 20 + size: Normal - type: Clothing sprite: Objects/Weapons/Melee/cult_blade.rsi slots: @@ -75,7 +75,7 @@ Slash: 12 Structural: 30 - type: Item - size: 150 + size: Huge - type: Clothing sprite: Objects/Weapons/Melee/cult_halberd.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml index 47dfea9d86..c00fd1ab86 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml @@ -30,7 +30,7 @@ types: Blunt: 4.5 - type: Item - size: 5 + size: Small sprite: Objects/Weapons/Melee/e_sword.rsi - type: UseDelay delay: 1.0 @@ -95,7 +95,7 @@ types: Blunt: 1 - type: Item - size: 2 + size: Tiny sprite: Objects/Weapons/Melee/e_dagger.rsi - type: UseDelay delay: 1.0 @@ -161,7 +161,7 @@ shader: unshaded map: [ "blade" ] - type: Item - size: 5 + size: Small sprite: Objects/Weapons/Melee/e_cutlass.rsi - type: entity @@ -198,7 +198,7 @@ shader: unshaded map: [ "blade" ] - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Melee/e_sword_double.rsi - type: Reflect enabled: true diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml index 1a634e42fb..87eb40dfe5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml @@ -29,7 +29,7 @@ Slash: 10.5 Structural: 60 - type: Item - size: 150 + size: Huge - type: Clothing sprite: Objects/Weapons/Melee/fireaxe.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml index 9e673da49d..ec9717ea22 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml @@ -13,5 +13,5 @@ types: Blunt: 3 #You'd be better off punching people - type: Item - size: 12 + size: Small sprite: Objects/Weapons/Melee/gohei.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index bbd18927e1..98ecaa28a6 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -37,10 +37,9 @@ - Knife - type: Sprite sprite: Objects/Weapons/Melee/kitchen_knife.rsi - size: 2 state: icon - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Melee/kitchen_knife.rsi - type: GuideHelp guides: @@ -57,7 +56,6 @@ - Knife - type: Sprite sprite: Objects/Weapons/Melee/cleaver.rsi - size: 4 state: butch - type: MeleeWeapon wideAnimationRotation: -135 @@ -66,7 +64,7 @@ types: Slash: 10 - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Melee/cleaver.rsi - type: GuideHelp guides: @@ -84,7 +82,7 @@ - Knife - type: Sprite sprite: Objects/Weapons/Melee/combat_knife.rsi - size: 2 + size: Tiny state: icon - type: MeleeWeapon wideAnimationRotation: -135 @@ -93,7 +91,7 @@ types: Slash: 10 - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Melee/combat_knife.rsi - type: DisarmMalus malus: 0.225 @@ -106,10 +104,10 @@ components: - type: Sprite sprite: Objects/Weapons/Melee/survival_knife.rsi - size: 2 + size: Tiny state: icon - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Melee/survival_knife.rsi - type: entity @@ -120,7 +118,7 @@ components: - type: Sprite sprite: Objects/Weapons/Melee/kukri_knife.rsi - size: 2 + size: Tiny state: icon - type: MeleeWeapon attackRate: 1.0 @@ -128,7 +126,7 @@ types: Slash: 15 - type: Item - size: 10 + size: Small sprite: Objects/Weapons/Melee/kukri_knife.rsi - type: entity @@ -147,7 +145,7 @@ node: icon - type: Sprite sprite: Objects/Weapons/Melee/shiv.rsi - size: 2 + size: Tiny state: icon - type: MeleeWeapon attackRate: 1.5 @@ -155,7 +153,7 @@ types: Slash: 5.5 - type: Item - size: 4 #as much as a regular glass shard + size: Tiny #as much as a regular glass shard sprite: Objects/Weapons/Melee/shiv.rsi - type: DisarmMalus malus: 0.225 @@ -169,7 +167,7 @@ - type: Construction graph: ReinforcedShiv node: icon - size: 2 + size: Tiny state: icon - type: MeleeWeapon attackRate: 1.5 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml index f3bb0ceec9..e5046d5c1f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml @@ -57,7 +57,7 @@ Slash: 2.5 - type: GunRequiresWield - type: Item - size: 150 + size: Huge - type: DisarmMalus - type: Tool qualities: @@ -80,7 +80,7 @@ types: Slash: 6.5 - type: Item - size: 10 + size: Small - type: Tag tags: - Knife @@ -112,4 +112,4 @@ wideAnimationRotation: -135 attackRate: 1.25 - type: Item - size: 150 + size: Huge diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/needle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/needle.yml index 48b2d6ad2b..11efeba5f8 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/needle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/needle.yml @@ -13,5 +13,5 @@ types: Piercing: 1 - type: Item - size: 1 + size: Tiny - type: BalloonPopper diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml index a0f497bd26..85f1e4a4c7 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml @@ -26,7 +26,7 @@ types: Structural: 10 - type: Item - size: 80 + size: Normal sprite: Objects/Weapons/Melee/pickaxe.rsi - type: UseDelay delay: 1 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml index d34d29d5eb..037844507f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml @@ -47,7 +47,7 @@ types: Piercing: 15 - type: Item - size: 95 + size: Huge - type: Clothing quickEquip: false slots: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml index 25c9cf6125..87b7c468c3 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml @@ -26,7 +26,7 @@ - type: ItemCooldown - type: Item heldPrefix: off - size: 100 + size: Large - type: Clothing sprite: Objects/Weapons/Melee/stunprod.rsi quickEquip: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index 23160f13ea..9bd9d6c12f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -21,7 +21,7 @@ reflectProb: .5 spread: 90 - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/captain_sabre.rsi - type: Tag tags: @@ -49,7 +49,7 @@ soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/katana.rsi - type: DisarmMalus @@ -68,7 +68,7 @@ types: Slash: 30 - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/energykatana.rsi - type: EnergyKatana - type: DashAbility @@ -105,7 +105,7 @@ soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/machete.rsi - type: DisarmMalus @@ -128,7 +128,7 @@ soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item - size: 20 + size: Normal - type: Clothing sprite: Objects/Weapons/Melee/claymore.rsi slots: @@ -156,6 +156,6 @@ soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/cutlass.rsi - type: DisarmMalus diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/weapon_toolbox.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/weapon_toolbox.yml index b5f8590304..e5a03d5136 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/weapon_toolbox.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/weapon_toolbox.yml @@ -9,7 +9,7 @@ sprite: Objects/Tools/Toolboxes/toolbox_red.rsi state: icon - type: Item - size: 150 + size: Huge sprite: Objects/Tools/Toolboxes/toolbox_red.rsi - type: MeleeWeapon wideAnimationRotation: -135 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/white_cane.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/white_cane.yml index c76ebf4d78..997c3771d5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/white_cane.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/white_cane.yml @@ -8,7 +8,7 @@ sprite: Objects/Weapons/Melee/white_cane.rsi state: icon - type: Item - size: 15 + size: Normal sprite: Objects/Weapons/Melee/white_cane.rsi - type: MeleeWeapon wideAnimationRotation: 45 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml index ebd568c3b8..54ee2d90a5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml @@ -5,7 +5,7 @@ description: Linked together with some spare cuffs and metal. components: - type: Item - size: 20 + size: Normal - type: Sprite sprite: Objects/Weapons/Throwable/bola.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml index 9f18b94d2c..ece4ec4ef4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml @@ -9,7 +9,7 @@ - state: icon map: ["enum.TriggerVisualLayers.Base"] - type: Item - size: 5 + size: Small - type: Clothing quickEquip: false slots: @@ -267,7 +267,7 @@ - state: empty map: [ "enum.ConstructionVisuals.Layer" ] - type: Item - size: 8 + size: Small - type: PayloadCase - type: Construction graph: ModularGrenadeGraph diff --git a/Resources/Prototypes/Entities/Objects/Weapons/security.yml b/Resources/Prototypes/Entities/Objects/Weapons/security.yml index 92e7dbd4c1..bf4a155ee4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/security.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/security.yml @@ -31,7 +31,7 @@ - type: ItemCooldown - type: Item heldPrefix: off - size: 20 + size: Normal - type: Clothing sprite: Objects/Weapons/Melee/stunbaton.rsi quickEquip: false @@ -81,7 +81,7 @@ Blunt: 20 bluntStaminaDamageFactor: 1.5 - type: Item - size: 20 + size: Normal - type: Clothing sprite: Objects\Weapons\Melee\truncheon.rsi quickEquip: false @@ -122,7 +122,7 @@ Blunt: 0 # melee weapon to allow flashing individual targets angle: 10 - type: Item - size: 5 + size: Small sprite: Objects/Weapons/Melee/flash.rsi - type: ItemCooldown - type: StaticPrice diff --git a/Resources/Prototypes/Entities/Objects/base_item.yml b/Resources/Prototypes/Entities/Objects/base_item.yml index 32325603c1..bcc8e0dce4 100644 --- a/Resources/Prototypes/Entities/Objects/base_item.yml +++ b/Resources/Prototypes/Entities/Objects/base_item.yml @@ -4,7 +4,7 @@ abstract: true components: - type: Item - size: 5 + size: Small - type: Clickable - type: InteractionOutline - type: MovedByPressure diff --git a/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml b/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml index 9f1de3ff39..6d5e0e3dcd 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml @@ -47,7 +47,8 @@ - type: Pullable - type: Occluder - type: Storage - capacity: 200 + maxSlots: 32 + maxItemSize: Normal whitelist: tags: - Document diff --git a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml index aaff4e1e28..8d669ab6d2 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml @@ -305,7 +305,7 @@ map: ["foldedLayer"] visible: false - type: Item - size: 50 + size: Large - type: Appearance - type: MeleeWeapon damage: @@ -339,4 +339,4 @@ - type: Rotatable - type: Sprite state: steel-bench - + diff --git a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml index da2b82270f..29061a06b1 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml @@ -25,7 +25,8 @@ - !type:DoActsBehavior acts: [ "Destruction" ] - type: Storage - capacity: 50 + maxSlots: 6 + maxItemSize: Normal - type: ContainerContainer containers: storagebase: !type:Container @@ -67,7 +68,7 @@ - id: ClothingUniformJumpskirtColorPink prob: 0.05 - id: ClothingUniformJumpsuitLoungewear - prob: 0.05 + prob: 0.05 orGroup: dressermainloot - id: Pen # It`s pen. prob: 0.03 @@ -97,7 +98,7 @@ prob: 0.03 orGroup: dressermainloot - id: ClothingUniformJumpsuitColorRed - prob: 0.03 + prob: 0.03 orGroup: dressermainloot - id: ClothingUniformJumpskirtColorRed prob: 0.03 @@ -184,7 +185,7 @@ prob: 0.03 orGroup: dresserthirdloot - id: ClothingUnderSocksCoder - prob: 0.03 + prob: 0.03 orGroup: dressermainloot - id: ClothingUnderSocksBee prob: 0.03 @@ -224,7 +225,7 @@ orGroup: dresserthirdloot - id: PlushieLizard prob: 0.03 - orGroup: dresserthirdloot + orGroup: dresserthirdloot - id: ClothingOuterSuitShrineMaiden prob: 0.03 orGroup: dressersecondloot @@ -423,7 +424,7 @@ - id: BrokenBottle prob: 0.001 orGroup: dressersecondloot - - id: FoodMeatRotten + - id: FoodMeatRotten prob: 0.001 orGroup: dressersecondloot - id: ClothingOuterSkub diff --git a/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml b/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml index 695a529734..406ff7fa48 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml @@ -7,7 +7,7 @@ - type: Transform noRot: true - type: Item - size: 25 + size: Normal - type: Sprite sprite: Structures/Furniture/rollerbeds.rsi noRot: true diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml index 132da2f1a8..1eda94ebf4 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml @@ -8,7 +8,7 @@ mode: SnapgridCenter components: - type: Item - size: 10 + size: Normal - type: Transform anchored: true - type: Damageable diff --git a/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml b/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml index 6fa085646a..4466b21b44 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml @@ -87,7 +87,7 @@ description: Air sensor assembly. An assembly of air sensors? components: - type: Item - size: 10 + size: Small - type: Anchorable - type: Construction graph: AirSensor diff --git a/Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml b/Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml index b79921815b..f0ce9c46d3 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml @@ -6,7 +6,8 @@ description: A cabinet for all your filing needs. components: - type: Storage - capacity: 80 + maxSlots: 12 + maxItemSize: Normal whitelist: tags: - Document @@ -65,7 +66,8 @@ description: A small drawer for all your filing needs, Now with wheels! components: - type: Storage - capacity: 50 + maxSlots: 8 + maxItemSize: Normal whitelist: tags: - Document diff --git a/Resources/Prototypes/Entities/Structures/Storage/ore_box.yml b/Resources/Prototypes/Entities/Structures/Storage/ore_box.yml index 7099e1b45d..6bad8c319f 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/ore_box.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/ore_box.yml @@ -50,7 +50,8 @@ True: { visible: false } False: { visible: true } - type: Storage - capacity: 525 + maxSlots: 60 + maxItemSize: Normal storageOpenSound: /Audio/Effects/closetopen.ogg storageCloseSound: /Audio/Effects/closetclose.ogg whitelist: diff --git a/Resources/Prototypes/XenoArch/Effects/utility_effects.yml b/Resources/Prototypes/XenoArch/Effects/utility_effects.yml index f819946a4d..c9297d901b 100644 --- a/Resources/Prototypes/XenoArch/Effects/utility_effects.yml +++ b/Resources/Prototypes/XenoArch/Effects/utility_effects.yml @@ -52,7 +52,9 @@ storagebase: !type:Container ents: [ ] - type: Storage - capacity: 50 + maxSlots: 5 + maxItemSize: Huge + maxTotalWeight: 40 - type: artifactEffect id: EffectPhasing