]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Vox sprite rework (#26985)
authorErrant <35878406+Errant-4@users.noreply.github.com>
Sat, 27 Apr 2024 06:04:51 +0000 (08:04 +0200)
committerGitHub <noreply@github.com>
Sat, 27 Apr 2024 06:04:51 +0000 (16:04 +1000)
weh

43 files changed:
Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Content.Shared/Humanoid/HumanoidCharacterAppearance.cs
Content.Shared/Humanoid/SkinColor.cs
Resources/Prototypes/Body/Parts/vox.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Mobs/Species/vox.yml
Resources/Prototypes/Species/vox.yml
Resources/Textures/Effects/creampie.rsi/creampie_vox.png [new file with mode: 0644]
Resources/Textures/Effects/creampie.rsi/meta.json
Resources/Textures/Mobs/Customization/eyes.rsi/meta.json
Resources/Textures/Mobs/Customization/eyes.rsi/vox_eyes_s.png [deleted file]
Resources/Textures/Mobs/Customization/vox_parts.rsi/beak.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/l_arm.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/l_foot.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/l_hand.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/l_leg.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/r_arm.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/r_foot.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/r_hand.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/r_leg.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png [new file with mode: 0644]
Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_stenciled.png [new file with mode: 0644]
Resources/Textures/Mobs/Species/Vox/parts.rsi/eyes.png [new file with mode: 0644]
Resources/Textures/Mobs/Species/Vox/parts.rsi/full.png [new file with mode: 0644]
Resources/Textures/Mobs/Species/Vox/parts.rsi/groin.png [new file with mode: 0644]
Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_f.png [deleted file]
Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_m.png [deleted file]
Resources/Textures/Mobs/Species/Vox/parts.rsi/head.png [new file with mode: 0644]
Resources/Textures/Mobs/Species/Vox/parts.rsi/head_f.png [deleted file]
Resources/Textures/Mobs/Species/Vox/parts.rsi/head_m.png [deleted file]
Resources/Textures/Mobs/Species/Vox/parts.rsi/l_arm.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/l_foot.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/l_hand.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/l_leg.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/meta.json
Resources/Textures/Mobs/Species/Vox/parts.rsi/r_arm.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/r_foot.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/r_hand.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/r_leg.png
Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png [new file with mode: 0644]
Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_f.png [deleted file]
Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_m.png [deleted file]

index 213eb0b6628a1f2768bc1d765b5b59ecfed60890..70b7608f6db05213bf971cccbefacdbdb4ddaa12 100644 (file)
@@ -697,6 +697,20 @@ namespace Content.Client.Preferences.UI
 
                     var color = SkinColor.TintedHues(_rgbSkinColorSelector.Color);
 
+                    CMarkings.CurrentSkinColor = color;
+                    Profile = Profile.WithCharacterAppearance(Profile.Appearance.WithSkinColor(color));
+                    break;
+                }
+                case HumanoidSkinColor.VoxFeathers:
+                {
+                    if (!_rgbSkinColorContainer.Visible)
+                    {
+                        _skinColor.Visible = false;
+                        _rgbSkinColorContainer.Visible = true;
+                    }
+
+                    var color = SkinColor.ClosestVoxColor(_rgbSkinColorSelector.Color);
+
                     CMarkings.CurrentSkinColor = color;
                     Profile = Profile.WithCharacterAppearance(Profile.Appearance.WithSkinColor(color));
                     break;
@@ -908,6 +922,18 @@ namespace Content.Client.Preferences.UI
                     _rgbSkinColorSelector.Color = Profile.Appearance.SkinColor;
                     break;
                 }
+                case HumanoidSkinColor.VoxFeathers:
+                {
+                    if (!_rgbSkinColorContainer.Visible)
+                    {
+                        _skinColor.Visible = false;
+                        _rgbSkinColorContainer.Visible = true;
+                    }
+
+                    _rgbSkinColorSelector.Color = SkinColor.ClosestVoxColor(Profile.Appearance.SkinColor);
+
+                    break;
+                }
             }
 
         }
