Einstein-Engines
Einstein-Engines copied to clipboard
Multi-Color Loadouts
Description
The single-color loadout customization has been awesome for character customization, but being able to customize several colors of a loadout item would absolutely open the floodgates for so much new clothing. We also need multi-color customization so we can customize the soles of shoes without coloring the rest of the shoe.
Potential Format:
For shoes that have two colorable parts, the sole and the tip:
# White Shoes
- type: entity
parent: ClothingShoesBaseButcherable
id: ClothingShoesColorColorable
# ...
components:
- type: Sprite
sprite: Clothing/Shoes/color.rsi
layers:
- state: icon
color: "#FFFFFF"
- state: soles-icon
- type: Item
inhandVisuals:
left:
- state: inhand-left
color: "#FFFFFF"
- state: soles-inhand-left
right:
- state: inhand-right
color: "#FFFFFF"
- state: soles-inhand-right
- type: Clothing
sprite: Clothing/Shoes/color.rsi
clothingVisuals:
shoes:
- state: equipped-FEET
color: "#FFFFFF"
- state: contrastedsoles-equipped-FEET
The loadout entry could look like this:
- type: loadout
id: LoadoutShoesColorable
category: Shoes
cost: 0
exclusive: true
colors:
- id: tip
layerStates:
- icon
inhandVisuals:
- inhand-left
- inhand-right
clothingVisual:
- equipped-FEET
- id: soles
layerStates:
- soles-icon
inhandVisuals:
- soles-inhand-left
- soles-inhand-right
clothingVisual:
- contrastedsoles-equipped-FEET
requirements:
- !type:CharacterItemGroupRequirement
group: LoadoutShoes
items:
- ClothingShoesColorColorable
Then for the names of the colors on the editor, their locale string can be set like this:
loadout-name-LoadoutShoesColorable-color-tip = Tip
loadout-name-LoadoutShoesColorable-color-soles = Soles
When transitioning from CustomColorTint to this, the saved tint can simply be applied to the first color entry in the definition.