Damage rework (#2525)

* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable

* Copy sound logic to destructible component for now

* Fix typo

* Fix prototype error

* Remove breakable component damageable reference

* Remove breakable construction reference

* Remove ruinable component

* Move thresholds to individual components and away from damageable

* Add threshold property to damageable component code

* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states

* Being alive isn't normal

* Fix not reading the id

* Merge fixes

* YAML fixes

* Grammar moment

* Remove unnecessary dependency

* Update thresholds doc

* Change naming of thresholds to states in MobStateComponent

* Being alive is once again normal

* Make DamageState a byte

* Bring out classes structs and enums from DestructibleComponent

* Add test for destructible thresholds

* Merge fixes

* More merge fixes and fix rejuvenate test

* Remove IMobState.IsConscious

* More merge fixes someone please god review this shit already

* Fix rejuvenate test

* Update outdated destructible in YAML

* Fix repeatedly entering the current state

* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test

* Update saltern
This commit is contained in:
DrSmugleaf
2020-12-07 14:52:55 +01:00
committed by GitHub
parent 9a187629ba
commit 02bca4c0d8
133 changed files with 3195 additions and 5897 deletions

View File

@@ -1,3 +1,4 @@
# TODO BODY: Part damage
- type: entity
id: PartHuman
name: "human body part"
@@ -30,8 +31,8 @@
# TODO BODY DettachableDamageableComponent?
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 100
deadThreshold: 150
# criticalThreshold: 100
# deadThreshold: 150
- type: entity
id: HeadHuman
@@ -57,8 +58,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 50
deadThreshold: 120
# criticalThreshold: 50
# deadThreshold: 120
- type: entity
id: LeftArmHuman
@@ -81,8 +82,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 40
deadThreshold: 80
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
distance: 2.4
@@ -107,8 +108,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 40
deadThreshold: 80
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
distance: 2.4
@@ -133,8 +134,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 30
deadThreshold: 60
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
- type: entity
@@ -151,8 +152,6 @@
state: "r_hand"
- type: BodyPart
partType: Hand
durability: 30
destroyThreshold: -60
size: 3
compatibility: Biological
symmetry: Right
@@ -160,8 +159,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 30
deadThreshold: 60
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
- type: entity
@@ -185,8 +184,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 45
deadThreshold: 90
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
speed: 2.6
- type: Extension
@@ -206,8 +205,6 @@
state: "r_leg"
- type: BodyPart
partType: Leg
durability: 45
destroyThreshold: -90
size: 6
compatibility: Biological
symmetry: Right
@@ -215,8 +212,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 45
deadThreshold: 90
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
speed: 2.6
- type: Extension
@@ -243,8 +240,8 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 30
deadThreshold: 60
# criticalThreshold: 30
# deadThreshold: 60
- type: entity
id: RightFootHuman
@@ -267,5 +264,5 @@
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
criticalThreshold: 30
deadThreshold: 60
# criticalThreshold: 30
# deadThreshold: 60

View File

@@ -1,6 +1,6 @@
- type: damageContainer
id: biologicalDamageContainer
activeDamageClasses:
supportedClasses:
- Brute
- Burn
- Toxin
@@ -9,6 +9,6 @@
- type: damageContainer
id: metallicDamageContainer
activeDamageClasses:
supportedClasses:
- Brute
- Burn

View File

@@ -56,9 +56,12 @@
- type: Occluder
- type: SnapGrid
offset: Center
- type: Destructible
deadThreshold: 500
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
500:
Acts: ["Destruction"]
placement:
mode: SnapgridCenter

View File

@@ -27,8 +27,11 @@
- type: Strap
position: Down
rotation: -90
- type: Destructible
deadThreshold: 75
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
75:
Acts: ["Destruction"]
placement:
mode: SnapgridCenter

View File

@@ -19,14 +19,17 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Destructible
deadThreshold: 30
destroySound: /Audio/Effects/woodhit.ogg
spawnOnDestroy:
WoodPlank:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
30:
Sound: /Audio/Effects/woodhit.ogg
Spawn:
WoodPlank:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Occluder
sizeX: 32
sizeY: 32

View File

@@ -1,77 +1,80 @@
- type: entity
name: baseinstrument
id: BasePlaceableInstrument
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Instrument
handheld: false
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Physics
shapes:
- !type:PhysShapeAabb
layer: [MobMask]
mask:
- Impassable
- MobImpassable
- VaultImpassable
- type: SnapGrid
offset: Center
- type: Destructible
deadThreshold: 50
resistances: metallicResistances
- type: UserInterface
interfaces:
- key: enum.InstrumentUiKey.Key
type: InstrumentBoundUserInterface
- type: entity
name: baseinstrument
id: BasePlaceableInstrument
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Instrument
handheld: false
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Physics
shapes:
- !type:PhysShapeAabb
layer: [MobMask]
mask:
- Impassable
- MobImpassable
- VaultImpassable
- type: SnapGrid
offset: Center
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
50:
Acts: ["Destruction"]
- type: UserInterface
interfaces:
- key: enum.InstrumentUiKey.Key
type: InstrumentBoundUserInterface
- type: entity
name: piano
parent: BasePlaceableInstrument
id: PianoInstrument
description: Play Needles Piano Now.
components:
- type: Instrument
program: 1
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: piano
- type: entity
name: piano
parent: BasePlaceableInstrument
id: PianoInstrument
description: Play Needles Piano Now.
components:
- type: Instrument
program: 1
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: piano
- type: entity
name: minimoog
parent: BasePlaceableInstrument
id: MinimoogInstrument
description: 'This is a minimoog, like a space piano, but more spacey!'
components:
- type: Instrument
program: 81
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: minimoog
- type: entity
name: minimoog
parent: BasePlaceableInstrument
id: MinimoogInstrument
description: 'This is a minimoog, like a space piano, but more spacey!'
components:
- type: Instrument
program: 81
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: minimoog
- type: entity
name: church organ
parent: BasePlaceableInstrument
id: ChurchOrganInstrument
description: This thing really blows!
components:
- type: Instrument
program: 20
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: church_organ
- type: entity
name: church organ
parent: BasePlaceableInstrument
id: ChurchOrganInstrument
description: This thing really blows!
components:
- type: Instrument
program: 20
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: church_organ
- type: entity
name: xylophone
parent: BasePlaceableInstrument
id: XylophoneInstrument
description: Rainbow colored glockenspiel.
components:
- type: Instrument
program: 13
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: xylophone
- type: entity
name: xylophone
parent: BasePlaceableInstrument
id: XylophoneInstrument
description: Rainbow colored glockenspiel.
components:
- type: Instrument
program: 13
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: xylophone

View File

@@ -11,9 +11,12 @@
- type: Physics
- type: Clickable
- type: InteractionOutline
- type: Destructible
deadThreshold: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: ShuttleController
- type: Strap
position: Stand

View File

@@ -30,9 +30,12 @@
position: Stand
- type: Anchorable
- type: Pullable
- type: Destructible
deadThreshold: 50
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
50:
Acts: ["Destruction"]
- type: entity
name: chair

View File

@@ -27,14 +27,17 @@
- VaultImpassable
- type: Pullable
- type: Anchorable
- type: Destructible
deadThreshold: 30
destroySound: /Audio/Effects/metalbreak.ogg
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
30:
Sound: /Audio/Effects/metalbreak.ogg
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: entity
id: Shelf
@@ -65,11 +68,14 @@
- VaultImpassable
- type: Pullable
- type: Anchorable
- type: Destructible
deadThreshold: 30
destroySound: /Audio/Effects/metalbreak.ogg
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
30:
Sound: /Audio/Effects/metalbreak.ogg
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]

