@randsum/5e
Version:
A flexible, type-safe dice roller for building 5e-compatible applications
2 lines (1 loc) • 949 B
JavaScript
var f=require("node:module");var{defineProperty:n,getOwnPropertyNames:u,getOwnPropertyDescriptor:d}=Object,p=Object.prototype.hasOwnProperty;var i=new WeakMap,m=(e)=>{var t=i.get(e),r;if(t)return t;if(t=n({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")u(e).map((o)=>!p.call(t,o)&&n(t,o,{get:()=>e[o],enumerable:!(r=d(e,o))||r.enumerable}));return i.set(e,t),t};var g=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0,configurable:!0,set:(o)=>t[r]=()=>o})};var A={};g(A,{roll5e:()=>a,meetOrBeat5e:()=>s});module.exports=m(A);var l=require("@randsum/dice");function a({modifier:e,rollingWith:t}){let r={sides:20,quantity:c(t),modifiers:{...v(t),plus:e}};return l.roll(r)}function c(e){switch(e){case"Advantage":case"Disadvantage":return 2;default:return 1}}function v(e){switch(e){case"Advantage":return{drop:{lowest:1}};case"Disadvantage":return{drop:{highest:1}};default:return{}}}function s(e,t){return a(t).total>=e}