npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

swrpg-dice-roller

v3.0.0

Published

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

Downloads

273

Readme

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!