View File

@@ -35,14 +35,17 @@
sprite: Constructible/Structures/Tables/generic.rsi
- type: Icon
sprite: Constructible/Structures/Tables/generic.rsi
- type: Destructible
deadThreshold: 15
destroySound: /Audio/Effects/metalbreak.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Destructible
thresholds:
15:
Sound: /Audio/Effects/metalbreak.ogg
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: entity
id: TableFrame
@@ -54,14 +57,17 @@
sprite: Constructible/Structures/Tables/frame.rsi
- type: Icon
sprite: Constructible/Structures/Tables/frame.rsi
- type: Destructible
deadThreshold: 1
destroySound: /Audio/Effects/metalbreak.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Destructible
thresholds:
1:
Sound: /Audio/Effects/metalbreak.ogg
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Construction
graph: Tables
node: TableFrame
@@ -76,14 +82,17 @@
sprite: Constructible/Structures/Tables/bar.rsi
- type: Icon
sprite: Constructible/Structures/Tables/bar.rsi
- type: Destructible
deadThreshold: 1
destroySound: /Audio/Effects/metalbreak.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Destructible
thresholds:
1:
Sound: /Audio/Effects/metalbreak.ogg
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: entity
id: TableMetal
@@ -95,14 +104,17 @@
sprite: Constructible/Structures/Tables/metal.rsi
- type: Icon
sprite: Constructible/Structures/Tables/metal.rsi
- type: Destructible
deadThreshold: 15
destroySound: /Audio/Effects/metalbreak.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Destructible
thresholds:
15:
Sound: /Audio/Effects/metalbreak.ogg
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Construction
graph: Tables
node: MetalTable
@@ -117,14 +129,17 @@
sprite: Constructible/Structures/Tables/reinforced.rsi
- type: Icon
sprite: Constructible/Structures/Tables/reinforced.rsi
- type: Destructible
deadThreshold: 75
destroySound: /Audio/Effects/metalbreak.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Destructible
thresholds:
75:
Sound: /Audio/Effects/metalbreak.ogg
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Construction
graph: Tables
node: ReinforcedTable
@@ -139,14 +154,17 @@
sprite: Constructible/Structures/Tables/glass.rsi
- type: Icon
sprite: Constructible/Structures/Tables/glass.rsi
- type: Destructible
deadThreshold: 5
destroySound: /Audio/Effects/glass_break2.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
ShardGlass:
Min: 1
Max: 1
- type: Destructible
thresholds:
5:
Sound: /Audio/Effects/glass_break2.ogg
Spawn:
ShardGlass:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Construction
graph: Tables
node: GlassTable
@@ -161,14 +179,17 @@
sprite: Constructible/Structures/Tables/r_glass.rsi
- type: Icon
sprite: Constructible/Structures/Tables/r_glass.rsi
- type: Destructible
deadThreshold: 20
destroySound: /Audio/Effects/glass_break2.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
ShardGlass:
Min: 1
Max: 1
- type: Destructible
thresholds:
20:
Sound: /Audio/Effects/glass_break2.ogg
Spawn:
ShardGlass:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Construction
graph: Tables
node: RGlassTable
@@ -183,14 +204,17 @@
sprite: Constructible/Structures/Tables/wood.rsi
- type: Icon
sprite: Constructible/Structures/Tables/wood.rsi
- type: Destructible
deadThreshold: 15
destroySound: /Audio/Effects/woodhit.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
WoodPlank:
Min: 1
Max: 1
- type: Destructible
thresholds:
15:
Sound: /Audio/Effects/woodhit.ogg
Spawn:
WoodPlank:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Construction
graph: Tables
node: WoodTable
@@ -205,14 +229,17 @@
sprite: Constructible/Structures/Tables/carpet.rsi
- type: Icon
sprite: Constructible/Structures/Tables/carpet.rsi
- type: Destructible
deadThreshold: 15
destroySound: /Audio/Effects/woodhit.ogg
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
WoodPlank:
Min: 1
Max: 1
- type: Destructible
thresholds:
15:
Sound: /Audio/Effects/woodhit.ogg
Spawn:
WoodPlank:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Construction
graph: Tables
node: PokerTable
@@ -227,10 +254,13 @@
sprite: Constructible/Structures/Tables/stone.rsi
- type: Icon
sprite: Constructible/Structures/Tables/stone.rsi
- type: Destructible
deadThreshold: 50
destroySound: /Audio/Effects/picaxe2.ogg
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
50:
Sound: /Audio/Effects/picaxe2.ogg
Acts: ["Destruction"]
- type: entity
id: TableDebug
@@ -242,6 +272,9 @@
sprite: Constructible/Structures/Tables/debug.rsi
- type: Icon
sprite: Constructible/Structures/Tables/debug.rsi
- type: Destructible
deadThreshold: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
1:
Acts: ["Destruction"]

