From e6012a39562d2e7594ab322b9fb08f19ac508e9d Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 23 Apr 2023 16:53:17 -0700 Subject: [PATCH] Add secure chemistry crates and jugs (#15211) --- .../catalog/fills/crates/chemistry-crates.ftl | 8 + .../Catalog/Fills/Crates/chemistry.yml | 56 ++++ .../Objects/Specific/chemical-containers.yml | 301 ++++++++++++++++++ .../Structures/Storage/Crates/crates.yml | 12 + .../Chemistry/jug.rsi/inhand-left.png | Bin 0 -> 297 bytes .../Chemistry/jug.rsi/inhand-right.png | Bin 0 -> 277 bytes .../Specific/Chemistry/jug.rsi/jug.png | Bin 0 -> 346 bytes .../Specific/Chemistry/jug.rsi/jug1.png | Bin 0 -> 129 bytes .../Specific/Chemistry/jug.rsi/jug2.png | Bin 0 -> 146 bytes .../Specific/Chemistry/jug.rsi/jug3.png | Bin 0 -> 166 bytes .../Specific/Chemistry/jug.rsi/jug4.png | Bin 0 -> 164 bytes .../Specific/Chemistry/jug.rsi/jug5.png | Bin 0 -> 171 bytes .../Specific/Chemistry/jug.rsi/jug6.png | Bin 0 -> 164 bytes .../Specific/Chemistry/jug.rsi/meta.json | 40 +++ .../Crates/chemcrate_secure.rsi/base.png | Bin 0 -> 476 bytes .../Crates/chemcrate_secure.rsi/closed.png | Bin 0 -> 415 bytes .../Crates/chemcrate_secure.rsi/icon.png | Bin 0 -> 345 bytes .../Crates/chemcrate_secure.rsi/locked.png | Bin 0 -> 146 bytes .../Crates/chemcrate_secure.rsi/meta.json | 45 +++ .../Crates/chemcrate_secure.rsi/open.png | Bin 0 -> 309 bytes .../Crates/chemcrate_secure.rsi/sparking.png | Bin 0 -> 206 bytes .../Crates/chemcrate_secure.rsi/unlocked.png | Bin 0 -> 157 bytes .../Crates/chemcrate_secure.rsi/welded.png | Bin 0 -> 276 bytes 23 files changed, 462 insertions(+) create mode 100644 Resources/Locale/en-US/prototypes/catalog/fills/crates/chemistry-crates.ftl create mode 100644 Resources/Prototypes/Catalog/Fills/Crates/chemistry.yml create mode 100644 Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/icon.png create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/sparking.png create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/welded.png diff --git a/Resources/Locale/en-US/prototypes/catalog/fills/crates/chemistry-crates.ftl b/Resources/Locale/en-US/prototypes/catalog/fills/crates/chemistry-crates.ftl new file mode 100644 index 0000000000..bb9ad44b4e --- /dev/null +++ b/Resources/Locale/en-US/prototypes/catalog/fills/crates/chemistry-crates.ftl @@ -0,0 +1,8 @@ +ent-CrateChemistryP = Chemicals crate (P) + .desc = Contains chemicals from the P-Block of elements. Requires Chemistry access to open. + +ent-CrateChemistryS = Chemicals crate (S) + .desc = Contains chemicals from the S-Block of elements. Requires Chemistry access to open. + +ent-CrateChemistryD = Chemicals crate (D) + .desc = Contains chemicals from the D-Block of elements. Requires Chemistry access to open. diff --git a/Resources/Prototypes/Catalog/Fills/Crates/chemistry.yml b/Resources/Prototypes/Catalog/Fills/Crates/chemistry.yml new file mode 100644 index 0000000000..c243b1731d --- /dev/null +++ b/Resources/Prototypes/Catalog/Fills/Crates/chemistry.yml @@ -0,0 +1,56 @@ +- type: entity + id: CrateChemistryP + parent: CrateChemistrySecure + components: + - type: StorageFill + contents: + - id: JugAluminium + amount: 1 + - id: JugCarbon + amount: 1 + - id: JugChlorine + amount: 1 + - id: JugFluorine + amount: 1 + - id: JugIodine + amount: 1 + - id: JugPhosphorus + amount: 1 + - id: JugSulfur + amount: 1 + - id: JugSilicon + amount: 1 + +- type: entity + id: CrateChemistryS + parent: CrateChemistrySecure + components: + - type: StorageFill + contents: + - id: JugHydrogen + amount: 1 + - id: JugLithium + amount: 1 + - id: JugSodium + amount: 1 + - id: JugPotassium + amount: 1 + - id: JugRadium + amount: 1 + +- type: entity + id: CrateChemistryD + parent: CrateChemistrySecure + components: + - type: StorageFill + contents: + - id: JugIron + amount: 1 + - id: JugCopper + amount: 1 + - id: JugGold + amount: 1 + - id: JugMercury + amount: 1 + - id: JugSilver + amount: 1 diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml new file mode 100644 index 0000000000..5d7731f80d --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml @@ -0,0 +1,301 @@ +- type: entity + name: jug + parent: BaseItem + id: Jug + description: Used to contain a very large amount of chemicals or solutions. Chugging is extremely ill-advised. + components: + - type: SolutionContainerManager + solutions: + beaker: + maxVol: 200 + canMix: true + - type: Sprite + sprite: Objects/Specific/Chemistry/jug.rsi + netsync: false + layers: + - state: jug + - state: jug1 + map: [ "enum.SolutionContainerLayers.Fill" ] + visible: false + - type: Item + size: 10 + sprite: Objects/Specific/Chemistry/jug.rsi + - type: RefillableSolution + solution: beaker + - type: DrainableSolution + solution: beaker + - type: ExaminableSolution + solution: beaker + - type: DrawableSolution + solution: beaker + - type: InjectableSolution + solution: beaker + - type: SolutionTransfer + canChangeTransferAmount: true + - type: UserInterface + interfaces: + - key: enum.TransferAmountUiKey.Key + type: TransferAmountBoundUserInterface + - type: Drink + isOpen: true + solution: beaker + - type: Spillable + solution: beaker + - type: Appearance + - type: SolutionContainerVisuals + maxFillLevels: 6 + fillBaseName: jug + - type: StaticPrice + price: 80 + +- type: entity + parent: Jug + id: JugCarbon + noSpawn: true + components: + - type: Label + currentLabel: Carbon + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Carbon + Quantity: 200 + +- type: entity + parent: Jug + id: JugIodine + noSpawn: true + components: + - type: Label + currentLabel: Iodine + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Iodine + Quantity: 200 + +- type: entity + parent: Jug + id: JugFluorine + noSpawn: true + components: + - type: Label + currentLabel: Fluorine + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Fluorine + Quantity: 200 + +- type: entity + parent: Jug + id: JugChlorine + noSpawn: true + components: + - type: Label + currentLabel: Chlorine + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Chlorine + Quantity: 200 + +- type: entity + parent: Jug + id: JugAluminium + noSpawn: true + components: + - type: Label + currentLabel: Aluminium + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Aluminium + Quantity: 200 + +- type: entity + parent: Jug + id: JugPhosphorus + noSpawn: true + components: + - type: Label + currentLabel: Phosphorus + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Phosphorus + Quantity: 200 + +- type: entity + parent: Jug + id: JugSulfur + noSpawn: true + components: + - type: Label + currentLabel: Sulfur + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Sulfur + Quantity: 200 + +- type: entity + parent: Jug + id: JugSilicon + noSpawn: true + components: + - type: Label + currentLabel: Silicon + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Silicon + Quantity: 200 + +- type: entity + parent: Jug + id: JugHydrogen + noSpawn: true + components: + - type: Label + currentLabel: Hydrogen + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Hydrogen + Quantity: 200 + +- type: entity + parent: Jug + id: JugLithium + noSpawn: true + components: + - type: Label + currentLabel: Lithium + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Lithium + Quantity: 200 + +- type: entity + parent: Jug + id: JugSodium + noSpawn: true + components: + - type: Label + currentLabel: Sodium + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Sodium + Quantity: 200 + +- type: entity + parent: Jug + id: JugPotassium + noSpawn: true + components: + - type: Label + currentLabel: Potassium + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Potassium + Quantity: 200 + +- type: entity + parent: Jug + id: JugRadium + noSpawn: true + components: + - type: Label + currentLabel: Radium + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Radium + Quantity: 200 + +- type: entity + parent: Jug + id: JugIron + noSpawn: true + components: + - type: Label + currentLabel: Iron + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Iron + Quantity: 200 + +- type: entity + parent: Jug + id: JugCopper + noSpawn: true + components: + - type: Label + currentLabel: Copper + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Copper + Quantity: 200 + +- type: entity + parent: Jug + id: JugGold + noSpawn: true + components: + - type: Label + currentLabel: Gold + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Gold + Quantity: 200 + +- type: entity + parent: Jug + id: JugMercury + noSpawn: true + components: + - type: Label + currentLabel: Mercury + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Mercury + Quantity: 200 + +- type: entity + parent: Jug + id: JugSilver + noSpawn: true + components: + - type: Label + currentLabel: Silver + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Silver + Quantity: 200 diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml index 007d6a7a6b..a97010a402 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml @@ -155,6 +155,18 @@ - type: AccessReader access: [["Medical"]] +- type: entity + parent: CrateBaseSecure + id: CrateChemistrySecure + name: secure chemistry crate + components: + - type: Icon + sprite: Structures/Storage/Crates/chemcrate_secure.rsi + - type: Sprite + sprite: Structures/Storage/Crates/chemcrate_secure.rsi + - type: AccessReader + access: [["Chemistry"]] + - type: entity parent: CrateBaseSecure id: CratePrivateSecure diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec4b0fc67c109189048e2fbb1355ea0ee631bb0 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf zpjL*4tv7dscBL&&KYDEazc;R%GtyFHqqn^KcR%{q$~9T>XQ!9$UH5G1JBDdD{#@G} zA>7ord~*89)RU{OZCVw3MH*xR7;KRG_wlQN+WbnFce8lCg3c`cBq&n+{?y^tGj7*e zs^8asWy}hjfvoa$^>bP0l+XkKuN!}x literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..9c73c968099e81561838c632a8160d38f131cbeb GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vfy2*GFH9xPfDI5P&2=`lTq^6Q*$MtE(V4N z8MBUxdVYN!dtK-KYS*BvOI9_1pB3^o-8t*~u0IdPx$6iGxuR9J=Wl`#s!Fc^hjf;u<|#la$O4uWgPQaU(zf!@QpCvf*1UckX26h~LZ zL2!_wli<)v8W$@yMB8Wt!F*Gi|L6UW*R%l)27}?>Au7#&$YR+(8~g2SJ>Tpv*?Q3H zREjhU8}h?F*G{Cxki~55xBZaC%|>kp0HeveUPiaHfsANzco6nnJMmmQ!7ZKX@}#7v zY~X1M1vMQ8TEl*W&Q@m*;35`1*S>3V&Iy22w}InqbxzWhcL7vo4TJ!k1C)|2fbX0E zO35~Gtf%jq5Fl_YM2kZyJ!Jzj0>^rIRyl}T42T0w0$)!+Ht42GZK3X-~K^Hy*hS^xk507*qoM6N<$g2i}@kN^Mx literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ecf243047eee8867aa6b4dc67383c2204a8aa9a GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz4^J1zkcv5P&u!#ApdjEJsBCzQ zx8V2rCxYwzwY*fCG6Mds*1atRR9G;1Rh8c}m6h-3Y*^bdBP~b&`_}dB$2xB&q~(<| b{a7!)_N#=mYlGiCpi%};S3j3^P6#rDFPWmR1#>fe5;)9`tJ^z1XB O#SEUVelF{r5}E)*GeLF$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png new file mode 100644 index 0000000000000000000000000000000000000000..c16054a21ac87e9683dc4342f96067a837643148 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJY)==*kcv5PFFA5G81S$h5ViTn zS?loc|1ulJa$8QJ9M2}MN9Qb44sT-+6coHTea6kQ=Q0dyrYeVs?*0C-XI0zxrTiT% z=lZIjFv!oyOgPEXd+*z-#%oa-?cmJ#zp6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png new file mode 100644 index 0000000000000000000000000000000000000000..363e3a1bfc02caba22ec6151120c13a83587119b GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJB2O2`kcv5PFCFA;FyLXmpkMKZ zLsH?l|7Auar}tGsSs9ADS{?soZ%=6PXHZg7TEw_?if+*KV!o@42dp-?%ye`)XKuXv z%9Z-<`WGIt|7w+se{h*oN4dGm{f3vqQju4-Qyc6LT^F+Wq4KJ6mDSbB9sjb~`wr`c USUtRN544@Z)78&qol`;+0He=8x&QzG literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png new file mode 100644 index 0000000000000000000000000000000000000000..64126589dae45658feee3fa70772277a345a6d0b GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJY)==*kcv5PFFSG_FyLT0p!?;8 za81Mi`pNzu?#*Lzyfr~YXUe-ds(Rim9UUDn-fx@wu)~7kz}l9nWbH zbwj#Un{$HrGl!>)c6Sdf_MZ`Js-RRl-yr^AHm}Lf&bo(hehLbjsvk_zlDKASp9Hj) N!PC{xWt~$(6967eJx>4t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json new file mode 100644 index 0000000000..98c4ac810b --- /dev/null +++ b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json @@ -0,0 +1,40 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by HoofedEar", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "jug" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "jug1" + }, + { + "name": "jug2" + }, + { + "name": "jug3" + }, + { + "name": "jug4" + }, + { + "name": "jug5" + }, + { + "name": "jug6" + } + ] +} diff --git a/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/base.png b/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..5a88c2079d5715056bfae6401585c5da89f0dfd1 GIT binary patch literal 476 zcmV<20VDp2P)Px$mPtfGR9J=WmA^~FKp2LfibHj4!B*(%C=>^Yh=?d+=;9yXBo5k9#L2})7ojeK zbr3}CTy#p!5}{OLhf)wHM@4NRf}%Ki4r!##k6Jb2l4rW_?sD(@eM!E9fPjF2fPjA{ zWS>Y%GJyCiy{fLXOmw?!5)<+a6JwIE%34uJQwjoG(ryM=U791kxIjD>_eK1n_Q3Am zKAKW+thpKhsMqSgh<|lfmv1UR#Jd7@A1l!2EKdV|oA{Q2t!$37;<@KTiT*y<`P+MM z!&}*0XO5DREb?keH1qz1uroQ85;u1>5ndk=;q?*6x}CgQ5=lvR^cU9(Xhr>VJS&X? zAf7`U>m>k&2M1iUFJE4JCf0oBmj-$Z%ZwY1K!TxZnTo0~eqx%5o&ux*$n0DJka&sF z^X93~MHx~dsCHt&BC_F(AJ@$B;n4w!OpNrr85?cH+tJp5MMZ7x-^LsCY{oD=_W#&!NhmF3UadIexs!TJ`y!)sJ;wBpueI_iY>3iyfRItKGs{0p(FuDI$2{3{RFG2 z82mC82MQh>U=*Z{ro_rBd{UM;io(TgGr*#_P{zE;OR zn7x!Z`sfCOn}|il4r34Rjzu3fo}8$~_c-2WC-YIeo+5^6p$TlVH#SaAeBI{C0|NIL z3q?AO4GauoKuY}9bY3`kc<#Z2$7I%h{4&*=!_w&JL|MlRj7OTj9l zQ0H5XDqbC%&P(n-A_it#t{BdEwc-Hplt*I872m#!#x!ne(OA5>+x+k%Rc?upv|olm z3k+)P3+H@%*?rwYw(!>}S+}f~8yetnzopr0B&uo AUH||9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/icon.png b/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3268a61956a15524b228de178948179c9d980297 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|Yyx~jTn`*L zpl|N+!g4p?yzWRyYM1bLOS_JuyAI`oiw( zK8OCry$|^Oi(P5OOcpUgwMVlKt>is(`>6Lap+eTYX8G0!o)yAVpWd0vbacMyvNJn$ znwVFqhD_x!XUv@7?Q&n_%9^t~)}3X07kNS8iqy8UIrm!*a78BEjSo0A#qPy}$rGd| d&a6Aao&JvdUCNm|uYk^G@O1TaS?83{1ORVAnq~k1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/locked.png b/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/locked.png new file mode 100644 index 0000000000000000000000000000000000000000..d481c3ef911610fc60d9f6313490a2d8d018e53c GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJNKY5Xkcif|*H;T3Fc4tASQ=%t zNqeVIY}>@FggGL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/meta.json b/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/meta.json new file mode 100644 index 0000000000..53b77b7774 --- /dev/null +++ b/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/meta.json @@ -0,0 +1,45 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Citadelstation at commit https://github.com/Citadel-Station-13/Citadel-Station-13/commit/85186a971453b0653bacfb3fae88f978dc1be689 - Modified by HoofedEar", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "base" + }, + { + "name": "closed" + }, + { + "name": "open" + }, + { + "name": "welded" + }, + { + "name": "sparking", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "locked" + }, + { + "name": "unlocked" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/open.png b/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/open.png new file mode 100644 index 0000000000000000000000000000000000000000..633f1c0daf3cf79bca7b6602578af0d1485136e4 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJKb|g*ArY;~60FK{28-AaG%~YG zd^&CY@9+;{Ywdt52cCF{w!bVaC~(-wf0*&tGr9lU^CDQDSF;~kc;YZvZf8Xid)M3u z*$Wqf+znD?EQ*9$-zOyd1^7Gr3b!#w6lm(5>`1+E>6%i82G1Sq{rt=CY+Zd_qAE@2 zm{$8`MupQyj~?kPW7yfy`OHj!f%zT7oInPyIz!HljfD&vt;OEi#x<-P%ipwgTUYE5 zPSw~YmzNpX6VrU3F@wz~LnA>WV@88gAOD0!?6a9A9N7+h`r4?h{y+alvCNsgjFpEq z%r{gqbjt;B2)u3#G~jYOs3F0+I6QXSZ^$5X5FCBsLJs@fG2hgpXAxzo?UdK185n8r>mdKI;Vst0DN#gB>(^b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/unlocked.png b/Resources/Textures/Structures/Storage/Crates/chemcrate_secure.rsi/unlocked.png new file mode 100644 index 0000000000000000000000000000000000000000..e957cfaf25601c21e1ef1632b881b2d857ee2998 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ6i*k&kcif|*Di7%P~c&?;LRQ! zqiNo*9cexDZ$ZlxwukTRpA-sooVA=dQ@eCG0~3cr1B8fYh`14PBZy&5i3A(Z;nlz2 zH?)dMvNJ?{(M`Ym_51SsnhhD}_A@cESjc@~x|bCnX+k<1MIVWMur$%E}^f8)rcVNw!5dBO@eOT3a8o#qKO*_No8zq0!O7 zf#GO_{(L*b4<9}@-Yg3X<9UB?Z*zo(%8`OEPdp87A3VtD>YtaVcPDO-VnA@FVdQ&MBb@0Cx^>A^-pY literal 0 HcmV?d00001 -- 2.51.2