From 954dbcbd2dc72811ec42650655e3bbc0e023dd06 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Mon, 12 May 2025 06:55:11 -0400 Subject: [PATCH] Add chem barrels to salvage (#37204) * Add chem barrels to salvage * Resprite and attribution before someone gets on my ass * redo rad barrel too --- .../Spawners/Random/Salvage/tables_loot.yml | 9 + .../Entities/Structures/Storage/barrels.yml | 233 ++++++++++++++++++ .../barrels.rsi/flamingmetalbarrel.png | Bin 0 -> 961 bytes .../Storage/barrels.rsi/iedweldbarrel.png | Bin 0 -> 589 bytes .../Structures/Storage/barrels.rsi/meta.json | 42 ++++ .../Storage/barrels.rsi/metalbarrel.png | Bin 0 -> 454 bytes .../Storage/barrels.rsi/radbarrel.png | Bin 0 -> 620 bytes .../Storage/barrels.rsi/silicatebarrel.png | Bin 0 -> 407 bytes .../Storage/barrels.rsi/waterbarrel.png | Bin 0 -> 379 bytes .../Storage/barrels.rsi/weldbarrel.png | Bin 0 -> 454 bytes .../Storage/barrels.rsi/woodenbarrel.png | Bin 0 -> 419 bytes 11 files changed, 284 insertions(+) create mode 100644 Resources/Prototypes/Entities/Structures/Storage/barrels.yml create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/flamingmetalbarrel.png create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/iedweldbarrel.png create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/metalbarrel.png create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/radbarrel.png create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/silicatebarrel.png create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/waterbarrel.png create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/weldbarrel.png create mode 100644 Resources/Textures/Structures/Storage/barrels.rsi/woodenbarrel.png diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml index dba4ec6789..65f8f66106 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml @@ -77,6 +77,15 @@ weight: 0.5 - id: ScrapMopBucket weight: 0.5 + - !type:GroupSelector + weight: 2 + children: + - !type:NestedSelector + weight: 3 + tableId: RandomChemicalBarrel + - !type:NestedSelector + weight: 1 + tableId: RandomChemicalBarrelRadioactive # Treasure: High-value scatterables that don't do a ton. diff --git a/Resources/Prototypes/Entities/Structures/Storage/barrels.yml b/Resources/Prototypes/Entities/Structures/Storage/barrels.yml new file mode 100644 index 0000000000..cbc71babe0 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Storage/barrels.yml @@ -0,0 +1,233 @@ +- type: entity + parent: [ StorageTank ] + id: BaseBarrelChem + abstract: true + name: chemical barrel + description: A small metal drum. How tropical. + components: + - type: Sprite + sprite: Structures/Storage/barrels.rsi + state: metalbarrel + noRot: true + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.18,-0.48,0.18,0.28" + density: 200 + mask: + - MachineMask + layer: + - MachineLayer + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:SpillBehavior + solution: tank + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:DoActsBehavior + acts: ["Destruction"] + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + - type: PhysicalComposition + materialComposition: + Steel: 3000 # 30 sheets, 1 stack + - type: ExaminableSolution + solution: tank + - type: StaticPrice + price: 500 + +- type: entity + parent: BaseBarrelChem + id: BaseBarrelChemRadioactive + abstract: true + name: radioactive barrel + description: It seems to be leaking a bit. I don't think you'd want to be around this for long. + components: + - type: Sprite + state: radbarrel + - type: RadiationSource + intensity: 1.0 + slope: 0.25 + +- type: entityTable + id: RandomChemicalBarrel + table: !type:GroupSelector + children: + - id: BarrelChemFilledIodine + - id: BarrelChemFilledFluorine + - id: BarrelChemFilledChlorine + - id: BarrelChemFilledEthanol + - id: BarrelChemFilledPhosphorus + - id: BarrelChemFilledSilicon + - id: BarrelChemFilledMercury + - id: BarrelChemFilledLube # oiled up... + weight: 0.1 + +- type: entityTable + id: RandomChemicalBarrelRadioactive + table: !type:GroupSelector + children: + - id: BaseBarrelChemRadioactiveEmpty + weight: 2 + - id: BaseBarrelChemRadioactiveFilledRadium + - id: BaseBarrelChemRadioactiveFilledUranium + +- type: entity + parent: BaseBarrelChem + id: BarrelChemEmpty + suffix: Empty + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledIodine + suffix: Iodine + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Iodine + Quantity: 500 + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledFluorine + suffix: Fluorine + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Fluorine + Quantity: 500 + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledChlorine + suffix: Chlorine + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Chlorine + Quantity: 500 + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledEthanol + suffix: Ethanol + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Ethanol + Quantity: 500 + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledPhosphorus + suffix: Phosphorus + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Phosphorus + Quantity: 500 + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledMercury + suffix: Mercury + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Mercury + Quantity: 500 + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledSilicon + suffix: Silicon + components: + - type: Sprite + state: silicatebarrel + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Silicon + Quantity: 500 + +- type: entity + parent: BaseBarrelChem + id: BarrelChemFilledLube + suffix: Lube + description: Slippery... + components: + - type: Sprite + state: silicatebarrel + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: SpaceLube + Quantity: 500 + +- type: entity + parent: BaseBarrelChemRadioactive + id: BaseBarrelChemRadioactiveEmpty + suffix: Empty + +- type: entity + parent: BaseBarrelChemRadioactive + id: BaseBarrelChemRadioactiveFilledRadium + suffix: Radium + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Radium + Quantity: 500 + +- type: entity + parent: BaseBarrelChemRadioactive + id: BaseBarrelChemRadioactiveFilledUranium + suffix: Uranium + components: + - type: SolutionContainerManager + solutions: + tank: + maxVol: 500 + reagents: + - ReagentId: Uranium + Quantity: 500 diff --git a/Resources/Textures/Structures/Storage/barrels.rsi/flamingmetalbarrel.png b/Resources/Textures/Structures/Storage/barrels.rsi/flamingmetalbarrel.png new file mode 100644 index 0000000000000000000000000000000000000000..12d583f44dda1519cdc6819016b91ec3a93cee52 GIT binary patch literal 961 zcmV;y13vtTP)f-Dmxut5c3sI zg|0u-O@VH^!%vJiZ;A1wSF#YlCO!?ab`?-h6-u$3Or)I0gc` z{!p8b0#Fb*IuW3=SVLC0bCnf0AtKLnou;X3j+;l$GrL8=uL2+|PjBTs0-dvj*PTw1 z)Z8oYb4g$mK&uahAs{yAg~lUBgLFDz%KgrBP&Fqh4awQuoTg~T~tVsptW&MRnD5QNBb@fFb6OinP?vY z#!*^jbXFCH0Jy3JbiU$GfD2lAbT%o+&Usn{U`JqU0`S2^06M9Q(pidv@}^_IstMj< zZ6RF56_8}LG4OY#)&xXRq~Yr)cp86)A6NwKgq-8$cp60@f$21Y7h|97WN;mMP9_sN9*;*u%$_D91qu7?ZLn#$c~6o63Hz-Hu;IPkZfO;e zZ95qRUbo+qfRue!4M4mVf(V=xLaGKx*dJbpxjz_cz#BPeD{x;mpsRhaHDI^f!Fs)h z#bTjN9(sKrkh1T+2H<|&C%E>#)c_nXmrJ)DNx`>$ks9DT{3Y#stpOH&{T=bbTTgn3vYDME*P6Ra7*hGWYS(tJ;n*gW8)WTmWP<6>XB(Ml@D{h=6 zfs(X3a9Ul6QNSX=sj$}B%6Y5-l_(dK^9XhXBu!xwRoY6I3vpLyO~923i^yWYu`(a6 z3tgA0Ln5Iy0k+yVC2*%0SLZ6d;|PG&=HCTWWwA%V5<;qN4Eg78_Zb1M1H*QN)L%~R z_E+ikDTIU81fcH!Vh6S%0y{;pSt6^hchKki2ERYRvp(N9g6a>DKycciZv@jHAcbK1 z1EetgM~M4_p$7ESA0UNb`U9kJcl`le1lJ$n8^QDkNFkX104W61A0UO``U89;nEn7M j1l1oPf#F>M9vpuG^6}q5S$$4p00000NkvXXu0mjfNj|45 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/barrels.rsi/iedweldbarrel.png b/Resources/Textures/Structures/Storage/barrels.rsi/iedweldbarrel.png new file mode 100644 index 0000000000000000000000000000000000000000..b1df05ade171d208000c37e70fc8178ae460c4f1 GIT binary patch literal 589 zcmV-T0tq|n99AqF9%i=CuH>FUtE z(Eb4bL5Hq(ad7bu2%-ku+ysY8ArJ^E6gM5xd!9z@Q1f0J>yiWE<$ZAPdFP$?5u+0$ zA`lUX2t)*aO`wxVc==+HF52z0e6C2S7X9P#ST?LYfqM?#;NV$K4y4m*QSK`MLI#t3B6&y?Kyr|%<#M8~l}g|GZ)P(h z_J+>m=okvvTLl`E$wq}{bEg7eal1bbfM;a9pyUDIrzHTe1i*{ydX?2mDz35zWX9!9 zlMjndxCCT9aLNC5$>d4|f;`~xfrM>}vjFWKCh=jKfv03>9>6wCCX=K;UWqzH81?%U zbX14#f%mshVa6FRiOIWQLF648ADRblxqi*lhV)4O%xyT3ph74F0zJU9)-+9w!~Us8rzV8vjAbl?c>90>NEZ)bSnwwAdyDw&7?vqz6_BV`Se5 zO78)&1hi2h&5jr7c7+N9u3M>;SOW7H*D=(_^6S-U&nXb+P8;41fhs05CI blN0y?A1(~QU$Ie^00000NkvXXu0mjfJO2oS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/barrels.rsi/meta.json b/Resources/Textures/Structures/Storage/barrels.rsi/meta.json new file mode 100644 index 0000000000..cd8439513e --- /dev/null +++ b/Resources/Textures/Structures/Storage/barrels.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from vgstation13 at https://github.com/vgstation-coders/vgstation13/blob/4d150fd98a7b067305c157ad79431fa150f2c145/icons/obj/objects.dmi, modified and adapted by EmoGarbage404 (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "waterbarrel" + }, + { + "name": "weldbarrel" + }, + { + "name": "silicatebarrel" + }, + { + "name": "woodenbarrel" + }, + { + "name": "metalbarrel" + }, + { + "name": "flamingmetalbarrel", + "delays": [ + [ + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "iedweldbarrel" + }, + { + "name": "radbarrel" + } + ] +} diff --git a/Resources/Textures/Structures/Storage/barrels.rsi/metalbarrel.png b/Resources/Textures/Structures/Storage/barrels.rsi/metalbarrel.png new file mode 100644 index 0000000000000000000000000000000000000000..2955014c0117754e6e6b2c93c7949d75a0e67393 GIT binary patch literal 454 zcmV;%0XhDOP)Px$fJsC_R9J=Wmc4DmFc3yx;*4NG4FLk~=~9h*7wWZuH_!q`GJ!Vm0_?p30YjxY z0Rc8%!HrYIR22Wfq@e^zqSpuzDcz^LPj`fok&*w-Q|bdnQ5>a|U+y{Q*lxGU?*e#< z-8i4mk3tB_vIIaW)vZ};0gm2#+O|y+GKmeoSS(mBm(+F5ZntALn~`N109lqXolcod zCL9ij*ZqF~7Aqhs140OlF*xU_stUNwfYuuCJwgcDwvCM+UjiWnQcASeNGWNWrdxB) zQI;i5)8L$o4xS`HN=csQ0NwRG3wfS@j{xsI@cE_vzyYNc>-DbgD!L^PYC>a7^1B8% z;b|}pFCfN*RaK$2P7)ARr!b0vnPx%CP_p=R9J=WmOW_OP!xr~no?n?pruq48>FwRUN7h;@Ofz;k^=1^;v}Uu5=Ig zo^!8Yfdv-$-*H3rh4r;uRI6lD&+J~nn}c)ZZvott4Xl=os9IMMi<>^_`(gC8O z7jk@ZsYFC7xLPuz#}DsNv~-?4KL=oUE0-eCKZSwov)3Ifk&voD!PMC6jwzS{yIVPc zE6HDexMb*s6ikid6WR0%EpWb!xfo>ts8zBI-07L!3ux612CmQM&Y666SptVgBLLdX zJOG`24}j0z2LQZy>j4H&Uwu_d4v>)vT3uOUb!7=)lH_$KPF{ZGOyb(j{3K2m(k-Y} zvJ@?yb~7(j4?zE2Or(DryTR@SN(7``P%t$BT6H5Oz$6;aVj-%yKq_#3Ef+yt1%YH0 zAhsZ=4<#uL%%W)NG`1be%dpXjuSHA0LTYXV8rx3lUI`bMAhx3luGNO`Z6CWAC|OZ@8G+aVJ_GmfHdLJh(vvU= zkvv@qoq_8sZ$l{!484%Uqmk6I5sT|u34C(C0Z=X72VwyxXMqsn=FS=6uir`pqPx$QAtEWR9J=WmO*ZVFc3w5tDb~?e1$~LRmidpy-AZUpzjlOAO7*_VXcSObXn_D@6Q*kr5LTfWNTgq77D0JN_CzC=*htT9cT>2 z*7e8&f(WJPAf-?oPu-d^RGQ<7?gj7#C5-=is0kH|MF|^*pKQm!fB0U^Xtk>+8 zJgy0=QoPmZCTs`O1OhlF%yVkh0(c$>qZqhqLI9l!1ta;7biy!Ze;oe%op5N<86)lk zybMrHFUn9jM-9k1V6%y1*~s7DVnYTddl$S1z5tEXpn@&2O-ld(002ovPDHLkV1l+w BrxySK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/barrels.rsi/waterbarrel.png b/Resources/Textures/Structures/Storage/barrels.rsi/waterbarrel.png new file mode 100644 index 0000000000000000000000000000000000000000..41d81ba31a172ef6c9525ff0996b594b37846001 GIT binary patch literal 379 zcmV->0fhdEP)zZKYcSYo&oHL5*f=ta_>L4qj3O9 z2Gq_1)UOQixuDVq*a6cLX8>(x7f={Fc0qL;KI$6r{d>a+gV!0L_CfMKxunKM0W_33 Zz#U#)@GM&11=-|11 zfGnN-3Z8=TO9W#>wr++jUJQni&0_}l?p%d*NF#wohU$l4pCnFSPX8$x!JTCQ41fVJ z00uw_z_P5)_x-E$S(ZWDwhvkW#OAhbLy{ys76bu!p2zQbo&(JzM5h8F4d6Hqe?xkT zDl|<4X`1qTRaH>eHP4r2DVtUv;02S%nA~+;j;Ru)%L)*XkC5*mFKGbUoFHE3bB-sg z)vx)d;}Kvy1`pSPjtbO26^Qryz6zVoxeBBL$Hh7oDS3c&?FdM81SG8=}0qhAjQSMRhF`lKyyilFQ^Ocm1FMI&^n{Z?s*`tg8PRTmS$707*qoM6N<$g2^Afe*gdg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/barrels.rsi/woodenbarrel.png b/Resources/Textures/Structures/Storage/barrels.rsi/woodenbarrel.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb2ceefb911b47a0fc9cb4d92f83c9b3ea9ccf4 GIT binary patch literal 419 zcmV;U0bKrxP)VQ!Pj5=V{0izBe$pJ2!;{OS$*>n9RBTXCt zvs_Ss8K;`}AO3>Xk>UuV9iZwE#PH_AMzAHg0LXD72L8ZMm`<#*#5n-utJ??GfgK@& zByMJAhNAA&sZ(G_k`f9er2&v5K)zIw;AXh<;w!_g7kj|sAT~%$0LT^q$uWE-+DxJx z0P;Dqzh))%*}@KR}~_SU_|XfE)n= zrW$-;dTG}>IQ#UCPjL2aARAv!A=?4?0J4RoSWdD7D6xnt4j=}A5+q%s06FDT0!Ye+ zxGY5%AJ}XtF~HgI4X_}>S6`6j08qJ}nVILQSk?p4G;5F`96?<$wAzHU001!1ss4ZIW5oaf N002ovPDHLkV1g`3qW%B? literal 0 HcmV?d00001 -- 2.51.2