View File

@@ -10,8 +10,11 @@
- type: SnapGrid
offset: Center
- type: Sprite
- type: Damageable
- type: Destructible
thresholdvalue: 100
thresholds:
100:
Acts: ["Destruction"]
- type: GasCanisterPort
- type: entity

View File

@@ -10,8 +10,11 @@
- type: SnapGrid
offset: Center
- type: Sprite
- type: Damageable
- type: Destructible
thresholdvalue: 100
thresholds:
100:
Acts: ["Destruction"]
- type: GasCanister
- type: Anchorable
- type: Pullable

View File

@@ -20,6 +20,9 @@
state: spike
- type: Anchorable
- type: Pullable
- type: Damageable
- type: Destructible
deadThreshold: 50
thresholds:
50:
Acts: ["Destruction"]
- type: KitchenSpike

View File

@@ -11,8 +11,11 @@
- type: Physics
- type: SnapGrid
offset: Center
- type: Damageable
- type: Destructible
thresholdvalue: 100
thresholds:
100:
Acts: ["Destruction"]
- type: Sprite
- type: Appearance
visuals:

View File

@@ -9,9 +9,12 @@
- type: Physics
- type: SnapGrid
offset: Center
- type: Destructible
thresholdvalue: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: Sprite
sprite: Constructible/Atmos/pump.rsi
- type: Icon

View File

@@ -19,9 +19,12 @@
pipeRSI: Constructible/Atmos/pipe.rsi
- type: SiphonVisualizer
siphonRSI: Constructible/Atmos/scrubber.rsi
- type: Destructible
thresholdvalue: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: entity
parent: ScrubberBase

View File

@@ -19,9 +19,12 @@
pipeRSI: Constructible/Atmos/pipe.rsi
- type: VentVisualizer
ventRSI: Constructible/Atmos/vent.rsi
- type: Destructible
- type: Damageable
resistances: metallicResistances
thresholdvalue: 100
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: entity
parent: VentBase

View File

@@ -5,38 +5,41 @@
placement:
mode: SnapgridCenter
components:
- type: Sprite
netsync: false
sprite: Objects/Specific/Medical/cloning.rsi
layers:
- state: pod_0
map: ["enum.CloningPodVisualLayers.Machine"]
- type: PowerReceiver
- type: Anchorable
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5,-0.25,0.5,0.25"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- type: SnapGrid
offset: Center
- type: CloningPod
cloningTime: 10.0
- type: Destructible
deadThreshold: 100
resistances: metallicResistances
- type: Appearance
visuals:
- type: CloningPodVisualizer
- type: UserInterface
interfaces:
- key: enum.CloningPodUIKey.Key
type: CloningPodBoundUserInterface
- type: Sprite
netsync: false
sprite: Objects/Specific/Medical/cloning.rsi
layers:
- state: pod_0
map: ["enum.CloningPodVisualLayers.Machine"]
- type: PowerReceiver
- type: Anchorable
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5,-0.25,0.5,0.25"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- type: SnapGrid
offset: Center
- type: CloningPod
cloningTime: 10.0
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: CloningPodVisualizer
- type: UserInterface
interfaces:
- key: enum.CloningPodUIKey.Key
type: CloningPodBoundUserInterface

