diff --git a/Resources/Prototypes/_NF/Catalog/Cargo/cargo_botany.yml b/Resources/Prototypes/_NF/Catalog/Cargo/cargo_botany.yml new file mode 100644 index 00000000000..301a1316341 --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/Cargo/cargo_botany.yml @@ -0,0 +1,9 @@ +- type: cargoProduct + id: CargoPlantBox + icon: + sprite: /Textures/_NF/Structures/Storage/plantbox.rsi + state: plantbox + product: PlantBox + cost: 1000 + category: cargoproduct-category-name-hydroponics + group: market diff --git a/Resources/Prototypes/_NF/Entities/Structures/Storage/plant_box.yml b/Resources/Prototypes/_NF/Entities/Structures/Storage/plant_box.yml new file mode 100644 index 00000000000..bf6aa328934 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Storage/plant_box.yml @@ -0,0 +1,84 @@ +- type: entity + id: PlantBox + name: plant box + description: A large storage container for holding plants and seeds. + parent: BaseStructureDynamic + components: + - type: StaticPrice + price: 625 + - type: Anchorable + - type: InteractionOutline + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 450 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:EmptyAllContainersBehaviour + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank1: + min: 3 + max: 5 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Climbable + + # plantbox-specific + - type: Sprite + noRot: true + sprite: _NF/Structures/Storage/plantbox.rsi + layers: + - state: plantbox + - state: plantbox-top + map: [ top ] + visible: true + - type: Appearance + - type: GenericVisualizer + visuals: + enum.StorageVisuals.Open: + top: + True: { visible: false } + False: { visible: true } + - type: Storage + grid: + - 0,0,19,9 + maxItemSize: Normal + storageOpenSound: /Audio/Effects/closetopen.ogg + storageCloseSound: /Audio/Effects/closetclose.ogg + whitelist: + components: + - Produce + - Seed + - type: UserInterface + interfaces: + enum.StorageUiKey.Key: + type: StorageBoundUserInterface + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [ ] + - type: Dumpable + - type: MagnetPickup + range: 1.5 # plant bag has a range of 1.0 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.3 + # very not dense to make it easy to pull + density: 20 + mask: + - SmallMobMask + layer: + - MachineLayer diff --git a/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/meta.json b/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/meta.json new file mode 100644 index 00000000000..e15111a58e9 --- /dev/null +++ b/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Made for Frontier by gentlebutter", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "plantbox" + }, + { + "name": "plantbox-top" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox-top.png b/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox-top.png new file mode 100644 index 00000000000..2a7b1fa96eb Binary files /dev/null and b/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox-top.png differ diff --git a/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox.png b/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox.png new file mode 100644 index 00000000000..5473f610bb3 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox.png differ