From: cammusubi <122420207+cammusubi@users.noreply.github.com> Date: Sun, 7 Dec 2025 16:36:20 +0000 (-0600) Subject: Green Glowsticks are their own entity (#41712) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=5b7d3757e68de1ac65fa183378d6d594f7e1eba5;p=space-station-14.git Green Glowsticks are their own entity (#41712) * 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 --- diff --git a/Resources/Maps/Salvage/small-party.yml b/Resources/Maps/Salvage/small-party.yml index 2b3d7f7d48..d3dd6fc6e8 100644 --- a/Resources/Maps/Salvage/small-party.yml +++ b/Resources/Maps/Salvage/small-party.yml @@ -285,7 +285,7 @@ entities: - type: Transform pos: 5.4233127,3.0429564 parent: 1 -- proto: GlowstickBase +- proto: GlowstickGreen entities: - uid: 69 components: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml index df972422d7..c9bb5f8fc7 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml @@ -414,7 +414,7 @@ containers: entity_storage: !type:AllSelector children: - - id: GlowstickBase + - id: GlowstickGreen amount: 2 - id: GlowstickBlue amount: 2 diff --git a/Resources/Prototypes/Catalog/Fills/Crates/permaescape.yml b/Resources/Prototypes/Catalog/Fills/Crates/permaescape.yml index 3cf7e72eb0..1516cb71c7 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/permaescape.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/permaescape.yml @@ -159,11 +159,11 @@ 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 diff --git a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml index d8a46334ac..d10a6fc4ea 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml @@ -17,7 +17,7 @@ children: - id: FlashlightLantern - id: Flare - - id: GlowstickBase + - id: GlowstickGreen # Low-chance items - id: FoodSnackChocolate prob: 0.15 diff --git a/Resources/Prototypes/Entities/Clothing/Back/smuggler_tables.yml b/Resources/Prototypes/Entities/Clothing/Back/smuggler_tables.yml index 5ab753ef3d..0ca86d3c20 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/smuggler_tables.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/smuggler_tables.yml @@ -167,7 +167,7 @@ children: - id: SpaceCash100 weight: 2 - - id: GlowstickBase + - id: GlowstickGreen amount: !type:RangeNumberSelector range: 1, 5 - id: GlowstickRed diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml index b39ace69d2..1e2a3eafa4 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml @@ -274,7 +274,7 @@ - id: trayScanner - id: HandheldGPSBasic - id: HandLabeler - - id: GlowstickBase + - id: GlowstickGreen - id: Bucket - id: RadioHandheld - id: AppraisalTool diff --git a/Resources/Prototypes/Entities/Objects/Decoration/present.yml b/Resources/Prototypes/Entities/Objects/Decoration/present.yml index 6a35d58c76..d503a3cd54 100644 --- a/Resources/Prototypes/Entities/Objects/Decoration/present.yml +++ b/Resources/Prototypes/Entities/Objects/Decoration/present.yml @@ -360,7 +360,7 @@ orGroup: GiftPool - id: Bola orGroup: GiftPool - - id: GlowstickBase + - id: GlowstickGreen orGroup: GiftPool - id: GlowstickBlue orGroup: GiftPool diff --git a/Resources/Prototypes/Entities/Objects/Tools/glowstick.yml b/Resources/Prototypes/Entities/Objects/Tools/glowstick.yml index 986f65badc..48a1ab87fc 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/glowstick.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/glowstick.yml @@ -1,111 +1,123 @@ - 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 @@ -116,30 +128,30 @@ 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 @@ -147,31 +159,31 @@ 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 @@ -179,39 +191,39 @@ 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 @@ -219,30 +231,30 @@ 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 @@ -250,30 +262,30 @@ 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 @@ -281,27 +293,27 @@ 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 diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml index 78fdd25316..8c7872c23f 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml @@ -88,7 +88,7 @@ - FoamBlade - FoamCutlass - Football - - GlowstickBase #green + - GlowstickGreen - GlowstickBlue - GlowstickYellow - GlowstickPurple diff --git a/Resources/migration.yml b/Resources/migration.yml index 3ab01ff75c..91403f6381 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -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