View File

@@ -94,6 +94,12 @@
- type: PowerReceiver
- type: Anchorable
- type: Pullable
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: BreakableConstruction
node: monitorBroken
- type: Sprite

View File

@@ -27,9 +27,12 @@
nodeGroupID: HVPower
- type: PowerConsumer
drawRate: 50
- type: Breakable
deadThreshold: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Breakage"]
- type: Anchorable
- type: entity

View File

@@ -31,9 +31,12 @@
- type: SnapGrid
offset: Center
- type: MedicalScanner
- type: Destructible
deadThreshold: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: MedicalScannerVisualizer

View File

@@ -232,8 +232,11 @@
supply: 1500
- type: SnapGrid
offset: Center
- type: Breakable
deadThreshold: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Breakage"]
- type: Anchorable
- type: Pullable

View File

@@ -28,9 +28,12 @@
- SmallImpassable
- type: SnapGrid
offset: Center
- type: Breakable
deadThreshold: 50
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
50:
Acts: ["Breakage"]
- type: UserInterface
interfaces:
- key: enum.VendingMachineUiKey.Key

View File

@@ -18,9 +18,12 @@
drawdepth: BelowFloor
- type: IconSmooth
mode: CardinalFlags
- type: Destructible
thresholdvalue: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: SubFloorHide
- type: entity
@@ -47,11 +50,13 @@
wireDroppedOnCutPrototype: HVWireStack1
wireType: HighVoltage
- type: Destructible
resistances: metallicResistances
spawnOnDestroy:
HVWireStack1:
Min: 1
Max: 1
thresholds:
100:
Spawn:
HVWireStack1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: entity
parent: WireBase
@@ -79,11 +84,13 @@
wireDroppedOnCutPrototype: MVWireStack1
wireType: MediumVoltage
- type: Destructible
resistances: metallicResistances
spawnOnDestroy:
MVWireStack1:
Min: 1
Max: 1
thresholds:
100:
Spawn:
MVWireStack1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: entity
parent: WireBase
@@ -113,8 +120,10 @@
wireDroppedOnCutPrototype: ApcExtensionCableStack1
wireType: Apc
- type: Destructible
resistances: metallicResistances
spawnOnDestroy:
ApcExtensionCableStack1:
Min: 1
Max: 1
thresholds:
100:
Spawn:
ApcExtensionCableStack1:
Min: 1
Max: 1
Acts: ["Destruction"]

View File

@@ -19,9 +19,12 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Destructible
maxHP: 500
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
500:
Acts: ["Destruction"]
- type: SnapGrid
offset: Center
- type: Anchorable

View File

@@ -21,13 +21,16 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Destructible
maxHP: 500
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
AMEPart:
Min: 1
Max: 1
- type: Destructible
thresholds:
500:
Spawn:
AMEPart:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: SnapGrid
offset: Center
- type: Airtight

View File

@@ -32,12 +32,15 @@
- VaultImpassable
- type: SnapGrid
offset: Center
- type: Damageable
- type: Destructible
deadThreshold: 50
spawnOnDestroy:
chem_master_broken:
Min: 1
Max: 1
thresholds:
50:
Spawn:
chem_master_broken:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: UserInterface
interfaces:
- key: enum.ChemMasterUiKey.Key
@@ -75,12 +78,15 @@
- VaultImpassable
- type: SnapGrid
offset: Center
- type: Damageable
- type: Destructible
deadThreshold: 25
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
thresholds:
25:
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: UserInterface
interfaces:
- key: enum.ChemMasterUiKey.Key

View File

@@ -13,8 +13,12 @@
- type: SnapGrid
offset: Center
- type: Anchorable
- type: Breakable
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Breakage"]
- type: Rotatable
- type: Pullable
@@ -141,9 +145,12 @@
- type: SnapGrid
offset: Center
- type: Anchorable
- type: Destructible
thresholdvalue: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: DisposalUnitVisualizer
@@ -350,7 +357,6 @@
map: ["enum.DisposalUnitVisualLayers.Handle"]
- state: dispover-ready
map: ["enum.DisposalUnitVisualLayers.Light"]
- type: PowerReceiver
- type: Configuration
keys:
@@ -378,9 +384,12 @@
- type: SnapGrid
offset: Center
- type: Anchorable
- type: Destructible
thresholdvalue: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: DisposalUnitVisualizer

View File

