Remove Destructible Overkill Thresholds from YAML (#44091)

* non-structures

* so many structures ;_;

* lint me

* oops bad merge resolve

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
This commit is contained in:
āda
2026-05-31 14:48:05 -05:00
committed by GitHub
parent e4ed560bb0
commit b2437c0ac2
140 changed files with 2498 additions and 4351 deletions
@@ -1464,9 +1464,9 @@
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
Ash:
min: 1
max: 1
Ash:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
@@ -92,15 +92,15 @@
- SlowImmune
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 25
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- trigger:
!type:DamageTrigger
damage: 25
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- type: entity
id: MobLuminousPerson
@@ -13,12 +13,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -59,12 +53,6 @@
components:
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -90,12 +78,6 @@
# damageModifierSet: FlimsyPlastic TODO
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -127,12 +109,6 @@
components:
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20 # can take a few more hits than basic plastic
@@ -166,12 +142,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -206,12 +176,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
@@ -245,12 +209,6 @@
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -276,12 +234,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5 # Gold is very weak
@@ -25,12 +25,6 @@
- Trash
- type: Destructible # Same as parent, but spawns BrokenBottle instead of ShardGlass
thresholds:
- trigger: # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -192,11 +192,6 @@
storagebase:
id: Eggshells
amount: 12
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
# Pizza
@@ -27,12 +27,12 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: BaseTree
@@ -69,12 +69,6 @@
variation: 0.05
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -172,15 +166,15 @@
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- type: Sprite
sprite: Objects/Decoration/Flora/flora_stalagmite.rsi
layers:
@@ -395,12 +389,6 @@
tree06: ""
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -29,12 +29,6 @@
variation: 0.05
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 10
@@ -97,12 +91,6 @@
variation: 0.05
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -173,12 +161,6 @@
density: 1000
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 75
@@ -200,12 +182,6 @@
state: support_wall_broken
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -57,25 +57,25 @@
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
params:
volume: -8
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
offset: 0
- !type:DoActsBehavior
acts: ["Breakage"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
params:
volume: -8
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
offset: 0
- !type:DoActsBehavior
acts: ["Breakage"]
- type: StaticPrice
price: 25
@@ -21,12 +21,12 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: UserInterface
interfaces:
enum.StationMapUiKey.Key:
@@ -61,12 +61,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
@@ -176,12 +170,6 @@
- darts-popup-miss
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -151,12 +151,6 @@
collection: GlassBreak
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
@@ -13,12 +13,6 @@
damageModifierSet: Glass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -124,12 +118,6 @@
node: SheetRGlass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -198,12 +186,6 @@
node: SheetPGlass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -322,12 +304,6 @@
node: SheetUGlass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -445,12 +421,6 @@
node: SheetClockworkGlass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -15,12 +15,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: &DamageTrigger50
!type:DamageTrigger
damage: 50
behaviors: &OverkillBehavior
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger: &DamageTrigger20
!type:DamageTrigger
damage: 20
@@ -70,8 +64,6 @@
node: deskBellNode
- type: Destructible
thresholds:
- trigger: *DamageTrigger50
behaviors: *OverkillBehavior
- trigger: *DamageTrigger20
behaviors:
- !type:PlaySoundBehavior
@@ -113,8 +105,6 @@
node: deskBuzzerNode
- type: Destructible
thresholds:
- trigger: *DamageTrigger50
behaviors: *OverkillBehavior
- trigger: *DamageTrigger20
behaviors:
- !type:PlaySoundBehavior
@@ -168,8 +158,6 @@
node: deskHornNode
- type: Destructible
thresholds:
- trigger: *DamageTrigger50
behaviors: *OverkillBehavior
- trigger: *DamageTrigger20
behaviors:
- !type:PlaySoundBehavior
@@ -270,12 +270,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
@@ -28,12 +28,6 @@
- type: Injurable
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 15
@@ -47,12 +47,12 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Appearance
- type: EntityStorageVisuals
stateDoorOpen: pet_carrier_open
@@ -33,12 +33,12 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
name: spaceshroom
@@ -20,12 +20,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
@@ -26,12 +26,6 @@
Blunt: 5
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -82,12 +76,6 @@
bulb: Tube
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -37,29 +37,23 @@
messages: ShieldMessages
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 140
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100 #This is probably enough damage before it breaks
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel:
min: 2
max: 2
SheetGlass:
min: 2
max: 2
- trigger:
!type:DamageTrigger
damage: 100 #This is probably enough damage before it breaks
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel:
min: 2
max: 2
SheetGlass:
min: 2
max: 2
- type: StaticPrice
price: 100
@@ -178,26 +172,20 @@
node: woodenBuckler
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 60
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 30 #Weaker shield
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank:
min: 5
max: 5
- trigger:
!type:DamageTrigger
damage: 30 #Weaker shield
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank:
min: 5
max: 5
- type: StaticPrice
price: 150
@@ -231,12 +219,6 @@
node: cardShield
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 25
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10 #Very very weak shield
@@ -286,26 +268,20 @@
node: makeshiftShield
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20 #Very weak shield
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel:
min: 1
max: 2
- trigger:
!type:DamageTrigger
damage: 20 #Very weak shield
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel:
min: 1
max: 2
- type: entity
name: web shield
@@ -339,26 +315,20 @@
node: shield
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
MaterialWebSilk:
min: 1
max: 1
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
MaterialWebSilk:
min: 1
max: 1
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
#Magic/Cult Shields (give these to wizard for now)
@@ -424,20 +394,20 @@
path: /Audio/Effects/glass_step.ogg
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetGlass:
min: 5
max: 5
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetGlass:
min: 5
max: 5
- type: entity
name: energy shield
@@ -518,26 +488,20 @@
messages: EnergyShieldMessages
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 180
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
BrokenEnergyShield:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
BrokenEnergyShield:
min: 1
max: 1
- type: StaticPrice
price: 350
@@ -599,28 +563,22 @@
- type: Appearance
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 70
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel:
min: 1
max: 1
SheetGlass:
min: 2
max: 2
- trigger:
!type:DamageTrigger
damage: 70
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel:
min: 1
max: 1
SheetGlass:
min: 2
max: 2
- type: StaticPrice
price: 150
@@ -42,12 +42,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
@@ -41,12 +41,6 @@
price: 100
- type: Destructible
thresholds:
- trigger: &DamageTrigger100
!type:DamageTrigger
damage: 100
behaviors: &OverkillBehavior
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 15 # stronger than base
@@ -86,8 +80,6 @@
Glass: 10
- type: Destructible
thresholds:
- trigger: *DamageTrigger100
behaviors: *OverkillBehavior
- trigger:
!type:DamageTrigger
damage: 5 # smaller so weaker
@@ -26,22 +26,16 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: Appearance
- type: UserInterface
interfaces:
@@ -49,12 +49,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -29,12 +29,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 1000
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 500
@@ -92,12 +86,6 @@
state: target_f
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 4000
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 2000
@@ -28,12 +28,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
@@ -339,7 +333,7 @@
- SpaceUpInventory
- SodaInventory
- DrGibbInventory
- SmiteInventory
- SmiteInventory
- type: Sprite
layers:
- state: base
@@ -59,12 +59,12 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Appearance
- type: EntityStorageVisuals
stateDoorOpen: artifact_container_open
@@ -142,12 +142,12 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: PaperLabel
labelSlot:
insertVerbText: Attach Label
@@ -20,11 +20,11 @@
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/pop_high.ogg
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/pop_high.ogg
- type: Appearance
- type: Item
size: Normal
@@ -80,12 +80,12 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: Fulton1
@@ -85,23 +85,17 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 1
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
WeaponTurretSyndicateDisposable:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 1
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior # todo this is not a good way to be doing this. Should probably use a construction graph
spawn:
WeaponTurretSyndicateDisposable:
min: 1
max: 1
- type: StaticPrice
price: 1350
@@ -18,12 +18,6 @@
- Syndicate
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -37,15 +37,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- trigger:
!type:DamageTrigger
damage: 300
@@ -16,15 +16,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 900
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 450
@@ -81,12 +81,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
@@ -191,12 +185,6 @@
graph: SpearBone
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
@@ -79,11 +79,6 @@
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:TimerStartBehavior
- trigger: # immediately explode
!type:DamageTrigger
damage: 45
@@ -92,6 +87,11 @@
keyOut: timer
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:TimerStartBehavior
- type: entity # Starts fuse after taking 10 damage, is destroyed without activating/detonating after taking 45 damage.
abstract: true
@@ -99,14 +99,14 @@
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:TimerStartBehavior
- trigger: # Disappear
!type:DamageTrigger
damage: 45
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:TimerStartBehavior
@@ -21,12 +21,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 15
@@ -4,17 +4,17 @@
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
path: /Audio/Items/hiss.ogg
params:
variation: 0.08
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
path: /Audio/Items/hiss.ogg
params:
variation: 0.08
- type: DamagedByFlashing
flashDamage:
types:
@@ -27,15 +27,15 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: AmbientSound
volume: -5
range: 5
@@ -5,141 +5,141 @@
name: crystal
description: A crystaline solid.
components:
- type: Sprite
sprite: Structures/Decoration/crystal.rsi
state: crystal_grey
color: "#52ff39"
noRot: true
- type: Reflect
reflectProb: 0.5
reflects:
- Energy
spread: 75
- type: Anchorable
delay: 2
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.45
density: 60
mask:
- MachineMask
layer:
- MidImpassable
- LowImpassable
- BulletImpassable
- Opaque
- type: PointLight
radius: 3
energy: 3
color: "#52ff39"
- type: Damageable
damageModifierSet: Glass
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalGreen:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Sprite
sprite: Structures/Decoration/crystal.rsi
state: crystal_grey
color: "#52ff39"
noRot: true
- type: Reflect
reflectProb: 0.5
reflects:
- Energy
spread: 75
- type: Anchorable
delay: 2
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.45
density: 60
mask:
- MachineMask
layer:
- MidImpassable
- LowImpassable
- BulletImpassable
- Opaque
- type: PointLight
radius: 3
energy: 3
color: "#52ff39"
- type: Damageable
damageModifierSet: Glass
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalGreen:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: CrystalPink
parent: CrystalGreen
suffix: pink
components:
- type: Sprite
color: "#ff66cc"
- type: PointLight
radius: 3
energy: 3
color: "#ff66cc"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalPink:
min: 1
max: 1
- type: Sprite
color: "#ff66cc"
- type: PointLight
radius: 3
energy: 3
color: "#ff66cc"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalPink:
min: 1
max: 1
- type: entity
id: CrystalGrey
parent: CrystalGreen
suffix: red
components:
- type: Sprite
state: crystal_grey
color: "#fb4747"
- type: PointLight
color: "#fb4747"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalRed:
min: 1
max: 2
- type: Sprite
state: crystal_grey
color: "#fb4747"
- type: PointLight
color: "#fb4747"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalRed:
min: 1
max: 2
- type: entity
id: CrystalOrange
parent: CrystalGreen
suffix: orange
components:
- type: Sprite
color: "#ff8227"
- type: PointLight
radius: 3
energy: 3
color: "#ff8227"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalOrange:
min: 1
max: 2
- type: Sprite
color: "#ff8227"
- type: PointLight
radius: 3
energy: 3
color: "#ff8227"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalOrange:
min: 1
max: 2
- type: entity
id: CrystalBlack
@@ -154,101 +154,101 @@
color: "#363636"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalBlack:
min: 1
max: 2
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalBlack:
min: 1
max: 2
- type: entity
id: CrystalBlue
parent: CrystalGreen
suffix: blue
components:
- type: Sprite
color: "#39a1ff"
- type: PointLight
radius: 3
energy: 3
color: "#39a1ff"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalBlue:
min: 1
max: 2
- type: Sprite
color: "#39a1ff"
- type: PointLight
radius: 3
energy: 3
color: "#39a1ff"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalBlue:
min: 1
max: 2
- type: entity
id: CrystalYellow
parent: CrystalGreen
suffix: yellow
components:
- type: Sprite
color: "#ffde46"
- type: PointLight
radius: 3
energy: 3
color: "#ffde46"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalYellow:
min: 1
max: 2
- type: Sprite
color: "#ffde46"
- type: PointLight
radius: 3
energy: 3
color: "#ffde46"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalYellow:
min: 1
max: 2
- type: entity
id: CrystalCyan
parent: CrystalGreen
suffix: cyan
components:
- type: Sprite
color: "#47f8ff"
- type: PointLight
radius: 3
energy: 3
color: "#47f8ff"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalCyan:
min: 1
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Sprite
color: "#47f8ff"
- type: PointLight
radius: 3
energy: 3
color: "#47f8ff"
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
ShardCrystalCyan:
min: 1
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
@@ -40,12 +40,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 5
@@ -24,20 +24,14 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
Log:
min: 2
max: 8
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
Log:
min: 2
max: 8
@@ -40,12 +40,12 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: AlwaysHot
- type: IgnitionSource
temperature: 700
@@ -36,5 +36,5 @@
!type:DamageTrigger
damage: 25
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:DoActsBehavior
acts: [ "Destruction" ]
@@ -5,33 +5,27 @@
name: security robot showcase
description: A non-functional replica of an old security robot.
components:
- type: Anchorable
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
min: 5
max: 10
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Anchorable
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
min: 5
max: 10
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: ShowcaseRobot
@@ -59,12 +59,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150 # Overkill
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -42,12 +42,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
@@ -5,150 +5,150 @@
name: firelock
description: Apply crowbar.
components:
- type: Anchorable
flags:
- Anchorable
- type: Rotatable
- type: AtmosAlarmable
syncWith:
- FireAlarm
- AirAlarm
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: DeviceNetwork
deviceNetId: AtmosDevices
receiveFrequencyId: AtmosMonitor
- type: DeviceNetworkRequiresPower
- type: InteractionOutline
- type: Damageable
damageModifierSet: StructuralMetallicStrong
- type: Injurable
damageContainer: StructuralInorganic
- type: RCDDeconstructable
cost: 4
delay: 6
fx: EffectRCDDeconstruct6
- type: Tag
tags:
- ForceFixRotations # Allow fixrotations to target these
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/firelock.rsi
snapCardinals: true
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- state: closed_unlit
shader: unshaded
map: ["enum.DoorVisualLayers.BaseUnlit"]
visible: false
- state: welded
map: ["enum.WeldableLayers.BaseWelded"]
- state: bolted_unlit
shader: unshaded
map: ["enum.DoorVisualLayers.BaseBolted"]
visible: false
- state: panel_open
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- state: pressure_unlit
visible: false
shader: unshaded
map: ["enum.FirelockVisualLayersPressure.Base"]
- state: temperature_unlit
visible: false
shader: unshaded
map: ["enum.FirelockVisualLayersTemperature.Base"]
- type: GenericVisualizer
visuals:
enum.FirelockVisuals.PressureWarning:
enum.FirelockVisualLayersPressure.Base:
True: { visible: true }
False: { visible: false }
enum.FirelockVisuals.TemperatureWarning:
enum.FirelockVisualLayersTemperature.Base:
True: { visible: true }
False: { visible: false }
- type: AnimationPlayer
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49" # don't want this colliding with walls or they won't close
density: 100
mask:
- FullTileMask
layer:
- AirlockLayer
- type: Door
openDrawDepth: WallTops
closeTimeOne: 0.1
closeTimeTwo: 0.6
openTimeOne: 0.1
openTimeTwo: 0.6
state: Open
bumpOpen: false
clickOpen: true
crushDamage:
types:
Blunt: 15
openSound:
path: /Audio/Machines/airlock_open.ogg
closeSound:
path: /Audio/Machines/airlock_close.ogg
denySound:
path: /Audio/Machines/airlock_deny.ogg
openingAnimationTime: 0.6
closingAnimationTime: 0.6
- type: Weldable
fuel: 5
time: 3
- type: Firelock
- type: Appearance
- type: WiresVisuals
- type: WiresPanel
- type: UserInterface
interfaces:
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Physics
canCollide: false
- type: Airtight
airBlocked: false
noAirWhenFullyAirBlocked: true
- type: RadiationBlocker
enabled: false
- type: Occluder
enabled: false
- type: WallMount
arc: 360
- type: StaticPrice
price: 150
- type: AccessReader
access: [ [ "Engineering" ] ]
examinationText: access-reader-examination-functionality-restricted
- type: PryUnpowered
pryModifier: 0.5
- type: PointLight
energy: 0.5
radius: 1.75
color: Red
enabled: false
castShadows: false
- type: NavMapDoor
- type: GuideHelp
guides:
- FireAndGasControl
- Fires
- Spacing
- type: SyncSprite
- type: Anchorable
flags:
- Anchorable
- type: Rotatable
- type: AtmosAlarmable
syncWith:
- FireAlarm
- AirAlarm
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: DeviceNetwork
deviceNetId: AtmosDevices
receiveFrequencyId: AtmosMonitor
- type: DeviceNetworkRequiresPower
- type: InteractionOutline
- type: Damageable
damageModifierSet: StructuralMetallicStrong
- type: Injurable
damageContainer: StructuralInorganic
- type: RCDDeconstructable
cost: 4
delay: 6
fx: EffectRCDDeconstruct6
- type: Tag
tags:
- ForceFixRotations # Allow fixrotations to target these
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/firelock.rsi
snapCardinals: true
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- state: closed_unlit
shader: unshaded
map: ["enum.DoorVisualLayers.BaseUnlit"]
visible: false
- state: welded
map: ["enum.WeldableLayers.BaseWelded"]
- state: bolted_unlit
shader: unshaded
map: ["enum.DoorVisualLayers.BaseBolted"]
visible: false
- state: panel_open
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- state: pressure_unlit
visible: false
shader: unshaded
map: ["enum.FirelockVisualLayersPressure.Base"]
- state: temperature_unlit
visible: false
shader: unshaded
map: ["enum.FirelockVisualLayersTemperature.Base"]
- type: GenericVisualizer
visuals:
enum.FirelockVisuals.PressureWarning:
enum.FirelockVisualLayersPressure.Base:
True: { visible: true }
False: { visible: false }
enum.FirelockVisuals.TemperatureWarning:
enum.FirelockVisualLayersTemperature.Base:
True: { visible: true }
False: { visible: false }
- type: AnimationPlayer
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49" # don't want this colliding with walls or they won't close
density: 100
mask:
- FullTileMask
layer:
- AirlockLayer
- type: Door
openDrawDepth: WallTops
closeTimeOne: 0.1
closeTimeTwo: 0.6
openTimeOne: 0.1
openTimeTwo: 0.6
state: Open
bumpOpen: false
clickOpen: true
crushDamage:
types:
Blunt: 15
openSound:
path: /Audio/Machines/airlock_open.ogg
closeSound:
path: /Audio/Machines/airlock_close.ogg
denySound:
path: /Audio/Machines/airlock_deny.ogg
openingAnimationTime: 0.6
closingAnimationTime: 0.6
- type: Weldable
fuel: 5
time: 3
- type: Firelock
- type: Appearance
- type: WiresVisuals
- type: WiresPanel
- type: UserInterface
interfaces:
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Physics
canCollide: false
- type: Airtight
airBlocked: false
noAirWhenFullyAirBlocked: true
- type: RadiationBlocker
enabled: false
- type: Occluder
enabled: false
- type: WallMount
arc: 360
- type: StaticPrice
price: 150
- type: AccessReader
access: [ [ "Engineering" ] ]
examinationText: access-reader-examination-functionality-restricted
- type: PryUnpowered
pryModifier: 0.5
- type: PointLight
energy: 0.5
radius: 1.75
color: Red
enabled: false
castShadows: false
- type: NavMapDoor
- type: GuideHelp
guides:
- FireAndGasControl
- Fires
- Spacing
- type: SyncSprite
- type: entity
id: Firelock
@@ -82,12 +82,6 @@
node: metalDoor
- type: Destructible
thresholds:
- trigger: &DamageTrigger200 # Overkill threshold
!type:DamageTrigger
damage: 200
behaviors: &OverkillBehavior
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger: &DamageTrigger150
!type:DamageTrigger
damage: 150
@@ -115,8 +109,6 @@
node: plasmaDoor
- type: Destructible
thresholds:
- trigger: *DamageTrigger200
behaviors: *OverkillBehavior
- trigger: *DamageTrigger150
behaviors:
- !type:DoActsBehavior
@@ -142,8 +134,6 @@
node: goldDoor
- type: Destructible
thresholds:
- trigger: *DamageTrigger200
behaviors: *OverkillBehavior
- trigger: *DamageTrigger150
behaviors:
- !type:DoActsBehavior
@@ -169,8 +159,6 @@
node: silverDoor
- type: Destructible
thresholds:
- trigger: *DamageTrigger200
behaviors: *OverkillBehavior
- trigger: *DamageTrigger150
behaviors:
- !type:DoActsBehavior
@@ -202,8 +190,6 @@
node: bananiumDoor
- type: Destructible
thresholds:
- trigger: *DamageTrigger200
behaviors: *OverkillBehavior
- trigger: *DamageTrigger150
behaviors:
- !type:DoActsBehavior
@@ -238,8 +224,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger: *DamageTrigger150
behaviors: *OverkillBehavior
- trigger:
!type:DamageTrigger
damage: 75
@@ -274,8 +258,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger: *DamageTrigger150
behaviors: *OverkillBehavior
- trigger:
!type:DamageTrigger
damage: 50
@@ -311,8 +293,6 @@
damageModifierSet: Web
- type: Destructible
thresholds:
- trigger: *DamageTrigger150
behaviors: *OverkillBehavior
- trigger:
!type:DamageTrigger
damage: 50
@@ -352,8 +332,6 @@
damageModifierSet: Card
- type: Destructible
thresholds:
- trigger: *DamageTrigger150
behaviors: *OverkillBehavior
- trigger:
!type:DamageTrigger
damage: 30
@@ -388,10 +366,6 @@
damageModifierSet: Rock
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors: *OverkillBehavior
- trigger:
!type:DamageTrigger
damage: 250 # A pickaxe can destroy this in two hits, since the door is rock.
@@ -419,10 +393,6 @@
sprite: Structures/Doors/MineralDoors/encrusted_ironstone_door.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors: *OverkillBehavior
- trigger:
!type:DamageTrigger
damage: 375
@@ -94,12 +94,6 @@
fx: EffectRCDDeconstruct8
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
@@ -225,12 +219,6 @@
damageModifierSet: RGlass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 400
@@ -300,12 +288,6 @@
visible: false
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 480
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 240
@@ -370,12 +352,6 @@
visible: false
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 800
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 530
@@ -447,12 +423,6 @@
visible: false
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 240
@@ -517,12 +487,6 @@
visible: false
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 1200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 400
@@ -35,12 +35,6 @@
map: ["enum.ElectrifiedLayers.Sparks"]
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
@@ -30,12 +30,6 @@
base: state_
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 25
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 5
@@ -88,12 +82,6 @@
base: state_
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 15
@@ -132,12 +120,6 @@
base: state_
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -174,12 +156,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -215,12 +191,6 @@
sprite: Structures/Furniture/Tables/reinforced.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 75
@@ -273,15 +243,6 @@
tableMassLimit: 60
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 25
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- trigger:
!type:DamageTrigger
damage: 5
@@ -331,14 +292,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 45 #excess damage (nuke?). avoid computational cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound: /Audio//Weapons/pierce.ogg
- trigger:
!type:DamageTrigger
damage: 15
@@ -383,15 +336,6 @@
tableMassLimit: 120
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- trigger:
!type:DamageTrigger
damage: 20
@@ -440,15 +384,6 @@
tableMassLimit: 240
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 250
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- trigger:
!type:DamageTrigger
damage: 50
@@ -493,12 +428,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -535,15 +464,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- trigger:
!type:DamageTrigger
damage: 15
@@ -584,15 +504,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 15
@@ -724,12 +635,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -947,12 +852,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 15
@@ -994,12 +893,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -42,12 +42,6 @@
state: nanotrasen
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -176,12 +170,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 15
@@ -371,12 +359,6 @@
state: full
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -41,12 +41,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 75
@@ -104,15 +98,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 75
@@ -152,15 +137,6 @@
state: icon
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -193,12 +169,6 @@
Cold: -0.5
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 75
@@ -21,15 +21,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroyHeavy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 30
@@ -55,23 +55,17 @@
sprite: Structures/Furniture/Carpets/red_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemRed:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemRed:
min: 1
max: 1
- type: entity
id: CarpetBlack
@@ -85,23 +79,17 @@
sprite: Structures/Furniture/Carpets/black_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemBlack:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemBlack:
min: 1
max: 1
- type: entity
id: CarpetPink
@@ -115,23 +103,17 @@
sprite: Structures/Furniture/Carpets/pink_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemPink:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemPink:
min: 1
max: 1
- type: entity
id: CarpetBlue
@@ -145,23 +127,17 @@
sprite: Structures/Furniture/Carpets/blue_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemBlue:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemBlue:
min: 1
max: 1
- type: entity
id: CarpetGreen
@@ -175,23 +151,17 @@
sprite: Structures/Furniture/Carpets/green_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemGreen:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemGreen:
min: 1
max: 1
- type: entity
id: CarpetOrange
@@ -205,23 +175,17 @@
sprite: Structures/Furniture/Carpets/orange_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemOrange:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemOrange:
min: 1
max: 1
- type: entity
id: CarpetSBlue
@@ -235,23 +199,17 @@
sprite: Structures/Furniture/Carpets/skyblue_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemSkyBlue:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemSkyBlue:
min: 1
max: 1
- type: entity
id: CarpetPurple
@@ -265,23 +223,17 @@
sprite: Structures/Furniture/Carpets/purple_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemPurple:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemPurple:
min: 1
max: 1
- type: entity
id: CarpetCyan
@@ -295,23 +247,17 @@
sprite: Structures/Furniture/Carpets/cyan_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemCyan:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemCyan:
min: 1
max: 1
- type: entity
id: CarpetWhite
@@ -325,23 +271,17 @@
sprite: Structures/Furniture/Carpets/white_carpet.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemWhite:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
FloorCarpetItemWhite:
min: 1
max: 1
# TODO nuke this once tiles support rotating sprites
- type: entity
@@ -367,12 +307,12 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: TrayScanReveal
#cardpet
@@ -408,25 +348,18 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 40
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
MaterialCardboard:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
MaterialCardboard:
min: 1
max: 1
- type: ToolRefinable
refineResult:
- id: MaterialCardboard1
amount: 1
- type: TrayScanReveal
@@ -33,12 +33,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -213,15 +207,6 @@
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 25
@@ -279,15 +264,6 @@
collection: MaleScreams
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
path: /Audio/Voice/Human/womanlaugh.ogg
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -324,15 +300,6 @@
damageModifierSet: Web
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -419,12 +386,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 10
@@ -450,15 +411,6 @@
node: chairWoodBench
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -13,12 +13,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -4,84 +4,78 @@
name: rollerbed
description: Used to carry patients around without damaging them.
components:
- type: Transform
noRot: true
- type: Item
size: Normal
heldPrefix: rollerbed
- type: Sprite
sprite: Structures/Furniture/rollerbeds.rsi
noRot: true
layers:
- state: rollerbed
map: ["unfoldedLayer"]
- state: rollerbed_folded
map: ["foldedLayer"]
visible: false
- state: rollerbed_buckled
map: ["buckledLayer"]
visible: false
- type: MovedByPressure
- type: DamageOnHighSpeedImpact
soundHit:
collection: MetalThud
- type: InteractionOutline
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 20
mask:
- MobMask
- type: Damageable
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
- type: Pullable
- type: Strap
position: Down
rotation: -90
buckleOffset: "0,0.15"
buckleOnInteractHand: False
- type: Appearance
- type: GenericVisualizer
visuals:
enum.StrapVisuals.State:
buckledLayer:
True: {visible: true}
False: {visible: false}
unfoldedLayer:
True: { visible: false }
False: { visible: true }
enum.FoldedVisuals.State: # Copypasta from BaseFoldable b/c collections don't merge when overriding component prototypes.
foldedLayer:
True: {visible: true}
False: {visible: false}
unfoldedLayer:
True: {visible: false}
- type: StaticPrice
price: 120
- type: Transform
noRot: true
- type: Item
size: Normal
heldPrefix: rollerbed
- type: Sprite
sprite: Structures/Furniture/rollerbeds.rsi
noRot: true
layers:
- state: rollerbed
map: ["unfoldedLayer"]
- state: rollerbed_folded
map: ["foldedLayer"]
visible: false
- state: rollerbed_buckled
map: ["buckledLayer"]
visible: false
- type: MovedByPressure
- type: DamageOnHighSpeedImpact
soundHit:
collection: MetalThud
- type: InteractionOutline
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 20
mask:
- MobMask
- type: Damageable
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
- type: Pullable
- type: Strap
position: Down
rotation: -90
buckleOffset: "0,0.15"
buckleOnInteractHand: False
- type: Appearance
- type: GenericVisualizer
visuals:
enum.StrapVisuals.State:
buckledLayer:
True: {visible: true}
False: {visible: false}
unfoldedLayer:
True: { visible: false }
False: { visible: true }
enum.FoldedVisuals.State: # Copypasta from BaseFoldable b/c collections don't merge when overriding component prototypes.
foldedLayer:
True: {visible: true}
False: {visible: false}
unfoldedLayer:
True: {visible: false}
- type: StaticPrice
price: 120
- type: entity
parent: RollerBed
@@ -12,10 +12,10 @@
- type: Sprite
sprite: Structures/Furniture/sink.rsi
layers:
- state: sink_stem
- map: [ "enum.SolutionContainerLayers.Fill" ]
state: sink-fill-1
visible: false
- state: sink_stem
- map: [ "enum.SolutionContainerLayers.Fill" ]
state: sink-fill-1
visible: false
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 1
@@ -42,21 +42,15 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 80
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: AmbientSound
enabled: false
volume: -8
@@ -185,12 +185,6 @@
price: 1500
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -60,15 +60,6 @@
- TabletopMachineLayer
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- trigger:
!type:DamageTrigger
damage: 50
@@ -287,12 +278,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -482,15 +467,6 @@
node: emergencyLight
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- trigger:
!type:DamageTrigger
damage: 25
@@ -43,12 +43,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -57,12 +57,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -79,12 +79,6 @@
state: broken
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -10,18 +10,18 @@
noRot: true
offset: 0, 0.5
layers:
- sprite: Structures/Piping/Atmospherics/pipe.rsi
state: pipeHalf
offset: 0, -0.5
map: [ "enum.PipeVisualLayers.Pipe" ]
- state: pod-open
map: [ "enum.CryoPodVisualLayers.Base" ]
- state: cover-on
map: [ "enum.CryoPodVisualLayers.Cover" ]
visible: false
- state: pod-panel
map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
visible: false
- sprite: Structures/Piping/Atmospherics/pipe.rsi
state: pipeHalf
offset: 0, -0.5
map: [ "enum.PipeVisualLayers.Pipe" ]
- state: pod-open
map: [ "enum.CryoPodVisualLayers.Base" ]
- state: cover-on
map: [ "enum.CryoPodVisualLayers.Cover" ]
visible: false
- state: pod-panel
map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
visible: false
- type: InteractionOutline
- type: Transform
noRot: true
@@ -63,14 +63,14 @@
!type:DamageTrigger
damage: 100
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:EmptyAllContainersBehaviour
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: ApcPowerReceiver
powerLoad: 3000
- type: ExtensionCableReceiver
@@ -28,12 +28,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -4,80 +4,74 @@
name: crew monitoring server
description: Receives and relays the status of all active suit sensors on the station.
components:
- type: Sprite
sprite: Structures/Machines/server.rsi
snapCardinals: true
layers:
- state: server-off
- state: server-on
visible: false
map: [ "enum.PowerDeviceVisualLayers.Powered" ]
- state: variant-crew
- state: server_o
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: Construction
graph: Machine
node: machine
containers:
- machine_board
- machine_parts
- type: Machine
board: CrewMonitoringServerMachineCircuitboard
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: CrewMonitoringServer
- type: SingletonDeviceNetServer
- type: DeviceNetwork
deviceNetId: Wireless
transmitFrequencyId: CrewMonitor
receiveFrequencyId: SuitSensor
autoConnect: false
- type: WirelessNetworkConnection
range: 500
- type: StationLimitedNetwork
- type: ApcPowerReceiver
powerLoad: 200
- type: ExtensionCableReceiver
- type: WiresPanel
- type: WiresVisuals
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 2
- type: Appearance
- type: GenericVisualizer
visuals:
enum.PowerDeviceVisuals.Powered:
enum.PowerDeviceVisualLayers.Powered:
True: {visible: true}
False: {visible: false}
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 5
enabled: false
sound:
path: /Audio/Ambience/Objects/server_fans.ogg
- type: GuideHelp
guides:
- Medical
- type: Sprite
sprite: Structures/Machines/server.rsi
snapCardinals: true
layers:
- state: server-off
- state: server-on
visible: false
map: [ "enum.PowerDeviceVisualLayers.Powered" ]
- state: variant-crew
- state: server_o
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: Construction
graph: Machine
node: machine
containers:
- machine_board
- machine_parts
- type: Machine
board: CrewMonitoringServerMachineCircuitboard
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: CrewMonitoringServer
- type: SingletonDeviceNetServer
- type: DeviceNetwork
deviceNetId: Wireless
transmitFrequencyId: CrewMonitor
receiveFrequencyId: SuitSensor
autoConnect: false
- type: WirelessNetworkConnection
range: 500
- type: StationLimitedNetwork
- type: ApcPowerReceiver
powerLoad: 200
- type: ExtensionCableReceiver
- type: WiresPanel
- type: WiresVisuals
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 2
- type: Appearance
- type: GenericVisualizer
visuals:
enum.PowerDeviceVisuals.Powered:
enum.PowerDeviceVisualLayers.Powered:
True: {visible: true}
False: {visible: false}
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 5
enabled: false
sound:
path: /Audio/Ambience/Objects/server_fans.ogg
- type: GuideHelp
guides:
- Medical
@@ -6,66 +6,57 @@
placement:
mode: SnapgridCenter
components:
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.5,0.25,0.5"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Rotatable
- type: Pullable
- type: Construction
containers:
- machine_board
- machine_parts
graph: Machine
node: missingWires
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: start
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
sprite: Structures/Machines/parts.rsi
state: box_0
snapCardinals: true
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.5,0.25,0.5"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Rotatable
- type: Pullable
- type: Construction
containers:
- machine_board
- machine_parts
graph: Machine
node: missingWires
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: start
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
sprite: Structures/Machines/parts.rsi
state: box_0
snapCardinals: true
- type: entity
id: MachineFrame
@@ -74,76 +65,67 @@
placement:
mode: SnapgridCenter
components:
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.5,0.25,0.5"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Rotatable
- type: Pullable
- type: Construction
graph: Machine
node: machineFrame
defaultTarget: machine
containers:
- machine_board
- machine_parts
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: missingWires
- !type:DoActsBehavior
acts: ["Destruction"]
- type: MachineFrame
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: Sprite
sprite: Structures/Machines/parts.rsi
state: box_1
snapCardinals: true
- type: Appearance
- type: ItemMapper
mapLayers:
box_2:
minCount: 1
whitelist:
components:
- MachineBoard
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.5,0.25,0.5"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Rotatable
- type: Pullable
- type: Construction
graph: Machine
node: machineFrame
defaultTarget: machine
containers:
- machine_board
- machine_parts
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: missingWires
- !type:DoActsBehavior
acts: ["Destruction"]
- type: MachineFrame
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: Sprite
sprite: Structures/Machines/parts.rsi
state: box_1
snapCardinals: true
- type: Appearance
- type: ItemMapper
mapLayers:
box_2:
minCount: 1
whitelist:
components:
- MachineBoard
- type: entity
id: MachineFrameDestroyed
@@ -152,38 +134,32 @@
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Transform
anchored: true
noRot: true
- type: Physics
bodyType: Static
- type: Construction
graph: Machine
node: destroyedMachineFrame
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 3
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
sprite: Structures/Machines/parts.rsi
state: destroyed
- type: InteractionOutline
- type: Transform
anchored: true
noRot: true
- type: Physics
bodyType: Static
- type: Construction
graph: Machine
node: destroyedMachineFrame
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 3
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
sprite: Structures/Machines/parts.rsi
state: destroyed
@@ -38,12 +38,6 @@
board: ResearchAndDevelopmentServerMachineCircuitboard
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -113,12 +107,6 @@
False: {visible: false}
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
@@ -73,29 +73,23 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 3
SheetGlass1:
min: 1
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 3
SheetGlass1:
min: 1
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: GuideHelp
guides:
- PortableScrubber
@@ -165,26 +159,20 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 3
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 3
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: GuideHelp
guides:
- Thermomachines
@@ -441,12 +441,6 @@
- type: WiresVisuals
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -5,59 +5,59 @@
placement:
mode: SnapgridCenter
components:
- type: Transform
anchored: true
noRot: true
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.4,0.25,0.4"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Pullable
- type: Construction
graph: DisposalMachine
node: frame
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: start
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Sprite
sprite: Structures/Piping/high_pressure_machine_frame.rsi
layers:
- state: frame
map: [ "enum.ConstructionVisuals.Layer" ]
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ConstructionVisuals.Key:
enum.ConstructionVisuals.Layer:
frame_cable: { state: frame_cables }
frame_electronics: { state: frame_electronics }
frame_unit: { state: frame_unit }
frame_mailing: { state: frame_unit } # not a typo, there is no frame_mailing state.
frame_inlet: { state: frame_inlet }
frame_outlet: { state: frame_outlet }
- type: Transform
anchored: true
noRot: true
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.4,0.25,0.4"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Pullable
- type: Construction
graph: DisposalMachine
node: frame
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: start
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Sprite
sprite: Structures/Piping/high_pressure_machine_frame.rsi
layers:
- state: frame
map: [ "enum.ConstructionVisuals.Layer" ]
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ConstructionVisuals.Key:
enum.ConstructionVisuals.Layer:
frame_cable: { state: frame_cables }
frame_electronics: { state: frame_electronics }
frame_unit: { state: frame_unit }
frame_mailing: { state: frame_unit } # not a typo, there is no frame_mailing state.
frame_inlet: { state: frame_inlet }
frame_outlet: { state: frame_outlet }
@@ -87,12 +87,6 @@
- MachineLayer
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -62,26 +62,20 @@
- Engineering
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 5
max: 5
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 5
max: 5
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Anchorable
- type: Pullable
- type: Rotatable
@@ -93,29 +93,20 @@
sprite: Structures/Power/Generation/Tesla/coil_cracks.rsi
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 400
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 225
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 2
max: 4
- trigger:
!type:DamageTrigger
damage: 225
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 2
max: 4
- type: GuideHelp
guides:
- TeslaEngine
@@ -189,29 +180,20 @@
sprite: Structures/Power/Generation/Tesla/groundingrod_cracks.rsi
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 600
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 2
max: 4
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 2
max: 4
- type: GuideHelp
guides:
- TeslaEngine
@@ -34,12 +34,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
@@ -167,12 +161,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
@@ -51,12 +51,6 @@
- type: PacifismDangerousAttack
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -256,26 +250,20 @@
- Power
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
GeneratorRTGDamaged:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
GeneratorRTGDamaged:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
# TODO: need radioactive fallout when destroyed
@@ -291,8 +279,8 @@
- type: Sprite
sprite: Structures/Power/Generation/rtg.rsi
layers:
- state: rtg_damaged
- state: rtg_glow
- state: rtg_damaged
- state: rtg_glow
- type: PowerMonitoringDevice
sprite: Structures/Power/Generation/rtg.rsi
state: rtg_damaged
@@ -300,12 +288,6 @@
intensity: 2
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -8,98 +8,92 @@
id: PortableGeneratorBase
parent: [ BaseMachine, SmallConstructibleMachine, StructureWheeled]
components:
# Basic properties
- type: Transform
anchored: False
- type: Physics
bodyType: Dynamic
- type: StaticPrice
price: 500
- type: AmbientSound
range: 5
volume: -5
sound:
path: /Audio/Ambience/Objects/engine_hum.ogg
enabled: false
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.40,-0.40,0.40,0.40"
# Despite the heavy weight, it has wheels, so it's still fairly portable.
density: 155
mask:
- MachineMask
layer:
- MachineLayer
# Basic properties
- type: Transform
anchored: False
- type: Physics
bodyType: Dynamic
- type: StaticPrice
price: 500
- type: AmbientSound
range: 5
volume: -5
sound:
path: /Audio/Ambience/Objects/engine_hum.ogg
enabled: false
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.40,-0.40,0.40,0.40"
# Despite the heavy weight, it has wheels, so it's still fairly portable.
density: 155
mask:
- MachineMask
layer:
- MachineLayer
# Visuals
- type: Appearance
- type: Sprite
sprite: Structures/Power/Generation/portable_generator.rsi
noRot: true
# Visuals
- type: Appearance
- type: Sprite
sprite: Structures/Power/Generation/portable_generator.rsi
noRot: true
# Construction, interaction
- type: WiresPanel
- type: UserInterface
interfaces:
enum.GeneratorComponentUiKey.Key:
type: PortableGeneratorBoundUserInterface
- type: ActivatableUI
key: enum.GeneratorComponentUiKey.Key
- type: Electrified
onHandInteract: false
onInteractUsing: false
onBump: false
requirePower: true
highVoltageNode: output
# Construction, interaction
- type: WiresPanel
- type: UserInterface
interfaces:
enum.GeneratorComponentUiKey.Key:
type: PortableGeneratorBoundUserInterface
- type: ActivatableUI
key: enum.GeneratorComponentUiKey.Key
- type: Electrified
onHandInteract: false
onInteractUsing: false
onBump: false
requirePower: true
highVoltageNode: output
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: GuideHelp
guides:
- PortableGenerator
- Power
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: GuideHelp
guides:
- PortableGenerator
- Power
# Core functionality
- type: PortableGenerator
startSoundEmpty: { collection: GeneratorTugEmpty }
startSound: { collection: GeneratorTug }
- type: FuelGenerator
- type: PowerSupplier
supplyRate: 3000
supplyRampRate: 500
supplyRampTolerance: 500
enabled: false
- type: DeviceLinkSink
ports:
- On
- Off
- Toggle
- type: GeneratorSignalControl
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: BasicDevice
- type: WirelessNetworkConnection
range: 200
- type: PortableGenerator
startSoundEmpty: { collection: GeneratorTugEmpty }
startSound: { collection: GeneratorTug }
- type: FuelGenerator
- type: PowerSupplier
supplyRate: 3000
supplyRampRate: 500
supplyRampTolerance: 500
enabled: false
- type: DeviceLinkSink
ports:
- On
- Off
- Toggle
- type: GeneratorSignalControl
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: BasicDevice
- type: WirelessNetworkConnection
range: 200
- type: entity
abstract: true
@@ -254,107 +248,101 @@
Rated ages 3 and up.
suffix: Welding Fuel, 8 kW
components:
- type: AmbientSound
range: 4
volume: -8
- type: AmbientSound
range: 4
volume: -8
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.30,-0.30,0.30,0.30"
density: 80
mask:
- MachineMask
layer:
- MachineLayer
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.30,-0.30,0.30,0.30"
density: 80
mask:
- MachineMask
layer:
- MachineLayer
- type: Sprite
layers:
- state: portgen3
map: [ "enum.GeneratorVisualLayers.Body" ]
- state: portgen3on_unlit
map: [ "enum.GeneratorVisualLayers.Unlit" ]
shader: unshaded
visible: false
- type: GenericVisualizer
visuals:
enum.GeneratorVisuals.Running:
enum.GeneratorVisualLayers.Body:
True: { state: portgen3on }
False: { state: portgen3 }
enum.GeneratorVisualLayers.Unlit:
True: { visible: true }
False: { visible: false }
- type: Sprite
layers:
- state: portgen3
map: [ "enum.GeneratorVisualLayers.Body" ]
- state: portgen3on_unlit
map: [ "enum.GeneratorVisualLayers.Unlit" ]
shader: unshaded
visible: false
- type: GenericVisualizer
visuals:
enum.GeneratorVisuals.Running:
enum.GeneratorVisualLayers.Body:
True: { state: portgen3on }
False: { state: portgen3 }
enum.GeneratorVisualLayers.Unlit:
True: { visible: true }
False: { visible: false }
- type: Machine
board: PortableGeneratorJrPacmanMachineCircuitboard
- type: FuelGenerator
targetPower: 5000
minTargetPower: 4000
optimalPower: 8000
maxTargetPower: 8000
# 7.5 minutes at full tank.
optimalBurnRate: 0.11111111
# Shallow curve that allows you to just barely eek out 12 minutes at lowest.
fuelEfficiencyConstant: 0.3
- type: ChemicalFuelGeneratorAdapter
solution: tank
reagents:
WeldingFuel: 1
- type: RefillableSolution
solution: tank
- type: PortableGenerator
# Unreliable bugger
startChance: 0.5
- type: NodeContainer
examinable: true
nodes:
output:
!type:CableDeviceNode
nodeGroupID: Apc
- type: PowerMonitoringDevice
group: Generator
loadNode: output
sprite: Structures/Power/Generation/portable_generator.rsi
state: portgen3
- type: PowerSupplier
# No ramping needed on this bugger.
voltage: Apc
supplyRampTolerance: 2000
- type: GeneratorExhaustGas
gasType: CarbonDioxide
# Full tank is 25 moles of gas
moleRatio: 0.5
- type: Explosive
explosionType: Default
tileBreakScale: 0
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:SpillBehavior
solution: tank
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTypeTrigger
damageType: Piercing
damage: 75
behaviors:
- !type:SolutionExplosionBehavior
solution: tank
- type: Machine
board: PortableGeneratorJrPacmanMachineCircuitboard
- type: FuelGenerator
targetPower: 5000
minTargetPower: 4000
optimalPower: 8000
maxTargetPower: 8000
# 7.5 minutes at full tank.
optimalBurnRate: 0.11111111
# Shallow curve that allows you to just barely eek out 12 minutes at lowest.
fuelEfficiencyConstant: 0.3
- type: ChemicalFuelGeneratorAdapter
solution: tank
reagents:
WeldingFuel: 1
- type: RefillableSolution
solution: tank
- type: PortableGenerator
# Unreliable bugger
startChance: 0.5
- type: NodeContainer
examinable: true
nodes:
output:
!type:CableDeviceNode
nodeGroupID: Apc
- type: PowerMonitoringDevice
group: Generator
loadNode: output
sprite: Structures/Power/Generation/portable_generator.rsi
state: portgen3
- type: PowerSupplier
# No ramping needed on this bugger.
voltage: Apc
supplyRampTolerance: 2000
- type: GeneratorExhaustGas
gasType: CarbonDioxide
# Full tank is 25 moles of gas
moleRatio: 0.5
- type: Explosive
explosionType: Default
tileBreakScale: 0
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:SpillBehavior
solution: tank
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTypeTrigger
damageType: Piercing
damage: 75
behaviors:
- !type:SolutionExplosionBehavior
solution: tank
@@ -186,15 +186,6 @@
state: solar_panel_glass_broken
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -224,15 +215,6 @@
state: solar_panel_plasma_broken
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -262,15 +244,6 @@
state: solar_panel_uranium_broken
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -323,7 +296,7 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
@@ -117,15 +117,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- trigger:
!type:DamageTrigger
damage: 50
@@ -175,12 +166,6 @@
node: apcFrame
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -5,50 +5,50 @@
placement:
mode: SnapgridCenter
components:
- type: Sprite
sprite: Structures/Power/cable_terminal.rsi
state: term
drawdepth: BelowFloor
- type: Clickable
- type: InteractionOutline
- type: CollideOnAnchor
- type: Transform
anchored: true
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: RCDDeconstructable
cost: 2
delay: 0
fx: EffectRCDConstruct0
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Visibility
layer: 1
- type: Appearance
- type: SubFloorHide
blockAmbience: false
blockInteractions: false
- type: Construction
graph: CableTerminal
node: cable_terminal
- type: NodeContainer
nodes:
# Just define nodes for both MV and HV. One will end up unused in 99% of cases
# but it means one cable terminal type.
powerHV:
!type:CableTerminalNode
nodeGroupID: HVPower
powerMV:
!type:CableTerminalNode
nodeGroupID: MVPower
- type: Sprite
sprite: Structures/Power/cable_terminal.rsi
state: term
drawdepth: BelowFloor
- type: Clickable
- type: InteractionOutline
- type: CollideOnAnchor
- type: Transform
anchored: true
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: StructuralInorganic
- type: RCDDeconstructable
cost: 2
delay: 0
fx: EffectRCDConstruct0
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Visibility
layer: 1
- type: Appearance
- type: SubFloorHide
blockAmbience: false
blockInteractions: false
- type: Construction
graph: CableTerminal
node: cable_terminal
- type: NodeContainer
nodes:
# Just define nodes for both MV and HV. One will end up unused in 99% of cases
# but it means one cable terminal type.
powerHV:
!type:CableTerminalNode
nodeGroupID: HVPower
powerMV:
!type:CableTerminalNode
nodeGroupID: MVPower
- type: entity
id: CableTerminalUncuttable
@@ -82,12 +82,6 @@
cableType: HighVoltage
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -142,12 +136,6 @@
cableType: MediumVoltage
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -197,12 +185,6 @@
cableType: Apc
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -19,12 +19,6 @@
delay: 1
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 80
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 40
@@ -102,12 +102,6 @@
state: substation_static
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -195,12 +189,6 @@
state: substation_wall_static
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -64,10 +64,10 @@
!type:DamageTrigger
damage: 150
behaviors:
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Gun
fireRate: 5
useKey: false
@@ -122,10 +122,10 @@
!type:DamageTrigger
damage: 300
behaviors:
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Gun
fireRate: 1
soundGunshot:
@@ -181,10 +181,10 @@
!type:DamageTrigger
damage: 200
behaviors:
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Gun
projectileSpeed: 80
fireRate: 1
@@ -235,10 +235,10 @@
!type:DamageTrigger
damage: 350
behaviors:
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Gun
projectileSpeed: 40
fireRate: 0.3
@@ -291,8 +291,8 @@
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Sprite
sprite: Objects/Weapons/Guns/Shuttles/pirate_cannon.rsi
layers:
@@ -332,10 +332,10 @@
!type:DamageTrigger
damage: 100
behaviors:
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Gun
projectileSpeed: 20
fireRate: 2
@@ -57,59 +57,59 @@
placement:
mode: AlignTileAny
components:
- type: StationAiWhitelist
- type: PowerCharge
windowTitle: station-anchor-window-title
idlePower: 50
activePower: 2500
chargeRate: 0.5
- type: ActivatableUI
key: enum.PowerChargeUiKey.Key
- type: ActivatableUIRequiresPower
- type: Anchorable
- type: ApcPowerReceiver
powerLoad: 2500
- type: ExtensionCableReceiver
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Repairable
fuelCost: 10
doAfterDelay: 5
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: [ "Breakage" ]
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: StaticPrice
price: 10000
- type: Machine
board: StationAnchorCircuitboard
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: Construction
containers:
- machine_parts
- machine_board
- type: UserInterface
interfaces:
enum.PowerChargeUiKey.Key:
type: PowerChargeBoundUserInterface
- type: StationAiWhitelist
- type: PowerCharge
windowTitle: station-anchor-window-title
idlePower: 50
activePower: 2500
chargeRate: 0.5
- type: ActivatableUI
key: enum.PowerChargeUiKey.Key
- type: ActivatableUIRequiresPower
- type: Anchorable
- type: ApcPowerReceiver
powerLoad: 2500
- type: ExtensionCableReceiver
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Repairable
fuelCost: 10
doAfterDelay: 5
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: [ "Breakage" ]
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: StaticPrice
price: 10000
- type: Machine
board: StationAnchorCircuitboard
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
- type: Construction
containers:
- machine_parts
- machine_board
- type: UserInterface
interfaces:
enum.PowerChargeUiKey.Key:
type: PowerChargeBoundUserInterface
- type: entity
parent: StationAnchor
@@ -4,62 +4,62 @@
name: thruster
description: A thruster that allows a shuttle to move.
abstract: true
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- MachineMask
layer:
- MachineLayer
- type: AmbientSound
enabled: false
range: 4
volume: -4
sound:
path: /Audio/Effects/shuttle_thruster.ogg
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Rotatable
rotateWhileAnchored: true
- type: Thruster
damage:
types:
Heat: 40
- type: InteractionOutline
- type: Sprite
- type: Appearance
- type: ApcPowerReceiver
powerLoad: 1500
- type: ExtensionCableReceiver
- type: Damageable
damageModifierSet: Electronic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300 # Changed 100->300 because impact damage is real
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: StaticPrice
price: 300
- type: GuideHelp
guides:
- ShuttleCraft
placement:
mode: SnapgridCenter
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- MachineMask
layer:
- MachineLayer
- type: AmbientSound
enabled: false
range: 4
volume: -4
sound:
path: /Audio/Effects/shuttle_thruster.ogg
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Rotatable
rotateWhileAnchored: true
- type: Thruster
damage:
types:
Heat: 40
- type: InteractionOutline
- type: Sprite
- type: Appearance
- type: ApcPowerReceiver
powerLoad: 1500
- type: ExtensionCableReceiver
- type: Damageable
damageModifierSet: Electronic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300 # Changed 100->300 because impact damage is real
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: StaticPrice
price: 300
- type: GuideHelp
guides:
- ShuttleCraft
- type: entity
id: Thruster
@@ -70,23 +70,17 @@
board: ThrusterMachineCircuitboard
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- type: Sprite
sprite: Structures/Shuttles/thruster.rsi
layers:
@@ -126,21 +120,15 @@
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 1800
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 900
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: Fixtures
fixtures:
fix1:
@@ -256,23 +244,17 @@
board: GyroscopeMachineCircuitboard
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:ChangeConstructionNodeBehavior
node: machineFrame
- type: Damageable
damageModifierSet: Electronic
- type: Injurable
@@ -323,41 +305,41 @@
name: rusted thruster
description: An unrepairable thruster, broken down from wear and tear. Only useful for scrapping.
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- MachineMask
layer:
- MachineLayer
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Rotatable
rotateWhileAnchored: true
- type: Sprite
sprite: Structures/Shuttles/old_thruster.rsi
state: base
- type: Damageable
damageModifierSet: Electronic
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100 # Considering we need a lot of thrusters didn't want to make an individual one too tanky
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: PhysicalComposition
materialComposition:
Steel: 1200 # 12 sheets
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- MachineMask
layer:
- MachineLayer
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Rotatable
rotateWhileAnchored: true
- type: Sprite
sprite: Structures/Shuttles/old_thruster.rsi
state: base
- type: Damageable
damageModifierSet: Electronic
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100 # Considering we need a lot of thrusters didn't want to make an individual one too tanky
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: PhysicalComposition
materialComposition:
Steel: 1200 # 12 sheets
@@ -849,17 +849,17 @@
damageContainer: Biological
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 1
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
EffectAnomalyFloraBulb:
min: 1
max: 1
- trigger:
!type:DamageTrigger
damage: 1
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
EffectAnomalyFloraBulb:
min: 1
max: 1
- type: PointLight
radius: 2.0
energy: 4.5
@@ -5,92 +5,87 @@
parent: [BaseStructureDynamic, StructureWheeled]
description: Deliver packages with style and efficiency.
components:
- type: Sprite
noRot: true
sprite: Objects/Specific/Cargo/mailcart.rsi
layers:
- state: mailcart_base
- type: InteractionOutline
- type: Storage
grid:
- 0,0,15,7
quickInsert: true
maxItemSize: Huge
whitelist:
components:
- Delivery
- WrappedParcel
tags:
- Paper
- Document
- BoxCardboard
- Folder
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.18,-0.2,0.18,0.2"
density: 60
mask:
- FullTileMask
layer:
- LargeMobLayer
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: !type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger: !type:DamageTrigger
damage: 200
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: ItemMapper
mapLayers:
package_1:
minCount: 1
whitelist: &PackageWhitelist
tags:
- PackageDelivery
package_2:
minCount: 2
whitelist: *PackageWhitelist
package_3:
minCount: 3
whitelist: *PackageWhitelist
package_4:
minCount: 4
whitelist: *PackageWhitelist
package_5:
minCount: 5
whitelist: *PackageWhitelist
package_6:
minCount: 6
whitelist: *PackageWhitelist
package_7:
minCount: 7
whitelist: *PackageWhitelist
package_8:
minCount: 8
whitelist: *PackageWhitelist
sprite: Objects/Specific/Cargo/mailcart.rsi
- type: Appearance
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
- type: Sprite
noRot: true
sprite: Objects/Specific/Cargo/mailcart.rsi
layers:
- state: mailcart_base
- type: InteractionOutline
- type: Storage
grid:
- 0,0,15,7
quickInsert: true
maxItemSize: Huge
whitelist:
components:
- Delivery
- WrappedParcel
tags:
- Paper
- Document
- BoxCardboard
- Folder
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.18,-0.2,0.18,0.2"
density: 60
mask:
- FullTileMask
layer:
- LargeMobLayer
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger: !type:DamageTrigger
damage: 200
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: ItemMapper
mapLayers:
package_1:
minCount: 1
whitelist: &PackageWhitelist
tags:
- PackageDelivery
package_2:
minCount: 2
whitelist: *PackageWhitelist
package_3:
minCount: 3
whitelist: *PackageWhitelist
package_4:
minCount: 4
whitelist: *PackageWhitelist
package_5:
minCount: 5
whitelist: *PackageWhitelist
package_6:
minCount: 6
whitelist: *PackageWhitelist
package_7:
minCount: 7
whitelist: *PackageWhitelist
package_8:
minCount: 8
whitelist: *PackageWhitelist
sprite: Objects/Specific/Cargo/mailcart.rsi
- type: Appearance
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
@@ -6,56 +6,50 @@
placement:
mode: SnapgridCenter
components:
- type: Sprite
drawdepth: FloorObjects
sprite: Objects/Specific/Janitorial/drain.rsi
layers:
- state: icon
- map: [ "enum.SolutionContainerLayers.Fill" ]
state: fill-1
visible: false
- type: InteractionOutline
- type: Clickable
- type: Transform
anchored: true
- type: Physics
bodyType: Static
canCollide: false
- type: AmbientSound
enabled: false
volume: -8
range: 8
sound:
path: /Audio/Ambience/Objects/drain.ogg
- type: Drain
- type: DumpableSolution
solution: drainBuffer
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 1
fillBaseName: fill-
solutionName: drainBuffer
- type: Damageable
damageModifierSet: StructuralMetallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: Sprite
drawdepth: FloorObjects
sprite: Objects/Specific/Janitorial/drain.rsi
layers:
- state: icon
- map: [ "enum.SolutionContainerLayers.Fill" ]
state: fill-1
visible: false
- type: InteractionOutline
- type: Clickable
- type: Transform
anchored: true
- type: Physics
bodyType: Static
canCollide: false
- type: AmbientSound
enabled: false
volume: -8
range: 8
sound:
path: /Audio/Ambience/Objects/drain.ogg
- type: Drain
- type: DumpableSolution
solution: drainBuffer
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 1
fillBaseName: fill-
solutionName: drainBuffer
- type: Damageable
damageModifierSet: StructuralMetallic
- type: Injurable
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: entity
parent: [SolutionDrain, SolutionNormal]
@@ -149,227 +149,221 @@
name: janitorial trolley
description: This is the alpha and omega of sanitation.
components:
- type: Sprite
noRot: true
sprite: Objects/Specific/Janitorial/janitorial_cart.rsi
layers:
- state: cart
- state: cart_water-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Rotatable
- type: InteractionOutline
# Removing storage until OnInteractUsing logic resolved
#- type: Storage
# popup: false
# capacity: 80
# blacklist: # there is exclusive item slots for that
# tags:
# - Mop
# - TrashBag
# - Bucket
- type: ItemSlots
slots:
mop_slot:
name: janitorial-trolley-slot-component-slot-name-mop
whitelist:
tags:
- Mop
insertOnInteract: false # or it conflicts with bucket logic
priority: 9 # Higher than bucket slot
plunger_slot:
name: janitorial-trolley-slot-component-slot-name-plunger
whitelist:
tags:
- Plunger
- GoldenPlunger
priority: 8
wetfloorsign_slot4:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
wetfloorsign_slot3:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
wetfloorsign_slot2:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
wetfloorsign_slot1:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
lightreplacer_slot:
name: janitorial-trolley-slot-component-slot-name-lightreplacer
whitelist:
components:
- LightReplacer
priority: 6
spraybottle_slot:
name: janitorial-trolley-slot-component-slot-name-spray
whitelist:
tags:
- Spray
insertOnInteract: false # or it conflicts with bucket logic
priority: 5 # Higher than bucket slot
bucket_slot:
name: janitorial-trolley-slot-component-slot-name-bucket
whitelist:
tags:
- Bucket
insertOnInteract: false # or it also conflicts with bucket logic
priority: 4 # Higher than trash bag slot
trashbag_slot:
name: janitorial-trolley-slot-component-slot-name-trashbag
whitelist:
tags:
- TrashBag
priority: 3 # Higher than drinking priority
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.3
density: 250
layer:
- MobLayer
mask:
- MobMask
- type: Spillable
solution: tank
spillDelay: 3.0
spillWhenThrown: false
- type: Solution
solution:
reagents:
- ReagentId: Water
Quantity: 960
- type: DrainableSolution
solution: tank
- type: RefillableSolution
solution: tank
- type: ExaminableSolution
solution: tank
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: ItemMapper
mapLayers:
cart_plunger:
whitelist:
tags:
- Plunger
cart_goldenplunger:
whitelist:
tags:
- GoldenPlunger
cart_mop:
whitelist:
tags:
- MopBasic
cart_advmop:
whitelist:
tags:
- MopAdv
cart_garbage:
whitelist:
tags:
- TrashBag
cart_garbage_blue:
whitelist:
tags:
- TrashBagBlue
cart_replacer:
whitelist:
components:
- LightReplacer
cart_spray:
whitelist:
tags:
- Spray
cart_sign1: # this is like stack of floor signs
minCount: 1
whitelist:
tags:
- WetFloorSign
cart_sign2:
minCount: 2
whitelist:
tags:
- WetFloorSign
cart_sign3:
minCount: 3
whitelist:
tags:
- WetFloorSign
cart_sign4:
minCount: 4
whitelist:
tags:
- WetFloorSign
cart_bucket:
whitelist:
tags:
- Bucket
sprite: Objects/Specific/Janitorial/janitorial_cart.rsi
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 3
fillBaseName: cart_water-
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: Edible
edible: Drink
solution: tank
destroyOnEmpty: false
utensil: Spoon
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
mop_slot: !type:ContainerSlot {}
trashbag_slot: !type:ContainerSlot {}
bucket_slot: !type:ContainerSlot {}
plunger_slot: !type:ContainerSlot {}
goldenplunger_slot: !type:ContainerSlot {}
wetfloorsign_slot4: !type:ContainerSlot {}
wetfloorsign_slot3: !type:ContainerSlot {}
wetfloorsign_slot2: !type:ContainerSlot {}
wetfloorsign_slot1: !type:ContainerSlot {}
lightreplacer_slot: !type:ContainerSlot {}
spraybottle_slot: !type:ContainerSlot {}
- type: GuideHelp
guides:
- Janitorial
- type: DnaSubstanceTrace
- type: Sprite
noRot: true
sprite: Objects/Specific/Janitorial/janitorial_cart.rsi
layers:
- state: cart
- state: cart_water-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Rotatable
- type: InteractionOutline
# Removing storage until OnInteractUsing logic resolved
#- type: Storage
# popup: false
# capacity: 80
# blacklist: # there is exclusive item slots for that
# tags:
# - Mop
# - TrashBag
# - Bucket
- type: ItemSlots
slots:
mop_slot:
name: janitorial-trolley-slot-component-slot-name-mop
whitelist:
tags:
- Mop
insertOnInteract: false # or it conflicts with bucket logic
priority: 9 # Higher than bucket slot
plunger_slot:
name: janitorial-trolley-slot-component-slot-name-plunger
whitelist:
tags:
- Plunger
- GoldenPlunger
priority: 8
wetfloorsign_slot4:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
wetfloorsign_slot3:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
wetfloorsign_slot2:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
wetfloorsign_slot1:
name: janitorial-trolley-slot-component-slot-name-sign
whitelist:
tags:
- WetFloorSign
priority: 7
lightreplacer_slot:
name: janitorial-trolley-slot-component-slot-name-lightreplacer
whitelist:
components:
- LightReplacer
priority: 6
spraybottle_slot:
name: janitorial-trolley-slot-component-slot-name-spray
whitelist:
tags:
- Spray
insertOnInteract: false # or it conflicts with bucket logic
priority: 5 # Higher than bucket slot
bucket_slot:
name: janitorial-trolley-slot-component-slot-name-bucket
whitelist:
tags:
- Bucket
insertOnInteract: false # or it also conflicts with bucket logic
priority: 4 # Higher than trash bag slot
trashbag_slot:
name: janitorial-trolley-slot-component-slot-name-trashbag
whitelist:
tags:
- TrashBag
priority: 3 # Higher than drinking priority
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.3
density: 250
layer:
- MobLayer
mask:
- MobMask
- type: Spillable
solution: tank
spillDelay: 3.0
spillWhenThrown: false
- type: Solution
solution:
reagents:
- ReagentId: Water
Quantity: 960
- type: DrainableSolution
solution: tank
- type: RefillableSolution
solution: tank
- type: ExaminableSolution
solution: tank
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: ItemMapper
mapLayers:
cart_plunger:
whitelist:
tags:
- Plunger
cart_goldenplunger:
whitelist:
tags:
- GoldenPlunger
cart_mop:
whitelist:
tags:
- MopBasic
cart_advmop:
whitelist:
tags:
- MopAdv
cart_garbage:
whitelist:
tags:
- TrashBag
cart_garbage_blue:
whitelist:
tags:
- TrashBagBlue
cart_replacer:
whitelist:
components:
- LightReplacer
cart_spray:
whitelist:
tags:
- Spray
cart_sign1: # this is like stack of floor signs
minCount: 1
whitelist:
tags:
- WetFloorSign
cart_sign2:
minCount: 2
whitelist:
tags:
- WetFloorSign
cart_sign3:
minCount: 3
whitelist:
tags:
- WetFloorSign
cart_sign4:
minCount: 4
whitelist:
tags:
- WetFloorSign
cart_bucket:
whitelist:
tags:
- Bucket
sprite: Objects/Specific/Janitorial/janitorial_cart.rsi
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 3
fillBaseName: cart_water-
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: Edible
edible: Drink
solution: tank
destroyOnEmpty: false
utensil: Spoon
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
mop_slot: !type:ContainerSlot {}
trashbag_slot: !type:ContainerSlot {}
bucket_slot: !type:ContainerSlot {}
plunger_slot: !type:ContainerSlot {}
goldenplunger_slot: !type:ContainerSlot {}
wetfloorsign_slot4: !type:ContainerSlot {}
wetfloorsign_slot3: !type:ContainerSlot {}
wetfloorsign_slot2: !type:ContainerSlot {}
wetfloorsign_slot1: !type:ContainerSlot {}
lightreplacer_slot: !type:ContainerSlot {}
spraybottle_slot: !type:ContainerSlot {}
- type: GuideHelp
guides:
- Janitorial
- type: DnaSubstanceTrace
@@ -44,12 +44,12 @@
density: 1000
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
parent: XenoWardingTower
@@ -5,152 +5,146 @@
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: Animateable
- type: InteractionOutline
- type: Transform
noRot: true
- type: Sprite
sprite: Structures/Storage/canister.rsi
noRot: true
layers:
- state: grey
- state: paper
visible: false
map: [ "enum.PaperLabelVisuals.Layer" ]
- state: integrity-unshaded-0
map: [ "enum.MaxPressureVisualLayers.BaseUnshaded" ]
shader: unshaded
visible: false
- state: mask-grey
map: [ "enum.MaxPressureVisualLayers.Base" ]
visible: false
- type: Appearance
- type: GenericVisualizer
visuals:
enum.AnchorVisuals.Anchored:
connectedToPort:
False: { state: can-connector, visible: false }
True: { state: can-connector, visible: true }
enum.GasCanisterVisuals.TankInserted:
tankInserted:
False: { state: can-open, visible: false }
True: { state: can-open, visible: true }
enum.LockVisuals.Locked:
locked:
False: { state: unlocked, shader: "unshaded" }
True: { state: locked, shader: "unshaded" }
enum.GasCanisterVisuals.PressureState:
pressureLight:
0: { state: can-o0, shader: "unshaded" }
1: { state: can-o1, shader: "unshaded" }
2: { state: can-o2, shader: "unshaded" }
3: { state: can-o3, shader: "unshaded" }
enum.PaperLabelVisuals.HasLabel:
enum.PaperLabelVisuals.Layer:
True: { visible: true }
False: { visible: false }
enum.StorageVisuals.Open:
enum.PaperLabelVisuals.Layer:
True: { visible: false }
enum.PaperLabelVisuals.LabelType:
enum.PaperLabelVisuals.Layer:
Paper: { state: paper }
Bounty: { state: bounty }
CaptainsPaper: { state: captains_paper }
Invoice: { state: invoice }
- type: ActivatableUI
key: enum.GasCanisterUiKey.Key
- type: UIRequiresLock
userInterfaceKeys:
- enum.GasCanisterUiKey.Key
- type: UserInterface
interfaces:
enum.GasCanisterUiKey.Key:
type: GasCanisterBoundUserInterface
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
GasCanisterBrokenBase:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:DumpCanisterBehavior
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Physics
bodyType: Dynamic
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.25,0.25,0.25"
density: 190
mask:
- SmallMobMask
layer:
- MachineLayer
- type: AtmosDevice
requireAnchored: false
joinSystem: true
- type: ContainerContainer
containers:
tank_slot: !type:ContainerSlot {}
paper_label: !type:ContainerSlot
- type: NodeContainer
nodes:
port:
!type:PortablePipeNode
nodeGroupID: Pipe
rotationsEnabled: false
volume: 1
- type: GasPortable
- type: MaxPressureVisuals
integrityMask: mask-grey
- type: GasCanister
maxIntegrity: 15 # 5 times stronger than a gas tank
integrity: 15
maxReleasePressure: 1013.25
safetyPressure: 10132.5 # High enough that liquid tanks don't burst immediately, with an extra 33% wiggle room to work with
overpressure: 20265 # Purposefully high because cans react really fucking fast, may need to redo this value if reactions change!
gasTankSlot:
name: comp-gas-canister-slot-name-gas-tank
ejectOnBreak: true
whitelist:
components:
- GasTank
- type: Explosive
explosionType: Minibomb # Mostly a pressure wave explosive so primarily blunt damage
maxIntensity: 100
tileBreakScale: 0.2 # Keeps the can from spacing all the hot gas it has now vented :). If this proves to be too much it can be removed.
- type: StaticPrice
price: 200
- type: AccessReader
access: [["Atmospherics"], ["Engineering"], ["Research"]]
- type: Lock
locked: false
- type: GuideHelp
guides:
- GasCanisters
- type: Paintable
group: Canisters
- type: Animateable
- type: InteractionOutline
- type: Transform
noRot: true
- type: Sprite
sprite: Structures/Storage/canister.rsi
noRot: true
layers:
- state: grey
- state: paper
visible: false
map: [ "enum.PaperLabelVisuals.Layer" ]
- state: integrity-unshaded-0
map: [ "enum.MaxPressureVisualLayers.BaseUnshaded" ]
shader: unshaded
visible: false
- state: mask-grey
map: [ "enum.MaxPressureVisualLayers.Base" ]
visible: false
- type: Appearance
- type: GenericVisualizer
visuals:
enum.AnchorVisuals.Anchored:
connectedToPort:
False: { state: can-connector, visible: false }
True: { state: can-connector, visible: true }
enum.GasCanisterVisuals.TankInserted:
tankInserted:
False: { state: can-open, visible: false }
True: { state: can-open, visible: true }
enum.LockVisuals.Locked:
locked:
False: { state: unlocked, shader: "unshaded" }
True: { state: locked, shader: "unshaded" }
enum.GasCanisterVisuals.PressureState:
pressureLight:
0: { state: can-o0, shader: "unshaded" }
1: { state: can-o1, shader: "unshaded" }
2: { state: can-o2, shader: "unshaded" }
3: { state: can-o3, shader: "unshaded" }
enum.PaperLabelVisuals.HasLabel:
enum.PaperLabelVisuals.Layer:
True: { visible: true }
False: { visible: false }
enum.StorageVisuals.Open:
enum.PaperLabelVisuals.Layer:
True: { visible: false }
enum.PaperLabelVisuals.LabelType:
enum.PaperLabelVisuals.Layer:
Paper: { state: paper }
Bounty: { state: bounty }
CaptainsPaper: { state: captains_paper }
Invoice: { state: invoice }
- type: ActivatableUI
key: enum.GasCanisterUiKey.Key
- type: UIRequiresLock
userInterfaceKeys:
- enum.GasCanisterUiKey.Key
- type: UserInterface
interfaces:
enum.GasCanisterUiKey.Key:
type: GasCanisterBoundUserInterface
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:SpawnEntitiesBehavior
spawn:
GasCanisterBrokenBase:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:DumpCanisterBehavior
- type: Damageable
damageModifierSet: Metallic
- type: Injurable
damageContainer: Inorganic
- type: Physics
bodyType: Dynamic
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.25,0.25,0.25"
density: 190
mask:
- SmallMobMask
layer:
- MachineLayer
- type: AtmosDevice
requireAnchored: false
joinSystem: true
- type: ContainerContainer
containers:
tank_slot: !type:ContainerSlot {}
paper_label: !type:ContainerSlot
- type: NodeContainer
nodes:
port:
!type:PortablePipeNode
nodeGroupID: Pipe
rotationsEnabled: false
volume: 1
- type: GasPortable
- type: MaxPressureVisuals
integrityMask: mask-grey
- type: GasCanister
maxIntegrity: 15 # 5 times stronger than a gas tank
integrity: 15
maxReleasePressure: 1013.25
safetyPressure: 10132.5 # High enough that liquid tanks don't burst immediately, with an extra 33% wiggle room to work with
overpressure: 20265 # Purposefully high because cans react really fucking fast, may need to redo this value if reactions change!
gasTankSlot:
name: comp-gas-canister-slot-name-gas-tank
ejectOnBreak: true
whitelist:
components:
- GasTank
- type: Explosive
explosionType: Minibomb # Mostly a pressure wave explosive so primarily blunt damage
maxIntensity: 100
tileBreakScale: 0.2 # Keeps the can from spacing all the hot gas it has now vented :). If this proves to be too much it can be removed.
- type: StaticPrice
price: 200
- type: AccessReader
access: [["Atmospherics"], ["Engineering"], ["Research"]]
- type: Lock
locked: false
- type: GuideHelp
guides:
- GasCanisters
- type: Paintable
group: Canisters
- type: entity
parent: GasCanister
@@ -178,12 +172,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -233,12 +221,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -284,12 +266,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -350,12 +326,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -416,12 +386,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -484,12 +448,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -537,12 +495,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -590,12 +542,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -641,12 +587,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -694,12 +634,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -747,12 +681,6 @@
temperature: 293.15
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 600
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
@@ -797,12 +725,6 @@
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 100
@@ -62,12 +62,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 150
@@ -59,12 +59,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -155,12 +149,6 @@
ents: []
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
@@ -279,12 +267,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
@@ -161,15 +161,6 @@
damageModifierSet: Web
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -423,15 +414,6 @@
sprite: Structures/Storage/Crates/cage.rsi
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 15
@@ -725,15 +707,6 @@
state: base
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 15
@@ -776,15 +749,6 @@
state: base
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 400
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 200 # discourage just beating the grave to break it open
@@ -28,12 +28,6 @@
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTypeTrigger
damageType: Heat
@@ -22,12 +22,6 @@
- MachineLayer
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 25
@@ -80,15 +80,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 50
@@ -79,21 +79,6 @@
collection: GlassSmash
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 300
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:PlaySoundBehavior
sound:
path: /Audio/Machines/warning_buzzer.ogg
params:
volume: 10
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 150
@@ -181,15 +166,6 @@
damageContainer: StructuralInorganic
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100
@@ -221,15 +197,6 @@
node: brokenGlassBox
- type: Destructible
thresholds:
- trigger: # Excess damage, don't spawn entities
!type:DamageTrigger
damage: 200
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 100

Some files were not shown because too many files have changed in this diff Show More