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

@@ -1,4 +1,4 @@
using System; using System;
using Content.Shared.GameObjects.Components.Singularity; using Content.Shared.GameObjects.Components.Singularity;
using JetBrains.Annotations; using JetBrains.Annotations;
using Robust.Client.GameObjects; using Robust.Client.GameObjects;
@@ -8,8 +8,8 @@ namespace Content.Client.GameObjects.Components.Singularity
[UsedImplicitly] [UsedImplicitly]
public class EmitterVisualizer : AppearanceVisualizer public class EmitterVisualizer : AppearanceVisualizer
{ {
private const string OverlayBeam = "emitter-beam"; private const string OverlayBeam = "beam";
private const string OverlayUnderPowered = "emitter-underpowered"; private const string OverlayUnderPowered = "underpowered";
public override void OnChangeData(AppearanceComponent component) public override void OnChangeData(AppearanceComponent component)
{ {

View File

@@ -98,23 +98,6 @@ namespace Content.Server.GameObjects.Components.Singularity
} }
} }
public override void HandleMessage(ComponentMessage message, IComponent? component)
{
base.HandleMessage(message, component);
switch (message)
{
case AnchoredChangedMessage anchoredChanged:
OnAnchoredChanged(anchoredChanged);
break;
}
}
private void OnAnchoredChanged(AnchoredChangedMessage anchoredChanged)
{
if (anchoredChanged.Anchored)
Owner.SnapToGrid();
}
void IActivate.Activate(ActivateEventArgs eventArgs) void IActivate.Activate(ActivateEventArgs eventArgs)
{ {
if (_isLocked) if (_isLocked)

View File

@@ -72,7 +72,7 @@ namespace Content.Server.GameObjects.Components.Singularity
if(_radiationPulseComponent != null) _radiationPulseComponent.RadsPerSecond = 10 * value; if(_radiationPulseComponent != null) _radiationPulseComponent.RadsPerSecond = 10 * value;
_spriteComponent?.LayerSetRSI(0, "Effects/Singularity/singularity_" + _level + ".rsi"); _spriteComponent?.LayerSetRSI(0, "Constructible/Power/Singularity/singularity_" + _level + ".rsi");
_spriteComponent?.LayerSetState(0, "singularity_" + _level); _spriteComponent?.LayerSetState(0, "singularity_" + _level);
if(_collidableComponent != null && _collidableComponent.PhysicsShapes.Any() && _collidableComponent.PhysicsShapes[0] is PhysShapeCircle circle) if(_collidableComponent != null && _collidableComponent.PhysicsShapes.Any() && _collidableComponent.PhysicsShapes[0] is PhysShapeCircle circle)

View File

@@ -38423,7 +38423,7 @@ entities:
rot: 4.371139006309477E-08 rad rot: 4.371139006309477E-08 rad
type: Transform type: Transform
- uid: 4290 - uid: 4290
type: SinguloGenerator type: SingularityGenerator
components: components:
- parent: 853 - parent: 853
pos: 49.5,-24.5 pos: 49.5,-24.5
@@ -41471,7 +41471,7 @@ entities:
rot: 4.371139006309477E-08 rad rot: 4.371139006309477E-08 rad
type: Transform type: Transform
- uid: 4714 - uid: 4714
type: CrateMaterialsMetal type: CrateMaterialMetal
components: components:
- parent: 853 - parent: 853
pos: 21.5,13.5 pos: 21.5,13.5

View File

@@ -1,6 +1,6 @@
- type: cargoProduct - type: cargoProduct
name: "packaged antimatter reactor crate" name: "packaged antimatter reactor crate"
id: cargo.enginesameshielding id: cargo.engineameshielding
description: "9 parts for the main body of an antimatter reactor, or for expanding an existing one." description: "9 parts for the main body of an antimatter reactor, or for expanding an existing one."
icon: icon:
sprite: Objects/Power/AME/ame_part.rsi sprite: Objects/Power/AME/ame_part.rsi
@@ -12,7 +12,7 @@
- type: cargoProduct - type: cargoProduct
name: "antimatter containment jar crate" name: "antimatter containment jar crate"
id: cargo.enginesamejar id: cargo.engineamejar
description: "3 antimatter jars, for fuelling an antimatter reactor." description: "3 antimatter jars, for fuelling an antimatter reactor."
icon: icon:
sprite: Objects/Power/AME/ame_jar.rsi sprite: Objects/Power/AME/ame_jar.rsi
@@ -24,7 +24,7 @@
- type: cargoProduct - type: cargoProduct
name: "antimatter control unit crate" name: "antimatter control unit crate"
id: cargo.enginesamecontrol id: cargo.engineamecontrol
description: "The control unit of an antimatter reactor." description: "The control unit of an antimatter reactor."
icon: icon:
sprite: Constructible/Power/ame_controller.rsi sprite: Constructible/Power/ame_controller.rsi
@@ -34,3 +34,50 @@
category: Engineering category: Engineering
group: market group: market
- type: cargoProduct
name: "singularity generator crate"
id: cargo.enginesingularitygenerator
description: "Contains one singularity generator. The mother of the beast."
icon:
sprite: Constructible/Power/Singularity/generator.rsi
state: icon
product: CrateEngineeringSingularityGenerator
cost: 4000
category: Engineering
group: market
- type: cargoProduct
name: "singularity containment crate"
id: cargo.enginesingularitycontainment
description: "Contains 2 singularity containment field generators."
icon:
sprite: Constructible/Power/Singularity/containment.rsi
state: icon
product: CrateEngineeringSingularityContainment
cost: 1500
category: Engineering
group: market
- type: cargoProduct
name: "emitter crate"
id: cargo.enginesingularityemitter
description: "Contains 2 emitters. Used only for dangerous applications."
icon:
sprite: Constructible/Power/Singularity/emitter.rsi
state: emitter2
product: CrateEngineeringSingularityEmitter
cost: 1500
category: Engineering
group: market
- type: cargoProduct
name: "radiation collector crate"
id: cargo.enginesingularitycollector
description: "Contains 2 radiation collectors. Safety first!"
icon:
sprite: Constructible/Power/Singularity/collector.rsi
state: ca_on
product: CrateEngineeringSingularityCollector
cost: 1500
category: Engineering
group: market

View File

@@ -15,8 +15,8 @@
id: cargo.funartsupplies id: cargo.funartsupplies
description: "Make some happy little accidents with lots of crayons!" description: "Make some happy little accidents with lots of crayons!"
icon: icon:
sprite: Objects/Misc/crayons.rsi sprite: Objects/Fun/crayons.rsi
state: crayonbox state: box
product: CrateFunArtSupplies product: CrateFunArtSupplies
cost: 1000 cost: 1000
category: Fun category: Fun

View File

@@ -0,0 +1,35 @@
- type: cargoProduct
name: "crate of glass sheets"
id: cargo.materialglass
description: "90 sheets of glass, packed with care."
icon:
sprite: Objects/Materials/Sheets/glass.rsi
state: glass_3
product: CrateMaterialGlass
cost: 1500
category: Materials
group: market
- type: cargoProduct
name: "crate of steel sheets"
id: cargo.materialsteel
description: "90 sheets of steel."
icon:
sprite: Objects/Materials/Sheets/metal.rsi
state: steel_3
product: CrateMaterialGlass
cost: 1500
category: Materials
group: market
- type: cargoProduct
name: "crate of plastic sheets"
id: cargo.materialplastic
description: "90 sheets of plastic."
icon:
sprite: Objects/Materials/Sheets/other.rsi
state: plastic_3
product: CrateMaterialPlastic
cost: 1500
category: Materials
group: market

View File

@@ -31,6 +31,63 @@
- name: AMEControllerUnanchored - name: AMEControllerUnanchored
amount: 1 amount: 1
- type: entity
id: CrateEngineeringSingularityEmitter
name: emitter crate
description: "An emitter, best used for singularity engines."
parent: CrateEngineeringSecure
components:
- type: StorageFill
contents:
- name: Emitter
amount: 2
- type: entity
id: CrateEngineeringSingularityCollector
name: radiation collector crate
description: "A radiation collector, best used for singularity engines."
parent: CrateEngineeringSecure
components:
- type: StorageFill
contents:
- name: RadiationCollector
amount: 2
- type: entity
id: CrateEngineeringSingularityContainment
name: containment field generator crate
description: "A containment field generator, keeps the singulo in submission."
parent: CrateEngineeringSecure
components:
- type: StorageFill
contents:
- name: ContainmentFieldGenerator
amount: 2
- type: entity
id: CrateEngineeringSingularityGenerator
name: singularity generator crate
description: "A singularity generator, the mother of the beast."
parent: CrateEngineeringSecure
components:
- type: StorageFill
contents:
- name: SingularityGenerator
amount: 1
# Non-functional for some reason
#- type: entity
# id: CrateEngineeringSingularity
# name: singularity crate
# description: "Prank the station!"
# parent: CrateEngineeringSecure
# components:
# - type: StorageFill
# contents:
# - name: Singularity
# amount: 1
- type: entity - type: entity
id: CrateEngineeringGenerator id: CrateEngineeringGenerator
name: generator crate name: generator crate

View File

@@ -1,25 +1,35 @@
- type: entity - type: entity
id: CrateMaterialsGlass id: CrateMaterialGlass
name: glass crate name: glass crate
parent: CrateGenericonimo parent: CrateGenericonimo
components: components:
- type: StorageFill - type: StorageFill
contents: contents:
- name: SheetGlass - name: SheetGlass
amount: 1 amount: 3
- type: entity - type: entity
id: CrateMaterialsMetal id: CrateMaterialMetal
name: metals crate name: metals crate
parent: CrateGenericonimo parent: CrateGenericonimo
components: components:
- type: StorageFill - type: StorageFill
contents: contents:
- name: SheetSteel - name: SheetSteel
amount: 1 amount: 3
- type: entity - type: entity
id: CrateMaterialsWood id: CrateMaterialPlastic
name: plastics crate
parent: CrateGenericonimo
components:
- type: StorageFill
contents:
- name: SheetPlastic
amount: 3
- type: entity
id: CrateMaterialWood
name: wood crate name: wood crate
parent: CrateGenericonimo parent: CrateGenericonimo
components: components:
@@ -29,7 +39,7 @@
amount: 1 amount: 1
- type: entity - type: entity
id: CrateMaterialsFuelTank id: CrateMaterialFuelTank
name: fueltank crate name: fueltank crate
parent: CrateGenericonimo parent: CrateGenericonimo
components: components:
@@ -39,7 +49,7 @@
amount: 1 amount: 1
#- type: entity #- type: entity
# id: CrateMaterialsHFuelTank # id: CrateMaterialHFuelTank
# name: fueltank crate # name: fueltank crate
# parent: CrateGenericonimo # parent: CrateGenericonimo
# components: # components:
@@ -49,7 +59,7 @@
# amount: 1 # amount: 1
- type: entity - type: entity
id: CrateMaterialsWaterTank id: CrateMaterialWaterTank
name: watertank crate name: watertank crate
parent: CrateGenericonimo parent: CrateGenericonimo
components: components:
@@ -59,7 +69,7 @@
amount: 1 amount: 1
#- type: entity #- type: entity
# id: CrateMaterialsHWaterTank # id: CrateMaterialHWaterTank
# name: watertank crate # name: watertank crate
# parent: CrateGenericonimo # parent: CrateGenericonimo
# components: # components:
@@ -69,17 +79,7 @@
# amount: 1 # amount: 1
- type: entity - type: entity
id: CrateMaterialsPlastic id: CrateMaterialPlasteel
name: plastics crate
parent: CrateGenericonimo
components:
- type: StorageFill
contents:
- name: SheetPlastic
amount: 1
- type: entity
id: CrateMaterialsPlasteel
name: plasteel crate name: plasteel crate
parent: CrateGenericonimo parent: CrateGenericonimo
components: components:

View File

@@ -31,12 +31,19 @@
- cargo.hydroponicsseedsexotic - cargo.hydroponicsseedsexotic
- cargo.servicejanitorial - cargo.servicejanitorial
- cargo.servicelightsreplacement - cargo.servicelightsreplacement
- cargo.enginesameshielding - cargo.engineameshielding
- cargo.enginesamejar - cargo.engineamejar
- cargo.enginesamecontrol - cargo.engineamecontrol
- cargo.funplushies - cargo.funplushies
- cargo.funartsupplies - cargo.funartsupplies
- cargo.funinstruments - cargo.funinstruments
- cargo.materialsteel
- cargo.materialglass
- cargo.materialplastic
- cargo.enginesingularityemitter
- cargo.enginesingularitycollector
- cargo.enginesingularitygenerator
- cargo.enginesingularitycontainment
- type: UserInterface - type: UserInterface
interfaces: interfaces:
- key: enum.CargoConsoleUiKey.Key - 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 - type: entity
name: Emitter name: emitter
description: "A machine that fires bolts of energy, used for powering containment fields at a safe distance." description: "A machine that fires bolts of energy, used for powering containment fields at a safe distance."
id: Emitter id: Emitter
placement: placement:
mode: SnapgridCenter mode: SnapgridCenter
components: components:
- type: InteractionOutline
- type: Clickable - type: Clickable
- type: InteractionOutline
- type: Physics - type: Physics
mass: 25 mass: 25
anchored: true
shapes: shapes:
- !type:PhysShapeAabb - !type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5" bounds: "-0.5, -0.5, 0.5, 0.5"
layer: # layer:
- Impassable # - Impassable
- MobImpassable # - MobImpassable
- VaultImpassable # - VaultImpassable
- Opaque # - Opaque
mask: # mask:
- Impassable # - Impassable
- MobImpassable # - MobImpassable
- VaultImpassable # - VaultImpassable
- type: SnapGrid - type: SnapGrid
offset: Center offset: Center
- type: Sprite - type: Sprite
sprite: Constructible/Power/emitter.rsi sprite: Constructible/Power/Singularity/emitter.rsi
layers: layers:
- state: emitter2 - state: emitter2
- state: emitter-beam - state: beam
shader: unshaded shader: unshaded
visible: false visible: false
- state: emitter-lock - state: lock
shader: unshaded shader: unshaded
visible: false visible: false
- type: Emitter - type: Emitter
@@ -43,16 +42,15 @@
- !type:AdjacentNode - !type:AdjacentNode
nodeGroupID: MVPower nodeGroupID: MVPower
- type: Anchorable - type: Anchorable
snap: true
- type: Pullable - type: Pullable
- type: Rotatable
- type: Appearance - type: Appearance
# - type: Rotatable
# Idk why but the emitter breaks when I apply this.
visuals: visuals:
- type: EmitterVisualizer - type: EmitterVisualizer
- type: AccessReader - type: AccessReader
access: [[ "Engineering" ]] access: [[ "Engineering" ]]
- type: entity - type: entity
name: Emitter Bolt name: Emitter Bolt
description: "A bolt of energy." description: "A bolt of energy."
@@ -60,14 +58,14 @@
parent: BulletBase parent: BulletBase
components: components:
- type: Sprite - type: Sprite
sprite: Constructible/Power/emitter.rsi sprite: Constructible/Power/Singularity/emitter.rsi
state: '' state: ''
layers: layers:
- state: emitter_projectile - state: projectile
shader: unshaded shader: unshaded
- type: Icon - type: Icon
sprite: Constructible/Power/emitter.rsi sprite: Constructible/Power/Singularity/emitter.rsi
state: emitter_projectile state: projectile
- type: EmitterBoltComponent - type: EmitterBoltComponent
- type: Projectile - type: Projectile
soundHit: /Audio/Weapons/Guns/Hits/bullet_hit.ogg 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

View File

@@ -0,0 +1,44 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from goonstation at https://github.com/goonstation/goonstation/commit/cbe076402ed43b1cd861295bbcb95608c453de7a",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "ca_off"
},
{
"name": "ca_on"
},
{
"name": "ca_active",
"delays": [
[
0.1,
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "ca_deactive",
"delays": [
[
0.1,
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "cu"
}
]
}

View File

@@ -0,0 +1,44 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/da354ba4e28fcaf73002d25cab0da4815808be60",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "a1"
},
{
"name": "a2"
},
{
"name": "a3"
},
{
"name": "on"
},
{
"name": "p1"
},
{
"name": "p2"
},
{
"name": "p3"
},
{
"name": "p4"
},
{
"name": "p5"
},
{
"name": "p6"
},
{
"name": "icon"
}
]
}

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,89 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/da354ba4e28fcaf73002d25cab0da4815808be60",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "field",
"directions": 4,
"delays": [
[
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
],
[
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
]
]
}
]
}

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -0,0 +1,56 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/da354ba4e28fcaf73002d25cab0da4815808be60",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "beam",
"directions": 4
},
{
"name": "underpowered",
"directions": 4,
"delays": [
[
0.1,
0.1
],
[
0.1,
0.1
],
[
0.1,
0.1
],
[
0.1,
0.1
]
]
},
{
"name": "lock",
"directions": 4
},
{
"name": "emitter0",
"directions": 4
},
{
"name": "emitter1",
"directions": 4
},
{
"name": "emitter2",
"directions": 4
},
{
"name": "projectile"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"version": 1,
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/68357f0b64a296d122ff1bdb2f13e9b0cb04a003/icons/obj/singularity.dmi",
"license": "CC-BY-SA-3.0",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
}
]
}

