Assimilação

Pool d6/d10/d12, símbolos e seleção manual dos resultados.

Notação e pool

assim(d6,d10,d12,keep?) recebe quantidades inteiras não negativas, com pelo menos um dado no total. keep assume 1 e não pode superar o total. A forma nomeada é assim(d6=2,d10=1,d12=1,keep=2); AS é alias. A rolagem não escolhe dados automaticamente.

assim(2,1,1,2)
assim(d6=2,d10=1,d12=1,keep=2)
AS(2,1,1,1)

Faces simbólicas

d6 usa faces 1–6, d10 usa 1–10 e d12 usa 1–12. Cada dado tem profileId próprio, faceKey e a lista symbols.

Face Símbolos
1–2 nenhum
3–4 pressure
5 adaptation, pressure
6 success
7 dois success
8 success, adaptation
9 success, adaptation, pressure
10 dois success, pressure
11 success, duas adaptation, pressure
12 duas pressure

Seleção explícita

Use evaluateAssimilationSelection(roll, selectedIds) com até keep IDs de roll.dice. O retorno preserva a ordem escolhida e totaliza success, adaptation e pressure. IDs desconhecidos, repetidos ou em excesso geram INVALID_SYSTEM_INPUT.

import { rollAssimilation, evaluateAssimilationSelection } from '@erpg/dicecore/systems/assimilation'
const roll = rollAssimilation({ d6: 2, d10: 1, d12: 1, keep: 2 })
const selected = evaluateAssimilationSelection(roll, [roll.dice[0].id, roll.dice[3].id])
console.log(selected.success, selected.adaptation, selected.pressure)

Teste os exemplos

Testar assim(2,1,1,2) · Testar assim(d6=2,d10=1,d12=1,keep=2)