From 32ce8f2164e6a28e2b84ba8a9630041c505f694e Mon Sep 17 00:00:00 2001 From: Jaraten <116667537+Jaraten@users.noreply.github.com> Date: Sat, 10 Aug 2024 03:10:22 +0500 Subject: [PATCH] directional window (#401) * pu-pu-piri-pu * fx remove --- .../Structures/Windows/directional.yml | 86 ++++++++++++++++++ .../Windows/directional.rsi/default_glass.png | Bin 0 -> 888 bytes .../Windows/directional.rsi/meta.json | 19 ++++ .../Windows/directional.rsi/wooden_frame.png | Bin 0 -> 478 bytes 4 files changed, 105 insertions(+) create mode 100644 Resources/Prototypes/_CP14/Entities/Structures/Windows/directional.yml create mode 100644 Resources/Textures/_CP14/Structures/Windows/directional.rsi/default_glass.png create mode 100644 Resources/Textures/_CP14/Structures/Windows/directional.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Structures/Windows/directional.rsi/wooden_frame.png diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Windows/directional.yml b/Resources/Prototypes/_CP14/Entities/Structures/Windows/directional.yml new file mode 100644 index 0000000000..98ae08977e --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Windows/directional.yml @@ -0,0 +1,86 @@ +- type: entity + id: CP14WindowDirectional + parent: BaseStructure + name: directional window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: WallMount + arc: 360 # interact despite grilles + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmack + - type: Sprite + drawdepth: Mobs + sprite: _CP14/Structures/Windows/directional.rsi + layers: + - state: wooden_frame + - state: default_glass + - type: Icon + sprite: _CP14/Structures/Windows/directional.rsi + state: wooden_frame + - type: InteractionPopup + interactSuccessString: comp-window-knock + messagePerceivedByOthers: comp-window-knock + interactSuccessSound: + path: /Audio/Effects/glass_knock.ogg + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.32,0.49,0" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: ExaminableDamage + messages: WindowMessages + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Airtight + noAirWhenFullyAirBlocked: false + airBlockedDirection: + - South + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: Structures/Windows/cracks_directional.rsi + - type: StaticPrice + price: 10 diff --git a/Resources/Textures/_CP14/Structures/Windows/directional.rsi/default_glass.png b/Resources/Textures/_CP14/Structures/Windows/directional.rsi/default_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc4133314287ee891f17241241e1b8926dc1af6 GIT binary patch literal 888 zcmeAS@N?(olHy`uVBq!ia0vp^4nVwsgAGXT(ankhQjEnx?oJHr&dI!FU|=@#ba4!+ znDch-{=6#=0`1dJu$o@=T)tamVn&dwiHQyCl@P&4ni>^64+I^&*quB?8W=byYNbv% zr>^Zj*-DjnpT)OZyR+A)e|z-)^`p;KX?51W({(D7d4Se1_)NCG#b;Ah^vC(~zFiFK z?f+zPY&aJlmn(ky?*p^1+ad$B8Dknln%BjD7hHJHPLlB#Ti)*FZzH#*ui$UIU;l5_ zImTC#1)pAKKaPsaiFzM@EHDgVPpS1-4QjVHT%L-))TQAiV0 zQFeH9a;;bBhFujWIRw1c=mdx_km}Ipp7uGiVA+lquPjNEXHhK@)r{dEDmQxiH%xk3 zBQ{0$*bme~B-SOIvtxh5HgSn>J+ScXuyo~p6-?B9{`ToBD zJe#ar_S`Tza_1c5x}Z&7wgT~n*M6Q_y+&5}x!r=(2agurmuz@FuXNw0E|Zj4`AcTi z1@#wqWb78}dT;!Tr*TH~!!u$1{D~)iyt#5`_4{A%A3bt9 zGk^8z6VeMO%-SdN@bqnS{^VZ*Udci^t7qqHUo30dt#yl+ao4M7GkPL_w+pEyt zTgV|GHN*d7((V52P0xdkcYoluS$ai(=S0R_zG>Rc@3{i&{kj^bf0@Nx6TE%(^s^u4i?mwOuU>L%m5`L_9>Wci<+G!`JRNa?I z-c)5P$9#X*zgI@OhM=fL0}sj+%cflG4u8LG{>%L}-){U`yWqU-M$bnKtiDHBIDY2D zeG;xVa<~+6VrD~7M|#8S2DVHIrdxa&%?x1T5?kzZ9#3aB4@s_y(7S^nR&!n9n{6-l-?Fl|mi=N4_wRv#e~fqUneBL*rdA+k?qgs*Bt-IAS?!+0Eb82+lv?{z~|Z>#ofMzB}S{_Y)@et9f88^^b3B&8tU$9t;QwC7T@8<$o7?Zs-9B;ear5t2UCQDNZr$s6 zW4&+Zdh>~MuY3IAx>3JBQvTjjzej0y4Vypj-X&qW)%4AG37=b$wfpBiV_vap)|Sga zv})C@+p=Xl&c8W1FEqP=MJ%@O_VM%4hp$fk{+gYc;lpKxyZ!Z6w!QZzXRO-vw_?_B z#+P+AYdya|&h))nwE9M>#OJr~tSWMLJa?Y4C3vp|#C{?3@@23k;I6rW!P&YC7qjZGc)e*)@jeh z?9+Y4t2iIL`Lk}_x4QifFK<8nRPglqnwL)R-5>Z*UMd{Cyt>-T=KrkKp=+3d?yFcS XZy}R!60vG66Ueomu6{1-oD!M