]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Revert "Storage TEST MERGE" (#21258)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Thu, 26 Oct 2023 07:46:22 +0000 (18:46 +1100)
committerGitHub <noreply@github.com>
Thu, 26 Oct 2023 07:46:22 +0000 (00:46 -0700)
235 files changed:
Content.Client/Storage/UI/StorageWindow.cs
Content.IntegrationTests/Tests/HumanInventoryUniformSlotsTest.cs
Content.IntegrationTests/Tests/StackTest.cs [new file with mode: 0644]
Content.IntegrationTests/Tests/StorageTest.cs
Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs
Content.Server/Nutrition/EntitySystems/FoodSystem.cs
Content.Server/Storage/Components/SecretStashComponent.cs
Content.Server/Storage/EntitySystems/StorageFillVisualizerSystem.cs
Content.Server/Weapons/Melee/EnergySword/EnergySwordSystem.cs
Content.Shared/Inventory/InventorySystem.Equip.cs
Content.Shared/Item/ItemComponent.cs
Content.Shared/Item/ItemToggleComponent.cs
Content.Shared/Item/SharedItemSystem.cs
Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs
Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
Content.Shared/Storage/StorageComponent.cs
Resources/Locale/en-US/components/storage-component.ftl
Resources/Locale/en-US/items/components/item-component.ftl
Resources/Maps/Shuttles/striker.yml
Resources/Maps/core.yml
Resources/Maps/europa.yml
Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml
Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml
Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml
Resources/Prototypes/Catalog/Fills/Boxes/general.yml
Resources/Prototypes/Catalog/Fills/Boxes/medical.yml
Resources/Prototypes/Catalog/Fills/Boxes/security.yml
Resources/Prototypes/Catalog/Fills/Crates/fun.yml
Resources/Prototypes/Catalog/Fills/Items/belt.yml
Resources/Prototypes/Catalog/Fills/Items/briefcases.yml
Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml
Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml
Resources/Prototypes/Entities/Clothing/Back/backpacks.yml
Resources/Prototypes/Entities/Clothing/Back/duffel.yml
Resources/Prototypes/Entities/Clothing/Back/satchel.yml
Resources/Prototypes/Entities/Clothing/Back/specific.yml
Resources/Prototypes/Entities/Clothing/Belt/base_clothingbelt.yml
Resources/Prototypes/Entities/Clothing/Belt/belts.yml
Resources/Prototypes/Entities/Clothing/Belt/quiver.yml
Resources/Prototypes/Entities/Clothing/Belt/waist_bags.yml
Resources/Prototypes/Entities/Clothing/Ears/headsets.yml
Resources/Prototypes/Entities/Clothing/Eyes/base_clothingeyes.yml
Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml
Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml
Resources/Prototypes/Entities/Clothing/Head/hats.yml
Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml
Resources/Prototypes/Entities/Clothing/Neck/base_clothingneck.yml
Resources/Prototypes/Entities/Clothing/Neck/pins.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml
Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml
Resources/Prototypes/Entities/Clothing/Shoes/specific.yml
Resources/Prototypes/Entities/Clothing/base_clothing.yml
Resources/Prototypes/Entities/Debugging/debug_sweps.yml
Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cartons.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cigarette.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/joints.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/rolling_paper.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/case.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml
Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Pipes/pipe.yml
Resources/Prototypes/Entities/Objects/Decoration/lidsalami.yml
Resources/Prototypes/Entities/Objects/Decoration/present.yml
Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml
Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/chimp_upgrade_kit.yml
Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml
Resources/Prototypes/Entities/Objects/Devices/pda.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml
Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml
Resources/Prototypes/Entities/Objects/Fun/crayons.yml
Resources/Prototypes/Entities/Objects/Fun/darts.yml
Resources/Prototypes/Entities/Objects/Fun/dice.yml
Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml
Resources/Prototypes/Entities/Objects/Fun/puppet.yml
Resources/Prototypes/Entities/Objects/Fun/toys.yml
Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml
Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml
Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml
Resources/Prototypes/Entities/Objects/Materials/ingots.yml
Resources/Prototypes/Entities/Objects/Materials/materials.yml
Resources/Prototypes/Entities/Objects/Materials/ore.yml
Resources/Prototypes/Entities/Objects/Materials/parts.yml
Resources/Prototypes/Entities/Objects/Materials/shards.yml
Resources/Prototypes/Entities/Objects/Misc/bedsheets.yml
Resources/Prototypes/Entities/Objects/Misc/box.yml
Resources/Prototypes/Entities/Objects/Misc/briefcases.yml
Resources/Prototypes/Entities/Objects/Misc/eggspider.yml
Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
Resources/Prototypes/Entities/Objects/Misc/fluff_lights.yml
Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml
Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
Resources/Prototypes/Entities/Objects/Misc/implanters.yml
Resources/Prototypes/Entities/Objects/Misc/improvised_gun_parts.yml
Resources/Prototypes/Entities/Objects/Misc/machine_parts.yml
Resources/Prototypes/Entities/Objects/Misc/medalcase.yml
Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml
Resources/Prototypes/Entities/Objects/Misc/paper.yml
Resources/Prototypes/Entities/Objects/Misc/potatoai_chip.yml
Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml
Resources/Prototypes/Entities/Objects/Power/antimatter_jar.yml
Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml
Resources/Prototypes/Entities/Objects/Power/powersink.yml
Resources/Prototypes/Entities/Objects/Power/solar_parts.yml
Resources/Prototypes/Entities/Objects/Shields/shields.yml
Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml
Resources/Prototypes/Entities/Objects/Specific/Chemistry/chem_bag.yml
Resources/Prototypes/Entities/Objects/Specific/Forensics/forensics.yml
Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml
Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml
Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml
Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml
Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml
Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml
Resources/Prototypes/Entities/Objects/Specific/Mech/mecha_equipment.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/disease.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml
Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml
Resources/Prototypes/Entities/Objects/Specific/Research/rped.yml
Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml
Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml
Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml
Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml
Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml
Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
Resources/Prototypes/Entities/Objects/Specific/syndicate.yml
Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml
Resources/Prototypes/Entities/Objects/Tools/bucket.yml
Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml
Resources/Prototypes/Entities/Objects/Tools/cowtools.yml
Resources/Prototypes/Entities/Objects/Tools/fulton.yml
Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml
Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml
Resources/Prototypes/Entities/Objects/Tools/jaws_of_life.yml
Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml
Resources/Prototypes/Entities/Objects/Tools/lighters.yml
Resources/Prototypes/Entities/Objects/Tools/matches.yml
Resources/Prototypes/Entities/Objects/Tools/toolbox.yml
Resources/Prototypes/Entities/Objects/Tools/tools.yml
Resources/Prototypes/Entities/Objects/Tools/welders.yml
Resources/Prototypes/Entities/Objects/Vehicles/keys.yml
Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml
Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml
Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/antimateriel.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/magnum.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/base_cartridge.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/heavy_rifle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/shotgun.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_pka.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_staff.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wand.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/spraynozzle.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Bow/bow.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/arrows.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/chainsaw.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/needle.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/weapon_toolbox.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/white_cane.yml
Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml
Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml
Resources/Prototypes/Entities/Objects/Weapons/security.yml
Resources/Prototypes/Entities/Objects/base_item.yml
Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml
Resources/Prototypes/Entities/Structures/Furniture/chairs.yml
Resources/Prototypes/Entities/Structures/Furniture/dresser.yml
Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml
Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml
Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml
Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml
Resources/Prototypes/Entities/Structures/Storage/ore_box.yml
Resources/Prototypes/XenoArch/Effects/utility_effects.yml

index 325cbd8a6a4ba6c63ff14f54fbd8b6818796169b..1af50cb147d504e5747a3ddd32a1e720e32d566f 100644 (file)
@@ -1,15 +1,16 @@
 using System.Numerics;
-using Content.Client.Message;
+using Robust.Client.GameObjects;
 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;
 
@@ -22,9 +23,7 @@ namespace Content.Client.Storage.UI
     {
         private readonly IEntityManager _entityManager;
 
-        private readonly SharedStorageSystem _storage;
-
-        private readonly RichTextLabel _information;
+        private readonly Label _information;
         public readonly ContainerButton StorageContainerButton;
         public readonly ListContainer EntityList;
         private readonly StyleBoxFlat _hoveredBox = new() { BackgroundColor = Color.Black.WithAlpha(0.35f) };
@@ -33,7 +32,6 @@ namespace Content.Client.Storage.UI
         public StorageWindow(IEntityManager entityManager)
         {
             _entityManager = entityManager;
-            _storage = _entityManager.System<SharedStorageSystem>();
             SetSize = new Vector2(240, 320);
             Title = Loc.GetString("comp-storage-window-title");
             RectClipContent = true;
@@ -62,14 +60,11 @@ namespace Content.Client.Storage.UI
 
             StorageContainerButton.AddChild(vBox);
 
-            _information = new RichTextLabel
+            _information = new Label
             {
+                Text = Loc.GetString("comp-storage-window-volume", ("itemCount", 0), ("usedVolume", 0), ("maxVolume", 0)),
                 VerticalAlignment = VAlignment.Center
             };
-            _information.SetMessage(Loc.GetString("comp-storage-window-volume",
-                ("itemCount", 0),
-                ("maxCount", 0),
-                ("size", SharedItemSystem.GetItemSizeLocale(ItemSize.Normal))));
 
             vBox.AddChild(_information);
 
@@ -106,23 +101,15 @@ namespace Content.Client.Storage.UI
 
             EntityList.PopulateList(list);
 
-            SetStorageInformation((entity, component));
-        }
-
-        private void SetStorageInformation(Entity<StorageComponent> uid)
-        {
-            if (uid.Comp.MaxSlots != uid.Comp.Container.ContainedEntities.Count
-                && _storage.GetCumulativeItemSizes(uid, uid.Comp) == _storage.GetMaxTotalWeight((uid, uid.Comp)))
+            // Sets information about entire storage container current capacity
+            if (component.StorageCapacityMax != 0)
             {
-                _information.SetMarkup(Loc.GetString("comp-storage-window-volume-full",
-                    ("size", SharedItemSystem.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp))))));
+                _information.Text = Loc.GetString("comp-storage-window-volume", ("itemCount", storedCount),
+                    ("usedVolume", component.StorageUsed), ("maxVolume", component.StorageCapacityMax));
             }
             else
             {
-                _information.SetMarkup(Loc.GetString("comp-storage-window-volume",
-                    ("itemCount", uid.Comp.Container.ContainedEntities.Count),
-                    ("maxCount", uid.Comp.MaxSlots),
-                    ("size", SharedItemSystem.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp))))));
+                _information.Text = Loc.GetString("comp-storage-window-volume-unlimited", ("itemCount", storedCount));
             }
         }
 
@@ -135,9 +122,10 @@ namespace Content.Client.Storage.UI
                 || !_entityManager.EntityExists(entity))
                 return;
 
-            _entityManager.TryGetComponent(entity, out StackComponent? stack);
             _entityManager.TryGetComponent(entity, out ItemComponent? item);
+            _entityManager.TryGetComponent(entity, out StackComponent? stack);
             var count = stack?.Count ?? 1;
+            var size = item?.Size;
 
             var spriteView = new SpriteView
             {
@@ -159,14 +147,12 @@ namespace Content.Client.Storage.UI
                             HorizontalExpand = true,
                             ClipText = true,
                             Text = _entityManager.GetComponent<MetaDataComponent>(Identity.Entity(entity, _entityManager)).EntityName +
-                                   (count > 1 ? $" x {count}" : string.Empty)
+                                   (count > 1 ? $" x {count}" : string.Empty),
                         },
                         new Label
                         {
                             Align = Label.AlignMode.Right,
-                            Text = item?.Size != null
-                                ? SharedItemSystem.GetItemSizeLocale(item.Size)
-                                : Loc.GetString("comp-storage-no-item-size")
+                            Text = size.ToString() ?? Loc.GetString("comp-storage-no-item-size"),
                         }
                     }
             });
index 4bba605f0ae43a58687cd9591d7acd15ae35c3d7..3ea3dd7916b17c3fd78b85a2f2695db3b859cfd2 100644 (file)
@@ -26,7 +26,7 @@ namespace Content.IntegrationTests.Tests
   - type: Clothing
     slots: [innerclothing]
   - type: Item
-    size: Tiny
+    size: 5
 
 - type: entity
   name: IDCardDummy
@@ -36,7 +36,7 @@ namespace Content.IntegrationTests.Tests
     slots:
     - idcard
   - type: Item
-    size: Tiny
+    size: 5
   - type: IdCard
 
 - type: entity
@@ -44,14 +44,14 @@ namespace Content.IntegrationTests.Tests
   id: FlashlightDummy
   components:
   - type: Item
-    size: Tiny
+    size: 5
 
 - type: entity
   name: ToolboxDummy
   id: ToolboxDummy
   components:
   - type: Item
-    size: Huge
+    size: 9999
 ";
         [Test]
         public async Task Test()
diff --git a/Content.IntegrationTests/Tests/StackTest.cs b/Content.IntegrationTests/Tests/StackTest.cs
new file mode 100644 (file)
index 0000000..a34dd7e
--- /dev/null
@@ -0,0 +1,39 @@
+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<IPrototypeManager>();
+        var compFact = server.ResolveDependency<IComponentFactory>();
+
+        Assert.Multiple(() =>
+        {
+            foreach (var entity in PoolManager.GetPrototypesWithComponent<StackComponent>(server))
+            {
+                if (!entity.TryGetComponent<StackComponent>(out var stackComponent, compFact) ||
+                    !entity.TryGetComponent<ItemComponent>(out var itemComponent, compFact))
+                    continue;
+
+                if (!protoManager.TryIndex<StackPrototype>(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();
+    }
+}
index de3b7f149d0d4122afe630f819cb086b5e725038..ea7f3f5866d25474c6ee3ed6abdd103ee85489b4 100644 (file)
@@ -3,12 +3,11 @@ 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
 {
@@ -33,11 +32,9 @@ namespace Content.IntegrationTests.Tests
                 {
                     if (!proto.TryGetComponent<StorageComponent>("Storage", out var storage) ||
                         storage.Whitelist != null ||
-                        storage.MaxItemSize == null ||
-                        !proto.TryGetComponent<ItemComponent>("Item", out var item))
-                        continue;
+                        !proto.TryGetComponent<ItemComponent>("Item", out var item)) continue;
 
-                    Assert.That(storage.MaxItemSize.Value, Is.LessThan(item.Size), $"Found storage arbitrage on {proto.ID}");
+                    Assert.That(storage.StorageCapacityMax, Is.LessThanOrEqualTo(item.Size), $"Found storage arbitrage on {proto.ID}");
                 }
             });
             await pair.CleanReturnAsync();
@@ -85,120 +82,69 @@ namespace Content.IntegrationTests.Tests
             {
                 foreach (var proto in PoolManager.GetPrototypesWithComponent<StorageFillComponent>(server))
                 {
-                    if (proto.HasComponent<EntityStorageComponent>(compFact))
-                        continue;
+                    int capacity;
+                    var isEntStorage = false;
 
-                    if (!proto.TryGetComponent<StorageComponent>("Storage", out var storage))
+                    if (proto.TryGetComponent<StorageComponent>("Storage", out var storage))
                     {
-                        Assert.Fail($"Entity {proto.ID} has storage-fill without a storage component!");
-                        continue;
+                        capacity = storage.StorageCapacityMax;
                     }
-
-                    proto.TryGetComponent<ItemComponent>("Item", out var item);
-
-                    var maxSize = storage.MaxItemSize ??
-                                  (item?.Size == null
-                                      ? SharedStorageSystem.DefaultStorageMaxItemSize
-                                      : (ItemSize) Math.Max(0, (int) item.Size - 1));
-
-                    var capacity = storage.MaxTotalWeight ??
-                                   storage.MaxSlots * SharedItemSystem.GetItemSizeWeight(storage.MaxItemSize ?? maxSize);
-
-                    var fill = (StorageFillComponent) proto.Components[id].Component;
-                    var size = GetFillSize(fill, false, protoMan);
-
-                    Assert.That(size, Is.LessThanOrEqualTo(capacity), $"{proto.ID} storage fill is too large.");
-                    Assert.That(GetFillSize(fill, true, protoMan), Is.LessThanOrEqualTo(storage.MaxSlots), $"{proto.ID} storage fill has too many items.");
-
-                    foreach (var entry in fill.Contents)
+                    else if (proto.TryGetComponent<EntityStorageComponent>("EntityStorage", out var entStorage))
                     {
-                        if (entry.PrototypeId == null)
-                            continue;
-
-                        if (!protoMan.TryIndex<EntityPrototype>(entry.PrototypeId, out var fillItem))
-                            continue;
-
-                        if (!fillItem.TryGetComponent<ItemComponent>("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");
+                        capacity = entStorage.Capacity;
+                        isEntStorage = true;
                     }
-                }
-            });
-
-            await pair.CleanReturnAsync();
-
-        }
-
-        [Test]
-        public async Task TestSufficientSpaceForEntityStorageFill()
-        {
-            await using var pair = await PoolManager.GetServerClient();
-            var server = pair.Server;
-
-            var protoMan = server.ResolveDependency<IPrototypeManager>();
-            var compFact = server.ResolveDependency<IComponentFactory>();
-            var id = compFact.GetComponentName(typeof(StorageFillComponent));
-
-            Assert.Multiple(() =>
-            {
-                foreach (var proto in PoolManager.GetPrototypesWithComponent<StorageFillComponent>(server))
-                {
-                    if (proto.HasComponent<StorageComponent>(compFact))
-                        continue;
-
-                    if (!proto.TryGetComponent<EntityStorageComponent>("EntityStorage", out var entStorage))
+                    else
                     {
                         Assert.Fail($"Entity {proto.ID} has storage-fill without a storage component!");
                         continue;
                     }
 
                     var fill = (StorageFillComponent) proto.Components[id].Component;
-                    var size = GetFillSize(fill, true, protoMan);
-                    Assert.That(size, Is.LessThanOrEqualTo(entStorage.Capacity),
-                        $"{proto.ID} storage fill is too large.");
+                    var size = GetFillSize(fill, isEntStorage);
+                    Assert.That(size, Is.LessThanOrEqualTo(capacity), $"{proto.ID} storage fill is too large.");
                 }
             });
-            await pair.CleanReturnAsync();
-        }
 
-        private int GetEntrySize(EntitySpawnEntry entry, bool getCount, IPrototypeManager protoMan)
-        {
-            if (entry.PrototypeId == null)
-                return 0;
-
-            if (!protoMan.TryIndex<EntityPrototype>(entry.PrototypeId, out var proto))
+            int GetEntrySize(EntitySpawnEntry entry, bool isEntStorage)
             {
-                Assert.Fail($"Unknown prototype: {entry.PrototypeId}");
-                return 0;
-            }
+                if (entry.PrototypeId == null)
+                    return 0;
 
-            if (getCount)
-                return entry.Amount;
+                if (!protoMan.TryIndex<EntityPrototype>(entry.PrototypeId, out var proto))
+                {
+                    Assert.Fail($"Unknown prototype: {entry.PrototypeId}");
+                    return 0;
+                }
 
-            if (proto.TryGetComponent<ItemComponent>("Item", out var item))
-                return SharedItemSystem.GetItemSizeWeight(item.Size) * entry.Amount;
+                if (isEntStorage)
+                    return entry.Amount;
 
-            Assert.Fail($"Prototype is missing item comp: {entry.PrototypeId}");
-            return 0;
-        }
+                if (proto.TryGetComponent<ItemComponent>("Item", out var item))
+                    return item.Size * entry.Amount;
 
-        private int GetFillSize(StorageFillComponent fill, bool getCount, IPrototypeManager protoMan)
-        {
-            var totalSize = 0;
-            var groups = new Dictionary<string, int>();
-            foreach (var entry in fill.Contents)
+                Assert.Fail($"Prototype is missing item comp: {entry.PrototypeId}");
+                return 0;
+            }
+
+            int GetFillSize(StorageFillComponent fill, bool isEntStorage)
             {
-                var size = GetEntrySize(entry, getCount, protoMan);
+                var totalSize = 0;
+                var groups = new Dictionary<string, int>();
+                foreach (var entry in fill.Contents)
+                {
+                    var size = GetEntrySize(entry, isEntStorage);
 
-                if (entry.GroupId == null)
-                    totalSize += size;
-                else
-                    groups[entry.GroupId] = Math.Max(size, groups.GetValueOrDefault(entry.GroupId));
+                    if (entry.GroupId == null)
+                        totalSize += size;
+                    else
+                        groups[entry.GroupId] = Math.Max(size, groups.GetValueOrDefault(entry.GroupId));
+                }
+
+                return totalSize + groups.Values.Sum();
             }
 
-            return totalSize + groups.Values.Sum();
+            await pair.CleanReturnAsync();
         }
     }
 }
index a35cb7703d2cc332e4eaf4a6fad6b7f46155a335..a831165e688eecea6c26bd77b9d9b7b147c4e8a9 100644 (file)
@@ -180,13 +180,14 @@ 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))
+                || !TryComp(container, out StorageComponent? storage)
+                || storage.Container is null)
             {
                 return; // output can't fit pills
             }
 
             // Ensure the number is valid.
-            if (message.Number == 0 || !_storageSystem.HasSpace((container, storage)))
+            if (message.Number == 0 || message.Number > storage.StorageCapacityMax - storage.StorageUsed)
                 return;
 
             // Ensure the amount is valid.
@@ -344,7 +345,7 @@ namespace Content.Server.Chemistry.EntitySystems
                 }
             }
 
