Compute modifiers using deterministic terms (#1758)

This commit is contained in:
Carlos Fernandez 2026-03-31 11:17:22 -04:00 committed by GitHub
parent 766c1742d7
commit 8f3f11f227
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 16 additions and 22 deletions

View file

@ -72,21 +72,6 @@ export default class DualityRoll extends D20Roll {
return this.dice.filter(x => ![DualityDie, AdvantageDie, DisadvantageDie].some(die => x instanceof die));
}
/* This isn't fullproof, but trying to cover parathetical situations is ridiculously complex */
get modifierTotal() {
let modifierTotal = 0;
for (let i = 0; i < this.terms.length; i++) {
if (
this.terms[i] instanceof foundry.dice.terms.NumericTerm &&
!!this.terms[i - 1] &&
this.terms[i - 1] instanceof foundry.dice.terms.OperatorTerm
)
modifierTotal += Number(`${this.terms[i - 1].operator}${this.terms[i].total}`);
}
return modifierTotal;
}
setRallyChoices() {
return this.data?.parent?.appliedEffects.reduce((a, c) => {
const change = c.system.changes.find(ch => ch.key === 'system.bonuses.rally');