Skin Tone Masks Property - Floogen/FashionSense GitHub Wiki
What are Skin Tone Masks?
Skin tone masks allow mod authors to specify a list of RGB colors to be replaced by the player's skin tone shades. This is useful in situations where you want the player's skin tone to show, such as with sleeves.
If the SkinToneMasks
property is excluded or left blank, then the no skin tones will be applied to the sprite.
Note: By default, Skin tone masks are affected by the player's appearance color choice. However this can be overridden by setting DisableSkinGrayscale
to true
.
Additional note: If the color given is not grayscale and DisableSkinGrayscale
is false
, then the skin tone overlay will be treated as additive. This means the resulting color will be a different hue compared to any grayscale counterpart.
Skin Tone Shades
Three colors can be given for the SkinToneMasks
property, one for each shade of the player's skin tone. Their names reflect which part of the player's skin tone they will use (i.e. LightTone
will replace the given color with the player's lightest skin tone).
The SkinToneMasks
looks like so:
"SkinToneMasks": {
"LightTone": [ 144, 144, 144 ],
"MediumTone": [ 121, 121, 121 ],
"DarkTone": [ 73, 73, 73 ]
}
Example Usage
Below is the Tentacles, found in the example pack.
{
"Name": "Tentacles",
"FrontSleeves": {
"ColorMasks": [
[ 56, 56, 56 ],
[ 114, 110, 100 ],
[ 212, 208, 197 ]
],
"UseShirtColors": true,
"DisableSkinGrayscale": true,
"SkinToneMasks": {
"LightTone": [ 144, 144, 144 ],
"MediumTone": [ 121, 121, 121 ],
"DarkTone": [ 73, 73, 73 ]
},
"StartingPosition": {
"X": 0,
"Y": 0
},
"BodyPosition": {
"X": 11,
"Y": -5
},
"SleevesSize": {
"Width": 48,
"Length": 32
}
}
}
Example sprite: