Valores concretos dos atributos para um personagem ou item específico.
attributeProfile#
Atribui valores específicos dos atributos definidos em attributeDefinitions a um personagem, classe ou item.
Por que importa#
Definições dizem "existe HP, ATK, DEF". Perfis dizem "o Mago Sombrio tem HP=80, ATK=15, DEF=3". Sem perfis você precisaria copiar a estrutura de stats em cada página, e qualquer mudança na definição (renomear atk pra attack) quebraria tudo.
Onde costuma viver#
- Página de tipo
👤 Personagens(vem com perfil + xpBalance + progressionTable). - Páginas em branco quando você precisa de stats avulsos (ex.: NPC genérico, base de inimigo).
Singleton — 1 perfil por página. Pra múltiplos personagens, crie múltiplas páginas.
Schema#
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
idSim | string | ID interno do addon. | |
nameSim | string | Nome amigável (ex.: Mago Sombrio). | |
definitionsRef | string (sectionId) | Aponta pra seção que tem o addon attributeDefinitions. Define quais keys o perfil aceita. | |
valuesSim | AttributeProfileValueEntry[] | Lista de pares (attributeKey, value). |
AttributeProfileValueEntry#
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
idSim | string | ID interno. | |
attributeKeySim | string | Key existente em attributeDefinitions.attributes[].key. | |
valueSim | number | boolean | Valor concreto. Tipo deve bater com o valueType da definição. |
Exemplo#
Perfil de um personagem:
{
"id": "profile-mago",
"name": "Mago Sombrio",
"definitionsRef": "section-attrs-base",
"values": [
{ "id": "v1", "attributeKey": "hp", "value": 80 },
{ "id": "v2", "attributeKey": "atk", "value": 15 },
{ "id": "v3", "attributeKey": "def", "value": 3 }
]
}
A definitionsRef aponta pra seção que tem attributeDefinitions. O painel só permite escolher keys que existem lá — você não consegue colocar um valor pra atributo_inexistente por engano.
Validação cross-ref#
Se você renomear ou apagar uma key na attributeDefinitions, os perfis que usavam aquela key:
- ficam visíveis no painel com aviso de "key órfã"
- precisam ser corrigidos manualmente (escolher nova key ou remover)
- não quebram a renderização — o addon degrada graciosamente
Wizard#
A page type 👤 Personagens cria automaticamente:
- Este
attributeProfile(vazio, comdefinitionsRefpreenchido) - Um
xpBalance(curva de XP) - Um
progressionTable(valores por nível) - Um
attributeModifiers(efeitos específicos do personagem)
Todos vinculados à mesma attributeDefinitions que você escolheu no diálogo do wizard.