Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-Color Loadouts #1468

Open
angelofallars opened this issue Jan 8, 2025 · 0 comments
Open

Multi-Color Loadouts #1468

angelofallars opened this issue Jan 8, 2025 · 0 comments
Labels
Type: Feature Creation of or significant changes to a feature

Comments

@angelofallars
Copy link
Member

angelofallars commented Jan 8, 2025

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.

@angelofallars angelofallars added the Type: Feature Creation of or significant changes to a feature label Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature Creation of or significant changes to a feature
Projects
None yet
Development

No branches or pull requests

1 participant