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 0000000000..bc89b9157f Binary files /dev/null and b/Resources/Textures/Structures/Windows/directional.rsi/frosted_window.png differ 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 0000000000..f140e88a24 Binary files /dev/null and b/Resources/Textures/Structures/Windows/directional.rsi/plasma_reinforced_window.png differ 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 0000000000..8a94974793 Binary files /dev/null and b/Resources/Textures/Structures/Windows/directional.rsi/plasma_window.png differ 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 0000000000..d3e089358d Binary files /dev/null and b/Resources/Textures/Structures/Windows/directional.rsi/reinforced_window.png differ diff --git a/Resources/Textures/Structures/Windows/directional.rsi/tinted_window.png b/Resources/Textures/Structures/Windows/directional.rsi/tinted_window.png new file mode 100644 index 0000000000..bc89b9157f Binary files /dev/null and b/Resources/Textures/Structures/Windows/directional.rsi/tinted_window.png differ 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 0000000000..f4218639f3 Binary files /dev/null and b/Resources/Textures/Structures/Windows/directional.rsi/window.png differ