Canisters [ Continuation of clement-or #2544 ] (#2628)

* Added atmos sprites from CEV-Eris

* Moved canister sprites to appropriate dir

* Removed unnecessary sprites, edited canisters prototype

* Created Gas Canister UI and release pressure buttons

* Changed GasMixture's pressure calculation (convert liters to cube meters)

* Added relabeling Canisters

* Reverted changes on GasMixture

* Changed my name in the credits

* Added valve opening on canisters

* Change canister visual state when connected to a port

* Added nullable to SharedGasCanisterComponent

* Replaced nullable contexts

* Changed again nullable annotation context

* Moved name in the credits to correct alphabetical order

* Canisters: Fix the most blatant issues with this PR (the added project interdependencies for no reason whatsoever)

* Canisters: Stop crashes when canisters leave atmosphere

* Canisters: Gas released into no atmosphere gets transferred "into space" (deleted)

* Atmos: Nullability annotations on TileAtmosphere, explaination of the states of TileAtmosphere.Air

* Canisters: If in an airblocked tile, do NOT release gas

* Scrubbers: Fix typo leading to them not connecting properly.

* Revert manual changes to credits file (sorry!) (1/2)

This reverts commit 94f3b0e5df8d9c2fa189866a17a231920f99bdaf.

* Revert manual changes to credits file (sorry!) (2/2)

This reverts commit 1986fb094dfaa44060f08d280f36b755258d17a6.

* Canisters: Apply @Zumorica 's reviews

* Canisters: Add missing localization as suggested by PJB

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Canisters: Pressure lights!

* Canisters: Light is now unshaded.

* Canisters: Now using IActivate

* Gas canisters (& air canister), now with their numbers properly calibrated (hopefully)

* Canisters: Refactor how their layers are added to be more like ApcVisualizer

* Canisters: Clean up of the tile invalidation/air release logic

* Canisters: Some gas canister window improvements

* Canisters: Clean up release pressure change button label code

Co-authored-by: Clement-O <topy72.mine@gmail.com>
Co-authored-by: Clément <clement.orlandini@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
This commit is contained in:
20kdc
2020-12-08 19:45:24 +00:00
committed by GitHub
parent 2b6964746c
commit 58af9003e7
38 changed files with 1055 additions and 21 deletions

View File

@@ -18,12 +18,101 @@
- type: GasCanister
- type: Anchorable
- type: Pullable
- type: UserInterface
- type: Appearance
- type: entity
parent: GasCanisterBase
id: GasCanister
name: Gas Canister
description: A canister that can contain any type of gas. It can be attached to connector ports using a wrench.
components:
- type: Sprite
sprite: "Constructible/Power/apc.rsi"
state: apc0
netsync: false
sprite: Constructible/Atmos/canister.rsi
state: grey
- type: Appearance
visuals:
- type: GasCanisterVisualizer
stateConnected: can-connector
stateO0: can-o0
stateO1: can-o1
stateO2: can-o2
stateO3: can-o3
- type: UserInterface
interfaces:
- key: enum.GasCanisterUiKey.Key
type: GasCanisterBoundUserInterface
- type: Physics
mass: 25
anchored: false
shapes:
- !type:PhysShapeAabb
bounds: "-0.5,-0.25,0.5,0.25"
mask:
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- MobImpassable
- VaultImpassable
- SmallImpassable
# Filled canisters, contain 1871.71051 moles each
- type: entity
parent: GasCanister
id: AirCanister
name: Air Canister
components:
- type: Sprite
sprite: Constructible/Atmos/canister.rsi
state: grey
- type: GasCanister
gasMixture:
volume: 1000
moles:
- 393.0592071 # oxygen 21%
- 1478.6513029 # nitrogen 79%
temperature: 293.15
- type: entity
parent: GasCanister
id: OxygenCanister
name: Oxygen Canister
components:
- type: Sprite
sprite: Constructible/Atmos/canister.rsi
state: blue
- type: GasCanister
gasMixture:
volume: 1000
moles:
- 1871.71051 # oxygen
temperature: 293.15
- type: entity
parent: GasCanister
id: PhoronCanister
name: Phoron Canister
components:
- type: Sprite
sprite: Constructible/Atmos/canister.rsi
state: orange
- type: GasCanister
gasMixture:
volume: 1000
moles:
- 0 # oxygen
- 0 # nitrogen
- 0 # carbon dioxide
- 1871.71051 # phoron
temperature: 293.15

View File

@@ -34,7 +34,7 @@
- type: NodeContainer
nodes:
- !type:PipeNode
nodeGroID: Pipe
nodeGroupID: Pipe
pipeDirection: East
- type: PressureSiphon
scrubberOutletDirection: East