Add inflatable door (#6393)

Co-authored-by: fishfish458 <fishfish458>
This commit is contained in:
Fishfish458
2022-02-08 15:54:14 -06:00
committed by GitHub
parent 91a9d474c6
commit 997a500fc3
25 changed files with 375 additions and 67 deletions

View File

@@ -32,7 +32,7 @@
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DisassembleOnActivate
- type: DisassembleOnAltVerb
prototype: InflatableWallStack1
doAfter: 3
- type: Airtight
@@ -40,3 +40,47 @@
anchored: true
placement:
mode: SnapgridCenter
- type: entity
id: InflatableDoor
name: inflatable door
parent: BaseMaterialDoor
description: An inflated membrane. Activate to deflate. Now with a door. Do not puncture.
components:
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Objects/Misc/inflatable_door.rsi
state: closed
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.5,0.5,0.5"
mass: 15
layer:
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Door
openSound:
path: /Audio/Misc/zip.ogg
closeSound:
path: /Audio/Misc/zip.ogg
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Inflatable
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DisassembleOnAltVerb
prototype: InflatableDoorStack1
doAfter: 3

View File

@@ -7,6 +7,8 @@
components:
- type: Stack
stackType: InflatableWall
count: 10
max: 10
- type: Sprite
sprite: Objects/Misc/inflatable_wall.rsi
state: item_wall
@@ -27,6 +29,30 @@
# - coillv-20
# - coillv-30
- type: entity
id: InflatableDoorStack
parent: BaseItem
name: inflatable door
description: A folded membrane which rapidly expands into a large cubical shape on activation.
suffix: Full
components:
- type: Stack
stackType: InflatableDoor
count: 4
max: 4
- type: Sprite
sprite: Objects/Misc/inflatable_door.rsi
state: item_door
netsync: false
- type: Item
sprite: Objects/Misc/inflatable_door.rsi
size: 5
- type: SpawnAfterInteract
prototype: InflatableDoor
doAfter: 1
removeOnInteract: true
- type: Clickable
- type: entity
parent: InflatableWallStack
id: InflatableWallStack1
@@ -37,4 +63,16 @@
- type: Item
size: 5
- type: Stack
count: 1
count: 1
- type: entity
parent: InflatableDoorStack
id: InflatableDoorStack1
suffix: 1
components:
- type: Sprite
state: item_door
- type: Item
size: 5
- type: Stack
count: 1

View File

@@ -0,0 +1,66 @@
- type: entity
id: BaseMaterialDoor
parent: BaseStructure
name: door
abstract: true
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/wood_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Physics
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49"
mass: 100
mask:
- MobImpassable
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Door
bumpOpen: false
clickOpen: true
weldable: false
closeTimeOne: 0.2
closeTimeTwo: 0.6
openTimeOne: 0.6
openTimeTwo: 0.2
openSound:
path: /Audio/Effects/door_open.ogg
closeSound:
path: /Audio/Effects/door_close.ogg
- type: Appearance
visuals:
- type: AirlockVisualizer
simpleVisuals: true
animationTime: 1.2
- type: Airtight
fixVacuum: true
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: IconSmooth
key: walls
mode: NoSprite
- type: entity
id: WoodDoor
name: wooden door
parent: BaseMaterialDoor