From 2fa023ac70f0b8e4f776f165d28b9fbc07756221 Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Mon, 11 Dec 2023 06:35:46 -0500 Subject: [PATCH] Add Emergency Shotgun Cabinet (#21419) (#22327) * add emergency shotgun * yml parent cleanup --- .../Weapons/Guns/Shotguns/shotguns.yml | 7 ++- .../Structures/Wallmounts/fireaxe_cabinet.yml | 3 ++ .../Structures/Wallmounts/shotgun_cabinet.yml | 47 ++++++++++++++++ Resources/Prototypes/tags.yml | 3 ++ .../cabinet-empty-open.png | Bin 0 -> 486 bytes .../cabinet-filled-closed.png | Bin 0 -> 749 bytes .../cabinet-filled-open.png | Bin 0 -> 757 bytes .../shotgun_cabinet.rsi/cabinet.png | Bin 0 -> 449 bytes .../shotgun_cabinet.rsi/glass-1.png | Bin 0 -> 327 bytes .../shotgun_cabinet.rsi/glass-2.png | Bin 0 -> 388 bytes .../shotgun_cabinet.rsi/glass-3.png | Bin 0 -> 553 bytes .../shotgun_cabinet.rsi/glass-4.png | Bin 0 -> 682 bytes .../shotgun_cabinet.rsi/glass-up.png | Bin 0 -> 129 bytes .../Wallmounts/shotgun_cabinet.rsi/glass.png | Bin 0 -> 237 bytes .../Wallmounts/shotgun_cabinet.rsi/locked.png | Bin 0 -> 104 bytes .../Wallmounts/shotgun_cabinet.rsi/meta.json | 50 ++++++++++++++++++ .../shotgun_cabinet.rsi/shotgun.png | Bin 0 -> 396 bytes .../shotgun_cabinet.rsi/unlocked.png | Bin 0 -> 107 bytes 18 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 Resources/Prototypes/Entities/Structures/Wallmounts/shotgun_cabinet.yml create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet-empty-open.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet-filled-closed.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet-filled-open.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-1.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-2.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-3.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-4.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-up.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/locked.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/meta.json create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/shotgun.png create mode 100644 Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/unlocked.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml index ef11d917c9..cdcc7d7729 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml @@ -7,8 +7,8 @@ components: - type: Sprite layers: - - state: icon - map: [ "enum.GunVisualLayers.Base" ] + - state: icon + map: [ "enum.GunVisualLayers.Base" ] - type: Item # If you update this also update the bulldog's size. size: Large @@ -166,6 +166,9 @@ size: Normal - type: BallisticAmmoProvider capacity: 4 + - type: Tag + tags: + - WeaponShotgunKammerer - type: entity name: sawn-off shotgun diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/fireaxe_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/fireaxe_cabinet.yml index fea1161bdb..1e78eb501f 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/fireaxe_cabinet.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/fireaxe_cabinet.yml @@ -3,6 +3,9 @@ name: fire axe cabinet description: There is a small label that reads "For Emergency use only" along with details for safe use of the axe. As if. components: + - type: Damageable # adding destructible causes the entity inside to be deleted when the cabinet is destroyed :( + damageContainer: Inorganic + damageModifierSet: Glass - type: MeleeSound soundGroups: Brute: diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/shotgun_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/shotgun_cabinet.yml new file mode 100644 index 0000000000..fcbceb594b --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/shotgun_cabinet.yml @@ -0,0 +1,47 @@ +- type: entity + parent: FireAxeCabinet + id: ShotGunCabinet + name: shotgun cabinet + description: There is a small label that reads "For Emergency use only" along with details for safe use of the shotgun. As if. + components: + - type: Sprite + sprite: Structures/Wallmounts/shotgun_cabinet.rsi + layers: + - state: cabinet + - state: shotgun + map: ["enum.ItemCabinetVisualLayers.ContainsItem"] + visible: true + - state: glass + map: ["enum.ItemCabinetVisualLayers.Door"] + - type: ItemCabinet + cabinetSlot: + ejectOnInteract: true + whitelist: + tags: + - WeaponShotgunKammerer + - type: AccessReader + access: [["Security"], ["Command"]] + +- type: entity + id: ShotGunCabinetOpen + parent: [ShotGunCabinet, FireAxeCabinetOpen] + suffix: Open + +- type: entity + id: ShotGunCabinetFilled + parent: [ShotGunCabinet,FireAxeCabinetFilled] + suffix: Filled + components: + - type: ItemCabinet + cabinetSlot: + startingItem: WeaponShotgunKammerer + ejectOnInteract: true + whitelist: + tags: + - WeaponShotgunKammerer + +- type: entity + id: ShotGunCabinetFilledOpen + parent: [ShotGunCabinetFilled,FireAxeCabinetFilledOpen] + suffix: Filled, Open + diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index bc34696848..420249319b 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1080,6 +1080,9 @@ - type: Tag id: WeaponPistolCHIMPUpgradeKit +- type: Tag + id: WeaponShotgunKammerer + - type: Tag id: Window diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet-empty-open.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet-empty-open.png new file mode 100644 index 0000000000000000000000000000000000000000..f867044e8ea79743302196a7b5de781925636361 GIT binary patch literal 486 zcmV@P)Px$ph-kQR9J=WmQPBCgz^3z~Iv8-X> z`NB-nf{YJA>Y`zCf0lU!#j+-}6MccWBm>Wfsw%>!+uPs8S-lSP{9@#L?{DI<9BZI@ zd?X|-X*#-{CIFz{h48FZ520_Yp`__>8RI5h#sDB99x+fXYr@eYl=7s(tOM~l9H#-t zX$XCRxlsrP;v71iW+Z8vOneg#Ljb_E?BIT$h-kR(@M~|l8UpE5#JFl`S~f4qQ~w{x c$jF#FpNLkilZ4XdcmMzZ07*qoM6N<$f;O?xt^fc4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet-filled-closed.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet-filled-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8a7b05312ca4b9fc1f2669ee779d9f58f06f30 GIT binary patch literal 749 zcmVPx%r%6OXR9J=WmQ7C+Q51%sPTOfM9~w+2&<{#tVyi_$>_$Zs(?5VNWQU16SN;}P zZd|xvYoZ$$N*Gq4CZdE`+94saGA&46*k6Dv~*}|!iBwq;|6H z7E>}FvqU%mrs7u(IhA4c-sFk>if-{l^SoXU05w6x>2hLdzwl2zBN>k|nOb(Zj#=N9 zT=ezebUCS1stEOcSYx-_gn*d*LpXCg|AqeQY&R(f#*}BhP zq-GfGl(yL0+r{VWA{+{_rmDvZS5_1N2HFYGe%75tJz8T?S){u!OwBM591bG8t0-lW zo44-*psG1WuEbDQ6rz`-ghIi#0#r3eC=_J#?W@BDnB>DFqtxV628q$ln_iyDW;63L<2gXu!Z5<{SPx%uSrBfR9J=WmfuTLVHn3h`@Pc$#j+bkT``+yiWglq3B(Y|i!=y?D55_iy6PVY zf^LEW%giDay7DTd5rpTaLcG{^wiRsHBpv1|#^#ROx^O$5<8f{mBQM(b<~i?kp7;5F z&-0w~J_nj;qKW?Fy|9XfuPLSiJNujb=Vzs#W@8h07a7xi`7C&$a9qVxO042!&X%u1Cj6CVKDy%i;YO_Wj3Y9mx=JI=au3Ohj}x1WZ4B&b4Y4@Vl~jdV5GFB05o? z-W~vwi3qW194RBPnO!$LVWq@pPUiuLMdLavN$a>h1Mq2Iu-TABgIF}q?8*kSD;vb3 zah2TFDFSf+-d(!R^#kDc4DjOh8^*6rB4q?MR%_j!0kXgJpQWJ%6}7O}{|D2rSeTzj zT3Q64#XZPmHVy8xodGZu*e=jljAghXkv!z7PVaKH?tb&2uAVA6p z_+43~jG&TLl7`DK;&}Q8bGwIEZ0cK-`AAgf%l|o|#0LdTxZ29L?ATnxmICA;R{*DQ zf&wsQsGCNFwMJiocr^iwX4}y_b4rcW_2J?{0fC@gIiDLsPz&0*qaJ$)ry(?EA|5sk n13_6G$;bXb&_okW96SC3v+x$xKI(nc00000NkvXXu0mjfJC0X- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/cabinet.png new file mode 100644 index 0000000000000000000000000000000000000000..a685c2263cba342df0af943f3f3d2d6b2bb3c6b0 GIT binary patch literal 449 zcmV;y0Y3hTP)Px$dr3q=R9J=WmQPBWq2$gIcET!u&R2-b~*24R0ndKtVylf2R~59H1O6LbQX4(q(b+ zR+Fnm+jlQo#2$Ay(?QpZqzM)mcU(`4C>486g<4InOfVU6Tn|?bo?5Jnm9-5p!@zLR z2V4)WCP&A;{w~3+2}h#?OM) rpr<2dbwkJXR7+m^|3E=O!P5Bz^{l9)q9rXX00000NkvXXu0mjf76riZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-1.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d22162c7c3da4e55e3773ada1a3a50b5b6cf84bc GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^Twk$I;lTA%JTog%@W@FNMxF0Rc9nY6j7cbBAugv7G7w&7jg zx{3!}4kXQC%d;#>f46x0{5+egpD)==SUk4L%x2yp!4c8(tmEm02WcNS26n1m@)OzY z>Dv;)d$Z`txul@40go8;_H(|B*!+4~(@g1(tutiU3k(em41V}}@K2a)b(VcL)BZPK zbTj%CB&KSxUQEhe8@fYBO>o1b$vu0k&dMHh<75nq?PnEOu6}hI&tmt38XzCgTe~DWM4fgWQ2J literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-2.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b4dcdbdf75aa4e378c3c39d849fde55bd6f5fd61 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T(*W;rdnm_eLb ztox#n=%(ap`IbfLmdwn|-enzun}J5^F#a|;<941k(8Wq-b^b)z4Np(ZJ-Xw|8o#Y` zS(1h4a!lm?GF&Iw89ODO2>{&{u|oNS8?PqcgQSFngb%YP$SGKt&f+&?t-JX$ z+D!D!orWjXO)r^Lxx})w*B(kW>}(L7pYrBv_B#VJFOD3o89N)Dx;rmV&hl=%2o0$i aMh1bNyvawtzuf~2Rt8U3KbLh*2~7b0KbcDa literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-3.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-3.png new file mode 100644 index 0000000000000000000000000000000000000000..44c775f06c3cb15ac32f646fab4cf7897882527c GIT binary patch literal 553 zcmV+^0@nSBP)Px$<4Ht8R9J=WlfP>eK@`WoC$U*%OIJ9&G(#>VVT*(9=0LEp8A9L`LD*_JLM{eu zuCz*N6ND^?ULjW;8W%*SwFqu^u*HEA!!|hymu>G4$Xd8h#?4%ErV(U5Ffc#fo9}nu zz5xsdgTe5Rsi=!bufJ^2TyVAp0E>6*)%_32Q(6N+&9T?QDCw%XomS(;IGY~HIPD3} z0vV^h;>aqC9<-ZpXueQBB%zvPuY^&uqwdK#eJeN%Dx+bw)ACNo+4P9=NW6$669d7S zFXOcT*A>uU6=s6P?E8IPK<;{{MP(?~mvP$fv>Ll%lsuoS0<(mPnqw~`(+5^Y!>Zu* z!}7i=US_5N!PyS*tDMSS5JpK?@cQSPV=q@m!>XE-yWT`zBBtX;X>HL^g-Kk-Y46_c z^8f(CDCy>|H_2UZa^lnvbJv@Uv+1$m%vW-J8m0SxbLB4(oCQEpdH}bUmLTJF0KlTs z3eJ3WzWuPVdvZ2CE;ZkU*8p5>!Y4WdR1NCv^}S7PvwnK^>Z6iJU%epX^qm@a&~Cn* z+ko=E2LQ0Xx4Ch5KNLCxKejtkH37g9oIM5r)x=B#{neHCntQdSyMmjS9r|CtJ)rp? rJy3Rk4dMB6+RbZRZ7>)N|0_QMUf{?Y5MX%W00000NkvXXu0mjfq0Iox literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-4.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-4.png new file mode 100644 index 0000000000000000000000000000000000000000..cb94f03f9ada9a30fbaddb541a1ccb3b830f9db6 GIT binary patch literal 682 zcmV;b0#*HqP)Px%WJyFpR9J=WlRsz^Q5?s=sVzutf;jYy;c}rKq!m2%(xXd4ARV$C?GS5Sibz|~ z8{9f{sG$^G9BtDfc923r(hQXY5sV-`r!)})=1;jL$w_h!rNpR1pyyzooaLkn1qbf~ z2fz2;z4!h8e((1H8yg!Nn}3YMJa|@W90Gu>s5>_!!?(BJl z^{uA2iU7dqm2ra;J_3NFko8n4e}>U3<5kL^0RS)M8g>-29sn>np$-5wy;YPIbzKay z_dA`VfbWv)8~~`=Vfo&5`i7-}spRe)07x-@#Zkz*|GuCnQ>FZ`?u@vjWZY|B6oc$c zH%qs{2@MjThA^oNx>dC_AS>$TkLb*t#GRfv05}R+8UVb+h?M~V{Qw}v_{Gz{0@6c? zbbjHt2E-scO$=KdQlKi zv2rX1+37?&|H$BkCdqtlJHI3=>ZTSFa`ak4#304AHO)yr0MJ50uBNwCbLKU@RW_e3 z#rVhO@h_#`Q`I&AlqM(M(ed~d3{o^c>Gk^ZGU?oom0>d@J1@fReC_}M2Kc~*(&WU; z4 QZ2$lO07*qoM6N<$g5r8T(EtDd literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-up.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/glass-up.png new file mode 100644 index 0000000000000000000000000000000000000000..818cb9fb2a58604e9f052242e6cea40e30d974c9 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R})}AhoArY;~ z2@|Fz}UUA%p9_Wk(oI zHqMY>53t?QS;(+f_h^8BmXgZ#q&Zb53K^!~Zz)-Gvo!eN8QvpNK7GtPB!J+L+7k8? zesiBS`!>dx{Sq^A7vRyH(v-1r+cm8ivB?|}A3cx7?S00Vytsv7<+|fc9hWC(dAD7J dIw^*cp_yAeDu3^;*FYyTc)I$ztaD0e0su>ER?7eY literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/locked.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/locked.png new file mode 100644 index 0000000000000000000000000000000000000000..641150be228d309145d74f9295489c00e1fc2b8b GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzeNPw1kcif|XBRRuDDbdsJQO!~ zUp1p#WV6CV^?%F^4cFbC*QdVQeRkC~F^2iw9n8T6EKJT59~}c~W$<+Mb6Mw<&;$U2 CyC56@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/meta.json b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/meta.json new file mode 100644 index 0000000000..a32bc8c8c8 --- /dev/null +++ b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/meta.json @@ -0,0 +1,50 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Inspired by tg station\u0027s fireaxe cabinet https://github.com/tgstation/tgstation/commit/d0d81185f09ca30d3b0856d476544240dba0de53 Made by DISCORD@ps3moira#9488", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "glass" + }, + { + "name": "glass-1" + }, + { + "name": "glass-2" + }, + { + "name": "glass-3" + }, + { + "name": "glass-4" + }, + { + "name": "glass-up" + }, + { + "name": "locked" + }, + { + "name": "shotgun" + }, + { + "name": "unlocked" + }, + { + "name": "cabinet" + }, + { + "name": "cabinet-empty-open" + }, + { + "name": "cabinet-filled-closed" + }, + { + "name": "cabinet-filled-open" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/shotgun.png b/Resources/Textures/Structures/Wallmounts/shotgun_cabinet.rsi/shotgun.png new file mode 100644 index 0000000000000000000000000000000000000000..bc55a68675112ec524392a7fecf39aa6df1c66db GIT binary patch literal 396 zcmV;70dxL|P)Px$MoC0LR9J=WlD|p=K@f+(fXyY%LPQ7_UXh&1J;DVcAR&;#LSG>7AR;2Zf%+i6 zf!Nr%k8t_dg7|XtiH6Fzn24X6FYEhr{7;{1d+K>wdqlSM#Oc zG*n62Yv$2tYg>vA@?w zN=Xz&gstY<0pj6^u+`-9>N?9=KM>TaI;x~}x;?A#{_YllPPfNA83XWuZ@n=C0JNF0 zy|c?a8C&rtc|}UO{s*E;N+a+y5kn*R5Su4srjr?R>G6~<3L8o(0odAn17JFtSy9S` zC0-a{6(eSbgU^!)A@s%R3CCyWB_V{)Hqyg&R}VCowQQ*gEOw`_*rE_gV!