From 1e89c075732285672622f020bf06eef02684a437 Mon Sep 17 00:00:00 2001 From: Sphiral <145869023+SphiraI@users.noreply.github.com> Date: Sun, 21 Jul 2024 12:16:58 -0500 Subject: [PATCH] The Shelfs Update (#27858) * goofed up * wip, mostly test sprites * Nearly done, just need to fix storage locks * everything done to my knowledge * Alright, construction tested and working, and updated health spread * remove a single comment I forgot. Pending sprite changes. * Update sprites and add chemistry locked preset * Forgot to remove a comment --- .../Objects/Consumable/Drinks/drinks.yml | 3 + .../Objects/Consumable/Food/ingredients.yml | 9 + .../Entities/Structures/Wallmounts/shelfs.yml | 475 ++++++++++++++++++ .../Construction/Graphs/furniture/shelfs.yml | 268 ++++++++++ .../Recipes/Construction/storage.yml | 148 ++++++ Resources/Prototypes/tags.yml | 6 + .../Medical/chemistry.rsi/base.png | Bin 0 -> 692 bytes .../Medical/chemistry.rsi/chem-0.png | Bin 0 -> 108 bytes .../Medical/chemistry.rsi/chem-1.png | Bin 0 -> 233 bytes .../Medical/chemistry.rsi/chem-2.png | Bin 0 -> 311 bytes .../Medical/chemistry.rsi/chem-3.png | Bin 0 -> 393 bytes .../Medical/chemistry.rsi/chem-4.png | Bin 0 -> 520 bytes .../Medical/chemistry.rsi/chem-5.png | Bin 0 -> 605 bytes .../Medical/chemistry.rsi/chem-6.png | Bin 0 -> 710 bytes .../Medical/chemistry.rsi/closed.png | Bin 0 -> 267 bytes .../Medical/chemistry.rsi/locked.png | Bin 0 -> 109 bytes .../Medical/chemistry.rsi/meta.json | 47 ++ .../Medical/chemistry.rsi/open.png | Bin 0 -> 267 bytes .../Medical/chemistry.rsi/unlocked.png | Bin 0 -> 107 bytes .../Departments/Service/bar.rsi/bar-0.png | Bin 0 -> 170 bytes .../Departments/Service/bar.rsi/bar-1.png | Bin 0 -> 238 bytes .../Departments/Service/bar.rsi/bar-10.png | Bin 0 -> 652 bytes .../Departments/Service/bar.rsi/bar-11.png | Bin 0 -> 690 bytes .../Departments/Service/bar.rsi/bar-12.png | Bin 0 -> 729 bytes .../Departments/Service/bar.rsi/bar-2.png | Bin 0 -> 306 bytes .../Departments/Service/bar.rsi/bar-3.png | Bin 0 -> 305 bytes .../Departments/Service/bar.rsi/bar-4.png | Bin 0 -> 417 bytes .../Departments/Service/bar.rsi/bar-5.png | Bin 0 -> 445 bytes .../Departments/Service/bar.rsi/bar-6.png | Bin 0 -> 489 bytes .../Departments/Service/bar.rsi/bar-7.png | Bin 0 -> 546 bytes .../Departments/Service/bar.rsi/bar-8.png | Bin 0 -> 577 bytes .../Departments/Service/bar.rsi/bar-9.png | Bin 0 -> 613 bytes .../Departments/Service/bar.rsi/base.png | Bin 0 -> 672 bytes .../Departments/Service/bar.rsi/meta.json | 53 ++ .../Departments/Service/kitchen.rsi/base.png | Bin 0 -> 420 bytes .../Service/kitchen.rsi/kitchen-0.png | Bin 0 -> 108 bytes .../Service/kitchen.rsi/kitchen-1.png | Bin 0 -> 188 bytes .../Service/kitchen.rsi/kitchen-10.png | Bin 0 -> 741 bytes .../Service/kitchen.rsi/kitchen-11.png | Bin 0 -> 804 bytes .../Service/kitchen.rsi/kitchen-12.png | Bin 0 -> 818 bytes .../Service/kitchen.rsi/kitchen-2.png | Bin 0 -> 275 bytes .../Service/kitchen.rsi/kitchen-3.png | Bin 0 -> 342 bytes .../Service/kitchen.rsi/kitchen-4.png | Bin 0 -> 387 bytes .../Service/kitchen.rsi/kitchen-5.png | Bin 0 -> 465 bytes .../Service/kitchen.rsi/kitchen-6.png | Bin 0 -> 547 bytes .../Service/kitchen.rsi/kitchen-7.png | Bin 0 -> 564 bytes .../Service/kitchen.rsi/kitchen-8.png | Bin 0 -> 585 bytes .../Service/kitchen.rsi/kitchen-9.png | Bin 0 -> 650 bytes .../Departments/Service/kitchen.rsi/meta.json | 53 ++ .../Storage/Shelfs/glass.rsi/base.png | Bin 0 -> 223 bytes .../Storage/Shelfs/glass.rsi/closed.png | Bin 0 -> 267 bytes .../Storage/Shelfs/glass.rsi/locked.png | Bin 0 -> 109 bytes .../Storage/Shelfs/glass.rsi/meta.json | 29 ++ .../Storage/Shelfs/glass.rsi/open.png | Bin 0 -> 267 bytes .../Storage/Shelfs/glass.rsi/rbase.png | Bin 0 -> 549 bytes .../Storage/Shelfs/glass.rsi/unlocked.png | Bin 0 -> 107 bytes .../Storage/Shelfs/metal.rsi/base.png | Bin 0 -> 352 bytes .../Storage/Shelfs/metal.rsi/closed.png | Bin 0 -> 267 bytes .../Storage/Shelfs/metal.rsi/locked.png | Bin 0 -> 109 bytes .../Storage/Shelfs/metal.rsi/meta.json | 29 ++ .../Storage/Shelfs/metal.rsi/open.png | Bin 0 -> 267 bytes .../Storage/Shelfs/metal.rsi/rbase.png | Bin 0 -> 352 bytes .../Storage/Shelfs/metal.rsi/unlocked.png | Bin 0 -> 107 bytes .../Storage/Shelfs/wood.rsi/base.png | Bin 0 -> 525 bytes .../Storage/Shelfs/wood.rsi/closed.png | Bin 0 -> 375 bytes .../Storage/Shelfs/wood.rsi/locked.png | Bin 0 -> 108 bytes .../Storage/Shelfs/wood.rsi/meta.json | 29 ++ .../Storage/Shelfs/wood.rsi/open.png | Bin 0 -> 483 bytes .../Storage/Shelfs/wood.rsi/rbase.png | Bin 0 -> 525 bytes .../Storage/Shelfs/wood.rsi/unlocked.png | Bin 0 -> 107 bytes 70 files changed, 1149 insertions(+) create mode 100644 Resources/Prototypes/Entities/Structures/Wallmounts/shelfs.yml create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/furniture/shelfs.yml create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-0.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-1.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-2.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-3.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-4.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-5.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-6.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-0.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-1.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-10.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-11.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-12.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-2.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-3.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-4.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-5.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-6.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-7.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-8.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-9.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-0.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-1.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-10.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-11.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-12.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-2.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-3.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-4.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-5.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-6.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-7.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-8.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-9.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Shelfs/glass.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/glass.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/glass.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/glass.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Shelfs/glass.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/glass.rsi/rbase.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/glass.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/metal.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/metal.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/metal.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/metal.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Shelfs/metal.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/metal.rsi/rbase.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/metal.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/wood.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/wood.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/wood.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/wood.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Shelfs/wood.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/wood.rsi/rbase.png create mode 100644 Resources/Textures/Structures/Storage/Shelfs/wood.rsi/unlocked.png diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml index 5d77c91a5d..a51a9a1930 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml @@ -78,6 +78,9 @@ solution: drink - type: FitsInDispenser solution: drink + - type: Tag + tags: + - DrinkGlass # Transformable container - normal glass - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml index be23c2e43f..f1f30f6c46 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml @@ -34,6 +34,9 @@ solution: food - type: TrashOnSolutionEmpty solution: food + - type: Tag + tags: + - Ingredient - type: entity abstract: true @@ -272,6 +275,9 @@ reagents: - ReagentId: Nutriment Quantity: 15 + - type: Tag + tags: + - Ingredient - type: entity name: dough @@ -684,3 +690,6 @@ reagents: - ReagentId: CocoaPowder Quantity: 2 + - type: Tag + tags: + - Ingredient diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/shelfs.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/shelfs.yml new file mode 100644 index 0000000000..af68f5898d --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/shelfs.yml @@ -0,0 +1,475 @@ +# Parents +- type: entity + abstract: true + id: ShelfBase + parent: BaseStructure + name: shelf + description: a strange place to place, well, anything really. You feel like you shouldn't be seeing this.' + components: + - type: Sprite + drawdepth: WallMountedItems + sprite: Structures/Storage/Shelfs/wood.rsi + state: base + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.35,-0.35,0.35,0.35" + density: 35 + layer: + - BulletImpassable + - type: Transform + - type: Damageable + damageModifierSet: Wood + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 60 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroyHeavy + - !type:DoActsBehavior + acts: ["Destruction"] + - type: WallMount + arc: 175 + - type: Storage + grid: + - 0,0,3,1 + - 0,3,3,4 + maxItemSize: Normal + - type: UserInterface + interfaces: + enum.StorageUiKey.Key: + type: StorageBoundUserInterface + - type: InteractionOutline + - type: ContainerContainer + containers: + storagebase: !type:Container + - type: Tag + tags: + - Structure + +- type: entity + abstract: true + id: ShelfBaseReinforced + parent: ShelfBase + name: reinforced shelf + description: It looks as strong as reality itself. + components: + - type: Lock + - type: LockVisuals + - type: Sprite + sprite: Structures/Storage/Shelfs/wood.rsi + state: base + layers: + - state: rbase + map: ["enum.StorageVisualLayers.Base"] + - state: unlocked + shader: unshaded + # used to keep the unlocked light visible while open. + - state: closed + map: ["enum.StorageVisualLayers.Door"] + - state: locked + map: ["enum.LockVisualLayers.Lock"] + shader: unshaded + - type: Appearance + - type: EntityStorageVisuals + stateDoorOpen: open + stateDoorClosed: closed + + - type: AccessReader + +# Normal +- type: entity + id: ShelfWood + parent: ShelfBase + name: wooden shelf + description: A convenient place to place, well, anything really. + components: + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 60 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroyHeavy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank1: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Tag + tags: + - Structure + - Wooden + - type: Construction + graph: Shelf + node: ShelfWood + +- type: entity + id: ShelfMetal + parent: ShelfBase + name: metal shelf + description: A sturdy place to place, well, anything really. + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/metal.rsi + state: base + - type: Damageable + damageModifierSet: Metallic + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 120 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Tag + tags: + - Structure + - type: Construction + graph: Shelf + node: ShelfMetal + +- type: entity + id: ShelfGlass + parent: ShelfBase + name: glass shelf + description: A fragile place to place, well, anything really. + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/glass.rsi + state: base + - type: Damageable + damageModifierSet: Glass + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 0 + max: 2 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Tag + tags: + - Structure + - type: Construction + graph: Shelf + node: ShelfGlass + +# Reinforced +- type: entity + id: ShelfRWood + parent: ShelfBaseReinforced + name: sturdy wood shelf + description: A safe place to put your favorite bottle of whiskey + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/wood.rsi + state: base + layers: + - state: rbase + map: ["enum.StorageVisualLayers.Base"] + - state: closed + map: ["enum.StorageVisualLayers.Door"] + - state: locked + map: ["enum.LockVisualLayers.Lock"] + shader: unshaded + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 215 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroyHeavy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank: + min: 2 + max: 5 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Construction + graph: Shelf + node: ShelfRWood + +- type: entity + id: ShelfRMetal + parent: ShelfBaseReinforced + name: sturdy metal shelf + description: A strong & shiny place to keep all your vials safe + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/metal.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 450 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + SheetPlasteel1: + min: 2 + max: 3 + ShardGlass: + min: 1 + max: 2 + PartRodMetal1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Construction + graph: Shelf + node: ShelfRMetal + +- type: entity + id: ShelfRGlass + parent: ShelfBaseReinforced + name: sturdy glass shelf + description: Crystal clear reinforced glass doors to show off all your fancy bottles you definitely didn't sell a co-worker's favorite mothroach for. + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/glass.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 250 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + SheetPlastic1: + min: 1 + max: 3 + ShardGlass: + min: 1 + max: 2 + PartRodMetal1: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Construction + graph: Shelf + node: ShelfRGlass + +# Departmental +- type: entity + id: ShelfBar + parent: ShelfBase + name: bar shelf + description: Made out of the finest synthetic wood for all alcohol holding needs. + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/Departments/Service/bar.rsi + state: base + layers: + - state: base + - state: bar-0 + - map: ["enum.StorageFillLayers.Fill"] + - type: Appearance + - type: StorageFillVisualizer + maxFillLevels: 13 + fillBaseName: bar + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroyHeavy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank1: + min: 1 + max: 4 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Storage + grid: + - 0,0,5,1 + - 0,3,5,4 + maxItemSize: Normal + whitelist: + tags: + - DrinkGlass + - DrinkBottle + - DrinkCan + - Beer + - type: Construction + graph: Shelf + node: ShelfBar + +- type: entity + id: ShelfKitchen + parent: ShelfBase + name: cooking shelf + description: Holds knifes, spice, and everything nice! + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/Departments/Service/kitchen.rsi + state: base + layers: + - state: base + - state: kitchen-0 + - map: ["enum.StorageFillLayers.Fill"] + - type: Appearance + - type: StorageFillVisualizer + maxFillLevels: 13 + fillBaseName: kitchen + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 4 + MaterialWoodPlank1: + min: 0 + max: 1 + PartRodMetal1: + min: 0 + max: 2 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Storage + grid: + - 0,0,5,1 + - 0,3,5,4 + maxItemSize: Normal + whitelist: + tags: + - DrinkGlass + - BoxCardboard + - MonkeyCube + - Enzyme + - Mayo + - Packet + - Cleaver + - Knife + - KitchenKnife + - RollingPin + - Ingredient + - Trash + - type: Construction + graph: Shelf + node: ShelfKitchen + +- type: entity + id: ShelfChemistry + parent: ShelfBaseReinforced + name: chemical shelf + description: Keeps all your chemicals safe and out of the clow- er, public hands! + components: + - type: Sprite + sprite: Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi + layers: + - state: base + map: ["enum.StorageVisualLayers.Base"] + - state: unlocked + shader: unshaded + - state: chem-0 + - map: ["enum.StorageFillLayers.Fill"] + - state: closed + map: ["enum.StorageVisualLayers.Door"] + - state: locked + map: ["enum.LockVisualLayers.Lock"] + shader: unshaded + - type: StorageFillVisualizer + maxFillLevels: 7 + fillBaseName: chem + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 330 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + SheetPlasteel1: + min: 1 + max: 2 + SheetPlastic1: + min: 1 + max: 2 + ShardGlass: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Storage + grid: + - 0,0,5,1 + - 0,3,5,4 + maxItemSize: Normal + whitelist: + tags: + - ChemDispensable + - GlassBeaker + - Bottle + - type: Construction + graph: Shelf + node: ShelfChemistry + + + +# Access presets +# Try to keep alphabetical sorting if adding more + +- type: entity + parent: ShelfChemistry + id: ShelfChemistryChemistrySecure + suffix: Chemistry, Secure + components: + - type: AccessReader + access: [["Chemistry"]] + diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/shelfs.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/shelfs.yml new file mode 100644 index 0000000000..61a903f7a0 --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/shelfs.yml @@ -0,0 +1,268 @@ +- type: constructionGraph + id: Shelf + start: start + graph: + - node: start + actions: + - !type:DeleteEntity {} + edges: +# Normal + - to: ShelfWood + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: WoodPlank + amount: 4 + doAfter: 2 + - to: ShelfMetal + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: Steel + amount: 5 + doAfter: 3 + - to: ShelfGlass + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: Glass + amount: 4 + doAfter: 2 +# Reinforced + - to: ShelfRWood + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: WoodPlank + amount: 8 + doAfter: 3 + - material: Cable + amount: 2 + doAfter: 1 + - to: ShelfRMetal + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: Plasteel + amount: 5 + doAfter: 3 + - material: ReinforcedGlass + amount: 5 + doAfter: 2 + - material: Cable + amount: 3 + doAfter: 1 + - to: ShelfRGlass + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: Plastic + amount: 5 + doAfter: 2 + - material: ReinforcedGlass + amount: 5 + doAfter: 3 + - material: Cable + amount: 2 + doAfter: 1 +# Departmental + - to: ShelfBar + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: WoodPlank + amount: 6 + doAfter: 2 + - to: ShelfKitchen + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: MetalRod + amount: 2 + doAfter: 1 + - material: Steel + amount: 5 + - material: WoodPlank + amount: 3 + doAfter: 2 + - to: ShelfChemistry + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: Plasteel + amount: 2 + doAfter: 2 + - material: ReinforcedGlass + amount: 5 + doAfter: 2 + - material: Plastic + amount: 5 + doAfter: 2 + - material: Cable + amount: 2 + doAfter: 1 + +# Normal deconstructs + - node: ShelfWood + entity: ShelfWood + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 4 + steps: + - tool: Prying + doAfter: 2 + + - node: ShelfMetal + entity: ShelfMetal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 5 + steps: + - tool: Screwing + doAfter: 5 + + - node: ShelfGlass + entity: ShelfGlass + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetGlass1 + amount: 4 + steps: + - tool: Screwing + doAfter: 2 +# Reinforced deconstructs + - node: ShelfRWood + entity: ShelfRWood + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 8 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 2 + steps: + - tool: Screwing + doAfter: 5 + - tool: Prying + doAfter: 2 + + - node: ShelfRMetal + entity: ShelfRMetal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 5 + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 5 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 3 + steps: + - tool: Screwing + doAfter: 2 + - tool: Welding + doAfter: 5 + + - node: ShelfRGlass + entity: ShelfRGlass + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 5 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 2 + steps: + - tool: Welding + doAfter: 2 + - tool: Screwing + doAfter: 4 + +# Departmental deconstructs + - node: ShelfBar + entity: ShelfBar + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 6 + steps: + - tool: Prying + doAfter: 3 + + - node: ShelfKitchen + entity: ShelfKitchen + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: PartRodMetal + amount: 2 + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 5 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 3 + steps: + - tool: Screwing + doAfter: 2 + - tool: Welding + doAfter: 2 + - tool: Prying + doAfter: 1 + + - node: ShelfChemistry + entity: ShelfChemistry + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 5 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 2 + steps: + - tool: Welding + doAfter: 2 + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + - tool: Prying + doAfter: 4 diff --git a/Resources/Prototypes/Recipes/Construction/storage.yml b/Resources/Prototypes/Recipes/Construction/storage.yml index c8edebc509..7128c79eee 100644 --- a/Resources/Prototypes/Recipes/Construction/storage.yml +++ b/Resources/Prototypes/Recipes/Construction/storage.yml @@ -67,3 +67,151 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked + +# Shelfs +# Normals +- type: construction + id: ShelfWood + name: wooden shelf + description: A convenient place to place, well, anything really. + graph: Shelf + startNode: start + targetNode: ShelfWood + icon: + sprite: Structures/Storage/Shelfs/wood.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +- type: construction + id: ShelfMetal + name: metal shelf + description: A sturdy place to place, well, anything really. + graph: Shelf + startNode: start + targetNode: ShelfMetal + icon: + sprite: Structures/Storage/Shelfs/metal.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +- type: construction + id: ShelfGlass + name: glass shelf + description: Just like a normal shelf! But fragile and without the walls! + graph: Shelf + startNode: start + targetNode: ShelfGlass + icon: + sprite: Structures/Storage/Shelfs/glass.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +# Reinforced +- type: construction + id: ShelfRWood + name: sturdy wooden shelf + description: The perfect place to store all your vintage records. + graph: Shelf + startNode: start + targetNode: ShelfRWood + icon: + sprite: Structures/Storage/Shelfs/wood.rsi + state: rbase + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +- type: construction + id: ShelfRMetal + name: sturdy metal shelf + description: Nice and strong, and keeps your maints loot secure. + graph: Shelf + startNode: start + targetNode: ShelfRMetal + icon: + sprite: Structures/Storage/Shelfs/metal.rsi + state: rbase + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +- type: construction + id: ShelfRGlass + name: sturdy glass shelf + description: See through, decent strength, shiny plastic case. Whats not to love? + graph: Shelf + startNode: start + targetNode: ShelfRGlass + icon: + sprite: Structures/Storage/Shelfs/glass.rsi + state: rbase + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +# Departmental +- type: construction + id: ShelfBar + name: bar shelf + description: A convenient place for all your extra booze, specifically designed to hold more bottles! + graph: Shelf + startNode: start + targetNode: ShelfBar + icon: + sprite: Structures/Storage/Shelfs/Departments/Service/bar.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +- type: construction + id: ShelfKitchen + name: cooking shelf + description: Holds your knifes, spice, and everything nice! + graph: Shelf + startNode: start + targetNode: ShelfKitchen + icon: + sprite: Structures/Storage/Shelfs/Departments/Service/kitchen.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition + +- type: construction + id: ShelfChemistry + name: chemical shelf + description: Perfect for keeping the most important chemicals safe, and out of the clumsy clowns hands! + graph: Shelf + startNode: start + targetNode: ShelfChemistry + icon: + sprite: Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + conditions: + - !type:WallmountCondition diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index d7a7f089b1..197966b491 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -542,6 +542,9 @@ - type: Tag id: DrinkCan +- type: Tag + id: DrinkGlass + - type: Tag id: DrinkSpaceGlue @@ -764,6 +767,9 @@ - type: Tag id: Igniter +- type: Tag + id: Ingredient + - type: Tag #Drop this innate tool instead of deleting it. id: InnateDontDelete diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/base.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..2d67101d2fc367f5c3efabe8639b97017257635c GIT binary patch literal 692 zcmV;l0!#ggP)Px%Zb?KzR9J=WRzGMHQ5gT_PjkIX!d*;Fa-kHD#GymMrHj;)=%Q05g(3wP$?WXx ztec1g1aVOuGQ~v#MO?b1RSb=SrIbsfiOqRUV&!Zd^zQO5?=DG|bTGf^eed_Z@B6(! z-^T+c_}}5_HL}_4(KwP83I#K--%jT9d9W;N+8oDOeTKcrxitW|bveCA6Xm5%8pqc7cF?76Wds;8dauG&K)qi7 zXUXj%n$2b(M|}gsApGPiVQVWz2TylUuV9=Qcmkgj5*}7I5%Q5*y_fD2_TfHRmiv`W zs0j)9@)rWwxV|(k1RyX0=(-NCy5s2E%N_Ew5SRcCP6hD8t1ory{?|hbh(@DmwOWYH zL7q!Sab{))0I=0)U^W&905F_@ou>2Fj+kk%em?>c9}t0en^9#W_CNs!);Hc@eZw)w z$XK42sPlvXRaMQgD4bsffU`dbIsSU{~-0{~p)8KC_gX#Z}p5`cvl z7fe6TmFL8|g_qaN@mm`w@eC2$RR92_(`o8%PIJyaZk!v44_YRZ8OyJ@R4RD}drdIG anD7hV)XtMD4qp-g0000cq@Gs=6k_mn^>bP0l+XkK DN_QQ_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-1.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-1.png new file mode 100644 index 0000000000000000000000000000000000000000..47ee108f18c6ba3e19ba03b4510b862b4e703184 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}i#=T&Ln2y} z6C_v{Cy4Zv9PsdHJbY}nyM% zITnt&>;l3}{}bOZ|9i!9HTWtcpLG7Z-AkfY{m#3;*O~_i<|!4kY!hj8yMk?3WNI2EC@xv>ubG7z2%4MUMDe%1fA4?klp@F-O@RhnZU;3aSe3;Y Z7&H>pj7p#CZvi@&!PC{xWt~$(695g5P=f#f literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-2.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-2.png new file mode 100644 index 0000000000000000000000000000000000000000..77a54a15cef75cea27d1362369af7614827dae4b GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}A3a?hLn2y} z6C_v{Cy4Zv9PsdHJbY}nyM%kg8 zR}AgF=GS9`bg$NKe}7Mw4G8=vS~h{S#+co+Ns`(WFrl%rQE{4T-_DYM$Nxu9T+}Xd zz{TU>uj@y(*h`mJB~1Q&1hfy;Bq^t0rFuBGlTO(_f$i#-`jznXYh3Ob6Mw<&;$V1`F_>_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-3.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd26ba62701212cd38959dfa7b0b63db2337528 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T<&YmugArY;~ z2@q8R{IPj6FO@a)gOe^0(~aC5T(Mb-W19gtN}RzA$J`3FC9 z^VZ!;#{)s)%;s^?oB#Z-W}ffd!O6J8mHp4vhp%EM9Qm%$sl3|#y0cNijf&#A7fkox z<_Rv@X6$qE=DVGbj&QDc>aG>JdR^G2u-LuFDj&Cf@0xr)@lpE~$#lEGu1QZwNGN!c`k-awM@BIx zu2=RR1|VQ@V%^t-AOHTT`26`Xt77eAd4-%jHjd=}{kwRXO)ko{dC1;o* jm)k)NNPsm>Px$!bwCyR9J;$U>F6XU=)mWz(`1e!^WFO7#J9=Ilh0mu_MA<6DFRSnfV{ao<4m# zia9PDZysU){y}&vl6tZn;IQ%LItB)YKzBusqdV{au;%>!{^a%u3kwDY28Jh3p1>U- zBO}8Iv-l4KgSERN$593b28IJSUR$&L`+EbQLx>3hxJ3v2)#2)0ki_>Oi6g5=*F!RJ z*m!fD&^5o?3{!NrGfdIh?z!T`38>{qDp{+pRQ42*Cg-uoUF-FZm+Hu3`#&>$XJBApaO7p+gt74f z7D5W@KS(ezFfcGU$gcHZ`2PMRO#Jwoc&+0fAZ%_12xE`Gx(x#~(H@3K9o^%vZbQh9 zQ81u@U>0#In)VXL-q)8UPHhL^O@!{1EAN?^s=tBpS=m?K+u0tjL`?_a4T0l#@1JO# zbJrZkuTN1vX{oGeK}`n`%!ZTW`Ch(Z6%}V-U|`sG@uN8*^`rv41ySRiyKD>$3=AT_ zU%wRj{rctU({IjG+W`aQ7{SyD*ym^+n>E~C=Pr80000< KMNUMnLSTZVlj>^# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-5.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-5.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7430d80959724d2f248e5c254936089d2e0ebe GIT binary patch literal 605 zcmV-j0;2tiP)Px%7fD1xR9J;$U>F6XU=)mWz(`1e!^WFO7#J9=Ilh0mu_MA<6DFRSnfV{ao<4m# zia9PDZysU){y}&vl6tZn;IQ%LItB)YKzBusqdV{au;%>!{^a%u3kwDY28Jh3p1>U- zBO}8Iv-l4KgSERN$593b28IJSUR$&L`+EbQLx>3hxJ3v2)#2)0ki_>Oi6g5=*F!RJ z*m!fD&^5o?3{!NrGfdIh?z!T`38>{qDp{+pRQ42*Cg-uoUF-FZm+Hu3`#&>$XJBApaO7p+gt74f z7D5W@KS(ezFfcGU$gcHZ`2PMRO#Jwoc&+0fAZ%_12xE`Gx(x#~(H@3K9o^%vZbQh9 zQ81u@U>0#In)VXL-q)8U4r4nPF1W|Qz`(G#KS7BS2jESF?v*R=nVG7;f$>?{SKiy% z98q%v-IN z9Q#+~TF$^gL^hlp&-d~TtEe~w0|UdhiyzGy7#JApQP$eylmgm?gCfuUA6Z= r0|NuY);4GI%lc6;3P!;w7z_Xa8xYH1*bm_900000NkvXXu0mjf_}~@3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-6.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/chem-6.png new file mode 100644 index 0000000000000000000000000000000000000000..e415ee1a7e8898bca03da2d4cb2b7b4d7fa4e2c6 GIT binary patch literal 710 zcmV;%0y+JOP)Px%fJsC_R9J=WlU+ztVHn5%E9bT%f|3%M7qj5tH2Q$lHlx)hTMimsC3ca7H|w1@})wGLjL5m z!2eGT7Eda2(x>{;LtyarO;a`B>tWhoiz+5t`uh`m5 zmTTlsPM}n1&PJ8|CV?Ih=tBSQZ~hvCFXcV4d}{?GjWZZ&oVhs>4sRC^IpofSL+(s0 ztCC6UMC1$6=P9s5HAoEAATdvYCAs}LB-X@Kw(snRb1yA>-t5^+*14Z~*sM5FGBRBU)SEc$r$E>fwe7Hwi*Xod@~ zB%|MHhU005?|a z*>u%LHXV!QmW291d-Jzww5aXoet!e^`bi?QS5AoN5Lz68(hmGCQ^`+uHvP;f6L{l? sWwMK8y~*=SewXQzSPcmY35f&cH@C12VU!4N-T(jq07*qoM6N<$f|40ef&c&j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/closed.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..c79f80c0c2310f301d6313426bec0a4a53311631 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}M?GB}Ln2y} z6C_v{Cy4MEBpgvql)tpGf0meROz^`N-#M()*;s?u9&X_=y)wzbvh0@_KQr@T#v<8c zF6-Q~8UxvTtQeLvFH(A2!jXAz)29_;%*@QqJ+qj;$~yEYM-}NjG@JaIV-8=$wm%m{ zlVlDaIB?*@lWWYIWE;&{I4l>Xo%+Z=#i}Vm>cDf3`30}DPfVNim}Ai;2E&Vv>y$at zoTIFp5|mVq2^w&pEMy7noG`6VL4x&%%)*uHzcoj=_cR3>aJez+F)&okPTdx?G;ANx OLkym-elF{r5}E+_Ygr+ArY-_ z&lxf@FmNy{B(JG=WzOK>m-lcGEx2&9#OOXh14F}P)<w1lw}$KTFM5ezk1=AE4ZUOAL1I78TNam(66JpsOk(WKzsvE8}P& zcgyhpMb!FsY_Neb67e#xO~{SKtca#>qQNat5cX6F8&C9wPEE|TcC#+JYD@< J);T3K0RU(OUmpMf literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/unlocked.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi/unlocked.png new file mode 100644 index 0000000000000000000000000000000000000000..39d2fb77884f3e7d5ec21c0538d18761652efca5 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}s-7;6ArY-_ z&lxf@FmN2+Pi0jO8VkuLc9xTmmm7EjISihzelF{r5}E** CYagWm literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-0.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-0.png new file mode 100644 index 0000000000000000000000000000000000000000..c090326148dd2c90eda107a749782cd9a2c9f7ba GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}DV{ElArY;~ z2@I;*M#72S8xM29xHA*UEs#7;w2A)Bu|qz{1cqk>{w5yu=cqeGHzi KelF{r5}E+2SvuSR literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-1.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7d698e0020f00e0d34ad9d97cc5a45c60703f879 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}D?D8sLn2y} z6C_v{Cy4Yg2|0K*ysgigebQx8mY-zS?ehmb)*RAF|5~nd#>b}q-@o5Rx$k`yonGzz zd}_Xtfq_BJ+$);B{<0Sp6*3dFf4sd|9_Gm$?WnZXqw|E;zs~pbK2Ff$O8|li-^&!E z*6v$*qTEWL~T~}T6mg%CuKsPgZy85}Sb4q9e020Jr>;M1& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-10.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-10.png new file mode 100644 index 0000000000000000000000000000000000000000..5acb43b17992e3a4febbfbf730ad8712a3205eb4 GIT binary patch literal 652 zcmV;70(1R|P)Px%MoC0LR9J=WlwC+uVHn5%XFIx9Yi(_QE{i$Kp|urVj6T$xjSUQ1nRHhdeIUUG zAxn0=DuOU2(1?Z(DH^d0w?Oft79!Q^Li(_d7l6K2?z)X2=L&vy^dt}wWS*JCoNY*TtxoMwjYJ0TL1uq)gl4_y2IKe0Ngxl z%Gn6TMf5D_CUc1+JQu2Dav-&Dd(dL1rsu-5&+oG$K*T1tgKlsfiyISK%4o+im-BZg*J7v(=(m7 zfnRKEG~=360`ZqV^q!X&NUau(Y+@;2a~c6fLXoXCS`K~C=xY}NY|YC+@LuPqnA?j= zLwP3gCj2dXZY(*LJU*|&`1J)eu|?Vyp;bTIs?ci*0HEa32>_VxdGN0C5k-%q_>AGy zRlI(6|B12qigCi|kk$l{c>BB9+pZQ)_e_8n`!4J!^%ooR{)7M?uOKu$wDg=d+SE`S zEdc@L?@@vCo>>AIhAXD{&-D#vc0O7cuo3ctB&}( zBi05hiTJuBeDd-BBwBQ3L{&&*b}@J2x}){AIX^Z{ED|w>x6h mJ9ZI&yCe4Biwg({0000Px%Y)M2xR9J=WlwC+uVHn5%XCAfHvaQYUEaogl%OzcmKGd6u0|PCS?(D(}5fnm} zY+fZnm?O}L#uO=%*u^$MQK-e7*6Kp~u&{_#e!y5XwOtGab9=g|WV5n!9CUSla4z2W z{GaFlyyv{n0|*ER2=L&1O({jMl^NOeH!W90TtwEZx*ta3Jph2Ad=UYFs#+NWfZG=} zTP}p*B6{X9(7juZuWW)yvKEenp0Wm+Jjb%gB#4qJ9NEz%-_F!_K8ndz)zanzfRUcg z?9Fm>`T~KZ3}hZIl`YS&Bu-0OWB?HSd?w|fCn%{)Nru?D1bdtI#fGpfMUHaqT$gz+ z?gDEy+mu(hJL_ltgi51zfv=%s^cjc4a|N}*RON=yyr0jeu>TSOKzc_#0L=9~e3v`Huv198 zP~31GuU|cQqE5S}o>n)D3+)KJ{Zs5+eIuuPCculMmyc1|mGYS0w{+Cggib}4j(T1* zfpZr)M~2tiX{SyB>FIO;fZJvw0AL13k<`=xW^j~`KX-E%K-N3`1OTUMYREYJnA|oK zRh%dzx6MT3V=n3~QPB99EAH|98)m?HA0RW}jNUi2>ZxBPB15Zw%ch)uf!}Dd&7(O#$uCE22J4LCmSW1Kr-r@=Ed!bbI;a<2@uA zRhcADVzIco2J=V%di;@+;{oYzg(A4Lu<-n)CzWsBxUsf3`|=MQB5QlI@4uT12nfW( YcMSv4Nr;lodH?_b07*qoM6N<$f&^+mUH||9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-12.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-12.png new file mode 100644 index 0000000000000000000000000000000000000000..77469720a635ab8497a7de25b3a39cdf1bc8560a GIT binary patch literal 729 zcmV;~0w(>5P)Px%lSxEDR9J=Wlv_ws0T{>sXHIQ3*KG5i#hj&Rxugf_qP|QV*vMwmn>|<|f(Vw(z5wH=NYc)R_iS_~jx{?G00Ls$}F96)Wl=0U= z7&fA3Rz2OjW&J7)5{OsV*1b=K`fypiX^sgJgwopju2R`frl9VTpI2Ual?woRn(E@V z@@Dl0+#%73Ig%N^IJp!&DlQKP0MF;Ml0!otaiJs>BKtfnRq7X;%3|g5iq-S=#)*If z{9=Ee8aK*A5%i@QrpuCGQEm<#yFE->;TkMbx71gw$~pBRE;)4tz`lS2SUc)Jx%4ea zNQ+%}zZv@GdvDk~>^-+A!^q7g6nG*On@SUZ9$O;ZP5=N=HAMh0(e&_L!XP6YLFC1> z;_G<*>cJCLw?F|F~Oh+$5N{hjC^a22Ct+s%-q+fFfK;}EG1OR99^U2Wt znEKlrDCcAr^|v?BK%aw})8#bK=O9O?g>*J8IXW%>CWH~N-v`JD*nO|-D=Mi~DIk4C zrC%eRO-or-YSP)X+Xi6u38oDO_4^${OdAYp0O-=B5CBY$jiXtdhRLyUKmGF5!c17K z1j|zkGi>}h(UOr&2NF}MB_rAI>6~qi&fM%=a<(-(x%hEj5+%wQl7$E{x3UW3$LWpw zqvN3}VZ_dNR6A0e{4eIL&hCb1N00000 LNkvXXu0mjf`A1iX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-2.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5eab596dd4648c3d0651b52b21a060968028c6de GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Z#-QbLn2y} z6C_v{Cy4Yg2|0K*ysb~!x2WYyeN0v-tB=acXHy&>YW>!(TX==B=ZMysqOkhoht3@N z{QUiX{mb9(i4^&5tU7$+%#nZp-|wGa{ai-aG5r19@PAVp8ygc}FY(K)c_t*wG>L6n z(|x(x^r xI9J@N`B8uM*YW>!(TX==B=ZMysqOkhoht3@N z{QUiX{mb9(i4^&5tU7$+%#nZp-`l_2Tilmeam0H4A5CUv=EK)K=U)18M%9W%g*S(F zzwNJcTA2yjCk`Aq@ZtUW{rOhz_8v9hv1T z9I*B0hySb2wrieK1$n3`(16SBpoRpi2|L4W4SOCA9-aL_Z!>th`njxgN@xNAdkTZQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-4.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-4.png new file mode 100644 index 0000000000000000000000000000000000000000..15c03124e69b1c62484d2e10751603caa0312ce4 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T<(Vi}jArY;~ z2@!%$S$vx6Qeu%wgK* zU)Jlki`S)FuHK&vlqm4qSjD{be<$asq!r)KY1hA+8~$%f7T*Mu4WfU(y|7-rq;ahR zGc)ty{r3O&y_ETTK={=0a|d?*mOXr{XnJu*)Do8z(f>!v&sTJuj}c3fJpcp>@832Z zdR|hVdgFL`!$j3D@<83$j4772;q$F|fWSXLCiGys+C{|=e-1tTzFuGc?_UrDB;}*y z6SI8(oPR?9d}lm-^yEFyL3tO^i(6JW7{(p&Si@Y_62xpM#j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-5.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-5.png new file mode 100644 index 0000000000000000000000000000000000000000..ece06f2d7866b49989b8ee21e84ca5c1d753c47f GIT binary patch literal 445 zcmV;u0Yd(XP)Px$cS%G+R9J;$U>F6XU=)l35N{1LU;~8M2(!-*LUY@H@*{{T%}X1A}vl)f*`NPfU;(Lyvb}`BU$_ z@~2dBz-u-M21x^3!EcYgvq~D+3NkP-F#P-T@0-ri4?LlK>5dQ$&hUq1T#`Gv#p85kHCm{^#&PJcQ5CH$K(!^O$p8G=8EDxzss zfnvOXs1Oiuieq44V0bub*L5YB*xotEL>L$t7{uE3uj=P=YOQ5>eGQx5g{2vc#Mm(k z20z%nbu-@VM03mcF);jJv0xs>MK4)k1_Q(HWeg1eXD~4ArncEcm4wf$s$6bzurNHY ns&XN$dK8R;Q7{Td0cijL)3}BnsfDj;oiL;tWQV&l?6&R7k6Ei*7)o1GeO+BzdY_|@cTWVmWLD`$Ts6- z^JI=bnBTu|vzOEjE+Yd2gFnANzn^{XBEQYTnm0UicHcK#qg!s-zRcIlCG4Yr&G(-6 zA7|1Ok1-l3ynowt=y^$b>W$;&4HH$r$OGMw&6r|Y8$REf2MGN0V?qz6s~r@G*uL-g zz00R8dAzEE{>R1J{rdg0_3(R12?>cA5i@r9)m#2m{WII(@X?d^C7bL!v=(KCHYV+9 zSRo*g-<6z@kWgWfdA(G1#*KTH$6bJWB#zwry8hMkqO7&46}7yx@3k(K>^XA7kjsN< zT58z;w^DC4^;#q(I?l9#+^~ClUR%0)9KRr2qe5ZU4gWdJW%+miOt^VFJnv{z<$sVH zcBmT~zOXs5w2Qfe$yh?7Og}l{hkbKnqWRXdYFaGw!b5l7d6JM=5f}Q@DdMXJG(s*h ZFa)p_u24=pt_+Mj22WQ%mvv4FO#r6D%&Y(a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-7.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-7.png new file mode 100644 index 0000000000000000000000000000000000000000..e9468e2cdfe0803e96cb8900071461a19c86d8a7 GIT binary patch literal 546 zcmV+-0^R+IP)Px$+(|@1R9J;$U>F6XU=)l35N{1LU;~8M2(!-*LUY@H@*{{T%}X1A}vl)f*`NPfU;(Lyvb}`BU$_ z@~2dBz-u-M21x^3!EcYgvq~D+3NkP-F#P-T@0-ri4?LlK>5dQ$&hUq1T#`Gv#p85kHCm{^#&PJcQ5CH$K(!^O$p8G=8EDxzss zfnvOXs1Oiuieq44V0bub*L5YB*xotEL>L$t7{uE3uj=P=YOQ5>eGQx5g{2vc#Mm(k zNCK8+R{!l9?I|vV7#N7mh71f047;~(hG!>U4-p1|AaQEgPn-jGZ{7Tm+1poc#e#YN z85kHCxF<0&=sd`!iUWuOGZ+|lFJoZ%KZAi`H?_?sDg>TaRk_^cU}1P(Rpmlh^#Fm} zOD5iSw|D=4d&$Jxr0AnsAz^H2{aQdsMC8M}H*e0KKPpPBKB990AyDdN^y|svdkm#s kM!%?K<|r5iqkt{|09xgT$Sc6)6#xJL07*qoM6N<$g8Fdm^#A|> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-8.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/bar.rsi/bar-8.png new file mode 100644 index 0000000000000000000000000000000000000000..d01b2a6bc8774dd113d4aa31f2cba9f46c8b37b2 GIT binary patch literal 577 zcmV-H0>1r;P)Px$`$F6XU=)l35k!b_gReijJ?V{J(hWy7w&1Ogw-7{`+!_rBYB>cGg=) zW+wLkfB$i333D+9ckV$k%R8_9DFXuo!`4Zi()i3KDg<7$Niawn*b07o^quu8Po5wH z0|Uc{7a@E)M?dg{^06~;?taIxw%p|$nl>pBS;ar`-7_9i>;M>$_jY0E%VTF?el?q6 zRv{lNr@Je|KK>7kOG5uLtQB}IfUH*E)#r}1hW0N81_n8b9I$SE_r0f;a~PELr2f6W zeDpW6-03f;zl47iX1F-{J45gXQAISZDo~6UunC3i7gy0G(zzF52dRsCE}t+foVuVK@>ur!0HbT$e|0+wY~|Lq#>DK3N<7)Zzk zySHwJXD40{5e9)EacbC4oC9`m-TaW*+gEPIf_eWL7#JA1CowVTJjkVr1Be1M7#Mah zV_^6{gMnc;waq3f1fEw_x!mMnVR&9uPx%A4x<(R9J;$U>F6XU=)l35k!b_gReijJ?V{J(hWy7w&1Ogw-7{`+!_rBYB>cGg=) zW+wLkfB$i333D+9ckV$k%R8_9DFXuo!`4Zi()i3KDg<7$Niawn*b07o^quu8Po5wH z0|Uc{7a@E)M?dg{^06~;?taIxw%p|$nl>pBS;ar`-7_9i>;M>$_jY0E%VTF?el?q6 zRv{lNr@Je|KK>7kOG5uLtQB}IfUH*E)#r}1hW0N81_n8b9I$SE_r0f;a~PELr2f6W zeDpW6-03f;zl47iX1F-{J45gXQAISZDo~6UunC3i7gy0G(zzF52dRsCE}t+foVuVK@>ur!0HbT$e|0+wY~|Lq#>DK3N<7)Zzk zySHwJXD40{5e9)EacbC4oC9`m-TaW*+gEPIf_eWL7#JA1CowVTJjkVr1Be1M7#Mah zV_^6{gMnc;waq3f1fEw_x!mMnVR&9u<-)+gz_7_fiz@L?7MNqM@n2O%`~Mts4HQS* zUNZ5vyS@AW+e;?iCdE9G3yBP6$^XJ^EDUdd{b87K_c>g@v7z;A0U;5Q5AWW*IeY%7 zD5>UB3|3UPx%T1iAfR9J=WR$Xh;U=)7x(X{E(mC!n7u@}OsOu9KlLGi*HKduDv(m&yk@?N~H z>}FRA7MXJxx^C*|Hb-nNH8tN&yeN51nzw7CMKA0Fft=@@Jm=&j=kNk^{O@4G#+_x! z{~JlSPWvP;Kk9sR{}#F5xN;HQz5!VhBQf2+K^3OO$&!fe51$D4;^nJIOsoI^c>Sgh zo@KDJ{T5lCjrere0|3|qAFelS7|${gxZz9D;)B?mH?GHWQ48Q%21gwm&5lKLPei4V zjyzi_q;a7jP-EFqB4umjZDt99W0117$prxMHqHX$G-sbFA?5|dra;w9GHOq*74Wrh z!X0?vITq)n%vAR0j*G|ZGSPg0tV4G_sG2#s0AM)d08o_ku)x8wOr+8o6lG~D8=W5H z{NgXcW1VPDRed=h$ee-$-|~z5(^SJ``aY2%d?CVIs@3sFp+= zwY%imYDq-fa3>dV`okrHyC(**{}js$JXu7en$({#SVWpRAlJQ1ixE2sAJ!ZN^%De3 zW38Np?s!;{(|Eqq#e>y6_PZ9cDK-%g$De)?E#)%gJ`k%ZJpe#W>0w1qC+2C|V+#o5 z>XJyr0@RdVV*V^pKS6-4eT&-Or2I!UKK}uz9SBAZ0P2TMq`mb+=ePK<=9wK(_72F> zc>1tP_ywhjjnxWnuSesj;h$~3gFWz}>>b1kh|I?2T*kj!$)RnyPx$UP(kjR9J=WmpzJuKpe$ivSKl85rp6t9w3Fi*tn&w)!u85-~|@XV4(+C7oxR| z2th5TShC3$;;bKIh#Qqa{8jVu_q~VA{9%BFM`u-^SeA93!_;vc<}0)}4a2~0w_|fj zlDHy=!=W+1rf$FA!*$)pekT9`*tX3TyA@5-I&0hj0O0#R8!L)}EXxL&Z8jUkam?nr zu5;_wgH$J=6M#}WnHf*}{{Fz+^d7Uc>h{ zZPXAS?iY8xH-PsUL0GRKK9#R1BK&o2dOYF#=Zxd2%vja6YXCIrc>Ds2D35#B$#J^? O0000cq@Gs=6k_mn^>bP0l+XkK DN_QQ_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-1.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ded931cadfcd6e0e6785420f851a6e1d88a349f8 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Wu7jMArY;~ z2@iBll{4{D_w@$B3!j$pg4x17VQ^8v|1I-2dngR{D f+zx6$Y++(Z3s;mkZ;F}@bOD2>tDnm{r-UW|VP8OD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-10.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-10.png new file mode 100644 index 0000000000000000000000000000000000000000..8d71c464f6e186f7c34473f5b2f9dbff18d36277 GIT binary patch literal 741 zcmVPx%pGibPR9J=Wms>~_Q5?pT42L+$YPFK(vET3KSbw*Mwm2_eC*S6pQGVkI-rn62b5rM)IuZy3l)1@d zA_D^hOeUyBvm-fVUFv?MOGD_r?1Q~$L02CN1qc94438pj*AWEz9%1x@9{^B!>Wra@ zB--MIlgUVzhJf+!Xj#f#wI(w&PieAV;1$l&958qU0N`?^K#nA#57C%4V`CCR;V5P- zr-5)3A7{U?^k$R8UO*i70%BBG={QQ%*MwMQ7?iG8Ud=5%u$N~(<1C_vFdPn(si`R) zGn>sE0JPn?rI@QedyxYGucwpzSeyp{B&|&azq^8Jm})?lW#s4Q>lgrZyW5F%>ox#@ z=eZl*?sl^0;0dm%Fb{)0O#p!HWlq}m#s)GnGL(jD1^`(6sx(*6)3QntnGu!o@lDyp zC4G*07pMk&J|Ap0n~niM*NYwiz{Z?x%{($AA}y;_8J{aUL~CIjLa$dFLZ1H>!mH=2 zl(lQE4>1IW-%a9M`c4PcvD`;$om~ONWkCG~Cv)cTrx)5@OL$ Xz2p}k6(iR800000NkvXXu0mjfKblOx literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-11.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-11.png new file mode 100644 index 0000000000000000000000000000000000000000..5885ae1c6e3c0603b261730d78d52eb6ea6cf7d8 GIT binary patch literal 804 zcmV+<1Ka$GP)Px%-bqA3R9J=Wmt9CxVHn4MM=G)8=6%u`|5+fAOfPCMsRgSzm4bKd9o zK6{@(?|I&{b0kuvqM{-(K5lJomCXKblHTM<5?H))`KrkFB)4Vj@9o*W8bZyeR+4-N(eKzCaQ1h$Q=k@^=8;uyrZ^bf0syZ!ok%Q=CX}Q(ot+^DqY7c` zE{H0;9T+xK+nmbmb3~bajxfsGQnp#dUngW%hK*AH$d|CCYgfsp&$t=sHeoax6}`Q^ z8kUunB>`Nza7Hz^bI$<@z}Ik7eEl*4K-%Q#$SWMWhII`@A`uD;3pEVjaotr>G=BjA z4fpGKTz6HhTZ&Q=S?GXTDPREx*Q8M!6I!hUtUZFZjU zhTbRL1ziJyKmeP~reOf}4;lfOH8U?Ej)nbXGhE&;SZt4+waF0D*y(@yCBki+Q`4yP+6&wSkm*;;c}Epn~OEdjV)UI8$ygi(|a z+^RqJS52mS4AaNY{CBxsUNNkM)!1UmWYgNCV%$W{GJC?VR6TuSXinFFyL2&k`(kPw z3b!ZCy&|s`#U4)r%P%h%#U2kcGNxj+T7PNA@P#B^vvaM)?*M?Jd;nnXs6toU>x8+v zqYBFw+y4B&;6{)6HyhdSmwX&y7%bx<$EI1KSFPx%>`6pHR9J=Wmt9B{Q5c4wkqT`UF-0u}h1d+qD2bAgwLi$4h(a)}y(o%)Xvv5) z=pq7ze!w;gi7>io(;M+3yU2cZ5!s?7k}&_XcBNL=)pRNpJKf~8>$o#x33cInGv|BH zJKy(m<~uWIB<2WdX=!3=+}_?U8NF|T*5sJ)lK3`MPVVLVyt=tAWYUt;#lr1&E3wIB z5-lw)hD>OR209bPqR4GTd)jC^)k=2bxJo}b=oSFI9bF`E+>N`rmacd002CZJtZO1n zYx4O1aH2hJ(DR*Zlgnn*#Kk2mMHbsF3U8!1=sW@dha&>tXc*1NAvN9I9tQm~Uh^UF z%X}CZHd5Od^0QM#es-$R(-q|J5rNlv7=>=5)IW6wE$Q|x7Q=ho2sE3}@Ar$ozCINf z6B8o=RNlC%m^*mngaqJhs1ZLV#sCOg7>Q+5o~B_<13sURl#~<|2k@-!j!0X%3V?=3 zbv&!PBR21_N^8@TdDD0ifYmuATIux-#Ky)d1p_$%CcY}g1LLUpEJnR9WxOvbK{!00 zL#~3Rf!5YmGBPq$963~oY;<#!XFIaa95 zU8ty%06Je>4APs|m&|F?&g1_;UZGXw6&Iqh~aoim(Z9{&oO&*;jnhr;)1j8C2+Dk~03f6L7pHTPTt zC!ges=9iwyK(2IGp^5{T&JB033DV63%^wp0*PCwo`#%l^a&7N>R9tUExtPvP^nX?9 wW^JH&MYW2{E4{AbUdt90*Yu@IFa13D2@k?kk3Ej8IRF3v07*qoM6N<$f-jVP-v9sr literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-2.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-2.png new file mode 100644 index 0000000000000000000000000000000000000000..03799bb6889c95e57db990a3ae4af1ba91c97d6a GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}XFXjULn2y} z6C_v{Cy4Zv9Pscsc&@hnpYrFsbKh{hQe@rmU~e}DhC^UEi7aB^`O85tNDoSA7T z_-@CPo|;WEZQ+;aT9^Oh=H_19vA6d3G)Gt0*24eKj{d)DS|R}gd~fcZQP5m{;=v1P z?@h`d+8Q=&FgSdBd%ocjuykF0b9CRC<*S(W;`g0duzGd3;;{n<4s0ks@5lxMo}7gu zb}JhaCdgW~%;I?aMxb+pk~Wv#b;DfAP~qnq5LY(^8gRKCJi*A|&1wC0!uRtwK#wta My85}Sb4q9e0AJc`u>b%7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-3.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-3.png new file mode 100644 index 0000000000000000000000000000000000000000..5daaf7dda8978a6e6b8f0fce0a66da66843c5f3a GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T<0-i38ArY;~ z2@_nEs+2LzBl*IC}^%e@!*BD z_a@~JZ4DbX7#zO6J>T#MSh}vhIlAx6@>R@w@%zp!SiQPi@z{X_2R0O+cVq(rPtHOS zyOj+I6J)JgW^ufIBha})Nt;XWx?!$lsPJGJgnD_*-25xBmAd?!(>7-%C96 z@m}bedbq_uC~V66v*F#5Jf5EO{%0gwIvU%7cZ~!P aU|_IR3kqbKwOa`oPz;`~elF{r5}E*J&x+On literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-4.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-4.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7be0c7da2abdb4ba0d8f50301695b36fb59dcb GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T_nEs+2LzBl*IC}^%e@!*BD z_a@~JZ4DbX7#zO6J>T#MSh}vhIlAx6@>R@w@%zp!SiQPi@z{X_2R0O+cVq(rPtHOS zyOj+I6J)JgW^ufIBha})Nt;XWx?!$lsPJ8(e z$2-0gTg{Vhe0*c%BsX8tcl$2BA@8qD**pTGO{|J!bT9{qXyl4ls} zwyHg4xEG_Ked_zO)kk&OmZ+Ss-?CxO0%njK{bF{V{_y7J<8tO_4Mtm^ZrM~V0t^EK b0|tgig)yZG^}o*mLzThP)z4*}Q$iB}EEJ=r literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-5.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-5.png new file mode 100644 index 0000000000000000000000000000000000000000..150e8f3ec78c5dc6bbe287407329006c4a33afbc GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T<-JULvArY;~ z2@_nEs+2LzBl*IC}^%e@!*BD z_a@~JZ4DbX7#zO6J>T#MSh}vhIlAx6@>R@w@%zp!SiQPi@z{X_2R0O+cVq(rPtHOS zyOj+I6J)JgW^ufIBha})Nt;XWx?!$lsPJ8&z zhkV5LYU{&aXN66XS^V#}^qq@}&(BSK*AP>!+$MY8PWWj<|5@ArvCI731$T!9e2C9J z#KNW+$H&GN8oEZY<2vIKhNtoIlJD;B>QYS0TheX*>Vs9n&t`rX>j%EYwu?)0AJ>-{ zvW5FEIxE4-%=AHR!oQun|Lw2+*!uA3<#L|lWlJwCkx4kDuBmPx$-AP12R9J=WmtQDDQ5?s=TM`dwZZf3E{7Lr00}pE=k_T@}`SV~&lEsr0lB6Vs zRwMD`-pdNmWC@5X=s690x*(j|Two zKJ&%Dj{g+EVzEH2R{MAWu(r7i07z0M3dVs-v}GofFoas|X9&AmYx%h$U51E!5llH3E#|AN$n*n3aW6m+`EcPWaC0sz3l(FN@G l>xZBLbY?9|RXZ#Izy}@eon9gux1#_6002ovPDHLkV1g^q^Pm6# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-7.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-7.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb7d79932d64e321e67d2b086b91c77069c3c0c GIT binary patch literal 564 zcmV-40?Yl0P)Px$?ny*JR9J=WmrE!_Q5?pvg=I0g@KCH>AQhx+l4}sGs^uLC=<9zt?1Y=_XAoo7l zg3~PqxD=#D(t^}T&t%|VpyCM@Rt=K&XJ_cSYm~qYp~K;z7K_EDrdF#}05Ck%Cz>m( zsQHmG<|4D%Oa(!Z)CeKaYPG7h*-;u7p9lb0Uz$Z|L=@8VN)(%5c0dpW5JFsP0DzZA z@$ir1Uo~JdnV{3@TxtNYu)F~P2-Sp0#!BI~%wUj)P_KUvVMAr1IM*>S@vGtV@_%3k zr>MPO4B2>NwOc~QyoLdvUP3IUm*#NT)GoO(aW9Xe>HM7?>I{y}ZfjA6H@DKy zHDu+=-ouMWUe(|rZ=#{>Yj z_fBB5UEJ_=XY1Wmj!vPx%14%?dR9J;$U>MBc%iFI1uWw8IH%>eAe?T1Y`nJUXkI!TNGn_I0f5e`RCXQgj zCz+GT!NC9YIs?PK9}JWKO3}i81{OjJmMr09c>9@&;TXeLnmB+U2)9xAA8w;CFlk^! z07gOzcJ4cb68!E?b_Dg10`Mln_wV2TfB5hrhM1tBAR_|<1H+sd6XA|a$;cn8B|nM824{p{9j!|hk=2Cf#JaJ%?y&ViVTjvu_QYJZwLqr3p2cZ z`xZltfq{X6;rBPV<;Z-hI^go<%M7}@x)@>%3=9lA_Z(zkU|?X7ln_VZlL`n1*`Y(I ziO|jtkq9fYqTq5J)0R;+agKtK1MnuC=+?>bM7Fd#mnMk}Z#LvaD}?ZYb-TAST(44PV%YKQGf@us*xd8qW%_g!v1*H#TtSH z8zjU6;e?bZz5*bTI~3Pom8j1p@-`CXoKQ zyZ*m@@rB{V({~JWrll~FB1RRkX48q+g?l~zA3O8(FS1xmU=)TJ0|NsCvKX-dZ^wjz zfq~(~rMnEzo;`ktEO!0DJq)q?2m1b_i&4b^WopYY#6nu8V2EA#YDcQwqkw^dfq?-4 XqfONM&j)!600000NkvXXu0mjfV|5M) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-9.png b/Resources/Textures/Structures/Storage/Shelfs/Departments/Service/kitchen.rsi/kitchen-9.png new file mode 100644 index 0000000000000000000000000000000000000000..9f61aeeb480158a0f8cfd103194e23f0f605a558 GIT binary patch literal 650 zcmV;50(Jd~P)Px%L`g(JR9J=Wmr+PlQ5?p9cT^}Ou?D&_m=Md57N}4@$gC);hlpSxm^}m%6-oAz zK}CcL8BvCzJ=l{gU!;fjP-dl$kP$<|QG-V2h?%*j$yB0Yr>Aba-n#cL9E;lbbk6Ub zd;TAPzQes2{$|a^u8L^LD$0-fMMexnLsl{Sp;q887tgC!rNx9vYw^_49M(jFF!qJ^ z#r5f^&kDT_Zg(!RxQSur(_%nZ)s;n}y0R!U8Tc22tH=2f(R?=GkAGpR^3gflZU zA{-8@nAvQW0J?79l+D#0KP>@x2Ybc0#2f&om8)^?aA_LWG!To$u-R-X1~B017R8&l z05I6^VZhTZb{;q)m6mK^bf^`8tyPU$$LkxgSS)hEWClQDK`x#=&&#hMKIN0gwS@)3 z9r^g%E@&DE1Ohl54iy9Fdol#TI%|Pq9-s1&mtP@|Pm~_iDxn`juU8pDr}JkB&z-E1 z*RFKjlK?_5S{3{4+ZvZOv|0Uo(hSJqmUcN%chA?SB}|&vF!#ruH=z6d4+&mqQQUyy z#DZ+vH8PUAf%>X49!#DZ8~D_8Nh-W}SuADj*>CuatTH0afZVwASi~mhn2b!*)lnyJ>e{xsa_QoRHLJR|ZAqQjzv|TSxqJ6)*|O!v_3M$5k^ley|06s98c+j& zNswPK!`72P5jeOwztIjTUs-Lb@{pyRfpfy1FvYhK+_sMvG4v z8yOlJDXnB+_-;!N6PNr6|FxA;rv4=gPFZ_2cV$pn(jYu6{1- HoD!MXo%+Z=#i}Vm>cDf3`30}DPfVNim}Ai;2E&Vv>y$at zoTIFp5|mVq2^w&pEMy7noG`6VL4x&%%)*uHzcoj=_cR3>aJez+F)&okPTdx?G;ANx OLkym-elF{r5}E+_Ygr+ArY-_ z&lxf@FmNy{B(JG=WzOK>m-lcGEx2&9#OOXh14F}P)<w1lw}$KTFM5ezk1=AE4ZUOAL1I78TNam(66JpsOk(WKzsvE8}P& zcgyhpMb!FsY_Neb67e#xO~{SKtca#>qQNat5cX6F8&C9wPEE|TcC#+JYD@< J);T3K0RU(OUmpMf literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/glass.rsi/rbase.png b/Resources/Textures/Structures/Storage/Shelfs/glass.rsi/rbase.png new file mode 100644 index 0000000000000000000000000000000000000000..584a185caabdcd79c22e51feea45a1cb9f52088a GIT binary patch literal 549 zcmV+=0^0qFP)Px$-$_J4R9J=Wl(BBwP!xtg(^6@09&P~OP7e9mx-bZ zsY{n`JV2KWU9vQ&3W9csP-KVHG&l&_NHlc82*a(x0?|m}lPvk%dvyNa$M+ss^4O7v zgKRe2TZCw_SRClCjBXYR1!P$s#Gz0~SftbGxZ-K@TCEnjT+X#WW&ogCtqP0HimIwe zlB?-%1H+r|K7Bt0h}?YHfBWV&reXLKOC)&z;UhPZ=cfRNuTuM>yntxYX`6L>_sf^6 z0H?<2FZ-u~dc8h3@lg|vMq{#pMf2Yc2yekK*Kv*Ga>ajTyMi6p;D>jbX9wh1H?zLI zh6MEP?|nTIu)e*99P4JhG{!m*jYerUo9ynP?n;PfZ4chn@QV|GXMf82EQ9FVlk`b{Ngve! z!5I+U)p@a;15+6goz!{Z>lQd%#Wjw;p8Hq(*_?e4ZK+*diEa27@1w*v*iyT?SB|g) zhGEQS5CQScO=_#QZWsp1WOA|r(=-8isRW_@8`_ruXaMc2L7sT5h|!dwtG1^BfK)2w nqx@`)8OZ1J3lm?mi0jO8VkuLc9xTmmm7EjISihzelF{r5}E** CYagWm literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/metal.rsi/base.png b/Resources/Textures/Structures/Storage/Shelfs/metal.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..430b603aa3af9356e29b3ea3dce738733060e9ed GIT binary patch literal 352 zcmV-m0iXVfP)Px$8c9S!R9J=Wlrf5hFc^eqm&GEL2x8*_EbPU`*48U}1J7Wg7qC!k8xcfPq}?r+ z1bt@3?0XU6`BnK%oEanzaP#hbEQcgXzRxhtvP}4XJ#I!(1kdxtY+066WE{uUeB@kR z*U0mHwZ91f0BM>^#hxVyg3U8&001bpC%qVJJQKsidlbO#sH2 zHZz&_^}fK_{CNpEgb*;sU>JsyFk?)-`|kjbT0040u!}tBC z%sEw6fl?~8cLQ)Jr6`KxB?0zW1(@eqtaTO9(gV1A;EDlcH}zF0{RPXH-m8c>I*RB} yfTn2x=qVzuy&C}dEs?X>1Zdm#H1nIAOYj3E`*YfR{bVBm0000Xo%+Z=#i}Vm>cDf3`30}DPfVNim}Ai;2E&Vv>y$at zoTIFp5|mVq2^w&pEMy7noG`6VL4x&%%)*uHzcoj=_cR3>aJez+F)&okPTdx?G;ANx OLkym-elF{r5}E+_Ygr+ArY-_ z&lxf@FmNy{B(JG=WzOK>m-lcGEx2&9#OOXh14F}P)<w1lw}$KTFM5ezk1=AE4ZUOAL1I78TNam(66JpsOk(WKzsvE8}P& zcgyhpMb!FsY_Neb67e#xO~{SKtca#>qQNat5cX6F8&C9wPEE|TcC#+JYD@< J);T3K0RU(OUmpMf literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/metal.rsi/rbase.png b/Resources/Textures/Structures/Storage/Shelfs/metal.rsi/rbase.png new file mode 100644 index 0000000000000000000000000000000000000000..430b603aa3af9356e29b3ea3dce738733060e9ed GIT binary patch literal 352 zcmV-m0iXVfP)Px$8c9S!R9J=Wlrf5hFc^eqm&GEL2x8*_EbPU`*48U}1J7Wg7qC!k8xcfPq}?r+ z1bt@3?0XU6`BnK%oEanzaP#hbEQcgXzRxhtvP}4XJ#I!(1kdxtY+066WE{uUeB@kR z*U0mHwZ91f0BM>^#hxVyg3U8&001bpC%qVJJQKsidlbO#sH2 zHZz&_^}fK_{CNpEgb*;sU>JsyFk?)-`|kjbT0040u!}tBC z%sEw6fl?~8cLQ)Jr6`KxB?0zW1(@eqtaTO9(gV1A;EDlcH}zF0{RPXH-m8c>I*RB} yfTn2x=qVzuy&C}dEs?X>1Zdm#H1nIAOYj3E`*YfR{bVBm0000i0jO8VkuLc9xTmmm7EjISihzelF{r5}E** CYagWm literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/base.png b/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..a1054e575dd9260e6df82eacddc12818bc603784 GIT binary patch literal 525 zcmV+o0`mQdP)Px$$4Nv%R9J=WR!d6)Q562>;pD_vN@5~Kwuuq~p@LdT1g-n0wT>WMNI?(8K*Nw+ zg-D?`laFB>TMTni=lH_uLHVubo_pqe-<>(<;{r4McW~W{L|Ey32WhgTF@aU=|?hpVtKcgEMRMUN?3Gw3s$R_MYEG(niY-3KCOsn3u-p!WiksT>vmY zsmvqvb_bHcu`V9hh-?Fr1P%)#k5`j+`5pnK4}%pveWPx$F-b&0R9J=Wl{rp>F%X5H7c5~ANI-!ET@FIU4RVPThyze_07Sthasw(3LI)BB zi4>MZ*qN9D0RcQ-5(y~$RhHiK%=>?DK%>$4V+1E0?rjDLR{kV}qDGguqi8YBO^{Mx zXG6j$0juQ~Z9JX9QNZ9aAOvK6_YX5R7#qN74Wk0=$@%ej%>uyb(b2x6zXOb?{N^boS0fp~5r4#n&lDZk)JO*KL@iF;x7h4;X9{~|iBsgVtkTEDF|6&=^q$OcI5fl_ic z7QP8fS?VTCt>3&>>WjhtpM%}?u)l4RuiVYR0RT#TS9ec!&oO|H202Q7jYgvp;}s)= Vg1{w;ek%X~002ovPDHLkV1g*Km?;1N literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/locked.png b/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/locked.png new file mode 100644 index 0000000000000000000000000000000000000000..421688fcda8a1eb453d5a02967f22689105b4a0c GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}YMw5RArY-_ z&p8S*Ft9Kf7=Br=!5}-wdcN*KB?bnIfSG@585*`Sw#73kb8gP^1?ph%boFyt=akR{ E030V9oB#j- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/meta.json b/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/meta.json new file mode 100644 index 0000000000..544b43a1e8 --- /dev/null +++ b/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/meta.json @@ -0,0 +1,29 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Kezu", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "rbase" + }, + { + "name": "locked" + }, + { + "name": "unlocked" + }, + { + "name": "closed" + }, + { + "name": "open" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/open.png b/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/open.png new file mode 100644 index 0000000000000000000000000000000000000000..c0e25c446bdc9bd77db14ca156f03395faa3d608 GIT binary patch literal 483 zcmV<90UZ8`P)Px$ok>JNR9J=Wl}}2;KorKm%uFYtmLyuNg;qC}UZbnx1$v2sn5Bz?3&8`l2wuV) zxN_?mbf+K@q{ct3Go8joO)+I6VuzxT-!8nD@B8xJFadIMa{elN+v``RwAwW<&Z@Dj zX3nT7e>l7_*S)xVva|t`hMjT&!*>-40oPap0B(ug`Zle%kq$!IH7{=0ytwRAG`BdM z-XQR8YSbJ6e4Eyt-XLghag<$(#Fr6bVbdk>j!uK5*-UGZ%)HEx)tsSO~M+3|m;sSUuX1*w!VbEy$ z31qdZrMTi3;Bt!Va6EtE^8Ur>No-Y1^AYS;97IAP9Lm`Q!l6V6Y25TH3)<#)oRjl! Z`2ZmpllAvCI~4!`002ovPDHLkV1gx{+;ji{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/rbase.png b/Resources/Textures/Structures/Storage/Shelfs/wood.rsi/rbase.png new file mode 100644 index 0000000000000000000000000000000000000000..a1054e575dd9260e6df82eacddc12818bc603784 GIT binary patch literal 525 zcmV+o0`mQdP)Px$$4Nv%R9J=WR!d6)Q562>;pD_vN@5~Kwuuq~p@LdT1g-n0wT>WMNI?(8K*Nw+ zg-D?`laFB>TMTni=lH_uLHVubo_pqe-<>(<;{r4McW~W{L|Ey32WhgTF@aU=|?hpVtKcgEMRMUN?3Gw3s$R_MYEG(niY-3KCOsn3u-p!WiksT>vmY zsmvqvb_bHcu`V9hh-?Fr1P%)#k5`j+`5pnK4}%pveWo&qkIIMuq}~x&Q1K4%}jJHDXHr^zz&@paup{S3j3^P6