-            if (!TryComp(container, out StorageComponent? storage) || storage.Container == null)
+            if (!TryComp(container, out StorageComponent? storage))
                 return null;
 
             var pills = storage.Container?.ContainedEntities.Select((Func<EntityUid, (string, FixedPoint2 quantity)>) (pill =>
@@ -357,7 +358,7 @@ namespace Content.Server.Chemistry.EntitySystems
             if (pills == null)
                 return null;
 
-            return new ContainerInfo(name, storage.Container!.ContainedEntities.Count, storage.MaxSlots)
+            return new ContainerInfo(name, storage.StorageUsed, storage.StorageCapacityMax)
             {
                 Entities = pills
             };
index 758d42356e45942c081e43744c85413686037426..ff4ec41dd99ceeec2fdbc88ebdb108b22f24b975 100644 (file)
@@ -1,4 +1,3 @@
-using System.Linq;
 using Content.Server.Body.Components;
 using Content.Server.Body.Systems;
 using Content.Server.Inventory;
@@ -123,7 +122,7 @@ public sealed class FoodSystem : EntitySystem
             return (false, false);
 
         // Check for used storage on the food item
-        if (TryComp<StorageComponent>(food, out var storageState) && storageState.Container.ContainedEntities.Any())
+        if (TryComp<StorageComponent>(food, out var storageState) && storageState.StorageUsed != 0)
         {
             _popup.PopupEntity(Loc.GetString("food-has-used-storage", ("food", food)), user, user);
             return (false, true);
index 6c7095617c2ec22730b9479643a5cf6c6a29da3b..60d0c829e90b52c50dbe5074ccb91f01260a5a1d 100644 (file)
@@ -19,7 +19,7 @@ namespace Content.Server.Storage.Components
         ///     Max item size that can be fitted into secret stash.
         /// </summary>
         [DataField("maxItemSize")]
-        public ItemSize MaxItemSize = ItemSize.Small;
+        public int MaxItemSize = (int) ReferenceSizes.Pocket;
 
         /// <summary>
         ///     IC secret stash name. For example "the toilet cistern".
index 5fbd3284991e2241ac149d46da2616866beb3102..ed48de2e4501da33b9542aba87be7ed77f0560db 100644 (file)
@@ -1,6 +1,7 @@
 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;
@@ -12,12 +13,12 @@ public sealed class StorageFillVisualizerSystem : EntitySystem
     public override void Initialize()
     {
         base.Initialize();
-        SubscribeLocalEvent<StorageFillVisualizerComponent, ComponentStartup>(OnStartup);
+        SubscribeLocalEvent<StorageFillVisualizerComponent, ComponentInit>(OnInit);
         SubscribeLocalEvent<StorageFillVisualizerComponent, EntInsertedIntoContainerMessage>(OnInserted);
         SubscribeLocalEvent<StorageFillVisualizerComponent, EntRemovedFromContainerMessage>(OnRemoved);
     }
 
-    private void OnStartup(EntityUid uid, StorageFillVisualizerComponent component, ComponentStartup args)
+    private void OnInit(EntityUid uid, StorageFillVisualizerComponent component, ComponentInit args)
     {
         UpdateAppearance(uid, component: component);
     }
@@ -41,7 +42,7 @@ public sealed class StorageFillVisualizerSystem : EntitySystem
         if (component.MaxFillLevels < 1)
             return;
 
-        var level = ContentHelpers.RoundToEqualLevels(storage.Container.ContainedEntities.Count, storage.MaxSlots, component.MaxFillLevels);
+        var level = ContentHelpers.RoundToEqualLevels(storage.StorageUsed, storage.StorageCapacityMax, component.MaxFillLevels);
         _appearance.SetData(uid, StorageFillVisuals.FillLevel, level, appearance);
     }
 }
index 80316d64f9ae47b0a51ef71b82538839c04bacf1..fcd42f5a2884a4ea90a5c92b396e8bfdc8067211 100644 (file)
@@ -98,7 +98,7 @@ public sealed class EnergySwordSystem : EntitySystem
     {
         if (TryComp(uid, out ItemComponent? item))
         {
-            _item.SetSize(uid, ItemSize.Small, item);
+            _item.SetSize(uid, 5, item);
         }
 
         if (TryComp<DisarmMalusComponent>(uid, out var malus))
@@ -125,7 +125,7 @@ public sealed class EnergySwordSystem : EntitySystem
     {
         if (TryComp(uid, out ItemComponent? item))
         {
-            _item.SetSize(uid, ItemSize.Huge, item);
+            _item.SetSize(uid, 9999, item);
         }
 
         if (comp.IsSharp)
index 23c0fbd0a2d29ade27b942c399d9208882f4ecba..90c9f0e1e0fddfa06c89412caf979a6b972cf8a2 100644 (file)
@@ -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: <= ItemSize.Small };
+        var fittingInPocket = slotDefinition.SlotFlags.HasFlag(SlotFlags.POCKET) && item is { Size: <= (int) ReferenceSizes.Pocket };
         if (clothing == null && !fittingInPocket
             || clothing != null && !clothing.Slots.HasFlag(slotDefinition.SlotFlags) && !fittingInPocket)
         {
index 6d91f7cb4e92acc4284da561149f934a257cdd36..7516f4faca37045614b13146492ed4b3f921b790 100644 (file)
@@ -13,17 +13,18 @@ namespace Content.Shared.Item;
 [Access(typeof(SharedItemSystem))]
 public sealed partial class ItemComponent : Component
 {
-    [DataField, ViewVariables(VVAccess.ReadWrite)]
-    [Access(typeof(SharedItemSystem))]
-    public ItemSize Size = ItemSize.Small;
+    [ViewVariables(VVAccess.ReadWrite)]
+    [DataField("size")]
+    [Access(typeof(SharedItemSystem), Other = AccessPermissions.ReadExecute)]
+    public int Size = 5;
 
     [Access(typeof(SharedItemSystem))]
-    [DataField]
+    [DataField("inhandVisuals")]
     public Dictionary<HandLocation, List<PrototypeLayerData>> InhandVisuals = new();
 
     [Access(typeof(SharedItemSystem))]
     [ViewVariables(VVAccess.ReadWrite)]
-    [DataField]
+    [DataField("heldPrefix")]
     public string? HeldPrefix;
 
     /// <summary>
@@ -38,10 +39,10 @@ public sealed partial class ItemComponent : Component
 [Serializable, NetSerializable]
 public sealed class ItemComponentState : ComponentState
 {
-    public ItemSize Size { get; }
+    public int Size { get; }
     public string? HeldPrefix { get; }
 
-    public ItemComponentState(ItemSize size, string? heldPrefix)
+    public ItemComponentState(int size, string? heldPrefix)
     {
         Size = size;
         HeldPrefix = heldPrefix;
@@ -65,43 +66,6 @@ public sealed class VisualsChangedEvent : EntityEventArgs
     }
 }
 
-/// <summary>
-/// Abstracted sizes for items.
-/// Used to determine what can fit into inventories.
-/// </summary>
-public enum ItemSize
-{
-    /// <summary>
-    /// Items that can be held completely in one's hand.
-    /// </summary>
-    Tiny = 1,
-
-    /// <summary>
-    /// Items that can fit inside of a standard pocket.
-    /// </summary>
-    Small = 2,
-
-    /// <summary>
-    /// Items that can fit inside of a standard bag.
-    /// </summary>
-    Normal = 3,
-
-    /// <summary>
-    /// Items that are too large to fit inside of standard bags, but can worn in exterior slots or placed in custom containers.
-    /// </summary>
-    Large = 4,
-
-    /// <summary>
-    /// Items that are too large to place inside of any kind of container.
-    /// </summary>
-    Huge = 5,
-
-    /// <summary>
-    /// Picture furry gf
-    /// </summary>
-    Ginormous = 6
-}
-
 /// <summary>
 ///     Reference sizes for common containers and items.
 /// </summary>
index 250306f8c72fce8569396557561bc5d58b60670d..fda4d0904a643a98103564b6f58e3dcb5ec9a83b 100644 (file)
@@ -1,4 +1,3 @@
-using Content.Shared.Item;
 using Robust.Shared.Audio;
 using Robust.Shared.GameStates;
 
@@ -21,11 +20,11 @@ public sealed partial class ItemToggleComponent : Component
 
     [ViewVariables(VVAccess.ReadWrite)]
     [DataField("offSize")]
-    public ItemSize OffSize = ItemSize.Small;
+    public int OffSize = 1;
 
     [ViewVariables(VVAccess.ReadWrite)]
     [DataField("onSize")]
-    public ItemSize OnSize = ItemSize.Huge;
+    public int OnSize = 9999;
 }
 
 [ByRefEvent]
index d7e7b3630fc2402764b31bd1100d5efcce7732cf..5f890af99fdb41b5dd481b994dd2d4baa4aed181 100644 (file)
@@ -1,27 +1,23 @@
+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 const int ItemSizeWeightTiny = 1;
-    public const int ItemSizeWeightSmall = 2;
-    public const int ItemSizeWeightNormal = 4;
-    public const int ItemSizeWeightLarge = 8;
-    public const int ItemSizeWeightHuge = 16;
-    public const int ItemSizeWeightGinormous = 32;
-
     public override void Initialize()
     {
         base.Initialize();
@@ -37,13 +33,13 @@ public abstract class SharedItemSystem : EntitySystem
 
     #region Public API
 
-    public void SetSize(EntityUid uid, ItemSize size, ItemComponent? component = null)
+    public void SetSize(EntityUid uid, int size, ItemComponent? component = null)
     {
         if (!Resolve(uid, ref component, false))
             return;
 
         component.Size = size;
-        Dirty(uid, component);
+        Dirty(component);
     }
 
     public void SetHeldPrefix(EntityUid uid, string? heldPrefix, ItemComponent? component = null)
@@ -55,7 +51,7 @@ public abstract class SharedItemSystem : EntitySystem
             return;
 
         component.HeldPrefix = heldPrefix;
-        Dirty(uid, component);
+        Dirty(component);
         VisualsChanged(uid);
     }
 
@@ -71,7 +67,7 @@ public abstract class SharedItemSystem : EntitySystem
         item.InhandVisuals = otherItem.InhandVisuals;
         item.HeldPrefix = otherItem.HeldPrefix;
 
-        Dirty(uid, item);
+        Dirty(item);
         VisualsChanged(uid);
     }
 
@@ -87,7 +83,14 @@ public abstract class SharedItemSystem : EntitySystem
 
     protected virtual void OnStackCountChanged(EntityUid uid, ItemComponent component, StackCountChangedEvent args)
     {
+        if (!TryComp<StackComponent>(uid, out var stack))
+            return;
 
+        if (!_prototype.TryIndex<StackPrototype>(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)
@@ -132,7 +135,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", GetItemSizeLocale(component.Size))));
+            ("size", component.Size)));
     }
 
     /// <summary>
@@ -145,32 +148,4 @@ 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)
-    {
-        switch (size)
-        {
-            case ItemSize.Tiny:
-                return ItemSizeWeightTiny;
-            case ItemSize.Small:
-                return ItemSizeWeightSmall;
-            case ItemSize.Normal:
-                return ItemSizeWeightNormal;
-            case ItemSize.Large:
-                return ItemSizeWeightLarge;
-            case ItemSize.Huge:
-                return ItemSizeWeightHuge;
-            case ItemSize.Ginormous:
-                return ItemSizeWeightGinormous;
-            default:
-                throw new ArgumentOutOfRangeException(nameof(size), size, null);
-        }
-    }
 }
index c7505ab3c0c459e576bf9b39ff83fb30a256dca8..16657bdae4af7b094e5da033fbd42c7847b97a46 100644 (file)
@@ -1,7 +1,10 @@
 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;
@@ -53,7 +56,7 @@ public sealed class MagnetPickupSystem : EntitySystem
             comp.NextScan += ScanDelay;
 
             // No space
-            if (!_storage.HasSpace((uid, storage)))
+            if (storage.StorageUsed >= storage.StorageCapacityMax)
                 continue;
 
             if (!_inventory.TryGetContainingSlot(uid, out var slotDef))
index 798d768191cfb766d6e36cc884dd1ba0d895760c..5faec99fd5b7a9d339163f88d12456f9bda62afc 100644 (file)
@@ -4,6 +4,7 @@ using Content.Shared.CombatMode;
 using Content.Shared.Containers.ItemSlots;
 using Content.Shared.Destructible;
 using Content.Shared.DoAfter;
+using Content.Shared.Hands;
 using Content.Shared.Hands.Components;
 using Content.Shared.Hands.EntitySystems;
 using Content.Shared.Implants.Components;
@@ -45,8 +46,6 @@ public abstract class SharedStorageSystem : EntitySystem
     private EntityQuery<StackComponent> _stackQuery;
     private EntityQuery<TransformComponent> _xformQuery;
 
-    public const ItemSize DefaultStorageMaxItemSize = ItemSize.Normal;
-
     /// <inheritdoc />
     public override void Initialize()
     {
@@ -90,7 +89,6 @@ 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;
 
@@ -231,7 +229,7 @@ public abstract class SharedStorageSystem : EntitySystem
                 return;
             }
 
-            if (_xformQuery.TryGetComponent(uid, out var transformOwner) && TryComp<TransformComponent>(target, out var transformEnt))
+            if (TryComp<TransformComponent>(uid, out var transformOwner) && TryComp<TransformComponent>(target, out var transformEnt))
             {
                 var parent = transformOwner.ParentUid;
 
@@ -241,7 +239,7 @@ public abstract class SharedStorageSystem : EntitySystem
                     _transform
                 );
 