index 44fcef9c4faed45f6e982fbfa72d0496ada826c4..fbbf4ecf721f83177f389a23301d3199fc993887 100644 (file)
@@ -104,7 +104,8 @@ public sealed partial class HumanoidCharacterAppearance : ICharacterAppearance
             HumanoidSkinColor.HumanToned => Humanoid.SkinColor.HumanSkinTone(speciesPrototype.DefaultHumanSkinTone),
             HumanoidSkinColor.Hues => speciesPrototype.DefaultSkinTone,
             HumanoidSkinColor.TintedHues => Humanoid.SkinColor.TintedHues(speciesPrototype.DefaultSkinTone),
-            _ => Humanoid.SkinColor.ValidHumanSkinTone
+            HumanoidSkinColor.VoxFeathers => Humanoid.SkinColor.ClosestVoxColor(speciesPrototype.DefaultSkinTone),
+            _ => Humanoid.SkinColor.ValidHumanSkinTone,
         };
 
         return new(
@@ -166,6 +167,9 @@ public sealed partial class HumanoidCharacterAppearance : ICharacterAppearance
             case HumanoidSkinColor.TintedHues:
                 newSkinColor = Humanoid.SkinColor.ValidTintedHuesSkinTone(newSkinColor);
                 break;
+            case HumanoidSkinColor.VoxFeathers:
+                newSkinColor = Humanoid.SkinColor.ProportionalVoxColor(newSkinColor);
+                break;
         }
 
         return new HumanoidCharacterAppearance(newHairStyle, newHairColor, newFacialHairStyle, newHairColor, newEyeColor, newSkinColor, new ());
index 960f910a323318fb1d5566976bf120cedca023a9..2dc95fcf076b877d41ecc99f3e13329fbcd0331a 100644 (file)
@@ -1,3 +1,6 @@
+using System.Security.Cryptography;
+using Microsoft.VisualBasic.CompilerServices;
+
 namespace Content.Shared.Humanoid;
 
 public static class SkinColor
@@ -7,6 +10,13 @@ public static class SkinColor
 
     public const float MinHuesLightness = 0.175f;
 
+    public const float MinFeathersHue = 29f / 360;
+    public const float MaxFeathersHue = 174f / 360;
+    public const float MinFeathersSaturation = 20f / 100;
+    public const float MaxFeathersSaturation = 88f / 100;
+    public const float MinFeathersValue = 36f / 100;
+    public const float MaxFeathersValue = 55f / 100;
+
     public static Color ValidHumanSkinTone => Color.FromHsv(new Vector4(0.07f, 0.2f, 1f, 1f));
 
     /// <summary>
@@ -140,11 +150,65 @@ public static class SkinColor
         return Color.ToHsl(color).Y <= MaxTintedHuesSaturation && Color.ToHsl(color).Z >= MinTintedHuesLightness;
     }
 
+    /// <summary>
+    ///     Converts a Color proportionally to the allowed vox color range.
+    ///     Will NOT preserve the specific input color even if it is within the allowed vox color range.
+    /// </summary>
+    /// <param name="color">Color to convert</param>
+    /// <returns>Vox feather coloration</returns>
+    public static Color ProportionalVoxColor(Color color)
+    {
+        var newColor = Color.ToHsv(color);
+
+        newColor.X = newColor.X * (MaxFeathersHue - MinFeathersHue) + MinFeathersHue;
+        newColor.Y = newColor.Y * (MaxFeathersSaturation - MinFeathersSaturation) + MinFeathersSaturation;
+        newColor.Z = newColor.Z * (MaxFeathersValue - MinFeathersValue) + MinFeathersValue;
+
+        return Color.FromHsv(newColor);
+    }
+
+    // /// <summary>
+    // ///      Ensures the input Color is within the allowed vox color range.
+    // /// </summary>
+    // /// <param name="color">Color to convert</param>
+    // /// <returns>The same Color if it was within the allowed range, or the closest matching Color otherwise</returns>
+    public static Color ClosestVoxColor(Color color)
+    {
+        var hsv = Color.ToHsv(color);
+
+        hsv.X = Math.Clamp(hsv.X, MinFeathersHue, MaxFeathersHue);
+        hsv.Y = Math.Clamp(hsv.Y, MinFeathersSaturation, MaxFeathersSaturation);
+        hsv.Z = Math.Clamp(hsv.Z, MinFeathersValue, MaxFeathersValue);
+
+        return Color.FromHsv(hsv);
+    }
+
+    /// <summary>
+    ///     Verify if this color is a valid vox feather coloration, or not.
+    /// </summary>
+    /// <param name="color">The color to verify</param>
+    /// <returns>True if valid, false otherwise</returns>
+    public static bool VerifyVoxFeathers(Color color)
+    {
+        var colorHsv = Color.ToHsv(color);
+
+        if (colorHsv.X < MinFeathersHue || colorHsv.X > MaxFeathersHue)
+            return false;
+
+        if (colorHsv.Y < MinFeathersSaturation || colorHsv.Y > MaxFeathersSaturation)
+            return false;
+
+        if (colorHsv.Z < MinFeathersValue || colorHsv.Z > MaxFeathersValue)
+            return false;
+
+        return true;
+    }
+
     /// <summary>
     ///     This takes in a color, and returns a color guaranteed to be above MinHuesLightness
     /// </summary>
     /// <param name="color"></param>
