Converts the particle accelerator over to ECS + misc (#17075)

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
TemporalOroboros
2023-06-07 23:25:59 -07:00
committed by GitHub
parent a3137cc0f0
commit d71b6c84e5
61 changed files with 1293 additions and 1169 deletions

View File

@@ -69,9 +69,9 @@
- type: StorageFill
contents:
- id: MachineParticleAcceleratorEndCapCircuitboard
- id: MachineParticleAcceleratorEmitterLeftCircuitboard
- id: MachineParticleAcceleratorEmitterCenterCircuitboard
- id: MachineParticleAcceleratorEmitterRightCircuitboard
- id: MachineParticleAcceleratorEmitterStarboardCircuitboard
- id: MachineParticleAcceleratorEmitterForeCircuitboard
- id: MachineParticleAcceleratorEmitterPortCircuitboard
- id: MachineParticleAcceleratorFuelChamberCircuitboard
- id: MachineParticleAcceleratorPowerBoxCircuitboard
- id: ParticleAcceleratorComputerCircuitboard

View File

@@ -48,43 +48,43 @@
# Emitter
- type: entity
id: MachineParticleAcceleratorEmitterLeftCircuitboard
id: MachineParticleAcceleratorEmitterStarboardCircuitboard
parent: BaseMachineCircuitboard
name: PA emitter left board
name: PA starboard emitter board
description: A machine board for a particle accelerator left emitter
components:
- type: Sprite
state: engineering
- type: MachineBoard
prototype: ParticleAcceleratorEmitterLeftUnfinished
prototype: ParticleAcceleratorEmitterStarboardUnfinished
materialRequirements:
Glass: 5
Steel: 5
- type: entity
id: MachineParticleAcceleratorEmitterCenterCircuitboard
id: MachineParticleAcceleratorEmitterForeCircuitboard
parent: BaseMachineCircuitboard
name: PA emitter center board
name: PA fore emitter board
description: A machine board for a particle accelerator center emitter
components:
- type: Sprite
state: engineering
- type: MachineBoard
prototype: ParticleAcceleratorEmitterCenterUnfinished
prototype: ParticleAcceleratorEmitterForeUnfinished
materialRequirements:
Glass: 5
Steel: 5
- type: entity
id: MachineParticleAcceleratorEmitterRightCircuitboard
id: MachineParticleAcceleratorEmitterPortCircuitboard
parent: BaseMachineCircuitboard
name: PA emitter right board
name: PA port emitter board
description: A machine board for a particle accelerator right emitter
components:
- type: Sprite
state: engineering
- type: MachineBoard
prototype: ParticleAcceleratorEmitterRightUnfinished
prototype: ParticleAcceleratorEmitterPortUnfinished
materialRequirements:
Glass: 5
Steel: 5

View File

@@ -4,30 +4,30 @@
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Anchorable
- type: Rotatable
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Transform
anchored: true
noRot: false
- type: Pullable
- type: Clickable
- type: GuideHelp
guides: [ Singularity, Power ]
- type: Appearance
- type: InteractionOutline
- type: Anchorable
- type: Rotatable
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: Transform
anchored: true
noRot: false
- type: Pullable
- type: Clickable
- type: GuideHelp
guides: [ Singularity, Power ]
- type: Appearance
- type: entity
id: ParticleAcceleratorFinishedPart

View File

@@ -1,42 +1,31 @@
- type: entity
parent: ParticleAcceleratorBase
parent: ParticleAcceleratorFinishedPart
id: ParticleAcceleratorControlBox
name: PA control computer
description: This controls the density of the particles.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/control_box.rsi
layers:
- state: completed
map: [ "enum.ParticleAcceleratorVisualLayers.Base" ]
- state: unlitp
map: [ "enum.ParticleAcceleratorVisualLayers.Unlit" ]
shader: unshaded
visible: false
- type: Appearance
- type: ParticleAcceleratorPartVisuals
stateBase: unlit
- type: ApcPowerReceiver
powerLoad: 250
- type: ExtensionCableReceiver
- type: ParticleAcceleratorControlBox
- type: Construction
graph: ParticleAcceleratorControlBox
node: completed
- type: ActivatableUI
key: enum.ParticleAcceleratorControlBoxUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
- key: enum.ParticleAcceleratorControlBoxUiKey.Key
type: ParticleAcceleratorBoundUserInterface
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: WiresPanel
- type: Wires
BoardName: "Mk2 Particle Accelerator"
LayoutId: ParticleAccelerator
- type: Sprite
sprite: Structures/Power/Generation/PA/control_box.rsi
- type: ParticleAcceleratorControlBox
- type: ApcPowerReceiver
powerLoad: 250
- type: ExtensionCableReceiver
- type: Construction
graph: ParticleAcceleratorControlBox
- type: ActivatableUI
key: enum.ParticleAcceleratorControlBoxUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
- key: enum.ParticleAcceleratorControlBoxUiKey.Key
type: ParticleAcceleratorBoundUserInterface
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: WiresPanel
- type: Wires
BoardName: "Mk2 Particle Accelerator"
LayoutId: ParticleAccelerator
# Unfinished
- type: entity

View File

@@ -1,76 +1,76 @@
- type: entity
parent: ParticleAcceleratorFinishedPart
id: ParticleAcceleratorEmitterLeft
name: PA containment emitter L
id: ParticleAcceleratorEmitterPort
name: PA port containment emitter
description: This launchs the Alpha particles, might not want to stand near this end.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_left.rsi
- type: ParticleAcceleratorEmitter
emitterType: Left
- type: Construction
graph: ParticleAcceleratorEmitterLeft
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_port.rsi
- type: ParticleAcceleratorEmitter
emitterType: Port
- type: Construction
graph: ParticleAcceleratorEmitterPort
- type: entity
parent: ParticleAcceleratorFinishedPart
id: ParticleAcceleratorEmitterCenter
name: PA containment emitter C
id: ParticleAcceleratorEmitterFore
name: PA fore containment emitter
description: This launchs the Alpha particles, might not want to stand near this end.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_center.rsi
- type: ParticleAcceleratorEmitter
emitterType: Center
- type: Construction
graph: ParticleAcceleratorEmitterCenter
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_fore.rsi
- type: ParticleAcceleratorEmitter
emitterType: Fore
- type: Construction
graph: ParticleAcceleratorEmitterFore
- type: entity
parent: ParticleAcceleratorFinishedPart
id: ParticleAcceleratorEmitterRight
name: PA containment emitter R
id: ParticleAcceleratorEmitterStarboard
name: PA starboard containment emitter
description: This launchs the Alpha particles, might not want to stand near this end.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_right.rsi
- type: ParticleAcceleratorEmitter
emitterType: Right
- type: Construction
graph: ParticleAcceleratorEmitterRight
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_starboard.rsi
- type: ParticleAcceleratorEmitter
emitterType: Starboard
- type: Construction
graph: ParticleAcceleratorEmitterStarboard
# Unfinished
- type: entity
parent: ParticleAcceleratorUnfinishedBase
id: ParticleAcceleratorEmitterLeftUnfinished
name: PA containment emitter L
suffix: Unfinished, Left
id: ParticleAcceleratorEmitterPortUnfinished
name: PA port containment emitter
suffix: Unfinished, Port
description: This launchs the Alpha particles, might not want to stand near this end. It looks unfinished.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_left.rsi
- type: Construction
graph: ParticleAcceleratorEmitterLeft
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_port.rsi
- type: Construction
graph: ParticleAcceleratorEmitterPort
- type: entity
parent: ParticleAcceleratorUnfinishedBase
id: ParticleAcceleratorEmitterCenterUnfinished
name: PA containment emitter C
suffix: Unfinished
id: ParticleAcceleratorEmitterForeUnfinished
name: PA fore containment emitter
suffix: Unfinished, Fore
description: This launchs the Alpha particles, might not want to stand near this end. It looks unfinished.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_center.rsi
- type: Construction
graph: ParticleAcceleratorEmitterCenter
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_fore.rsi
- type: Construction
graph: ParticleAcceleratorEmitterFore
- type: entity
parent: ParticleAcceleratorUnfinishedBase
id: ParticleAcceleratorEmitterRightUnfinished
name: PA containment emitter R
suffix: Unfinished
id: ParticleAcceleratorEmitterStarboardUnfinished
name: PA starboard containment emitter
suffix: Unfinished, Starboard
description: This launchs the Alpha particles, might not want to stand near this end. It looks unfinished.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_right.rsi
- type: Construction
graph: ParticleAcceleratorEmitterRight
- type: Sprite
sprite: Structures/Power/Generation/PA/emitter_starboard.rsi
- type: Construction
graph: ParticleAcceleratorEmitterStarboard

View File

@@ -4,14 +4,14 @@
name: PA end-cap
description: Formally known as the Alpha Particle Generation Array. This is where Alpha particles are generated from [REDACTED].
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/end_cap.rsi
layers:
- state: completed
map: [ "enum.ParticleAcceleratorVisualLayers.Base" ]
- type: ParticleAcceleratorEndCap
- type: Construction
graph: ParticleAcceleratorEndCap
- type: Sprite
sprite: Structures/Power/Generation/PA/end_cap.rsi
layers:
- state: completed
map: [ "enum.ParticleAcceleratorVisualLayers.Base" ]
- type: ParticleAcceleratorEndCap
- type: Construction
graph: ParticleAcceleratorEndCap
# Unfinished
@@ -22,7 +22,7 @@
suffix: Unfinished
description: Formally known as the Alpha Particle Generation Array. This is where Alpha particles are generated from [REDACTED]. It looks unfinished.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/end_cap.rsi
- type: Construction
graph: ParticleAcceleratorEndCap
- type: Sprite
sprite: Structures/Power/Generation/PA/end_cap.rsi
- type: Construction
graph: ParticleAcceleratorEndCap

View File

@@ -4,11 +4,11 @@
name: PA fuel chamber
description: Formally known as the EM Acceleration Chamber. This is where the Alpha particles are accelerated to radical speeds.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/fuel_chamber.rsi
- type: ParticleAcceleratorFuelChamber
- type: Construction
graph: ParticleAcceleratorFuelChamber
- type: Sprite
sprite: Structures/Power/Generation/PA/fuel_chamber.rsi
- type: ParticleAcceleratorFuelChamber
- type: Construction
graph: ParticleAcceleratorFuelChamber
# Unfinished
@@ -19,7 +19,7 @@
suffix: Unfinished
description: Formally known as the EM Acceleration Chamber. This is where the Alpha particles are accelerated to radical speeds. It looks unfinished.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/fuel_chamber.rsi
- type: Construction
graph: ParticleAcceleratorFuelChamber
- type: Sprite
sprite: Structures/Power/Generation/PA/fuel_chamber.rsi
- type: Construction
graph: ParticleAcceleratorFuelChamber

View File

@@ -34,6 +34,8 @@
- type: ParticleProjectile
- type: SinguloFood
# Energy is setup by the PA particle fire function.
- type: TimedDespawn
lifetime: 3.0
- type: Appearance
- type: GenericVisualizer
visuals:

View File

@@ -4,19 +4,19 @@
name: PA power box
description: Formally known as the Particle Focusing EM Lens. This uses electromagnetic waves to focus the Alpha-Particles.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/power_box.rsi
- type: ParticleAcceleratorPowerBox
- type: PowerConsumer
voltage: High
- type: NodeContainer
examinable: true
nodes:
input:
!type:CableDeviceNode
nodeGroupID: HVPower
- type: Construction
graph: ParticleAcceleratorPowerBox
- type: Sprite
sprite: Structures/Power/Generation/PA/power_box.rsi
- type: ParticleAcceleratorPowerBox
- type: PowerConsumer
voltage: High
- type: NodeContainer
examinable: true
nodes:
input:
!type:CableDeviceNode
nodeGroupID: HVPower
- type: Construction
graph: ParticleAcceleratorPowerBox
- type: entity
parent: ParticleAcceleratorUnfinishedBase
@@ -25,8 +25,7 @@
suffix: Unfinished
description: Formally known as the Particle Focusing EM Lens. This uses electromagnetic waves to focus the Alpha-Particles. It looks unfinished.
components:
- type: Sprite
sprite: Structures/Power/Generation/PA/power_box.rsi
- type: Construction
graph: ParticleAcceleratorPowerBox
- type: Sprite
sprite: Structures/Power/Generation/PA/power_box.rsi
- type: Construction
graph: ParticleAcceleratorPowerBox

View File

@@ -197,11 +197,11 @@
doAfter: 0.5
- type: constructionGraph
id: ParticleAcceleratorEmitterLeft
id: ParticleAcceleratorEmitterPort
start: start
graph:
- node: start
entity: ParticleAcceleratorEmitterLeftUnfinished
entity: ParticleAcceleratorEmitterPortUnfinished
actions:
- !type:AppearanceChange
edges:
@@ -213,7 +213,7 @@
doAfter: 0.5
- node: wired
entity: ParticleAcceleratorEmitterLeftUnfinished
entity: ParticleAcceleratorEmitterPortUnfinished
actions:
- !type:AppearanceChange
edges:
@@ -236,7 +236,7 @@
doAfter: 0.5
- node: completed
entity: ParticleAcceleratorEmitterLeft
entity: ParticleAcceleratorEmitterPort
edges:
- to: wired
conditions:
@@ -246,11 +246,11 @@
doAfter: 0.5
- type: constructionGraph
id: ParticleAcceleratorEmitterCenter
id: ParticleAcceleratorEmitterFore
start: start
graph:
- node: start
entity: ParticleAcceleratorEmitterCenterUnfinished
entity: ParticleAcceleratorEmitterForeUnfinished
actions:
- !type:AppearanceChange
edges:
@@ -262,7 +262,7 @@
doAfter: 0.5
- node: wired
entity: ParticleAcceleratorEmitterCenterUnfinished
entity: ParticleAcceleratorEmitterForeUnfinished
actions:
- !type:AppearanceChange
edges:
@@ -285,7 +285,7 @@
doAfter: 0.5
- node: completed
entity: ParticleAcceleratorEmitterCenter
entity: ParticleAcceleratorEmitterFore
edges:
- to: wired
conditions:
@@ -295,11 +295,11 @@
doAfter: 0.5
- type: constructionGraph
id: ParticleAcceleratorEmitterRight
id: ParticleAcceleratorEmitterStarboard
start: start
graph:
- node: start
entity: ParticleAcceleratorEmitterRightUnfinished
entity: ParticleAcceleratorEmitterStarboardUnfinished
actions:
- !type:AppearanceChange
edges:
@@ -311,7 +311,7 @@
doAfter: 0.5
- node: wired
entity: ParticleAcceleratorEmitterRightUnfinished
entity: ParticleAcceleratorEmitterStarboardUnfinished
actions:
- !type:AppearanceChange
edges:
@@ -334,7 +334,7 @@
doAfter: 0.5
- node: completed
entity: ParticleAcceleratorEmitterRight
entity: ParticleAcceleratorEmitterStarboard
edges:
- to: wired
conditions:

View File

@@ -75,3 +75,12 @@
wires:
- !type:PowerWireAction
- !type:CryoPodEjectLockWireAction
- type: wireLayout
id: ParticleAccelerator
dummyWires: 1
wires:
- !type:ParticleAcceleratorKeyboardWireAction
- !type:ParticleAcceleratorLimiterWireAction
- !type:ParticleAcceleratorPowerWireAction
- !type:ParticleAcceleratorStrengthWireAction