]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Resprite and refactor wall dispensers (fuel, cleaner) (#36251)
authorscrivoy <179060466+scrivoy@users.noreply.github.com>
Mon, 27 Oct 2025 22:58:45 +0000 (23:58 +0100)
committerGitHub <noreply@github.com>
Mon, 27 Oct 2025 22:58:45 +0000 (22:58 +0000)
* resprite fuel and cleaner walldispenser

* added sprites and moved walldispensers in own .rsi

* forgot to remove sprites in old location

* meta.json - use 4 spaces instead of 2

* moved reagent from food to tank container

* clean up code inheritance

* replace static sprites with layered sprites and update related code

* added BaseDispenser for shared logic across dispensers

* make BaseDispenser unspawnable

* Add Explosive and PacifismDangerousAttack to FuelDispenser for consistency with WeldingFuelTank

* moved the sprite one pixel down

* reset wall_dispensers.yml to master

* rename sprite states, remove unused sprites, bring back code changes after merge

* really remove every unused sprite

* add maxVol

* indent to 4 spaces

* cleanup

* remove pepper dispenser

* switch to shared fill level sprite

13 files changed:
Resources/Prototypes/Entities/Structures/Wallmounts/Storage/wall_dispensers.yml
Resources/Textures/Structures/Storage/tanks.rsi/cleanerdispenser.png [deleted file]
Resources/Textures/Structures/Storage/tanks.rsi/fueldispenser.png [deleted file]
Resources/Textures/Structures/Storage/tanks.rsi/meta.json
Resources/Textures/Structures/Storage/tanks.rsi/pepperdispenser.png [deleted file]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/cleanerdispenser.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-1.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-2.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-3.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-4.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-5.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fueldispenser.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/walldispenser.rsi/meta.json [new file with mode: 0644]

index 962963c341ff852af2ffd3092a92f905a262e8ee..cfcbd59dc297464a2db67cea7d3769cbc2c2c8d8 100644 (file)
@@ -4,8 +4,7 @@
   abstract: true
   components:
   - type: Sprite
-    sprite: Structures/Storage/tanks.rsi
-    state: cleanerdispenser
+    sprite: Structures/Wallmounts/walldispenser.rsi
   - type: Appearance
   - type: Destructible
     thresholds:
@@ -13,8 +12,8 @@
         !type:DamageTrigger
         damage: 50
       behaviors:
-        - !type:DoActsBehavior
-          acts: [ "Destruction" ]
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
     - trigger:
         !type:DamageTypeTrigger
         damageType: Heat
   - type: ExaminableSolution
     solution: tank
 
+- type: entity
+  parent: BaseDispenser
+  id: CleanerDispenser
+  name: space cleaner dispenser
+  description: Wallmount Space Cleaner dispenser.
+  components:
+  - type: Sprite
+    layers:
+    - state: cleanerdispenser
+    - state: fill-1
+      map: ["enum.SolutionContainerLayers.Fill"]
+      visible: false
+  - type: SolutionContainerVisuals
+    maxFillLevels: 5
+    fillBaseName: fill-
+  - type: SolutionContainerManager
+    solutions:
+      tank:
+        maxVol: 5000
+        reagents:
+        - ReagentId: SpaceCleaner
+          Quantity: 5000
+
 - type: entity
   parent: BaseDispenser
   id: FuelDispenser
   name: fuel dispenser
+  description: Wallmount Fuel dispenser.
   components:
   - type: Sprite
-    sprite: Structures/Storage/tanks.rsi
-    state: fueldispenser
+    layers:
+    - state: fueldispenser
+    - state: fill-1
+      map: ["enum.SolutionContainerLayers.Fill"]
+      visible: false
+  - type: SolutionContainerVisuals
+    maxFillLevels: 5
+    fillBaseName: fill-
   - type: SolutionContainerManager
     solutions:
       tank:
+        maxVol: 1000
         reagents:
         - ReagentId: WeldingFuel
           Quantity: 1000
     weldingDamage:
       types:
         Heat: 20
-
-- type: entity
-  parent: BaseDispenser
-  id: CleanerDispenser
-  name: space cleaner dispenser
-  components:
-  - type: SolutionContainerManager
-    solutions:
-      tank:
-        reagents:
-        - ReagentId: SpaceCleaner
-          Quantity: 5000
-  - type: ReagentTank
+  - type: PacifismDangerousAttack
+  - type: Explosive
+    explosionType: Default
+    totalIntensity: 50
diff --git a/Resources/Textures/Structures/Storage/tanks.rsi/cleanerdispenser.png b/Resources/Textures/Structures/Storage/tanks.rsi/cleanerdispenser.png
deleted file mode 100644 (file)
index 0d42fa4..0000000
Binary files a/Resources/Textures/Structures/Storage/tanks.rsi/cleanerdispenser.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Storage/tanks.rsi/fueldispenser.png b/Resources/Textures/Structures/Storage/tanks.rsi/fueldispenser.png
deleted file mode 100644 (file)
index 333ffde..0000000
Binary files a/Resources/Textures/Structures/Storage/tanks.rsi/fueldispenser.png and /dev/null differ
index c4d31e80b26514c368620edbba02b81aadac625c..93b557cf5a2b7184daf5ef98792f0f09269c1953 100644 (file)
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/8442af39ee82b813194f71db82edd2923d97818d, watercooler Taken from paradise at https://github.com/ParadiseSS13/Paradise/commit/ae2258d9235752ac6d80ec11e36553fe3b6ae59e, dispensers taken from paradise at https://github.com/ParadiseSS13/Paradise/commit/846ce475b2258a4336d8895f07f2c0f4053963bc",
+  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/8442af39ee82b813194f71db82edd2923d97818d, watercooler Taken from paradise at https://github.com/ParadiseSS13/Paradise/commit/ae2258d9235752ac6d80ec11e36553fe3b6ae59e",
   "size": {
     "x": 32,
     "y": 32
     },
     {
       "name": "generictank-1"
-    },
-    {
-      "name": "cleanerdispenser"
-    },
-    {
-      "name": "fueldispenser"
-    },
-    {
-      "name": "pepperdispenser"
     }
   ]
 }
