From 87ef8ffdf650bca4f6f312d8aba9ecf81a938435 Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Tue, 18 Feb 2025 14:47:13 -0500 Subject: [PATCH] Port plant boxes from Frontier (#2994) --- .../_NF/Catalog/Cargo/cargo_botany.yml | 9 ++ .../Entities/Structures/Storage/plant_box.yml | 84 ++++++++++++++++++ .../Structures/Storage/plantbox.rsi/meta.json | 17 ++++ .../Storage/plantbox.rsi/plantbox-top.png | Bin 0 -> 523 bytes .../Storage/plantbox.rsi/plantbox.png | Bin 0 -> 790 bytes 5 files changed, 110 insertions(+) create mode 100644 Resources/Prototypes/_NF/Catalog/Cargo/cargo_botany.yml create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Storage/plant_box.yml create mode 100644 Resources/Textures/_NF/Structures/Storage/plantbox.rsi/meta.json create mode 100644 Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox-top.png create mode 100644 Resources/Textures/_NF/Structures/Storage/plantbox.rsi/plantbox.png 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 0000000000000000000000000000000000000000..2a7b1fa96ebecbadc62b207b3d17fb7bce273e5f GIT binary patch literal 523 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|o&@-WxGE_r znX1W~o0}(^Dux=Xl$uK#85t?b$_WVxc^Rm1b93wH=mZ(7_!z3hm?~*%YI^9a_#3G@ z=qLr4s7G6A9O7W9Bra(yr_>WdW1WUf`-Wt8AyGWT&YJ^Z^hEfPti>q^^RLsk(xpimaxrgq6Cy zo1U_rrh=-9imASCjMz?jpi-ZbAiv=M6aj|+%4!G$7B2R62AZ4f>Eak-(ffA7MqUO* z9_Euw({xkky}wz%uzb~YCr9VcLI*udZ!~_)$&z6XQiyOCNHuLRepS=T%8(#!uIsAT zP|Lexv(X~=0}ZxW5l0?1+??I=<8h d&op0O1}z|)1BgN3Qt)ID<>~6@vd$@?2>|Rry|w@V literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5473f610bb3520bbf5e0892b10846159621e0b17 GIT binary patch literal 790 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|o&@-WxGE_r znX1W~o0}(^Dux=Xl$uK#85t?b$_WVxc^Rm1b93wH=mZ(7_!z3hm?~*%YI^9a_#3G@ z=qLr4s7G6A9O7W9Bra(yr_>WdW1WUf`-Wt8AyGWT&YJ^Z^hEfPti>q^^RLsk(xpimaxrgq6Cy zo1U_rrh=-9imASCjMz?jpi-ZbAiv=M6aj|+%4!G$7B2R628L;#r;B5VMeo!}5A&K0 zcv>bm-YU&qU$*jFeKqH`ytn-x3X1ps*Or+rZBfjlZP3O-T)$<`Bpr7TxPm5w&!R9H$K{v!sAiRh)*es#VUT(@ui3^O$z2Uii!Z zWAl;s4L`TAq`9qSQ#Y1>@$Sjt2PuJ5>>kXr-nsNp-uC;qZ&)U5Jj@~!^y%;{k)T=3 zOrcMG3v9YNw4OOQur>zn37xvf$(b$SLS?6U%6!R>a*Bch{||3&kB_;#%)m{ z(;DVIIvI9I|3)#}6&8u$)xxz&=fASl%-MPB@txDm2_-CM>9?0mZOc9QU7^RUe8Eb6 zu?<{43m+|2xi+11huis_{6w>=wqI6Ex*Q%~%$x6@suH|jW|LRev;4fu&dGb{w(^O6 z;%?jjM~5dN%37!Iy#7~Dwl$W#_P-iax3_PZ*tYhMz z_h%lSWt)1y{F`uULKyRdr@$EHOO5bM^YvxW0