UNPKG

@randsum/root-rpg

Version:

A flexible, type-safe dice roller for the Root RPG system

11 lines 1.72 kB
{ "version": 3, "sources": ["../src/rollRootRpg/index.ts", "../src/rollRootRpg/interpretResult.ts"], "sourcesContent": [ "import type { RollResult } from '@randsum/roller'\nimport { roll } from '@randsum/roller'\nimport type { RootRpgRollResult } from '../types'\nimport { interpretResult } from './interpretResult'\n\nexport function rollRootRpg(bonus: number): RollResult<RootRpgRollResult> {\n if (!Number.isFinite(bonus)) {\n throw new Error(`Root RPG bonus must be a finite number, received: ${bonus}`)\n }\n\n if (bonus < -20 || bonus > 20) {\n throw new Error(`Root RPG bonus is outside reasonable range (-20 to +20), received: ${bonus}`)\n }\n\n const rollResult = roll({\n quantity: 2,\n sides: 6,\n modifiers: { plus: bonus }\n })\n\n return {\n ...rollResult,\n result: {\n hit: interpretResult(rollResult.total),\n total: rollResult.total\n }\n }\n}\n", "import type { RootRpgResult } from '../types'\n\nexport function interpretResult(result: number): RootRpgResult {\n switch (true) {\n case result >= 10:\n return 'Strong Hit'\n case result >= 7 && result <= 9:\n return 'Weak Hit'\n default:\n return 'Miss'\n }\n}\n" ], "mappings": "4hBACqB,IAArB,6BCCO,SAAS,CAAe,CAAC,EAA+B,CAC7D,OAAQ,SACD,GAAU,GACb,MAAO,kBACJ,GAAU,GAAK,GAAU,GAC5B,MAAO,mBAEP,MAAO,QDJN,SAAS,CAAW,CAAC,EAA8C,CACxE,IAAK,OAAO,SAAS,CAAK,EACxB,MAAM,IAAI,MAAM,qDAAqD,GAAO,EAG9E,GAAI,EAAQ,KAAO,EAAQ,GACzB,MAAM,IAAI,MAAM,sEAAsE,GAAO,EAG/F,IAAM,EAAa,OAAK,CACtB,SAAU,EACV,MAAO,EACP,UAAW,CAAE,KAAM,CAAM,CAC3B,CAAC,EAED,MAAO,IACF,EACH,OAAQ,CACN,IAAK,EAAgB,EAAW,KAAK,EACrC,MAAO,EAAW,KACpB,CACF", "debugId": "8B881FB7C5BE41A764756E2164756E21", "names": [] }