Fix yaml linter and misc errors (#37444)

* Fix yaml linter

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

This reverts commit 66e926843f.

* 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>
This commit is contained in:
Leon Friedrich
2025-07-10 16:25:36 +12:00
committed by GitHub
parent 00826aaad6
commit f915157b96
37 changed files with 71 additions and 66 deletions

View 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());

View 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);
},

View 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.

View File

@@ -102,6 +102,7 @@
layers:
- state: box
- state: bodybags
- type: Storage
whitelist:
tags:
- BodyBag

View File

@@ -116,6 +116,7 @@
components:
- type: Sprite
sprite: Clothing/Back/Duffels/mime.rsi
- type: Storage
storageOpenSound:
collection: null
storageInsertSound:

View 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
@@ -238,8 +238,8 @@
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.

View 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

View File

@@ -293,8 +293,8 @@
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

View File

@@ -9,7 +9,7 @@
- type: Sprite
sprite: Interface/Misc/pointing.rsi
state: pointing
drawDepth: Overlays
drawdepth: Overlays
noRot: true
- type: PointingArrow
duration: 4

View File

@@ -217,8 +217,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

View File

@@ -399,7 +399,6 @@
solution: bloodstream
transferAmount: 5
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: alive

View File

@@ -79,7 +79,6 @@
Dead: 0
baseDecayRate: 0.1
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: regalrat

View File

@@ -79,7 +79,6 @@
groups:
Brute: 6
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: running
@@ -504,7 +503,6 @@
groups:
Brute: 5
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: running

View File

@@ -571,9 +571,9 @@
components:
- type: Sprite
sprite: Structures/Power/Generation/Tesla/energy_miniball.rsi
shader: unshaded
layers:
- state: tesla_projectile
shader: unshaded
- type: Item
inhandVisuals:
left:
@@ -605,7 +605,8 @@
components:
- type: Sprite
sprite: Objects/Fun/pondering_orb.rsi
state: icon
layers:
- state: icon
shader: unshaded
- type: PointLight
radius: 2
@@ -845,7 +846,6 @@
- type: Sprite
sprite: Objects/Fun/whoopie.rsi
state: icon
quickEquip: false
- type: Tag
tags:
- Payload

View 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

View 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:
@@ -154,7 +153,6 @@
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:

View 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

View File

@@ -134,8 +134,8 @@
- !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
@@ -198,7 +198,7 @@
interpolate: Nearest
minDuration: 0.2
maxDuration: 1.0
maxValue: 0.2
endValue: 0.2
property: AnimatedEnable
isLooped: true
enabled: true
@@ -237,8 +237,8 @@
- !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
@@ -269,8 +269,8 @@
interpolate: Cubic
minDuration: 1.0
maxDuration: 5.0
minValue: 2.0
maxValue: 10.0
startValue: 2.0
endValue: 10.0
isLooped: true
enabled: true
@@ -300,7 +300,7 @@
- !type:RandomizeBehaviour
interpolate: Nearest
maxDuration: 0.5
minValue: 10.0
maxValue: 25.0
startValue: 10.0
endValue: 25.0
isLooped: true
enabled: true

View 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

View File

@@ -106,7 +106,7 @@
proto: CartridgeCaselessRifle
capacity: 10
- type: Sprite
slayers:
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1

View 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

View File

@@ -77,10 +77,10 @@
- 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:

View File

@@ -101,9 +101,9 @@
- 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
@@ -149,8 +149,8 @@
- type: Sprite
drawdepth: Effects
sprite: Structures/Power/Generation/Tesla/energy_miniball.rsi
shader: unshaded
layers:
- state: tesla_projectile
shader: unshaded
- type: Electrified
requirePower: false

View File

@@ -173,7 +173,6 @@
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

View File

@@ -316,7 +316,7 @@
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

View 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