]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix yaml linter and misc errors (#37444)
authorLeon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Thu, 10 Jul 2025 04:25:36 +0000 (16:25 +1200)
committerGitHub <noreply@github.com>
Thu, 10 Jul 2025 04:25:36 +0000 (00:25 -0400)
* Fix yaml linter

* Revert "fix cluwne pda pen slot (#35611)"

This reverts commit 66e926843f7a8633f0a9389e2449a5b476157423.

* More fixes

* Try again with the engine requirement removed

* Decrease number of brass sheets dropped by clockwork windoors

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
37 files changed:
Content.Client/Light/Components/LightBehaviourComponent.cs
Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs
Content.YAMLLinter/Program.cs
Resources/Prototypes/Catalog/Fills/Boxes/medical.yml
Resources/Prototypes/Entities/Clothing/Back/duffel.yml
Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml
Resources/Prototypes/Entities/Clothing/Head/hardhats.yml
Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml
Resources/Prototypes/Entities/Markers/pointing.yml
Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml
Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml
Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml
Resources/Prototypes/Entities/Objects/Fun/toys.yml
Resources/Prototypes/Entities/Objects/Misc/fluff_lights.yml
Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml
Resources/Prototypes/Entities/Objects/Tools/flashlights.yml
Resources/Prototypes/Entities/Objects/Tools/glowstick.yml
Resources/Prototypes/Entities/Objects/Tools/lantern.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle.yml
Resources/Prototypes/Entities/Structures/Doors/Windoors/clockwork.yml
Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/singularity.yml
Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/energyball.yml
Resources/Prototypes/Entities/Structures/Power/cables.yml
Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml
Resources/Prototypes/Entities/Structures/Walls/asteroid.yml
Resources/Prototypes/Parallaxes/amber.yml
Resources/Prototypes/Parallaxes/aspid.yml
Resources/Prototypes/Parallaxes/bagel.yml
Resources/Prototypes/Parallaxes/core.yml
Resources/Prototypes/Parallaxes/default.yml
Resources/Prototypes/Parallaxes/exo.yml
Resources/Prototypes/Parallaxes/kettle.yml
Resources/Prototypes/Parallaxes/origin.yml
Resources/Prototypes/Parallaxes/plasma.yml
Resources/Prototypes/Parallaxes/train.yml

index 246863ba60f9716f52893ba4657f85c52dd70c3c..03452c6112a63b14b5fcba602155b8fb573dad94 100644 (file)
@@ -238,6 +238,9 @@ namespace Content.Client.Light.Components
 
         public override void OnInitialize()
         {
+            // This is very janky. This could easily result in no visible animation at all if the random values happen
+            // to all be close to each other.
+            // TODO ANIMATIONS
             _randomValue1 = (float)InterpolateLinear(StartValue, EndValue, (float)_random.NextDouble());
             _randomValue2 = (float)InterpolateLinear(StartValue, EndValue, (float)_random.NextDouble());
             _randomValue3 = (float)InterpolateLinear(StartValue, EndValue, (float)_random.NextDouble());
index 72374a8a30fb33a97605755daa6b3999add1931e..328dc58d85ff71079c9d50d9569d77d56ccc6b86 100644 (file)
@@ -121,6 +121,8 @@ public abstract partial class SharedStationAiSystem : EntitySystem
                 Category = VerbCategory.Debug,
                 Act = () =>
                 {
+                    if (_net.IsClient)
+                        return;
                     var brain = SpawnInContainerOrDrop(DefaultAi, ent.Owner, StationAiCoreComponent.Container);
                     _mind.ControlMob(user, brain);
                 },
index 32078faeefb3a224ca56536bbe9edfe9787b9d33..d37acff8e0dcc875f91684b03a56b10343fd4fd6 100644 (file)
@@ -36,7 +36,9 @@ namespace Content.YAMLLinter
             {
                 foreach (var errorNode in errorHashset)
                 {
-                    Console.WriteLine($"::error file={file},line={errorNode.Node.Start.Line},col={errorNode.Node.Start.Column}::{file}({errorNode.Node.Start.Line},{errorNode.Node.Start.Column})  {errorNode.ErrorReason}");
+                    // TODO YAML LINTER Fix inheritance
+                    // If a parent/abstract prototype has na error, this will misreport the file name (but with the correct line/column).
+                    Console.WriteLine($"::error in {file}({errorNode.Node.Start.Line},{errorNode.Node.Start.Column})  {errorNode.ErrorReason}");
                 }
             }
 
@@ -143,22 +145,24 @@ namespace Content.YAMLLinter
             foreach (var (key, val) in clientErrors.YamlErrors)
             {
                 var newErrors = val.Where(n => n.AlwaysRelevant).ToHashSet();
-                if (newErrors.Count == 0)
-                    continue;
-
-                if (yamlErrors.TryGetValue(key, out var errors))
-                    errors.UnionWith(val.Where(n => n.AlwaysRelevant));
-                else
-                    yamlErrors[key] = newErrors;
 
                 // Include any errors that relate to client-only types
                 foreach (var errorNode in val)
                 {
-                    if (errorNode is FieldNotFoundErrorNode fieldNotFoundNode && !serverTypes.Contains(fieldNotFoundNode.FieldType.Name))
+                    if (errorNode is FieldNotFoundErrorNode fieldNotFoundNode
+                        && !serverTypes.Contains(fieldNotFoundNode.FieldType.Name))
                     {
                         newErrors.Add(errorNode);
                     }
                 }
+
+                if (newErrors.Count == 0)
+                    continue;
+
+                if (yamlErrors.TryGetValue(key, out var errors))
+                    errors.UnionWith(newErrors);
+                else
+                    yamlErrors[key] = newErrors;
             }
 
             // Finally, combine the prototype ID field errors.
index d9beb724356bfb6eb7ac62593b9aa0ba534c7441..7f3a16c33a16df77359d5f5e8bc0483be4c9e9ec 100644 (file)
     layers:
       - state: box
       - state: bodybags
+  - type: Storage
     whitelist:
       tags:
         - BodyBag
index d3e43653e0d736be623424e69dd0c9c8c0142947..52277a5d85356297e5745e18108232510e7f037b 100644 (file)
   components:
   - type: Sprite
     sprite: Clothing/Back/Duffels/mime.rsi
+  - type: Storage
     storageOpenSound:
       collection: null
     storageInsertSound:
index dac5a8946e19ede4c7dfff3a94a05cee39084141..e4afec873ccaa88d2cd04e737c518266beccb6a5 100644 (file)
@@ -91,8 +91,8 @@
         id: blinking
         interpolate: Nearest
         maxDuration: 1.0
-        minValue: 0.1
-        maxValue: 2.0
+        startValue: 0.1
+        endValue: 2.0
         isLooped: true
   - type: PowerCellSlot
     cellSlotId: cell_slot
         id: blinking
         interpolate: Nearest
         maxDuration: 1.0
-        minValue: 0.1
-        maxValue: 2.0
+        startValue: 0.1
+        endValue: 2.0
         isLooped: true
   - type: Battery
     maxCharge: 600 #lights drain 3/s but recharge of 2 makes this 1/s. Therefore 600 is 10 minutes of light.
index e0c6557c97cb3bdc094496eddbef69afe59f2fa6..ca8f7d4d061a10561c548a1cd5d62acc028f63b8 100644 (file)
@@ -37,8 +37,8 @@
       id: blinking
       interpolate: Nearest
       maxDuration: 1.0
-      minValue: 0.1
-      maxValue: 2.0
+      startValue: 0.1
+      endValue: 2.0
       isLooped: true
   - type: ToggleableVisuals
     spriteLayer: light
index 218e5b283c9de8c66721f7b0c1799245edb80ddd..5efd60eae7d70e4822fd4184067643901e5e76b6 100644 (file)
         id: blinking
         interpolate: Nearest
         maxDuration: 1.0
-        minValue: 0.1
-        maxValue: 2.0
+        startValue: 0.1
+        endValue: 2.0
         isLooped: true
   - type: Battery
     maxCharge: 600
index e347809a47c66eb6f9fa56a37fa050115a375ffb..7c07405c7dc66bea6ec38251e8ae5c6f2f36d602 100644 (file)
@@ -9,7 +9,7 @@
   - type: Sprite
     sprite: Interface/Misc/pointing.rsi
     state: pointing
-    drawDepth: Overlays
+    drawdepth: Overlays
     noRot: true
   - type: PointingArrow
     duration: 4
index 007117f993555c8626d0745eae3cf00accc33eb2..ea24542e5af285724cc42557a017483993620fa6 100644 (file)
       id: blinking
       interpolate: Nearest
       maxDuration: 1.0
-      minValue: 0.1
-      maxValue: 2.0
+      startValue: 0.1
+      endValue: 2.0
       isLooped: true
   - type: ToggleableVisuals
     spriteLayer: light
index 7b435a2625d1840498f6a07b4a8f9639102eba3f..c3fc1ec9596e1423800501bda08330ca9de4b92c 100644 (file)
     solution: bloodstream
     transferAmount: 5
   - type: DamageStateVisuals
-    rotate: true
     states:
       Alive:
         Base: alive
index e27911880ffcbf2ccd2ed6cbdcfa4854b542c0ea..711a638ec8f0ccc9e11545bf2b6dabbcdba7e5ad 100644 (file)
@@ -79,7 +79,6 @@
       Dead: 0
     baseDecayRate: 0.1
   - type: DamageStateVisuals
-    rotate: true
     states:
       Alive:
         Base: regalrat
index 8c3b0521be65991d61f0718068ea886faee88f84..58c4e9c22bc2d1e918b2b6f677e73efd49784502 100644 (file)
@@ -79,7 +79,6 @@
       groups:
         Brute: 6
   - type: DamageStateVisuals
-    rotate: true
     states:
       Alive:
         Base: running
      groups:
        Brute: 5
   - type: DamageStateVisuals
-    rotate: true
     states:
       Alive:
         Base: running
index 8bb9e987a0f28bcddf675f70355a206f598a9d90..6ed36af7733a0f2fb796a68279043ede36cb54f8 100644 (file)
   components:
   - type: Sprite
     sprite: Structures/Power/Generation/Tesla/energy_miniball.rsi
-    shader: unshaded
     layers:
     - state: tesla_projectile
+      shader: unshaded
   - type: Item
     inhandVisuals:
       left:
   components:
   - type: Sprite
     sprite: Objects/Fun/pondering_orb.rsi
-    state: icon
-    shader: unshaded
+    layers:
+    - state: icon
+      shader: unshaded
   - type: PointLight
     radius: 2
     color: "#00CCFF"
   - type: Sprite
     sprite: Objects/Fun/whoopie.rsi
     state: icon
-    quickEquip: false
   - type: Tag
     tags:
     - Payload
index eaae4d410a4d42ec222bf3f67aa0f0a79cfbce9b..db3fc4961ee8a43247fbcb287da0c9488ce4ff8b 100644 (file)
@@ -21,8 +21,8 @@
         id: blinking
         interpolate: Nearest
         maxDuration: 1.0
-        minValue: 0.1
-        maxValue: 2.0
+        startValue: 0.1
+        endValue: 2.0
         isLooped: true
   - type: PowerCellSlot
     cellSlotId: cell_slot
index 1b9f32009a3f2be8109fcd2c90133eae96a6a37e..5fc98833061b84afb91ec5f701a3251d62f41ef9 100644 (file)
@@ -73,7 +73,6 @@
   description: Get out there and slang some dogs.
   components:
     - type: Sprite
-      netSync: false
       noRot: true
       sprite: Objects/Specific/Kitchen/food_carts.rsi
       layers:
   description: It's the Ice Cream Man! It's the Ice Cream Man!
   components:
     - type: Sprite
-      netSync: false
       noRot: true
       sprite: Objects/Specific/Kitchen/food_carts.rsi
       layers:
index c63265ef7d14edce13917e036a766c59224ae739..6fd27c430235861ab36c7ae142c1e32c4a89f3bc 100644 (file)
@@ -24,8 +24,8 @@
         id: blinking
         interpolate: Nearest
         maxDuration: 1.0
-        minValue: 0.1
-        maxValue: 2.0
+        startValue: 0.1
+        endValue: 2.0
         isLooped: true
   - type: ToggleableVisuals
     spriteLayer: light
index c577cd8e588a8a574dc8908df4ca2af4d87cb187..e000b9963885fbc97dd56b6d68742fa9da133a9d 100644 (file)
         - !type:PulseBehaviour
           interpolate: Cubic
           maxDuration: 10.0
-          minValue: 1.0
-          maxValue: 7.0
+          startValue: 1.0
+          endValue: 7.0
           isLooped: true
           property: Energy
           enabled: true
           interpolate: Nearest
           minDuration: 0.2
           maxDuration: 1.0
-          maxValue: 0.2
+          endValue: 0.2
           property: AnimatedEnable
           isLooped: true
           enabled: true
         - !type:FadeBehaviour
           interpolate: Cubic
           maxDuration: 5.0
-          minValue: 0.0
-          maxValue: 10.0
+          startValue: 0.0
+          endValue: 10.0
           isLooped: true
           property: Energy
           enabled: true
           interpolate: Cubic
           minDuration: 1.0
           maxDuration: 5.0
-          minValue: 2.0
-          maxValue: 10.0
+          startValue: 2.0
+          endValue: 10.0
           isLooped: true
           enabled: true
 
         - !type:RandomizeBehaviour
           interpolate: Nearest
           maxDuration: 0.5
-          minValue: 10.0
-          maxValue: 25.0
+          startValue: 10.0
+          endValue: 25.0
           isLooped: true
           enabled: true
index 24fdb88ed55f8ba97007261ef2ba7e920d9349f6..93a0f927e18fc2e3043c4e74a29fdbfa53a79abf 100644 (file)
@@ -21,8 +21,8 @@
         id: blinking
         interpolate: Nearest
         maxDuration: 1.0
-        minValue: 0.1
-        maxValue: 2.0
+        startValue: 0.1
+        endValue: 2.0
         isLooped: true
     - type: Sprite
       sprite: Objects/Tools/lantern.rsi
index 148a64ec927fbd78128f03e2010eb38ef7c1cb80..f51b21e1b4555dcf651dec8c0fd980efabf6018a 100644 (file)
     proto: CartridgeCaselessRifle
     capacity: 10
   - type: Sprite
-    slayers:
+    layers:
     - state: base
       map: ["enum.GunVisualLayers.Base"]
     - state: mag-1
index 4aa959455a0c7225ac6272dbd508ab47b1ed0be3..cc8fd35f326646c23c51971eb5ba9973a09a1734 100644 (file)
@@ -6,6 +6,7 @@
   components:
   - type: Sprite
     sprite: Structures/Doors/Windoors/clockwork_windoor.rsi
+  - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
@@ -23,8 +24,8 @@
             min: 1
             max: 2
           SheetBrass1:
-            min: 2
-            max: 4
+            min: 0
+            max: 2
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: Construction
index 1e439ddae48774d740f119b3b22aec8b352f0131..d57af0a41caea9e5c056d185226c1fe28b362fbd 100644 (file)
       - GhostOnlyWarp
   - type: Sprite
     sprite: Structures/Power/Generation/Singularity/singularity_1.rsi
-    shader: unshaded
     layers:
     - map: [ "VisualLevel" ]
       state: singularity_1
+      shader: unshaded
   - type: GenericVisualizer
     visuals:
       enum.SingularityAppearanceKeys.Singularity:
index d31f7526abebaea143f15cf9b5b46451200e9b8d..52e82847cb58768452ac3cc096114dcde8ded3f6 100644 (file)
   - type: Sprite
     drawdepth: Effects
     sprite: Structures/Power/Generation/Tesla/energy_ball.rsi
-    shader: unshaded
     layers:
     - state: energy_ball
+      shader: unshaded
   - type: EmitSoundOnSpawn
     sound:
       path: /Audio/Effects/tesla_collapse.ogg
   - type: Sprite
     drawdepth: Effects
     sprite: Structures/Power/Generation/Tesla/energy_miniball.rsi
-    shader: unshaded
     layers:
     - state: tesla_projectile
+      shader: unshaded
   - type: Electrified
     requirePower: false
index 53e2c4a91f15cfd36861b0990dc2bec5d8684262..2a4f1c7f1cce88e6a80f88af64f0ea903a4d5197 100644 (file)
     sprite: Structures/Power/Cables/lv_cable.rsi
     state: lvcable_0
   - type: Icon
-    color: Green
     sprite: Structures/Power/Cables/lv_cable.rsi
     state: lvcable_4
   - type: NodeContainer
index 211eee609aeff5c8bd6cb43ee0adf4520f896557..b47106acb80619d9f305e24b96e98f97fb50ffd5 100644 (file)
             max: 1
   - type: Appearance
   - type: EntityStorageVisuals
-    stateBase: base
+    # stateBase: base  // This field does not exist. this is probably a bug. TODO
     stateDoorOpen: base
     stateDoorClosed: door
   - type: LockVisuals
index 1f2a5ebeb0dd35524ab7631e243f8068aa64881f..278d93df6801c4492ece8c76db98231f8cb5ec77 100644 (file)
@@ -66,7 +66,7 @@
     color: FloralWhite
     textOffset: 0,6
     timerOffset: 0,6
-    textLength: 5
+    # textLength: 5 This field does not exist. Bug?
     rows: 1
   - type: Sprite
     drawdepth: WallMountedItems
index 1b04ea885c5ea01093af8f664ff4bea931d6f685..20706356767d84fb3dc379f4257b1429dde81c0e 100644 (file)
     - map: [ "enum.EdgeLayer.West" ]
       state: rock_chromite_west
     - state: rock_coal
-    map: [ "enum.MiningScannerVisualLayers.Overlay" ]
+      map: [ "enum.MiningScannerVisualLayers.Overlay" ]
 
 - type: entity
   id: WallRockChromiteGold
index 83bf8cb0a5a78b1dd59b6e3f42ab76a17861cfc2..7cd60a83a473ce560e1e202d4f7aa771e355105c 100644 (file)
@@ -48,5 +48,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index efcce1500dc329ea7754983cfa6684d913a88349..85f34437824cdac83bb420bd8427f2d41a1fcf02 100644 (file)
@@ -36,5 +36,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index abf51b9bdf9d1501c42c4f8ed4b2d5083344a933..2939a3919ca28db83071a00abd48ec5910fbede5 100644 (file)
@@ -37,5 +37,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index 773104c33f10d9be156cde92c89cbc39607cd771..a56f230a1c73cd8c331f7191d0af9faaae90c092 100644 (file)
@@ -37,5 +37,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index 4a84b4618b30fcf9df57a15157acc417fe14328c..02fe72c05da6e2fd4e0c7feec35ffa80319c26ed 100644 (file)
@@ -34,7 +34,7 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
 
 # Because hyperspace and the menu need their own.
@@ -71,6 +71,6 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.5
+      slowness: 0.5
   layersLQUseHQ: false
 
index 0fcc7361b08989df50d9c9306090c9a9d5b2b6dd..26b3b6d0752be68ce70da5591ed33ecd2a6a8933 100644 (file)
@@ -36,5 +36,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index 8f2972e178ea755e05d6bdce9598139d5aacf9fb..c99306ae802459708edb9f694d12c38e67c3f245 100644 (file)
@@ -36,5 +36,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index 174f21a3ca42cf39d9a548697a99f0d7dfdb8d0c..550057ed47723a92fbac71e6205a7414ea86319f 100644 (file)
@@ -37,5 +37,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index 6110248539d7499b3407ae4c9a03651e6cf87d54..5964ea0edcca58faf7d02ada48bc60c4f503125a 100644 (file)
@@ -49,5 +49,5 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
   layersLQUseHQ: false
index e506043c85228297db6a2eaff09bfb63467d4140..e47cedfc2aa6da442eee748f45fab1fa2b8bc637 100644 (file)
@@ -63,6 +63,6 @@
         !type:GeneratedParallaxTextureSource
         id: ""
         configPath: "/Prototypes/Parallaxes/parallax_config.toml"
-        slowness: 0.875
+      slowness: 0.875
       scrolling: "0, -0.475"
   layersLQUseHQ: false