-                if (PlayerInsertEntityInWorld((uid, storageComp), args.User, target))
+                if (PlayerInsertEntityInWorld(uid, args.User, target, storageComp))
                 {
                     RaiseNetworkEvent(new AnimateInsertingEntitiesEvent(GetNetEntity(uid),
                         new List<NetEntity> { GetNetEntity(target) },
@@ -287,7 +285,7 @@ public abstract class SharedStorageSystem : EntitySystem
 
             var angle = targetXform.LocalRotation;
 
-            if (PlayerInsertEntityInWorld((uid, component), args.Args.User, entity))
+            if (PlayerInsertEntityInWorld(uid, args.Args.User, entity, component))
             {
                 successfullyInserted.Add(entity);
                 successfullyInsertedPositions.Add(position);
@@ -324,7 +322,7 @@ public abstract class SharedStorageSystem : EntitySystem
     /// </summary>
     private void OnInteractWithItem(EntityUid uid, StorageComponent storageComp, StorageInteractWithItemEvent args)
     {
-        if (args.Session.AttachedEntity is not { } player)
+        if (args.Session.AttachedEntity is not EntityUid player)
             return;
 
         var entity = GetEntity(args.InteractedItemUID);
@@ -398,10 +396,27 @@ public abstract class SharedStorageSystem : EntitySystem
 
     public void RecalculateStorageUsed(EntityUid uid, StorageComponent storageComp)
     {
-        // it might make more sense to use the weights instead of the slots.
-        // I'm not sure.
-        _appearance.SetData(uid, StorageVisuals.StorageUsed, storageComp.Container.ContainedEntities.Count);
-        _appearance.SetData(uid, StorageVisuals.Capacity, storageComp.MaxSlots);
+        storageComp.StorageUsed = 0;
+
+        foreach (var entity in storageComp.Container.ContainedEntities)
+        {
+            if (!_itemQuery.TryGetComponent(entity, out var itemComp))
+                continue;
+
+            var size = itemComp.Size;
+            storageComp.StorageUsed += size;
+        }
+
+        _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;
     }
 
     /// <summary>
@@ -434,20 +449,17 @@ public abstract class SharedStorageSystem : EntitySystem
     ///     Verifies if an entity can be stored and if it fits
     /// </summary>
     /// <param name="uid">The entity to check</param>
-    /// <param name="insertEnt"></param>
     /// <param name="reason">If returning false, the reason displayed to the player</param>
-    /// <param name="storageComp"></param>
-    /// <param name="item"></param>
     /// <returns>true if it can be inserted, false otherwise</returns>
-    public bool CanInsert(EntityUid uid, EntityUid insertEnt, out string? reason, StorageComponent? storageComp = null, ItemComponent? item = null)
+    public bool CanInsert(EntityUid uid, EntityUid insertEnt, out string? reason, StorageComponent? storageComp = null)
     {
-        if (!Resolve(uid, ref storageComp) || !Resolve(insertEnt, ref item))
+        if (!Resolve(uid, ref storageComp))
         {
             reason = null;
             return false;
         }
 
-        if (Transform(insertEnt).Anchored)
+        if (TryComp(insertEnt, out TransformComponent? transformComp) && transformComp.Anchored)
         {
             reason = "comp-storage-anchored-failure";
             return false;
@@ -465,19 +477,15 @@ public abstract class SharedStorageSystem : EntitySystem
             return false;
         }
 
-        if (item.Size > GetMaxItemSize((uid, storageComp)))
-        {
-            reason = "comp-storage-too-big";
-            return false;
-        }
-
-        if (storageComp.Container.ContainedEntities.Count >= storageComp.MaxSlots)
+        if (TryComp(insertEnt, out StorageComponent? storage) &&
+            storage.StorageCapacityMax >= storageComp.StorageCapacityMax)
         {
             reason = "comp-storage-insufficient-capacity";
             return false;
         }
 
-        if (SharedItemSystem.GetItemSizeWeight(item.Size) + GetCumulativeItemSizes(uid, storageComp) > GetMaxTotalWeight((uid, storageComp)))
+        if (TryComp(insertEnt, out ItemComponent? itemComp) &&
+            itemComp.Size > storageComp.StorageCapacityMax - storageComp.StorageUsed)
         {
             reason = "comp-storage-insufficient-capacity";
             return false;
@@ -534,7 +542,8 @@ public abstract class SharedStorageSystem : EntitySystem
             if (insertStack.Count > 0)
             {
                 // Try to insert it as a new stack.
-                if (!CanInsert(uid, insertEnt, out _, storageComp) ||
+                if (TryComp(insertEnt, out ItemComponent? itemComp) &&
+                    itemComp.Size > storageComp.StorageCapacityMax - storageComp.StorageUsed ||
                     !storageComp.Container.Insert(insertEnt))
                 {
                     // If we also didn't do any stack fills above then just end
@@ -559,9 +568,7 @@ public abstract class SharedStorageSystem : EntitySystem
     /// <summary>
     ///     Inserts an entity into storage from the player's active hand
     /// </summary>
-    /// <param name="uid"></param>
     /// <param name="player">The player to insert an entity from</param>
-    /// <param name="storageComp"></param>
     /// <returns>true if inserted, false otherwise</returns>
     public bool PlayerInsertHeldEntity(EntityUid uid, EntityUid player, StorageComponent? storageComp = null)
     {
@@ -582,23 +589,21 @@ public abstract class SharedStorageSystem : EntitySystem
             return false;
         }
 
-        return PlayerInsertEntityInWorld((uid, storageComp), player, toInsert.Value);
+        return PlayerInsertEntityInWorld(uid, player, toInsert.Value, storageComp);
     }
 
     /// <summary>
     ///     Inserts an Entity (<paramref name="toInsert"/>) in the world into storage, informing <paramref name="player"/> if it fails.
-    ///     <paramref name="toInsert"/> is *NOT* held, see <see cref="PlayerInsertHeldEntity(EntityUid,EntityUid,StorageComponent)"/>.
+    ///     <paramref name="toInsert"/> is *NOT* held, see <see cref="PlayerInsertHeldEntity(Robust.Shared.GameObjects.EntityUid)"/>.
     /// </summary>
-    /// <param name="uid"></param>
     /// <param name="player">The player to insert an entity with</param>
-    /// <param name="toInsert"></param>
     /// <returns>true if inserted, false otherwise</returns>
-    public bool PlayerInsertEntityInWorld(Entity<StorageComponent?> uid, EntityUid player, EntityUid toInsert)
+    public bool PlayerInsertEntityInWorld(EntityUid uid, EntityUid player, EntityUid toInsert, StorageComponent? storageComp = null)
     {
-        if (!Resolve(uid, ref uid.Comp) || !_sharedInteractionSystem.InRangeUnobstructed(player, uid))
+        if (!Resolve(uid, ref storageComp) || !_sharedInteractionSystem.InRangeUnobstructed(player, uid))
             return false;
 
-        if (!Insert(uid, toInsert, out _, user: player, uid.Comp))
+        if (!Insert(uid, toInsert, out _, user: player, storageComp))
         {
             _popupSystem.PopupClient(Loc.GetString("comp-storage-cant-insert"), uid, player);
             return false;
@@ -606,65 +611,6 @@ public abstract class SharedStorageSystem : EntitySystem
         return true;
     }
 
-    /// <summary>
-    /// Returns true if there is enough space to theoretically fit another item.
-    /// </summary>
-    public bool HasSpace(Entity<StorageComponent?> uid)
-    {
-        if (!Resolve(uid, ref uid.Comp))
-            return false;
-
-        return uid.Comp.Container.ContainedEntities.Count < uid.Comp.MaxSlots &&
-               GetCumulativeItemSizes(uid, uid.Comp) < GetMaxTotalWeight(uid);
-    }
-
-    /// <summary>
-    /// Returns the sum of all the ItemSizes of the items inside of a storage.
-    /// </summary>
-    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<StorageComponent?> 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 int GetMaxTotalWeight(Entity<StorageComponent?> uid)
-    {
-        if (!Resolve(uid, ref uid.Comp))
-            return 0;
-
-        if (uid.Comp.MaxTotalWeight != null)
-            return uid.Comp.MaxTotalWeight.Value;
-
-        return uid.Comp.MaxSlots * SharedItemSystem.GetItemSizeWeight(GetMaxItemSize(uid));
-    }
-
     /// <summary>
     /// Plays a clientside pickup animation for the specified uid.
     /// </summary>
index f05db44081c808281d79808c0aa1096c732c255c..fdcf06bf5d5f11b72ccffe2ed73959a2ed076e04 100644 (file)
@@ -1,5 +1,3 @@
-using Content.Shared.Item;
-using Content.Shared.Storage.EntitySystems;
 using Content.Shared.Whitelist;
 using Robust.Shared.Audio;
 using Robust.Shared.Containers;
@@ -22,25 +20,6 @@ namespace Content.Shared.Storage
         [ViewVariables]
         public Container Container = default!;
 
-        /// <summary>
-        /// The max number of entities that can be inserted into this storage.
-        /// </summary>
-        [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
-        public int MaxSlots = 7;
-
-        /// <summary>
-        /// The maximum size item that can be inserted into this storage,
-        /// </summary>
-        [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
-        [Access(typeof(SharedStorageSystem))]
-        public ItemSize? MaxItemSize;
-
-        /// <summary>
-        /// A limit for the cumulative ItemSizes that can be inserted in this storage.
-        /// </summary>
-        [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
-        public int? MaxTotalWeight;
-
         // TODO: Make area insert its own component.
         [DataField("quickInsert")]
         public bool QuickInsert; // Can insert storables by "attacking" them with the storage entity
@@ -66,6 +45,18 @@ namespace Content.Shared.Storage
         [DataField("blacklist")]
         public EntityWhitelist? Blacklist;
 
+        /// <summary>
+        /// How much storage is currently being used by contained entities.
+        /// </summary>
+        [ViewVariables, DataField("storageUsed"), AutoNetworkedField]
+        public int StorageUsed;
+
+        /// <summary>
+        /// Maximum capacity for storage.
+        /// </summary>
+        [DataField("capacity"), AutoNetworkedField]
+        public int StorageCapacityMax = 10000;
+
         /// <summary>
         /// Sound played whenever an entity is inserted into storage.
         /// </summary>
index cea37cd961ea988219e1263a17327f38d1ef0038..a6d542e4fb41763f7ec2d7018442a7da4926157e 100644 (file)
@@ -1,10 +1,9 @@
 comp-storage-no-item-size = N/A
 comp-storage-cant-insert = Can't insert.
-comp-storage-too-big = Too big!
-comp-storage-insufficient-capacity = No room!
+comp-storage-insufficient-capacity = Insufficient capacity.
 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 }/{ $maxCount }, Max Size: {$size}
-comp-storage-window-volume-full = [color=orange][bold]FULL[/bold][/color], Max Size: {$size}
+comp-storage-window-volume = Items: { $itemCount }, Stored: { $usedVolume }/{ $maxVolume }
+comp-storage-window-volume-unlimited = Items: { $itemCount }
index 54354ef1eee9a66c5486ac68786f6c50b46df8e4..f9750a55fac71e254237faff63dda30c47a79bb1 100644 (file)
@@ -7,10 +7,3 @@ 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 = bulky
index 2601c78160a2c30d04e4db6d3d37c6cdeb9c8f57..1b71e29725a126679d4fd158e3528210d8cb48db 100644 (file)
@@ -874,6 +874,36 @@ 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
@@ -896,6 +926,16 @@ 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
@@ -1632,6 +1672,16 @@ 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
@@ -1830,6 +1880,20 @@ 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
@@ -2318,6 +2382,21 @@ 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
@@ -2577,6 +2656,16 @@ 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
@@ -2598,6 +2687,30 @@ 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
index d31189c43b2da059fce6cea378e9494f736096ba..328400cd0b00cbf6d3938740006182b18fd6fd93 100644 (file)
@@ -102471,6 +102471,8 @@ entities:
       type: Transform
     - count: 15
       type: Stack
+    - size: 15
+      type: Item
 - proto: SheetPlasma
   entities:
   - uid: 12944
@@ -102562,6 +102564,8 @@ entities:
       type: Transform
     - count: 20
       type: Stack
+    - size: 20
+      type: Item
 - proto: Shovel
   entities:
   - uid: 12955
index 98a2c5807d64c213e2072ae6cfcd0f0046e0e891..ddba1100f2b969a6be7ef9410f87076fc5efbcc2 100644 (file)
@@ -78331,6 +78331,8 @@ entities:
       type: Transform
     - count: 15
       type: Stack
+    - size: 30
+      type: Item
 - proto: StoolBar
   entities:
   - uid: 921
index 5eeec04af247c69852743a3b00f09e20b277ddc3..1e0788cccdaa35ee9e9b148c331f865b26a532f4 100644 (file)
@@ -28,7 +28,7 @@
       - id: BoxSurvivalSecurity
       - id: Flash
       - id: MagazinePistol
-
+      
 - type: entity
   noSpawn: true
   parent: ClothingBackpackSecurity
         - id: RegenerativeMesh
         - id: RCD
         - id: RCDAmmo
-          amount: 2
+        - id: RCDAmmo
+        - id: RCDAmmo
         - id: CableMVStack
         - id: CableHVStack
 
index 0569c4f58c52de9a9a22ee35cbba5d269b908069..12f31bc016a8731d807fc3c437cfc22d0522f0a0 100644 (file)
   name: syndicate pyjama duffel bag
   description: Contains 3 pairs of syndicate pyjamas and 3 plushies for the ultimate sleepover.
   components:
-  - type: Storage
-    maxSlots: 16
-    maxTotalWeight: 44
   - type: StorageFill
     contents:
       - id: ClothingUniformJumpsuitPyjamaSyndicateRed
   id: ClothingBackpackChameleonFill
   suffix: Fill, Chameleon
   components:
-    - type: Storage
-      maxSlots: 9
     - type: StorageFill
       contents:
         - id: ClothingUniformJumpsuitChameleon
   name: syndicate hardsuit bundle
   description: "Contains the Syndicate's signature blood red hardsuit."
   components:
-  - type: Storage
-    maxItemSize: Huge
-    whitelist: #to snub 'dem metagamers
-      components:
-      - Clothing
   - type: StorageFill
     contents:
       - id: ClothingOuterHardsuitSyndie
index 7fc62984a052e0abc5b5cb8dc9896b97051896e5..20e291494f76e4ada7d2e5a6a552159bb7bcf76f 100644 (file)
     containers:
       ballistic-ammo: !type:Container
   - type: Item
-    size: Normal
+    size: 30
   - type: Sprite
     sprite: Objects/Storage/boxes.rsi
 
index e2ca59a7d207af371214534249accc13d5e513b1..d05dfbb4ede0bbec3c54f985780d11c8e7066639 100644 (file)
@@ -37,8 +37,7 @@
       - state: box
       - state: light
   - type: Storage
-    maxSlots: 12
-    maxTotalWeight: 24
+    capacity: 60
     whitelist:
       components:
       - LightBulb
@@ -61,8 +60,7 @@
       - state: box
       - state: lighttube
   - type: Storage
-    maxSlots: 12
-    maxTotalWeight: 24
+    capacity: 60
     whitelist:
       components:
       - LightBulb
@@ -87,8 +85,7 @@
       - state: box
       - state: lightmixed
   - type: Storage
-    maxSlots: 12
-    maxTotalWeight: 24
+    capacity: 60
     whitelist:
       components:
       - LightBulb
       - state: box
       - state: pda
   - type: Storage
+    capacity: 60
     whitelist:
       components:
       - Pda
       - state: box
       - state: pda
   - type: Storage
+    capacity: 60
     whitelist:
       components:
       - IdCard
       - state: box
       - state: headset
   - type: Storage
+    capacity: 60
     whitelist:
       components:
       - Headset
   description: A special box for sensitive people.
   components:
   - type: Storage
+    capacity: 30
   - type: Sprite
     layers:
       - state: box_hug
   id: BoxPerformer
   description: Happy Hatsune Miku Day!
   components:
-  - type: Storage
-    maxItemSize: Normal
-    whitelist:
-      components:
-      - Clothing
-      - Food
   - type: StorageFill
     contents:
       - id: ClothingShoesBootsPerformer
       - id: TrashBag
         amount: 6
   - type: Storage
-    maxItemSize: Normal
+    capacity: 800
     whitelist:
       tags:
         - TrashBag
       - state: box
       - state: encryptokey
   - type: Storage
+    capacity: 30
     whitelist:
       components:
       - EncryptionKey
   description: Two syndicate encryption keys for the price of one. Miniaturized for ease of use.
   components:
   - type: Item
-    size: Normal
+    size: 15
   - type: StorageFill
     contents:
       - id: EncryptionKeySyndie
         amount: 2
   - type: Storage
+    capacity: 15
 
 - type: entity
   name: deathrattle implant box
   description: Six deathrattle implants and handheld GPS devices for the whole squad.
   components:
   - type: Item
-    size: Normal
+    size: 60
   - type: StorageFill
     contents:
       - id: DeathRattleImplanter
       - id: HandheldGPSBasic
         amount: 6
   - type: Storage
-    maxSlots: 12
-    maxTotalWeight: 24
+    capacity: 60
   - type: Sprite
     layers:
       - state: box
   description: This box filled with colorful darts.
   components:
   - type: Item
-    size: Normal
+    size: 40
   - type: StorageFill
     contents:
       - id: Dart
-        amount: 3
+        amount: 5
       - id: DartBlue
-        amount: 3
+        amount: 5
       - id: DartPurple
-        amount: 3
+        amount: 5
       - id: DartYellow
-        amount: 3
+        amount: 5
   - type: Storage
-    maxSlots: 12
-    maxTotalWeight: 24
+    capacity: 40
   - type: Sprite
     layers:
       - state: box
-      - state: darts
+      - state: darts
\ No newline at end of file
index 9a7f4b47e04f86c2a462f0f0f5e630ea16f52893..41ee064ce03774f1a9fe5a7389427e0f38102d6d 100644 (file)
   parent: BoxCardboard
   id: BoxMouthSwab
   components:
-  - type: Storage
-    maxSlots: 10
-    maxTotalWeight: 20
   - type: StorageFill
     contents:
       - id: DiseaseSwab
-        amount: 10
+        amount: 30
   - type: Sprite
     layers:
       - state: box
index 51dc512f912aab84ee3094fef0c2ebd834d0d242..027aaf19f629ec6ceb5d555919f32233e3465524 100644 (file)
   id: BoxZiptie
   description: A box full of zipties.
   components:
-  - type: Storage
-    maxSlots: 10
-    maxTotalWeight: 20
-    whitelist:
-      components:
-      - Handcuff
   - type: StorageFill
     contents:
       - id: Zipties
@@ -70,9 +64,6 @@
   id: BoxForensicPad
   description: A box of forensic pads.
   components:
-  - type: Storage
-    maxSlots: 10
-    maxTotalWeight: 20
   - type: StorageFill
     contents:
       - id: ForensicPad
index 1526cf0f6304e02e0cd171d56a7196228df9eafa..48877fd88961adafcfb4fd0b11736b11f1df6a1e 100644 (file)
       - id: TargetDarts
         amount: 1
       - id: BoxDarts
-        amount: 2
+        amount: 1
       - id: BoxDarts
         amount: 1
         prob: 0.05
-
+  
index baad216f471b8a2e9b7dc0f6d2fa4688ae691120..1886b961c8f3cb65e018e44e9550fc7612d8881d 100644 (file)
   - 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: 3
+        amount: 6
 
 - type: entity
   id: ClothingBeltPlantFilled
   name: grenadier chest rig
   suffix: Filled
   components:
-  - type: Item
-    size: Large
-  - type: Storage
-    maxSlots: 8
   - type: StorageFill
     contents:
       - id: ExGrenade
     contents:
         - id: WeaponRevolverInspector
         - id: SpeedLoaderMagnum
-        - id: SpeedLoaderMagnumRubber
+        - id: SpeedLoaderMagnumRubber
\ No newline at end of file
index 714148a64d5c48e2352f9c51711b0ce7be6660d2..c487909a4b1242695a26dd4ccfe9f04954d685b2 100644 (file)
   parent: BriefcaseSyndie
   suffix: SniperBundle
   components:
-  - type: Item
-    size: Huge
-  - type: Storage
-    maxItemSize: Large
   - type: StorageFill
     contents:
       - id: WeaponSniperHristov
index 832d357d83def3517824658d6d3d90ae0aa8f6be..8cc7d6b6d4d2617f305e5920244f1cb2dc4ad7b0 100644 (file)
@@ -12,7 +12,8 @@
       - id: Ointment
         amount: 2
       - id: Gauze
-      - id: PillCanisterTricordrazine
+      - id: PillTricordrazine
+        amount: 5
       # see https://github.com/tgstation/blob/master/code/game/objects/items/storage/firstaid.dm for example contents
 
 - type: entity
       - id: Ointment
         amount: 2
       - id: SyringeSigynate
-      - id: PillCanisterKelotane
-      - id: PillCanisterDermaline
+      - id: PillKelotane
+        amount: 5
+      - id: PillDermaline
+        amount: 5
 
 - type: entity
   id: MedkitBruteFilled
       - id: Gauze
       - id: Bloodpack
       - id: SyringeTranexamicAcid
-      - id: PillCanisterIron
-      - id: PillCanisterBicaridine
+      - id: PillIron
+        amount: 5
+      - id: PillBicaridine
+        amount: 5
 
 - type: entity
   id: MedkitToxinFilled
       - id: SyringeIpecac
       - id: SyringeEthylredoxrazine
       - id: AntiPoisonMedipen
-      - id: PillCanisterDylovene
-      - id: PillCanisterCharcoal
+      - id: PillDylovene
+        amount: 5
+      - id: PillCharcoal
+        amount: 3
 
 - type: entity
   id: MedkitOxygenFilled
@@ -69,7 +76,8 @@
       - id: EmergencyOxygenTankFilled
       - id: EmergencyMedipen
       - id: SyringeInaprovaline
-      - id: PillCanisterDexalin
+      - id: PillDexalin
+        amount: 7
 
 - type: entity
   id: MedkitRadiationFilled
@@ -84,7 +92,8 @@
         amount: 1
       - id: EmergencyMedipen
         amount: 1
-      - id: PillCanisterHyronalin
+      - id: PillHyronalin
+        amount: 5
 
 - type: entity
   id: MedkitAdvancedFilled
       - id: MedicatedSuture
       - id: RegenerativeMesh
       - id: SyringeEphedrine
+      - id: SyringeSaline
       - id: BruteAutoInjector
       - id: BurnAutoInjector
       - id: EmergencyMedipen
+      - id: Bloodpack
 
 - type: entity
   id: StimkitFilled
index bc9485d7f042a22cbf78f687bda82e8f82dc7a10..234481af8d4c85289e4225512bc3051d138ec3d8 100644 (file)
   suffix: Filled
   parent: ToolboxSyndicate
   components:
-  - type: Storage
-    maxSlots: 8
   - type: StorageFill
     contents:
-      - id: Crowbar
-      - id: Wrench
-      - id: Screwdriver
-      - id: Wirecutter
-      - id: Welder
-      - id: Multitool
+      - id: ClothingBeltUtilityEngineering
       - id: ClothingHandsGlovesCombat
       - id: ClothingMaskGasSyndicate
 
index 5edce6be028af255a952fb57c1845a28bc4c59e0..7277ebb10a82d8c4780755a35b1a3542faf35e2c 100644 (file)
@@ -8,14 +8,13 @@
     sprite: Clothing/Back/Backpacks/backpack.rsi
     state: icon
   - type: Item
-    size: Huge
+    size: 9999
   - type: Clothing
     quickEquip: false
     slots:
     - back
   - type: Storage
-    maxSlots: 7
-    maxTotalWeight: 28
+    capacity: 100
   - type: ContainerContainer
     containers:
       storagebase: !type:Container
   - type: Sprite
     sprite: Clothing/Back/Backpacks/ertleader.rsi
   - type: Storage
-    maxSlots: 10
-    maxTotalWeight: 40
+    capacity: 250
 
 - type: entity
   parent: ClothingBackpackERTLeader
       shader: unshaded
   - type: Clothing
     equippedPrefix: holding
-  - type: Item
-    size: Ginormous
   - type: Storage
-    maxSlots: 14
-    maxItemSize: Large
-    maxTotalWeight: 56 #14 normal-sized items.
+    capacity: 9999
 
 - type: entity
   parent: ClothingBackpackClown
index 1fb4b6782460dfa0df664f10e86439268607b11f..b9cc9ca26636beae4c17a5ce79277f10cb9f833f 100644 (file)
@@ -7,8 +7,7 @@
   - type: Sprite
     sprite: Clothing/Back/Duffels/duffel.rsi
   - type: Storage
-    maxSlots: 10
-    maxTotalWeight: 40
+    capacity: 120
   - type: ClothingSpeedModifier
     walkModifier: 1
     sprintModifier: 0.9
   components:
   - type: Sprite
     sprite: Clothing/Back/Duffels/syndicate.rsi
+  - type: Storage
+    capacity: 131
 
 - type: entity
   parent: ClothingBackpackDuffelSyndicate
     - state: icon
     - state: icon-unlit
       shader: unshaded
-  - type: Item
-    size: Ginormous
   - type: Storage
-    maxSlots: 14
-    maxItemSize: Large
-    maxTotalWeight: 56 #14 normal-sized items.
+    capacity: 9999
   - type: ClothingSpeedModifier
     sprintModifier: 1 # makes its stats identical to other variants of bag of holding
index b3b36b70fb05c6c575ab2045df173d66df38a493..e80b0d6f8b22472854c6128f593d8b7f6aca7985 100644 (file)
     - state: icon
     - state: icon-unlit
       shader: unshaded
-  - type: Item
-    size: Ginormous
   - type: Storage
-    maxSlots: 14
-    maxItemSize: Large
-    maxTotalWeight: 56 #14 normal-sized items.
+    capacity: 9999
index c36ddde03b56f350dff7215696af433b021e821d..5964007356401cf3bb78a3ff7f9cf967cab73d46 100644 (file)
@@ -33,7 +33,7 @@
     sprite: Clothing/Back/Backpacks/waterbackpack.rsi
     state: icon
   - type: Item
-    size: Huge
+    size: 200
   - type: Clothing
     slots: BACK
     sprite: Clothing/Back/Backpacks/waterbackpack.rsi
index ec6b48bf8947833ee5dce45ee3fa040356616f36..b37d3fd9745f23643f81a519adb6a9640d9740ef 100644 (file)
@@ -6,7 +6,7 @@
   - type: Sprite
     state: icon
   - type: Item
-    size: Normal
+    size: 50
   - type: Clothing
     slots: [belt]
     quickEquip: false
   id: ClothingBeltStorageBase
   components:
   - type: Storage
-    maxSlots: 7
-    maxItemSize: Normal
-  - type: Item
-    size: Huge
+    capacity: 40
   - type: ContainerContainer
     containers:
       storagebase: !type:Container
index 28f8ed0dcad550f8a2a3b0f0e1e272d85005bcc5..fa1a5e951faa1284d9ee06d11b8cdc1fdb7395dc 100644 (file)
@@ -11,7 +11,7 @@
   - type: Clothing
     sprite: Clothing/Belt/utility.rsi
   - type: Storage
-    maxItemSize: Normal
+    capacity: 45
     # TODO: Fill this out more.
     whitelist:
       tags:
@@ -83,6 +83,7 @@
   - type: Clothing
     sprite: Clothing/Belt/ce.rsi
   - type: Storage
+    capacity: 105
     # TODO: Fill this out more.
     whitelist:
       tags:
   - type: Clothing
     sprite: Clothing/Belt/medical.rsi
   - type: Storage
+    capacity: 60
     whitelist:
       tags:
         - Wrench
   - type: Clothing
     sprite: Clothing/Belt/sheath.rsi
   - type: Storage
-    maxSlots: 1
+    capacity: 15
     whitelist:
       tags:
         - CaptainSabre
   - type: Clothing
     sprite: Clothing/Belt/bandolier.rsi
   - type: Item
-    size: Large
+    size: 60
   - type: Storage
+    capacity: 60
     whitelist:
       tags:
         - ShellShotgun
   - type: Clothing
     sprite: Clothing/Belt/holster.rsi
   - type: Storage
-    maxSlots: 3
+    capacity: 20
 
 - type: entity
   parent: ClothingBeltStorageBase
   - type: Clothing
     sprite: Clothing/Belt/syndieholster.rsi
   - type: Item
-    size: Large
+    size: 60
   - type: Storage
+    capacity: 60
     whitelist:
       components:
         - Gun
   - type: Clothing
     sprite: Clothing/Belt/militarywebbingmed.rsi
   - type: Item
-    size: Large
+    size: 70
+  - type: Storage
+    capacity: 70
 
 - type: entity
   parent: ClothingBeltBase
   - type: Clothing
     sprite: Clothing/Belt/wand.rsi
   - type: Storage
-    maxSlots: 8
+    capacity: 120
     whitelist:
       tags:
       - WizardWand
index e6685eb47a771d78558e2391c95a8bb6a6f5db22..10332e46aa47fb2368e7e8a1a301db514bd985bb 100644 (file)
@@ -12,8 +12,7 @@
       visible: false
   - type: Clothing
   - type: Storage
-    maxSlots: 15
-    maxItemSize: Small
+    capacity: 150
     whitelist:
       tags:
       - Arrow
index e142376d07f9310842b6787edb318fef9e4045cc..6d47010efc6e3c9ba14c0cbee72c3f8efae52f31 100644 (file)
@@ -9,9 +9,8 @@
   - type: Clothing
     sprite: Clothing/Belt/waistbag_leather.rsi
   - type: Storage
-    maxSlots: 5
-    maxItemSize: Small
-
+    capacity: 20
+        
 #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
@@ -30,4 +29,4 @@
 #    layers:
 #    - state: "equipped-BELT"
 #      color: "#bf1313"
-#    - state: "equipped-trinkets"
+#    - state: "equipped-trinkets"
\ No newline at end of file
index 858ec6f0db6001daadde8b5b35903de6e742bf89..cae6a0ea17101bde9230dc794687c116c16eb504 100644 (file)
@@ -17,8 +17,6 @@
     keySlots: 4
   - type: Sprite
     state: icon
-  - type: Item
-    size: Small
   - type: Clothing
     slots:
     - ears
index a0c41120b84cee1b050dfb50d1f9ff1b2528e9f2..dc37811fb809be779e74234fad9235a962585947 100644 (file)
@@ -7,5 +7,3 @@
     state: icon
   - type: Clothing
     slots: [eyes]
-  - type: Item
-    size: Small
index 5cf7fd645baa4c401cfdbc0a584990550061bb4f..e7d8bec69ffd228bfea2a3d3e78a0f121b58a647 100644 (file)
@@ -9,8 +9,6 @@
     slots: [gloves]
   - type: Food
     requiresSpecialDigestion: true
-  - type: Item
-    size: Small
   - type: SolutionContainerManager
     solutions:
       food:
index dd67096b08cb775494966feb95fde68a806ae0df..19fc25b233b2888e4cca7a7c7d6cbb6124858eaa 100644 (file)
@@ -8,8 +8,6 @@
     - HEAD
   - type: Sprite
     state: icon
-  - type: Item
-    size: Small
   - type: Food
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
   name: base space helmet
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: PressureProtection
     highPressureMultiplier: 0.6
     lowPressureMultiplier: 1000
   - type: GroupExamine
   - type: Tag
     tags:
-    - HidesHair
+    - HidesHair
\ No newline at end of file
index 731513d31ed665e9ff750e0fba49ec5062ba3de2..d5d13fbdd0365ae1761862b5f095ffa2c0a46190 100644 (file)
   - type: Clothing
     sprite: Clothing/Head/Hats/chefhat.rsi
   - type: Storage
-    maxSlots: 1
+    capacity: 5
   - type: UserInterface
     interfaces:
       - key: enum.StorageUiKey.Key
         offset: "0, 0.12"
     sprite: Clothing/Head/Hats/magician.rsi
   - type: Item
-    size: Small
+    size: 10
     sprite: Clothing/Head/Hats/magician.rsi
   - type: Storage
-    maxSlots: 1
+    capacity: 10
   - type: UserInterface
     interfaces:
       - key: enum.StorageUiKey.Key
index d57065ba79ad92ead65ce2b3d01c71e303ef82de..b79d76aa1707b463baceeecd682e899a868aef40 100644 (file)
@@ -5,8 +5,6 @@
   components:
   - type: Sprite
     state: icon
-  - type: Item
-    size: Small
   - type: Clothing
     slots: [mask]
 
index 1bccb4c92a3e9ea155485b0ff5eb144ab47e9e63..06ec393c78defc4449a3a00345b0cd33adc57dc8 100644 (file)
@@ -4,7 +4,7 @@
   id: ClothingNeckBase
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: Clothing
     quickEquip: true
     slots:
index 0d22a653dbf5660ad229a07335b5b3787b831ea1..fe72fd12e954a966292fef05a140a9af02528572 100644 (file)
@@ -6,7 +6,7 @@
   description: be nothing do crime
   components:
   - type: Item
-    size: Tiny
+    size: 1
 
 - type: entity
   parent: ClothingNeckPinBase
index 6af455ab272fb26c7638b211d287a78f27576971..f92592f65efc583f1c5a7cbbb0d0fe6c3223df11 100644 (file)
@@ -15,7 +15,7 @@
   id: ClothingOuterBaseLarge
   components:
   - type: Item
-    size: Large
+    size: 80
   - type: Clothing
     slots:
     - outerClothing
   parent: ClothingOuterBase
   id: ClothingOuterStorageBase
   components:
+  - type: Item
+    size: 10
   - type: Storage
-    maxSlots: 3
+    capacity: 10
   - type: ContainerContainer
     containers:
       storagebase: !type:Container
@@ -70,7 +72,7 @@
     walkModifier: 0.4
     sprintModifier: 0.6
   - type: Item
-    size: Huge
+    size: 121
   - type: Armor
     modifiers:
       coefficients:
     walkModifier: 0.8
     sprintModifier: 0.8
   - type: Item
-    size: Large
+    size: 80
 
 - type: entity
   parent: ClothingOuterBase
   id: ClothingOuterBaseMedium
   components:
   - type: Item
-    size: Large
+    size: 30
   - type: Clothing
     slots:
     - outerClothing
index 166657d65e7214ca3131e3a3db547d4ea4436bb3..5389eb8bfc788265e161f8d776deb078876fe585 100644 (file)
     walkModifier: 0.75
     sprintModifier: 0.75
   - type: Item
-    size: Normal
+    size: 50
   - type: Tag
     tags:
     - WhitelistChameleon
index f0aa96f613d390262304a810eeca309b27fcee12..16bef8c7b2668a749ab3c9c2a30cb082a839179b 100644 (file)
   - type: Sprite
     sprite: Clothing/OuterClothing/Suits/iansuit.rsi
   - type: Item
-    size: Normal
+    size: 30
   - type: Clothing
     sprite: Clothing/OuterClothing/Suits/iansuit.rsi
   - type: ToggleableClothing
   - type: Sprite
     sprite: Clothing/OuterClothing/Suits/carpsuit.rsi
   - type: Item
-    size: Normal
+    size: 30
   - type: Clothing
     sprite: Clothing/OuterClothing/Suits/carpsuit.rsi
   - type: ToggleableClothing
index d15e114857a17d651294d91fbf0f9e528c5632ef..9bc3d25fc49f6bef019610a9340f1b52f4e47105 100644 (file)
@@ -11,7 +11,7 @@
   - type: TemperatureProtection\r
     coefficient: 0.1\r
   - type: Item\r
-    size: Small\r
+    size: 10\r
   - type: Armor\r
     modifiers:\r
       coefficients:\r
index 9bd7e005464fdf2666afe77fcd682e1c75f58f1e..c829dc5d44cb67efb7cadb6d2e7a860976a512df 100644 (file)
@@ -8,8 +8,6 @@
     - FEET
   - type: Sprite
     state: icon
-  - type: Item
-    size: Normal
   - type: Food
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
@@ -41,7 +39,7 @@
   id: ClothingShoesStorageBase
   components:
   - type: Storage
-    maxSlots: 1
+    capacity: 10
   - type: ContainerContainer
     containers:
       storagebase: !type:Container
index eae044f8dda4fe4e953a638fb8fb65fb56c4d388..7b864e806e9e871c86e53f040df9ea3191a8dfbf 100644 (file)
       - state: equipped-FEET
         offset: "0, -0.02"
   - type: Item
-    size: Small
+    size: 10
     sprite: Clothing/Shoes/Specific/large_clown.rsi
   - type: ClothingSpeedModifier
     walkModifier: 0.85
index 7e9d6e9568111ce31cdb2d934ef1010d2215a26d..60a94fe2914135e408e56328dd874ad61ee2297d 100644 (file)
@@ -3,8 +3,6 @@
   parent: BaseItem
   id: Clothing
   components:
-  - type: Item
-    size: Normal
   - type: Sprite
   - type: Tag
     tags:
index e3289569a2986527a2268296ec8d78daa1d9e739..2d374b8e1278a1c3ebb6208552331433dfd8c96f 100644 (file)
       types:
         Blunt: 20000
   - type: Item
-    size: Tiny
+    size: 1
     sprite: Objects/Weapons/Melee/debug.rsi
 
 - type: entity
index c94d5983e1cf8f40592bf9316f0e776480869ccb..adba78141cce4999eaee3c9e9205106916844d06 100644 (file)
     - map: ["enum.DamageStateVisualLayers.Base"]
       state: mouse-0
   - type: Item
-    size: Tiny
+    size: 5
   - type: Clothing
     quickEquip: false
     sprite: Mobs/Animals/mouse.rsi
       groups:
         Brute: 5
   - type: Item
-    size: Normal
+    size: 80
   - type: OnUseTimerTrigger
     delay: 10
     beepSound:
     - map: ["enum.DamageStateVisualLayers.Base"]
       state: hamster-0
   - type: Item
-    size: Tiny
+    size: 5
   - type: Physics
   - type: Fixtures
     fixtures:
index 13719f111aa53377cc8042b77d911fc86cd307ff..aaeeaf0bf6f9e4afdc1744288156183ec72459f8 100644 (file)
     graph: SupplyBot
     node: bot
   - type: Storage
-    maxSlots: 15
-    maxItemSize: Large
-    maxTotalWeight: 60
+    capacity: 250
   - type: UserInterface
     interfaces:
     - key: enum.StorageUiKey.Key
index 11228d0ed697049c4c6b38604a40c8487d8ea02e..118b2421367e3d11ec324f5c26aadda41171f062 100644 (file)
         map: ["6pack6"]
         visible: false
   - type: Item
-    size: Normal
+    size: 6
   - type: Storage
-    maxSlots: 6
+    capacity: 30
     whitelist:
       tags:
         - Cola
index e4ebcc4c00a04ff617b9ec97305733c519b786d9..a4cb797129ee4c0b7b5b8cae313d5e412e53289b 100644 (file)
@@ -28,7 +28,7 @@
   abstract: true
   components:
   - type: Item
-    size: Tiny
+    size: 1
   - type: FlavorProfile
     flavors:
       - bread
index 7db9015295503af55485cdd770ed1a41ae80830f..09f5ce27ff54dc5ab4bfa4950201bfd3ed921258 100644 (file)
@@ -21,7 +21,7 @@
         - ReagentId: Vitamin
           Quantity: 5
   - type: Item
-    size: Normal
+    size: 25
 
 - type: entity
   parent: FoodCakeBase
@@ -43,7 +43,7 @@
         - ReagentId: Vitamin
           Quantity: 1
   - type: Item
-    size: Tiny
+    size: 5
 
 # Custom Cake Example
 
   - type: Food
     transferAmount: 12
   - type: Item
-    size: Normal
+    size: 40
   - type: PointLight
     color: "#FFFF00"
     radius: 2
index b0be8011aa429302df34755401befaddbf697d3c..061852f56166c33a8f2cee50e5f5c425b6b0e494 100644 (file)
@@ -16,7 +16,7 @@
         - ReagentId: Nutriment
           Quantity: 3
   - type: Item
-    size: Tiny
+    size: 1
   - type: Tag
     tags:
     - DonkPocket
index 9cf32f30b4e4d07eb6025bb2be9960e3c476cc50..bd007d87cbd5e06445e459e44f0d26e9d551a8d0 100644 (file)
@@ -21,7 +21,7 @@
           Quantity: 3
   - type: Item
     sprite: Objects/Consumable/Food/Baked/donut.rsi
-    size: Tiny
+    size: 1
 # Tastes like donut.
 
 # The sprinkles are now an overlay, so you can put them on any donut! If we really
index 1296bc475295e47bd17df399adde1036e0963b5a..54fc4d6553c9efeab1135db6c243295bf9ee38e8 100644 (file)
@@ -16,7 +16,7 @@
         - ReagentId: Nutriment
           Quantity: 5
   - type: Item
-    size: Tiny
+    size: 1
 
 # Muffins/Buns
 
index 01f93cccedfd888309e1686c45c165a298a7b7f0..1f6a307f4e75eedcbe4de3139a57de56acc2449a 100644 (file)
@@ -24,7 +24,7 @@
   - type: SliceableFood
     count: 8
   - type: Item
-    size: Normal
+    size: 8
   - type: Tag
     tags:
     - Pizza
@@ -53,7 +53,7 @@
         - ReagentId: Vitamin
           Quantity: 0.8
   - type: Item
-    size: Tiny
+    size: 1
   - type: Tag
     tags:
     - Pizza
index 5cf48d3c9b27f5a36863468c09720edb320b2d54..5130b9d7e28469a9f1120153ffe79fed40ba5142 100644 (file)
       map: ["pink-box6"]
       visible: false
   - type: Storage
-    maxSlots: 6
-    maxTotalWeight: 12
+    capacity: 6
     whitelist:
       tags:
       - Donut
   - type: Item
     sprite: Objects/Consumable/Food/Baked/donut.rsi
-    size: Small
+    size: 6
     heldPrefix: box
   - type: StorageFill
     contents:
       map: ["box12"]
       visible: false
   - type: Storage
-    maxSlots: 12
+    capacity: 12
     whitelist:
       tags:
       - Egg
   - type: Item
     sprite: Objects/Consumable/Food/egg.rsi
-    size: Small
+    size: 12
   - type: StorageFill
     contents:
     - id: FoodEgg
   id: EggBoxBroken
   suffix: Broken
   components:
-  - type: Storage
-    maxSlots: 12
-    maxItemSize: Small
   - type: StorageFill
     contents:
     - id: Eggshells
       map: ["enum.StorageVisualLayers.Door"]
   # TODO make these entitystorage again + placeablesurface after entity storage ECS gets merged.
   - type: Storage
-    maxSlots: 1
-    maxItemSize: Normal
+    capacity: 8
     whitelist:
       tags:
       - Pizza
       map: ["box6"]
       visible: false
   - type: Storage
-    maxSlots: 6
+    capacity: 6
   - type: Item
     sprite: Objects/Consumable/Food/Baked/nuggets.rsi
-    size: Small
+    size: 6
     heldPrefix: box
   - type: StorageFill
     contents:
     whitelist:
       tags:
       - DonkPocket
-    maxSlots: 6
+    capacity: 6
   - type: Item
     sprite: Objects/Consumable/Food/Baked/donkpocket.rsi
-    size: Small
+    size: 6
   - type: StorageFill
     contents:
     - id: FoodDonkpocket
   - type: Item
     sprite: Objects/Storage/Happyhonk/clown.rsi
     heldPrefix: box
+  - type: Storage
+    capacity: 30
   - type: Tag
     tags:
     - Trash
   suffix: Toy Unsafe, Snacks
   name: syndicate snack box
   components:
+  - type: Item
+    size: 64
   - type: Storage
-    maxSlots: 9
+    capacity: 64 # need more room for goodies
   - type: StorageFill
     contents:
     # toy
index 89ec5a8c27b65b1303c2f42c831a3460f6c8ff32..4e63ca5012ed34361bbadc4ea4cf0f8b307120ec 100644 (file)
@@ -37,7 +37,7 @@
   - type: Item
     sprite: Objects/Consumable/Food/snacks.rsi
     heldPrefix: packet
-    size: Tiny
+    size: 3
   - type: DamageOnLand
     damage:
       types:
@@ -63,7 +63,7 @@
   - type: Item
     sprite: Objects/Consumable/Food/snacks.rsi
     heldPrefix: packet
-    size: Tiny
+    size: 3
   - type: PhysicalComposition
     materialComposition:
       Steel: 100
index 3eb2b966848a53bd1ddabec65eba9bcae9a3d635..4f6d10d98f548a31af3a697a877d562925e0911e 100644 (file)
@@ -16,7 +16,7 @@
     sprite: Objects/Consumable/Food/egg.rsi
   - type: Item
     sprite: Objects/Consumable/Food/egg.rsi
-    size: Tiny
+    size: 1
   - type: SolutionContainerManager
     solutions:
       food:
@@ -69,7 +69,7 @@
     sprite: Objects/Consumable/Food/egg.rsi
     state: eggshells
   - type: Item
-    size: Tiny
+    size: 1
   - type: SolutionContainerManager
     solutions:
       food:
index 2b7c9d6e16b3ccc4693529ce15d359e74a2660fb..35057aeacd95da1b8a609909d385c6440a4fbbbe 100644 (file)
@@ -24,7 +24,7 @@
         - ReagentId: Fat
           Quantity: 5
   - type: Item
-    size: Tiny
+    size: 5
   - type: Fixtures
     fixtures:
       fix1:
     graph: BearSteak
     node: start
     defaultTarget: filet migrawr
-
+    
 
 - type: entity
   name: raw penguin meat
index 0fb8afc6d74cc991e3eaada5c5f2ae7653fa2379..6439b2eb6c57f69a02b5b55e3ca7106e4099897e 100644 (file)
   - type: Sprite
     sprite: Objects/Specific/Hydroponics/nettle.rsi
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Specific/Hydroponics/nettle.rsi
   - type: MeleeWeapon
     damage:
   - type: Sprite
     sprite: Objects/Specific/Hydroponics/death_nettle.rsi
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Specific/Hydroponics/death_nettle.rsi
   - type: MeleeWeapon
     damage:
   - type: Produce
     seedId: deathNettle
   - type: MeleeChemicalInjector
-    transferAmount: 6
+    transferAmount: 6 
     solution: food
     pierceArmor: true # We do a little trolling
   - type: Extractable
   - type: Tag
     tags:
     - Fruit
-
+    
 - type: entity
   name: mimana
   parent: FoodProduceBase
     state: peel
   - type: Item
     sprite: Objects/Specific/Hydroponics/mimana.rsi
-    heldPrefix: peel
+    heldPrefix: peel  
   - type: Slippery
     slipSound:
       path: /Audio/Effects/slip.ogg
     sprite: Objects/Specific/Hydroponics/corn.rsi
     state: cob
   - type: Item
-    size: Tiny
+    size: 1
   - type: Tag
     tags:
       - Trash
   - type: Tag
     tags:
     - Galaxythistle
-    - Fruit # Probably?
+    - Fruit # Probably? 
 
 - type: entity
   name: fly amanita
   description: Round green object that you can slice and eat.
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: FlavorProfile
     flavors:
       - watermelon
   description: Juicy green and red slice.
   components:
   - type: Item
-    size: Tiny
+    size: 2
   - type: FlavorProfile
     flavors:
       - watermelon
index 8c8f55f804509409ef1cb47b84a37bfd195d87ec..0b32de1ce5e80c203dc3263321bd354779cc7743 100644 (file)
@@ -17,7 +17,7 @@
         - ReagentId: Nutriment
           Quantity: 8
   - type: Item
-    size: Small
+    size: 5
 
 # Kebabs
 
index 82c31a01c5c533cf34615d6a20eed5f5541b052c..c2274aef6d32f694c6f94159dcd80a4c8ca6ff48 100644 (file)
@@ -21,7 +21,7 @@
   - type: Item
     sprite: Objects/Consumable/Food/snacks.rsi
     heldPrefix: packet
-    size: Tiny
+    size: 3
 # Snacks
 
 # "Snacks" means food in a packet. Down the line this stuff can have multiple
     state: chocolatebar
   - type: Item
     heldPrefix: chocolatebar
-    size: Tiny
+    size: 3
   - type: Tag
     tags:
       - FoodSnack
   - type: Item
     sprite: Objects/Consumable/Food/snacks.rsi
     heldPrefix: packet
-    size: Tiny
+    size: 1
   - type: Food
     trash: FoodCookieFortune
 
   description: A carefully synthesized brick designed to contain the highest ratio of nutriment to volume. Tastes like shit.
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: Tag
     tags:
       - FoodSnack
     flavors:
       - nutribrick
   - type: Item
-    size: Small
+    size: 10
   - type: Sprite
     state: nutribrick-open
   - type: Food
index eff790cdd1963310d538659ca8366df0c9aebfa6..4d0b442c465ea682404ebf72978648a1777cd35a 100644 (file)
       - state: closed\r
       - state: open\r
         map: ["openLayer"]\r
+  - type: Storage\r
+    capacity: 36\r
   - type: Item\r
     sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/green.rsi\r
-    size: Normal\r
+    size: 36\r
   - type: StorageFill\r
     contents:\r
       - id: CigPackGreen\r
index 3543db2ed16e4bba2f0d91dcf5e5ca4a9e7d0532..09ac79b141878ce767275c2d6aa881facbf046c7 100644 (file)
@@ -17,7 +17,7 @@
     slots: [ mask ]\r
     equippedPrefix: unlit\r
   - type: Item\r
-    size: Tiny\r
+    size: 1\r
   - type: Construction\r
     graph: smokeableCigarette\r
     node: cigarette\r
@@ -41,7 +41,7 @@
     slots: [ mask ]\r
     equippedPrefix: unlit\r
   - type: Item\r
-    size: Tiny\r
+    size: 1\r
   - type: Construction\r
     graph: smokeableCigarette\r
     node: cigarette\r
index e3ae06ec9f5cfc512e09624648969c66cafd150e..402dcd80f5bbaba658e074300809c74e807842e7 100644 (file)
@@ -17,7 +17,7 @@
     slots: [ mask ]
     equippedPrefix: unlit
   - type: Item
-    size: Tiny
+    size: 1
   - type: Construction
     graph: smokeableJoint
     node: joint
@@ -48,7 +48,7 @@
     slots: [ mask ]
     equippedPrefix: unlit
   - type: Item
-    size: Tiny
+    size: 1
   - type: Construction
     graph: smokeableBlunt
     node: blunt
index 6bc14cfb77e018d001b7337f9fb818fe4a3501fe..1d161b160a3e445b02b227c454247054616e9159 100644 (file)
@@ -43,9 +43,9 @@
       Steel: 50\r
   - type: SpaceGarbage\r
   - type: Storage\r
-    maxSlots: 5\r
+    capacity: 5\r
   - type: Item\r
-    size: Small\r
+    size: 5\r
   - type: StorageFill\r
     contents:\r
     - id: Cigarette\r
       Steel: 50\r
   - type: SpaceGarbage\r
   - type: Storage\r
-    maxSlots: 10\r
-    maxTotalWeight: 20\r
+    capacity: 10\r
   - type: Item\r
-    size: Small\r
+    size: 10\r
   - type: StorageFill\r
     contents:\r
     - id: CigaretteRandom\r
index 324a28caca5d9d699483f8cd5c801a4032a877e7..e1005bf1136ca38527ce62bf173adbc1db877ab7 100644 (file)
@@ -9,7 +9,7 @@
       tags:
       - RollingPaper
       - CigFilter
-    maxSlots: 20
+    capacity: 20
   - type: StorageFill
     contents:
       - id: PaperRolling
@@ -31,6 +31,7 @@
       tags:
       - RollingPaper
       - CigFilter
+    capacity: 32
   - type: StorageFill
     contents:
       - id: PaperRolling
@@ -53,7 +54,7 @@
     state: cigpaper
   - type: Item
     sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
-    size: Tiny
+    size: 5
   - type: Tag
     tags:
     - RollingPaper
@@ -67,6 +68,8 @@
   components:
     - type: Stack
       count: 1
+    - type: Item
+      size: 1
 
 - type: entity
   id: CigaretteFilter
@@ -83,7 +86,7 @@
     state: cigfilter
   - type: Item
     sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
-    size: Tiny
+    size: 10
   - type: Tag
     tags:
     - CigFilter
@@ -96,3 +99,5 @@
   components:
     - type: Stack
       count: 1
+    - type: Item
+      size: 2
index eede84cd4b3b70030d2eefc45bdd655f707ae9e7..6034df179ad43370aa9a68b13db8cb486dfa67fa 100644 (file)
       map: ["cigar8"]
       visible: false
   - type: Storage
-    maxSlots: 8
+    capacity: 8
   - type: Item
     sprite: Objects/Consumable/Smokeables/Cigars/case.rsi
-    size: Small
+    size: 8
   - type: StorageFill
     contents:
     - id: Cigar
index 3495ae26f9530b6a95850ade8e49e5567f8e99a7..4ed5912fc5e7a7d2b0e0ae354d82c8e87ba51777 100644 (file)
@@ -19,7 +19,7 @@
     slots: [ mask ]
     equippedPrefix: unlit
   - type: Item
-    size: Tiny
+    size: 1
 
 - type: entity
   id: CigarSpent
@@ -49,7 +49,7 @@
     slots: [ mask ]
     equippedPrefix: unlit
   - type: Item
-    size: Tiny
+    size: 1
 
 - type: entity
   id: CigarGoldSpent
index 7d2b234a58b32aaa33619e532d5e4c0f31735270..21017465bc36db60329183f22ab68b26bdbb0ef9 100644 (file)
@@ -12,7 +12,7 @@
     slots: [ mask ]
     equippedPrefix: unlit
   - type: Item
-    size: Tiny
+    size: 3
     sprite: Objects/Consumable/Smokeables/Pipes/pipe.rsi
   - type: Appearance
   - type: BurnStateVisuals
index 65141af36fbba678bf1c44089ef8acf5b3c8a8b5..dfff087e22c9a8fb83a5b2d42a079cce5695d527 100644 (file)
@@ -9,6 +9,6 @@
     layers:
       - state: icon
   - type: Item
-    size: Huge
+    size: 1001
   - type: StaticPrice
     price: 0
index a7fd1cd1dee8bcae77557295b563c45d70575741..14a1dfbb5eb2f6d9347fe6a63437b20d9ab4624a 100644 (file)
@@ -15,7 +15,9 @@
   suffix: Empty
   components:
   - type: Item
-    size: Normal
+    size: 30
+  - type: Storage
+    capacity: 30
 
 - type: entity
   id: PresentRandomUnsafe
index c462a3cb038ac72f72c2304ccb9a9ca63623f542..4bb13bdd93d7c9178f7e300c4f81acec9e1568f8 100644 (file)
@@ -17,7 +17,7 @@
     sprite: Objects/Devices/timer.rsi
     state: timer
   - type: Item
-    size: Small
+    size: 5
   - type: PayloadTrigger
     components:
     - type: OnUseTimerTrigger
index fc6c2ac787463815cd60c0158fd04e0c5c0f58c3..aed09fe70bc8e2481e9035cd067ccbfd9dfc89d2 100644 (file)
@@ -6,9 +6,9 @@
   components:
   - type: Sprite
     sprite: Objects/Misc/module.rsi
-    state: abductor_mod
+    state: abductor_mod  
   - type: Item
-    size: Small
+    size: 10
   - type: Tag
     tags:
-    - WeaponPistolCHIMPUpgradeKit
+    - WeaponPistolCHIMPUpgradeKit
\ No newline at end of file
index 21943bfaff390175e8bc2af74c18356c99300c6e..ad05777cfa6248cee4e9eb1717643d287319fed7 100644 (file)
@@ -8,7 +8,7 @@
     sprite: Objects/Devices/forensic_scanner.rsi
     state: forensicnew
   - type: Item
-    size: Small
+    size: 5
   - type: Clothing
     sprite: Objects/Devices/forensic_scanner.rsi
     quickEquip: false
index 91becb5251ef0f68c3e6908d0b0ff2c512e4804c..f44f1aa998410dd4f6cc4a065dd1c04c6c82ba82 100644 (file)
@@ -37,7 +37,7 @@
         components:
         - IdCard
   - type: Item
-    size: Tiny
+    size: 10
   - type: ContainerContainer
     containers:
       PDA-id: !type:ContainerSlot {}
index 07d918b5765460c9533fa2737cee7740bce35f51..06b230126207a259a8281f95c9dd6272cb8e9259 100644 (file)
@@ -16,7 +16,7 @@
     - key: enum.InstrumentUiKey.Key
       type: InstrumentBoundUserInterface
   - type: Item
-    size: Normal
+    size: 24
   - type: StaticPrice
     price: 200
 
index 260490ccad548ae9a084fcc8c1d1a0e01caaa9a5..e8ac6f7ce5440d6fe616c7ca404e06f8e4d64fa1 100644 (file)
@@ -14,7 +14,7 @@
     sprite: Objects/Fun/Instruments/trumpet.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/trumpet.rsi
   - type: Tag
     tags:
@@ -32,7 +32,7 @@
     sprite: Objects/Fun/Instruments/trombone.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 48
     sprite: Objects/Fun/Instruments/trombone.rsi
   - type: Tag
     tags:
@@ -50,7 +50,7 @@
     sprite: Objects/Fun/Instruments/frenchhorn.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 48
     sprite: Objects/Fun/Instruments/frenchhorn.rsi
   - type: Tag
     tags:
@@ -69,7 +69,7 @@
     sprite: Objects/Fun/Instruments/euphonium.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 48
     sprite: Objects/Fun/Instruments/euphonium.rsi
   - type: Tag
     tags:
index 47ea5ab2f60b45c54033532f255ff0396dce3b41..15581cbd8d147a68f4e84c9f535ba89caa4acc92 100644 (file)
@@ -10,7 +10,7 @@
   - type: Instrument
     program: 121
   - type: Item
-    size: Small
+    size: 10
 
 - type: entity
   parent: BaseHandheldInstrument
@@ -24,7 +24,7 @@
   - type: Instrument
     program: 122
   - type: Item
-    size: Small
+    size: 10
 
 - type: entity
   parent: BaseHandheldInstrument
@@ -38,7 +38,7 @@
   - type: Instrument
     program: 123
   - type: Item
-    size: Tiny
+    size: 5
 
 - type: entity
   parent: BaseHandheldInstrument
@@ -55,7 +55,7 @@
   - type: Instrument
     program: 124
   - type: Item
-    size: Small
+    size: 10
   - type: Prayable
     sentMessage: prayer-popup-notify-centcom-sent
     notifiactionPrefix: prayer-chat-notify-centcom
@@ -74,7 +74,7 @@
   - type: Instrument
     program: 125
   - type: Item
-    size: Small
+    size: 10
 
 - type: entity
   parent: BaseHandheldInstrument
@@ -88,7 +88,7 @@
   - type: Instrument
     program: 126
   - type: Item
-    size: Tiny
+    size: 5
 
 - type: entity
   parent: BaseHandheldInstrument
     sprite: Objects/Fun/Instruments/gunpet.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Fun/Instruments/gunpet.rsi
   - type: Tag
     tags:
     - BrassInstrument #Go figure.
   - type: Item
     sprite: Objects/Fun/Instruments/bike_horn.rsi
-    size: Small
+    size: 10
   - type: Clothing
     sprite: Objects/Fun/Instruments/bike_horn.rsi
     slots: [Belt]
index d79b354df44cb2cbac1dd7a370cc51b68876cfb9..1ab803c5e279894ddfd99272b04f2cde587696c9 100644 (file)
@@ -9,7 +9,7 @@
     sprite: Objects/Fun/Instruments/glockenspiel.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/glockenspiel.rsi
   - type: Tag
     tags:
@@ -58,7 +58,7 @@
     sprite: Objects/Fun/Instruments/microphone.rsi
     state: icon
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Fun/Instruments/microphone.rsi
 
 - type: entity
@@ -76,7 +76,7 @@
     sprite: Objects/Fun/Instruments/h_synthesizer.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/h_synthesizer.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/h_synthesizer.rsi
     state: icon
   - type: Item
-    size: Normal
-    sprite: Objects/Fun/Instruments/h_synthesizer.rsi
+    size: 24
+    sprite: Objects/Fun/Instruments/h_synthesizer.rsi
\ No newline at end of file
index 70d1444bc4fbb90e01ba46e91c7fe65d888c5cd8..c71fecd91bae8c217bb94a91cadeb6fc35926c72 100644 (file)
@@ -15,7 +15,7 @@
     sprite: Objects/Fun/Instruments/eguitar.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     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: Normal
+    size: 24
     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: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/rockguitar.rsi
   - type: Clothing
     quickEquip: false
     - StringInstrument
   - type: Item
     sprite: Objects/Fun/Instruments/guitar.rsi
-    size: Normal
+    size: 24
   - type: Clothing
     quickEquip: false
     slots:
     sprite: Objects/Fun/Instruments/banjo.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/banjo.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/violin.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/violin.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/viola.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/viola.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/cello.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 48
     sprite: Objects/Fun/Instruments/cello.rsi
   - type: Tag
     tags:
index afba6c27740360105127066e0123c9e3ceaccfe7..09db6133139630a906b8f246be1abc9e08dbebeb 100644 (file)
@@ -16,7 +16,7 @@
     sprite: Objects/Fun/Instruments/saxophone.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/saxophone.rsi
   - type: Tag
     tags:
@@ -45,7 +45,7 @@
     sprite: Objects/Fun/Instruments/accordion.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/accordion.rsi
   - type: Tag
     tags:
@@ -62,7 +62,7 @@
     sprite: Objects/Fun/Instruments/harmonica.rsi
     state: icon
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Fun/Instruments/harmonica.rsi
   - type: Tag
     tags:
@@ -80,7 +80,7 @@
     sprite: Objects/Fun/Instruments/clarinet.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 20
     sprite: Objects/Fun/Instruments/clarinet.rsi
   - type: Tag
     tags:
@@ -98,7 +98,7 @@
     sprite: Objects/Fun/Instruments/flute.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 20
     sprite: Objects/Fun/Instruments/flute.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/recorder.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/Instruments/recorder.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/panflute.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Fun/Instruments/panflute.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/ocarina.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Fun/Instruments/ocarina.rsi
   - type: Tag
     tags:
     sprite: Objects/Fun/Instruments/bagpipes.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 48
     sprite: Objects/Fun/Instruments/bagpipes.rsi
   - type: Tag
     tags:
-    - WoodwindInstrument
+    - WoodwindInstrument
\ No newline at end of file
index 58b168e88241bdf3de190ab715a05fac5c5841d8..fc20f1a58dd229f108e22466b60c15acc372cf55 100644 (file)
@@ -9,7 +9,7 @@
     state: icon
   - type: Item
     sprite: Objects/Fun/bikehorn.rsi
-    size: Tiny
+    size: 5
   - type: Clothing
     sprite: Objects/Fun/bikehorn.rsi
     slots: [Belt]
@@ -58,7 +58,7 @@
     state: icon
   - type: Item
     sprite: Objects/Fun/cluwnehorn.rsi
-    size: Tiny
+    size: 5
   - type: Clothing
     sprite: Objects/Fun/cluwnehorn.rsi
     slots: [Belt]
     state: icon
   - type: Item
     sprite: Objects/Fun/goldbikehorn.rsi
-    size: Tiny
+    size: 5
   - type: Clothing
     sprite: Objects/Fun/goldbikehorn.rsi
     slots: [Belt]
     state: icon
   - type: Item
     sprite: Objects/Fun/bananiumhorn.rsi
-    size: Tiny
+    size: 5
   - type: Clothing
     sprite: Objects/Fun/bananiumhorn.rsi
     slots: [Belt]
index 2ec93b9c9be9dff96f82032b177d6a372b39765d..3ed188bd8eca358a90b78a1f6e930ecee2e915ec 100644 (file)
@@ -9,7 +9,7 @@
     sprite: Objects/Fun/crayons.rsi
   - type: Item
     sprite: Objects/Fun/crayons.rsi
-    size: Tiny
+    size: 1
   - type: Tag
     tags:
     - Write
     sprite: Objects/Fun/crayons.rsi
     state: box
   - type: Storage
-    maxSlots: 7
-    maxTotalWeight: 7
+    capacity: 7
   - type: Item
     sprite: Objects/Fun/crayons.rsi
-    size: Small
+    size: 7
     heldPrefix: box
   - type: StorageFill
     contents:
index 34486ac93eb1b5ec2442ba5caeba3532cc7b41cb..bd4163d974eee261d665e8fa07dcbeeb79166775 100644 (file)
@@ -40,7 +40,7 @@
       types:
         Piercing: 4
   - type: Item
-    size: Tiny
+    size: 2
     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
     sprite: Objects/Fun/Darts/dart_purple.rsi
   - type: Item
     sprite: Objects/Fun/Darts/dart_purple.rsi
-
+     
 - type: entity
   parent: Dart
   id: DartYellow
index d2c33b90f0e726bff7e28564ac35ff2c000a55aa..6903a0bcac480d2d3b6a03bcc20a67e963f39590 100644 (file)
@@ -13,7 +13,7 @@
     tags:
     - Dice
   - type: Item
-    size: Tiny
+    size: 2
 
 - type: entity
   parent: BaseDice
index 20c3c12736ab252723853785d90cdde9564c3830..8c3b5aea8b5d34cd5947ce8ec7c9c2c338b78215 100644 (file)
     sprite: Objects/Fun/dice.rsi
     state: dicebag
   - type: Item
-    size: Small
   - type: Storage
+    capacity: 18
     whitelist:
       tags:
-      - Dice
+        - Dice
 
 - type: entity
   parent: DiceBag
@@ -32,5 +32,4 @@
     sprite: Objects/Fun/dice.rsi
     state: magicdicebag
   - type: Storage
-    maxSlots: 14
-    maxTotalWeight: 28
+    capacity: 30
index 01a15d2e5bd2e7bedd166c88c44829eb2a0746ee..c0649d0acfaa8c764420b007706a91a8c89c2a5c 100644 (file)
@@ -14,7 +14,7 @@
   - type: DoAfter
   - type: VentriloquistPuppet
   - type: Item
-    size: Normal
+    size: 30
   - type: Muted
   - type: TypingIndicator
     proto: robot
index c326fc9707d6a8c707e84082d2017148b793b01f..491ae0037a3e67504332e6d322517f90a7c20cf9 100644 (file)
   components:
   - type: Sprite
   - type: Item
-    size: Normal
+    size: 24
 
 - type: entity
   parent: FoamWeaponBase
     sprite: Objects/Fun/toys.rsi
     state: foamcrossbow
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/toys.rsi
     heldPrefix: foamcrossbow
   - type: Gun
       types:
         Blunt: 0
   - type: Item
-    size: Small
+    size: 20
     sprite: Objects/Fun/toys.rsi
     heldPrefix: foamblade
   - type: ItemCooldown
     sound:
       path: /Audio/Effects/Footsteps/bounce.ogg
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/toys.rsi
     heldPrefix: bask
   - type: TileFrictionModifier
     sprite: Objects/Fun/toys.rsi
     state: football
   - type: Item
-    size: Small
+    size: 12
     sprite: Objects/Fun/toys.rsi
     heldPrefix: footb
 
     sound:
       path: /Audio/Effects/Footsteps/bounce.ogg
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/toys.rsi
     heldPrefix: beachb
   - type: TileFrictionModifier
     sprite: Objects/Fun/toys.rsi
     state: synb
   - type: Item
-    size: Small
+    size: 24
     sprite: Objects/Fun/toys.rsi
     heldPrefix: synb
   - type: Damageable
     sprite: Objects/Fun/toys.rsi
     state: corgib
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/toys.rsi
     heldPrefix: corgib
   - type: Damageable
     intensity: 2000
     falloffPower: 2.6
   - type: Item
-    size: Small
+    size: 12
     sprite: Objects/Fun/toys.rsi
     heldPrefix: singularitytoy
 
     radius: 2
     color: "#00CCFF"
   - type: Item
-    size: Normal
+    size: 24
     sprite: Objects/Fun/toys.rsi
     heldPrefix: orb
   - type: TileFrictionModifier
           shader: unshaded
           map: [ "blade" ]
     - type: Item
-      size: Small
+      size: 5
       sprite: Objects/Weapons/Melee/e_sword.rsi
     - type: UseDelay
       delay: 1.0
       types:
         Blunt: 0
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Weapons/Melee/cutlass.rsi
 
 - type: entity
     - type: StaminaDamageOnHit
       damage: 8
     - type: Item
-      size: Small
+      size: 5
       sprite: Objects/Fun/rubber_hammer.rsi
     - type: Appearance
     - type: DisarmMalus
index 898d2c37c16691d05a9a97213d4d3c6efe03292c..2c1a8e628d31228fd0b56823ac15a7c1a2229af7 100644 (file)
@@ -9,7 +9,7 @@
     sprite: Objects/Materials/Sheets/glass.rsi
   - type: Item
     sprite: Objects/Materials/Sheets/glass.rsi
-    size: Normal
+    size: 30
   - type: StaticPrice
     price: 0
   - type: Tag
@@ -83,6 +83,8 @@
   - type: Stack
     stackType: Glass
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: SheetGlass
   - 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
   - type: Stack
     stackType: ReinforcedGlass
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: SheetGlassBase
       map: ["base"]
   - type: Item
     heldPrefix: pglass
+    size: 30
   - type: Construction
     graph: Glass
     node: SheetPGlass
   - type: Stack
     stackType: PlasmaGlass
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: SheetPGlass
   - type: Stack
     stackType: ReinforcedPlasmaGlass
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: SheetGlassBase
   - type: Stack
     stackType: UraniumGlass
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: SheetUGlass
   - type: Stack
     stackType: ReinforcedUraniumGlass
     count: 1
+  - type: Item
+    size: 1
index 99c7ae0e117c3db5e83c4b412dd39d35a7c33106..69b7f83ddb539aa2b90291388eafb8835197f788 100644 (file)
@@ -8,7 +8,7 @@
     sprite: Objects/Materials/Sheets/metal.rsi
   - type: Item
     sprite: Objects/Materials/Sheets/metal.rsi
-    size: Normal
+    size: 30
   - type: StaticPrice
     price: 0
   - type: Tag
@@ -75,6 +75,8 @@
   name: steel
   suffix: 10
   components:
+  - type: Item
+    size: 10
   - type: Sprite
     state: steel
   - type: Stack
@@ -87,6 +89,8 @@
   name: steel
   suffix: Single
   components:
+  - type: Item
+    size: 1
   - type: Sprite
     state: steel
   - type: Stack
   id: SheetSteelLingering0
   suffix: Lingering, 0
   components:
+  - type: Item
+    size: 0
   - type: Stack
     lingering: true
     count: 0
   - type: Stack
     stackType: Plasteel
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: SheetPlasteel
   - type: Stack
     stackType: Plasteel
     count: 1
+  - type: Item
+    size: 1
index ed1a1e3da0c871a6492de71b0386feeff8494cb3..3cb6f027a9e0de1486a4bee23bb3d1163cd0d9aa 100644 (file)
@@ -8,7 +8,7 @@
     sprite: Objects/Materials/Sheets/other.rsi
   - type: Item
     sprite: Objects/Materials/Sheets/other.rsi
-    size: Normal
+    size: 30
   - type: Tag
     tags:
     - Sheet
@@ -56,6 +56,8 @@
     state: paper
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: SheetOtherBase
     state: plasma
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: SheetOtherBase
       map: ["base"]
   - type: Item
     heldPrefix: plastic
+    size: 30
   - type: Appearance
 
 - type: entity
   components:
   - type: Sprite
     state: plastic
+  - type: Item
+    size: 10
   - type: Stack
     count: 10
 
   components:
   - type: Sprite
     state: plastic
+  - type: Item
+    size: 1
   - type: Stack
     count: 1
 
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: SheetOtherBase
       state: meat
     - type: Stack
       count: 1
+    - type: Item
+      size: 1
index d383a7266d51c2cb7e1eeb0a3b4e76e9b4959d0d..61aefee3329bb79fcfb594ebfe417d6ede02ad20 100644 (file)
@@ -8,7 +8,7 @@
     sprite: Objects/Materials/ingots.rsi
   - type: Item
     sprite: Objects/Materials/ingots.rsi
-    size: Normal
+    size: 30
   - type: StaticPrice
     price: 0
   - type: Tag
@@ -62,6 +62,8 @@
     state: gold
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: IngotBase
@@ -97,3 +99,7 @@
   components:
   - type: Sprite
     state: silver
+  - type: Stack
+    count: 1
+  - type: Item
+    size: 1
index 4af2886c24554a0c03530c6c1c4fd1ae5ad0bc91..7386eaee4d3b83b19678a47fda606139468fbbe3 100644 (file)
@@ -8,7 +8,7 @@
     sprite: Objects/Materials/materials.rsi
   - type: Item
     sprite: Objects/Materials/materials.rsi
-    size: Normal
+    size: 30
   - type: Tag
     tags:
       - DroneUsable
@@ -47,6 +47,8 @@
     - state: cardboard_3
       map: ["base"]
   - type: Appearance
+  - type: Item
+    size: 30
 
 - type: entity
   parent: MaterialCardboard
@@ -57,6 +59,8 @@
     state: cardboard
   - type: Stack
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: MaterialCardboard
@@ -67,6 +71,8 @@
     state: cardboard
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: MaterialBase
     - state: cloth_3
       map: ["base"]
   - type: Appearance
+  - type: Item
+    size: 30
   - type: Food
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     state: cloth
   - type: Stack
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: MaterialCloth
     state: cloth
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: MaterialBase
     state: durathread
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: MaterialBase
   components:
   - type: Stack
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: MaterialWoodPlank
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: MaterialBase
   - type: GuideHelp
     guides:
     - Cloning
+  - type: Item
+    size: 100
 
 - type: entity
   parent: MaterialBiomass
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 # Following not used currently
 - type: entity
     state: diamond
   - type: Item
     heldPrefix: diamond
+    size: 60
 
 - type: entity
   parent: MaterialDiamond
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 2
 
 - type: entity
   parent: MaterialBase
     - state: cotton_3
       map: ["base"]
   - type: Appearance
+  - type: Item
+    size: 30
   - type: Food
     requiresSpecialDigestion: true
   - type: SolutionContainerManager
     state: cotton
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: MaterialBase
       - ReagentId: Honk
         Quantity: 5
   - type: Appearance
+  - type: Item
+    size: 20
 
 - type: entity
   parent: MaterialBananium
     state: bananium
   - type: Stack
     count: 1
+  - type: Item
+    size: 2
 
 - type: entity
   parent: MaterialBase
   - type: Stack
     count: 50
     stackType: WebSilk
+  - type: Item
+    size: 50
   - type: Food
     requiresSpecialDigestion: true
   - type: FlavorProfile
   components:
   - type: Stack
     count: 25
+  - type: Item
+    size: 25
 
 - type: entity
   parent: MaterialWebSilk
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: MaterialBase
     - state: cotton_3
       map: ["base"]
   - type: Appearance
+  - type: Item
+    size: 30
   - type: Food
   - type: BadFood
   - type: SolutionContainerManager
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
index 2b6fec873b8084499f95586db6ae3e740c9c4114..f27d1b770ee9c85433f02c560267d4f7dab64925 100644 (file)
@@ -8,7 +8,7 @@
     sprite: Objects/Materials/ore.rsi
   - type: Item
     sprite: Objects/Materials/ore.rsi
-    size: Normal
+    size: 60
   - type: Tag
     tags:
     - Ore
@@ -57,6 +57,8 @@
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 2
 
 - type: entity
   parent: OreBase
@@ -80,6 +82,8 @@
   components:
     - type: Stack
       count: 1
+    - type: Item
+      size: 2
 
 - type: entity
   parent: OreBase
   components:
     - type: Stack
       count: 1
+    - type: Item
+      size: 2
 
 - type: entity
   parent: OreBase
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 2
 
 - type: entity
   parent: OreBase
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 2
 
 - type: entity
   parent: OreBase
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 2
+
 
 - type: entity
   parent: OreBase
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 2
index 7529bdee04fd8f0f43935dd0e8ba17a04db7338e..e75704c2a4336365864f7c84474b2fd8b2d41fbf 100644 (file)
@@ -44,7 +44,7 @@
     - state: rods_5
       map: ["base"]
   - type: Item
-    size: Normal
+    size: 30
 #    heldPrefix: rods
   - type: Construction
     graph: MetalRod
@@ -73,6 +73,8 @@
     state: rods
   - type: Stack
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: PartRodMetal
     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
index 8129ab2116c2587dc30826744891c8563203620a..affd08edb1a833a740ceb5bda7e6d8ef8ad9438a 100644 (file)
@@ -26,7 +26,7 @@
         Slash: 3.5
   - type: Item
     sprite: Objects/Materials/Shards/shard.rsi
-    size: Tiny
+    size: 4
   - type: CollisionWake
     enabled: false
   - type: Fixtures
index 2945c4f68e7e25b932e0c0d6d7845865b5043043..6c6f2d484ed4121d6b914fe5d46bd7f31660fb2a 100644 (file)
@@ -13,7 +13,7 @@
     sprite: Objects/Misc/bedsheets.rsi
     noRot: true
   - type: Item
-    size: Small
+    size: 10
   - type: Clothing
     quickEquip: true
     slots:
index fa54570d27c8dec22d06f2716f108e8f3778c3c3..59a2abd5662c92bbdff5763ae94e53213d34968e 100644 (file)
@@ -7,9 +7,9 @@
     sprite: Objects/Storage/boxes.rsi
   - type: Item
     sprite: Objects/Storage/boxes.rsi
-    size: Normal
+    size: 30
   - type: Storage
-    maxSlots: 7
+    capacity: 30
   - type: ContainerContainer
     containers:
       storagebase: !type:Container
index ebf776a7b1e1da899959635dee13a1cdf4582775..1866d3513e031d77b2e38709a2837acc493d43f0 100644 (file)
@@ -5,10 +5,9 @@
   description: Useful for carrying items in your hands.
   components:
   - type: Item
-    size: Large
+    size: 60
   - type: Storage
-    maxSlots: 4
-    maxTotalWeight: 16
+    capacity: 60
   - type: Tag
     tags:
     - Briefcase
     sprite: Objects/Storage/Briefcases/briefcase_brown.rsi
 
 - type: entity
-  parent: BriefcaseBase
+  parent: BaseStorageItem
   abstract: true
   id: BriefcaseSyndieBase
   suffix: Syndicate, Empty
   description: Useful for carrying items in your hands.
   components:
   - type: Item
-    size: Large
+    size: 80
   - type: Storage
-    maxSlots: 6
-    maxTotalWeight: 24
+    capacity: 80
   - type: Tag
     tags:
     - Briefcase
index c2357ed3c8cad0886f0b782a820b181bbf8ebddc..f53e39e3645a97867fd0452db9b37fe64434347e 100644 (file)
@@ -14,7 +14,7 @@
         Structural: 2
     animation: WeaponArcPunch
   - type: Item
-    size: Small
+    size: 5
   - type: PointLight
     radius: 1.5
     energy: 3
index 0697281a0ff289b1ac567f58ac322ac7a7aa3c6f..a90f598a5dd83954b2ed327ae9a16d2aac252287 100644 (file)
@@ -11,7 +11,7 @@
           map: [ "enabled" ]
   - type: Item
     sprite: Objects/Misc/fire_extinguisher.rsi
-    size: Small
+    size: 10
   - type: SolutionContainerManager
     solutions:
       spray:
index 1b925b5cb081f4d8942a72c46c37a4f88037ab46..77b321f9513437ebd38754d0b15ece0d27bb3b14 100644 (file)
@@ -38,7 +38,7 @@
     sprite: Objects/Misc/Lights/lights.rsi
   - type: Item
     sprite: Objects/Misc/Lights/lights.rsi
-    size: Normal
+    size: 20
     heldPrefix: off
   - type: PointLight
     enabled: false
   description: A pole with powerful mounted lights on it.
   components:
   - type: Item
-    size: Normal
+    size: 50
   - type: Sprite
     layers:
       - state: floodlight
index 4f2199bfa89825fdc226396f06530c7451d32783..befd24f36e19ce401b527f1c0c8ca398949dc0d9 100644 (file)
@@ -5,7 +5,7 @@
   parent: BaseItem
   components:
   - type: Item
-    size: Small
+    size: 3
   - type: Handcuff
     cuffedRSI: Objects/Misc/handcuffs.rsi
     bodyIconState: body-overlay
@@ -31,6 +31,8 @@
   id: Cablecuffs
   parent: Handcuffs
   components:
+  - type: Item
+    size: 5
   - type: Handcuff
     breakoutTime: 15
     cuffedRSI: Objects/Misc/cablecuffs.rsi
@@ -63,7 +65,7 @@
   parent: Handcuffs
   components:
   - type: Item
-    size: Tiny
+    size: 2
   - type: Handcuff
     breakoutTime: 20  # halfway between improvised cablecuffs and metal ones
     cuffedRSI: Objects/Misc/cablecuffs.rsi  # cablecuffs will look fine
@@ -90,7 +92,7 @@
   abstract: true
   components:
   - type: Item
-    size: Tiny
+    size: 2
   - type: Tag
     tags:
     - Trash
   description: Used to restrain those who may cause harm to themselves or others.
   components:
   - type: Item
-    size: Normal
+    size: 20
   - type: Handcuff
     cuffedRSI: Clothing/OuterClothing/Misc/straight_jacket.rsi
     breakoutTime: 100
index df8a0075761294390a7b786db4025d8a73286068..24462d511365290a9f930682a6b565ad3080a265 100644 (file)
@@ -12,7 +12,6 @@
     - idcard
     sprite: Objects/Misc/id_cards.rsi
   - type: Item
-    size: Small
     heldPrefix: default
   - type: Access
   - type: IdCard
index dd609dee6cff6c4a9115faee903670aa7e19bf09..41966ab93f82e481b6dc6d0421c6c2a631d756b7 100644 (file)
@@ -81,7 +81,7 @@
   components:
     - type: Item
       sprite: Objects/Specific/Medical/syndi_implanter.rsi
-      size: Tiny
+      size: 3
     - type: Sprite
       sprite: Objects/Specific/Medical/syndi_implanter.rsi
       state: implanter1
index abf4e0974a6264680a51d985dd741196d4df8639..d94193e49a16c5eedd9a94ec6a7c934257c55041 100644 (file)
@@ -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: Normal
+#      size: 15
     - 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: Normal
+#      size: 25
     - type: Sprite
       sprite: Objects/Misc/rifle_stock.rsi
       state: icon
index c38239a08d18944741ed2e747165aded1902358c..be1f4f65eeafe933f113b3a314bca10912a143df 100644 (file)
@@ -8,7 +8,7 @@
     - type: Sprite
       sprite: Objects/Misc/stock_parts.rsi
     - type: Item
-      size: Tiny
+      size: 1
     - type: GuideHelp
       guides:
       - MachineUpgrading
index d1ceae2c605374e58237392dcdf1d86c12a62466..64c11d5a2ffd2e704cf5ad0e910bfffd972f662e 100644 (file)
@@ -9,10 +9,9 @@
     state: icon
   - type: Item
     sprite: Objects/Storage/medalcase.rsi
-    size: Normal
+    size: 80
   - type: Storage
-    maxSlots: 8
-    maxTotalWeight: 16
+    capacity: 80
   - type: StorageFill
     contents:
     - id: ClothingNeckGoldmedal
index fcf47d713da2f71be71df21b1859165bf7fc522f..32ad0552c00f2e4c29d5825581b78090b1ad395c 100644 (file)
@@ -8,6 +8,7 @@
     whitelist:
       tags:
       - MonkeyCube
+    capacity: 30
   - type: StorageFill
     contents:
       - id: MonkeyCubeWrapped
@@ -46,6 +47,7 @@
     whitelist:
       tags:
       - MonkeyCube
+    capacity: 30
   - type: StorageFill
     contents:
       - id: SyndicateSpongeWrapped
index 99dc9c07c669c7e907aa4aedd234bcfbb310a39d..132d6b7aff91be95be4626aa1fb746fa89384229 100644 (file)
@@ -23,7 +23,7 @@
     - key: enum.PaperUiKey.Key
       type: PaperBoundUserInterface
   - type: Item
-    size: Tiny
+    size: 1
   - type: Tag
     tags:
     - Document
   - type: Item
     sprite: Objects/Misc/bureaucracy.rsi
     heldPrefix: pen
-    size: Tiny
+    size: 2
   - type: PhysicalComposition
     materialComposition:
       Steel: 25
   - type: Item
     sprite: Objects/Misc/bureaucracy.rsi
     heldPrefix: overpriced_pen
-    size: Tiny
+    size: 2
 
 - type: entity
   name: captain's fountain pen
 #      black: "#3f3f3f"
   - type: Item
     sprite: Objects/Misc/bureaucracy.rsi
-    size: Small
+    size: 5
   - type: Storage
-    maxSlots: 10
-    maxItemSize: Small
-    maxTotalWeight: 20
+    capacity: 10
     whitelist:
       tags:
         - Document
         insertOnInteract: false
   - type: Item
     sprite: Objects/Misc/clipboard.rsi
-    size: Small
+    size: 10
   - type: Clothing
     slots: [belt]
     quickEquip: false
     sprite: Objects/Misc/clipboard.rsi
   - type: Storage
-    maxSlots: 15
-    maxTotalWeight: 30
+    capacity: 20
     whitelist:
       tags:
         - Document
         insertOnInteract: true
   - type: Item
     sprite: Objects/Misc/qm_clipboard.rsi
-    size: Normal
+    size: 30
   - type: Clothing
     slots: [belt]
     quickEquip: false
     sprite: Objects/Misc/qm_clipboard.rsi
   - type: Storage
-    maxSlots: 20
+    capacity: 90
     quickInsert: true
     whitelist:
       tags:
     sprite: Objects/Misc/bureaucracy.rsi
     state: stamp-mime
   - type: Item
-    size: Tiny
+    size: 3
 
 - type: entity
   name: alternate rubber stamp
index 0f871831e2bf5c1eb9c831f954a081857d557c87..528aa30a148841c283f6cdbb3f8ca354e9265760 100644 (file)
@@ -8,10 +8,10 @@
       sprite: Objects/Misc/potatoai_chip.rsi
       state: icon
     - type: Item
-      size: Tiny
+      size: 3
     - type: Tag
       tags:
         - SmallAIChip
     - type: Construction
       graph: PotatoAIChip
-      node: potatoaichip
+      node: potatoaichip
\ No newline at end of file
index 43354616601a5c9e03e9f38273ebfbe4f0417f64..6632010a79b89658838a92bd75fef184153f4793 100644 (file)
     - type: SubdermalImplant
       implantAction: ActionOpenStorageImplant
     - type: Item
-      size: Huge
+      size: 9999
     - type: Storage
-      maxSlots: 4
-      maxItemSize: Small
+      capacity: 20 #10-20 should be more than enough for this
     - type: ContainerContainer
       containers:
         storagebase: !type:Container
index 22e5b9bb3cf2b2724fa105e9dcb1da10d57a043a..8267903dbb8a0f6cd057e9c763015010810b4036 100644 (file)
@@ -5,7 +5,7 @@
   description: A hermetically sealed jar containing antimatter for use in an antimatter reactor.
   components:
   - type: Item
-    size: Normal
+    size: 5
     sprite: Objects/Power/AME/ame_jar.rsi
   - type: Sprite
     sprite: Objects/Power/AME/ame_jar.rsi
index 7d428bcc5a96ce285289076a4a222e61f4162101..a393cad6176985952003b25d999f313cd6018eef 100644 (file)
@@ -5,7 +5,7 @@
   description: A flatpack used for constructing an antimatter engine reactor. Use a multitool to unpack it.
   components:
   - type: Item
-    size: Small
+    size: 5
     sprite: Objects/Power/AME/ame_part.rsi
   - type: Sprite
     sprite: Objects/Power/AME/ame_part.rsi
index c8684323a9046b5e6944a924e37f20941bacf20e..9317dd741fff8d87593fbaae23e293715757d720 100644 (file)
@@ -5,7 +5,7 @@
   description: Drains immense amounts of electricity from the grid.
   components:
     - type: Item
-      size: Large
+      size: 150
     - type: NodeContainer
       examinable: true
       nodes:
index 5b3f5e90ce1d4b1509d346bbd717fea89e3dccdb..ff333b93c2b942e1534464a44ffe8075f9810266 100644 (file)
@@ -4,7 +4,7 @@
   name: solar assembly part
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: Sprite
     sprite: Objects/Power/solar_parts.rsi
     state: solar_assembly_parts
index 76a8e576a5a421e1985d209509aea27d2f65ac79..8afe40bfe72db2aa3e90a311c6434ee412975abc 100644 (file)
@@ -10,7 +10,7 @@
       state: riot-icon
     - type: Item
       sprite: Objects/Weapons/Melee/shields.rsi
-      size: Huge
+      size: 100
       heldPrefix: riot
     - type: Blocking
       passiveBlockModifier:
         path: /Audio/Weapons/ebladeon.ogg
       deActivateSound:
         path: /Audio/Weapons/ebladeoff.ogg
-      offSize: Small
+      offSize: 5
     - type: Sprite
       sprite: Objects/Weapons/Melee/e_shield.rsi
       layers:
           shader: unshaded
           map: [ "shield" ]
     - type: Item
-      size: Small
+      size: 5
       sprite: Objects/Weapons/Melee/e_shield.rsi
       heldPrefix: eshield
     - type: UseDelay
       state: eshield-icon
     - type: Item
       sprite: Objects/Weapons/Melee/e_shield.rsi
-      size: Small
+      size: 5
       heldPrefix: eshield
 
 - type: entity
         path: /Audio/Weapons/telescopicoff.ogg
         params:
           volume: -5
-      offSize: Small
+      offSize: 10
     - type: Sprite
       sprite: Objects/Weapons/Melee/teleriot_shield.rsi
       layers:
           visible: false
           map: [ "shield" ]
     - type: Item
-      size: Small
+      size: 10
       sprite: Objects/Weapons/Melee/teleriot_shield.rsi
       heldPrefix: teleriot
     - type: UseDelay
index 3e72257d5cb4d99a6cadce5169cdc00dc72492d8..19414d09973ce2341d743479bfb11b0fd1e7f142 100644 (file)
     sprite: Objects/Specific/Chapel/bible.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Specific/Chapel/bible.rsi
   - type: Clothing
     slots:
     - Belt
   - type: Storage
-    maxSlots: 1
+    capacity: 10
   - type: UserInterface
     interfaces:
     - key: enum.StorageUiKey.Key
@@ -74,7 +74,7 @@
     sprite: Objects/Specific/Chapel/necronomicon.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Specific/Chapel/necronomicon.rsi
   - type: Clothing
     slots:
index 597f48744cb4bc3c064968b22c99c966f1ddc760..8be5fecb4f127a705939f1c3dd29d2b7e2405600 100644 (file)
@@ -13,9 +13,9 @@
     slots:
     - belt
   - type: Item
-    size: Normal
+    size: 46
   - type: Storage
-    maxSlots: 40
+    capacity: 45
     quickInsert: true
     areaInsert: true
     whitelist:
index b7627e1016bed4780792d5eb52ac2e6b2a90d9f7..a3abd4f1e35dee710432788f904853ae1fc7f5c7 100644 (file)
@@ -5,7 +5,7 @@
   description: A forensic pad for collecting fingerprints or fibers.
   components:
   - type: Item
-    size: Tiny
+    size: 3
   - type: ForensicPad
   - type: Sprite
     sprite: Objects/Misc/bureaucracy.rsi
index 8e26898daad029b9771e7fd60d9e3b6bee38c576..6da11b53fb51ffb49671228c61d64cf7cec26c5a 100644 (file)
@@ -63,7 +63,7 @@
     tags:
       - Smokable
   - type: Item
-    size: Tiny
+    size: 1
 
 - type: entity
   name: tobacco leaves
     tags:
       - Smokable
   - type: Item
-    size: Tiny
+    size: 1
index af66e528c9dfcca1e440ef3b42f35c47057af5a2..16d9fd1a642f19a06986caebf2b74464dff32308 100644 (file)
@@ -8,7 +8,7 @@
       sprite: Objects/Specific/Hydroponics/seeds.rsi
       state: seed
     - type: Item
-      size: Tiny
+      size: 2
     - type: StaticPrice
       price: 20
 
       seedId: watermelon
     - type: Sprite
       sprite: Objects/Specific/Hydroponics/watermelon.rsi
-
+      
 - type: entity
   parent: SeedBase
   name: packet of grape seeds
     - type: Seed
       seedId: bungo
     - type: Sprite
-      sprite: Objects/Specific/Hydroponics/bungo.rsi
+      sprite: Objects/Specific/Hydroponics/bungo.rsi
\ No newline at end of file
index 026c47f176532e6bef5a370cf4da6600393e05bc..c939cc9ca1cfd49c8d55ec9b4d3616112dd289b4 100644 (file)
@@ -59,7 +59,7 @@
       types:
         Slash: 10
   - type: Item
-    size: Normal
+    size: 20
   - type: Clothing
     sprite: Objects/Tools/Hydroponics/scythe.rsi
     slots:
   - type: Sprite
     sprite: Objects/Specific/Hydroponics/Equipment/plant_bag.rsi
     state: icon
+  - type: Item
   - type: Clothing
     quickEquip: false
     slots:
     - belt
   - type: Storage
-    maxSlots: 40
-    maxItemSize: Small
+    capacity: 200
     quickInsert: true
     areaInsert: true
     whitelist:
index d865dd172f1c76158b91bd32471b66eb305bc483..333c17b21715de8da3ed38085d77e58c71cb43af 100644 (file)
@@ -20,7 +20,7 @@
       types:
         Blunt: 5
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Specific/Janitorial/mop.rsi
   - type: Absorbent
   - type: SolutionContainerManager
@@ -59,7 +59,7 @@
         types:
           Blunt: 5
     - type: Item
-      size: Normal
+      size: 15
       sprite: Objects/Specific/Janitorial/advmop.rsi
     - type: Absorbent
       pickupAmount: 100
     sprite: Objects/Specific/Janitorial/wet_floor_sign.rsi
   - type: Item
     sprite: Objects/Specific/Janitorial/wet_floor_sign.rsi
-    size: Normal
+    size: 15
   - type: Armor
     modifiers:
       coefficients:
         types:
           Blunt: 0
     - type: Item
-      size: Small
+      size: 10
       sprite: Objects/Specific/Janitorial/rag.rsi
     - type: Absorbent
       pickupAmount: 15
index da1222259544caf5073882d2b9121f4c1983537a..80aace05e734c42dd5c25f2f381020c1d4abdc59 100644 (file)
@@ -9,8 +9,7 @@
       - state: icon-0
         map: ["enum.StorageFillLayers.Fill"]
   - type: Storage
-    maxSlots: 20
-    maxItemSize: Small
+    capacity: 125
     quickInsert: true
     areaInsert: true
     storageOpenSound:
@@ -34,7 +33,7 @@
     slots: [belt]
     sprite: Objects/Specific/Janitorial/trashbag.rsi
   - type: Item
-    size: Normal
+    size: 125
 
 - type: entity
   name: trash bag
@@ -56,9 +55,7 @@
   parent: TrashBagBlue
   components:
   - type: Storage
-    maxSlots: 100
-    maxItemSize: Huge
-    maxTotalWeight: 200
+    capacity: 125000
     quickInsert: true
     areaInsert: true
     areaInsertRadius: 1000
index 20ec7354fb81eac881682bcc26d9716266f2aa4c..22faf499f11aacd2a214cd94e80ad22f3b6ed490 100644 (file)
       - 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
@@ -62,7 +63,7 @@
     #    cell_slot:
     #      name: power-cell-slot-component-slot-name-default
     #      startingItem: PowerCellMedium
-
+  
 - type: entity
   name: Hot Food Cart
   id: FoodCartHot
     - 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
           whitelist:
             tags:
               - Hotsauce
-          priority: 5
+          priority: 5 
         bbqsauce_slot:
           name: BBQ Sauce
           insertSound: /Audio/Items/bottle_clunk.ogg
           whitelist:
             tags:
               - BBQsauce
-          priority: 4
+          priority: 4  
         ketchup_slot:
           name: Ketchup
           insertSound: /Audio/Items/bottle_clunk.ogg
           whitelist:
             tags:
               - Ketchup
-          priority: 3
+          priority: 3 
     - type: ItemMapper
       mapLayers:
         cart_hotsauce:
     - 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
index a2675ffaaf81a3c10dd69504d2572a603af2f3b5..2ad28399a665f6f449bdf472b5093f64eafdc71e 100644 (file)
@@ -13,9 +13,9 @@
       slots:
         - belt
     - type: Item
-      size: Huge
+      size: 151
     - type: Storage
-      maxSlots: 15
+      capacity: 150
       quickInsert: true
       areaInsert: true
       whitelist:
index a79e6e9037a8691cb851ebc5cc5c75f73a1d66c4..678cd5ea1226979579539ade84c2a30a26d68b2c 100644 (file)
@@ -44,7 +44,7 @@
   abstract: true
   components:
   - type: Item
-    size: Huge
+    size: 50
 
 - type: entity
   parent: BaseRipleyPart
   abstract: true
   components:
   - type: Item
-    size: Huge
+    size: 50
 
 - type: entity
   parent: BaseHonkerPart
   abstract: true
   components:
   - type: Item
-    size: Large
+    size: 50
 
 - type: entity
   parent: BaseHamtrPart
   abstract: true
   components:
   - type: Item
-    size: Small
+    size: 10
 
 - type: entity
   parent: BaseVimPartItem
index ac550b8e61919a1e6cd2affc8c5dd4c4e226af56..8539c473b933e3f0c8000e342b9f3e7d68d4990e 100644 (file)
@@ -7,7 +7,7 @@
     sprite: Objects/Specific/Mech/mecha_equipment.rsi
   - type: Item
     sprite: Objects/Specific/Mech/mecha_equipment.rsi
-    size: Huge
+    size: 50
   - type: MechEquipment
   - type: GuideHelp
     guides:
index 74b0cbb0d916a073c1d8ee7b11093a2c534eef68..a69147b610dc557a982acb244a5d59cc4945be5f 100644 (file)
@@ -28,7 +28,7 @@
             True: { visible: true }
             False: { visible: false }
     - type: Item
-      size: Normal
+      size: 50
     - type: ItemCooldown
     - type: Speech
       speechVerb: Robotic
index b85f7087773cef877c4151e2ae41a14995201063..9c67cbb28c2b5d9b1cd738c375aab721a0f222e0 100644 (file)
@@ -5,7 +5,7 @@
   description: Used for taking and transfering samples. Sterile until open. Single use only.
   components:
   - type: Item
-    size: Tiny
+    size: 1
   - 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: Tiny
+    size: 3
   - type: Sprite
     sprite: Objects/Specific/Medical/medipen.rsi
     state: salpen
index 88b7401f74915daa278296c976ead808eee746f8..5083ae4a443651e1840ebfd3d709385ecc27f250 100644 (file)
@@ -6,7 +6,7 @@
   - type: Sprite
     sprite: Objects/Specific/Medical/medical.rsi
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Specific/Medical/medical.rsi
     heldPrefix: ointment
   # Inherited
@@ -54,6 +54,8 @@
   - type: Stack
     stackType: Ointment
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   id: Ointment10Lingering
   - type: Stack
     stackType: RegenerativeMesh
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   name: bruise pack
   - type: Stack
     stackType: Brutepack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   id: Brutepack10Lingering
   - type: Stack
     stackType: MedicatedSuture
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   name: blood pack
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   id: Gauze10Lingering
         - 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
         - 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
         - 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
         - 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
         - 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
         - 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
         - 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
         - 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
         - 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
index 709bc751a4e7481228ccc904329d9bf24e6b5294..dccbbc732878183a15904ac5e32242c6fec41393 100644 (file)
       map: ["enum.SolutionContainerLayers.Fill"]
   - type: Item
     sprite: Objects/Specific/Medical/medipen.rsi
-    size: Tiny
+    size: 3
   - type: SolutionContainerManager
     solutions:
       pen:
       map: ["enum.SolutionContainerLayers.Fill"]
   - type: Item
     sprite: Objects/Specific/Medical/medipen.rsi
-    size: Small
+    size: 10
   - type: SolutionContainerManager
     solutions:
       pen:
       map: ["enum.SolutionContainerLayers.Fill"]
   - type: Item
     sprite: Objects/Specific/Medical/medipen.rsi
-    size: Tiny
+    size: 5
   - type: SolutionContainerManager
     solutions:
       pen:
       map: ["enum.SolutionContainerLayers.Fill"]
   - type: Item
     sprite: Objects/Specific/Medical/medipen.rsi
-    size: Tiny
+    size: 5
   - type: SolutionContainerManager
     solutions:
       pen:
index 3328316112b52812276d969e157889dc2db5bd55..400f6670ab6c5037e892f538a5222f390a5cae55 100644 (file)
@@ -8,8 +8,9 @@
     sprite: Objects/Specific/Medical/firstaidkits.rsi
     state: firstaid
   - type: Storage
+    capacity: 60
   - type: Item
-    size: Normal
+    size: 60
     sprite: Objects/Specific/Medical/firstaidkits.rsi
     heldPrefix: firstaid
   - type: Tag
@@ -92,5 +93,7 @@
     state: blackkit
   - type: Item
     heldPrefix: blackkit
-    size: Normal
+    size: 50
+  - type: Storage
+    capacity: 50
 
index 1ef73f23964f17d00dde076ae6e59fbb0a306c3a..18e502ccdfbde8d22110c0e535294479b0adda22 100644 (file)
@@ -5,7 +5,7 @@
   description: A plastic bag designed for the storage and transportation of cadavers.
   components:
   - type: Item
-    size: Small
+    size: 6
   - type: Sprite
     drawdepth: SmallObjects # I guess body bags need appear above a coroner's table?
     sprite: Objects/Specific/Medical/Morgue/bodybags.rsi
index dd9d771ebef792900b62142f21c9dd88fe3bd4e1..268a91c8de3cd169ed14f9eaec8e7afd4111451e 100644 (file)
@@ -9,13 +9,13 @@
     state: icon
   - type: Item
     sprite: Objects/Specific/Research/rped.rsi
-    size: Normal
+    size: 50
   - type: GuideHelp
     guides:
     - MachineUpgrading
   - type: PartExchanger
   - type: Storage
-    maxSlots: 30
+    capacity: 150
     quickInsert: true
     areaInsert: true
     whitelist:
index 814ddb30da0cf2b13943d4c9a9eea7b1da05be50..583aef374a7493ad0da61e547c5f025552930e55 100644 (file)
     slots:
     - belt
   - type: Item
-    size: Huge
+    size: 176
   - type: Storage
-    maxSlots: 5
-    maxItemSize: Normal
+    capacity: 175
     quickInsert: true
     areaInsert: true
     whitelist:
index 6abdd790c9cb5d44c80dce4678704bf46d9ae14a..6ada51176c9c17a005cc77bc7155ebf8d6a15eb1 100644 (file)
@@ -22,7 +22,7 @@
     soundSwing:
       path: /Audio/Weapons/punchmiss.ogg
   - type: Item
-    size: Normal
+    size: 50
   - type: Damageable
     damageContainer: Inorganic
     damageModifierSet: Metallic
index 6c49fd7a5e0bda9b239dbf48b6b01b7e122026f0..465e1a458cec14bf8eb30672af607bde735593a6 100644 (file)
@@ -55,7 +55,7 @@
       type: IntercomBoundUserInterface
   - type: Appearance
   - type: Item
-    size: Normal
+    size: 40
     sprite: Objects/Specific/Xenoarchaeology/item_artifacts.rsi
     heldPrefix: ano01
   - type: Actions
index 51d705f617db5d3751dde8125b2e59cf795c35d1..0e679c7096263f6bfcab0e2773a1c577ab6c86f4 100644 (file)
@@ -17,7 +17,7 @@
           map: [ "enum.SolutionContainerLayers.Fill" ]
           visible: false
     - type: Item
-      size: Normal
+      size: 20
       sprite: Objects/Specific/Chemistry/jug.rsi
     - type: RefillableSolution
       solution: beaker
index b869a2008f8b47554784881e61cffd657beeb62f..da1a15e23898f11a2d9abe8eedeee138468e4e1b 100644 (file)
@@ -46,7 +46,7 @@
     - key: enum.TransferAmountUiKey.Key
       type: TransferAmountBoundUserInterface
   - type: Item
-    size: Tiny
+    size: 3
     sprite: Objects/Specific/Chemistry/beaker.rsi
   - type: Spillable
     solution: drink
index 6ccb29f1cc8ff452b3b82f6062118c58f0211188..bf323067ac08678b333db3de0fb71acd0a2a68d7 100644 (file)
         map: ["enum.SolutionContainerLayers.Fill"]
         visible: false
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Specific/Chemistry/beaker_large.rsi
   - type: SolutionContainerManager
     solutions:
     sprite: Objects/Specific/Chemistry/syringe.rsi
     state: "syringe_base0"
   - type: Item
-    size: Tiny
+    size: 3
     sprite: Objects/Specific/Chemistry/syringe.rsi
     heldPrefix: 0
   - type: SolutionContainerManager
     sprite: Objects/Specific/Chemistry/pills.rsi
     state: pill
   - type: Item
-    size: Tiny
+    size: 1
     sprite: Objects/Specific/Chemistry/pills.rsi
   - type: Pill
   - type: Food
   name: pill canister
   id: PillCanister
   parent: BaseStorageItem
-  description: Holds up to 10 pills.
+  description: Holds up to 9 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
-    maxSlots: 10
-    maxTotalWeight: 10
+    capacity: 9
     quickInsert: true
     areaInsert: true
     areaInsertRadius: 1
index aa6a64789e7a0c8ebba82eb694e1f5de0079bfc4..81836f9c6cba84bc89fab174f8f10f73fb1930c0 100644 (file)
@@ -10,7 +10,7 @@
     state: telecrystal
   - type: Item
     sprite: Objects/Specific/Syndicate/telecrystal.rsi
-    size: Tiny
+    size: 20
   - type: Stack
     count: 20
     stackType: Telecrystal
@@ -29,6 +29,8 @@
   components:
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: Telecrystal
@@ -37,6 +39,8 @@
   components:
   - type: Stack
     count: 5
+  - type: Item
+    size: 5
 
 - type: entity
   parent: Telecrystal
@@ -45,6 +49,8 @@
   components:
   - type: Stack
     count: 10
+  - type: Item
+    size: 10
 
 # Uplinks
 - type: entity
index 7863cf8c093001ef2725efb75bd7bc51c54d5612..c8b05c6959dca101195db1afdafbe631aa5c7435 100644 (file)
@@ -11,7 +11,7 @@
       sprite: Objects/Tools/access_configurator.rsi
       state: icon
     - type: Item
-      size: Small
+      size: 5
     - type: Clothing
       sprite: Objects/Tools/access_configurator.rsi
       quickEquip: false
     - 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:
index c7d62d759b7ef79c4706a6e3a0a10f8c2ec1009f..2a5870908fecf6053daec67d00c350da6d596587 100644 (file)
@@ -16,7 +16,7 @@
       state: fill-1
       visible: false
   - type: Item
-    size: Normal
+    size: 100
   - type: Clothing
     sprite: Objects/Tools/bucket.rsi
     slots:
index e8d95ff9cb7b2b3369a5cd7ef6084baaa04eb268..e73d80f83b4a81bba17fa8eac287a08b021b140d 100644 (file)
@@ -19,7 +19,7 @@
     sprite: Objects/Tools/cable-coils.rsi
   - type: Item
     sprite: Objects/Tools/cable-coils.rsi
-    size: Small
+    size: 30
   - type: CablePlacer
   - type: Clickable
   - type: StaticPrice
@@ -62,6 +62,8 @@
     state: coilhv-10
   - type: Stack
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: CableHVStack10
@@ -81,6 +83,8 @@
     state: coilhv-10
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: CableStack
     state: coilmv-10
   - type: Stack
     count: 10
+  - type: Item
+    size: 10
 
 - type: entity
   parent: CableMVStack10
     state: coilmv-10
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
 
 - type: entity
   parent: CableStack
       state: coillv-10
     - type: Stack
       count: 10
+    - type: Item
+      size: 10
 
 - type: entity
   parent: CableApcStack10
     state: coillv-10
   - type: Stack
     count: 1
+  - type: Item
+    size: 1
index e6a7a43fa40a2896b39533eb3dbdd7ee5e1b0008..24eb0b02b2458799cc87ba7c706a02e849b00367 100644 (file)
   - type: Sprite
     sprite: Objects/Tools/Cowtools/cowelder.rsi
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Tools/Cowtools/cowelder.rsi
   - type: Tool
     speed: 0.05
index 612c8b93b918812f5df766925288229df9eebac0..8e54b4277f9bd5f4104397b3f3b99f3618773e1f 100644 (file)
@@ -28,7 +28,7 @@
           mask:
             - Impassable
     - type: Item
-      size: Normal
+      size: 30
     - type: Foldable
       folded: true
     - type: Clickable
@@ -58,7 +58,7 @@
   components:
   - type: Fulton
   - type: Item
-    size: Normal
+    size: 20
   - type: Stack
     stackType: Fulton
     count: 10
@@ -84,7 +84,7 @@
   suffix: One
   components:
   - type: Item
-    size: Small
+    size: 2
   - type: Stack
     count: 1
 
index 9887d8cdc01a13c72d08df947b9ec8ff20552875..09d99452137fe06142709610e752cf9ff35db86c 100644 (file)
@@ -7,7 +7,7 @@
     sprite: Objects/Tanks/generic.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Tanks/generic.rsi
   - type: Clothing
     sprite: Objects/Tanks/generic.rsi
   - type: Sprite
     sprite: Objects/Tanks/emergency.rsi
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Tanks/emergency.rsi
   - type: GasTank
     outputPressure: 21.3
index 5c30cfdea3a7a5bd78f72082c7048ecbbb079653..b3d117dced540a802a565335d3258de0150ce262 100644 (file)
@@ -13,7 +13,7 @@
       state: item_wall
     - type: Item
       sprite: Objects/Misc/inflatable_wall.rsi
-      size: Small
+      size: 10
     - type: SpawnAfterInteract
       prototype: InflatableWall
       doAfter: 1
@@ -39,7 +39,7 @@
       state: item_door
     - type: Item
       sprite: Objects/Misc/inflatable_door.rsi
-      size: Small
+      size: 4
     - type: SpawnAfterInteract
       prototype: InflatableDoor
       doAfter: 1
@@ -57,6 +57,8 @@
   components:
     - type: Sprite
       state: item_wall
+    - type: Item
+      size: 5
     - type: Stack
       count: 5
 
@@ -67,6 +69,8 @@
   components:
     - type: Sprite
       state: item_wall
+    - type: Item
+      size: 1
     - type: Stack
       count: 1
 
@@ -77,5 +81,7 @@
   components:
     - type: Sprite
       state: item_door
+    - type: Item
+      size: 1
     - type: Stack
       count: 1
index 31d852354bbef4274197b4f8df9cd8cbb82504e6..36f96f61af884640ad610f86dd0c09738d93eb51 100644 (file)
@@ -11,7 +11,7 @@
     sprite: Objects/Tools/jaws_of_life.rsi
     state: jaws_pry
   - type: Item
-    size: Normal
+    size: 50
   - 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: Normal
+    size: 35
   - type: Tool
     qualities:
       - Prying
index d63225b2bd991a550a688ef14189a1b78c50b347..b87bbae0d86734b1ac4ccc4c58a4afb797d7143e 100644 (file)
@@ -37,7 +37,7 @@
       state: icon
     - type: Item
       sprite: Objects/Tanks/Jetpacks/blue.rsi
-      size: Large
+      size: 100
     - type: UserInterface
       interfaces:
         - key: enum.SharedGasTankUiKey.Key
       - Back
   - type: Item
     sprite: Objects/Tanks/Jetpacks/captain.rsi
-    size: Normal
+    size: 30
   - type: Tag
     tags:
     - HighRiskItem
index a3b6b3fd6e8182ebe93aa13e969a18a9e60dd998..e3422f2a4a2d0a37560adbdca7ad8a91e3561f98 100644 (file)
@@ -40,7 +40,7 @@
       visible: false
     - state: basic_icon_top
   - type: Item
-    size: Tiny
+    size: 1
     sprite: Objects/Tools/lighters.rsi
     heldPrefix: off
   - type: ItemCooldown
index 98affd271c8445d5f7994e1d36f92cb406f6ab11..fd7e185cb027ba2ec7cf179ca73798e87cb4e27c 100644 (file)
@@ -4,10 +4,9 @@
   abstract: true
   components:
   - type: Storage
-    maxSlots: 7
-    maxTotalWeight: 14
+    capacity: 10
   - type: Item
-    size: Small
+    size: 10
 
 - type: entity
   name: match stick
@@ -27,7 +26,7 @@
   - type: Item
     sprite: Objects/Tools/matches.rsi
     heldPrefix: unlit
-    size: Tiny
+    size: 1
   - type: Matchstick
     duration: 10
     igniteSound:
   - type: Item
     sprite: Objects/Tools/matches.rsi
     heldPrefix: matchbox
-    size: Small
+    size: 5
   - type: Storage
-    maxSlots: 5
-    maxTotalWeight: 5
+    capacity: 5
   - type: StorageFill
     contents:
       - id: Matchstick
index 8a1c33df769498ceeb40cc197c1951027579e944..e9f05267963f9bfcde422bfb2b06cd10f483f3e6 100644 (file)
@@ -8,11 +8,9 @@
     sound:
       path: /Audio/Items/toolbox_drop.ogg
   - type: Storage
-    maxSlots: 7
-    maxItemSize: Normal
-    maxTotalWeight: 14
+    capacity: 60
   - type: Item
-    size: Huge
+    size: 9999
   - type: ItemCooldown
   - type: MeleeWeapon
     damage:
   - type: Item
     sprite: Objects/Tools/Toolboxes/toolbox_syn.rsi
   - type: Storage
-    maxItemSize: Large
-    maxTotalWeight: 28
+    capacity: 170 # this seems silly high
   - type: MeleeWeapon
     damage:
       types:
index 566c72dafd87e9c7f37ea2a22f26e8fc21b2dc8c..12a6ede23183e5a26bb1bca90b2e4c3da1267a70 100644 (file)
     state: icon
   - type: Item
     sprite: Objects/Tools/crowbar.rsi
-    size: Small
+    size: 10
   - type: ItemCooldown
   - type: MeleeWeapon
     wideAnimationRotation: -135
     - state: green-unlit
       shader: unshaded
   - type: Item
-    size: Small
+    size: 5
   - type: Clothing
     sprite: Objects/Tools/multitool.rsi
     quickEquip: false
           map: ["enum.NetworkConfiguratorLayers.ModeLight"]
           shader: unshaded
     - type: Item
-      size: Small
+      size: 5
     - type: Clothing
       sprite: Objects/Tools/network_configurator.rsi
       quickEquip: false
     state: drill_screw
   - type: Item
     sprite: Objects/Tools/drill.rsi
-    size: Small
+    size: 10
   - type: Tool
     qualities:
       - Screwing
     sprite: Objects/Tools/rcd.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 20
   - type: Clothing
     sprite: Objects/Tools/rcd.rsi
     quickEquip: false
     state: omnitool-screwing
   - type: Item
     sprite: Objects/Tools/omnitool.rsi
-    size: Normal
+    size: 20
   - type: Tag
     tags:
     - Multitool
       types:
         Blunt: 14
   - type: Item
-    size: Normal
+    size: 90
     sprite: Objects/Tools/shovel.rsi
   - type: PhysicalComposition
     materialComposition:
     state: icon
   - type: Item
     sprite: Objects/Tools/rolling_pin.rsi
-    size: Small
+    size: 10
   - type: Clothing
     sprite: Objects/Tools/rolling_pin.rsi
     quickEquip: false
index caa0d4c20888e0a2dd8135132abe5b87456aff55..7c3de82d0ad62644dbbb942c5efee3a86834700b 100644 (file)
@@ -17,7 +17,7 @@
       shader: unshaded
       visible: false
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Tools/welder.rsi
   - type: ToggleableLightVisuals
     spriteLayer: flame
   - type: Sprite
     sprite: Objects/Tools/welder_mini.rsi
   - type: Item
-    size: Tiny
+    size: 5
     sprite: Objects/Tools/welder_mini.rsi
   - type: RefillableSolution
     solution: Welder
index 468f1aa3a560560c178e6ad4699682a517126d03..f361c2b877a3def188b4839ef8822d8874f27cbb 100644 (file)
@@ -5,7 +5,7 @@
   description: Interesting design.
   components:
   - type: Item
-    size: Tiny
+    size: 2
   - type: Tag
     tags:
     - VehicleKey
index 84883c975d04dd226181e6912ba9147c73d5ad37..c33c1f92c5529e80337f2510d955dbd18c18e3f7 100644 (file)
@@ -12,7 +12,7 @@
         map: ["base"]
     - type: Item
       sprite: Objects/Weapons/Bombs/hot_potato.rsi
-      size: Small
+      size: 5
     - type: AmbientSound
       enabled: false
       range: 8
index e3581370f03d7f6b1d4e5baa347a2db38277828b..4d9fed1f914db12f19698028c9e5420d51685e28 100644 (file)
@@ -12,7 +12,7 @@
       map: ["base"]
   - type: Item
     sprite: Objects/Weapons/Bombs/c4.rsi
-    size: Small
+    size: 10
   - type: OnUseTimerTrigger
     delay: 10
     delayOptions: [10, 30, 60, 120, 300]
index 8f997b76874d578fae96592c186e7531be445a7e..50a7ea8687beb7ca3ed7845b690b9153d8425692 100644 (file)
@@ -10,7 +10,7 @@
     state: icon
   - type: Item
     sprite: Objects/Weapons/Bombs/spidercharge.rsi
-    size: Small
+    size: 10
   - type: SpiderCharge
   - type: OnUseTimerTrigger
     delay: 10
index 28157ef3450407132750ce7b39e54f1a83f58f4c..c7980f845f8adf18bdf22c5a9ead08fac7ecd112 100644 (file)
@@ -12,7 +12,7 @@
     proto: CartridgeAntiMateriel
     capacity: 10
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 063268d8b53a9368f7e0a2c5d0ea511e6c1dc0db..4a77bfcfc56b46def675262f95d3bef5512693d6 100644 (file)
@@ -12,7 +12,7 @@
     proto: CartridgeCaselessRifle
     capacity: 60
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 0751d3608c19f2832d2f10fb47ba3db207a8aaa3..1c8fbc26e1fea92d63082c3530781d4010f33381 100644 (file)
@@ -12,7 +12,7 @@
     proto: CartridgeLightRifle
     capacity: 50
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 1ff05558e5d78f43689cf50dfca7fdf14b7b655f..5a9a850e9ccfd974498ef4c1aa63dd8c5bc63c84 100644 (file)
@@ -11,7 +11,7 @@
     proto: CartridgeMagnum
     capacity: 60
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 867aa15a34944f1fb294782238c07321cde06555..a9a78f399a6393041a35d04cb0926dbb2dd2bd9b 100644 (file)
@@ -12,7 +12,7 @@
     proto: CartridgePistol
     capacity: 60
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 5ed2fcc63ed7adbd0a5be2d21872096c93a215de..3725ad91af5533141eb9d8656f4f4cf883cf1f04 100644 (file)
@@ -11,7 +11,7 @@
     proto: CartridgeRifle
     capacity: 60
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 1831db28e755c95956e016b7ba1a0c88ee60bab1..de6f9f92a5b0cf82b063799b908eaaac1bdc5aed 100644 (file)
@@ -20,7 +20,7 @@
     tags:
     - Cartridge
   - type: Item
-    size: Tiny
+    size: 1
   - type: SpaceGarbage
   - type: EmitSoundOnLand
     sound:
index 0d16f1e966c00e938926d69417c884d7968fbc2c..773ff01ed850d52c8d5d48374c33624c017054c7 100644 (file)
@@ -15,7 +15,7 @@
     proto: CartridgeCaselessRifle
     capacity: 30
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
@@ -42,7 +42,7 @@
     proto: CartridgeCaselessRifle
     capacity: 10
   - type: Item
-    size: Tiny
+    size: 3
   - 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: Small
+    size: 5
   - type: Sprite
     sprite: Objects/Weapons/Guns/Ammunition/Magazine/CaselessRifle/caseless_pistol_mag.rsi
     layers:
index d8af7064a4ace8a0e182fdaa676c3a9863110233..239533c9408552015f05f82007443e3018351f78 100644 (file)
@@ -8,7 +8,7 @@
     tags:
       - MagazineHeavyRifle
   - type: Item
-    size: Small
+    size: 10
   - type: BallisticAmmoProvider
     mayTransfer: true
     capacity: 100
index 7ae4f325244d5c02d11000d83c9c61d53f32e387..e5863643695e1eaf89888255e672cc6471aeb948 100644 (file)
@@ -16,7 +16,7 @@
     proto: CartridgeLightRifle
     capacity: 30
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index b65dac5d15a8c62ea6d5f382fd22ceb176a702ee..6060898d49527a31cd2be0cd996f8565b3ff4a4d 100644 (file)
@@ -14,7 +14,7 @@
         - CartridgeMagnum
     capacity: 25
   - type: Item
-    size: Small
+    size: 10
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 8793a717e7efd90600df37bae0d26773babd966e..4ed38fdeb35dc2e41da7962bbad82c96b130588c 100644 (file)
@@ -14,7 +14,7 @@
         - CartridgePistol
     capacity: 10
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
@@ -47,7 +47,7 @@
         - CartridgePistol
     capacity: 16
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
@@ -80,7 +80,7 @@
         - CartridgePistol
     capacity: 35
   - type: Item
-    size: Small
+    size: 10
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 8e65cd992eb866a2574cf55e5b7d5bffd954567f..ca1f9b8de2892a9c7fbe6961600f247bfd222e99 100644 (file)
@@ -9,7 +9,7 @@
     tags:
       - MagazineRifle
   - type: Item
-    size: Small
+    size: 5
   - type: BallisticAmmoProvider
     mayTransfer: true
     whitelist:
index cbe9bbfbe973b50c44ad9e48453eeea3a5cfda8d..b78825f3e14d5011146fa43213bacdaabd238865 100644 (file)
@@ -16,7 +16,7 @@
     soundRack:
       path: /Audio/Weapons/Guns/Cock/smg_cock.ogg
   - type: Item
-    size: Small
+    size: 5
   - type: ContainerContainer
     containers:
       ballistic-ammo: !type:Container
index 86da8e6662ca90905dc1a1329445d3aad52c64ab..56d420cb33caadd1daa55c4be812ed38eaf7df17 100644 (file)
@@ -10,7 +10,7 @@
     tags:
       - CartridgeRocket
   - type: Item
-    size: Small
+    size: 5
   - type: CartridgeAmmo
     proto: BulletRocket
     deleteOnSpawn: true
@@ -30,7 +30,7 @@
       tags:
         - CartridgeRocket
     - type: Item
-      size: Small
+      size: 5
     - type: CartridgeAmmo
       proto: BulletWeakRocket
       deleteOnSpawn: true
@@ -52,7 +52,7 @@
     tags:
     - Grenade
   - type: Item
-    size: Small
+    size: 5
   - type: Sprite
 
 - type: entity
index f85e93b893f07aba6cdcd347d2fa529e0260653c..041cf446c11090e0fd96f2e5f5ab2f3db0cc5bad 100644 (file)
@@ -7,7 +7,7 @@
     sprite: Objects/Weapons/Guns/Basic/kinetic_accelerator.rsi
   - type: Item
     sprite: Objects/Weapons/Guns/Basic/kinetic_accelerator.rsi
-    size: Normal
+    size: 30
   - type: GunWieldBonus
     minAngle: -43
     maxAngle: -43
index 9cab4cac25a4a318f9c2702d824a9bc612963ad2..76bd0b9e75029d251bcd17b494baecce9f9acf53 100644 (file)
@@ -7,7 +7,7 @@
     sprite: Objects/Weapons/Guns/Basic/staves.rsi
   - type: Item
     heldPrefix: staff
-    size: Normal
+    size: 60
   - type: Gun
     fireRate: 1
     selectedMode: SemiAuto
index c4a937ee2cd1b497b7bfac8bd3e680f3bb2bccb9..3b97eac8ee9af3ca4aefdacf37efca33e9e3ebb5 100644 (file)
@@ -7,7 +7,7 @@
     sprite: Objects/Weapons/Guns/Basic/wands.rsi
   - type: Item
     heldPrefix: wand
-    size: Normal
+    size: 30
   - type: Gun
     fireRate: 0.5
     selectedMode: SemiAuto
index f2e93a607ece056a8299d298a3f1b1070afac89f..d4d00252f51d9a76992d4bfa91360ecc0471a213 100644 (file)
@@ -9,7 +9,7 @@
     state: icon
   - type: Item
     sprite: Objects/Weapons/Guns/Basic/spraynozzle.rsi
-    size: Normal
+    size: 30
   - type: Gun
     cameraRecoilScalar: 0 #no recoil
     fireRate: 4
index e925bdab8761a7cdd7d821452cf26b59b52fecaf..a815f9c0cd138ac14002a1a6677b8422f9ca2dd8 100644 (file)
@@ -10,7 +10,7 @@
     slots: BELT
   - type: Item
     sprite: Objects/Weapons/Guns/Pistols/water_pistol.rsi
-    size: Small
+    size: 10
   - 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: Normal
+    size: 35
   - type: RandomSprite
     getAllGroups: true
     available:
       map: [ "enum.DamageStateVisualLayers.Base" ]
   - type: Item
     sprite: Objects/Weapons/Guns/Pistols/soaker.rsi
-    size: Normal
+    size: 35
   - type: RandomSprite
     getAllGroups: true
     available:
index d4b91425048e5024a0452b2f79c4e8935697765f..461a6cc4373d106a9b67031e4a9c14e2125570cb 100644 (file)
@@ -5,7 +5,7 @@
   components:
   - type: Sprite
   - type: Item
-    size: Large
+    size: 50
   - type: Clothing
     sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi
     quickEquip: false
@@ -37,7 +37,7 @@
   abstract: true
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: Tag
     tags:
     - Sidearm
   description: An experimental high-energy laser pistol with a self-charging nuclear battery.
   components:
   - type: Item
-    size: Normal  # Intentionally larger than other pistols
+    size: 30  # Intentionally larger than other pistols
   - type: Sprite
     sprite: Objects/Weapons/Guns/Battery/advancedlasergun.rsi
     layers:
       path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
   - type: ProjectileBatteryAmmoProvider
     proto: AnomalousParticleDeltaStrong
-    fireCost: 100
+    fireCost: 100 
   - type: BatteryWeaponFireModes
     fireModes:
     - proto: AnomalousParticleDeltaStrong
   - type: Construction
     graph: UpgradeWeaponPistolCHIMP
     node: start
-
+      
 - type: entity
   name: experimental C.H.I.M.P. handcannon
   parent: WeaponPistolCHIMP
   id: WeaponPistolCHIMPUpgraded
   description: This C.H.I.M.P. seems to have a greater punch than is usual...
-  components:
+  components: 
   - type: BatteryWeaponFireModes
     fireModes:
     - proto: AnomalousParticleDeltaStrong
     - proto: AnomalousParticleEpsilonStrong
       fireCost: 100
     - proto: AnomalousParticleOmegaStrong
-      fireCost: 100
+      fireCost: 100     
     - proto: AnomalousParticleZetaStrong
       fireCost: 100
 
index 4b7125f571f5f0c527bb798219699f77074e6296..88640f7812f5fb5b141f08f641fdcc45db9e2fcb 100644 (file)
@@ -8,7 +8,7 @@
   - type: Sprite
     sprite: Objects/Weapons/Guns/Bow/bow.rsi
   - type: Item
-    size: Normal
+    size: 60
   - type: Clothing
     quickEquip: false
     slots:
index 1b318beac85482f0df4b1b5292a33f354c1d32ed..785b36cc6200b3c6aadb19eefe665901087c83b3 100644 (file)
@@ -7,7 +7,6 @@
   components:
   - type: Sprite
   - type: Item
-    size: Huge
   - type: Gun
     fireRate: 20
     selectedMode: FullAuto
@@ -34,6 +33,7 @@
       map: ["enum.GunVisualLayers.Base"]
   - type: Item
     sprite: Objects/Weapons/Guns/HMGs/minigun.rsi
+    size: 90
   - type: Gun
     fireRate: 15
     soundGunshot:
index 3d6cd680a0c0c90736f07ab3aa33266a6f0a0cf5..62142519bfa05f2d6607fc04558b3c62fc46c0aa 100644 (file)
@@ -7,7 +7,7 @@
   components:
   - type: Sprite
   - type: Item
-    size: Large
+    size: 60
   - type: Clothing
     sprite: Objects/Weapons/Guns/LMGs/l6.rsi
     quickEquip: false
index 2dbf71840c9ab24bb330e51495441d5313f8bf37..3796ac92b891e4af03c0778ab83a8140fedce10b 100644 (file)
@@ -12,7 +12,7 @@
     slots:
     - Back
   - type: Item
-    size: Large
+    size: 60
   - type: StaticPrice
     price: 500
   - type: ContainerContainer
index a6c6f1e6772a9e45731e82eb43e05ab3fd80181b..7bfd914d94fef78d922f75d1abf4046624f6e27c 100644 (file)
@@ -12,7 +12,7 @@
       - state: mag-0
         map: ["enum.GunVisualLayers.Mag"]
   - type: Item
-    size: Small
+    size: 10
   - type: Tag
     tags:
     - Sidearm
index 8dbcf2b3033a72955c137a9c70c9a482d18ccf4a..32a2ea4623f3ad78686b1b904e1d4e45738f1664 100644 (file)
@@ -4,7 +4,7 @@
   abstract: true
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: Sprite
     sprite: Objects/Weapons/Guns/Projectiles/arrows.rsi
   - type: Fixtures
index c523fd279795ae585662485148116df857121a97..1851dcddf6b80026f7e5335b41a792f0575829b5 100644 (file)
@@ -8,7 +8,7 @@
   - type: Sprite
     state: icon
   - type: Item
-    size: Small
+    size: 10
   - type: Tag
     tags:
     - Sidearm
       params:
         volume: 2.25
 
-- type: entity
+- type: entity 
   name: Python
   parent: WeaponRevolverPython
   id: WeaponRevolverPythonAP # For the uplink.
   - type: RevolverAmmoProvider
     capacity: 5
     chambers: [ True, True, True, True, True ]
-    ammoSlots: [ null, null, null, null, null ]
+    ammoSlots: [ null, null, null, null, null ]
\ No newline at end of file
index d460c0c8f03fab92d5b2bde1ef41942a7d948059..114573c0879d463d4edb24a3d99b7920106bced7 100644 (file)
@@ -7,7 +7,7 @@
   components:
   - type: Sprite
   - type: Item
-    size: Large
+    size: 50
   - type: Clothing
     sprite: Objects/Weapons/Guns/Rifles/ak.rsi
     quickEquip: false
index 6bf6fcf695618a5780842b83fd03794c1c619f81..e423c09841250faff6e3e31dd54e0b273f6fc40d 100644 (file)
@@ -7,7 +7,7 @@
   components:
   - type: Sprite
   - type: Item
-    size: Normal
+    size: 30
   - type: Clothing
     sprite: Objects/Weapons/Guns/SMGs/atreides.rsi
     quickEquip: false
index 5a08eb3636978fe9255f02838f2e11fd8354c340..4bee243d57454d889654714c1b2b33cf9dff2824 100644 (file)
@@ -11,7 +11,7 @@
         map: [ "enum.GunVisualLayers.Base" ]
   - type: Item
     # If you update this also update the bulldog's size.
-    size: Large
+    size: 30
   - type: Clothing
     sprite: Objects/Weapons/Guns/Shotguns/db_shotgun.rsi
     quickEquip: false
@@ -57,6 +57,8 @@
       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
   - type: Clothing
     sprite: Objects/Weapons/Guns/Shotguns/enforcer.rsi
   - type: BallisticAmmoProvider
-
+  
 - type: entity
   name: Enforcer
   parent: BaseWeaponShotgun
     sprite: Objects/Weapons/Guns/Shotguns/enforcer.rsi
   - type: BallisticAmmoProvider
     proto: ShellShotgunBeanbag
-
+  
 - type: entity
   name: Kammerer
   parent: BaseWeaponShotgun
     sprite: Objects/Weapons/Guns/Shotguns/pump.rsi
   - type: Clothing
     sprite: Objects/Weapons/Guns/Shotguns/pump.rsi
-  - type: Item
-    size: Normal
   - type: BallisticAmmoProvider
     capacity: 4
 
   - type: Clothing
     sprite: Objects/Weapons/Guns/Shotguns/sawn.rsi
   - type: Item
-    size: Small
+    size: 10
   - type: Gun
     fireRate: 4
   - type: BallisticAmmoProvider
     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
     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
index 4a16aadb6550beeb29384fa56acd48dfab08c2d5..68c494b88819d21294473558ccdb0ea073b6a3e4 100644 (file)
@@ -10,7 +10,7 @@
     - state: base
       map: ["enum.GunVisualLayers.Base"]
   - type: Item
-    size: Large
+    size: 50
   - type: Clothing
     sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi
     quickEquip: false
index cfcc0a01cd1f26d486af1c3a1e6287a723e3b296..d41346380c3076bac8415f78b4e85ab5c2cc2789 100644 (file)
@@ -10,7 +10,7 @@
       - state: icon
         map: ["enum.GunVisualLayers.Base"]
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Weapons/Guns/Shotguns/flaregun.rsi
   - type: Gun
     fireRate: 8
index fcd028a64e81eb7a42e47433286ef4d9f1a2c488..9f3aec5c39bcbb717b95953c87ffd39bc424c00c 100644 (file)
@@ -12,7 +12,7 @@
       map: [ "tank" ]
       visible: false
   - type: Item
-    size: Large
+    size: 50
   - type: Clothing
     quickEquip: false
     slots:
@@ -32,9 +32,7 @@
     container: storagebase
   - type: PneumaticCannon
   - type: Storage
-    maxSlots: 8
-    maxItemSize: Normal
-    maxTotalWeight: 32
+    capacity: 30
     blacklist:
       tags:
         - CannonRestrict
     layers:
     - state: piecannon
   - type: Storage
-    maxSlots: 8
-    maxItemSize: Normal
-    maxTotalWeight: 32
     whitelist:
       components:
       - CreamPie
+    capacity: 40
   - type: Gun
     fireRate: 1
     selectedMode: SemiAuto
@@ -97,7 +93,7 @@
   - type: ContainerAmmoProvider
     container: storagebase
   - type: Item
-    size: Normal
+    size: 50
   - type: Clothing
     sprite: Objects/Weapons/Guns/Cannons/pie_cannon.rsi
     quickEquip: false
   suffix: Admeme
   components:
   - type: Item
-    size: Huge
+    size: 9999
   - type: Storage
-    maxSlots: 100
-    maxItemSize: Huge
-    maxTotalWeight: 1600
-    whitelist:
-      tags: [] #dodging a test fail like the IRS
+    capacity: 9999
   - type: PneumaticCannon
     gasUsage: 0
     throwItems: false
index 497876f3596824d69ca55031af5d4144792f0fd6..9e9288c8d4a38a5ce3c0af9f0e9ec53d7bd9b953 100644 (file)
@@ -16,7 +16,7 @@
         Slash: 25\r
         Piercing: 15\r
   - type: Item\r
-    size: Normal\r
+    size: 15\r
     sprite: Objects/Weapons/Melee/armblade.rsi\r
   - type: Tool\r
     qualities:\r
index a1a4f484faa64a6b9e2f6f9aba128d31535992b8..c1fc668d59282088b7349e8fe77253802db6b30b 100644 (file)
@@ -18,7 +18,7 @@
       types:
         Blunt: 8
   - type: Item
-    size: Normal
+    size: 80
   - type: Tool
     qualities:
     - Rolling
index bfddd764ca20865136648dc4af7d8c884c9eb2cd..13f5191c103f2214010b255ec7980cff1d759283 100644 (file)
@@ -31,7 +31,7 @@
         Blunt: 5
         Structural: 20
   - type: Item
-    size: Normal
+    size: 50
     sprite: Objects/Weapons/Melee/chainsaw.rsi
   - type: DisarmMalus
   - type: RefillableSolution
index ff80144f9fb966cac37709142d15d7d35a45e2e3..661ee379b240d5468c367e2683b5485fdd4e2b13 100644 (file)
@@ -15,7 +15,7 @@
       types:
         Slash: 12
   - type: Item
-    size: Normal
+    size: 20
   - type: Clothing
     sprite: Objects/Weapons/Melee/cult_dagger.rsi
     slots:
@@ -39,7 +39,7 @@
       types:
         Slash: 33
   - type: Item
-    size: Normal
+    size: 20
   - type: Clothing
     sprite: Objects/Weapons/Melee/cult_blade.rsi
     slots:
@@ -75,7 +75,7 @@
         Slash: 12
         Structural: 30
   - type: Item
-    size: Huge
+    size: 150
   - type: Clothing
     sprite: Objects/Weapons/Melee/cult_halberd.rsi
     quickEquip: false
index c00fd1ab86093ef625a193700af72ac53915357e..47dfea9d867298369cc0e34d576ff6faa933828a 100644 (file)
@@ -30,7 +30,7 @@
       types:
         Blunt: 4.5
   - type: Item
-    size: Small
+    size: 5
     sprite: Objects/Weapons/Melee/e_sword.rsi
   - type: UseDelay
     delay: 1.0
@@ -95,7 +95,7 @@
       types:
         Blunt: 1
   - type: Item
-    size: Tiny
+    size: 2
     sprite: Objects/Weapons/Melee/e_dagger.rsi
   - type: UseDelay
     delay: 1.0
         shader: unshaded
         map: [ "blade" ]
   - type: Item
-    size: Small
+    size: 5
     sprite: Objects/Weapons/Melee/e_cutlass.rsi
 
 - type: entity
         shader: unshaded
         map: [ "blade" ]
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Weapons/Melee/e_sword_double.rsi
   - type: Reflect
     enabled: true
index 1c786371b320dd793591951f3da6cd5dbec49a26..6d27e3e7d64b63521dc7600d2141f5b0548b3c47 100644 (file)
@@ -29,7 +29,7 @@
         Slash: 10.5
         Structural: 60
   - type: Item
-    size: Huge
+    size: 150
   - type: Clothing
     sprite: Objects/Weapons/Melee/fireaxe.rsi
     quickEquip: false
index ec9717ea22bf41ff74fac173245a898004ea0c2e..9e673da49d028b10c11d205bf400f20004882fb7 100644 (file)
@@ -13,5 +13,5 @@
       types:
         Blunt: 3 #You'd be better off punching people
   - type: Item
-    size: Small
+    size: 12
     sprite: Objects/Weapons/Melee/gohei.rsi
index 98ecaa28a66625633cf55e6acc0d15b90342e0ed..bbd18927e1f220d540afff75591e7c30fd22b6fe 100644 (file)
     - Knife
   - type: Sprite
     sprite: Objects/Weapons/Melee/kitchen_knife.rsi
+    size: 2
     state: icon
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Weapons/Melee/kitchen_knife.rsi
   - type: GuideHelp
     guides:
@@ -56,6 +57,7 @@
     - Knife
   - type: Sprite
     sprite: Objects/Weapons/Melee/cleaver.rsi
+    size: 4
     state: butch
   - type: MeleeWeapon
     wideAnimationRotation: -135
@@ -64,7 +66,7 @@
       types:
         Slash: 10
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Weapons/Melee/cleaver.rsi
   - type: GuideHelp
     guides:
@@ -82,7 +84,7 @@
     - Knife
   - type: Sprite
     sprite: Objects/Weapons/Melee/combat_knife.rsi
-    size: Tiny
+    size: 2
     state: icon
   - type: MeleeWeapon
     wideAnimationRotation: -135
@@ -91,7 +93,7 @@
       types:
         Slash: 10
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Weapons/Melee/combat_knife.rsi
   - type: DisarmMalus
     malus: 0.225
   components:
   - type: Sprite
     sprite: Objects/Weapons/Melee/survival_knife.rsi
-    size: Tiny
+    size: 2
     state: icon
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Weapons/Melee/survival_knife.rsi
 
 - type: entity
   components:
   - type: Sprite
     sprite: Objects/Weapons/Melee/kukri_knife.rsi
-    size: Tiny
+    size: 2
     state: icon
   - type: MeleeWeapon
     attackRate: 1.0
       types:
         Slash: 15
   - type: Item
-    size: Small
+    size: 10
     sprite: Objects/Weapons/Melee/kukri_knife.rsi
 
 - type: entity
     node: icon
   - type: Sprite
     sprite: Objects/Weapons/Melee/shiv.rsi
-    size: Tiny
+    size: 2
     state: icon
   - type: MeleeWeapon
     attackRate: 1.5
       types:
         Slash: 5.5
   - type: Item
-    size: Tiny #as much as a regular glass shard
+    size: 4 #as much as a regular glass shard
     sprite: Objects/Weapons/Melee/shiv.rsi
   - type: DisarmMalus
     malus: 0.225
   - type: Construction
     graph: ReinforcedShiv
     node: icon
-    size: Tiny
+    size: 2
     state: icon
   - type: MeleeWeapon
     attackRate: 1.5
index e5046d5c1fa284412a96f59b70e6697a47184aab..f3bb0ceec91c3aa8a3e2d05a040a5a4048985b1b 100644 (file)
@@ -57,7 +57,7 @@
         Slash: 2.5
   - type: GunRequiresWield
   - type: Item
-    size: Huge
+    size: 150
   - type: DisarmMalus
   - type: Tool
     qualities:
@@ -80,7 +80,7 @@
       types:
         Slash: 6.5
   - type: Item
-    size: Small
+    size: 10
   - type: Tag
     tags:
     - Knife
     wideAnimationRotation: -135
     attackRate: 1.25
   - type: Item
-    size: Huge
+    size: 150
index 11efeba5f8c001acdcce3f214192c521dbaebb09..48b2d6ad2b83b9ad2995405e97f3bbbdd29149e4 100644 (file)
@@ -13,5 +13,5 @@
       types:
         Piercing: 1
   - type: Item
-    size: Tiny
+    size: 1
   - type: BalloonPopper
index 85f1e4a4c79da4d4369b7db5fca889abaad4ac93..a0f497bd2652e420a1f3d54178b4bb529206765e 100644 (file)
@@ -26,7 +26,7 @@
       types:
         Structural: 10
   - type: Item
-    size: Normal
+    size: 80
     sprite: Objects/Weapons/Melee/pickaxe.rsi
   - type: UseDelay
     delay: 1
index 037844507ffca34759fec816716966c28cceca20..d34d29d5ebe2d5dbd9ae9c7be211a1c5d922a04f 100644 (file)
@@ -47,7 +47,7 @@
       types:
         Piercing: 15
   - type: Item
-    size: Huge
+    size: 95
   - type: Clothing
     quickEquip: false
     slots:
index 87b7c468c3cc4694b60ac5beefc8b13dc33130ec..25c9cf6125796da13e734c03a703b08d6cbfd91c 100644 (file)
@@ -26,7 +26,7 @@
   - type: ItemCooldown
   - type: Item
     heldPrefix: off
-    size: Large
+    size: 100
   - type: Clothing
     sprite: Objects/Weapons/Melee/stunprod.rsi
     quickEquip: false
index 9bd9d6c12fe664991ab7be17e69e1a3e2279dec8..23160f13ea778527cc216d71e6198898573e1bb6 100644 (file)
@@ -21,7 +21,7 @@
     reflectProb: .5
     spread: 90
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Weapons/Melee/captain_sabre.rsi
   - type: Tag
     tags:
@@ -49,7 +49,7 @@
     soundHit:
         path: /Audio/Weapons/bladeslice.ogg
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Weapons/Melee/katana.rsi
   - type: DisarmMalus
 
@@ -68,7 +68,7 @@
       types:
         Slash: 30
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Weapons/Melee/energykatana.rsi
   - type: EnergyKatana
   - type: DashAbility
     soundHit:
         path: /Audio/Weapons/bladeslice.ogg
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Weapons/Melee/machete.rsi
   - type: DisarmMalus
 
     soundHit:
         path: /Audio/Weapons/bladeslice.ogg
   - type: Item
-    size: Normal
+    size: 20
   - type: Clothing
     sprite: Objects/Weapons/Melee/claymore.rsi
     slots:
     soundHit:
         path: /Audio/Weapons/bladeslice.ogg
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Weapons/Melee/cutlass.rsi
   - type: DisarmMalus
index e5a03d51367363f6c20fc30d1d7157df588bc14d..b5f8590304453a55a24b886a06bb89ee3d570f71 100644 (file)
@@ -9,7 +9,7 @@
     sprite: Objects/Tools/Toolboxes/toolbox_red.rsi
     state: icon
   - type: Item
-    size: Huge
+    size: 150
     sprite: Objects/Tools/Toolboxes/toolbox_red.rsi
   - type: MeleeWeapon
     wideAnimationRotation: -135
index 997c3771d56a344514a018d2e86c223624cf3109..c76ebf4d7833b5d6e71ba5207e304184711934be 100644 (file)
@@ -8,7 +8,7 @@
     sprite: Objects/Weapons/Melee/white_cane.rsi
     state: icon
   - type: Item
-    size: Normal
+    size: 15
     sprite: Objects/Weapons/Melee/white_cane.rsi
   - type: MeleeWeapon
     wideAnimationRotation: 45
index f694762a092a69698726be3ba7fec1d606bb15e6..1afb564036ea733dad177ba0df0c9a68bf7cd681 100644 (file)
@@ -5,7 +5,7 @@
   description: Linked together with some spare cuffs and metal.
   components:
   - type: Item
-    size: Normal
+    size: 20
   - type: Sprite
     sprite: Objects/Weapons/Throwable/bola.rsi
     state: icon
index ece4ec4ef486235d3cf89d1ac4b08004b9fe5ad4..9f18b94d2c49b72a3368d815aed76e93e6652026 100644 (file)
@@ -9,7 +9,7 @@
     - state: icon
       map: ["enum.TriggerVisualLayers.Base"]
   - type: Item
-    size: Small
+    size: 5
   - type: Clothing
     quickEquip: false
     slots:
     - state: empty
       map: [ "enum.ConstructionVisuals.Layer" ]
   - type: Item
-    size: Small
+    size: 8
   - type: PayloadCase
   - type: Construction
     graph: ModularGrenadeGraph
index bf4a155ee47e151f33ccb67c646d6d968a2efb22..92e7dbd4c1dff58717f2a1d034a1c04eb8c63479 100644 (file)
@@ -31,7 +31,7 @@
   - type: ItemCooldown
   - type: Item
     heldPrefix: off
-    size: Normal
+    size: 20
   - type: Clothing
     sprite: Objects/Weapons/Melee/stunbaton.rsi
     quickEquip: false
@@ -81,7 +81,7 @@
         Blunt: 20
     bluntStaminaDamageFactor: 1.5
   - type: Item
-    size: Normal
+    size: 20
   - type: Clothing
     sprite: Objects\Weapons\Melee\truncheon.rsi
     quickEquip: false
           Blunt: 0 # melee weapon to allow flashing individual targets
       angle: 10
     - type: Item
-      size: Small
+      size: 5
       sprite: Objects/Weapons/Melee/flash.rsi
     - type: ItemCooldown
     - type: StaticPrice
index bcc8e0dce4903c50f18bf262781bb80803626512..32325603c1d39edfe9f716f031a8c0b9a70ba794 100644 (file)
@@ -4,7 +4,7 @@
   abstract: true
   components:
   - type: Item
-    size: Small
+    size: 5
   - type: Clickable
   - type: InteractionOutline
   - type: MovedByPressure
index 6d5e0e3dcddd10f42dc190c29e74138a6a00d576..9f1de3ff39d373adde8c02dd30a1c92fd3ea283b 100644 (file)
@@ -47,8 +47,7 @@
   - type: Pullable
   - type: Occluder
   - type: Storage
-    maxSlots: 32
-    maxItemSize: Normal
+    capacity: 200
     whitelist:
       tags:
         - Document
index 8d669ab6d23d10f40e5605a30bacdf1154739c76..aaff4e1e288c1aea1d6a8d055c0613ecb9c0642b 100644 (file)
       map: ["foldedLayer"]
       visible: false
   - type: Item
-    size: Large
+    size: 50
   - type: Appearance
   - type: MeleeWeapon
     damage:
   - type: Rotatable
   - type: Sprite
     state: steel-bench
-
index 29061a06b13a04872c3f0c2fb3941a160ed5ef53..da2b82270f7d7a4780365b3a939feecf126c2802 100644 (file)
@@ -25,8 +25,7 @@
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: Storage
-    maxSlots: 6
-    maxItemSize: Normal
+    capacity: 50
   - type: ContainerContainer
     containers:
       storagebase: !type:Container
@@ -68,7 +67,7 @@
       - id: ClothingUniformJumpskirtColorPink
         prob: 0.05
       - id: ClothingUniformJumpsuitLoungewear
-        prob: 0.05
+        prob: 0.05    
         orGroup: dressermainloot
       - id: Pen # It`s pen.
         prob: 0.03
@@ -98,7 +97,7 @@
         prob: 0.03
         orGroup: dressermainloot
       - id: ClothingUniformJumpsuitColorRed
-        prob: 0.03
+        prob: 0.03 
         orGroup: dressermainloot
       - id: ClothingUniformJumpskirtColorRed
         prob: 0.03
         prob: 0.03
         orGroup: dresserthirdloot
       - id: ClothingUnderSocksCoder
-        prob: 0.03
+        prob: 0.03 
         orGroup: dressermainloot
       - id: ClothingUnderSocksBee
         prob: 0.03
         orGroup: dresserthirdloot
       - id: PlushieLizard
         prob: 0.03
-        orGroup: dresserthirdloot
+        orGroup: dresserthirdloot 
       - id: ClothingOuterSuitShrineMaiden
         prob: 0.03
         orGroup: dressersecondloot
       - id: BrokenBottle
         prob: 0.001
         orGroup: dressersecondloot
-      - id: FoodMeatRotten
+      - id: FoodMeatRotten 
         prob: 0.001
         orGroup: dressersecondloot
       - id: ClothingOuterSkub
index 406ff7fa48e67b506bbc6be286dc2aff773ba770..695a529734f038dd4de77ea6e21770f8911457e7 100644 (file)
@@ -7,7 +7,7 @@
     - type: Transform
       noRot: true
     - type: Item
-      size: Normal
+      size: 25
     - type: Sprite
       sprite: Structures/Furniture/rollerbeds.rsi
       noRot: true
index b84499d533ff405c59458211d27032d1afdee587..132da2f1a841f23399e88b9cf02bc49ea7d456cf 100644 (file)
@@ -8,7 +8,7 @@
     mode: SnapgridCenter
   components:
   - type: Item
-    size: Small
+    size: 10
   - type: Transform
     anchored: true
   - type: Damageable
index 4466b21b4455deec12dcbd1ca199279ce0463f9c..6fa085646ad4ae490b6f6ca8361ac55e2762654f 100644 (file)
@@ -87,7 +87,7 @@
   description: Air sensor assembly. An assembly of air sensors?
   components:
     - type: Item
-      size: Small
+      size: 10
     - type: Anchorable
     - type: Construction
       graph: AirSensor
index f0ce9c46d36d0cf39b26561855ec2a634aaf7536..b79921815b6c77dc18215cf0119ebd2584f963b9 100644 (file)
@@ -6,8 +6,7 @@
   description: A cabinet for all your filing needs.
   components:
   - type: Storage
-    maxSlots: 12
-    maxItemSize: Normal
+    capacity: 80
     whitelist:
       tags:
         - Document
@@ -66,8 +65,7 @@
   description: A small drawer for all your filing needs, Now with wheels!
   components:
   - type: Storage
-    maxSlots: 8
-    maxItemSize: Normal
+    capacity: 50
     whitelist:
       tags:
         - Document
index 6bad8c319fb937d4ad4af07eee7319b070902723..7099e1b45d3ce46abcea91eb48939addc51b91be 100644 (file)
@@ -50,8 +50,7 @@
           True: { visible: false }
           False: { visible: true }
   - type: Storage
-    maxSlots: 60
-    maxItemSize: Normal
+    capacity: 525
     storageOpenSound: /Audio/Effects/closetopen.ogg
     storageCloseSound: /Audio/Effects/closetclose.ogg
     whitelist:
index c9297d901b89f4eeb7258a03d8a5c3a1186f1206..f819946a4d2820d3674e54ff4f3134da9ad26d48 100644 (file)
@@ -52,9 +52,7 @@
       storagebase: !type:Container
         ents: [ ]
   - type: Storage
-    maxSlots: 5
-    maxItemSize: Huge
-    maxTotalWeight: 40
+    capacity: 50
 
 - type: artifactEffect
   id: EffectPhasing