diff options
Diffstat (limited to 'src/dice.js')
-rw-r--r-- | src/dice.js | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/dice.js b/src/dice.js index 58467c4..6f3b7da 100644 --- a/src/dice.js +++ b/src/dice.js @@ -41,6 +41,23 @@ const subtract = (die1, die2) => { } } +const bonusAdd = (die1, die2) => { + return () => { + return die1().map(die => { + return () => die() + roll(die2) + }) + } +} + +const bonusSubtract = (die1, die2) => { + const negative2 = negative(die2) + return () => { + return die1().map(die => { + return () => die() + roll(negative2) + }) + } +} + const explode = (die1, die2) => { return () => { const explodeOn = roll(die1) @@ -94,32 +111,15 @@ const keepLow = (die1, die2) => { } } -const bonusAdd = (die1, die2) => { - return () => { - return die1().map(die => { - return () => die() + roll(die2) - }) - } -} - -const bonusSubtract = (die1, die2) => { - const negative2 = negative(die2) - return () => { - return die1().map(die => { - return () => die() + roll(negative2) - }) - } -} - exports.pool = pool exports.roll = roll exports.constant = constant exports.d = d exports.add = add exports.subtract = subtract +exports.bonusAdd = bonusAdd +exports.bonusSubtract = bonusSubtract exports.negative = negative exports.explode = explode exports.keepHigh = keepHigh exports.keepLow = keepLow -exports.bonusAdd = bonusAdd -exports.bonusSubtract = bonusSubtract |