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