swrpg-dice-roller

A TypeScript library for simulating dice rolls in the Star Wars Role-Playing Game by Fantasy Flight Games.

swrpg-dice-roller

A TypeScript library for simulating dice rolls in the Star Wars Role-Playing Game by Fantasy Flight Games.

Installation

npm install swrpg-dice-roller

Usage

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
//     ]
// }

Dice Types

  • 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

Results Explanation

  • 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

License

ISC

Contributing

Feel free to submit issues and enhancement requests!