]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Spray bottles with visible reagent contents (#42155)
authorchaisftw <30545471+chaisftw@users.noreply.github.com>
Mon, 12 Jan 2026 22:01:35 +0000 (08:01 +1000)
committerGitHub <noreply@github.com>
Mon, 12 Jan 2026 22:01:35 +0000 (22:01 +0000)
* Spray bottles with visible reagent contents

* Fixed cargo catalog to correctly reference the new spray bottle rsi

* Fixed indentation on rsi meta files

* Updated copyright in spray_bottle.rsi meta

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml

Co-authored-by: āda <ss.adasts@gmail.com>
* Updated to follow yml convention, modified to inherit from DrinkBase and renamed fill textures

* Fixed solution names

* Updated solution name in BorgMegaSprayBottle

* de-hardcode solution name

* less breaking

---------

Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
35 files changed:
Content.Server/Fluids/EntitySystems/SpraySystem.cs
Content.Shared/Fluids/Components/SprayComponent.cs
Resources/Prototypes/Catalog/Cargo/cargo_service.yml
Resources/Prototypes/Entities/Objects/Specific/Hydroponics/sprays.yml
Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml
Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner.png [deleted file]
Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner_large.png [deleted file]
Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-left.png [deleted file]
Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-right.png [deleted file]
Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-1.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-2.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-3.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-4.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-5.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-1.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-2.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-3.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-4.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-5.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-6.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-7.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-1.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-2.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-3.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-4.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-1.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-2.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-3.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-4.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/meta.json [new file with mode: 0644]

index 4708954ea174f9ca3d902b91e83d8749326ad755..3b7b4327c4d9c3701d5e625ce99469024a67b423 100644 (file)
@@ -88,7 +88,7 @@ public sealed class SpraySystem : SharedSpraySystem
 
     public override void Spray(Entity<SprayComponent> entity, MapCoordinates mapcoord, EntityUid? user = null)
     {
-        if (!_solutionContainer.TryGetSolution(entity.Owner, SprayComponent.SolutionName, out var soln, out var solution))
+        if (!_solutionContainer.TryGetSolution(entity.Owner, entity.Comp.Solution, out var soln, out var solution))
             return;
 
         var ev = new SprayAttemptEvent(user);
index cc0032c3fb4ac5c942b93b363a73447f0956e016..9cc8f6a1c4ddc4f1f2007303520cb74c5261e650 100644 (file)
@@ -9,24 +9,25 @@ namespace Content.Shared.Fluids.Components;
 [Access(typeof(SharedSpraySystem))]
 public sealed partial class SprayComponent : Component
 {
-    public const string SolutionName = "spray";
+    [DataField]
+    public string Solution = "spray";
 
-    [ViewVariables(VVAccess.ReadWrite), DataField]
+    [DataField]
     public FixedPoint2 TransferAmount = 10;
 
-    [ViewVariables(VVAccess.ReadWrite), DataField]
+    [DataField]
     public float SprayDistance = 3.5f;
 
-    [ViewVariables(VVAccess.ReadWrite), DataField]
+    [DataField]
     public float SprayVelocity = 3.5f;
 
-    [ViewVariables(VVAccess.ReadWrite), DataField]
+    [DataField]
     public EntProtoId SprayedPrototype = "Vapor";
 
-    [ViewVariables(VVAccess.ReadWrite), DataField]
+    [DataField]
     public int VaporAmount = 1;
 
-    [ViewVariables(VVAccess.ReadWrite), DataField]
+    [DataField]
     public float VaporSpread = 90f;
 
     /// <summary>
index 08796199cb97ed2b34a89b2c93cf99d5b2572980..751bc94da7de1d7e84a6606d060dafc5288fe7f1 100644 (file)
@@ -1,7 +1,7 @@
 - type: cargoProduct
   id: ServiceJanitorial
   icon:
-    sprite: Objects/Specific/Janitorial/janitorial.rsi
+    sprite: Objects/Specific/Janitorial/spray_bottle.rsi
     state: cleaner
   product: CrateServiceJanitorialSupplies
   cost: 560
index 9d9f3b7324bf6e25c4af39957cc863ebee9d4430..7bca0fb699cb2d63c9be374c453b796a995d93d5 100644 (file)
@@ -1,9 +1,9 @@
 - type: entity
-  name: Plant-B-Gone
+  parent: SprayBottleBase
   id: PlantBGoneSpray
-  parent: SprayBottle
-  description: Kills those pesky weeds!
+  name: Plant-B-Gone
   suffix: "Filled"
+  description: Kills those pesky weeds!
   components:
   - type: Tag
     tags:
     state: plantbgone
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 100
         reagents:
         - ReagentId: PlantBGone
           Quantity: 100
-  - type: DrainableSolution
-    solution: spray
   - type: Item
     sprite: Objects/Tools/Hydroponics/sprays.rsi
     heldPrefix: plantbgone
 
 - type: entity
-  name: weed spray
+  parent: SprayBottleBase
   id: WeedSpray
-  parent: SprayBottle
-  description: It's a toxic mixture, in spray form, to kill small weeds.
+  name: weed spray
   suffix: "Filled"
+  description: It's a toxic mixture, in spray form, to kill small weeds.
   components:
   - type: Sprite
     sprite: Objects/Tools/Hydroponics/sprays.rsi
     state: weedspray
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 50
         reagents:
         - ReagentId: WeedKiller
           Quantity: 50
-  - type: DrainableSolution
-    solution: spray
-  - type: Spillable
-    solution: spray
   - type: Tag
     tags:
     - Spray
     sprite: Objects/Tools/Hydroponics/sprays.rsi
 
 - type: entity
-  name: pest spray
-  id: PestSpray
   parent: WeedSpray
-  description: It's some pest eliminator spray! Do not inhale!
+  id: PestSpray
+  name: pest spray
   suffix: "Filled"
+  description: It's some pest eliminator spray! Do not inhale!
   components:
   - type: Sprite
     state: pestspray
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 50
         reagents:
         - ReagentId: PestKiller
           Quantity: 50
-  - type: DrainableSolution
-    solution: spray
   - type: Item
     sprite: Objects/Tools/Hydroponics/sprays.rsi
index 5c3cd25d6e362dd15b7374afe9c9c74a1db68bb2..5276bdc1b9100e8bb76041c87154ad10731dd8b9 100644 (file)
@@ -1,15 +1,11 @@
 - type: entity
-  name: spray bottle
-  id: SprayBottle
-  parent: BaseItem
-  suffix: Empty
-  description: A spray bottle with an unscrewable top.
+  abstract: true
+  parent: [ DrinkBaseMaterialPlastic, DrinkBase ]
+  id: SprayBottleBase
   components:
   - type: Edible
     edible: Drink
-    solution: spray
-    destroyOnEmpty: false
-    utensil: None
+    solution: drink
     transferAmount: 10
     useSound:
       path: /Audio/Effects/spray3.ogg
     - Spray
     - Trash
   - type: Sprite
-    sprite: Objects/Specific/Janitorial/janitorial.rsi
+    sprite: Objects/Specific/Janitorial/spray_bottle.rsi
     state: cleaner
   - type: Item
-    sprite: Objects/Specific/Janitorial/janitorial.rsi
+    sprite: Objects/Specific/Janitorial/spray_bottle.rsi
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 100
-  - type: RefillableSolution
-    solution: spray
-  - type: DrainableSolution
-    solution: spray
-  - type: SolutionTransfer
-    canChangeTransferAmount: true
-  - type: SolutionItemStatus
-    solution: spray
   - type: UseDelay
   - type: Spray
+    solution: drink
     transferAmount: 10
     sprayVelocity: 2
     spraySound:
       path: /Audio/Effects/spray2.ogg
   - type: TrashOnSolutionEmpty
-    solution: spray
-  - type: ExaminableSolution
-    solution: spray
-    exactVolume: true
+    solution: drink
+
+- type: entity
+  parent: [ SprayBottleBase, DrinkVisualsFill ]
+  id: SprayBottle
+  name: spray bottle
+  suffix: Empty
+  description: A spray bottle with an unscrewable top.
+  components:
+  - type: Sprite
+    sprite: Objects/Specific/Janitorial/spray_bottle.rsi
+    layers:
+    - state: cleaner
+    - state: cleaner-fill-1
+      map: ["enum.SolutionContainerLayers.Fill"]
+      visible: false
+  - type: SolutionContainerVisuals
+    fillBaseName: cleaner-fill-
+    inHandsMaxFillLevels: 4
 
 - type: entity
-  name: mega spray bottle
-  id: MegaSprayBottle
   parent: SprayBottle
+  id: MegaSprayBottle
+  name: mega spray bottle
   suffix: Empty
   description: A huge spray bottle, capable of unrivaled janitorial power.
   components:
   - type: Sprite
-    sprite: Objects/Specific/Janitorial/janitorial.rsi
-    state: cleaner_large
+    sprite: Objects/Specific/Janitorial/spray_bottle.rsi
+    layers:
+    - state: cleaner_large
+    - state: cleaner_large-fill-1
+      map: ["enum.SolutionContainerLayers.Fill"]
+      visible: false
+  - type: SolutionContainerVisuals
+    maxFillLevels: 7
+    fillBaseName: cleaner_large-fill-
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 250
   - type: Spray
     transferAmount: 15
       path: /Audio/Effects/spray2.ogg
 
 - type: entity
-  name: spray bottle
+  parent: SprayBottle
   id: SprayBottleWater
+  name: spray bottle
   suffix: Filled
-  parent: SprayBottle
   components:
   - type: Tag
     tags:
     - Spray
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 100
         reagents:
         - ReagentId: Water
           Quantity: 100
 
 - type: entity
-  description: BLAM!-brand non-foaming space cleaner!
-  id: SprayBottleSpaceCleaner
   parent: SprayBottle
+  id: SprayBottleSpaceCleaner
   suffix: Space Cleaner
+  description: BLAM!-brand non-foaming space cleaner!
   components:
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 100
         reagents:
         - ReagentId: SpaceCleaner
 - type: entity
   parent: MegaSprayBottle
   id: MegaSprayBottleSpaceCleaner
-  description: BLAM!-brand non-foaming space cleaner, now in a bigger package for those huge blood puddles!
   suffix: Space Cleaner
+  description: BLAM!-brand non-foaming space cleaner, now in a bigger package for those huge blood puddles!
   components:
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 250
         reagents:
         - ReagentId: SpaceCleaner
   components:
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 200
         reagents:
         - ReagentId: SpaceCleaner
   components:
   - type: SolutionContainerManager
     solutions:
-      spray:
+      drink:
         maxVol: 250
         reagents:
         - ReagentId: SpaceCleaner
   - type: SolutionTransfer
     canSend: false # No giving away infinite space cleaner!
   - type: SolutionRegeneration
-    solution: spray
+    solution: drink
     generated:
       reagents:
       - ReagentId: SpaceCleaner
 # Vapor
 - type: entity
   id: Vapor
-  name: "vapor"
   categories: [ HideSpawnMenu ]
+  name: "vapor"
   components:
   - type: SolutionContainerManager
     solutions:
   - type: VaporVisuals
 
 - type: entity
-  id: BigVapor
   parent: Vapor
+  id: BigVapor
   categories: [ HideSpawnMenu ]
   components:
   - type: Sprite
diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner.png b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner.png
deleted file mode 100644 (file)
index f25c12a..0000000
Binary files a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner.png and /dev/null differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner_large.png b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner_large.png
deleted file mode 100644 (file)
index eae0069..0000000
Binary files a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/cleaner_large.png and /dev/null differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-left.png b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-left.png
deleted file mode 100644 (file)
index 2c7a269..0000000
Binary files a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-left.png and /dev/null differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-right.png
deleted file mode 100644 (file)
index 3757bcd..0000000
Binary files a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/inhand-right.png and /dev/null differ
index e138281ef612ddb8daf0ef4664b816f91b9ff0d5..fe2eed8ca3a3d367fed3b49afdbedc7f9231d459 100644 (file)
@@ -1,79 +1,65 @@
 {
-  "version": 1,
-  "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f8f4aeda930fcd0805ca4cc76d9bc9412a5b3428, mopbucket_shark_* by Psychpsyo, mopbucket_carpplush adapted by Psychpsyo from tgstation carpplush at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432, mopbucket_cube is monkey cube taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/9c980cb9bc84d07b1c210c5447798af525185f80/icons/obj/food.dmi and modified by Hrosts, Holocarp and Magicarp mopbucket sprites by TiniestShark (github)",
-  "size": {
-    "x": 32,
-    "y": 32
-  },
-  "states": [
-    {
-      "name": "cleaner"
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f8f4aeda930fcd0805ca4cc76d9bc9412a5b3428, mopbucket_shark_* by Psychpsyo, mopbucket_carpplush adapted by Psychpsyo from tgstation carpplush at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432, mopbucket_cube is monkey cube taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/9c980cb9bc84d07b1c210c5447798af525185f80/icons/obj/food.dmi and modified by Hrosts, Holocarp and Magicarp mopbucket sprites by TiniestShark (github)",
+    "size": {
+        "x": 32,
+        "y": 32
     },
-    {
-      "name": "cleaner_large"
-    },
-    {
-      "name": "mopbucket"
-    },
-    {
-      "name": "mopbucket_water-1"
-    },
-    {
-      "name": "mopbucket_water-2"
-    },
-    {
-      "name": "mopbucket_water-3"
-    },
-    {
-      "name": "mopbucket_shark_blue"
-    },
-    {
-      "name": "mopbucket_shark_pink"
-    },
-    {
-      "name": "mopbucket_shark_grey"
-    },
-    {
-      "name": "mopbucket_carpplush"
-    },
-    {
-      "name": "mopbucket_magicarpplush"
-    },
-    {
-      "name": "mopbucket_holocarpplush",
-      "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
-          ]
-      ]
-    },
-    {
-      "name": "mopbucket_cube"
-    },
-    {
-      "name": "inhand-left",
-      "directions": 4
-    },
-    {
-      "name": "inhand-right",
-      "directions": 4
-    },
-    {
-      "name": "equipped-BELT",
-      "directions": 4
-    }
-  ]
+    "states": [
+        {
+            "name": "mopbucket"
+        },
+        {
+            "name": "mopbucket_water-1"
+        },
+        {
+            "name": "mopbucket_water-2"
+        },
+        {
+            "name": "mopbucket_water-3"
+        },
+        {
+            "name": "mopbucket_shark_blue"
+        },
+        {
+            "name": "mopbucket_shark_pink"
+        },
+        {
+            "name": "mopbucket_shark_grey"
+        },
+        {
+            "name": "mopbucket_carpplush"
+        },
+        {
+            "name": "mopbucket_magicarpplush"
+        },
+        {
+            "name": "mopbucket_holocarpplush",
+            "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
+                ]
+            ]
+        },
+        {
+            "name": "mopbucket_cube"
+        },
+        {
+            "name": "equipped-BELT",
+            "directions": 4
+        }
+    ]
 }
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-1.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-1.png
new file mode 100644 (file)
index 0000000..47c609e
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-2.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-2.png
new file mode 100644 (file)
index 0000000..afd60f2
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-3.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-3.png
new file mode 100644 (file)
index 0000000..2aaacd7
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-4.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-4.png
new file mode 100644 (file)
index 0000000..eb9b5eb
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-5.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-5.png
new file mode 100644 (file)
index 0000000..e2ba0ef
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner-fill-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner.png
new file mode 100644 (file)
index 0000000..67ba7ac
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-1.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-1.png
new file mode 100644 (file)
index 0000000..bf01da5
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-2.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-2.png
new file mode 100644 (file)
index 0000000..1aa3bf6
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-3.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-3.png
new file mode 100644 (file)
index 0000000..94130e2
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-4.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-4.png
new file mode 100644 (file)
index 0000000..2926bd1
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-5.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-5.png
new file mode 100644 (file)
index 0000000..5afbd18
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-5.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-6.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-6.png
new file mode 100644 (file)
index 0000000..d061269
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-6.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-7.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-7.png
new file mode 100644 (file)
index 0000000..fde9463
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large-fill-7.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large.png
new file mode 100644 (file)
index 0000000..e1bb12f
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/cleaner_large.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-1.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-1.png
new file mode 100644 (file)
index 0000000..5509994
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-2.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-2.png
new file mode 100644 (file)
index 0000000..2859f45
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-3.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-3.png
new file mode 100644 (file)
index 0000000..fdef16e
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-4.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-4.png
new file mode 100644 (file)
index 0000000..7a92e1d
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left-fill-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left.png
new file mode 100644 (file)
index 0000000..80ab8b8
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-1.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-1.png
new file mode 100644 (file)
index 0000000..c02fe34
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-1.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-2.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-2.png
new file mode 100644 (file)
index 0000000..db0064c
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-2.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-3.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-3.png
new file mode 100644 (file)
index 0000000..49a6681
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-3.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-4.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-4.png
new file mode 100644 (file)
index 0000000..fe05a66
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right-fill-4.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right.png
new file mode 100644 (file)
index 0000000..543ae1f
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/meta.json b/Resources/Textures/Objects/Specific/Janitorial/spray_bottle.rsi/meta.json
new file mode 100644 (file)
index 0000000..57e9064
--- /dev/null
@@ -0,0 +1,93 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "cleaner, cleaner_large and in-hand sprites are from tgstation at commit https://github.com/tgstation/tgstation/commit/f8f4aeda930fcd0805ca4cc76d9bc9412a5b3428 and modified by chaisftw (GitHub), Fill levels created by chaisftw (GitHub) by modifying cleaner, cleaner_large and in-hand sprites",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "cleaner"
+        },
+        {
+            "name": "cleaner-fill-1"
+        },
+        {
+            "name": "cleaner-fill-2"
+        },
+        {
+            "name": "cleaner-fill-3"
+        },
+        {
+            "name": "cleaner-fill-4"
+        },
+        {
+            "name": "cleaner-fill-5"
+        },
+        {
+            "name": "cleaner_large"
+        },
+        {
+            "name": "cleaner_large-fill-1"
+        },
+        {
+            "name": "cleaner_large-fill-2"
+        },
+        {
+            "name": "cleaner_large-fill-3"
+        },
+        {
+            "name": "cleaner_large-fill-4"
+        },
+        {
+            "name": "cleaner_large-fill-5"
+        },
+        {
+            "name": "cleaner_large-fill-6"
+        },
+        {
+            "name": "cleaner_large-fill-7"
+        },
+        {
+            "name": "inhand-left",
+            "directions": 4
+        },
+        {
+            "name": "inhand-left-fill-1",
+            "directions": 4
+        },
+        {
+            "name": "inhand-left-fill-2",
+            "directions": 4
+        },
+        {
+            "name": "inhand-left-fill-3",
+            "directions": 4
+        },
+        {
+            "name": "inhand-left-fill-4",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right-fill-1",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right-fill-2",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right-fill-3",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right-fill-4",
+            "directions": 4
+        }
+    ]
+}