-    /// <returns>Either the color as-is if it's above MinHuesLightness, or the color with luminosity increased above MinHuesLightness</returns> 
+    /// <returns>Either the color as-is if it's above MinHuesLightness, or the color with luminosity increased above MinHuesLightness</returns>
     public static Color MakeHueValid(Color color)
     {
         var manipulatedColor = Color.ToHsv(color);
@@ -169,6 +233,7 @@ public static class SkinColor
             HumanoidSkinColor.HumanToned => VerifyHumanSkinTone(color),
             HumanoidSkinColor.TintedHues => VerifyTintedHues(color),
             HumanoidSkinColor.Hues => VerifyHues(color),
+            HumanoidSkinColor.VoxFeathers => VerifyVoxFeathers(color),
             _ => false,
         };
     }
@@ -180,6 +245,7 @@ public static class SkinColor
             HumanoidSkinColor.HumanToned => ValidHumanSkinTone,
             HumanoidSkinColor.TintedHues => ValidTintedHuesSkinTone(color),
             HumanoidSkinColor.Hues => MakeHueValid(color),
+            HumanoidSkinColor.VoxFeathers => ClosestVoxColor(color),
             _ => color
         };
     }
@@ -189,5 +255,6 @@ public enum HumanoidSkinColor : byte
 {
     HumanToned,
     Hues,
+    VoxFeathers, // Vox feathers are limited to a specific color range
     TintedHues, //This gives a color tint to a humanoid's skin (10% saturation with full hue range).
 }
index b163ed0864fb27edc26e2d8c535fd0daf0e81455..9f89a0c583d8ca7c83c2e224e4c845bed75e1129 100644 (file)
   components:
     - type: Sprite
       sprite: Mobs/Species/Vox/parts.rsi
-      state: "torso_m"
+      state: "torso"
     - type: Icon
       sprite: Mobs/Species/Vox/parts.rsi
-      state: "torso_m"
+      state: "torso"
     - type: BodyPart
       partType: Torso
     - type: Extractable
   components:
     - type: Sprite
       sprite: Mobs/Species/Vox/parts.rsi
-      state: "head_m"
+      state: "head"
     - type: Icon
       sprite: Mobs/Species/Vox/parts.rsi
-      state: "head_m"
+      state: "head"
     - type: BodyPart
       partType: Head
       vital: true
diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml
new file mode 100644 (file)
index 0000000..cd3588b
--- /dev/null
@@ -0,0 +1,145 @@
+- type: marking
+  id: VoxBeak
+  bodyPart: Snout
+  markingCategory: Snout
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: beak
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxLArmScales
+  bodyPart: LArm
+  markingCategory: Arms
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: l_arm
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxLLegScales
+  bodyPart: LLeg
+  markingCategory: Legs
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: l_leg
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxRArmScales
+  bodyPart: RArm
+  markingCategory: Arms
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: r_arm
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxRLegScales
+  bodyPart: RLeg
+  markingCategory: Legs
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: r_leg
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxRHandScales
+  bodyPart: RHand
+  markingCategory: Arms
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: r_hand
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxLHandScales
+  bodyPart: LHand
+  markingCategory: Arms
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: l_hand
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxLFootScales
+  bodyPart: LFoot
+  markingCategory: Legs
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: l_foot
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxRFootScales
+  bodyPart: RFoot
+  markingCategory: Legs
+  forcedColoring: true
+  speciesRestriction: [Vox]
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    state: r_foot
+  coloring:
+    default:
+      type:
+        !type:SimpleColoring
+        color: "#937e3d"
+
+- type: marking
+  id: VoxTail
+  bodyPart: Tail
+  markingCategory: Tail
+  speciesRestriction: [Vox]
+  forcedColoring: true
+  sprites:
+  - sprite: Mobs/Customization/vox_parts.rsi
+    # Ideally this should use the normal tail sprite and apply an actual mask over it, not just use a butchered sprite
+    state: tail_stenciled
index cbed5b799542f55bdbd7c04c18889f3a921fecb7..c79947f15c4600f9e6d16e0f917a0f63ef8807b5 100644 (file)
     damage:
       types:
         Slash: 5 # Reduce?
+  - type: Sprite # Need to redefine the whole order to draw the tail over their gas tank
+    layers:
+    - map: [ "enum.HumanoidVisualLayers.Chest" ]
+    - map: [ "enum.HumanoidVisualLayers.Head" ]
+    - map: [ "enum.HumanoidVisualLayers.Snout" ]
+    - map: [ "enum.HumanoidVisualLayers.Eyes" ]
+    - map: [ "enum.HumanoidVisualLayers.RArm" ]
+    - map: [ "enum.HumanoidVisualLayers.LArm" ]
+    - map: [ "enum.HumanoidVisualLayers.RLeg" ]
+    - map: [ "enum.HumanoidVisualLayers.LLeg" ]
+    - map: [ "jumpsuit" ]
+    - map: [ "enum.HumanoidVisualLayers.LFoot" ]
+    - map: [ "enum.HumanoidVisualLayers.RFoot" ]
+    - map: [ "enum.HumanoidVisualLayers.LHand" ]
+    - map: [ "enum.HumanoidVisualLayers.RHand" ]
+    - map: [ "gloves" ]
+    - map: [ "shoes" ]
+    - map: [ "ears" ]
+    - map: [ "outerClothing" ]
+    - map: [ "eyes" ]
+    - map: [ "belt" ]
+    - map: [ "id" ]
+    - map: [ "neck" ]
+    - map: [ "back" ]
+    - map: [ "enum.HumanoidVisualLayers.FacialHair" ]
+    - map: [ "enum.HumanoidVisualLayers.Hair" ]
+    - map: [ "enum.HumanoidVisualLayers.HeadSide" ]
+    - map: [ "enum.HumanoidVisualLayers.HeadTop" ]
+    - map: [ "suitstorage" ] # This is not in the default order
+    - map: [ "enum.HumanoidVisualLayers.Tail" ]
+    - map: [ "mask" ]
+    - map: [ "head" ]
+    - map: [ "pocket1" ]
+    - map: [ "pocket2" ]
+    - map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
+      color: "#ffffff"
+      sprite: Objects/Misc/handcuffs.rsi
+      state: body-overlay-2
+      visible: false
+    - map: [ "clownedon" ]
+      sprite: "Effects/creampie.rsi"
+      state: "creampie_vox" # Not default
+      visible: false
 
 - type: entity
   parent: BaseSpeciesDummy
index 605087a687b003e0f5e39e59d9abcf77fc1711ec..53ac4258bc2084a238cf09c9d5f517325f99be44 100644 (file)
@@ -6,18 +6,19 @@
   sprites: MobVoxSprites
   markingLimits: MobVoxMarkingLimits
   dollPrototype: MobVoxDummy
-  skinColoration: Hues
+  skinColoration: VoxFeathers
+  defaultSkinTone: "#6c741d"
   maleFirstNames: names_vox
   femaleFirstNames: names_vox
   naming: First
   sexes:
