From 198933a513e332c6ef94ed0b217c7f93e069dff2 Mon Sep 17 00:00:00 2001 From: mirrorcult Date: Sat, 6 Nov 2021 17:12:42 -0700 Subject: [PATCH] Directional windows (#5195) --- .../Structures/Doors/Windoors/base.yml | 2 +- .../Entities/Structures/Windows/plasma.yml | 35 +++++++ .../Structures/Windows/reinforced.yml | 35 +++++++ .../Entities/Structures/Windows/rplasma.yml | 38 +++++++ .../Entities/Structures/Windows/window.yml | 97 ++++++++++++++++++ .../directional.rsi/frosted_window.png | Bin 0 -> 3135 bytes .../Windows/directional.rsi/meta.json | 35 +++++++ .../plasma_reinforced_window.png | Bin 0 -> 3627 bytes .../Windows/directional.rsi/plasma_window.png | Bin 0 -> 2656 bytes .../directional.rsi/reinforced_window.png | Bin 0 -> 3209 bytes .../Windows/directional.rsi/tinted_window.png | Bin 0 -> 3135 bytes .../Windows/directional.rsi/window.png | Bin 0 -> 2719 bytes 12 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/frosted_window.png create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/meta.json create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/plasma_reinforced_window.png create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/plasma_window.png create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/reinforced_window.png create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/tinted_window.png create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/window.png diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/base.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/base.yml index 41d320d298..72cd014647 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/base.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/base.yml @@ -10,7 +10,7 @@ fixtures: - shape: !type:PhysShapeAabb - bounds: "-0.49,-0.49,0.49,-0.2" + bounds: "-0.49,-0.49,0.49,-0.3" mass: 50 layer: - Impassable diff --git a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml index 9a6ad92a42..83f995cb33 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml @@ -40,3 +40,38 @@ trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi + +- type: entity + id: PlasmaWindowDirectional + parent: WindowDirectional + name: directional plasma window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + netsync: false + drawdepth: WallTops + sprite: Structures/Windows/directional.rsi + state: plasma_window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: plasma_window + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml index c67cc7975c..41fb98b181 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml @@ -40,3 +40,38 @@ trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi + +- type: entity + id: WindowReinforcedDirectional + parent: WindowDirectional + name: directional reinforced window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + netsync: false + drawdepth: WallTops + sprite: Structures/Windows/directional.rsi + state: reinforced_window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: reinforced_window + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassReinforced: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml index d7aae424fa..f7e8ae55ed 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml @@ -43,3 +43,41 @@ trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi + +- type: entity + id: PlasmaReinforcedWindowDirectional + parent: WindowDirectional + name: directional reinforced plasma window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + netsync: false + drawdepth: WallTops + sprite: Structures/Windows/directional.rsi + state: plasma_reinforced_window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: plasma_reinforced_window + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 600 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + PartRodMetal: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/Entities/Structures/Windows/window.yml b/Resources/Prototypes/Entities/Structures/Windows/window.yml index cd8ae21fbd..1e5b09d24e 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/window.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/window.yml @@ -65,3 +65,100 @@ trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi + +- type: entity + id: WindowDirectional + parent: BaseStructure + name: directional window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + netsync: false + drawdepth: WallTops + sprite: Structures/Windows/directional.rsi + state: window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: window + - type: Physics + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.3" + mass: 50 + layer: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + mask: + - VaultImpassable + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Airtight + noAirWhenFullyAirBlocked: false + airBlockedDirection: + - South + - type: Window + +- type: entity + id: WindowTintedDirectional + parent: WindowDirectional + name: directional tinted window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + netsync: false + drawdepth: WallTops + sprite: Structures/Windows/directional.rsi + state: tinted_window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: tinted_window + - type: Occluder + boundingBox: "-0.5,-0.5,0.5,-0.3" + +- type: entity + id: WindowFrostedDirectional + parent: WindowDirectional + name: directional frosted window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + netsync: false + drawdepth: WallTops + sprite: Structures/Windows/directional.rsi + state: frosted_window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: frosted_window diff --git a/Resources/Textures/Structures/Windows/directional.rsi/frosted_window.png b/Resources/Textures/Structures/Windows/directional.rsi/frosted_window.png new file mode 100644 index 0000000000000000000000000000000000000000..bc89b9157fb700c48f0245bf8f24513de3720d11 GIT binary patch literal 3135 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 IH*G`y2XdJEp#T5? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Windows/directional.rsi/meta.json b/Resources/Textures/Structures/Windows/directional.rsi/meta.json new file mode 100644 index 0000000000..af51bc437f --- /dev/null +++ b/Resources/Textures/Structures/Windows/directional.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "tgstation at ff1c30ac123dd28c6b5fee11e7f03654f5daa731, plasma windows from paradise at 44c12c6d9d0e42a9d3a582dff7e9a8d72b6ea68a", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "window", + "directions": 8 + }, + { + "name": "reinforced_window", + "directions": 8 + }, + { + "name": "tinted_window", + "directions": 8 + }, + { + "name": "frosted_window", + "directions": 8 + }, + { + "name": "plasma_window", + "directions": 8 + }, + { + "name": "plasma_reinforced_window", + "directions": 8 + } + ] +} diff --git a/Resources/Textures/Structures/Windows/directional.rsi/plasma_reinforced_window.png b/Resources/Textures/Structures/Windows/directional.rsi/plasma_reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..f140e88a24694754bb33fc4f570681461311a7dc GIT binary patch literal 3627 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Windows/directional.rsi/plasma_window.png b/Resources/Textures/Structures/Windows/directional.rsi/plasma_window.png new file mode 100644 index 0000000000000000000000000000000000000000..8a94974793977b06ba19a9280024303fae62ce5c GIT binary patch literal 2656 zcmaKuc{~&TAIGOLM^TEDx%FjkGg(S=&DCPf5xGhhmGF&k&N&+8h$Q#9PzX)R&5&Hp zF&62-GR<5~=E$`8uHX0n-yiSK`|*B!p6~bT{dqq=kH_bebivL_R76??004;ESR?Iu z{>mQ{0`XRQZs;kV6aL%!QZN7@*7L{svNXiN0D#D08>FdYSmAfK;Rje}$NEWFRia$Pl6Lz#1@hW0V$;s6VP6Z$NVV_EGbO$N;DuD>5%w|(;4uF!nTk4_iA z!=0Us;a+Uts+imh6P^4d8w=@5n2qz~vL|P@qyqOt+q1D?$?-7X%+1%v+;4_;0wz|c zjL8`VP`V0Bi6L7d#dKF+ znb8$KY^B>jT$TkX=6Mq|Zklf(t`5~#3CQm+FvF>0du7^RKmp!jRD}rmK21;GPykyQ z!Ozk4^dkiBtH$1HrMf1Z0>wiYR3hN`k|W*#a#x6iC(<#%yib*{4Y>2L2$)+J41k4* zUFjR)8~SJ%d;E-`t~V3lvm(=#^8YpuycfLcnB%o$l0xsJmUB_?TTf}*wj9KvvgWa= zOhLFB8=q~!aO;7fhG7Ll0Hr*6P*>Gp(wU3OHJd26vGRF$M132?Wtk#c*H;P|v zl&B%jOQ()4TO1-zteMV};bLTZ$>!R{LKkEf1bu4^7ad(Y!2CIARE+Xy zh*P~oUwwa8=3ueju6tS*)SE%br>Rjh;IGp!G>FSqaEUbnv))4$9Z?r{e}>9;bMi}j zC(;*W5T1ka^fV>ZDhio#0{H1PJsy5QS~Bh3A-ugny&$l7d)U& zi9t6>&^85Hee*I!zvA6hloy2q86L=7FxwUv`2 zBuQ_q!{;Bsiov2%8Ka8&QY4F9mwzgNvm$oLO97b|648|Fklp+3K)Rr^kqz)8IL!Kn zp*zQ~;pr)=`MGP}k7b?aR4jhJE&(A`02QSq3#OKE!H9WP~ zoDB45zzWjwse~_8cyUFuHU+{opYlmdI9%c`h#^-6s*B#bX41Yc-y^EFtx|ugZ z+7x-XoXdH|D|9oW_z=^yG2*f)q&xywi6ZcHIpVF*d=sS?dyi!+IU_Y^I%9v^_=S>IewR2 z&Q^2E&IKgp#(ginubSbe4*Z^U_F^Hs?JMAlQ7cw0mp&`grrSG6>knMvSh-1gK!C+BuEI=1}Ob?&*kBFmMPQ91B6#BQpgN<${(U*WeRy5GCL<*u+Jp-ctW-bL&i2YaHtVZL zK!#VT1>3*mXm?qi{IDo~Py1=if44zPuKH1lm~%=0j#Ez~TYR8xT%ua3_L)&iHMqa% zF>gpU_$GjgzCUB`Ny31~Go#Wp%~AKQR8ZHJ7xeV`g!M=V)M_7W*{9ttgC;5%KYPe6 zG_`tx=Gz+Oh)}XQ?C|ZGJfy&bu(ax+&hbh8X_%$HXMS^kLC%95UGnOE;6h|ZfBnbE z&j+ZgLvj=EQ1CLg>(bfePp$QC&vA(z_t|UL@`kIQzDRiWGVhk9aRFERRBZVYRkHs> zXk>mV+DQph)NUS=pzj|uqB(D)Cu23oSRC!~uE$)WQO9G_g2K3K{bHWUp}&vzmm4`rOGrzSYHy-SN5g!eR0_vDCL1j2ef=mjNvB8*xbjqZg&SOXH28`GDfcaCK{&($TN6T)u zY>_7A5q2%(;GV2qWryVK2vwUJ;&d8%Rl@1JzlHEViD3iD<6BYZAUWLzbAop%F!7QR zBS6gO^c z;w5Xg-bDXl?ia{Yvx`=~<;#<| zv_LIFc|BzT|A<+-KV)g~BB;P-_MbykKS8Xo3&76PcHq)$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Windows/directional.rsi/reinforced_window.png b/Resources/Textures/Structures/Windows/directional.rsi/reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e089358dee5ad6e2e878e957e293714a29ffcd GIT binary patch literal 3209 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 IH*G`y2XdJEp#T5? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Windows/directional.rsi/window.png b/Resources/Textures/Structures/Windows/directional.rsi/window.png new file mode 100644 index 0000000000000000000000000000000000000000..f4218639f36d1ee4f96df4db46e1396983d3fa0d GIT binary patch literal 2719 zcmV;Q3Sjk#P)0*QC{Gul6*FNik;>Oa<%&$rU-Pl|W;?CyMX&UY@~<#$e8OaQL@_!lb@a<9Jm#}`e>dRiS>zPJMT!Jd2N z*ZKRVW24{e!?G0C?Tt( zWm!}e>#&^Uiz|S^50)ee&Yzmay^Y84YA&2ORE?)VjoJ%iv}$(#8^^Ls_t*_W%-3s( z3d(A_)cCfe6cEz=x|WMmzJtv{1PO2*=lmKvgHUw>#zZJUJ(%a?H1=@i%0XRP zf@yFE<2v49(W}-}0fzB-cOPsRw_UxWO%-4e+~+elB}mJr3NQ@itDu2FI6-D; z)!=ZLB^?S=1sK90^*h*0|I_knUOrWTL9i8c`a}z}o~vS4jHv<)!A^rEPde*U1(*W0 z|6IF1Qan|FAw*Gx?QRc`cJ@o$;lDlhQ(Tstp(v1Qux_b*6>TJz25m z&nzfrf@PQ%B8_^=_SoJZD0&RPXD9{y@5HF3qlr=YY+}@=?}-qjB*7z}JKwE;-&NeC zj2@GZfTt0oP@w;5YM@rk`ul4~Py?Ha8o2SnJyjNQ?mwpnCg_5xfo|m*KLa=V7IpMa zu$!0VBOv=ikrA$gx#J*3q*mpW#-8 z7$u3L+W49DbZPFq31oGYlFx99+;tun*{ezJ{P~~!MqM8ahld};n%l2dcz&ip+gLfH z%&|xARV!FlL;79Kanj$=b)%uKdqW)zYt+z0ujnqs?tBZ;&`@$l-*@R|?3u>+A!t z8QN@&<}Swx_8Cq(G3LS@{Pmqaq97p8G1kMJ9yW<0*vgC4X7K$F*Wo1VrF%ql51*XH zknHWX56DbT^u7QEm4%|ogBtjI&$qC$-lh9n6CqzIAmgsH1Lmb3t4UaD?sf6q7rudy z{5oKOD#XSKfI2 zwM#$!9c-Ec+O*jEegk_uhwGfA{IVaA$Og!48hKmYKJ0qq*ze8rZ+?A5H6`ThQVuoP zI_M^WYzp|#r(0u{!y%EK{hqp>IWda|6CgiV3kTac;>lrW)4ON`@;w@~;4Pj!LA~%H z4OIu@fJJrNrXC)XJ>D%%L2~kQ1@I9?&DpHk~%fOpzQHW$uB8@6Dhn2+O!I|^86s*`PSF*=ap5A z13pW3PvlrSkFphNEo$)@&lSK)b!Ilm*gzVa-2-eN1Y?^5 z!Z^a_-oZr4&lSLj9cfxg?MQ;vIN>=CmRJ5s4#^@sYdj;cLG$jrfBzSCvQ{a3B`H6T zhN_dMWM&?PfGmS?lC}C|cSjM&O1@HnpAI?p1Ng8b)5zri@XELG=KFWYB7=K4 zM`4zh&SCutKR{BxQh=AfVLw1(5CpX5`A#a|8jlweq@2_X&n@8U6AF-&uN1(i3-SSX zOeK^+l0*m-a#HHGvC5fgH(@*0hzTkwUoXOzK3$M`oRU@$&yng_$1&RgN7Ye6zFvgW zGn^PKpXuZ#VOb91VNiOomtOrD-hSit*N)@(Y^gSp6EH-iaJ}#@u&zDB7fU5HIrIDW(R8@YyG*VVXb@}xh0s`2xsQR)U& z`O+v^K~?1E zOCya1RhOSHjr72#>hklYkp^F?%g>jFQb3jY`O+x;{{dCx=SyQE{{H}J`I2y}&d-N1 Z{tFg(_m|mXgP#BZ002ovPDHLkV1h;eM}PnT literal 0 HcmV?d00001