diff --git a/Resources/Prototypes/Entities/Structures/Furniture/storage_counter.yml b/Resources/Prototypes/Entities/Structures/Furniture/storage_counter.yml new file mode 100644 index 00000000000..349958c3d80 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Furniture/storage_counter.yml @@ -0,0 +1,184 @@ +- type: entity + id: BaseStorageCounter + abstract: true + parent: BaseStructure + description: A counter with storage capacity + components: + - type: Sprite + drawDepth: TableLayer + sprite: Structures/Furniture/storage-counter.rsi + - type: Appearance + - type: InteractionOutline + - type: Climbable + - type: PlaceableSurface + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.1,0.45,0.45" + density: 60 + mask: + - MachineMask + layer: + - MidImpassable + - LowImpassable + - type: Storage + grid: + - 0,0,5,5 + - 7,0,12,5 + maxItemSize: Huge + - type: UserInterface + interfaces: + enum.StorageUiKey.Key: + type: StorageBoundUserInterface + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + +- type: entity + name: frame + id: StorageCounterFrame + parent: BaseStructure + components: + - type: Sprite + sprite: Structures/Furniture/storage-counter.rsi + layers: + - state: frame-step0 + map: ["enum.ConstructionVisuals.Layer"] + - type: Appearance + - type: InteractionOutline + - type: GenericVisualizer + visuals: + enum.ConstructionVisuals.Key: + enum.ConstructionVisuals.Layer: + frame-step0: { state: frame-step0 } + frame-step1: { state: frame-step1 } + frame-step2: { state: frame-step2 } + frame-step3: { state: frame-step3 } + - type: Construction + graph: StorageCounter + node: frame-step0 + +- type: entity + name: storage counter + id: StorageCounter + parent: BaseStorageCounter + components: + - type: Sprite + state: frame-step3 + layers: + - state: frame-step3 + map: ["enum.StorageVisualLayers.Base"] + - state: closed-white + map: ["enum.StorageVisualLayers.Door"] + - state: counter + - type: EntityStorageVisuals + stateDoorOpen: open-white + stateDoorClosed: closed-white + - type: Construction + graph: StorageCounter + node: storagecounter + +- type: entity + name: cargo storage counter + id: StorageCounterCargo + parent: BaseStorageCounter + components: + - type: Sprite + state: frame-step3 + layers: + - state: frame-step3 + map: ["enum.StorageVisualLayers.Base"] + - state: closed-cargo + map: ["enum.StorageVisualLayers.Door"] + - state: counter-grey + - type: EntityStorageVisuals + stateDoorOpen: open-cargo + stateDoorClosed: closed-cargo + - type: Construction + graph: StorageCounter + node: storagecountercargo + +- type: entity + name: engineering storage counter + id: StorageCounterEngineering + parent: BaseStorageCounter + components: + - type: Sprite + state: frame-step3 + layers: + - state: frame-step3 + map: ["enum.StorageVisualLayers.Base"] + - state: closed-engineering + map: ["enum.StorageVisualLayers.Door"] + - state: counter-grey + - type: EntityStorageVisuals + stateDoorOpen: open-engineering + stateDoorClosed: closed-engineering + - type: Construction + graph: StorageCounter + node: storagecounterengi + +- type: entity + name: science storage counter + id: StorageCounterScience + parent: BaseStorageCounter + components: + - type: Sprite + state: frame-step3 + layers: + - state: frame-step3 + map: ["enum.StorageVisualLayers.Base"] + - state: closed-science + map: ["enum.StorageVisualLayers.Door"] + - state: counter + - type: EntityStorageVisuals + stateDoorOpen: open-science + stateDoorClosed: closed-science + - type: Construction + graph: StorageCounter + node: storagecounterscience + +- type: entity + name: botany storage counter + id: StorageCounterBotany + parent: BaseStorageCounter + components: + - type: Sprite + state: frame-step3 + layers: + - state: frame-step3 + map: ["enum.StorageVisualLayers.Base"] + - state: closed-botany + map: ["enum.StorageVisualLayers.Door"] + - state: counter + map: ["enum.ConstructionVisuals.Layer"] + - type: EntityStorageVisuals + stateDoorOpen: open-botany + stateDoorClosed: closed-botany + - type: Construction + graph: StorageCounter + node: storagecounterbotany + +- type: entity + name: medical storage counter + id: StorageCounterMedical + parent: BaseStorageCounter + components: + - type: Sprite + state: frame-step3 + layers: + - state: frame-step3 + map: ["enum.StorageVisualLayers.Base"] + - state: closed-medical + map: ["enum.StorageVisualLayers.Door"] + - state: counter + - type: EntityStorageVisuals + stateDoorOpen: open-medical + stateDoorClosed: closed-medical + - type: Construction + graph: StorageCounter + node: storagecountermedical + diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/storage_counter.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/storage_counter.yml new file mode 100644 index 00000000000..61e846a249e --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/storage_counter.yml @@ -0,0 +1,262 @@ +- type: constructionGraph + id: StorageCounter + start: start + graph: + - node: start + edges: + + - to: frame-step0 + completed: + - !type:SnapToGrid + steps: + - material: WoodPlank + amount: 5 + + - node: frame-step0 + entity: StorageCounterFrame + actions: + - !type:AppearanceChange + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 5 + - !type:DeleteEntity + steps: + - tool: Prying + doAfter: 2 + + - to: frame-step1 + steps: + - tool: Sawing + doAfter: 1 + + + - node: frame-step1 + entity: StorageCounterFrame + actions: + - !type:AppearanceChange + edges: + + - to: frame-step0 + steps: + - tool: Prying + doAfter: 1 + + - to: frame-step2 + steps: + - material: WoodPlank + amount: 4 + doAfter: 1 + - tool: Sawing + doAfter: 1 + + + - node: frame-step2 + entity: StorageCounterFrame + actions: + - !type:AppearanceChange + edges: + + - to: frame-step1 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 4 + steps: + - tool: Prying + doAfter: 1 + + - to: frame-step3 + steps: + - material: WoodPlank + amount: 3 + doAfter: 1 + - tool: Sawing + doAfter: 1 + + - node: frame-step3 + entity: StorageCounterFrame + actions: + - !type:AppearanceChange + edges: + + - to: frame-step2 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 4 + steps: + - tool: Prying + doAfter: 1 + + - to: storagecounter + steps: + - tool: Anchoring + doAfter: 1 + - material: WoodPlank + amount: 5 + doAfter: 1 + - tool: Sawing + doAfter: 1 + - material: Plastic + amount: 5 + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - to: storagecountercargo + steps: + - material: MetalRod + amount: 5 + doAfter: 1 + - tool: Welding + doAfter: 1 + - material: Plastic + amount: 5 + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - to: storagecounterscience + steps: + - material: WoodPlank + amount: 5 + doAfter: 1 + - tool: Sawing + doAfter: 1 + - material: Plastic + amount: 5 + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - to: storagecounterbotany + steps: + - material: Plastic + amount: 5 + doAfter: 1 + - tool: Screwing + doAfter: 1 + - material: WoodPlank + amount: 5 + doAfter: 1 + - tool: Sawing + doAfter: 1 + + - to: storagecounterengi + steps: + - material: Steel + amount: 5 + doAfter: 1 + - tool: Welding + doAfter: 1 + - material: Plastic + amount: 5 + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - to: storagecountermedical + steps: + - tool: Cutting + doAfter: 1 + - material: WoodPlank + amount: 5 + doAfter: 1 + - tool: Sawing + doAfter: 1 + - material: Plastic + amount: 5 + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: storagecounterscience + entity: StorageCounterScience + edges: + - to: frame-step3 + completed: + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 5 + steps: + - tool: Sawing + doAfter: 1 + - tool: Prying + doAfter: 1 + + - node: storagecountercargo + entity: StorageCounterCargo + edges: + - to: frame-step3 + completed: + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + - !type:SpawnPrototype + prototype: PartRodMetal1 + amount: 5 + steps: + - tool: Welding + doAfter: 1 + - tool: Prying + doAfter: 1 + + - node: storagecounter + entity: StorageCounter + edges: + - to: frame-step3 + completed: + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 5 + steps: + - tool: Welding + doAfter: 1 + - tool: Prying + doAfter: 1 + + - node: storagecounterengi + entity: StorageCounterEngineering + edges: + - to: frame-step3 + completed: + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + steps: + - tool: Prying + doAfter: 1 + + - node: storagecountermedical + entity: StorageCounterMedical + edges: + - to: frame-step3 + completed: + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + steps: + - tool: Prying + doAfter: 1 + + - node: storagecounterbotany + entity: StorageCounterBotany + edges: + - to: frame-step3 + completed: + - !type:SpawnPrototype + prototype: SheetPlastic1 + amount: 5 + steps: + - tool: Prying + doAfter: 1 + diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index 040d88166bc..9a4d8d60634 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -787,3 +787,77 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked + +# storage Counter + +- type: construction + id: StorageCounter + graph: StorageCounter + startNode: start + targetNode: storagecounter + category: construction-category-furniture + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + id: StorageCounterCargo + graph: StorageCounter + startNode: start + targetNode: storagecountercargo + category: construction-category-furniture + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + id: StorageCounterScience + graph: StorageCounter + startNode: start + targetNode: storagecounterscience + category: construction-category-furniture + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + id: StorageCounterEngi + graph: StorageCounter + startNode: start + targetNode: storagecounterengi + category: construction-category-furniture + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + id: StorageCounterMedical + graph: StorageCounter + startNode: start + targetNode: storagecountermedical + category: construction-category-furniture + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + id: StorageCounterBotany + graph: StorageCounter + startNode: start + targetNode: storagecounterbotany + category: construction-category-furniture + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked diff --git a/Resources/Prototypes/Recipes/Reactions/chemicals.yml b/Resources/Prototypes/Recipes/Reactions/chemicals.yml index 5671df47771..01e68c0062f 100644 --- a/Resources/Prototypes/Recipes/Reactions/chemicals.yml +++ b/Resources/Prototypes/Recipes/Reactions/chemicals.yml @@ -531,9 +531,9 @@ amount: 1 Phoron: amount: 1 + catalyst: true products: ArtifactGlue: 2 - Phoron: 1 - type: reaction diff --git a/Resources/Prototypes/Recipes/_Persistence14/phoron-balance.yml b/Resources/Prototypes/Recipes/_Persistence14/phoron-balance.yml index 5034b3ef22a..a3ef44bf092 100644 --- a/Resources/Prototypes/Recipes/_Persistence14/phoron-balance.yml +++ b/Resources/Prototypes/Recipes/_Persistence14/phoron-balance.yml @@ -10,11 +10,15 @@ - type: reaction id: phoron-synthesis minTemp: 420 + conserveEnergy: false requiredMixerCategories: - Stir reactants: - Plasma: 2 - Bananium: 2 - Titanium: 1 + Plasma: + amount: 2 + Bananium: + amount: 2 + Titanium: + amount: 1 products: Phoron: .2 \ No newline at end of file diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-black.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-black.png new file mode 100644 index 00000000000..d719a7714b5 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-black.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-botany.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-botany.png new file mode 100644 index 00000000000..90c0eeb8098 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-botany.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-cargo.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-cargo.png new file mode 100644 index 00000000000..c42da8a2da4 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-cargo.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-engineering.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-engineering.png new file mode 100644 index 00000000000..c2a4f0c1ff4 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-engineering.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-medical.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-medical.png new file mode 100644 index 00000000000..fb966526e59 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-medical.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-science.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-science.png new file mode 100644 index 00000000000..72f241bad40 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-science.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-white.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-white.png new file mode 100644 index 00000000000..ec33b721be4 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/closed-white.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/counter-grey.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/counter-grey.png new file mode 100644 index 00000000000..e6b3d740d7b Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/counter-grey.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/counter.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/counter.png new file mode 100644 index 00000000000..47a1416d9e3 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/counter.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step0.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step0.png new file mode 100644 index 00000000000..91d2cec93b7 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step0.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step1.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step1.png new file mode 100644 index 00000000000..766afbe4cba Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step1.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step2.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step2.png new file mode 100644 index 00000000000..eb65c1ad386 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step2.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step3.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step3.png new file mode 100644 index 00000000000..de991d9581e Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/frame-step3.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/meta.json b/Resources/Textures/Structures/Furniture/storage-counter.rsi/meta.json new file mode 100644 index 00000000000..e15a03b0457 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/storage-counter.rsi/meta.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "PERSISTENCE SS14 by Joules (github JoulesMango)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "frame-step0" + }, + { + "name": "frame-step1" + }, + { + "name": "frame-step2" + }, + { + "name": "frame-step3","directions": 4 + }, + { + "name": "closed-cargo", "directions": 4 + }, + { + "name": "open-cargo", "directions":4 + }, + { + "name": "closed-science", "directions": 4 + }, + { + "name": "open-science", "directions":4 + }, + { + "name": "closed-black", "directions": 4 + }, + { + "name": "open-black", "directions": 4 + }, + { + "name": "closed-botany", "directions": 4 + }, + { + "name": "open-botany", "directions": 4 + }, + { + "name": "closed-engineering", "directions": 4 + }, + { + "name": "open-engineering", "directions": 4 + }, + { + "name": "closed-medical", "directions": 4 + }, + { + "name": "open-medical", "directions": 4 + }, + { + "name": "closed-white", "directions": 4 + }, + { + "name": "open-white", "directions": 4 + }, + { + "name": "counter-grey", "directions": 4 + }, + { + "name": "counter", "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-black.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-black.png new file mode 100644 index 00000000000..77d6e328bc8 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-black.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-botany.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-botany.png new file mode 100644 index 00000000000..97e709885fa Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-botany.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-cargo.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-cargo.png new file mode 100644 index 00000000000..b25931c93c9 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-cargo.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-engineering.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-engineering.png new file mode 100644 index 00000000000..9efc516c34b Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-engineering.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-medical.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-medical.png new file mode 100644 index 00000000000..010ae700995 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-medical.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-science.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-science.png new file mode 100644 index 00000000000..f67d499dcfa Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-science.png differ diff --git a/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-white.png b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-white.png new file mode 100644 index 00000000000..c2135275356 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/storage-counter.rsi/open-white.png differ