@@ -29,9 +29,12 @@
- VaultImpassable
- type: Clickable
- type: InteractionOutline
- type: Breakable
deadThreshold: 150
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
150:
Acts: ["Breakage"]
- type: GravityGenerator
- type: UserInterface
interfaces:

View File

@@ -4,42 +4,45 @@
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
anchored: true
hard: false
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.1, 0.5"
mask:
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Destructible
deadThreshold: 50
resistances: metallicResistances
- type: Sprite
sprite: Constructible/Hydroponics/hydro_tools.rsi
state: soil
- type: PlantHolder
drawWarnings: false
- type: SolutionContainer
maxVol: 200
caps: AddTo, NoExamine
- type: Pourable
- type: SnapGrid
offset: Center
- type: Appearance
visuals:
- type: PlantHolderVisualizer
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
anchored: true
hard: false
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.1, 0.5"
mask:
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
50:
Acts: ["Destruction"]
- type: Sprite
sprite: Constructible/Hydroponics/hydro_tools.rsi
state: soil
- type: PlantHolder
drawWarnings: false
- type: SolutionContainer
maxVol: 200
caps: AddTo, NoExamine
- type: Pourable
- type: SnapGrid
offset: Center
- type: Appearance
visuals:
- type: PlantHolderVisualizer
- type: entity
name: hydroponics tray
@@ -47,14 +50,14 @@
id: hydroponicsTray
description: An interstellar-grade space farmplot allowing for rapid growth and selective breeding of crops. Just... keep in mind the space weeds.
components:
- type: Physics
mass: 25
hard: true
- type: Anchorable
snap: true
- type: Pullable
- type: Sprite
sprite: Constructible/Hydroponics/hydro_tools.rsi
state: hydrotray3
- type: PlantHolder
drawWarnings: true
- type: Physics
mass: 25
hard: true
- type: Anchorable
snap: true
- type: Pullable
- type: Sprite
sprite: Constructible/Hydroponics/hydro_tools.rsi
state: hydrotray3
- type: PlantHolder
drawWarnings: true

View File

@@ -38,9 +38,12 @@
- SmallImpassable
- type: EntityStorage
- type: PlaceableSurface
- type: Destructible
deadThreshold: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: StorageVisualizer

View File

@@ -35,10 +35,12 @@
Capacity: 500
CanWeldShut: true
- type: PlaceableSurface
- type: Destructible
deadThreshold: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: StorageVisualizer

View File

@@ -23,9 +23,12 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Destructible
deadThreshold: 10
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
10:
Acts: ["Destruction"]
- type: SolutionContainer
maxVol: 1500
caps: RemoveFrom

View File

@@ -14,9 +14,12 @@
shapes:
- !type:PhysShapeAabb
layer: [MobMask]
- type: Destructible
deadThreshold: 100
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: [ "Destruction" ]
- type: Occluder
sizeX: 32
sizeY: 32

View File

@@ -28,13 +28,16 @@
- VaultImpassable
- SmallImpassable
- type: Pullable
- type: Destructible
deadThreshold: 50
- type: Damageable
resistances: metallicResistances
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
- type: Destructible
thresholds:
50:
Spawn:
SteelSheet1:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: SnapGrid
offset: Edge
placement:

View File

@@ -36,9 +36,12 @@
- type: PoweredLight
bulb: Tube
- type: PowerReceiver
- type: Destructible
deadThreshold: 50
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
50:
Acts: [ "Destruction" ]
- type: entity
name: small light
@@ -60,22 +63,28 @@
- type: PoweredLight
bulb: Bulb
- type: PowerReceiver
- type: Destructible
deadThreshold: 25
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
25:
Acts: [ "Destruction" ]
- type: entity
name: unpowered small light
id: SmallLight
parent: WallLight
components:
- type: Sprite
sprite: Constructible/Lighting/light_small.rsi
state: on
- type: PointLight
energy: 1.0
enabled: true
offset: "-0.5, 0"
- type: Destructible
deadThreshold: 25
resistances: metallicResistances
- type: Sprite
sprite: Constructible/Lighting/light_small.rsi
state: on
- type: PointLight
energy: 1.0
enabled: true
offset: "-0.5, 0"
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
25:
Acts: [ "Destruction" ]

View File

@@ -25,10 +25,14 @@
layer:
- VaultImpassable
- SmallImpassable
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
100:
Acts: [ "Destruction" ]
- type: BreakableConstruction
node: start
deadThreshold: 100
resistances: metallicResistances
- type: SnapGrid
offset: Center
- type: Climbable

View File

@@ -8,9 +8,12 @@
- type: Physics
shapes:
- !type:PhysShapeAabb
- type: Destructible
thresholdvalue: 5
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
5:
Acts: [ "Destruction" ]
- type: Sprite
drawdepth: WallTops
sprite: Constructible/Misc/decals.rsi

View File

