@@ -64,7 +64,7 @@
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: AirlockVisualizer
|
||||
animation_time: 0.6
|
||||
animationTime: 0.6
|
||||
- type: WiresVisualizer
|
||||
- type: Wires
|
||||
BoardName: "Firelock Control"
|
||||
@@ -113,7 +113,7 @@
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeRect
|
||||
bounds: "0.49,-0.49,-0.49,-0.2" # don't want this colliding with walls or they won't close
|
||||
bounds: "-0.2,-0.49,-0.49,0.49" # don't want this colliding with walls or they won't close
|
||||
mask:
|
||||
- MobImpassable
|
||||
layer:
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
- type: entity
|
||||
id: WindoorAssembly
|
||||
name: windoor assembly
|
||||
description: It opens, it closes, and you can see through it!
|
||||
parent: BaseStructure
|
||||
components:
|
||||
- type: InteractionOutline
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
drawdepth: FloorObjects
|
||||
sprite: Structures/Doors/Windoors/windoor.rsi
|
||||
layers:
|
||||
- state: assembly
|
||||
- type: Physics
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.2,-0.49,-0.49,0.49"
|
||||
mass: 30
|
||||
mask:
|
||||
- Impassable
|
||||
- VaultImpassable
|
||||
- type: Anchorable
|
||||
- type: Pullable
|
||||
- type: Rotatable
|
||||
- type: Damageable
|
||||
resistances: metallicResistances
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
SheetSteel1:
|
||||
min: 1
|
||||
max: 3
|
||||
- type: Construction
|
||||
graph: windoor
|
||||
node: assembly
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
|
||||
- type: entity
|
||||
id: WindoorAssemblySecure
|
||||
name: secure windoor assembly
|
||||
description: It opens, it closes, and you can see through it! This one looks tough.
|
||||
parent: WindoorAssembly
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
drawdepth: Mobs
|
||||
sprite: Structures/Doors/Windoors/windoor.rsi
|
||||
layers:
|
||||
- state: secure_underlay
|
||||
- state: assembly
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 600
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
SheetPlasteel1:
|
||||
min: 1
|
||||
max: 2
|
||||
- type: Construction
|
||||
graph: windoor
|
||||
node: assemblySecure
|
||||
|
||||
135
Resources/Prototypes/Entities/Structures/Doors/Windoors/base.yml
Normal file
135
Resources/Prototypes/Entities/Structures/Doors/Windoors/base.yml
Normal file
@@ -0,0 +1,135 @@
|
||||
- type: entity
|
||||
id: BaseWindoor
|
||||
parent: BaseStructure
|
||||
abstract: true
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.2,-0.49,-0.49,0.49"
|
||||
mass: 50
|
||||
layer:
|
||||
- Impassable
|
||||
- MobImpassable
|
||||
- VaultImpassable
|
||||
- SmallImpassable
|
||||
mask:
|
||||
- VaultImpassable
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
drawdepth: FloorObjects
|
||||
sprite: Structures/Doors/Windoors/windoor.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
map: ["enum.DoorVisualLayers.Base"]
|
||||
- state: closed_unlit
|
||||
shader: unshaded
|
||||
map: ["enum.DoorVisualLayers.BaseUnlit"]
|
||||
- state: welded
|
||||
map: ["enum.DoorVisualLayers.BaseWelded"]
|
||||
- state: bolted_unlit
|
||||
shader: unshaded
|
||||
map: ["enum.DoorVisualLayers.BaseBolted"]
|
||||
- state: panel_open
|
||||
map: ["enum.WiresVisualLayers.MaintenancePanel"]
|
||||
- type: ApcPowerReceiver
|
||||
- type: Damageable
|
||||
resistances: glassResistances
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 200
|
||||
behaviors:
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
ShardGlass:
|
||||
min: 1
|
||||
max: 2
|
||||
SheetSteel1:
|
||||
min: 2
|
||||
max: 4
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: AccessReader
|
||||
- type: Airlock
|
||||
openPanelVisible: true
|
||||
- type: Door
|
||||
weldable: false
|
||||
openSound:
|
||||
path: /Audio/Machines/windoor_open.ogg
|
||||
closeSound:
|
||||
path: /Audio/Machines/windoor_open.ogg
|
||||
denySound:
|
||||
path: /Audio/Machines/airlock_deny.ogg
|
||||
- type: Wires
|
||||
BoardName: "Windoor Control"
|
||||
LayoutId: Airlock
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.WiresUiKey.Key
|
||||
type: WiresBoundUserInterface
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: AirlockVisualizer
|
||||
animationTime: 0.9
|
||||
denyAnimationTime: 0.4
|
||||
animatedPanel: false
|
||||
openUnlitVisible: true
|
||||
- type: WiresVisualizer
|
||||
- type: Construction
|
||||
graph: windoor
|
||||
node: windoor
|
||||
|
||||
- type: entity
|
||||
id: BaseSecureWindoor
|
||||
parent: BaseWindoor
|
||||
abstract: true
|
||||
components:
|
||||
- type: Airtight
|
||||
fixVacuum: true
|
||||
noAirWhenFullyAirBlocked: false
|
||||
airBlockedDirection:
|
||||
- South
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
drawdepth: FloorObjects
|
||||
sprite: Structures/Doors/Windoors/windoor.rsi
|
||||
layers:
|
||||
- state: secure_underlay
|
||||
- state: closed
|
||||
map: [ "enum.DoorVisualLayers.Base" ]
|
||||
- state: closed_unlit
|
||||
shader: unshaded
|
||||
map: [ "enum.DoorVisualLayers.BaseUnlit" ]
|
||||
- state: welded
|
||||
map: [ "enum.DoorVisualLayers.BaseWelded" ]
|
||||
- state: bolted_unlit
|
||||
shader: unshaded
|
||||
map: [ "enum.DoorVisualLayers.BaseBolted" ]
|
||||
- state: panel_open
|
||||
map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
|
||||
visible: false
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 400
|
||||
behaviors:
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
ShardGlass:
|
||||
min: 1
|
||||
max: 2
|
||||
SheetPlasteel1:
|
||||
min: 1
|
||||
max: 2
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Construction
|
||||
graph: windoor
|
||||
node: windoorSecure
|
||||
@@ -0,0 +1,48 @@
|
||||
- type: entity
|
||||
id: Windoor
|
||||
parent: BaseWindoor
|
||||
name: windoor
|
||||
description: It's a window and a sliding door. Wow!
|
||||
|
||||
- type: entity
|
||||
id: WindoorSecure
|
||||
parent: BaseSecureWindoor
|
||||
name: secure windoor
|
||||
description: It's a sturdy window and a sliding door. Wow!
|
||||
|
||||
# TODO remove these with parameterized prototypes/whatever we end up doing
|
||||
# Bar windoor
|
||||
- type: entity
|
||||
parent: Windoor
|
||||
id: WindoorBarLocked
|
||||
suffix: Bar, Locked
|
||||
components:
|
||||
- type: AccessReader
|
||||
access: [["Bar"]]
|
||||
|
||||
# Chemistry windoor
|
||||
- type: entity
|
||||
parent: WindoorSecure
|
||||
id: WindoorMedicalLocked
|
||||
suffix: Medical, Locked
|
||||
components:
|
||||
- type: AccessReader
|
||||
access: [["Medical"]]
|
||||
|
||||
# HOP's office windoor
|
||||
- type: entity
|
||||
parent: WindoorSecure
|
||||
id: WindoorCommandLocked
|
||||
suffix: Command, Locked
|
||||
components:
|
||||
- type: AccessReader
|
||||
access: [["Command"]]
|
||||
|
||||
# Cargo windoor
|
||||
- type: entity
|
||||
parent: Windoor
|
||||
id: WindoorCargoLocked
|
||||
suffix: Cargo, Locked
|
||||
components:
|
||||
- type: AccessReader
|
||||
access: [["Cargo"]]
|
||||
Reference in New Issue
Block a user