Airlock / firelock code refactor, pseudo-prediction implementation (#3037)

* splits off airlocks, firelocks

* adds airlock prediction. anims broken though

* fixes animation weirdness

* removes opacity prediction because it looked odd

* Now firelocks don't visually start open. Argh.

* Fixes firelock weirdness, saneifies _state var.

* Documentation changes, code shuffle.

* Lets firelocks crush people.

* Stops open-hand opening/closing firelocks.

* updates serializable, netserializable attributes

* Addresses reviews... hopefully.

* updates submodule?

* nullability

* fuck fuck fuck fuck

* fucking finally
This commit is contained in:
tmtmtl30
2021-02-12 07:02:14 -08:00
committed by GitHub
parent 5f15d97940
commit 258fdc10ea
17 changed files with 1248 additions and 733 deletions

View File

@@ -35,6 +35,7 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Door
- type: Airlock
- type: Appearance
visuals:
@@ -77,7 +78,7 @@
parent: Airlock
name: glass airlock
components:
- type: Airlock
- type: Door
occludes: false
- type: Occluder
enabled: false

View File

@@ -1,11 +1,11 @@
# Airlocks
# Airlocks
- type: entity
parent: Airlock
id: AirlockExternal
suffix: External
description: "It opens, it closes, it might crush you, and there might be only space behind it.\nHas to be manually activated."
components:
- type: Airlock
- type: Door
bumpOpen: false
- type: Sprite
sprite: Constructible/Structures/Doors/airlock_external.rsi

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: Firelock
name: firelock
description: Apply crowbar.
@@ -36,6 +36,13 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Door
closeTimeOne: 0.1
closeTimeTwo: 0.6
openTimeOne: 0.1
openTimeTwo: 0.6
startOpen: true
bumpOpen: false
- type: Firelock
- type: Appearance
visuals:
@@ -70,7 +77,7 @@
parent: Firelock
name: glass firelock
components:
- type: Firelock
- type: Door
occludes: false
- type: Occluder
enabled: false
@@ -83,9 +90,9 @@
parent: Firelock
name: firelock
components:
- type: Firelock
- type: Door
occludes: false
canCrush: false
inhibitCrush: true
- type: Sprite
sprite: Constructible/Structures/Doors/edge_door_hazard.rsi
- type: Airtight