diff --git a/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs b/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs index fbb4940ced..328d4f0e62 100644 --- a/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs +++ b/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs @@ -22,13 +22,13 @@ namespace Content.Client.CharacterAppearance.Systems SubscribeLocalEvent(BodyPartRemoved); } - private readonly HumanoidVisualLayers[] _bodyPartLayers = { + public readonly static HumanoidVisualLayers[] BodyPartLayers = { HumanoidVisualLayers.Chest, HumanoidVisualLayers.Head, HumanoidVisualLayers.Snout, - HumanoidVisualLayers.Frills, - HumanoidVisualLayers.TailBehind, - HumanoidVisualLayers.TailFront, + HumanoidVisualLayers.HeadTop, + HumanoidVisualLayers.HeadSide, + HumanoidVisualLayers.Tail, HumanoidVisualLayers.Eyes, HumanoidVisualLayers.RArm, HumanoidVisualLayers.LArm, @@ -94,10 +94,11 @@ namespace Content.Client.CharacterAppearance.Systems sprite.LayerSetSprite(facialLayer, facialHairPrototype.Sprite); } - foreach (var layer in _bodyPartLayers) + foreach (var layer in BodyPartLayers) { // Not every mob may have the furry layers hence we just skip it. if (!sprite.LayerMapTryGet(layer, out var actualLayer)) continue; + if (!sprite[actualLayer].Visible) continue; sprite.LayerSetColor(actualLayer, component.Appearance.SkinColor); } diff --git a/Content.Client/Markings/MarkingPicker.xaml b/Content.Client/Markings/MarkingPicker.xaml new file mode 100644 index 0000000000..193a8796cd --- /dev/null +++ b/Content.Client/Markings/MarkingPicker.xaml @@ -0,0 +1,28 @@ + + + + + + + +