Reagent container visualizer (#3529)
* Started working on beakers * Working sprite change * Fixed large beaker * Add bluepsace beaker * Add cryostasis beaker * Removed old rsi * Fixed dropper * No dropper problems * Working on syrigine * Better syr visualizer * Add dropper inhand * Syringe in-hands * Add base empty bottle for chemistry * Deleted old fillings * Simplified beaker in hand * Moved chemical bottles to seperate .yml * Fixed chem master * Serv3 when * Fixed grammar * Removed delays Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com> Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
@@ -0,0 +1,53 @@
|
||||
#nullable enable
|
||||
using System;
|
||||
using Content.Shared.GameObjects.Components.Chemistry;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Shared.Serialization.Manager.Attributes;
|
||||
|
||||
namespace Content.Client.GameObjects.Components.Chemistry
|
||||
{
|
||||
[UsedImplicitly]
|
||||
public class SolutionContainerVisualizer : AppearanceVisualizer
|
||||
{
|
||||
[DataField("maxFillLevels")] private int _maxFillLevels = 0;
|
||||
[DataField("fillBaseName")] private string? _fillBaseName = null;
|
||||
[DataField("emptySpriteName")] private string? _emptySpriteName = null;
|
||||
[DataField("layer")] private SolutionContainerLayers _layer = SolutionContainerLayers.Fill;
|
||||
[DataField("changeColor")] private bool _changeColor = true;
|
||||
|
||||
public override void OnChangeData(AppearanceComponent component)
|
||||
{
|
||||
base.OnChangeData(component);
|
||||
|
||||
if (_maxFillLevels <= 0 || _fillBaseName == null) return;
|
||||
|
||||
if (!component.TryGetData(SolutionContainerVisuals.VisualState,
|
||||
out SolutionContainerVisualState state)) return;
|
||||
|
||||
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite)) return;
|
||||
if (!sprite.LayerMapTryGet(_layer, out var fillLayer)) return;
|
||||
|
||||
var fillPercent = state.FilledVolumePercent;
|
||||
var closestFillSprite = (int) Math.Round(fillPercent * _maxFillLevels);
|
||||
|
||||
if (closestFillSprite > 0)
|
||||
{
|
||||
sprite.LayerSetVisible(fillLayer, true);
|
||||
|
||||
var stateName = _fillBaseName + closestFillSprite;
|
||||
sprite.LayerSetState(fillLayer, stateName);
|
||||
|
||||
if (_changeColor)
|
||||
sprite.LayerSetColor(fillLayer, state.Color);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_emptySpriteName == null)
|
||||
sprite.LayerSetVisible(fillLayer, false);
|
||||
else
|
||||
sprite.LayerSetState(fillLayer, _emptySpriteName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -278,7 +278,7 @@ namespace Content.Server.GameObjects.Components.Chemistry
|
||||
var actualVolume = ReagentUnit.Min(individualVolume, ReagentUnit.New(30));
|
||||
for (int i = 0; i < bottleAmount; i++)
|
||||
{
|
||||
var bottle = Owner.EntityManager.SpawnEntity("bottle", Owner.Transform.Coordinates);
|
||||
var bottle = Owner.EntityManager.SpawnEntity("ChemistryEmptyBottle01", Owner.Transform.Coordinates);
|
||||
|
||||
var bufferSolution = BufferSolution.SplitSolution(actualVolume);
|
||||
|
||||
|
||||
@@ -290,6 +290,9 @@ namespace Content.Shared.GameObjects.Components.Chemistry
|
||||
/// </summary>
|
||||
public readonly byte FilledVolumeFraction;
|
||||
|
||||
// do we really need this just to save three bytes?
|
||||
public float FilledVolumePercent => (float) FilledVolumeFraction / byte.MaxValue;
|
||||
|
||||
/// <param name="filledVolumeFraction">The fraction of the container's volume that is filled.</param>
|
||||
public SolutionContainerVisualState(Color color, float filledVolumeFraction)
|
||||
{
|
||||
@@ -298,6 +301,12 @@ namespace Content.Shared.GameObjects.Components.Chemistry
|
||||
}
|
||||
}
|
||||
|
||||
public enum SolutionContainerLayers : byte
|
||||
{
|
||||
Fill,
|
||||
Base
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public class SolutionContainerComponentState : ComponentState
|
||||
{
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
id: ChemistryTechnology
|
||||
description: A crash course in chemistry.
|
||||
icon:
|
||||
sprite: Objects/Specific/Chemistry/beakers.rsi
|
||||
sprite: Objects/Specific/Chemistry/beaker_large.rsi
|
||||
state: beakerlarge
|
||||
requiredPoints: 1000
|
||||
requiredTechnologies:
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
- type: entity
|
||||
name: bottle
|
||||
parent: BaseItem
|
||||
id: BaseChemistryEmptyBottle
|
||||
abstract: true
|
||||
description: A small bottle.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/bottle.rsi
|
||||
netsync: false
|
||||
state: bottle-1
|
||||
- type: Drink
|
||||
isOpen: true
|
||||
- type: SolutionContainer
|
||||
maxVol: 30
|
||||
caps: OpenContainer
|
||||
- type: SolutionTransfer
|
||||
transferAmount: 5
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Chemistry/beaker.rsi
|
||||
- type: Spillable
|
||||
|
||||
- type: entity
|
||||
name: bottle
|
||||
parent: BaseChemistryEmptyBottle
|
||||
id: ChemistryEmptyBottle01
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/bottle.rsi
|
||||
layers:
|
||||
- state: bottle-1
|
||||
- state: bottle-1-1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 6
|
||||
fillBaseName: bottle-1-
|
||||
|
||||
- type: entity
|
||||
name: bottle
|
||||
parent: BaseChemistryEmptyBottle
|
||||
id: ChemistryEmptyBottle02
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/bottle.rsi
|
||||
layers:
|
||||
- state: bottle-2
|
||||
- state: bottle-2-1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 6
|
||||
fillBaseName: bottle-2-
|
||||
|
||||
- type: entity
|
||||
name: bottle
|
||||
parent: BaseChemistryEmptyBottle
|
||||
id: ChemistryEmptyBottle03
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/bottle.rsi
|
||||
layers:
|
||||
- state: bottle-3
|
||||
- state: bottle-3-1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 6
|
||||
fillBaseName: bottle-3-
|
||||
|
||||
- type: entity
|
||||
name: bottle
|
||||
parent: BaseChemistryEmptyBottle
|
||||
id: ChemistryEmptyBottle04
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/bottle.rsi
|
||||
layers:
|
||||
- state: bottle-4
|
||||
- state: bottle-4-1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 6
|
||||
fillBaseName: bottle-4-
|
||||
@@ -1,4 +1,3 @@
|
||||
# TODO: Add description (1)
|
||||
- type: entity
|
||||
name: beaker
|
||||
parent: BaseItem
|
||||
@@ -9,11 +8,15 @@
|
||||
tags:
|
||||
- GlassBeaker
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/beakers.rsi
|
||||
state: beaker
|
||||
sprite: Objects/Specific/Chemistry/beaker.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: beaker
|
||||
- state: beaker1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Chemistry/beakers.rsi
|
||||
HeldPrefix: beaker
|
||||
sprite: Objects/Specific/Chemistry/beaker.rsi
|
||||
- type: SolutionContainer
|
||||
maxVol: 50
|
||||
caps: OpenContainer, FitsInDispenser # can add and remove solutions and fits in the chemmaster.
|
||||
@@ -22,6 +25,11 @@
|
||||
- type: Spillable
|
||||
- type: Drink
|
||||
isOpen: true
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 6
|
||||
fillBaseName: beaker
|
||||
|
||||
- type: entity
|
||||
name: large beaker
|
||||
@@ -30,17 +38,46 @@
|
||||
id: LargeBeaker
|
||||
components:
|
||||
- type: Sprite
|
||||
state: beakerlarge
|
||||
- type: Item
|
||||
HeldPrefix: beaker
|
||||
sprite: Objects/Specific/Chemistry/beaker_large.rsi
|
||||
layers:
|
||||
- state: beakerlarge
|
||||
- state: beakerlarge1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: SolutionContainer
|
||||
maxVol: 100
|
||||
caps: OpenContainer, FitsInDispenser
|
||||
- type: SolutionTransfer
|
||||
transferAmount: 5.0
|
||||
- type: Spillable
|
||||
- type: Drink
|
||||
isOpen: true
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 6
|
||||
fillBaseName: beakerlarge
|
||||
|
||||
- type: entity
|
||||
name: cryostasis beaker
|
||||
parent: Beaker
|
||||
description: Used to contain chemicals or solutions without reactions.
|
||||
id: CryostasisBeaker
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/beaker_cryostasis.rsi
|
||||
layers:
|
||||
- state: beakernoreact
|
||||
- type: SolutionContainer
|
||||
maxVol: 60
|
||||
canReact: false
|
||||
|
||||
- type: entity
|
||||
name: bluespace beaker
|
||||
parent: Beaker
|
||||
description: Powered by experimental bluespace technology.
|
||||
id: BluespaceBeaker
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/beaker_bluespace.rsi
|
||||
layers:
|
||||
- state: beakerbluespace
|
||||
- type: SolutionContainer
|
||||
maxVol: 300
|
||||
|
||||
- type: entity
|
||||
name: dropper
|
||||
@@ -50,12 +87,25 @@
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/dropper.rsi
|
||||
state: dropper
|
||||
netsync: false
|
||||
layers:
|
||||
- state: dropper
|
||||
- state: dropper1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: SolutionContainer
|
||||
caps: OpenContainer
|
||||
maxVol: 5
|
||||
- type: SolutionTransfer
|
||||
transferAmount: 5.0
|
||||
- type: Spillable
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Chemistry/dropper.rsi
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 1
|
||||
fillBaseName: dropper
|
||||
|
||||
- type: entity
|
||||
name: syringe
|
||||
@@ -65,27 +115,33 @@
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/syringe.rsi
|
||||
state: 0
|
||||
netsync: false
|
||||
layers:
|
||||
- state: syringe1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- state: syringe_base0
|
||||
map: ["enum.SolutionContainerLayers.Base"]
|
||||
- type: SolutionContainer
|
||||
maxVol: 15
|
||||
- type: Injector
|
||||
injectOnly: false
|
||||
- type: Spillable
|
||||
|
||||
- type: entity
|
||||
name: bottle
|
||||
parent: BaseItem
|
||||
id: bottle
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Chemistry/bottle.rsi
|
||||
state: bottle
|
||||
- type: Drink
|
||||
- type: SolutionContainer
|
||||
maxVol: 30
|
||||
- type: SolutionTransfer
|
||||
transferAmount: 5
|
||||
- type: Spillable
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Chemistry/syringe.rsi
|
||||
- type: Appearance
|
||||
visuals:
|
||||
# this visualizer used for reagent inside
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 4
|
||||
fillBaseName: syringe
|
||||
# this one for syrigine itself (plunger)
|
||||
- type: SolutionContainerVisualizer
|
||||
maxFillLevels: 4
|
||||
fillBaseName: syringe_base
|
||||
emptySpriteName: syringe_base0
|
||||
layer: Base
|
||||
changeColor: false
|
||||
|
||||
- type: entity
|
||||
name: pill
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
- type: latheRecipe
|
||||
id: Beaker
|
||||
icon: Objects/Specific/Chemistry/beakers.rsi
|
||||
icon:
|
||||
sprite: Objects/Specific/Chemistry/beaker.rsi
|
||||
state: beaker
|
||||
result: Beaker
|
||||
completetime: 500
|
||||
materials:
|
||||
@@ -8,7 +10,9 @@
|
||||
|
||||
- type: latheRecipe
|
||||
id: LargeBeaker
|
||||
icon: Objects/Specific/Chemistry/beakers.rsi
|
||||
icon:
|
||||
sprite: Objects/Specific/Chemistry/beaker_large.rsi
|
||||
state: beakerlarge
|
||||
result: LargeBeaker
|
||||
completetime: 500
|
||||
materials:
|
||||
|
||||
|
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 237 B |
|
Before Width: | Height: | Size: 137 B After Width: | Height: | Size: 137 B |
|
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 145 B |
|
Before Width: | Height: | Size: 151 B After Width: | Height: | Size: 151 B |
|
Before Width: | Height: | Size: 162 B After Width: | Height: | Size: 162 B |
|
Before Width: | Height: | Size: 160 B After Width: | Height: | Size: 160 B |
|
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 167 B |
|
Before Width: | Height: | Size: 223 B After Width: | Height: | Size: 223 B |
|
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 196 B After Width: | Height: | Size: 196 B |
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "beaker"
|
||||
},
|
||||
{
|
||||
"name": "lid_beaker"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "beaker1"
|
||||
},
|
||||
{
|
||||
"name": "beaker2"
|
||||
},
|
||||
{
|
||||
"name": "beaker3"
|
||||
},
|
||||
{
|
||||
"name": "beaker4"
|
||||
},
|
||||
{
|
||||
"name": "beaker5"
|
||||
},
|
||||
{
|
||||
"name": "beaker6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 389 B After Width: | Height: | Size: 389 B |
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "beakerbluespace",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 947 B |
|
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 141 B |
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "beakernoreact",
|
||||
"delays": [
|
||||
[
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05,
|
||||
0.05
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "lid_beakernoreact"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 239 B |
|
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 146 B |
|
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 166 B |
|
Before Width: | Height: | Size: 164 B After Width: | Height: | Size: 164 B |
|
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
|
Before Width: | Height: | Size: 164 B After Width: | Height: | Size: 164 B |
|
Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 195 B |
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "beakerlarge"
|
||||
},
|
||||
{
|
||||
"name": "lid_beakerlarge"
|
||||
},
|
||||
{
|
||||
"name": "beakerlarge1"
|
||||
},
|
||||
{
|
||||
"name": "beakerlarge2"
|
||||
},
|
||||
{
|
||||
"name": "beakerlarge3"
|
||||
},
|
||||
{
|
||||
"name": "beakerlarge4"
|
||||
},
|
||||
{
|
||||
"name": "beakerlarge5"
|
||||
},
|
||||
{
|
||||
"name": "beakerlarge6"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{"version":1,"size":{"x":32,"y":32},"license":"CC-BY-SA-3.0","copyright":"Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi","states":[{"name":"beaker","directions":1,"delays":[[1]]},{"name":"beakerbluespace","directions":1,"delays":[[0.1,0.1]]},{"name":"beakerlarge","directions":1,"delays":[[1]]},{"name":"beakernoreact","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"lid_beaker","directions":1,"delays":[[1]]},{"name":"lid_beakerlarge","directions":1,"delays":[[1]]},{"name":"lid_beakernoreact","directions":1,"delays":[[1]]}]}
|
||||
|
Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 109 B |
|
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 134 B After Width: | Height: | Size: 134 B |
|
Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 136 B |
|
Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 136 B |
|
Before Width: | Height: | Size: 142 B After Width: | Height: | Size: 142 B |
|
Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 109 B |
|
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 126 B |
|
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 126 B |
|
Before Width: | Height: | Size: 134 B After Width: | Height: | Size: 134 B |
|
Before Width: | Height: | Size: 153 B After Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 151 B After Width: | Height: | Size: 151 B |
|
Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 109 B |
|
Before Width: | Height: | Size: 101 B After Width: | Height: | Size: 101 B |
|
Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 109 B |
|
Before Width: | Height: | Size: 112 B After Width: | Height: | Size: 112 B |
|
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 127 B |
|
Before Width: | Height: | Size: 124 B After Width: | Height: | Size: 124 B |
|
Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 109 B |
|
Before Width: | Height: | Size: 125 B After Width: | Height: | Size: 125 B |
|
Before Width: | Height: | Size: 142 B After Width: | Height: | Size: 142 B |
|
Before Width: | Height: | Size: 147 B After Width: | Height: | Size: 147 B |
|
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 146 B |
|
Before Width: | Height: | Size: 155 B After Width: | Height: | Size: 155 B |
@@ -1 +1 @@
|
||||
{"version":1,"size":{"x":32,"y":32},"license":"CC-BY-SA-3.0","copyright":"Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi","states":[{"name":"bottle","directions":1,"delays":[[1]]},{"name":"bottle-1","directions":1,"delays":[[1]]},{"name":"bottle-2","directions":1,"delays":[[1]]},{"name":"bottle-3","directions":1,"delays":[[1]]},{"name":"bottle-4","directions":1,"delays":[[1]]},{"name":"bottle1","directions":1,"delays":[[1]]},{"name":"bottle10","directions":1,"delays":[[1]]},{"name":"bottle11","directions":1,"delays":[[1]]},{"name":"bottle12","directions":1,"delays":[[1]]},{"name":"bottle13","directions":1,"delays":[[1]]},{"name":"bottle14","directions":1,"delays":[[1]]},{"name":"bottle15","directions":1,"delays":[[1]]},{"name":"bottle16","directions":1,"delays":[[1]]},{"name":"bottle17","directions":1,"delays":[[1]]},{"name":"bottle18","directions":1,"delays":[[1]]},{"name":"bottle19","directions":1,"delays":[[1]]},{"name":"bottle2","directions":1,"delays":[[1]]},{"name":"bottle20","directions":1,"delays":[[1]]},{"name":"bottle3","directions":1,"delays":[[1]]},{"name":"bottle4","directions":1,"delays":[[1]]},{"name":"bottle5","directions":1,"delays":[[1]]},{"name":"bottle6","directions":1,"delays":[[1]]},{"name":"bottle7","directions":1,"delays":[[1]]},{"name":"bottle8","directions":1,"delays":[[1]]},{"name":"bottle9","directions":1,"delays":[[1]]},{"name":"lid_bottle","directions":1,"delays":[[1]]}]}
|
||||
{"version":1,"size":{"x":32,"y":32},"license":"CC-BY-SA-3.0","copyright":"Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi","states":[{"name":"bottle","directions":1,"delays":[[1]]},{"name":"bottle-1","directions":1,"delays":[[1]]},{"name":"bottle-2","directions":1,"delays":[[1]]},{"name":"bottle-3","directions":1,"delays":[[1]]},{"name":"bottle-4","directions":1,"delays":[[1]]},{"name":"bottle1","directions":1,"delays":[[1]]},{"name":"bottle10","directions":1,"delays":[[1]]},{"name":"bottle11","directions":1,"delays":[[1]]},{"name":"bottle12","directions":1,"delays":[[1]]},{"name":"bottle13","directions":1,"delays":[[1]]},{"name":"bottle14","directions":1,"delays":[[1]]},{"name":"bottle15","directions":1,"delays":[[1]]},{"name":"bottle16","directions":1,"delays":[[1]]},{"name":"bottle17","directions":1,"delays":[[1]]},{"name":"bottle18","directions":1,"delays":[[1]]},{"name":"bottle19","directions":1,"delays":[[1]]},{"name":"bottle2","directions":1,"delays":[[1]]},{"name":"bottle20","directions":1,"delays":[[1]]},{"name":"bottle3","directions":1,"delays":[[1]]},{"name":"bottle4","directions":1,"delays":[[1]]},{"name":"bottle5","directions":1,"delays":[[1]]},{"name":"bottle6","directions":1,"delays":[[1]]},{"name":"bottle7","directions":1,"delays":[[1]]},{"name":"bottle8","directions":1,"delays":[[1]]},{"name":"bottle9","directions":1,"delays":[[1]]},{"name":"lid_bottle","directions":1,"delays":[[1]]}, {"name": "bottle-1-1", "delays": [[1.0]]}, {"name": "bottle-1-2", "delays": [[1.0]]}, {"name": "bottle-1-3", "delays": [[1.0]]}, {"name": "bottle-1-4", "delays": [[1.0]]}, {"name": "bottle-1-5", "delays": [[1.0]]}, {"name": "bottle-1-6", "delays": [[1.0]]}, {"name": "bottle-2-1", "delays": [[1.0]]}, {"name": "bottle-2-2", "delays": [[1.0]]}, {"name": "bottle-2-3", "delays": [[1.0]]}, {"name": "bottle-2-4", "delays": [[1.0]]}, {"name": "bottle-2-5", "delays": [[1.0]]}, {"name": "bottle-2-6", "delays": [[1.0]]}, {"name": "bottle-3-1", "delays": [[1.0]]}, {"name": "bottle-3-2", "delays": [[1.0]]}, {"name": "bottle-3-3", "delays": [[1.0]]}, {"name": "bottle-3-4", "delays": [[1.0]]}, {"name": "bottle-3-5", "delays": [[1.0]]}, {"name": "bottle-3-6", "delays": [[1.0]]}, {"name": "bottle-4-1", "delays": [[1.0]]}, {"name": "bottle-4-2", "delays": [[1.0]]}, {"name": "bottle-4-3", "delays": [[1.0]]}, {"name": "bottle-4-4", "delays": [[1.0]]}, {"name": "bottle-4-5", "delays": [[1.0]]}, {"name": "bottle-4-6", "delays": [[1.0]]}]}
|
||||
|
||||
|
Before Width: | Height: | Size: 113 B After Width: | Height: | Size: 113 B |
|
After Width: | Height: | Size: 426 B |
|
After Width: | Height: | Size: 421 B |
@@ -1 +1,25 @@
|
||||
{"version":1,"size":{"x":32,"y":32},"license":"CC-BY-SA-3.0","copyright":"Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi","states":[{"name":"dropper","directions":1,"delays":[[1]]}]}
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "dropper"
|
||||
},
|
||||
{
|
||||
"name": "dropper1"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1,94 @@
|
||||
{"version": 1, "size": {"x": 32, "y": 32}, "states": [{"name": "backpack1", "delays": [[1.0]]}, {"name": "backpack2", "delays": [[1.0]]}, {"name": "backpackmob1", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "backpackmob2", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "beaker1", "delays": [[1.0]]}, {"name": "beaker2", "delays": [[1.0]]}, {"name": "beaker3", "delays": [[1.0]]}, {"name": "beaker4", "delays": [[1.0]]}, {"name": "beaker5", "delays": [[1.0]]}, {"name": "beaker6", "delays": [[1.0]]}, {"name": "beakerlarge1", "delays": [[1.0]]}, {"name": "beakerlarge2", "delays": [[1.0]]}, {"name": "beakerlarge3", "delays": [[1.0]]}, {"name": "beakerlarge4", "delays": [[1.0]]}, {"name": "beakerlarge5", "delays": [[1.0]]}, {"name": "beakerlarge6", "delays": [[1.0]]}, {"name": "bottle-1-1", "delays": [[1.0]]}, {"name": "bottle-1-2", "delays": [[1.0]]}, {"name": "bottle-1-3", "delays": [[1.0]]}, {"name": "bottle-1-4", "delays": [[1.0]]}, {"name": "bottle-1-5", "delays": [[1.0]]}, {"name": "bottle-1-6", "delays": [[1.0]]}, {"name": "bottle-2-1", "delays": [[1.0]]}, {"name": "bottle-2-2", "delays": [[1.0]]}, {"name": "bottle-2-3", "delays": [[1.0]]}, {"name": "bottle-2-4", "delays": [[1.0]]}, {"name": "bottle-2-5", "delays": [[1.0]]}, {"name": "bottle-2-6", "delays": [[1.0]]}, {"name": "bottle-3-1", "delays": [[1.0]]}, {"name": "bottle-3-2", "delays": [[1.0]]}, {"name": "bottle-3-3", "delays": [[1.0]]}, {"name": "bottle-3-4", "delays": [[1.0]]}, {"name": "bottle-3-5", "delays": [[1.0]]}, {"name": "bottle-3-6", "delays": [[1.0]]}, {"name": "bottle-4-1", "delays": [[1.0]]}, {"name": "bottle-4-2", "delays": [[1.0]]}, {"name": "bottle-4-3", "delays": [[1.0]]}, {"name": "bottle-4-4", "delays": [[1.0]]}, {"name": "bottle-4-5", "delays": [[1.0]]}, {"name": "bottle-4-6", "delays": [[1.0]]}, {"name": "dropper1", "delays": [[1.0]]}, {"name": "glass1", "delays": [[1.0]]}, {"name": "glass2", "delays": [[1.0]]}, {"name": "glass3", "delays": [[1.0]]}, {"name": "glass4", "delays": [[1.0]]}, {"name": "glass5", "delays": [[1.0]]}, {"name": "glass6", "delays": [[1.0]]}, {"name": "largebottle1", "delays": [[1.0]]}, {"name": "largebottle2", "delays": [[1.0]]}, {"name": "largebottle3", "delays": [[1.0]]}, {"name": "largebottle4", "delays": [[1.0]]}, {"name": "largebottle5", "delays": [[1.0]]}, {"name": "largebottle6", "delays": [[1.0]]}, {"name": "smallbottle1", "delays": [[1.0]]}, {"name": "smallbottle2", "delays": [[1.0]]}, {"name": "smallbottle3", "delays": [[1.0]]}, {"name": "smallbottle4", "delays": [[1.0]]}, {"name": "smallbottle5", "delays": [[1.0]]}, {"name": "smallbottle6", "delays": [[1.0]]}, {"name": "syringe1", "delays": [[1.0]]}, {"name": "syringe2", "delays": [[1.0]]}, {"name": "syringe3", "delays": [[1.0]]}, {"name": "syringe4", "delays": [[1.0]]}, {"name": "vial1", "delays": [[1.0]]}, {"name": "vial2", "delays": [[1.0]]}, {"name": "vial3", "delays": [[1.0]]}, {"name": "vial4", "delays": [[1.0]]}, {"name": "vial5", "delays": [[1.0]]}, {"name": "vial6", "delays": [[1.0]]}]}
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "backpack1"
|
||||
},
|
||||
{
|
||||
"name": "backpack2"
|
||||
},
|
||||
{
|
||||
"name": "backpackmob1"
|
||||
},
|
||||
{
|
||||
"name": "backpackmob2",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "glass1"
|
||||
},
|
||||
{
|
||||
"name": "glass2"
|
||||
},
|
||||
{
|
||||
"name": "glass3"
|
||||
},
|
||||
{
|
||||
"name": "glass4"
|
||||
},
|
||||
{
|
||||
"name": "glass5"
|
||||
},
|
||||
{
|
||||
"name": "glass6"
|
||||
},
|
||||
{
|
||||
"name": "largebottle1"
|
||||
},
|
||||
{
|
||||
"name": "largebottle2"
|
||||
},
|
||||
{
|
||||
"name": "largebottle3"
|
||||
},
|
||||
{
|
||||
"name": "largebottle4"
|
||||
},
|
||||
{
|
||||
"name": "largebottle5"
|
||||
},
|
||||
{
|
||||
"name": "largebottle6"
|
||||
},
|
||||
{
|
||||
"name": "smallbottle1"
|
||||
},
|
||||
{
|
||||
"name": "smallbottle2"
|
||||
},
|
||||
{
|
||||
"name": "smallbottle3"
|
||||
},
|
||||
{
|
||||
"name": "smallbottle4"
|
||||
},
|
||||
{
|
||||
"name": "smallbottle5"
|
||||
},
|
||||
{
|
||||
"name": "smallbottle6"
|
||||
},
|
||||
{
|
||||
"name": "vial1"
|
||||
},
|
||||
{
|
||||
"name": "vial2"
|
||||
},
|
||||
{
|
||||
"name": "vial3"
|
||||
},
|
||||
{
|
||||
"name": "vial4"
|
||||
},
|
||||
{
|
||||
"name": "vial5"
|
||||
},
|
||||
{
|
||||
"name": "vial6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 183 B |
|
After Width: | Height: | Size: 185 B |
@@ -1 +1,52 @@
|
||||
{"version": 1, "size": {"x": 32, "y": 32}, "states": [{"name": "0", "delays": [[1.0]]}, {"name": "1", "delays": [[1.0]]}, {"name": "10", "delays": [[1.0]]}, {"name": "15", "delays": [[1.0]]}, {"name": "5", "delays": [[1.0]]}, {"name": "broken", "delays": [[1.0]]}, {"name": "syringeproj", "delays": [[1.0]]}]}
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/syringe.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "syringe_base0"
|
||||
},
|
||||
{
|
||||
"name": "syringe_base1"
|
||||
},
|
||||
{
|
||||
"name": "syringe_base2"
|
||||
},
|
||||
{
|
||||
"name": "syringe_base3"
|
||||
},
|
||||
{
|
||||
"name": "syringe_base4"
|
||||
},
|
||||
{
|
||||
"name": "broken"
|
||||
},
|
||||
{
|
||||
"name": "syringeproj"
|
||||
},
|
||||
{
|
||||
"name": "syringe1"
|
||||
},
|
||||
{
|
||||
"name": "syringe2"
|
||||
},
|
||||
{
|
||||
"name": "syringe3"
|
||||
},
|
||||
{
|
||||
"name": "syringe4"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 153 B After Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 331 B |
|
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 331 B |
|
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 338 B |
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 330 B |
|
Before Width: | Height: | Size: 284 B After Width: | Height: | Size: 284 B |