]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Spider web visuals update (#38175)
authorRed <96445749+TheShuEd@users.noreply.github.com>
Tue, 17 Jun 2025 00:30:43 +0000 (03:30 +0300)
committerGitHub <noreply@github.com>
Tue, 17 Jun 2025 00:30:43 +0000 (17:30 -0700)
* web update

* Update Resources/Prototypes/Entities/Structures/spider_web.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Structures/spider_web.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
19 files changed:
Content.Shared/Spider/SharedSpiderSystem.cs
Content.Shared/Spider/SpiderWebVisualsComponent.cs [deleted file]
Resources/Prototypes/Entities/Objects/Misc/spider_web.yml [deleted file]
Resources/Prototypes/Entities/Structures/spider_web.yml [new file with mode: 0644]
Resources/Textures/Objects/Misc/spiderweb.rsi/meta.json [deleted file]
Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_1.png [deleted file]
Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_2.png [deleted file]
Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_1.png [deleted file]
Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_2.png [deleted file]
Resources/Textures/Structures/floor_web.rsi/full.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_0.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_1.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_2.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_3.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_4.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_5.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_6.png [new file with mode: 0644]
Resources/Textures/Structures/floor_web.rsi/web_7.png [new file with mode: 0644]

index 33473303aa917ff54a1444b0e618c8c09a602053..47b0dff763b786f02e457bd9d2baf2567e7a8b87 100644 (file)
@@ -1,31 +1,20 @@
 using Content.Shared.Actions;
-using Robust.Shared.Network;
-using Robust.Shared.Random;
 
 namespace Content.Shared.Spider;
 
 public abstract class SharedSpiderSystem : EntitySystem
 {
     [Dependency] private readonly SharedActionsSystem _action = default!;
-    [Dependency] private readonly IRobustRandom _robustRandom = default!;
-    [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
 
     public override void Initialize()
     {
         base.Initialize();
 
         SubscribeLocalEvent<SpiderComponent, MapInitEvent>(OnInit);
-        SubscribeLocalEvent<SpiderWebObjectComponent, ComponentStartup>(OnWebStartup);
     }
 
     private void OnInit(EntityUid uid, SpiderComponent component, MapInitEvent args)
     {
         _action.AddAction(uid, ref component.Action, component.WebAction, uid);
     }
-
-    private void OnWebStartup(EntityUid uid, SpiderWebObjectComponent component, ComponentStartup args)
-    {
-        // TODO dont use this. use some general random appearance system
-        _appearance.SetData(uid, SpiderWebVisuals.Variant, _robustRandom.Next(1, 3));
-    }
 }
diff --git a/Content.Shared/Spider/SpiderWebVisualsComponent.cs b/Content.Shared/Spider/SpiderWebVisualsComponent.cs
deleted file mode 100644 (file)
index 2d6fb58..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-using Robust.Shared.Serialization;
-
-namespace Content.Shared.Spider;
-
-[Serializable, NetSerializable]
-public enum SpiderWebVisuals
-{
-    Variant
-}
diff --git a/Resources/Prototypes/Entities/Objects/Misc/spider_web.yml b/Resources/Prototypes/Entities/Objects/Misc/spider_web.yml
deleted file mode 100644 (file)
index 8dbab8c..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-- type: entity
-  id: SpiderWeb
-  name: spider web
-  description: It's stringy and sticky.
-  placement:
-    mode: SnapgridCenter
-    snap:
-      - Wall
-  components:
-    - type: MeleeSound
-      soundGroups:
-        Brute:
-          path:
-            "/Audio/Weapons/slash.ogg"
-    - type: Sprite
-      sprite: Objects/Misc/spiderweb.rsi
-      layers:
-        - state: spider_web_1
-          map: ["spiderWebLayer"]
-      drawdepth: WallMountedItems
-    - type: Appearance
-    - type: GenericVisualizer
-      visuals:
-        enum.SpiderWebVisuals.Variant:
-          spiderWebLayer:
-            1:  {state: spider_web_1}
-            2:  {state: spider_web_2}
-    - type: Clickable
-    - type: Transform
-      anchored: true
-    - type: Physics
-    - type: Fixtures
-      fixtures:
-        fix1:
-          hard: false
-          density: 7
-          shape:
-            !type:PhysShapeAabb
-            bounds: "-0.5,-0.5,0.5,0.5"
-          layer:
-          - MidImpassable
-    - type: Damageable
-      damageModifierSet: Wood
-    - type: Destructible
-      thresholds:
-      - trigger: # Excess damage, don't spawn entities
-          !type:DamageTrigger
-          damage: 50
-        behaviors:
-        - !type:DoActsBehavior
-          acts: ["Destruction"]
-      - trigger:
-          !type:DamageTrigger
-          damage: 10
-        behaviors:
-        - !type:DoActsBehavior
-          acts: [ "Destruction" ]
-        - !type:SpawnEntitiesBehavior
-          spawn:
-            MaterialWebSilk:
-              min: 0
-              max: 1
-    - type: Temperature
-      heatDamage:
-        types:
-          Heat: 5
-      coldDamage: {}
-      coldDamageThreshold: 0
-    - type: Flammable
-      fireSpread: true
-      damage:
-        types:
-          Heat: 5
-    - type: Reactive
-      groups:
-        Flammable: [Touch]
-        Extinguish: [Touch]
-    - type: SpiderWebObject
-    - type: SpeedModifierContacts
-      walkSpeedModifier: 0.5
-      sprintSpeedModifier: 0.5
-      ignoreWhitelist:
-        components:
-            - IgnoreSpiderWeb
-
-- type: entity
-  id: SpiderWebClown
-  name: clown spider web
-  description: It's stringy and slippy.
-  placement:
-    mode: SnapgridCenter
-    snap:
-      - Wall
-  components:
-    - type: MeleeSound
-      soundGroups:
-        Brute:
-          path:
-            "/Audio/Weapons/slash.ogg"
-    - type: Sprite
-      sprite: Objects/Misc/spiderweb.rsi
-      layers:
-        - state: spider_web_clown_1
-          map: ["spiderWebLayer"]
-      drawdepth: WallMountedItems
-    - type: Appearance
-    - type: GenericVisualizer
-      visuals:
-        enum.SpiderWebVisuals.Variant:
-          spiderWebLayer:
-            1:  {state: spider_web_clown_1}
-            2:  {state: spider_web_clown_2}
-    - type: Clickable
-    - type: Transform
-      anchored: true
-    - type: Slippery
-    - type: StepTrigger
-      intersectRatio: 0.2
-    - type: Physics
-    - type: Fixtures
-      fixtures:
-        slips:
-          shape:
-            !type:PhysShapeAabb
-            bounds: "-0.4,-0.3,0.4,0.3"
-          hard: false
-          layer:
-          - SlipLayer
-        fix1:
-          shape:
-            !type:PhysShapeAabb
-            bounds: "-0.4,-0.3,0.4,0.3"
-          density: 1000
-          mask:
-          - ItemMask
-    - type: Damageable
-      damageModifierSet: Wood
-    - type: Destructible
-      thresholds:
-      - trigger:
-          !type:DamageTrigger
-          damage: 10
-        behaviors:
-        - !type:DoActsBehavior
-          acts: [ "Destruction" ]
-    - type: Temperature
-      heatDamage:
-        types:
-          Heat: 5
-      coldDamage: {}
-      coldDamageThreshold: 0
-    - type: Flammable
-      fireSpread: true
-      damage:
-        types:
-          Heat: 5
-    - type: Reactive
-      groups:
-        Flammable: [Touch]
-        Extinguish: [Touch]
-    - type: SpiderWebObject
-    - type: FlavorProfile
-      flavors:
-        - sweet
-    - type: Food
-      delay: 2
-    - type: SolutionContainerManager
-      solutions:
-        food:
-          reagents:
-          - ReagentId: Sugar
-            Quantity: 2
diff --git a/Resources/Prototypes/Entities/Structures/spider_web.yml b/Resources/Prototypes/Entities/Structures/spider_web.yml
new file mode 100644 (file)
index 0000000..962b5ad
--- /dev/null
@@ -0,0 +1,137 @@
+- type: entity
+  id: SpiderWebBase
+  abstract: true
+  placement:
+    mode: SnapgridCenter
+    snap:
+    - Wall
+  components:
+  - type: PlacementReplacement
+    key: web
+  - type: MeleeSound
+    soundGroups:
+      Brute:
+        path:
+          "/Audio/Weapons/slash.ogg"
+  - type: Sprite
+    sprite: Structures/floor_web.rsi
+    drawdepth: WallMountedItems
+  - type: Appearance
+  - type: Clickable
+  - type: Transform
+    anchored: true
+  - type: Physics
+  - type: Damageable
+    damageModifierSet: Wood
+  - type: Temperature
+    heatDamage:
+      types:
+        Heat: 5
+    coldDamage: {}
+    coldDamageThreshold: 0
+  - type: Flammable
+    fireSpread: true
+    damage:
+      types:
+        Heat: 5
+  - type: Reactive
+    groups:
+      Flammable: [Touch]
+      Extinguish: [Touch]
+  - type: SpiderWebObject
+  - type: IconSmooth
+    key: web
+    additionalKeys:
+    - walls
+    base: web_
+
+- type: entity
+  id: SpiderWeb
+  parent: SpiderWebBase
+  name: spider web
+  description: It's stringy and sticky.
+  components:
+  - type: Sprite
+    color: "#ffffffdd"
+  - type: Fixtures
+    fixtures:
+      fix1:
+        hard: false
+        density: 7
+        shape:
+          !type:PhysShapeAabb
+          bounds: "-0.5,-0.5,0.5,0.5"
+        layer:
+        - MidImpassable
+  - type: Destructible
+    thresholds:
+    - trigger: # Excess damage, don't spawn entities
+        !type:DamageTrigger
+        damage: 50
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+    - trigger:
+        !type:DamageTrigger
+        damage: 10
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          MaterialWebSilk:
+            min: 0
+            max: 1
+  - type: SpeedModifierContacts
+    walkSpeedModifier: 0.5
+    sprintSpeedModifier: 0.5
+    ignoreWhitelist:
+      components:
+      - IgnoreSpiderWeb
+
+- type: entity
+  id: SpiderWebClown
+  parent: SpiderWebBase
+  name: clown spider web
+  description: It's stringy and slippy.
+  components:
+  - type: Sprite
+    color: "#ffa3fc"
+  - type: Slippery
+  - type: StepTrigger
+    intersectRatio: 0.2
+  - type: Fixtures
+    fixtures:
+      slips:
+        shape:
+          !type:PhysShapeAabb
+          bounds: "-0.4,-0.4,0.4,0.4"
+        hard: false
+        layer:
+        - SlipLayer
+      fix1:
+        shape:
+          !type:PhysShapeAabb
+          bounds: "-0.4,-0.4,0.4,0.4"
+        density: 1000
+        mask:
+        - ItemMask
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 10
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+  - type: FlavorProfile
+    flavors:
+      - sweet
+  - type: Food
+    delay: 2
+  - type: SolutionContainerManager
+    solutions:
+      food:
+        reagents:
+        - ReagentId: Sugar
+          Quantity: 2
diff --git a/Resources/Textures/Objects/Misc/spiderweb.rsi/meta.json b/Resources/Textures/Objects/Misc/spiderweb.rsi/meta.json
deleted file mode 100644 (file)
index e89ad66..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "version": 1,
-  "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from https://github.com/tgstation/tgstation/commit/788b2576cd9511ced86e74222b6395fd3ef9affe",
-  "size": {
-    "x": 32,
-    "y": 32
-  },
-  "states": [
-    {
-      "name": "spider_web_1"
-    },
-    {
-      "name": "spider_web_clown_1"
-    },
-    {
-      "name": "spider_web_clown_2"
-    },
-    {
-      "name": "spider_web_2"
-    }
-  ]
-}
\ No newline at end of file
diff --git a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_1.png b/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_1.png
deleted file mode 100644 (file)
index e86c5ad..0000000
Binary files a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_1.png and /dev/null differ
diff --git a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_2.png b/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_2.png
deleted file mode 100644 (file)
index 949dc46..0000000
Binary files a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_2.png and /dev/null differ
diff --git a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_1.png b/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_1.png
deleted file mode 100644 (file)
index e96ed32..0000000
Binary files a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_1.png and /dev/null differ
diff --git a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_2.png b/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_2.png
deleted file mode 100644 (file)
index 91931c7..0000000
Binary files a/Resources/Textures/Objects/Misc/spiderweb.rsi/spider_web_clown_2.png and /dev/null differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/full.png b/Resources/Textures/Structures/floor_web.rsi/full.png
new file mode 100644 (file)
index 0000000..db5ba2c
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/full.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/meta.json b/Resources/Textures/Structures/floor_web.rsi/meta.json
new file mode 100644 (file)
index 0000000..09f3ae1
--- /dev/null
@@ -0,0 +1,46 @@
+{
+  "version": 1,
+  "license": "CC-BY-SA-3.0",
+  "copyright": "Made by TheShuEd (github)",
+  "size": {
+    "x": 32,
+    "y": 32
+  },
+  "states": [
+    {
+      "name": "full"
+    },
+    {
+      "name": "web_0",
+      "directions": 4
+    },
+    {
+      "name": "web_1",
+      "directions": 4
+    },
+    {
+      "name": "web_2",
+      "directions": 4
+    },
+    {
+      "name": "web_3",
+      "directions": 4
+    },
+    {
+      "name": "web_4",
+      "directions": 4
+    },
+    {
+      "name": "web_5",
+      "directions": 4
+    },
+    {
+      "name": "web_6",
+      "directions": 4
+    },
+    {
+      "name": "web_7",
+      "directions": 4
+    }
+  ]
+}
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_0.png b/Resources/Textures/Structures/floor_web.rsi/web_0.png
new file mode 100644 (file)
index 0000000..e381947
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_0.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_1.png b/Resources/Textures/Structures/floor_web.rsi/web_1.png
new file mode 100644 (file)
index 0000000..4560859
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_1.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_2.png b/Resources/Textures/Structures/floor_web.rsi/web_2.png
new file mode 100644 (file)
index 0000000..e381947
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_2.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_3.png b/Resources/Textures/Structures/floor_web.rsi/web_3.png
new file mode 100644 (file)
index 0000000..4b0572a
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_3.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_4.png b/Resources/Textures/Structures/floor_web.rsi/web_4.png
new file mode 100644 (file)
index 0000000..df4405e
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_4.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_5.png b/Resources/Textures/Structures/floor_web.rsi/web_5.png
new file mode 100644 (file)
index 0000000..fd74392
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_5.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_6.png b/Resources/Textures/Structures/floor_web.rsi/web_6.png
new file mode 100644 (file)
index 0000000..ec22584
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_6.png differ
diff --git a/Resources/Textures/Structures/floor_web.rsi/web_7.png b/Resources/Textures/Structures/floor_web.rsi/web_7.png
new file mode 100644 (file)
index 0000000..3979256
Binary files /dev/null and b/Resources/Textures/Structures/floor_web.rsi/web_7.png differ