@@ -44,13 +44,16 @@
sprite: Constructible/Structures/Walls/brick.rsi
- type: Icon
sprite: Constructible/Structures/Walls/brick.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: [ "Destruction" ]
- type: IconSmooth
key: walls
base: brick
@@ -64,13 +67,16 @@
sprite: Constructible/Structures/Walls/clock.rsi
- type: Icon
sprite: Constructible/Structures/Walls/clock.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: clock
@@ -84,13 +90,16 @@
sprite: Constructible/Structures/Walls/clown.rsi
- type: Icon
sprite: Constructible/Structures/Walls/clown.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: clown
@@ -105,13 +114,16 @@
sprite: Constructible/Structures/Walls/cult.rsi
- type: Icon
sprite: Constructible/Structures/Walls/cult.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: cult
@@ -125,13 +137,16 @@
sprite: Constructible/Structures/Walls/debug.rsi
- type: Icon
sprite: Constructible/Structures/Walls/debug.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: debug
@@ -145,13 +160,16 @@
sprite: Constructible/Structures/Walls/diamond.rsi
- type: Icon
sprite: Constructible/Structures/Walls/diamond.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: diamond
@@ -166,13 +184,16 @@
sprite: Constructible/Structures/Walls/gold.rsi
- type: Icon
sprite: Constructible/Structures/Walls/gold.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: gold
@@ -186,13 +207,16 @@
sprite: Constructible/Structures/Walls/ice.rsi
- type: Icon
sprite: Constructible/Structures/Walls/ice.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: ice
@@ -206,13 +230,16 @@
sprite: Constructible/Structures/Walls/metal.rsi
- type: Icon
sprite: Constructible/Structures/Walls/metal.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: metal
@@ -226,13 +253,16 @@
sprite: Constructible/Structures/Walls/plasma.rsi
- type: Icon
sprite: Constructible/Structures/Walls/plasma.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: plasma
@@ -246,13 +276,16 @@
sprite: Constructible/Structures/Walls/plastic.rsi
- type: Icon
sprite: Constructible/Structures/Walls/plastic.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: plastic
@@ -271,10 +304,14 @@
- type: Construction
graph: girder
node: reinforcedWall
- type: BreakableConstruction
deadThreshold: 600
node: girder
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
600:
Acts: ["Destruction"]
- type: BreakableConstruction
node: girder
- type: ReinforcedWall
key: walls
base: solid
@@ -293,13 +330,16 @@
sprite: Constructible/Structures/Walls/riveted.rsi
- type: Icon
sprite: Constructible/Structures/Walls/riveted.rsi
- type: Destructible
deadThreshold: 1000
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
1000:
Spawn:
Girder:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: IconSmooth
key: walls
base: riveted
@@ -313,13 +353,16 @@
sprite: Constructible/Structures/Walls/sandstone.rsi
- type: Icon
sprite: Constructible/Structures/Walls/sandstone.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: [ "Destruction" ]
- type: IconSmooth
key: walls
base: sandstone
@@ -333,13 +376,16 @@
sprite: Constructible/Structures/Walls/silver.rsi
- type: Icon
sprite: Constructible/Structures/Walls/silver.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: [ "Destruction" ]
- type: IconSmooth
key: walls
base: silver
@@ -357,11 +403,15 @@
node: wall
- type: Icon
sprite: Constructible/Structures/Walls/solid.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Acts: [ "Destruction" ]
- type: BreakableConstruction
deadThreshold: 300
node: girder
destroySound: /Audio/Effects/metalbreak.ogg
resistances: metallicResistances
- type: IconSmooth
key: walls
base: solid
@@ -375,13 +425,16 @@
sprite: Constructible/Structures/Walls/uranium.rsi
- type: Icon
sprite: Constructible/Structures/Walls/uranium.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: [ "Destruction" ]
- type: IconSmooth
key: walls
base: uranium
@@ -395,13 +448,16 @@
sprite: Constructible/Structures/Walls/wood.rsi
- type: Icon
sprite: Constructible/Structures/Walls/wood.rsi
- type: Destructible
deadThreshold: 300
spawnOnDestroy:
Girder:
Min: 1
Max: 1
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
300:
Spawn:
Girder:
Min: 1
Max: 1
Acts: [ "Destruction" ]
- type: IconSmooth
key: walls
base: wood

View File

@@ -26,19 +26,23 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Destructible
deadThreshold: 15
- type: Damageable
resistances: metallicResistances
destroySoundCollection: WindowBreak
spawnOnDestroy:
ShardGlass:
Min: 1
Max: 2
- type: Destructible
thresholds:
15:
SoundCollection: WindowBreak
Spawn:
ShardGlass:
Min: 1
Max: 2
Acts: ["Destruction"]
- type: SnapGrid
offset: Center
- type: Airtight
- type: Window
base: window
maxDamage: 15
- type: Construction
graph: window
node: window
@@ -56,15 +60,20 @@
sprite: Constructible/Structures/Windows/reinforced_window.rsi
- type: Icon
sprite: Constructible/Structures/Windows/reinforced_window.rsi
- type: Destructible
deadThreshold: 75
spawnOnDestroy:
ShardGlassReinforced:
Min: 1
Max: 2
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
75:
SoundCollection: WindowBreak
Spawn:
ShardGlassReinforced:
Min: 1
Max: 2
Acts: ["Destruction"]
- type: Window
base: rwindow
maxDamage: 75
- type: Construction
graph: window
node: reinforcedWindow
@@ -79,15 +88,21 @@
sprite: Constructible/Structures/Windows/phoron_window.rsi
- type: Icon
sprite: Constructible/Structures/Windows/phoron_window.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
deadThreshold: 100
spawnOnDestroy:
ShardGlassPhoron:
Min: 1
Max: 2
thresholds:
100:
SoundCollection: WindowBreak
Spawn:
ShardGlassPhoron:
Min: 1
Max: 2
Acts: ["Destruction"]
resistances: metallicResistances
- type: Window
base: pwindow
maxDamage: 100
- type: Construction
graph: window
node: phoronWindow