View File

@@ -1 +0,0 @@
{"version":1,"size":{"x":32,"y":32},"license":"CC-BY-SA-3.0","copyright":"Taken from https://github.com/tgstation/tgstation","states":[{"name":"emitter-beam","directions":4,"delays":[[0.1],[0.1],[0.1],[0.1]]},{"name":"emitter-underpowered","directions":4,"delays":[[0.1,0.1],[0.1,0.1],[0.1,0.1],[0.1,0.1]]},{"name":"emitter-lock","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"emitter0","directions":4,"delays":[[0.1],[0.1],[0.1],[0.1]]},{"name":"emitter1","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"emitter2","directions":4,"delays":[[1.0],[1.0],[1.0],[1.0]]},{"name":"emitter_projectile","directions":1,"delays":[[1.0]]}]}

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation", "states": [{"name": "+a1", "delays": [[1.0]]}, {"name": "+a2", "delays": [[1.0]]}, {"name": "+a3", "delays": [[1.0]]}, {"name": "+on", "delays": [[1.0]]}, {"name": "+p1", "delays": [[1.0]]}, {"name": "+p2", "delays": [[1.0]]}, {"name": "+p3", "delays": [[1.0]]}, {"name": "+p4", "delays": [[1.0]]}, {"name": "+p5", "delays": [[1.0]]}, {"name": "+p6", "delays": [[1.0]]}, {"name": "Field_Gen", "delays": [[1.0]]}]}

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/goonstation/goonstation-2020", "states": [{"name": "ca_off", "delays": [[1.0]]}, {"name": "ca_on", "delays": [[1.0]]}, {"name": "ca_active", "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "ca_deactive", "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "cu", "delays": [[1.0]]}]}

View File

@@ -1 +0,0 @@
{"version":1,"size":{"x":32,"y":32},"copyright":"Taken from https://github.com/vgstation-coders/vgstation13/blob/68357f0b64a296d122ff1bdb2f13e9b0cb04a003/icons/obj/singularity.dmi","license":"CC-BY-SA-3.0","states":[{"name":"singulo_gen","directions":1,"delays":[[1]]}]}

View File

@@ -1 +0,0 @@
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation", "states": [{"name": "Contain_F", "directions": 4, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}]}