Blast doors & shutters (#4822)

This commit is contained in:
mirrorcult
2021-10-10 03:43:50 -07:00
committed by GitHub
parent 72d30724c4
commit 9b4e495c95
32 changed files with 325 additions and 37 deletions

Binary file not shown.

View File

@@ -0,0 +1,35 @@
- type: entity
id: BlastDoor
parent: BaseShutter
name: blast door
description: This one says 'BLAST DONGER'.
components:
- type: Sprite
netsync: false
drawdepth: Mobs # They're on the same layer as mobs, perspective.
sprite: Structures/Doors/Shutters/blastdoor.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Door
closeTimeOne: 0.4
closeTimeTwo: 0.4
openTimeOne: 0.4
openTimeTwo: 0.4
crushDamage:
types:
Blunt: 25 # yowch
- type: Occluder
- type: Appearance
visuals:
- type: AirlockVisualizer
simpleVisuals: true
animationTime: 1.0
- type: entity
id: BlastDoorOpen
parent: BlastDoor
suffix: Open
components:
- type: Door
startOpen: true

View File

@@ -0,0 +1,136 @@
- type: entity
id: BaseShutter
parent: BaseStructure
name: shutter
abstract: true
description: One shudders to think about what might be behind this shutter.
components:
- type: Sprite
netsync: false
drawdepth: Mobs # They're on the same layer as mobs, perspective.
sprite: Structures/Doors/Shutters/shutters.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49" # don't want this colliding with walls or they won't close
mass: 100
mask:
- MobImpassable
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Door
board: DoorElectronics
bumpOpen: false
clickOpen: false
autoClose: false
closeTimeOne: 0.2
closeTimeTwo: 1.2
openTimeOne: 1.2
openTimeTwo: 0.2
inhibitCrush: false
crushDamage:
types:
Blunt: 5 # getting shutters closed on you probably doesn't hurt that much
openSound:
path: /Audio/Machines/blastdoor.ogg
closeSound:
path: /Audio/Machines/blastdoor.ogg
- type: Appearance
visuals:
- type: AirlockVisualizer
simpleVisuals: true
animationTime: 1.4
- type: UserInterface
interfaces:
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: Airtight
fixVacuum: true
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: IconSmooth
key: walls
mode: NoSprite
- type: SignalReceiver
inputs:
- name: pressed
- type: ToggleDoorOnTrigger
- type: TriggerOnSignalReceived
placement:
mode: SnapgridCenter
- type: entity
id: ShuttersNormal
parent: BaseShutter
components:
- type: Occluder
- type: entity
id: ShuttersNormalOpen
parent: ShuttersNormal
suffix: Open
components:
- type: Door
startOpen: true
- type: entity
id: ShuttersRadiation
parent: BaseShutter
name: radiation shutters
description: Why did they make these shutters radioactive?
components:
- type: Sprite
netsync: false
drawdepth: Mobs # They're on the same layer as mobs, perspective.
sprite: Structures/Doors/Shutters/shutters_radiation.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Occluder
- type: entity
id: ShuttersRadiationOpen
parent: ShuttersRadiation
suffix: Open
components:
- type: Door
startOpen: true
- type: entity
id: ShuttersWindow
parent: BaseShutter
name: window shutters
description: The Best (TM) place to see your friends explode!
components:
- type: Sprite
netsync: false
drawdepth: Mobs # They're on the same layer as mobs, perspective.
sprite: Structures/Doors/Shutters/shutters_window.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: entity
id: ShuttersWindowOpen
parent: ShuttersWindow
suffix: Open
components:
- type: Door
startOpen: true

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1 @@
{"name":1,"size":{"x":32,"y":32},"states":[{"name":"closing","directions":1,"delays":[[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.4]]},{"name":"opening","directions":1,"delays":[[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.4]]},{"name":"open","directions":1},{"name":"closed","directions":1}],"license":"CC-BY-SA-3.0","copyright":"Tgstation at 97b4295aca9f31a750456e40730d05b5837e39fc","version":1}

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1 @@
{"name":1,"size":{"x":32,"y":32},"states":[{"name":"closing","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"opening","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"open","directions":1},{"name":"closed","directions":1}],"license":"CC-BY-SA-3.0","copyright":"Tgstation at 97b0.05295aca9f31a7500.0556e0.050730d05b5837e39fc","version":1}

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1 @@
{"name":1,"size":{"x":32,"y":32},"states":[{"name":"closed","directions":1},{"name":"open","directions":1},{"name":"opening","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"closing","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]}],"license":"CC-BY-SA-3.0","copyright":"Tgstation at 97b0.05295aca9f31a7500.0556e0.050730d05b5837e39fc","version":1}

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1 @@
{"name":1,"size":{"x":32,"y":32},"states":[{"name":"closed","directions":1},{"name":"opening","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"closing","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"open","directions":1}],"license":"CC-BY-SA-3.0","copyright":"Tgstation at 97b0.05295aca9f31a7500.0556e0.050730d05b5837e39fc","version":1}

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB