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)