diff --git a/Content.Shared/Humanoid/HumanoidCharacterAppearance.cs b/Content.Shared/Humanoid/HumanoidCharacterAppearance.cs index fc44ed5e3b9..8c1ecf833cd 100644 --- a/Content.Shared/Humanoid/HumanoidCharacterAppearance.cs +++ b/Content.Shared/Humanoid/HumanoidCharacterAppearance.cs @@ -27,7 +27,7 @@ public sealed partial class HumanoidCharacterAppearance : ICharacterAppearance, public Color EyeColor { get; private set; } [DataField] - public Color SkinColor { get; private set; } + public Color SkinColor { get; set; } [DataField] public List Markings { get; private set; } = new(); diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index 499da11babc..de009eb20cd 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -191,9 +191,19 @@ public HumanoidCharacterProfile() /// Humanoid character profile with default settings. public static HumanoidCharacterProfile DefaultWithSpecies(string species = SharedHumanoidAppearanceSystem.DefaultSpecies) { + var prototypeManager = IoCManager.Resolve(); + var skinColor = SkinColor.ValidHumanSkinTone; + + if (prototypeManager.TryIndex(species, out var speciesPrototype)) + skinColor = speciesPrototype.DefaultSkinTone; + return new() { Species = species, + Appearance = new() + { + SkinColor = skinColor, + }, }; } diff --git a/Resources/Prototypes/DeltaV/Species/lamia.yml b/Resources/Prototypes/DeltaV/Species/lamia.yml index 2e58a1681c2..0c2f48666a4 100644 --- a/Resources/Prototypes/DeltaV/Species/lamia.yml +++ b/Resources/Prototypes/DeltaV/Species/lamia.yml @@ -5,6 +5,7 @@ prototype: MobLamia dollPrototype: MobLamiaDummy sprites: MobLamiaSprites + defaultSkinTone: "#c0967f" markingLimits: MobLamiaMarkingLimits skinColoration: HumanToned maleFirstNames: names_cyno_male diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml index 9cf6cff45e4..5247ed351b6 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml @@ -9,7 +9,6 @@ scale: 0.8, 0.8 - type: HumanoidAppearance species: Felinid - initial: Felinid - type: Fixtures fixtures: # TODO: This needs a second fixture just for mob collisions. fix1: diff --git a/Resources/Prototypes/Nyanotrasen/Species/Oni.yml b/Resources/Prototypes/Nyanotrasen/Species/Oni.yml index 79d7e2b86f8..f4312009154 100644 --- a/Resources/Prototypes/Nyanotrasen/Species/Oni.yml +++ b/Resources/Prototypes/Nyanotrasen/Species/Oni.yml @@ -6,6 +6,7 @@ dollPrototype: MobOniDummy markingLimits: MobOniMarkingLimits sprites: MobHumanSprites + defaultSkinTone: "#ab5150" skinColoration: Hues maleFirstNames: names_oni_male femaleFirstNames: names_oni_female diff --git a/Resources/Prototypes/Nyanotrasen/Species/felinid.yml b/Resources/Prototypes/Nyanotrasen/Species/felinid.yml index ad92ea8046f..2bb8d02c471 100644 --- a/Resources/Prototypes/Nyanotrasen/Species/felinid.yml +++ b/Resources/Prototypes/Nyanotrasen/Species/felinid.yml @@ -4,6 +4,7 @@ roundStart: true prototype: MobFelinid sprites: MobHumanSprites + defaultSkinTone: "#c0967f" markingLimits: MobFelinidMarkingLimits dollPrototype: MobFelinidDummy skinColoration: HumanToned diff --git a/Resources/Prototypes/Species/arachne.yml b/Resources/Prototypes/Species/arachne.yml index fff75454fcb..1a80cb43590 100644 --- a/Resources/Prototypes/Species/arachne.yml +++ b/Resources/Prototypes/Species/arachne.yml @@ -4,6 +4,7 @@ roundStart: true # I'll kill these issues somehow. prototype: MobArachne sprites: MobArachneSprites + defaultSkinTone: "#c0967f" markingLimits: MobArachneMarkingLimits dollPrototype: MobArachneDummy skinColoration: HumanToned diff --git a/Resources/Prototypes/Species/dwarf.yml b/Resources/Prototypes/Species/dwarf.yml index d32f1e6476a..f501884e99b 100644 --- a/Resources/Prototypes/Species/dwarf.yml +++ b/Resources/Prototypes/Species/dwarf.yml @@ -4,6 +4,7 @@ roundStart: false # DeltaV - Disable dwarf prototype: MobDwarf sprites: MobHumanSprites + defaultSkinTone: "#c0967f" markingLimits: MobHumanMarkingLimits dollPrototype: MobDwarfDummy skinColoration: HumanToned diff --git a/Resources/Prototypes/Species/harpy.yml b/Resources/Prototypes/Species/harpy.yml index 1b61ebdd76f..da23fb2a01d 100644 --- a/Resources/Prototypes/Species/harpy.yml +++ b/Resources/Prototypes/Species/harpy.yml @@ -4,6 +4,7 @@ roundStart: true prototype: MobHarpy sprites: MobHarpySprites + defaultSkinTone: "#c0967f" markingLimits: MobHarpyMarkingLimits dollPrototype: MobHarpyDummy skinColoration: HumanToned diff --git a/Resources/Prototypes/Species/human.yml b/Resources/Prototypes/Species/human.yml index cc304a6eeb1..9c5083de23b 100644 --- a/Resources/Prototypes/Species/human.yml +++ b/Resources/Prototypes/Species/human.yml @@ -4,6 +4,7 @@ roundStart: true prototype: MobHuman sprites: MobHumanSprites + defaultSkinTone: "#c0967f" markingLimits: MobHumanMarkingLimits dollPrototype: MobHumanDummy skinColoration: HumanToned diff --git a/Resources/Prototypes/Species/ipc.yml b/Resources/Prototypes/Species/ipc.yml index 6c3a8266940..c4361d65f36 100644 --- a/Resources/Prototypes/Species/ipc.yml +++ b/Resources/Prototypes/Species/ipc.yml @@ -4,6 +4,7 @@ roundStart: true prototype: MobIPC sprites: MobIPCSprites + defaultSkinTone: "#aaa9ad" markingLimits: MobIPCMarkingLimits dollPrototype: MobIPCDummy skinColoration: Hues