View File

@@ -40,9 +40,11 @@
- Opaque
- MobImpassable
- type: Damageable
criticalThreshold: 50
deadThreshold: 100
- type: MobStateManager
- type: MobState
thresholds:
0: !type:NormalMobState {}
50: !type:CriticalMobState {}
100: !type:DeadMobState {}
- type: HeatResistance
- type: CombatMode
- type: Teleportable

View File

@@ -34,9 +34,11 @@
- Opaque
- MobImpassable
- type: Damageable
criticalThreshold: 50
deadThreshold: 100
- type: MobStateManager
- type: MobState
thresholds:
0: !type:NormalMobState {}
50: !type:CriticalMobState {}
100: !type:DeadMobState {}
- type: HeatResistance
- type: CombatMode
- type: Teleportable

View File

@@ -38,9 +38,11 @@
- Opaque
- MobImpassable
- type: Damageable
criticalThreshold: 100
deadThreshold: 200
- type: MobStateManager
- type: MobState
thresholds:
0: !type:NormalMobState {}
100: !type:CriticalMobState {}
200: !type:DeadMobState {}
- type: HeatResistance
- type: CombatMode
- type: Teleportable

View File

@@ -35,9 +35,11 @@
- Opaque
- MobImpassable
- type: Damageable
criticalThreshold: 50
deadThreshold: 100
- type: MobStateManager
- type: MobState
thresholds:
0: !type:NormalMobState {}
50: !type:CriticalMobState {}
100: !type:DeadMobState {}
- type: HeatResistance
- type: CombatMode
- type: Teleportable

View File

@@ -37,9 +37,11 @@
- Opaque
- MobImpassable
- type: Damageable
criticalThreshold: 150
deadThreshold: 200
- type: MobStateManager
- type: MobState
thresholds:
0: !type:NormalMobState {}
150: !type:CriticalMobState {}
200: !type:DeadMobState {}
- type: Metabolism
- type: HeatResistance
- type: CombatMode

View File

@@ -142,8 +142,6 @@
centerSlot: torso
- type: Damageable
damagePrototype: biologicalDamageContainer
criticalThreshold: 100
deadThreshold: 200
- type: Metabolism
metabolismHeat: 5000
radiatedHeat: 400
@@ -158,7 +156,11 @@
Oxygen: 0.00045572916
CarbonDioxide: 0.00015190972
- type: Internals
- type: MobStateManager
- type: MobState
thresholds:
0: !type:NormalMobState {}
100: !type:CriticalMobState {}
200: !type:DeadMobState {}
- type: HeatResistance
- type: Appearance
visuals:
@@ -304,9 +306,11 @@
centerSlot: torso
- type: Damageable
damagePrototype: biologicalDamageContainer
criticalThreshold: 100
deadThreshold: 200
- type: MobStateManager
- type: MobState
thresholds:
0: !type:NormalMobState {}
100: !type:CriticalMobState {}
200: !type:DeadMobState {}
- type: Appearance
visuals:
- type: RotationVisualizer

View File

