Adds material and singularity cargo crates (#3445)

* Adds various crates

* Removes redundant code from EmitterComponent.cs

* (fixed) emitter

* Hopefully good

* Update meta.json
This commit is contained in:
Swept
2021-02-28 19:57:44 +00:00
committed by GitHub
parent 7e6fbc0b48
commit 6df41b2fa7
63 changed files with 608 additions and 218 deletions

View File

@@ -31,12 +31,19 @@
- cargo.hydroponicsseedsexotic
- cargo.servicejanitorial
- cargo.servicelightsreplacement
- cargo.enginesameshielding
- cargo.enginesamejar
- cargo.enginesamecontrol
- cargo.engineameshielding
- cargo.engineamejar
- cargo.engineamecontrol
- cargo.funplushies
- cargo.funartsupplies
- cargo.funinstruments
- cargo.materialsteel
- cargo.materialglass
- cargo.materialplastic
- cargo.enginesingularityemitter
- cargo.enginesingularitycollector
- cargo.enginesingularitygenerator
- cargo.enginesingularitycontainment
- type: UserInterface
interfaces:
- key: enum.CargoConsoleUiKey.Key

View File

@@ -0,0 +1,41 @@
- type: entity
id: RadiationCollector
name: Radiation Collector
description: A machine that collects Radiation and turns it into power.
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
# layer:
# - Impassable
# - MobImpassable
# - VaultImpassable
# - Opaque
# mask:
# - Impassable
# - MobImpassable
# - VaultImpassable
- type: SnapGrid
offset: Center
- type: Sprite
sprite: Constructible/Power/Singularity/collector.rsi
layers:
- state: ca_on
map: ["enum.RadiationCollectorVisualLayers.Main"]
- type: Appearance
visuals:
- type: RadiationCollectorVisualizer
- type: NodeContainer
examinable: true
nodes:
- !type:AdjacentNode
nodeGroupID: HVPower
- type: RadiationCollector
- type: Anchorable
snap: true
- type: Pullable

View File

@@ -0,0 +1,65 @@
- type: entity
name: containment field generator
description: "A machine that generates a containment field when powered by an emitter.\nKeeps the Singularity docile."
id: ContainmentFieldGenerator
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Clickable
- type: Physics
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
# layer:
# - Impassable
# - MobImpassable
# - VaultImpassable
# - Opaque
# mask:
# - Impassable
# - MobImpassable
# - VaultImpassable
- type: SnapGrid
offset: Center
- type: Sprite
sprite: Constructible/Power/Singularity/containment.rsi
state: icon
- type: Icon
sprite: Constructible/Power/Singularity/containment.rsi
state: icon
- type: ContainmentFieldGenerator
- type: Anchorable
snap: true
- type: Pullable
- type: PointLight
enabled: false
color: "#4080FF"
radius: 32
energy: 2.0
softness: 32.0
- type: entity
name: Containment Field
description: "A containment field that repels gravitational singularities."
id: ContainmentField
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Clickable
- type: Physics
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [MobMask, Opaque]
- type: SnapGrid
offset: Center
- type: Sprite
sprite: Constructible/Power/Singularity/containment_field.rsi
state: field
- type: Icon
sprite: Constructible/Power/Singularity/containment_field.rsi
state: field
- type: ContainmentField

View File

@@ -1,37 +1,36 @@
- type: entity
name: Emitter
name: emitter
description: "A machine that fires bolts of energy, used for powering containment fields at a safe distance."
id: Emitter
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer:
- Impassable
- MobImpassable
- VaultImpassable
- Opaque
mask:
- Impassable
- MobImpassable
- VaultImpassable
# layer:
# - Impassable
# - MobImpassable
# - VaultImpassable
# - Opaque
# mask:
# - Impassable
# - MobImpassable
# - VaultImpassable
- type: SnapGrid
offset: Center
- type: Sprite
sprite: Constructible/Power/emitter.rsi
sprite: Constructible/Power/Singularity/emitter.rsi
layers:
- state: emitter2
- state: emitter-beam
- state: beam
shader: unshaded
visible: false
- state: emitter-lock
- state: lock
shader: unshaded
visible: false
- type: Emitter
@@ -43,16 +42,15 @@
- !type:AdjacentNode
nodeGroupID: MVPower
- type: Anchorable
snap: true
- type: Pullable
- type: Rotatable
- type: Appearance
# - type: Rotatable
# Idk why but the emitter breaks when I apply this.
visuals:
- type: EmitterVisualizer
- type: AccessReader
access: [[ "Engineering" ]]
- type: entity
name: Emitter Bolt
description: "A bolt of energy."
@@ -60,14 +58,14 @@
parent: BulletBase
components:
- type: Sprite
sprite: Constructible/Power/emitter.rsi
sprite: Constructible/Power/Singularity/emitter.rsi
state: ''
layers:
- state: emitter_projectile
- state: projectile
shader: unshaded
- type: Icon
sprite: Constructible/Power/emitter.rsi
state: emitter_projectile
sprite: Constructible/Power/Singularity/emitter.rsi
state: projectile
- type: EmitterBoltComponent
- type: Projectile
soundHit: /Audio/Weapons/Guns/Hits/bullet_hit.ogg

View File

@@ -0,0 +1,29 @@
- type: entity
name: gravitational singularity generator
description: An Odd Device which produces a Gravitational Singularity when set up.
id: SingularityGenerator
components:
- type: Sprite
sprite: Constructible/Power/Singularity/generator.rsi
state: icon
- type: SingularityGenerator
- type: InteractionOutline
- type: Clickable
- type: Physics
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
# layer:
# - Impassable
# - MobImpassable
# - VaultImpassable
# - Opaque
# mask:
# - Impassable
# - MobImpassable
# - VaultImpassable
- type: SnapGrid
offset: Center
- type: Anchorable
snap: true
- type: Pullable

View File

@@ -0,0 +1,26 @@
- type: entity
name: "Gravitational Singularity"
description: "A mesmerizing swirl of darkness that sucks in everything.\nIf it's moving towards you, run."
id: Singularity
components:
- type: Clickable
- type: Physics
anchored: false
shapes:
- !type:PhysShapeCircle
radius: 0.5
layer: [Impassable]
mask:
- AllMask
mass: 5
- type: Singularity
- type: RadiationPulse
range: 15
decay: false
- type: Sprite
sprite: Constructible/Power/Singularity/singularity_1.rsi
state: singularity_1
- type: Icon
sprite: Constructible/Power/Singularity/singularity_1.rsi
state: singularity_1
drawdepth: Items

View File

@@ -1,140 +0,0 @@
- type: entity
name: "Gravitational Singularity"
description: "A mesmerizing swirl of darkness that sucks in everything.\nIf it's moving towards you, run."
id: Singularity
components:
- type: Clickable
- type: Physics
anchored: false
shapes:
- !type:PhysShapeCircle
radius: 0.5
layer: [Impassable]
mask:
- AllMask
mass: 5
- type: Singularity
- type: RadiationPulse
range: 15
decay: false
- type: Sprite
sprite: Effects/Singularity/singularity_1.rsi
state: singularity_1
- type: Icon
sprite: Effects/Singularity/singularity_1.rsi
state: singularity_1
drawdepth: Items
- type: entity
id: RadiationCollector
name: Radiation Collector
description: A machine that collects Radiation and turns it into power.
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [MobMask, Opaque]
- type: SnapGrid
offset: Center
- type: Sprite
sprite: Constructible/Power/radiation_collector.rsi
layers:
- state: ca_on
map: ["enum.RadiationCollectorVisualLayers.Main"]
- type: Appearance
visuals:
- type: RadiationCollectorVisualizer
- type: NodeContainer
examinable: true
nodes:
- !type:AdjacentNode
nodeGroupID: HVPower
- type: RadiationCollector
- type: Anchorable
- type: Pullable
- type: entity
name: Containment Field Generator
description: "A machine that generates a containment field when powered by an emitter.\nKeeps the Singularity docile."
id: ContainmentFieldGenerator
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Clickable
- type: Physics
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [MobMask, Opaque]
- type: SnapGrid
offset: Center
- type: Sprite
sprite: Constructible/Power/field_generator.rsi
state: Field_Gen
- type: Icon
sprite: Constructible/Power/field_generator.rsi
state: Field_Gen
- type: ContainmentFieldGenerator
- type: Anchorable
- type: Pullable
- type: PointLight
enabled: false
color: "#4080FF"
radius: 32
energy: 2.0
softness: 32.0
- type: entity
name: Containment Field
description: "A containment field that repels gravitational singularities."
id: ContainmentField
placement:
mode: SnapgridCenter
components:
- type: InteractionOutline
- type: Clickable
- type: Physics
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [MobMask, Opaque]
- type: SnapGrid
offset: Center
- type: Sprite
sprite: Effects/contain_f.rsi
state: Contain_F
- type: Icon
sprite: Effects/contain_f.rsi
state: Contain_F
- type: ContainmentField
- type: entity
name: Gravitational Singularity Generator
description: An Odd Device which produces a Gravitational Singularity when set up.
id: SinguloGenerator
components:
- type: Sprite
sprite: Effects/Singularity/singulo_gen.rsi
state: singulo_gen
- type: SingularityGenerator
- type: InteractionOutline
- type: Clickable
- type: Physics
anchored: true
shapes:
- !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [ MobMask ]
- type: SnapGrid
offset: Center
- type: Anchorable
- type: Pullable