Implement inflatable wall (#3703)
* Implement inflatable wall * Actually block atmos * Fix naming and add description * Add requested changes * Change prototype to field * Refactor checks to use existing methods * Fix PrototypeIdSerializer imports * Fix mass in yaml
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
Asphyxiation: 0
|
||||
Bloodloss: 0
|
||||
Cellular: 0
|
||||
|
||||
|
||||
- type: resistanceSet
|
||||
id: dionaResistances
|
||||
coefficients:
|
||||
@@ -51,7 +51,7 @@
|
||||
Asphyxiation: 0
|
||||
Bloodloss: 0
|
||||
Cellular: 0
|
||||
|
||||
|
||||
- type: resistanceSet
|
||||
id: metallicResistances
|
||||
coefficients:
|
||||
@@ -77,4 +77,31 @@
|
||||
Radiation: 0
|
||||
Asphyxiation: 0
|
||||
Bloodloss: 0
|
||||
Cellular: 0
|
||||
Cellular: 0
|
||||
|
||||
- type: resistanceSet
|
||||
id: inflatableResistances
|
||||
coefficients:
|
||||
Blunt: 0.5
|
||||
Slash: 1.0
|
||||
Piercing: 2.0
|
||||
Heat: 0.5
|
||||
Shock: 0
|
||||
Cold: 0
|
||||
Poison: 0
|
||||
Radiation: 0
|
||||
Asphyxiation: 0
|
||||
Bloodloss: 0
|
||||
Cellular: 0
|
||||
flatReductions:
|
||||
Blunt: 5
|
||||
Slash: 0
|
||||
Piercing: 0
|
||||
Heat: 0
|
||||
Shock: 0
|
||||
Cold: 0
|
||||
Poison: 0
|
||||
Radiation: 0
|
||||
Asphyxiation: 0
|
||||
Bloodloss: 0
|
||||
Cellular: 0
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
- type: entity
|
||||
id: InflatableWall
|
||||
name: inflatable barricade
|
||||
description: An inflated membrane. Activate to deflate. Do not puncture.
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/inflatable_wall.rsi
|
||||
state: inflatable_wall
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.5, -0.5, 0.5, 0.5"
|
||||
mass: 15
|
||||
layer:
|
||||
- Impassable
|
||||
- MobImpassable
|
||||
- VaultImpassable
|
||||
- SmallImpassable
|
||||
- type: Damageable
|
||||
resistances: inflatableResistances
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 20
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: DisassembleOnActivate
|
||||
prototype: InflatableWallStack1
|
||||
doAfter: 3
|
||||
- type: Airtight
|
||||
- type: SnapGrid
|
||||
offset: Center
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
@@ -0,0 +1,40 @@
|
||||
- type: entity
|
||||
id: InflatableWallStack
|
||||
parent: BaseItem
|
||||
name: inflatable barricade
|
||||
description: A folded membrane which rapidly expands into a large cubical shape on activation.
|
||||
suffix: Full
|
||||
components:
|
||||
- type: Stack
|
||||
stackType: InflatableWall
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/inflatable_wall.rsi
|
||||
state: item_wall
|
||||
netsync: false
|
||||
- type: Item
|
||||
sprite: Objects/Misc/inflatable_wall.rsi
|
||||
size: 5
|
||||
- type: SpawnAfterInteract
|
||||
prototype: InflatableWall
|
||||
doAfter: 1
|
||||
removeOnInteract: true
|
||||
- type: Clickable
|
||||
# - type: Appearance # TODO: Add stack sprites
|
||||
# visuals:
|
||||
# - type: StackVisualizer
|
||||
# stackLayers:
|
||||
# - coillv-10
|
||||
# - coillv-20
|
||||
# - coillv-30
|
||||
|
||||
- type: entity
|
||||
parent: InflatableWallStack
|
||||
id: InflatableWallStack1
|
||||
suffix: 1
|
||||
components:
|
||||
- type: Sprite
|
||||
state: item_wall
|
||||
- type: Item
|
||||
size: 5
|
||||
- type: Stack
|
||||
count: 1
|
||||
4
Resources/Prototypes/Stacks/engineering_stacks.yml
Normal file
4
Resources/Prototypes/Stacks/engineering_stacks.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
- type: stack
|
||||
id: InflatableWall
|
||||
name: inflatable wall
|
||||
spawn: InflatableWallStack1
|
||||
Reference in New Issue
Block a user