@@ -5,12 +5,12 @@
description:
abstract: true
components:
- type: HandheldLight
- type: Sprite
sprite: Objects/Misc/lights.rsi
- type: Item
sprite: Objects/Misc/lights.rsi
HeldPrefix: off
- type: HandheldLight
- type: Sprite
sprite: Objects/Misc/lights.rsi
- type: Item
sprite: Objects/Misc/lights.rsi
HeldPrefix: off
- type: entity
name: lamp
@@ -18,19 +18,19 @@
parent: BaseLamp
description: A light emitting device.
components:
- type: Sprite
layers:
- state: lamp
- state: lamp_on
shader: unshaded
visible: false
- type: PointLight
enabled: false
radius: 3
energy: 2
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: Sprite
layers:
- state: lamp
- state: lamp_on
shader: unshaded
visible: false
- type: PointLight
enabled: false
radius: 3
energy: 2
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: entity
name: banana lamp
@@ -38,19 +38,19 @@
parent: BaseLamp
description: A light emitting device, shaped like bannana.
components:
- type: Sprite
layers:
- state: bananalamp
- state: bananalamp_on
shader: unshaded
visible: false
- type: PointLight
enabled: false
radius: 3
energy: 2
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: Sprite
layers:
- state: bananalamp
- state: bananalamp_on
shader: unshaded
visible: false
- type: PointLight
enabled: false
radius: 3
energy: 2
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: entity
name: desk lamp
@@ -58,19 +58,19 @@
parent: BaseLamp
description: A light emitting device, that would look great on a desk.
components:
- type: Sprite
layers:
- state: lampgreen
- state: lampgreen_on
shader: unshaded
visible: false
- type: PointLight
enabled: false
radius: 3
energy: 2
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: Sprite
layers:
- state: lampgreen
- state: lampgreen_on
shader: unshaded
visible: false
- type: PointLight
enabled: false
radius: 3
energy: 2
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: entity
name: torch
@@ -78,25 +78,25 @@
parent: BaseLamp
description:
components:
- type: Sprite
sprite: Objects/Misc/torch.rsi
layers:
- state: torch
- state: torch_on
shader: unshaded
visible: false
- type: Item
sprite: Objects/Misc/torch.rsi
HeldPrefix: off
- type: PointLight
enabled: false
radius: 1
energy: 4
color: "#FFC458"
- type: LoopingSound
- type: Appearance
visuals:
- type: LanternVisualizer
- type: Sprite
sprite: Objects/Misc/torch.rsi
layers:
- state: torch
- state: torch_on
shader: unshaded
visible: false
- type: Item
sprite: Objects/Misc/torch.rsi
HeldPrefix: off
- type: PointLight
enabled: false
radius: 1
energy: 4
color: "#FFC458"
- type: LoopingSound
- type: Appearance
visuals:
- type: LanternVisualizer
- type: entity
name: floodlight
@@ -104,37 +104,40 @@
parent: BaseLamp
description:
components:
- type: Sprite
layers:
- state: floodlight
- state: floodlight_on
shader: unshaded
visible: false
- type: Physics
shapes:
- !type:PhysShapeAabb
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: PointLight
enabled: false
radius: 8
energy: 5
- type: Anchorable
- type: Destructible
deadThreshold: 10
spawnOnDestroy:
FloodlightBroken:
Min: 1
Max: 1
destroySound: /Audio/Effects/glass_break1.ogg
resistances: metallicResistances
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: Sprite
layers:
- state: floodlight
- state: floodlight_on
shader: unshaded
visible: false
- type: Physics
shapes:
- !type:PhysShapeAabb
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: PointLight
enabled: false
radius: 8
energy: 5
- type: Anchorable
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
10:
Sound: /Audio/Effects/glass_break1.ogg
Spawn:
FloodlightBroken:
Min: 1
Max: 1
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: FlashLightVisualizer
- type: entity
name: broken floodlight
@@ -142,24 +145,27 @@
parent: BaseItem
description:
components:
- type: Sprite
sprite: Objects/Misc/lights.rsi
state: floodlight_broken
- type: Anchorable
- type: Destructible
deadThreshold: 20
spawnOnDestroy:
SteelSheet1:
Min: 1
Max: 1
destroySound: /Audio/Effects/metalbreak.ogg
resistances: metallicResistances
- type: Physics
shapes:
- !type:PhysShapeAabb
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Sprite
sprite: Objects/Misc/lights.rsi
state: floodlight_broken
- type: Anchorable
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
20:
Spawn:
SteelSheet1:
Min: 1
Max: 1
Sound: /Audio/Effects/metalbreak.ogg
Acts: ["Destruction"]
- type: Physics
shapes:
- !type:PhysShapeAabb
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable

View File

@@ -9,7 +9,6 @@
layers:
- state: icon
map: ["enum.TriggerVisualLayers.Base"]
- type: Item
size: 5
- type: OnUseTimerTrigger
@@ -19,8 +18,11 @@
heavyImpactRange: 2
lightImpactRange: 4
flashRange: 7
- type: Damageable
- type: Destructible
deadThreshold: 10
thresholds:
10:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: TimerTriggerVisualizer
@@ -37,14 +39,16 @@
layers:
- state: icon
map: ["enum.TriggerVisualLayers.Base"]
- type: Item
size: 5
- type: OnUseTimerTrigger
delay: 3.5
- type: FlashExplosive
- type: Damageable
- type: Destructible
deadThreshold: 10
thresholds:
10:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: TimerTriggerVisualizer
@@ -61,7 +65,6 @@
layers:
- state: icon
map: ["enum.TriggerVisualLayers.Base"]
- type: Item
size: 5
- type: OnUseTimerTrigger
@@ -71,8 +74,11 @@
heavyImpactRange: 5
lightImpactRange: 7
flashRange: 10
- type: Damageable
- type: Destructible
deadThreshold: 10
thresholds:
10:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: TimerTriggerVisualizer
@@ -89,7 +95,6 @@
layers:
- state: icon
map: ["enum.TriggerVisualLayers.Base"]
- type: Item
size: 5
- type: OnUseTimerTrigger
@@ -98,8 +103,11 @@
devastationRange: 25
heavyImpactRange: 25
flashRange: 50
- type: Damageable
- type: Destructible
thresholdvalue: 50
thresholds:
50:
Acts: ["Destruction"]
- type: Appearance
visuals:
- type: TimerTriggerVisualizer