-    - Unsexed
-
+  - Unsexed
 
 - type: speciesBaseSprites
   id: MobVoxSprites
   sprites:
     Head: MobVoxHead
+    Snout: MobHumanoidAnyMarking
     Hair: MobHumanoidAnyMarking
     FacialHair: MobHumanoidAnyMarking
     Chest: MobVoxTorso
@@ -30,6 +31,7 @@
     RLeg: MobVoxRLeg
     LFoot: MobVoxLFoot
     RFoot: MobVoxRFoot
+    Tail: MobHumanoidAnyMarking
 
 - type: markingPoints
   id: MobVoxMarkingLimits
     FacialHair:
       points: 1
       required: false
-    Chest:
+    Head:
       points: 1
-      required: false
-    Legs:
-      points: 2
-      required: false
+      required: true
+    Snout:
+      points: 1
+      required: true
+      defaultMarkings: [ VoxBeak ]
     Arms:
-      points: 2
+      points: 4
+      required: true
+      defaultMarkings: [ VoxLArmScales, VoxRArmScales, VoxRHandScales, VoxLHandScales ]
+    Legs:
+      points: 4
+      required: true
+      defaultMarkings: [ VoxLLegScales, VoxRLegScales, VoxRFootScales, VoxLFootScales ]
+    Chest:
+      points: 1
       required: false
+    Tail:
+      points: 1
+      required: true
+      defaultMarkings: [ VoxTail ]
 
 - type: humanoidBaseSprite
   id: MobVoxEyes
   baseSprite:
-    sprite: Mobs/Customization/eyes.rsi
-    state: vox_eyes_s
+    sprite: Mobs/Species/Vox/parts.rsi
+    state: eyes
 
 - type: humanoidBaseSprite
   id: MobVoxHead
   baseSprite:
     sprite: Mobs/Species/Vox/parts.rsi
-    state: head_m
+    state: head
 
 - type: humanoidBaseSprite
   id: MobVoxHeadMale
   baseSprite:
     sprite: Mobs/Species/Vox/parts.rsi
-    state: head_m
+    state: head
 
 - type: humanoidBaseSprite
   id: MobVoxHeadFemale
   baseSprite:
     sprite: Mobs/Species/Vox/parts.rsi
-    state: head_f
+    state: head
 
 - type: humanoidBaseSprite
   id: MobVoxTorso
   baseSprite:
     sprite: Mobs/Species/Vox/parts.rsi
-    state: torso_m
+    state: torso
 
 - type: humanoidBaseSprite
   id: MobVoxTorsoMale
   baseSprite:
     sprite: Mobs/Species/Vox/parts.rsi
-    state: torso_m
+    state: torso
 
 - type: humanoidBaseSprite
   id: MobVoxTorsoFemale
   baseSprite:
     sprite: Mobs/Species/Vox/parts.rsi
-    state: torso_f
+    state: torso
 
 - type: humanoidBaseSprite
   id: MobVoxLLeg
   baseSprite:
     sprite: Mobs/Species/Vox/parts.rsi
     state: r_foot
-
-#
diff --git a/Resources/Textures/Effects/creampie.rsi/creampie_vox.png b/Resources/Textures/Effects/creampie.rsi/creampie_vox.png
new file mode 100644 (file)
index 0000000..dfe199b
Binary files /dev/null and b/Resources/Textures/Effects/creampie.rsi/creampie_vox.png differ
index 54e0cc73c2ba205e8d401aa23895351be9794191..8db8a77945c4ddaeadfdc018282ce6a65bb65f22 100644 (file)
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from https://github.com/tgstation/tgstation at 0d9c9a8233dfc3fc55edc538955a761a6328bee0. creampie_moth by MilenVolf, creampie_arachnid by PixelTheKermit (Github)",
+  "copyright": "Taken from https://github.com/tgstation/tgstation at 0d9c9a8233dfc3fc55edc538955a761a6328bee0. creampie_moth by MilenVolf, creampie_arachnid by PixelTheKermit (Github), creampie_vox by Errant",
   "size": {
     "x": 32,
     "y": 32
       "name": "creampie_standborg",
       "directions": 4
     },
