Lista canônica de atributos do jogo (HP, ATK, DEF...) que outras páginas referenciam.
attributeDefinitions#
Define os atributos do jogo numa lista única que vira fonte da verdade pra todas as outras páginas que mexem com stats.
Por que importa#
Sem este addon, cada página de personagem inventa seus próprios stats — e em 6 meses você tem 4 versões de "ataque" (atk, attack, dmg, Attack). Aqui você define uma vez que existe hp, atk, def, e tudo no projeto referencia essas chaves.
Onde costuma viver#
- Página de tipo
🎯 Atributos. Esse é o caminho mais comum. - Páginas em branco (criadas manualmente) também aceitam o addon.
Geralmente você tem uma só página de atributos no projeto inteiro. Múltiplos perfis (combate, social, mágico) também são possíveis se você precisar separar conjuntos.
Schema#
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
idSim | string | ID interno do addon (auto-gerado). | |
nameSim | string | Nome amigável do addon (default: Definições de Atributos). | |
attributesSim | AttributeDefinitionEntry[] | Lista de atributos. Cada entry é um stat. |
AttributeDefinitionEntry#
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
idSim | string | ID interno da entry. | |
keySim | string | Chave técnica em snake_case (ex.: hp, max_mana). É essa chave que outras páginas referenciam. | |
labelSim | string | Nome amigável que aparece na UI (ex.: HP, Mana Máxima). | |
valueTypeSim | "int" | "float" | "percent" | "boolean" | Tipo do valor. Define o tipo de input no painel e a normalização. | |
defaultValueSim | number | boolean | Valor padrão quando um perfil não sobrescreve. | |
min | number | Valor mínimo aceitável (opcional). Útil pra HP que nunca pode ser negativo. | |
max | number | Valor máximo (opcional). Útil pra %s entre 0–100. | |
unit | string | Sufixo visual (ex.: s pra segundos, % pra porcento). Não afeta o valor exportado. |
Exemplo#
Um perfil clássico de RPG:
{
"id": "attr-defs-1",
"name": "Atributos Base",
"attributes": [
{ "id": "1", "key": "hp", "label": "HP", "valueType": "int", "defaultValue": 100, "min": 0 },
{ "id": "2", "key": "atk", "label": "ATK", "valueType": "int", "defaultValue": 10, "min": 0 },
{ "id": "3", "key": "def", "label": "DEF", "valueType": "int", "defaultValue": 5, "min": 0 },
{ "id": "4", "key": "spd", "label": "SPD", "valueType": "int", "defaultValue": 5, "min": 0 }
]
}
Quem aponta pra este addon#
Quase todos os addons "atribute-aware" referenciam um attributeDefinitions via campo definitionsRef:
attributeProfile.definitionsRef— define quais keys o perfil pode preencherattributeModifiers.definitionsRef— define quais keys o modifier pode alterarprogressionTable(quando usado pra escalar atributos) — referencia indiretamenteskills.SkillCost.definitionsRef(quando o custo é tipoattribute) — qual perfil define a key
Wizard#
A page type 🎯 Atributos cria este addon pré-populado com 4 atributos comuns (HP, ATK, DEF, SPD). Você pode aceitar, remover ou adicionar outros no momento da criação via slot picker. Personalizações:
- Slots padrão: checkboxes pra ligar/desligar HP/ATK/DEF/SPD
- Slots customizados: até N campos extras com
key+label+valueType
Tudo isso vira a attributes[] da entry final.