From 33c92226029183d011fe3537fb537a99207b89cd Mon Sep 17 00:00:00 2001 From: freeman2651 <104049107+freeman2651@users.noreply.github.com> Date: Fri, 12 May 2023 05:31:20 -0400 Subject: [PATCH] [entity] Chemvend (#16326) * adds chemvend * chemvend tweaks * add restock to cargo market --- .../Catalog/Cargo/cargo_vending.yml | 10 +++ .../Catalog/Fills/Crates/vending.yml | 8 ++ .../VendingMachines/Inventories/chemvend.yml | 23 ++++++ .../Service/vending_machine_restock.yml | 16 ++++ .../Objects/Specific/chemical-containers.yml | 78 ++++++++++++++++++ .../Structures/Machines/vending_machines.yml | 24 ++++++ .../VendingMachines/chemvend.rsi/broken.png | Bin 0 -> 623 bytes .../VendingMachines/chemvend.rsi/deny.png | Bin 0 -> 976 bytes .../VendingMachines/chemvend.rsi/meta.json | 38 +++++++++ .../VendingMachines/chemvend.rsi/normal.png | Bin 0 -> 843 bytes .../VendingMachines/chemvend.rsi/off.png | Bin 0 -> 421 bytes .../VendingMachines/chemvend.rsi/panel.png | Bin 0 -> 190 bytes 12 files changed, 197 insertions(+) create mode 100644 Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml create mode 100644 Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/broken.png create mode 100644 Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/deny.png create mode 100644 Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/meta.json create mode 100644 Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/normal.png create mode 100644 Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/off.png create mode 100644 Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/panel.png diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml b/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml index 190337f658..ce567e941b 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml @@ -76,6 +76,16 @@ category: Medical group: market +- type: cargoProduct + id: CrateVendingMachineRestockChemVend + icon: + sprite: Objects/Specific/Service/vending_machine_restock.rsi + state: base + product: CrateVendingMachineRestockChemVendFilled + cost: 3500 + category: Medical + group: market + - type: cargoProduct id: CrateVendingMachineRestockNutriMax icon: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/vending.yml b/Resources/Prototypes/Catalog/Fills/Crates/vending.yml index b4ab04ddaa..f909dfcd42 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/vending.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/vending.yml @@ -56,6 +56,14 @@ contents: - id: VendingMachineRestockMedical +- type: entity + id: CrateVendingMachineRestockChemVendFilled + parent: CrateMedicalSecure + components: + - type: StorageFill + contents: + - id: VendingMachineRestockChemVend + - type: entity id: CrateVendingMachineRestockNutriMaxFilled parent: CrateHydroSecure diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml new file mode 100644 index 0000000000..bf7af4ad11 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml @@ -0,0 +1,23 @@ +- type: vendingMachineInventory + id: ChemVendInventory + startingInventory: + JugAluminium: 2 + JugCarbon: 2 + JugChlorine: 2 + JugCopper: 2 + JugEthanol: 2 + JugFluorine: 2 + JugHydrogen: 2 + JugIodine: 2 + JugIron: 2 + JugLithium: 2 + JugMercury: 2 + JugNitrogen: 2 + JugOxygen: 2 + JugPhosphorus: 2 + JugPotassium: 2 + JugRadium: 2 + JugSilicon: 2 + JugSodium: 2 + JugSugar: 2 + JugSulfur: 2 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml b/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml index 8442d9b707..950267aa8b 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml @@ -438,3 +438,19 @@ - state: green_bit shader: unshaded - state: refill_honk + +- type: entity + parent: BaseVendingMachineRestock + id: VendingMachineRestockChemVend + name: ChemVend restock box + description: A box filled with chemicals and covered in dangerous-looking NFPA diamonds. Load it into a ChemVend to begin. + components: + - type: VendingMachineRestock + canRestock: + - ChemVendInventory + - type: Sprite + layers: + - state: base + - state: green_bit + shader: unshaded + - state: refill_medical diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml index 5d7731f80d..5ff20524a2 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml @@ -50,6 +50,7 @@ - type: entity parent: Jug + name: jug (carbon) id: JugCarbon noSpawn: true components: @@ -64,6 +65,7 @@ - type: entity parent: Jug + name: jug (iodine) id: JugIodine noSpawn: true components: @@ -78,6 +80,7 @@ - type: entity parent: Jug + name: jug (fluorine) id: JugFluorine noSpawn: true components: @@ -92,6 +95,7 @@ - type: entity parent: Jug + name: jug (chlorine) id: JugChlorine noSpawn: true components: @@ -106,6 +110,7 @@ - type: entity parent: Jug + name: jug (aluminium) id: JugAluminium noSpawn: true components: @@ -120,6 +125,7 @@ - type: entity parent: Jug + name: jug (phosphorus) id: JugPhosphorus noSpawn: true components: @@ -134,6 +140,7 @@ - type: entity parent: Jug + name: jug (sulfur) id: JugSulfur noSpawn: true components: @@ -148,6 +155,7 @@ - type: entity parent: Jug + name: jug (silicon) id: JugSilicon noSpawn: true components: @@ -162,6 +170,7 @@ - type: entity parent: Jug + name: jug (hydrogen) id: JugHydrogen noSpawn: true components: @@ -176,6 +185,7 @@ - type: entity parent: Jug + name: jug (lithium) id: JugLithium noSpawn: true components: @@ -190,6 +200,7 @@ - type: entity parent: Jug + name: jug (sodium) id: JugSodium noSpawn: true components: @@ -204,6 +215,7 @@ - type: entity parent: Jug + name: jug (potassium) id: JugPotassium noSpawn: true components: @@ -218,6 +230,7 @@ - type: entity parent: Jug + name: jug (radium) id: JugRadium noSpawn: true components: @@ -232,6 +245,7 @@ - type: entity parent: Jug + name: jug (iron) id: JugIron noSpawn: true components: @@ -246,6 +260,7 @@ - type: entity parent: Jug + name: jug (copper) id: JugCopper noSpawn: true components: @@ -260,6 +275,7 @@ - type: entity parent: Jug + name: jug (gold) id: JugGold noSpawn: true components: @@ -274,6 +290,7 @@ - type: entity parent: Jug + name: jug (mercury) id: JugMercury noSpawn: true components: @@ -288,6 +305,7 @@ - type: entity parent: Jug + name: jug (silver) id: JugSilver noSpawn: true components: @@ -299,3 +317,63 @@ reagents: - ReagentId: Silver Quantity: 200 + +- type: entity + parent: Jug + name: jug (ethanol) + id: JugEthanol + noSpawn: true + components: + - type: Label + currentLabel: Ethanol + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Ethanol + Quantity: 200 + +- type: entity + parent: Jug + name: jug (sugar) + id: JugSugar + noSpawn: true + components: + - type: Label + currentLabel: Sugar + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Sugar + Quantity: 200 + +- type: entity + parent: Jug + name: jug (nitrogen) + id: JugNitrogen + noSpawn: true + components: + - type: Label + currentLabel: Nitrogen + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Nitrogen + Quantity: 200 + +- type: entity + parent: Jug + name: jug (oxygen) + id: JugOxygen + noSpawn: true + components: + - type: Label + currentLabel: Oxygen + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Oxygen + Quantity: 200 diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 29f7848b8a..699625b61f 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -1829,3 +1829,27 @@ - state: dispenser - state: dispensereng +- type: entity + parent: VendingMachine + id: VendingMachineChemicals + name: ChemVend + description: Probably not the coffee machine. + components: + - type: VendingMachine + pack: ChemVendInventory + offState: off + brokenState: broken + normalState: normal + denyState: deny + ejectDelay: 3 + - type: Sprite + sprite: Structures/Machines/VendingMachines/chemvend.rsi + layers: + - state: "off" + map: ["enum.VendingMachineVisualLayers.Base"] + - state: "off" + map: ["enum.VendingMachineVisualLayers.BaseUnshaded"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: AccessReader + access: [["Chemistry"]] diff --git a/Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/broken.png b/Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/broken.png new file mode 100644 index 0000000000000000000000000000000000000000..a6e60a2352cb5961c0cbfa32b188da68c4d104d2 GIT binary patch literal 623 zcmV-#0+9WQP)qG(9Ac^^fq&hOEA*X>O5lv zU=AX{f+GOulu75coYPT~VK7=E)@R&_fF}VK?CwNI!V;l(ntSa2`OWJ`Kn41&Rl1;s z#%jP90d#7Tn#LM1flP!nd}}}zZZ8o+QL+j?G{EM!4iT(`I2Ow>TLY2MDcQXWnGs-} z=!lSZ4nPf91R`M&0adzriIBbvYSw^>(pB(X2UOwKxhJ3wsNgFNWqMeep4BE~T#7{y zk-!Rw_`PHJM#py{lGOrmjtvO@7r~f-EEVZ`0k8^rty@)@hF6`Z zT_FM50D$fDR1i7BIrdnD1n7p5#(HX%)B~)27lE_8n*eDtz5&XFI_CdAVHf}a002ov JPDHLkV1n_B3^4!z literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/deny.png b/Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/deny.png new file mode 100644 index 0000000000000000000000000000000000000000..734cd90d70f0ca884c3f69207c6137935edc7d47 GIT binary patch literal 976 zcmV;>126oEP)#F^EFF^ibLy3PtFpO(gABTJUI{H``e!yEECD zoi*tpAB1_kJG<}Aw{JG@eNo_Wrseb+lnL+BA0jwL-4`A_xd+QjKmVKKn%bSv-Eq@7 zjzWb|4Paviu#?#j`oLx&q0eXQcyRH~*NKEa|*wEC>C~c7nA&{p8q)TX$~L5uK$kU504y47@#N zLHFvohY{&EL3=NoHVwXT5{}n@rFP4U=K%G@D2V+?1DKATvkfwC z8Ncqi-qB#M9D%Fn8Dq{7ZU&SCXs}*W1}K`|2$@Jp@&w;CLtqBzipI~v@1{rgiFGC- z0|{r&T31GRFP~_E8F1dIhY1U6dSbBLZ-ENT7+~-)L00awOBl=%GZ2y7C}M&-a^ZYuCzOJJ z4kYb;F9gQ~WuUQk= ze=LIDcR&Mkvr}ZnQ@-=00f@>gRrGOnAr>H58OcgBVE}!ag(VM>qf&LDCxG|Eqfky1 z1@L*|dj!gisy?tWo6~9l6%U}Q4{Qj1U~FPS+j;YPK_YsdasW&pQ29H?79GL2=DbrQ zeZa3EL2)8=^@L;dA_cDxAd?H}Lol3Lf{|}q)%5{n01Hl8$-R)zkvU!)v3J{c$F^U~ zX7WRpR=^Eu0Q*U)4NzOMHD?kHV?qQs1Ihu+DzsrJQXt&Fcm0_^#M_NrHZOPpo5C*1AhSrz-MfdGE^tgX@>Bb)ipqv;HoFV>bMUXUlWY+5Pq30_P4Lf%}sW{dE=w zj5LAaOyK0HbI^90kRLfl*6chEc=y0jn7|)b{q=es8m&)|6c^5)4y@S|h4V(!A#u0~ zP`qARN}Ryx;(VSFd0z?D%`7VlJWU?a4!vt z_hQ-H{<{aIm6!4a=*2(3Z%TvDRGY9+^aM8k;)6d&JbLn&j2Nt1tHI9tSy-*?Lix+V z2qVH{sAAywx85FhPLg-7z{L}v$-Fo==Ken5{$PT8k^2Y}P%$uh#(Q!EK0Uji21kS$ z&`v-{0~Ns@eAg7#7|1LZB73^i8{BJIq1j`g)P~$l-d}bW+Molg8pt@kc~_wk3ac8( zjr8Un4UHi72Lt}QXBdF8CrXtTj2YmmKY)q6@H8Nd8DQVL2r@mGGvI&{GCkaynv!0t z)!rbzvldx2tQ=PXrS9So@lRJ|p!9 zhO;?M6Bu{`sXs6j{s7i;ap9F;{QGGqK>Y!ouVZY{5o~MD1~u{rR0Ro|6P3G{{W)t= zSn&r`4D7U;?w;tJTx-K0P%(h5Ikjjg6BJhb0UZsXNx|D|#UBVWz$?u~ZJ8B+Ai{uK znzL;hX~#5JvZ{e3?YUJABx%q02Ls#|eZmu^tTjg%GeFcYYthREsYzkXfN6Vf&VZpo zk=P&bH4r-gVetMRSn&q}r=X-~N`?a&`2(iyxv@WBYET&a1HAG|7pXrG2Lty9{sHlQ V5Knj&k0}5E002ovPDHLkV1ly1gxdfB literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/off.png b/Resources/Textures/Structures/Machines/VendingMachines/chemvend.rsi/off.png new file mode 100644 index 0000000000000000000000000000000000000000..bc342677ab0daaa61819df182ff66a51f532c07d GIT binary patch literal 421 zcmV;W0b2fvP)0}MtTFgP8ctYN_L?)7s9AyG*%ADK-Gz-9)B#_50$z|?=`$`yvEFAgw} z3(O2PQTWI?3dDZ;{59AftPX&IdA+@4J3zX-oh0=b4tVTD@E@bvU_NvA($#wnr(!Xc+! zxY-SW0LU@E^H5*bg578Khv|+_lg$sW*?jCvdBeJOdWZj3DYB`nt4B%rOPnz=`)6-p h#&6~hvQUMA!DX(Lkd@zrT|fshc)I$ztaD0e0svz&KxzO0 literal 0 HcmV?d00001 -- 2.51.2