+    {
+      "name": "creampie_vox",
+      "directions": 4
+    },
     {
       "name": "creampie_xeno_crit"
     },
index cb94dfab3e1279961a3882d73754b1286d1d9115..78339d7b76d1026d7111e66ee5e10313d684514e 100644 (file)
@@ -1 +1 @@
-{"version": 1, "license": "CC-BY-SA-3.0","copyright": "Vox_eyes Taken from https://github.com/vgstation-coders/vgstation13 at 02ff588d59b3c560c685d9ca75e882d32a72d8cb and human_eyes taken from https://github.com/tgstation/tgstation/blob/8024397cc81c5f47f74cf4279e35728487d0a1a7/icons/mob/human_parts_greyscale.dmi and modified by DrSmugleaf", "size": {"x": 32, "y": 32}, "states": [{"name": "diona", "directions": 4}, {"name": "eyes", "directions": 4}, {"name":"no_eyes"},{"name": "vox_eyes_s", "directions": 4}]}
+{"version": 1, "license": "CC-BY-SA-3.0","copyright": "human_eyes taken from https://github.com/tgstation/tgstation/blob/8024397cc81c5f47f74cf4279e35728487d0a1a7/icons/mob/human_parts_greyscale.dmi and modified by DrSmugleaf", "size": {"x": 32, "y": 32}, "states": [{"name": "diona", "directions": 4}, {"name": "eyes", "directions": 4}, {"name":"no_eyes"}]}
diff --git a/Resources/Textures/Mobs/Customization/eyes.rsi/vox_eyes_s.png b/Resources/Textures/Mobs/Customization/eyes.rsi/vox_eyes_s.png
deleted file mode 100644 (file)
index 807e937..0000000
Binary files a/Resources/Textures/Mobs/Customization/eyes.rsi/vox_eyes_s.png and /dev/null differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/beak.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/beak.png
new file mode 100644 (file)
index 0000000..2374467
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/beak.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_arm.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_arm.png
new file mode 100644 (file)
index 0000000..e35fb3c
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_arm.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_foot.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_foot.png
new file mode 100644 (file)
index 0000000..5ab81e3
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_foot.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_hand.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_hand.png
new file mode 100644 (file)
index 0000000..660da8a
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_hand.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_leg.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_leg.png
new file mode 100644 (file)
index 0000000..1a81369
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/l_leg.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json b/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json
new file mode 100644 (file)
index 0000000..fd5c14b
--- /dev/null
@@ -0,0 +1,55 @@
+{
+  "version": 1,
+  "license": "CC-BY-SA-3.0",
+  "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 02ff588d59b3c560c685d9ca75e882d32a72d8cb, modified by Bhijn, Errant and Flareguy",
+  "size": {
+    "x": 32,
+    "y": 32
+  },
+  "states": [
+    {
+      "name": "beak",
+      "directions": 4
+    },
+    {
+      "name": "l_arm",
+      "directions": 4
+    },
+    {
+      "name": "l_foot",
+      "directions": 4
+    },
+    {
+      "name": "l_hand",
+      "directions": 4
+    },
+    {
+      "name": "l_leg",
+      "directions": 4
+    },
+    {
+      "name": "r_arm",
+      "directions": 4
+    },
+    {
+      "name": "r_foot",
+      "directions": 4
+    },
+    {
+      "name": "r_hand",
+      "directions": 4
+    },
+    {
+      "name": "r_leg",
+      "directions": 4
+    },
+    {
+      "name": "tail",
+      "directions": 4
+    },
+    {
+      "name": "tail_stenciled",
+      "directions": 4
+    }
+  ]
+}
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_arm.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_arm.png
new file mode 100644 (file)
index 0000000..c8c7075
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_arm.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_foot.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_foot.png
new file mode 100644 (file)
index 0000000..58dbe90
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_foot.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_hand.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_hand.png
new file mode 100644 (file)
index 0000000..e433456
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_hand.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_leg.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_leg.png
new file mode 100644 (file)
index 0000000..d616753
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/r_leg.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png
new file mode 100644 (file)
index 0000000..0e63d33
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png differ
diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_stenciled.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_stenciled.png
new file mode 100644 (file)
index 0000000..50627ac
Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_stenciled.png differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/eyes.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/eyes.png
new file mode 100644 (file)
index 0000000..5069e90
Binary files /dev/null and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/eyes.png differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/full.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/full.png
new file mode 100644 (file)
index 0000000..864a6f0
Binary files /dev/null and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/full.png differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin.png
new file mode 100644 (file)
index 0000000..ec0dd84
Binary files /dev/null and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin.png differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_f.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_f.png
deleted file mode 100644 (file)
index 15c0ed8..0000000
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_f.png and /dev/null differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_m.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_m.png
deleted file mode 100644 (file)
index 15c0ed8..0000000
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/groin_m.png and /dev/null differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/head.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/head.png
new file mode 100644 (file)
index 0000000..8e140ea
Binary files /dev/null and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/head.png differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/head_f.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/head_f.png
deleted file mode 100644 (file)
index 6d92de1..0000000
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/head_f.png and /dev/null differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/head_m.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/head_m.png
deleted file mode 100644 (file)
index 6d92de1..0000000
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/head_m.png and /dev/null differ
index bdd61871c5f4b242253ab35845c19c373a3c46e6..258127dbae221e9f70f42f5774b9205c8b11b850 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_arm.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_arm.png differ
index d12c19cf0cbbc77e752beccc45fcb5421bec4c56..3b81ae705959d40f4b51a0dd96921574978bd437 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_foot.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_foot.png differ
index 0d1048e090b6e59e3c03f2d8182feba8b8dd5348..d321880c7b8c9203af0e9e214cf0b3602b87a610 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_hand.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_hand.png differ
index 20eebad86061c49b8cd4d911b86d021768152ef9..918b343f98cbd48568efa1ffcf7065f5ca337965 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_leg.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/l_leg.png differ
index 1070da1203d9a1a53ad560e48f1a71d578c11fd5..4ab06e217276649ec8a3abb25c9b94ff84c13a05 100644 (file)
@@ -1,26 +1,25 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 02ff588d59b3c560c685d9ca75e882d32a72d8cb",
+  "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 02ff588d59b3c560c685d9ca75e882d32a72d8cb, by Bhijn, Errant and Flareguy",
   "size": {
     "x": 32,
     "y": 32
   },
   "states": [
     {
-      "name": "groin_f",
+      "name": "eyes",
       "directions": 4
     },
     {
-      "name": "groin_m",
-      "directions": 4
+      "name": "full"
     },
     {
-      "name": "head_f",
+      "name": "groin",
       "directions": 4
     },
     {
-      "name": "head_m",
+      "name": "head",
       "directions": 4
     },
     {
       "directions": 4
     },
     {
-      "name": "torso_f",
-      "directions": 4
-    },
-    {
-      "name": "torso_m",
+      "name": "torso",
       "directions": 4
     },
     {
index 0c1f703efdfb13c67b3bca21caa9bb6cd41ba72a..766cd378ea81ab4444dc9c61355d932edac80ebc 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_arm.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_arm.png differ
index 80d3a787598716235737364785fdea7d1f1bd917..2511bc5252cf49dca57e63d2c0018ef1aa49cb1e 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_foot.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_foot.png differ
index d794c608bdafba81341f53d123f98b8e720e4c6d..98f8b376a81311c39e02b9cb18118f5529ffd35e 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_hand.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_hand.png differ
index 37417e28157c046d126fc7722ed3e20a533a73e2..45b1ae82e787cc52d3cb25c2919698f025a287a7 100644 (file)
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_leg.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/r_leg.png differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png
new file mode 100644 (file)
index 0000000..841d409
Binary files /dev/null and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_f.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_f.png
deleted file mode 100644 (file)
index 75bb51e..0000000
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_f.png and /dev/null differ
diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_m.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_m.png
deleted file mode 100644 (file)
index 75bb51e..0000000
Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso_m.png and /dev/null differ