diff --git a/Content.Server/GameObjects/Components/Chemistry/SolutionComponent.cs b/Content.Server/GameObjects/Components/Chemistry/SolutionComponent.cs
index 87c15bd061..66843b3b54 100644
--- a/Content.Server/GameObjects/Components/Chemistry/SolutionComponent.cs
+++ b/Content.Server/GameObjects/Components/Chemistry/SolutionComponent.cs
@@ -9,6 +9,8 @@ using Content.Server.GameObjects.EntitySystems;
using Content.Server.Interfaces;
using Content.Shared.Chemistry;
using Content.Shared.GameObjects;
+using Content.Shared.Utility;
+using Robust.Server.GameObjects;
using Robust.Server.GameObjects.EntitySystems;
using Robust.Shared.GameObjects;
using Robust.Shared.Interfaces.GameObjects;
@@ -38,11 +40,17 @@ namespace Content.Server.GameObjects.Components.Chemistry
private AudioSystem _audioSystem;
private ChemistrySystem _chemistrySystem;
+ private SpriteComponent _spriteComponent;
+
[ViewVariables]
protected Solution _containedSolution = new Solution();
protected int _maxVolume;
private SolutionCaps _capabilities;
-
+ private string _fillInitState;
+ private int _fillInitSteps;
+ private string _fillPathString = "Objects/Chemistry/fillings.rsi";
+ private ResourcePath _fillPath;
+ private SpriteSpecifier _fillSprite;
///
/// The maximum volume of the container.
///
@@ -108,6 +116,8 @@ namespace Content.Server.GameObjects.Components.Chemistry
serializer.DataField(ref _maxVolume, "maxVol", 0);
serializer.DataField(ref _containedSolution, "contents", _containedSolution);
serializer.DataField(ref _capabilities, "caps", SolutionCaps.None);
+ serializer.DataField(ref _fillInitState, "fillingState", "");
+ serializer.DataField(ref _fillInitSteps, "fillingSteps", 7);
}
public override void Initialize()
@@ -116,23 +126,20 @@ namespace Content.Server.GameObjects.Components.Chemistry
_audioSystem = _entitySystemManager.GetEntitySystem();
_chemistrySystem = _entitySystemManager.GetEntitySystem();
_reactions = _prototypeManager.EnumeratePrototypes();
-
}
protected override void Startup()
{
base.Startup();
RecalculateColor();
- }
-
- ///
- /// Initializes the SolutionComponent if it doesn't have an owner
- ///
- public void InitializeFromPrototype()
- {
- // Because Initialize needs an Owner, Startup isn't called, etc.
- IoCManager.InjectDependencies(this);
- _reactions = _prototypeManager.EnumeratePrototypes();
+ if (!string.IsNullOrEmpty(_fillInitState))
+ {
+ _spriteComponent = Owner.GetComponent();
+ _fillPath = new ResourcePath(_fillPathString);
+ _fillSprite = new SpriteSpecifier.Rsi(_fillPath, _fillInitState + (_fillInitSteps - 1));
+ _spriteComponent.AddLayerWithSprite(_fillSprite);
+ UpdateFillIcon();
+ }
}
///
@@ -147,7 +154,7 @@ namespace Content.Server.GameObjects.Components.Chemistry
public void RemoveAllSolution()
{
_containedSolution.RemoveAllSolution();
- OnSolutionChanged();
+ OnSolutionChanged(false);
}
public bool TryRemoveReagent(string reagentId, int quantity)
@@ -155,7 +162,7 @@ namespace Content.Server.GameObjects.Components.Chemistry
if (!ContainsReagent(reagentId, out var currentQuantity)) return false;
_containedSolution.RemoveReagent(reagentId, quantity);
- OnSolutionChanged();
+ OnSolutionChanged(false);
return true;
}
@@ -170,21 +177,24 @@ namespace Content.Server.GameObjects.Components.Chemistry
return false;
_containedSolution.RemoveSolution(quantity);
- OnSolutionChanged();
+ OnSolutionChanged(false);
return true;
}
public Solution SplitSolution(int quantity)
{
var solutionSplit = _containedSolution.SplitSolution(quantity);
- OnSolutionChanged();
+ OnSolutionChanged(false);
return solutionSplit;
}
protected void RecalculateColor()
{
- if(_containedSolution.TotalVolume == 0)
- SubstanceColor = Color.White;
+ if (_containedSolution.TotalVolume == 0)
+ {
+ SubstanceColor = Color.Transparent;
+ return;
+ }
Color mixColor = default;
float runningTotalQuantity = 0;
@@ -195,25 +205,15 @@ namespace Content.Server.GameObjects.Components.Chemistry
if(!_prototypeManager.TryIndex(reagent.ReagentId, out ReagentPrototype proto))
continue;
-
if (mixColor == default)
mixColor = proto.SubstanceColor;
-
- mixColor = BlendRGB(mixColor, proto.SubstanceColor, reagent.Quantity / runningTotalQuantity);
+ mixColor = Color.InterpolateBetween(mixColor, proto.SubstanceColor,
+ (1 / runningTotalQuantity) * reagent.Quantity);
}
+
+ SubstanceColor = mixColor;
}
- private Color BlendRGB(Color rgb1, Color rgb2, float amount)
- {
- var r = (float)Math.Round(rgb1.R + (rgb2.R - rgb1.R) * amount, 1);
- var g = (float)Math.Round(rgb1.G + (rgb2.G - rgb1.G) * amount, 1);
- var b = (float)Math.Round(rgb1.B + (rgb2.B - rgb1.B) * amount, 1);
- var alpha = (float)Math.Round(rgb1.A + (rgb2.A - rgb1.A) * amount, 1);
-
- return new Color(r, g, b, alpha);
- }
-
-
///
/// Transfers solution from the held container to the target container.
///
@@ -400,12 +400,9 @@ namespace Content.Server.GameObjects.Components.Chemistry
}
_containedSolution.AddReagent(reagentId, acceptedQuantity);
- if (!skipColor) {
- RecalculateColor();
- }
if(!skipReactionCheck)
CheckForReaction();
- OnSolutionChanged();
+ OnSolutionChanged(skipColor);
return true;
}
@@ -415,12 +412,9 @@ namespace Content.Server.GameObjects.Components.Chemistry
return false;
_containedSolution.AddSolution(solution);
- if (!skipColor) {
- RecalculateColor();
- }
if(!skipReactionCheck)
CheckForReaction();
- _chemistrySystem.HandleSolutionChange(Owner);
+ OnSolutionChanged(skipColor);
return true;
}
@@ -519,6 +513,32 @@ namespace Content.Server.GameObjects.Components.Chemistry
return majorReagent.ReagentId;
}
- protected virtual void OnSolutionChanged() => _chemistrySystem.HandleSolutionChange(Owner);
+ protected void UpdateFillIcon()
+ {
+ if (string.IsNullOrEmpty(_fillInitState)) return;
+
+ var percentage = (double)CurrentVolume / MaxVolume;
+ var level = ContentHelpers.RoundToLevels(percentage * 100, 100, _fillInitSteps);
+
+ //Transformed glass uses special fancy sprites so we don't bother
+ if (level == 0 || Owner.TryGetComponent(out var transformableContainerComponent)
+ && transformableContainerComponent.Transformed)
+ {
+ _spriteComponent.LayerSetColor(1, Color.Transparent);
+ return;
+ }
+ _fillSprite = new SpriteSpecifier.Rsi(_fillPath, _fillInitState+level);
+ _spriteComponent.LayerSetSprite(1, _fillSprite);
+ _spriteComponent.LayerSetColor(1,SubstanceColor);
+ }
+
+ protected virtual void OnSolutionChanged(bool skipColor)
+ {
+ if (!skipColor)
+ RecalculateColor();
+
+ UpdateFillIcon();
+ _chemistrySystem.HandleSolutionChange(Owner);
+ }
}
}
diff --git a/Content.Server/GameObjects/Components/Chemistry/TransformableContainerComponent.cs b/Content.Server/GameObjects/Components/Chemistry/TransformableContainerComponent.cs
index 27e2d338bc..380ac24bff 100644
--- a/Content.Server/GameObjects/Components/Chemistry/TransformableContainerComponent.cs
+++ b/Content.Server/GameObjects/Components/Chemistry/TransformableContainerComponent.cs
@@ -20,6 +20,9 @@ namespace Content.Server.GameObjects.Components.Chemistry
public override string Name => "TransformableContainer";
+ private bool _transformed = false;
+ public bool Transformed { get => _transformed; }
+
private SpriteSpecifier _initialSprite;
private string _initialName;
private string _initialDescription;
@@ -46,6 +49,7 @@ namespace Content.Server.GameObjects.Components.Chemistry
public void CancelTransformation()
{
_currentReagent = null;
+ _transformed = false;
_sprite.LayerSetSprite(0, _initialSprite);
Owner.Name = _initialName;
//Owner.Description = _initialDescription;
@@ -79,6 +83,7 @@ namespace Content.Server.GameObjects.Components.Chemistry
Owner.Name = proto.Name + " glass";
//Owner.Description = proto.Description;
_currentReagent = proto;
+ _transformed = true;
}
}
}
diff --git a/Resources/Prototypes/Entities/items/Consumables/drinks.yml b/Resources/Prototypes/Entities/items/Consumables/drinks.yml
index 6451742780..bb5562b769 100644
--- a/Resources/Prototypes/Entities/items/Consumables/drinks.yml
+++ b/Resources/Prototypes/Entities/items/Consumables/drinks.yml
@@ -29,6 +29,7 @@
- type: Icon
sprite: Objects/Drinks/glass_clear.rsi
- type: Solution
+ fillingState: glass
maxVol: 50
caps: 16
- type: Drink
diff --git a/Resources/Prototypes/Entities/items/chemistry.yml b/Resources/Prototypes/Entities/items/chemistry.yml
index cca0065844..be043ad008 100644
--- a/Resources/Prototypes/Entities/items/chemistry.yml
+++ b/Resources/Prototypes/Entities/items/chemistry.yml
@@ -9,6 +9,7 @@
- type: Icon
texture: Objects/Chemistry/chemicals.rsi/beaker.png
- type: Solution
+ fillingState: beaker
maxVol: 50
caps: 27
- type: Pourable
@@ -25,6 +26,7 @@
- type: Icon
texture: Objects/Chemistry/chemicals.rsi/beakerlarge.png
- type: Solution
+ fillingState: beakerlarge
maxVol: 100
caps: 27
- type: Pourable
@@ -41,6 +43,8 @@
- type: Icon
texture: Objects/Chemistry/chemicals.rsi/dropper.png
- type: Solution
+ fillingState: dropper
+ fillingSteps: 2
maxVol: 5
caps: 19
- type: Pourable
@@ -53,10 +57,12 @@
id: Syringe
components:
- type: Sprite
- texture: Objects/Chemistry/chemicals.rsi/syringeproj.png
+ texture: Objects/Chemistry/syringe.rsi/0.png
- type: Icon
- texture: Objects/Chemistry/chemicals.rsi/syringeproj.png
+ texture: Objects/Chemistry/syringe.rsi/0.png
- type: Solution
+ fillingState: syringe
+ fillingSteps: 5
maxVol: 15
caps: 19
- type: Injector
diff --git a/Resources/Prototypes/Reagents/chemicals.yml b/Resources/Prototypes/Reagents/chemicals.yml
index a5e29b8487..e8d0b18dd3 100644
--- a/Resources/Prototypes/Reagents/chemicals.yml
+++ b/Resources/Prototypes/Reagents/chemicals.yml
@@ -2,6 +2,7 @@
id: chem.Nutriment
name: Nutriment
desc: Generic nutrition
+ color: "#664330"
metabolism:
- !type:DefaultFood
rate: 1
@@ -10,11 +11,13 @@
id: chem.H2SO4
name: Sulfuric Acid
desc: A highly corrosive, oily, colorless liquid.
+ color: "#BF8C00"
- type: reagent
id: chem.H2O
name: Water
desc: A tasty colorless liquid.
+ color: "#808080"
metabolism:
- !type:DefaultDrink
rate: 1
@@ -29,6 +32,7 @@
id: chem.Plasma
name: Plasma
desc: Funky, space-magic pixie dust. You probably shouldn't eat this, but we both know you will anyways.
+ color: "#500064"
- type: reagent
id: chem.Ethanol
diff --git a/Resources/Prototypes/Reagents/drinks.yml b/Resources/Prototypes/Reagents/drinks.yml
index 7c79af86b5..4cffd3be62 100644
--- a/Resources/Prototypes/Reagents/drinks.yml
+++ b/Resources/Prototypes/Reagents/drinks.yml
@@ -2,101 +2,118 @@
id: chem.Whiskey
name: Whiskey
desc: An alcoholic beverage made from fermented grain mash
+ color: "#664300"
spritePath: whiskeyglass.rsi
- type: reagent
id: chem.Ale
name: Ale
desc: A type of beer brewed using a warm fermentation method, resulting in a sweet, full-bodied and fruity taste.
+ color: "#664300"
spritePath: aleglass.rsi
- type: reagent
id: chem.Wine
name: Wine
desc: An alcoholic drink made from fermented grapes
+ color: "#7E4043"
spritePath: wineglass.rsi
- type: reagent
id: chem.Beer
name: Beer
desc: A cold pint of pale lager.
+ color: "#664300"
spritePath: beerglass.rsi
- type: reagent
id: chem.Vodka
name: Vodka
desc: The glass contain wodka. Xynta.
+ color: "#664300"
- type: reagent
id: chem.Kahlua
name: Kahlua
desc: A widely known, Mexican coffee-flavoured liqueur. In production since 1936!
+ color: "#664300"
spritePath: kahluaglass.rsi
- type: reagent
id: chem.Cognac
name: Cognac
desc: A sweet and strongly alcoholic drink, twice distilled and left to mature for several years. Classy as fornication.
+ color: "#AB3C05"
spritePath: cognacglass.rsi
- type: reagent
id: chem.ManlyDorf
name: Manly Dorf
desc: A dwarfy concoction made from ale and beer. Intended for stout dwarves only.
+ color: "#664300"
spritePath: manlydorfglass.rsi
- type: reagent
id: chem.CubaLibre
name: Cuba Libre
desc: A classic mix of rum and cola.
+ color: "#3E1B00"
spritePath: cubalibreglass.rsi
- type: reagent
id: chem.IrishCarBomb
name: Irish Car Bomb
desc: A troubling mixture of irish cream and ale.
+ color: "#2E6671"
spritePath: irishcarbomb.rsi
- type: reagent
id: chem.IrishCoffee
name: Irish Coffee
desc: Coffee served with irish cream. Regular cream just isn't the same!
+ color: "#664300"
spritePath: irishcoffeeglass.rsi
- type: reagent
id: chem.IrishCream
name: Irish Cream
desc: Whiskey-imbued cream. What else could you expect from the Irish.
+ color: "#664300"
spritePath: irishcreamglass.rsi
- type: reagent
id: chem.B52
name: B-52
desc: Coffee, irish cream, and cognac. You will get bombed.
+ color: "#664300"
spritePath: b52glass.rsi
- type: reagent
id: chem.AtomicBomb
name: Atomic Bomb
desc: Nuclear proliferation never tasted so good.
+ color: "#666300"
spritePath: atomicbombglass.rsi
- type: reagent
id: chem.WhiskeyCola
name: Whiskey Cola
desc: An innocent-looking mixture of cola and whiskey. Delicious.
+ color: "#3E1B00"
spritePath: whiskeycolaglass.rsi
- type: reagent
id: chem.SyndicateBomb
name: Syndicate Bomb
desc: Somebody set us up the bomb!
+ color: "#2E6671"
spritePath: syndicatebomb.rsi
- type: reagent
id: chem.Antifreeze
name: Antifreeze
desc: The ultimate refreshment.
+ color: "#664300"
spritePath: antifreeze.rsi
@@ -104,6 +121,7 @@
id: chem.Cola
name: Cola
desc: A sweet, carbonated soft drink. Caffeine free.
+ color: "#100800"
metabolism:
- !type:DefaultDrink
rate: 1
@@ -112,6 +130,7 @@
id: chem.Coffee
name: Coffee
desc: A drink made from brewed coffee beans. Contains a moderate amount of caffeine.
+ color: "#664300"
metabolism:
- !type:DefaultDrink
rate: 1
@@ -120,6 +139,7 @@
id: chem.Tea
name: Tea
desc: A made by boiling leaves of the tea tree, Camellia sinensis.
+ color: "#101000"
metabolism:
- !type:DefaultDrink
rate: 1
@@ -128,6 +148,7 @@
id: chem.Cream
name: Cream
desc: The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?
+ color: "#DFD7AF"
metabolism:
- !type:DefaultDrink
rate: 1
@@ -136,6 +157,7 @@
id: chem.Milk
name: Milk
desc: An opaque white liquid produced by the mammary glands of mammals.
+ color: "#DFDFDF"
metabolism:
- !type:DefaultDrink
rate: 1
\ No newline at end of file
diff --git a/Resources/Prototypes/Reagents/elements.yml b/Resources/Prototypes/Reagents/elements.yml
index 0465c71cc1..f60bb120d0 100644
--- a/Resources/Prototypes/Reagents/elements.yml
+++ b/Resources/Prototypes/Reagents/elements.yml
@@ -2,11 +2,13 @@
id: chem.H
name: Hydrogen
desc: A light, flammable gas.
+ color: "#808080"
- type: reagent
id: chem.O
name: Oxygen
desc: An oxidizing, colorless gas.
+ color: "#808080"
- type: reagent
id: chem.S
@@ -36,6 +38,7 @@
id: chem.N
name: Nitrogen
desc: A colorless, odorless unreactive gas. Highly stable.
+ color: "#808080"
- type: reagent
id: chem.Fe
@@ -47,6 +50,7 @@
id: chem.F
name: Fluorine
desc: A highly toxic pale yellow gas. Extremely reactive.
+ color: "#808080"
- type: reagent
id: chem.Si
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/backpack1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpack1.png
new file mode 100644
index 0000000000..87af9277bb
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpack1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/backpack2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpack2.png
new file mode 100644
index 0000000000..b77569d5ed
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpack2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/backpackmob1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpackmob1.png
new file mode 100644
index 0000000000..1cc753cd78
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpackmob1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/backpackmob2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpackmob2.png
new file mode 100644
index 0000000000..1a01ae51cf
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/backpackmob2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker1.png
new file mode 100644
index 0000000000..ceb623570e
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker2.png
new file mode 100644
index 0000000000..40209c2f66
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker3.png
new file mode 100644
index 0000000000..62c4528ae1
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker4.png
new file mode 100644
index 0000000000..489b48b78a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker5.png
new file mode 100644
index 0000000000..ca719e883a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker6.png
new file mode 100644
index 0000000000..581a50d15f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beaker6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge1.png
new file mode 100644
index 0000000000..5ecf243047
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge2.png
new file mode 100644
index 0000000000..05e647f110
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge3.png
new file mode 100644
index 0000000000..0a464113d7
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge4.png
new file mode 100644
index 0000000000..c16054a21a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge5.png
new file mode 100644
index 0000000000..363e3a1bfc
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge6.png
new file mode 100644
index 0000000000..64126589da
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/beakerlarge6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-1.png
new file mode 100644
index 0000000000..aaed076693
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-2.png
new file mode 100644
index 0000000000..2243651f0d
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-3.png
new file mode 100644
index 0000000000..a58b538a81
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-4.png
new file mode 100644
index 0000000000..a71c865d58
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-5.png
new file mode 100644
index 0000000000..971eadab5f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-6.png
new file mode 100644
index 0000000000..21e86f3d5f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-1-6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-1.png
new file mode 100644
index 0000000000..ac1ecd5cff
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-2.png
new file mode 100644
index 0000000000..c937cccb3a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-3.png
new file mode 100644
index 0000000000..116ffb9bd3
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-4.png
new file mode 100644
index 0000000000..925bf0a422
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-5.png
new file mode 100644
index 0000000000..6764263d74
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-6.png
new file mode 100644
index 0000000000..d82ea80c1f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-2-6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-1.png
new file mode 100644
index 0000000000..aaed076693
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-2.png
new file mode 100644
index 0000000000..3704a1363d
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-3.png
new file mode 100644
index 0000000000..4e36539ba7
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-4.png
new file mode 100644
index 0000000000..ee9ef2c432
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-5.png
new file mode 100644
index 0000000000..6cb238455c
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-6.png
new file mode 100644
index 0000000000..cbb8b6983f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-3-6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-1.png
new file mode 100644
index 0000000000..aaed076693
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-2.png
new file mode 100644
index 0000000000..6e62bae22c
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-3.png
new file mode 100644
index 0000000000..dd1a77ce62
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-4.png
new file mode 100644
index 0000000000..379c84c5bd
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-5.png
new file mode 100644
index 0000000000..fb06bd67c8
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-6.png
new file mode 100644
index 0000000000..e2563d0dec
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/bottle-4-6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/dropper1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/dropper1.png
new file mode 100644
index 0000000000..999d333ab8
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/dropper1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/glass1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass1.png
new file mode 100644
index 0000000000..d9ee584491
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/glass2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass2.png
new file mode 100644
index 0000000000..6d5dc6152c
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/glass3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass3.png
new file mode 100644
index 0000000000..2290157755
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/glass4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass4.png
new file mode 100644
index 0000000000..f6d616da8a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/glass5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass5.png
new file mode 100644
index 0000000000..6d5d981ab6
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/glass6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass6.png
new file mode 100644
index 0000000000..384795d0b8
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/glass6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle1.png
new file mode 100644
index 0000000000..c00df70a59
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle2.png
new file mode 100644
index 0000000000..33d921d8f2
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle3.png
new file mode 100644
index 0000000000..1f964fe37a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle4.png
new file mode 100644
index 0000000000..61fd62c4db
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle5.png
new file mode 100644
index 0000000000..7ef3ec2c2d
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle6.png
new file mode 100644
index 0000000000..414c770679
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/largebottle6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/meta.json b/Resources/Textures/Objects/Chemistry/fillings.rsi/meta.json
new file mode 100644
index 0000000000..6c606829b1
--- /dev/null
+++ b/Resources/Textures/Objects/Chemistry/fillings.rsi/meta.json
@@ -0,0 +1 @@
+{"version": 1, "size": {"x": 32, "y": 32}, "states": [{"name": "backpack1", "directions": 1, "delays": [[1.0]]}, {"name": "backpack2", "directions": 1, "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", "directions": 1, "delays": [[1.0]]}, {"name": "beaker2", "directions": 1, "delays": [[1.0]]}, {"name": "beaker3", "directions": 1, "delays": [[1.0]]}, {"name": "beaker4", "directions": 1, "delays": [[1.0]]}, {"name": "beaker5", "directions": 1, "delays": [[1.0]]}, {"name": "beaker6", "directions": 1, "delays": [[1.0]]}, {"name": "beakerlarge1", "directions": 1, "delays": [[1.0]]}, {"name": "beakerlarge2", "directions": 1, "delays": [[1.0]]}, {"name": "beakerlarge3", "directions": 1, "delays": [[1.0]]}, {"name": "beakerlarge4", "directions": 1, "delays": [[1.0]]}, {"name": "beakerlarge5", "directions": 1, "delays": [[1.0]]}, {"name": "beakerlarge6", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-1-1", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-1-2", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-1-3", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-1-4", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-1-5", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-1-6", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-2-1", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-2-2", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-2-3", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-2-4", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-2-5", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-2-6", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-3-1", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-3-2", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-3-3", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-3-4", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-3-5", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-3-6", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-4-1", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-4-2", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-4-3", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-4-4", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-4-5", "directions": 1, "delays": [[1.0]]}, {"name": "bottle-4-6", "directions": 1, "delays": [[1.0]]}, {"name": "dropper1", "directions": 1, "delays": [[1.0]]}, {"name": "glass1", "directions": 1, "delays": [[1.0]]}, {"name": "glass2", "directions": 1, "delays": [[1.0]]}, {"name": "glass3", "directions": 1, "delays": [[1.0]]}, {"name": "glass4", "directions": 1, "delays": [[1.0]]}, {"name": "glass5", "directions": 1, "delays": [[1.0]]}, {"name": "glass6", "directions": 1, "delays": [[1.0]]}, {"name": "largebottle1", "directions": 1, "delays": [[1.0]]}, {"name": "largebottle2", "directions": 1, "delays": [[1.0]]}, {"name": "largebottle3", "directions": 1, "delays": [[1.0]]}, {"name": "largebottle4", "directions": 1, "delays": [[1.0]]}, {"name": "largebottle5", "directions": 1, "delays": [[1.0]]}, {"name": "largebottle6", "directions": 1, "delays": [[1.0]]}, {"name": "smallbottle1", "directions": 1, "delays": [[1.0]]}, {"name": "smallbottle2", "directions": 1, "delays": [[1.0]]}, {"name": "smallbottle3", "directions": 1, "delays": [[1.0]]}, {"name": "smallbottle4", "directions": 1, "delays": [[1.0]]}, {"name": "smallbottle5", "directions": 1, "delays": [[1.0]]}, {"name": "smallbottle6", "directions": 1, "delays": [[1.0]]}, {"name": "syringe1", "directions": 1, "delays": [[1.0]]}, {"name": "syringe2", "directions": 1, "delays": [[1.0]]}, {"name": "syringe3", "directions": 1, "delays": [[1.0]]}, {"name": "syringe4", "directions": 1, "delays": [[1.0]]}, {"name": "vial1", "directions": 1, "delays": [[1.0]]}, {"name": "vial2", "directions": 1, "delays": [[1.0]]}, {"name": "vial3", "directions": 1, "delays": [[1.0]]}, {"name": "vial4", "directions": 1, "delays": [[1.0]]}, {"name": "vial5", "directions": 1, "delays": [[1.0]]}, {"name": "vial6", "directions": 1, "delays": [[1.0]]}]}
\ No newline at end of file
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle1.png
new file mode 100644
index 0000000000..bafddb3bdd
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle2.png
new file mode 100644
index 0000000000..344e45c81d
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle3.png
new file mode 100644
index 0000000000..7c6941e780
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle4.png
new file mode 100644
index 0000000000..149f77ad9a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle5.png
new file mode 100644
index 0000000000..78ebfcc3a4
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle6.png
new file mode 100644
index 0000000000..4f392a2288
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/smallbottle6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe1.png
new file mode 100644
index 0000000000..74cfa72ab4
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe2.png
new file mode 100644
index 0000000000..74cfa72ab4
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe3.png
new file mode 100644
index 0000000000..9aa237b136
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe4.png
new file mode 100644
index 0000000000..d8b7e8a701
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/syringe4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/vial1.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial1.png
new file mode 100644
index 0000000000..3c1e8f3bf0
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/vial2.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial2.png
new file mode 100644
index 0000000000..ee61d2a54b
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial2.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/vial3.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial3.png
new file mode 100644
index 0000000000..997d2dae2f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial3.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/vial4.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial4.png
new file mode 100644
index 0000000000..fdd0af6277
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial4.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/vial5.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial5.png
new file mode 100644
index 0000000000..900d85422b
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/fillings.rsi/vial6.png b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial6.png
new file mode 100644
index 0000000000..d9e5ae957f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/fillings.rsi/vial6.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/0.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/0.png
new file mode 100644
index 0000000000..9cf92274d4
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/0.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/1.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/1.png
new file mode 100644
index 0000000000..2d455682f4
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/1.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/10.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/10.png
new file mode 100644
index 0000000000..35e22c6454
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/10.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/15.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/15.png
new file mode 100644
index 0000000000..834ae95f9f
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/15.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/5.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/5.png
new file mode 100644
index 0000000000..b898840c30
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/5.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector.png
new file mode 100644
index 0000000000..b54b0ee4cb
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector0.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector0.png
new file mode 100644
index 0000000000..c19b268183
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector0.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_black.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_black.png
new file mode 100644
index 0000000000..e5c55e28ca
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_black.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_black0.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_black0.png
new file mode 100644
index 0000000000..700d31bfcd
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_black0.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_red.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_red.png
new file mode 100644
index 0000000000..bbf23c5f9e
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_red.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_red0.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_red0.png
new file mode 100644
index 0000000000..cc36291fba
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/autoinjector_red0.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/borghypo.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/borghypo.png
new file mode 100644
index 0000000000..e96d92d793
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/borghypo.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/borghypo_s.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/borghypo_s.png
new file mode 100644
index 0000000000..4adc13c448
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/borghypo_s.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/broken.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/broken.png
new file mode 100644
index 0000000000..aee78e21a5
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/broken.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/combat_hypo.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/combat_hypo.png
new file mode 100644
index 0000000000..022d0a1988
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/combat_hypo.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/draw.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/draw.png
new file mode 100644
index 0000000000..1bc212413e
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/draw.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/hypo.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/hypo.png
new file mode 100644
index 0000000000..cab29e5b0a
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/hypo.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/inject.png b/Resources/Textures/Objects/Chemistry/syringe.rsi/inject.png
new file mode 100644
index 0000000000..e03bd1d144
Binary files /dev/null and b/Resources/Textures/Objects/Chemistry/syringe.rsi/inject.png differ
diff --git a/Resources/Textures/Objects/Chemistry/syringe.rsi/meta.json b/Resources/Textures/Objects/Chemistry/syringe.rsi/meta.json
new file mode 100644
index 0000000000..a07d2954f6
--- /dev/null
+++ b/Resources/Textures/Objects/Chemistry/syringe.rsi/meta.json
@@ -0,0 +1 @@
+{"version": 1, "size": {"x": 32, "y": 32}, "states": [{"name": "0", "directions": 1, "delays": [[1.0]]}, {"name": "1", "directions": 1, "delays": [[1.0]]}, {"name": "10", "directions": 1, "delays": [[1.0]]}, {"name": "15", "directions": 1, "delays": [[1.0]]}, {"name": "5", "directions": 1, "delays": [[1.0]]}, {"name": "autoinjector", "directions": 1, "delays": [[1.0]]}, {"name": "autoinjector0", "directions": 1, "delays": [[1.0]]}, {"name": "autoinjector_black", "directions": 1, "delays": [[1.0]]}, {"name": "autoinjector_black0", "directions": 1, "delays": [[1.0]]}, {"name": "autoinjector_red", "directions": 1, "delays": [[1.0]]}, {"name": "autoinjector_red0", "directions": 1, "delays": [[1.0]]}, {"name": "borghypo", "directions": 1, "delays": [[1.0]]}, {"name": "borghypo_s", "directions": 1, "delays": [[1.0]]}, {"name": "broken", "directions": 1, "delays": [[1.0]]}, {"name": "combat_hypo", "directions": 1, "delays": [[1.0]]}, {"name": "draw", "directions": 1, "delays": [[1.0]]}, {"name": "hypo", "directions": 1, "delays": [[1.0]]}, {"name": "inject", "directions": 1, "delays": [[1.0]]}]}
\ No newline at end of file