]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Green Glowsticks are their own entity (#41712)
authorcammusubi <122420207+cammusubi@users.noreply.github.com>
Sun, 7 Dec 2025 16:36:20 +0000 (10:36 -0600)
committerGitHub <noreply@github.com>
Sun, 7 Dec 2025 16:36:20 +0000 (16:36 +0000)
* Addresses and resolves Issue #41145, creates a separate entity for green glowsticks, which were previously just the base glowstick.

* Adds old+new ID for green glowsticks to migration.yml, refactors formatting in glowstick.yml

Resources/Maps/Salvage/small-party.yml
Resources/Prototypes/Catalog/Fills/Crates/fun.yml
Resources/Prototypes/Catalog/Fills/Crates/permaescape.yml
Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml
Resources/Prototypes/Entities/Clothing/Back/smuggler_tables.yml
Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml
Resources/Prototypes/Entities/Objects/Decoration/present.yml
Resources/Prototypes/Entities/Objects/Tools/glowstick.yml
Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml
Resources/migration.yml

index 2b3d7f7d48bcc9986f04c98c1f64b772f097b334..d3dd6fc6e8c9018e99f0c6037e0466c40c4a3e44 100644 (file)
@@ -285,7 +285,7 @@ entities:
     - type: Transform
       pos: 5.4233127,3.0429564
       parent: 1
-- proto: GlowstickBase
+- proto: GlowstickGreen
   entities:
   - uid: 69
     components:
index df972422d7bbadc31e04d854fc105bdf6a0b3f87..c9bb5f8fc7b87a289b1da703122efd560eaa29c3 100644 (file)
     containers:
       entity_storage: !type:AllSelector
         children:
-        - id: GlowstickBase
+        - id: GlowstickGreen
           amount: 2
         - id: GlowstickBlue
           amount: 2
index 3cf7e72eb01c4c0be4561437de833dda024cfb8f..1516cb71c7de948dabe0e04f1849d7acb876ac48 100644 (file)
           prob: 0.20
         - id: GlowstickBlue
           prob: 0.05
-        - id: GlowstickBase
+        - id: GlowstickGreen
           prob: 0.50
-        - id: GlowstickBase
+        - id: GlowstickGreen
           prob: 0.20
-        - id: GlowstickBase
+        - id: GlowstickGreen
           prob: 0.05
         - id: GlowstickPurple
           prob: 0.50
index d8a46334ac523b0f0f4bc1780f442b00a2612ce7..d10a6fc4eacf46bcc6d8b5e0b305623f089a8cec 100644 (file)
@@ -17,7 +17,7 @@
           children:
           - id: FlashlightLantern
           - id: Flare
-          - id: GlowstickBase
+          - id: GlowstickGreen
         # Low-chance items
         - id: FoodSnackChocolate
           prob: 0.15
index 5ab753ef3d1a8b921fc9ec624c7482332e954b4c..0ca86d3c203331bd990fbc8bb52c9d5fc7892e4a 100644 (file)
     children:
     - id: SpaceCash100
       weight: 2
-    - id: GlowstickBase
+    - id: GlowstickGreen
       amount: !type:RangeNumberSelector
         range: 1, 5
     - id: GlowstickRed
index b39ace69d26f4bc983ba1082e41624227b20320b..1e2a3eafa4cc75b51bfdd398ae3e5aeccf30b7c8 100644 (file)
       - id: trayScanner
       - id: HandheldGPSBasic
       - id: HandLabeler
-      - id: GlowstickBase
+      - id: GlowstickGreen
       - id: Bucket
       - id: RadioHandheld
       - id: AppraisalTool
index 6a35d58c76f128196633c9a60a3497919deda610..d503a3cd549489159f20e5c9db0cc64999de2b1a 100644 (file)
         orGroup: GiftPool
       - id: Bola
         orGroup: GiftPool
-      - id: GlowstickBase
+      - id: GlowstickGreen
         orGroup: GiftPool
       - id: GlowstickBlue
         orGroup: GiftPool
index 986f65badc16fb40006517dc8f5741a595db147d..48a1ab87fc28f9cf4ff116140629cce0de5713f8 100644 (file)
 - type: entity
-  name: green glowstick
+  abstract: true
   parent: BaseItem
   id: GlowstickBase
+  name: glowstick
   description: Useful for raves and emergencies.
   components:
-    - type: SpaceGarbage
-    - type: ExpendableLight
-      glowDuration: 900 # time in seconds
-      glowColorLit: "#00FF00"
-      fadeOutDuration: 300
-      turnOnBehaviourID: turn_on
-      fadeOutBehaviourID: fade_out
-      iconStateLit: glowstick_lit
-      iconStateSpent: glowstick_unlit
-      litSound:
-        path: /Audio/Items/Handcuffs/rope_breakout.ogg
-    - type: Sprite
-      sprite: Objects/Misc/glowstick.rsi
-      layers:
-      - map: [ enum.ExpendableLightVisualLayers.Base ]
-        state: glowstick_base
-      - map: [ enum.ExpendableLightVisualLayers.Glow ]
-        state: glowstick_glow
-        visible: false
-        shader: unshaded
-      - map: [ enum.ExpendableLightVisualLayers.Overlay ]
-        state: glowstick_unlit
-    - type: Item
-      sprite: Objects/Misc/glowstick.rsi
-      heldPrefix: unlit
-      storedRotation: -45
-    - type: Appearance
-    - type: PointLight
-      enabled: false
-      color: "#00FF00"
-      radius: 5
-      energy: 0
-      netsync: false
-    - type: LightBehaviour
-      behaviours:
-        - !type:FadeBehaviour # slowly fade in once activated
-          id: turn_on
-          interpolate: Linear
-          maxDuration: 10.0
-          startValue: 0.0
-          endValue: 3.0
-          property: Energy
-        - !type:FadeBehaviour # fade out energy as it burns out
-          id: fade_out
-          interpolate: Linear
-          maxDuration: 10 # 300.0
-          startValue: 3.0
-          endValue: 0.2
-          property: Energy
-        - !type:FadeBehaviour # fade out radius as it burns out
-          id: fade_out
-          interpolate: Linear
-          maxDuration: 10 # 300.0
-          startValue: 5.0
-          endValue: 1.5
-    - type: Tag
-      tags:
-      - Trash
+  - type: SpaceGarbage
+  - type: ExpendableLight
+    glowDuration: 900 # time in seconds
+    glowColorLit: "#F6F7E9"
+    fadeOutDuration: 300
+    turnOnBehaviourID: turn_on
+    fadeOutBehaviourID: fade_out
+    iconStateLit: glowstick_lit
+    iconStateSpent: glowstick_unlit
+    litSound:
+      path: /Audio/Items/Handcuffs/rope_breakout.ogg
+  - type: Sprite
+    sprite: Objects/Misc/glowstick.rsi
+    layers:
+    - map: [ enum.ExpendableLightVisualLayers.Base ]
+      state: glowstick_base
+    - map: [ enum.ExpendableLightVisualLayers.Glow ]
+      state: glowstick_glow
+      visible: false
+      shader: unshaded
+    - map: [ enum.ExpendableLightVisualLayers.Overlay ]
+      state: glowstick_unlit
+  - type: Item
+    sprite: Objects/Misc/glowstick.rsi
+    heldPrefix: unlit
+    storedRotation: -45
+  - type: Appearance
+  - type: PointLight
+    enabled: false
+    color: "#F6F7E9"
+    radius: 5
+    energy: 0
+    netsync: false
+  - type: LightBehaviour
+    behaviours:
+    - !type:FadeBehaviour # slowly fade in once activated
+      id: turn_on
+      interpolate: Linear
+      maxDuration: 10.0
+      startValue: 0.0
+      endValue: 3.0
+      property: Energy
+    - !type:FadeBehaviour # fade out energy as it burns out
+      id: fade_out
+      interpolate: Linear
+      maxDuration: 10 # 300.0
+      startValue: 3.0
+      endValue: 0.2
+      property: Energy
+    - !type:FadeBehaviour # fade out radius as it burns out
+      id: fade_out
+      interpolate: Linear
+      maxDuration: 10 # 300.0
+      startValue: 5.0
+      endValue: 1.5
+  - type: Tag
+    tags:
+    - Trash
 
 - type: entity
-  name: red glowstick
   parent: GlowstickBase
   id: GlowstickRed
+  name: red glowstick
   components:
-    - type: ExpendableLight
-      spentName: expendable-light-spent-red-glowstick-name
-      glowColorLit: "#FF0000"
-    - type: PointLight
-      color: "#FF0000"
+  - type: ExpendableLight
+    spentName: expendable-light-spent-red-glowstick-name
+    glowColorLit: "#FF0000"
+  - type: PointLight
+    color: "#FF0000"
 
 - type: entity
-  name: purple glowstick
   parent: GlowstickBase
   id: GlowstickPurple
+  name: purple glowstick
   components:
-    - type: ExpendableLight
-      spentName: expendable-light-spent-purple-glowstick-name
-      glowColorLit: "#FF00FF"
-    - type: PointLight
-      color: "#FF00FF"
+  - type: ExpendableLight
+    spentName: expendable-light-spent-purple-glowstick-name
+    glowColorLit: "#FF00FF"
+  - type: PointLight
+    color: "#FF00FF"
 
 - type: entity
-  name: yellow glowstick
   parent: GlowstickBase
   id: GlowstickYellow
+  name: yellow glowstick
   components:
-    - type: ExpendableLight
-      spentName: expendable-light-spent-yellow-glowstick-name
-      glowColorLit: "#FFFF00"
-    - type: PointLight
-      color: "#FFFF00"
+  - type: ExpendableLight
+    spentName: expendable-light-spent-yellow-glowstick-name
+    glowColorLit: "#FFFF00"
+  - type: PointLight
+    color: "#FFFF00"
 
 - type: entity
-  name: blue glowstick
   parent: GlowstickBase
   id: GlowstickBlue
+  name: blue glowstick
+  components:
+  - type: ExpendableLight
+    spentName: expendable-light-spent-blue-glowstick-name
+    glowColorLit: "#0000FF"
+  - type: PointLight
+    color: "#0000FF"
+
+- type: entity
+  parent: GlowstickBase
+  id: GlowstickGreen
+  name: green glowstick
   components:
-    - type: ExpendableLight
-      spentName: expendable-light-spent-blue-glowstick-name
-      glowColorLit: "#0000FF"
-    - type: PointLight
-      color: "#0000FF"
+  - type: ExpendableLight
+    spentName: expendable-light-spent-green-glowstick-name
+    glowColorLit: "#00FF00"
+  - type: PointLight
+    color: "#00FF00"
 
 # ----------------------------------------------------------------------------
 # THE FOLLOWING ARE ALL DUMMY ENTITIES USED TO TEST THE LIGHT BEHAVIOUR SYSTEM
   id: LightBehaviourTest1
   categories: [ HideSpawnMenu ]
   components:
-    - type: Sprite
-      sprite: Objects/Misc/glowstick.rsi
-      layers:
-        - state: glowstick_base
-        - state: glowstick_unlit
-          shader: unshaded
-          color: "#FF0000"
-    - type: Item
-      sprite: Objects/Misc/glowstick.rsi
-      heldPrefix: unlit
-    - type: PointLight
-      enabled: true
+  - type: Sprite
+    sprite: Objects/Misc/glowstick.rsi
+    layers:
+    - state: glowstick_base
+    - state: glowstick_unlit
+      shader: unshaded
       color: "#FF0000"
-      radius: 5
-    - type: LightBehaviour
-      behaviours:
-        - !type:PulseBehaviour
-          interpolate: Cubic
-          maxDuration: 10.0
-          startValue: 1.0
-          endValue: 7.0
-          isLooped: true
-          property: Energy
-          enabled: true
+  - type: Item
+    sprite: Objects/Misc/glowstick.rsi
+    heldPrefix: unlit
+  - type: PointLight
+    enabled: true
+    color: "#FF0000"
+    radius: 5
+  - type: LightBehaviour
+    behaviours:
+    - !type:PulseBehaviour
+      interpolate: Cubic
+      maxDuration: 10.0
+      startValue: 1.0
+      endValue: 7.0
+      isLooped: true
+      property: Energy
+      enabled: true
 
 - type: entity
   name: color cycle test
   id: LightBehaviourTest2
   categories: [ HideSpawnMenu ]
   components:
-    - type: Sprite
-      sprite: Objects/Misc/glowstick.rsi
-      layers:
-        - state: glowstick_base
-        - state: glowstick_unlit
-          shader: unshaded
-          color: "#FF0000"
-    - type: Item
-      sprite: Objects/Misc/glowstick.rsi
-      heldPrefix: unlit
-    - type: PointLight
-      enabled: true
+  - type: Sprite
+    sprite: Objects/Misc/glowstick.rsi
+    layers:
+    - state: glowstick_base
+    - state: glowstick_unlit
+      shader: unshaded
       color: "#FF0000"
-      radius: 5
-    - type: LightBehaviour
-      behaviours:
-        - !type:ColorCycleBehaviour
-          interpolate: Nearest
-          maxDuration: 0.8
-          isLooped: true
-          enabled: true
-          colors:
-            - red
-            - blue
-            - green
+  - type: Item
+    sprite: Objects/Misc/glowstick.rsi
+    heldPrefix: unlit
+  - type: PointLight
+    enabled: true
+    color: "#FF0000"
+    radius: 5
+  - type: LightBehaviour
+    behaviours:
+    - !type:ColorCycleBehaviour
+      interpolate: Nearest
+      maxDuration: 0.8
+      isLooped: true
+      enabled: true
+      colors:
+      - red
+      - blue
+      - green
 
 - type: entity
   name: multi-behaviour light test
   id: LightBehaviourTest3
   categories: [ HideSpawnMenu ]
   components:
-    - type: Sprite
-      sprite: Objects/Misc/glowstick.rsi
-      layers:
-        - state: glowstick_base
-        - state: glowstick_unlit
-          shader: unshaded
-          color: "#FF0000"
-    - type: Item
-      sprite: Objects/Misc/glowstick.rsi
-      heldPrefix: unlit
-    - type: PointLight
-      enabled: false
+  - type: Sprite
+    sprite: Objects/Misc/glowstick.rsi
+    layers:
+    - state: glowstick_base
+    - state: glowstick_unlit
+      shader: unshaded
       color: "#FF0000"
-      radius: 5
-    - type: LightBehaviour
-      behaviours:
-        - !type:PulseBehaviour
-          interpolate: Nearest
-          minDuration: 0.2
-          maxDuration: 1.0
-          endValue: 0.2
-          property: AnimatedEnable
-          isLooped: true
-          enabled: true
-        - !type:ColorCycleBehaviour
-          interpolate: Cubic
-          maxDuration: 0.8
-          isLooped: true
-          enabled: true
-          colors:
-            - red
-            - blue
-            - green
+  - type: Item
+    sprite: Objects/Misc/glowstick.rsi
+    heldPrefix: unlit
+  - type: PointLight
+    enabled: false
+    color: "#FF0000"
+    radius: 5
+  - type: LightBehaviour
+    behaviours:
+    - !type:PulseBehaviour
+      interpolate: Nearest
+      minDuration: 0.2
+      maxDuration: 1.0
+      endValue: 0.2
+      property: AnimatedEnable
+      isLooped: true
+      enabled: true
+    - !type:ColorCycleBehaviour
+      interpolate: Cubic
+      maxDuration: 0.8
+      isLooped: true
+      enabled: true
+      colors:
+      - red
+      - blue
+      - green
 
 - type: entity
   name: light fade in test
   id: LightBehaviourTest4
   categories: [ HideSpawnMenu ]
   components:
-    - type: Sprite
-      sprite: Objects/Misc/glowstick.rsi
-      layers:
-        - state: glowstick_base
-        - state: glowstick_unlit
-          shader: unshaded
-          color: "#FF0000"
-    - type: Item
-      sprite: Objects/Misc/glowstick.rsi
-      heldPrefix: unlit
-    - type: PointLight
-      enabled: false
+  - type: Sprite
+    sprite: Objects/Misc/glowstick.rsi
+    layers:
+    - state: glowstick_base
+    - state: glowstick_unlit
+      shader: unshaded
       color: "#FF0000"
-      radius: 5
-    - type: LightBehaviour
-      behaviours:
-        - !type:FadeBehaviour
-          interpolate: Cubic
-          maxDuration: 5.0
-          startValue: 0.0
-          endValue: 10.0
-          isLooped: true
-          property: Energy
-          enabled: true
+  - type: Item
+    sprite: Objects/Misc/glowstick.rsi
+    heldPrefix: unlit
+  - type: PointLight
+    enabled: false
+    color: "#FF0000"
+    radius: 5
+  - type: LightBehaviour
+    behaviours:
+    - !type:FadeBehaviour
+      interpolate: Cubic
+      maxDuration: 5.0
+      startValue: 0.0
+      endValue: 10.0
+      isLooped: true
+      property: Energy
+      enabled: true
 
 - type: entity
   name: light pulse radius test
   id: LightBehaviourTest5
   categories: [ HideSpawnMenu ]
   components:
-    - type: Sprite
-      sprite: Objects/Misc/glowstick.rsi
-      layers:
-        - state: glowstick_base
-        - state: glowstick_unlit
-          shader: unshaded
-          color: "#FF0000"
-    - type: Item
-      sprite: Objects/Misc/glowstick.rsi
-      heldPrefix: unlit
-    - type: PointLight
-      enabled: false
+  - type: Sprite
+    sprite: Objects/Misc/glowstick.rsi
+    layers:
+    - state: glowstick_base
+    - state: glowstick_unlit
+      shader: unshaded
       color: "#FF0000"
-      radius: 5
-    - type: LightBehaviour
-      behaviours:
-        - !type:PulseBehaviour
-          interpolate: Cubic
-          minDuration: 1.0
-          maxDuration: 5.0
-          startValue: 2.0
-          endValue: 10.0
-          isLooped: true
-          enabled: true
+  - type: Item
+    sprite: Objects/Misc/glowstick.rsi
+    heldPrefix: unlit
+  - type: PointLight
+    enabled: false
+    color: "#FF0000"
+    radius: 5
+  - type: LightBehaviour
+    behaviours:
+    - !type:PulseBehaviour
+      interpolate: Cubic
+      minDuration: 1.0
+      maxDuration: 5.0
+      startValue: 2.0
+      endValue: 10.0
+      isLooped: true
+      enabled: true
 
 - type: entity
   name: light randomize radius test
   id: LightBehaviourTest6
   categories: [ HideSpawnMenu ]
   components:
-    - type: Sprite
-      sprite: Objects/Misc/glowstick.rsi
-      layers:
-        - state: glowstick_base
-        - state: glowstick_unlit
-          shader: unshaded
-          color: "#FF0000"
-    - type: Item
-      sprite: Objects/Misc/glowstick.rsi
-      heldPrefix: unlit
-    - type: PointLight
-      enabled: false
+  - type: Sprite
+    sprite: Objects/Misc/glowstick.rsi
+    layers:
+    - state: glowstick_base
+    - state: glowstick_unlit
+      shader: unshaded
       color: "#FF0000"
-      radius: 5
-      energy: 10
-    - type: LightBehaviour
-      behaviours:
-        - !type:RandomizeBehaviour
-          interpolate: Nearest
-          maxDuration: 0.5
-          startValue: 10.0
-          endValue: 25.0
-          isLooped: true
-          enabled: true
+  - type: Item
+    sprite: Objects/Misc/glowstick.rsi
+    heldPrefix: unlit
+  - type: PointLight
+    enabled: false
+    color: "#FF0000"
+    radius: 5
+    energy: 10
+  - type: LightBehaviour
+    behaviours:
+    - !type:RandomizeBehaviour
+      interpolate: Nearest
+      maxDuration: 0.5
+      startValue: 10.0
+      endValue: 25.0
+      isLooped: true
+      enabled: true
index 78fdd25316ab581bd21c9d4970aed470cd695b0b..8c7872c23f6e31a6b3767f6c7d7458b89a7ea4f7 100644 (file)
@@ -88,7 +88,7 @@
     - FoamBlade
     - FoamCutlass
     - Football
-    - GlowstickBase #green
+    - GlowstickGreen
     - GlowstickBlue
     - GlowstickYellow
     - GlowstickPurple
index 3ab01ff75c43f4fe1ff6752f9f8156fa4a2bf2cc..91403f63813a1feb21ff998821ca05deec9647b2 100644 (file)
@@ -726,7 +726,6 @@ PrefilledSyringe: Syringe
 BibleTanakh: null
 BibleSatanic: null
 
-
 # 2025-10-08
 ClothingBeltAssault: ClothingBeltMilitaryWebbing
 WarpPointBombing: null
@@ -739,6 +738,9 @@ ToySkeleton: ToyFigurineSkeleton
 # 2025-10-28
 DrinkKiraSpecial: DrinkOrangeLimeSodaGlass
 
+# 2025-12-05
+GlowstickBase: GlowstickGreen
+
 # 2025-12-06
 SpawnPointZookeeper: null
 SpawnPointBoxer: null