From 2a9fa67a7fef8c6f8f54d507c88fc4e399d1fd4f Mon Sep 17 00:00:00 2001 From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Sun, 11 Feb 2024 01:36:18 +0200 Subject: [PATCH] Glass box for antique laser pistol (#25104) * glassbox * fix --- .../Catalog/Fills/Lockers/heads.yml | 27 +++- .../Entities/Structures/Storage/glass_box.yml | 139 ++++++++++++++++++ Resources/Prototypes/tags.yml | 3 + .../Storage/glassbox.rsi/DamageOverlay_12.png | Bin 0 -> 578 bytes .../Storage/glassbox.rsi/DamageOverlay_4.png | Bin 0 -> 332 bytes .../Storage/glassbox.rsi/DamageOverlay_8.png | Bin 0 -> 413 bytes .../Storage/glassbox.rsi/caplaser.png | Bin 0 -> 557 bytes .../Storage/glassbox.rsi/glass-4.png | Bin 0 -> 377 bytes .../Storage/glassbox.rsi/glass-up.png | Bin 0 -> 158 bytes .../Structures/Storage/glassbox.rsi/glass.png | Bin 0 -> 238 bytes .../glassbox.rsi/glassbox-empty-open.png | Bin 0 -> 313 bytes .../glassbox.rsi/glassbox-filled-closed.png | Bin 0 -> 901 bytes .../glassbox.rsi/glassbox-filled-open.png | Bin 0 -> 796 bytes .../Storage/glassbox.rsi/glassbox.png | Bin 0 -> 313 bytes .../Storage/glassbox.rsi/locked.png | Bin 0 -> 116 bytes .../Structures/Storage/glassbox.rsi/meta.json | 50 +++++++ .../Storage/glassbox.rsi/unlocked.png | Bin 0 -> 119 bytes 17 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/Entities/Structures/Storage/glass_box.yml create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_12.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_4.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_8.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/caplaser.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/glass-4.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/glass-up.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/glass.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-empty-open.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-filled-closed.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-filled-open.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/glassbox.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/glassbox.rsi/unlocked.png diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index 973cbaba3f..714ba01582 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -48,7 +48,7 @@ - type: entity id: LockerCaptainFilled - suffix: Filled + suffix: Filled, AntiqueLaser parent: LockerCaptain components: - type: StorageFill @@ -72,6 +72,31 @@ - id: JetpackCaptainFilled - id: MedalCase +- type: entity + id: LockerCaptainFilledNoLaser + suffix: Filled + parent: LockerCaptain + components: + - type: StorageFill + contents: + - id: ClothingOuterArmorCaptainCarapace + - id: NukeDisk + - id: PinpointerNuclear + - id: CaptainIDCard + - id: WeaponDisabler + - id: CommsComputerCircuitboard + - id: ClothingHeadsetAltCommand + - id: SpaceCash1000 + - id: PlushieNuke + prob: 0.1 + - id: CigarGoldCase + prob: 0.25 + - id: ClothingBeltSheathFilled + - id: DoorRemoteCommand + - id: RubberStampCaptain + - id: JetpackCaptainFilled + - id: MedalCase + - type: entity id: LockerHeadOfPersonnelFilled suffix: Filled diff --git a/Resources/Prototypes/Entities/Structures/Storage/glass_box.yml b/Resources/Prototypes/Entities/Structures/Storage/glass_box.yml new file mode 100644 index 0000000000..bdb02d2bc3 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Storage/glass_box.yml @@ -0,0 +1,139 @@ +- type: entity + id: GlassBoxLaser + name: glass box + description: A sturdy showcase for an expensive exhibit. + parent: BaseStructureDynamic + placement: + mode: SnapgridCenter + components: + - type: Anchorable + delay: 4 + - type: Transform + anchored: true + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmash + - type: Physics + bodyType: Static + - type: Clickable + - type: InteractionOutline + - type: Sprite + sprite: Structures/Storage/glassbox.rsi + layers: + - state: glassbox + - state: caplaser + map: ["enum.ItemCabinetVisualLayers.ContainsItem"] + visible: true + - state: glass + map: ["enum.ItemCabinetVisualLayers.Door"] + - type: ItemCabinet + cabinetSlot: + ejectOnInteract: true + whitelist: + tags: + - WeaponAntiqueLaser + doorSound: + path: /Audio/Machines/machine_switch.ogg + openState: glass-up + closedState: glass + - type: Lock + - type: AccessReader + access: [["Captain"]] + - type: ItemSlots + - type: ContainerContainer + containers: + ItemCabinet: !type:ContainerSlot + - type: Repairable + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 7.555 + trackAllDamage: true + damageOverlay: + sprite: Structures/Storage/glassbox.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:EmptyAllContainersBehaviour + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassReinforced: + min: 1 + max: 1 + GlassBoxLaserBroken: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: GlassBoxLaserOpen + parent: GlassBoxLaser + suffix: Open + components: + - type: ItemCabinet + opened: true + doorSound: + path: /Audio/Machines/machine_switch.ogg + openState: glass-up + closedState: glass + +- type: entity + id: GlassBoxLaserFilled + parent: GlassBoxLaser + suffix: Filled + components: + - type: ItemCabinet + cabinetSlot: + startingItem: WeaponAntiqueLaser + ejectOnInteract: true + whitelist: + tags: + - WeaponAntiqueLaser + doorSound: + path: /Audio/Machines/machine_switch.ogg + openState: glass-up + closedState: glass + +- type: entity + id: GlassBoxLaserFilledOpen + parent: GlassBoxLaserFilled + suffix: Filled, Open + components: + - type: ItemCabinet + opened: true + doorSound: + path: /Audio/Machines/machine_switch.ogg + openState: glass-up + closedState: glass + +- type: entity + id: GlassBoxLaserBroken + name: broken glass box + description: A broken showcase for a stolen expensive exhibit. + parent: BaseStructureDynamic + suffix: Broken + placement: + mode: SnapgridCenter + components: + - type: Transform + anchored: true + - type: Physics + bodyType: Static + - type: Sprite + sprite: Structures/Storage/glassbox.rsi + layers: + - state: glassbox + - state: glass-4 + - type: Clickable + - type: InteractionOutline diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 4d85f488a1..8e94128ce6 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1160,6 +1160,9 @@ - type: Tag id: WallmountSubstationElectronics +- type: Tag + id: WeaponAntiqueLaser + - type: Tag id: WeaponPistolCHIMPUpgradeKit diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_12.png b/Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_12.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed908b6826c8a41841b0c2aed44360e134cae69 GIT binary patch literal 578 zcmV-I0=@l-P)Px${7FPXR9J=WmN7^IQ5eVn#YK&wMTIwb(BMH3E^Sgn6zw%RG~D9g6f`w-4ME`+ zH?%ZF*iu2Xm=Pk>q=ZYTL*PM0iCIBQ(9)m}UiR+ZdzRPIA4KrJ@B9Dmd*A!8YjN{r z4Sy&F02b!-fu8=sVK0q8UTcpBsnU}I03$>GsfTJUO9zBQ!DyjuCp!f&GUT5EaM;ay z*lBZGOn^e!PKHCl=uZmknrevr#sttc)hLwhBr8G0OxIMSRJq$}jVo2|c3NYZ03?}} z;1sWGszE-j=A?$MsYYL~@=iZfM2hobcyR=f#Dqh^=;O=VJ>bxRPKXAi2fQtSpAIOk zwg7(PmPiB8hHiU8^yUz8hmeSVYqurUI&eHm9YLXNCwc9cF$bC*c&OI16Jw(@5-c^B z_*;=$x$B!V08s3FF_H=RE)G(qeF=asGUKyx(@I-1IsSkTcD@*49>Gd%dYNY^YwlF@ z8^B6zdU<{OJmCspr7bf)8z<&8kdxN8&l4<&Z?}MFP9RMy&5aY0^de$)NTv&}0KBs& zMObmBm9|9kT>+emi%4X4Tmi^X@rpPZiOvrF4FFw}^BbAny`}Nhty8Ic+^)zA_yay% z9bY!~z}8XD6LX-^DSBW%`$IyDUR>P(P``in9D;Z%0AS~f5zh(!^{=Kr0a26v9nrov QWB>pF07*qoM6N<$f~XV#od5s; literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_4.png b/Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a50bde32ea637d4d66e76cd6f994ce09cc5df4 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^TBT9ewro`uzIF`q=~feR%K3)`H&G*~_O)64F?@+rq6*@m2jAfcbq{L_LCGwK}C za`|SuRVO_`!I10R{fZ4!W*t0#fPuI1x&D1QgUf-1%8vK5g{~$y1c$$Slav4il?A_M zy|v3+czE^p_;|N={1jdLH*66&+_iH$On0Z$laJOxQJKW5;n z@e^fNux_~%uplbdAuogH?5T_^jEB!N=Fi`^c=u5Q>qrS8kejnF&AVK@rzwzul|erz Wa)sxCKg)r^!{F)a=d#Wzp$P!S{fI>X literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_8.png b/Resources/Textures/Structures/Storage/glassbox.rsi/DamageOverlay_8.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b8f6f516324f9ff4758dd57f4e04d6b64e2fab GIT binary patch literal 413 zcmV;O0b>4%P)Px$S4l)cR9J=Wl_5{VKorOSG>0cEWGpiih>>7s=9)~=pb2V%FL2pcpp)38U!jPHC+$^vNA?H+)8E9+y~=AtqIqJ#yVcB@|* z0Eeg)pe$`y);PfS^%@7@5QPAAHmDMS&MC!UEk(iU7cJ zwVrj)PR=FrQpxy#n!mk20{~%R?7TEe3?S zqSOHVsqayja&r+#R=KAj3qmzll$KRoqzc;J0@aFC@)%_T@TM{iKmcHH*`+t5CoN4S zD+>Td4|AjDVx=qT0kL5%09b!~8;9VY1OQkVJH`oi+UZXl0bqm@oNnGV00000NkvXX Hu0mjfME0?l literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/caplaser.png b/Resources/Textures/Structures/Storage/glassbox.rsi/caplaser.png new file mode 100644 index 0000000000000000000000000000000000000000..4af9023cd0c9e802f602ee551d0e7ec7dfcc2a4d GIT binary patch literal 557 zcmV+|0@D47P)Px$=Sf6CR9J=WlTT|CK^Vq=>29+5BPb+`7&bzWOAnp`dyYb}x#=PViv=NIzeFxl zsP+TYFX2H$D_&cuduTmbHyR?ihDJ#sm;|$%C60%h;Kl96iaCf`XUF3%U23whpu_)04MljTC5dv|ZrY&1~PNdQ{S7LT{KE;J7{f)~$C z?00!u%_fbHO*HKqqrnhG9s%(3)oau%zZ<)*v7{&{sq;iMO%v^Q`>!d48G+c_+XuiK z|KN^kVi*PhmSv%;D&1}ufZg3^bUJ6OtmtfSKSh>hI-L$d4TMP`RxYp2A6>Cn#Pd8{ z*PUHJ%r3II`AF1iHR4hnS(ZsEN?`Gs!9wV|E_%HlqtS@*csxJ9zJ6aE92^3W&1P|3 z7u&Wk^bh?F!{Rtj%yFF1`lSW^g>Bp9aye90h4c8ut+fqta`Ki;CbOX3;t9lbT^9g5 vJ5M-0wE;Lf{)}zg@DC%6h=_=Y`0xAz<}t3-?nQhm00000NkvXXu0mjfwPNxI literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/glass-4.png b/Resources/Textures/Structures/Storage/glassbox.rsi/glass-4.png new file mode 100644 index 0000000000000000000000000000000000000000..acb2054a66f01a43ae5e547c98db81943bd24f8b GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv(mfq_xm z)5S5QVoq|RM1sMqhCucntAr1h38$Cd4zB$YvUz1Dr=9V~HU`Z;#+9rWcU*aF)Xf?z zxN+J-X|_krM?9w{cfP-KWybUb;ZJ{_-ex`$!B(uIR~Yofp-gxxM+%7aVG)2^UG2F>Dro!w_I{qrKz}^Q8jT7d26g)0(rj=18y!^z120xM0b^u!#2~ V%dd&MyMSTI;OXk;vd$@?2>^e4l6e3C literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/glass-up.png b/Resources/Textures/Structures/Storage/glassbox.rsi/glass-up.png new file mode 100644 index 0000000000000000000000000000000000000000..39a32dfef5c218fd9da5b79920a2ef6796327419 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}5uPrNArY;~ zIv+0nJa5p@(AwD8=olJU;h?j>_P_2CMjjxzIho(+(&bMpcYgaXDIp;-<3*;XnZc`u zK=vN1ge#29?--6XuIq6-s3F0+I6sxELj2-n54gZZ9at$TTQVp)?cgVtn8HjWK4F~JXy7&IglENK*c b%fL|eMf;1%zv9C{w=#IT`njxgN@xNA3sG5> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-empty-open.png b/Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-empty-open.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3bf591ca5d62d6434a459175a4a8783e9af0d0 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEQjb z#WAE}PI96|g2AhXK=vN1ge#1T`6Nmiyr*paRG-3V=;+rL{(k@EBStxCn;Td{MOz;- zZGXQ%b%WWYg`Lb7&a!7!?>LYJb}?A6|5JdPdUD zrF|xCvCQ*1+-1R*@Nlv7WO#C{V)yagd0^5`J070p{`E^%G8fhUcu-bbarn>yrd0wG z4m127e0h0XqozX2VV&T_n_E~u+!6?K7Z&H*@Jl9advit+qldkhp2f#W@-qxREN4vN zKDkxqrkvP}euphWx69iehu<^2Af(~V-T1chtK1=WhIdPn{HDIU#R>E_gQu&X%Q~lo FCIE({b}#?{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-filled-closed.png b/Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-filled-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..b558cf5212c681f9d39908c8262d0aea5cc40aa1 GIT binary patch literal 901 zcmV;01A6?4P)Px&KS@MER9J=Wl}m3MRTze!86RI}V$;}hF14FpNL&>VAR(a?K|>dSgu((AWswbg zulNO(y5tY=3s^wgRgqd%iquj<)0Ctnuz)61r8KUo?f4QWGxl7LyKpw5`s zaIo(*a8cb$)4z*-fPH{{fE@wc|M^aOX?`}nmFBk}XVMGP*SFNPhUipyZ(+_Ws(<~J zH?HUr01TrFfHIoGwk+nZO{Fz0#49J?`SKqF{BrX~+LaO-4SYTy^DmA7Af=0{`jFB^ zh~`aRuh&r&l}1Binze0f3-|8Tv#SpiEX~|_89)mP%(~+Vma`S!c=HslwD73`Z$1+4 zp;R^yqCq6wLuz!GO0kGfG}lzFRG6EeXX(3dy|2|;JMh*x?%k_rMK~l_{rwIfe|iQ0 z%a#QEn_DASsSyYq#j^h3=#j%%mW>bsDJ8aT1F&J#h=g_GeFyLh0g8g-I2=Bbz;#_> zJ^trv&tAJiI3!R$`sDM5cBq%s3w0J(B*Q&5Vo}`#xP1EolarGGxQ@*?=P!^jHQF{u2)Um# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-filled-open.png b/Resources/Textures/Structures/Storage/glassbox.rsi/glassbox-filled-open.png new file mode 100644 index 0000000000000000000000000000000000000000..48db8e88e598cda3e7e3d2d168f4efbe85d3e362 GIT binary patch literal 796 zcmV+%1LOROP)Px%)=5M`R9J=WmS0FyQ5?rVZr9Dbg}Q8-|3VWVM6n2lR}2CRB`@Gz9&i$R= z_sj3xbIye{Y0{)gvkltX+LV@-79~-P)oN858ygeGL?R>`c)9hGvL09iU>H<^>4H)K zzAnuJFrd}q@pzCVNimzv^!N8?B+8rce8+%TdS6ON)5_ zVG+@=L3wEr=g%F-J~f5jkOhFl?%-xe2a)+>a{~zZCXveWJaxc6cy3E0QDuAj>jlvze8Z6`nkLKu^zoM#smguCAi9^EQGI z|B1zFWn4R5qr_HVU}7O^(%`I1ZCflBLZJ|Tzn^U1BGbPF4jMyhTzh*vhihxO)zw9o zUQgi5q&m00rZ}$JN$rBVGLzbNd%di#uHyB2sV&G-#Ve0C^KIiby}iBU<>le``_Zg? z`fu)}w_&mrYCPcbpi44-TL!{Q;i9Ul3Q-gpoc#>IiRM;DM&4mG8o}q;mf>v~s4Fw! z7WV_t-QC6Hqz!<#!*kedwy34r6$1d-zC{4;UcVA&E)_H>&DufI1~d>pog$yRNvu}J zy{pHR+T8OzSW4CYkJaA@_8BM4ICn*GD~5*Vqx$MLj69a{d*ol5Y}K(Nx7FbuwcAh#U*wQ%agF6~%j_ a`hNfqy%slc>Gk{o00007!?>LYJb}?A6|5JdPdUD zrF|xCvCQ*1+-1R*@Nlv7WO#C{V)yagd0^5`J070p{`E^%G8fhUcu-bbarn>yrd0wG z4m127e0h0XqozX2VV&T_n_E~u+!6?K7Z&H*@Jl9advit+qldkhp2f#W@-qxREN4vN zKDkxqrkvP}euphWx69iehu<^2Af(~V-T1chtK1=WhIdPn{HDIU#R>E_gQu&X%Q~lo FCIE({b}#?{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Storage/glassbox.rsi/locked.png b/Resources/Textures/Structures/Storage/glassbox.rsi/locked.png new file mode 100644 index 0000000000000000000000000000000000000000..f5739c805870a0a1fc99f4fee29dcd5904470eaa GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}dY&$hArY-_ z&n#qQP~c(Ncqne}zG_CX*k*-7^?%Ah1rIh}lwEhG_WPQw`oC`(q~lna?#VZY~6>gNOPvQWosaTWJUc0sS`wHW~U$-+W%CRsl>O8*$ PD8bgTe~DWM4f6x<{x literal 0 HcmV?d00001