diff --git a/Resources/Textures/Structures/Storage/tanks.rsi/pepperdispenser.png b/Resources/Textures/Structures/Storage/tanks.rsi/pepperdispenser.png
deleted file mode 100644 (file)
index f8b99b5..0000000
Binary files a/Resources/Textures/Structures/Storage/tanks.rsi/pepperdispenser.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/cleanerdispenser.png b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/cleanerdispenser.png
new file mode 100644 (file)
index 0000000..55bbd53
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/cleanerdispenser.png differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-1.png b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-1.png
new file mode 100644 (file)
index 0000000..efd7ef5
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-1.png differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-2.png b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-2.png
new file mode 100644 (file)
index 0000000..c8d9331
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-2.png differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-3.png b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-3.png
new file mode 100644 (file)
index 0000000..16db0b0
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-3.png differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-4.png b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-4.png
new file mode 100644 (file)
index 0000000..087ca74
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-4.png differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-5.png b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-5.png
new file mode 100644 (file)
index 0000000..cbc6e5f
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fill-5.png differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fueldispenser.png b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fueldispenser.png
new file mode 100644 (file)
index 0000000..7555647
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/fueldispenser.png differ
diff --git a/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/meta.json b/Resources/Textures/Structures/Wallmounts/walldispenser.rsi/meta.json
new file mode 100644 (file)
index 0000000..92d6891
--- /dev/null
@@ -0,0 +1,32 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Modifications made by [scrivoy], Dispenser originally taken from paradise at https://github.com/ParadiseSS13/Paradise/commit/846ce475b2258a4336d8895f07f2c0f4053963bc",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "cleanerdispenser"
+        },
+        {
+            "name": "fueldispenser"
+        },
+        {
+            "name": "fill-1"
+        },
+        {
+            "name": "fill-2"
+        },
+        {
+            "name": "fill-3"
+        },
+        {
+            "name": "fill-4"
+        },
+        {
+            "name": "fill-5"
+        }
+    ]
+}