diff --git a/Resources/Prototypes/Entities/Structures/Doors/windoor.yml b/Resources/Prototypes/Entities/Structures/Doors/windoor.yml index c35ced8081..30daccab2e 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/windoor.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/windoor.yml @@ -1,44 +1,45 @@ - type: entity - id: Windoor - parent: BaseStructure + id: WindoorLeft + parent: BaseWindoor name: windoor description: It's a window and a sliding door. Wow! - placement: - mode: SnapgridCenter + suffix: Left + components: + - type: Sprite + state: left + +- type: entity + id: WindoorRight + parent: BaseWindoor + name: windoor + description: It's a window and a sliding door. Wow! This one is flipped 180 degrees. + suffix: Right + components: + - type: Sprite + state: right + +- type: entity + id: WindoorLeftSecure + parent: BaseSecureWindoor + name: secure windoor + description: It's a sturdy window and a sliding door. Wow! + suffix: Left components: - - type: InteractionOutline - type: Sprite netsync: false drawdepth: Mobs sprite: Structures/Doors/windoor.rsi - state: left - - type: Physics - fixtures: - - shape: - !type:PhysShapeAabb - bounds: "-0.5, -0.5, -0.3, 0.5" # i don't understand why these bounds work but they do - mass: 100 - mask: - - MobImpassable - layer: - - Opaque - - Impassable - - MobImpassable - - VaultImpassable - - SmallImpassable - - type: ApcPowerReceiver - - type: Damageable - resistances: glassResistances - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 200 - behaviors: - - !type:SpawnEntitiesBehavior - spawn: - ShardGlass: - min: 1 - max: 2 - - !type:DoActsBehavior - acts: [ "Destruction" ] + state: left_secure + +- type: entity + id: WindoorRightSecure + parent: BaseSecureWindoor + name: secure windoor + description: It's a sturdy window and a sliding door. Wow! This one is flipped 180 degrees. + suffix: Right + components: + - type: Sprite + netsync: false + drawdepth: Mobs + sprite: Structures/Doors/windoor.rsi + state: right_secure diff --git a/Resources/Prototypes/Entities/Structures/Windoors/base.yml b/Resources/Prototypes/Entities/Structures/Windoors/base.yml new file mode 100644 index 0000000000..b9c2dedd6b --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Windoors/base.yml @@ -0,0 +1,66 @@ +- type: entity + id: BaseWindoor + parent: BaseStructure + abstract: true + placement: + mode: SnapgridCenter + components: + - type: InteractionOutline + - type: Physics + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,0.49" + mass: 50 + mask: + - MobImpassable + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + - type: Sprite + netsync: false + drawdepth: Mobs + sprite: Structures/Doors/windoor.rsi + - type: ApcPowerReceiver + - type: Damageable + resistances: glassResistances + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: BaseSecureWindoor + parent: BaseWindoor + abstract: true + components: + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 2 + - !type:SpawnEntitiesBehavior + spawn: + MetalRod: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Textures/Structures/Doors/windoor.rsi/leftsecure_deny.png b/Resources/Textures/Structures/Doors/windoor.rsi/left_secure_deny.png similarity index 100% rename from Resources/Textures/Structures/Doors/windoor.rsi/leftsecure_deny.png rename to Resources/Textures/Structures/Doors/windoor.rsi/left_secure_deny.png diff --git a/Resources/Textures/Structures/Doors/windoor.rsi/meta.json b/Resources/Textures/Structures/Doors/windoor.rsi/meta.json index 5da1d96d43..2df8acd2c9 100644 --- a/Resources/Textures/Structures/Doors/windoor.rsi/meta.json +++ b/Resources/Textures/Structures/Doors/windoor.rsi/meta.json @@ -1 +1 @@ -{"name":1,"size":{"x":32,"y":32},"states":[{"name":"left_assembly2","directions":4,"delays":[[3,3],[3,3],[3,3],[3,3]]},{"name":"left_assembly1","directions":4},{"name":"left","directions":4},{"name":"left_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"left_open","directions":4},{"name":"left_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"left_deny","directions":4,"delays":[[1,2,1],[1,2,1],[1,2,1],[1,2,1]]},{"name":"left_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]},{"name":"right_assembly2","directions":4,"delays":[[3,3],[3,3],[3,3],[3,3]]},{"name":"right_assembly1","directions":4},{"name":"right","directions":4},{"name":"right_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_open","directions":4},{"name":"right_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_deny","directions":4,"delays":[[1,2,1],[1,2,1],[1,2,1],[1,2,1]]},{"name":"right_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]},{"name":"left_secure_assembly2","directions":4,"delays":[[3,3,3],[3,3,3],[3,3,3],[3,3,3]]},{"name":"left_secure_assembly1","directions":4},{"name":"left_secure","directions":4},{"name":"left_secure_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"left_secure_open","directions":4},{"name":"left_secure_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"leftsecure_deny","directions":4,"delays":[[1,1,1],[1,1,1],[1,1,1],[1,1,1]]},{"name":"left_secure_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]},{"name":"right_secure_assembly2","directions":4,"delays":[[3,3,3],[3,3,3],[3,3,3],[3,3,3]]},{"name":"right_secure_assembly1","directions":4},{"name":"right_secure","directions":4},{"name":"right_secure_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_secure_open","directions":4},{"name":"right_secure_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_secure_deny","directions":4,"delays":[[1,1,1],[1,1,1],[1,1,1],[1,1,1]]},{"name":"right_secure_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]}],"license":"CC BY-SA-3.0","copyright":"https://github.com/tgstation/tgstation/blob/3681006d7102045e334e8eddb23a8685fcdb258a/icons/obj/doors/windoor.dmi"} \ No newline at end of file +{"name":1,"size":{"x":32,"y":32},"states":[{"name":"left_assembly2","directions":4,"delays":[[3,3],[3,3],[3,3],[3,3]]},{"name":"left_assembly1","directions":4},{"name":"left","directions":4},{"name":"left_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"left_open","directions":4},{"name":"left_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"left_deny","directions":4,"delays":[[1,2,1],[1,2,1],[1,2,1],[1,2,1]]},{"name":"left_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]},{"name":"right_assembly2","directions":4,"delays":[[3,3],[3,3],[3,3],[3,3]]},{"name":"right_assembly1","directions":4},{"name":"right","directions":4},{"name":"right_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_open","directions":4},{"name":"right_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_deny","directions":4,"delays":[[1,2,1],[1,2,1],[1,2,1],[1,2,1]]},{"name":"right_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]},{"name":"left_secure_assembly2","directions":4,"delays":[[3,3,3],[3,3,3],[3,3,3],[3,3,3]]},{"name":"left_secure_assembly1","directions":4},{"name":"left_secure","directions":4},{"name":"left_secure_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"left_secure_open","directions":4},{"name":"left_secure_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"left_secure_deny","directions":4,"delays":[[1,1,1],[1,1,1],[1,1,1],[1,1,1]]},{"name":"left_secure_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]},{"name":"right_secure_assembly2","directions":4,"delays":[[3,3,3],[3,3,3],[3,3,3],[3,3,3]]},{"name":"right_secure_assembly1","directions":4},{"name":"right_secure","directions":4},{"name":"right_secure_closing","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_secure_open","directions":4},{"name":"right_secure_opening","directions":4,"delays":[[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2],[2,1,1,1,1,1,2]]},{"name":"right_secure_deny","directions":4,"delays":[[1,1,1],[1,1,1],[1,1,1],[1,1,1]]},{"name":"right_secure_spark","directions":4,"delays":[[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1],[1,1,1,1,1,1]]}],"license":"CC BY-SA-3.0","copyright":"https://github.com/tgstation/tgstation/blob/3681006d7102045e334e8eddb23a8685fcdb258a/icons/obj/doors/windoor.dmi"}