# Outfits

Outfits são os outfits salvos de um jogador. Um outfit é composto por body shape, skin, hair, eyes e configurações de wearables.

### Pointers <a href="#pointers" id="pointers"></a>

Outfits [pointers](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) são o endereço Ethereum do proprietário com um "`:outfits`" sufixo. Por exemplo:

```
0x210c4415d6a71195af76beef9b85dd0eb43f35df:outfits
```

### Campos de Metadata

| Campo                | Valor                                                                                                                 |
| -------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `outfits`            | Um array de descrições para cada outfit (veja abaixo).                                                                |
| `namesForExtraSlots` | Um array de names possuídos usado para validar extra slots. Para cada name possuído, é concedido um slot extra até 5. |

### Outfits

Cada outfit em `metadata.outfits[]` representa um outfit do usuário, e possui uma série de propriedades:

| Campo    | Valor                           |
| -------- | ------------------------------- |
| `slot`   | Número do slot do outfit salvo. |
| `outfit` | O outfit salvo (veja abaixo).   |

Um exemplo:

```json
{
  "slot": 1,
  "outfit": {
    // Veja abaixo
  }
}
```

#### Campo do Outfit

O `metadata.outfits[].outfit` campo tem todas as informações para salvar o outfit de um jogador e renderizá-lo.

| Campo       | Valor                                                                                                                                                     |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bodyShape` | O [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) para a entidade body shape do avatar.                          |
| `eyes`      | Um objeto com um `color` na forma de um `{ r, g, b }` objeto para os olhos do avatar.                                                                     |
| `hair`      | Um objeto com um `color` na forma de um `{ r, g, b }` objeto para o hair do avatar.                                                                       |
| `skin`      | Um objeto com um `color` na forma de um `{ r, g, b }` objeto para o skin do avatar.                                                                       |
| `wearables` | Um array de [wearable pointers](https://github.com/decentraland/docs/blob/main/contributor/entity-types/wearables/README.md#pointers) em uso pelo avatar. |

Para ilustrar:

```json
{
  "bodyShape": "urn:decentraland:off-chain:base-avatars:BaseMale",
  "eyes": {
    "color": { "r": 0.37109375, "g": 0.22265625, "b": 0.1953125 }
  },
  "hair": {
    "color": { "r": 0.234375, "g": 0.12890625, "b": 0.04296875 }
  },
  "skin": {
    "color": { "r": 0.80078125, "g": 0.609375, "b": 0.46484375 }
  },
  "wearables": [
    "urn:decentraland:off-chain:base-avatars:eyes_00",
    "urn:decentraland:off-chain:base-avatars:eyebrows_00",
    "urn:decentraland:off-chain:base-avatars:mouth_00",
    "urn:decentraland:off-chain:base-avatars:m_mountainshoes.glb",
    "urn:decentraland:off-chain:base-avatars:sport_jacket",
    "urn:decentraland:off-chain:base-avatars:brown_pants",
    "urn:decentraland:off-chain:base-avatars:aviatorstyle",
    "urn:decentraland:off-chain:base-avatars:casual_hair_03",
    "urn:decentraland:off-chain:base-avatars:Mustache_Short_Beard"
  ]
}
```
