swrpg-dice-roller
A TypeScript library for simulating dice rolls in the Star Wars Role-Playing Game by Fantasy Flight Games.
A TypeScript library for simulating dice rolls in the Star Wars Role-Playing Game by Fantasy Flight Games.
npm install swrpg-dice-roller
import { DiceRoller, DicePool } from 'swrpg-dice-roller';
// Create a dice pool with the desired dice
const pool: DicePool = {
proficiencyDice: 2, // Yellow d12
abilityDice: 1, // Green d8
difficultyDice: 2, // Purple d8
boostDice: 1, // Blue d6
setBackDice: 1, // Black d6
challengeDice: 1 // Red d12
};
// Create a roller instance
const roller = new DiceRoller();
// Roll the dice and get results
const results = roller.roll(pool);
console.log(results);
// Example output:
// {
// successes: 2,
// failures: 1,
// advantages: 1,
// threats: 0,
// triumphs: 1,
// despair: 0,
// diceResults: [
// {
// dieType: 'proficiency',
// roll: 12,
// effects: { triumphs: 1 }
// },
// {
// dieType: 'ability',
// roll: 7,
// effects: { successes: 1, advantages: 1 }
// },
// // ... more individual die results
// ]
// }
- Boost Dice (Blue d6): Basic positive dice
- Ability Dice (Green d8): Skill-based positive dice
- Proficiency Dice (Yellow d12): Expertise-based positive dice
- Setback Dice (Black d6): Basic negative dice
- Difficulty Dice (Purple d8): Challenge-based negative dice
- Challenge Dice (Red d12): Advanced negative dice
- Successes: Total number of successful results
- Failures: Total number of failure results
- Advantages: Total number of advantage results
- Threats: Total number of threat results
- Triumphs: Total number of triumph results (counts as a success)
- Despair: Total number of despair results (counts as a failure)
-
diceResults: Detailed breakdown of each individual die roll, including:
- dieType: The type of die rolled
- roll: The actual number rolled on the die
- effects: The specific effects produced by this roll
ISC
Feel free to submit issues and enhancement requests!