stats

@motioneffector/stats

A TypeScript library for RPG stat management with D&D 5e-style mechanics, dice rolling, and stat checks.

npm version license TypeScript

Features

Read the full manual →

Quick Start

import { createStatBlock, roll, check } from '@motioneffector/stats'

// Create a character with stats
const hero = createStatBlock({
  strength: { base: 16, min: 1, max: 20 },
  dexterity: { base: 14, min: 1, max: 20 },
  health: { base: 45, min: 0, max: 100 }
})

// Roll dice with full notation support
const damage = roll('2d6+3')  // { total: 11, rolls: [4, 4], modifier: 3 }

// Make a strength check with D&D 5e mechanics
const result = check(hero, 'strength', { difficulty: 15 })
// { success: true, roll: 14, modifier: 3, total: 17 }

Testing & Validation

License

MIT © motioneffector