@randsum/5e
Version:
A flexible, type-safe dice roller for building 5e-compatible applications
5 lines (3 loc) • 3.14 kB
JavaScript
import{roll as n}from"@randsum/dice";function r({modifier:e,rollingWith:t}){let o={sides:20,quantity:a(t),modifiers:{...i(t),plus:e}};return n(o)}function a(e){switch(e){case"Advantage":case"Disadvantage":return 2;default:return 1}}function i(e){switch(e){case"Advantage":return{drop:{lowest:1}};case"Disadvantage":return{drop:{highest:1}};default:return{drop:{}}}}function l(e,t){return r(t).total>=e}export{r as roll5e,l as meetOrBeat5e};
//# debugId=D07C87ED8F6C5F7764756E2164756E21
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JvbGw1ZS50cyIsICIuLi9zcmMvbWVldE9yQmVhdDVlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7XG4gIHR5cGUgTW9kaWZpZXJPcHRpb25zLFxuICB0eXBlIE51bWVyaWNSb2xsT3B0aW9ucyxcbiAgdHlwZSBOdW1lcmljUm9sbFJlc3VsdCxcbiAgcm9sbFxufSBmcm9tICdAcmFuZHN1bS9kaWNlJ1xuaW1wb3J0IHR5cGUgeyBBZHZhbnRhZ2VEaXNhZHZhbnRhZ2U1ZSwgUm9sbEFyZ3VtZW50NWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gcm9sbDVlKHtcbiAgbW9kaWZpZXIsXG4gIHJvbGxpbmdXaXRoXG59OiBSb2xsQXJndW1lbnQ1ZSk6IE51bWVyaWNSb2xsUmVzdWx0IHtcbiAgY29uc3Qgcm9sbEFyZzogTnVtZXJpY1JvbGxPcHRpb25zID0ge1xuICAgIHNpZGVzOiAyMCxcbiAgICBxdWFudGl0eTogZ2VuZXJhdGVRdWFudGl0eShyb2xsaW5nV2l0aCksXG4gICAgbW9kaWZpZXJzOiB7IC4uLmdlbmVyYXRlTW9kaWZpZXJzKHJvbGxpbmdXaXRoKSwgcGx1czogbW9kaWZpZXIgfVxuICB9XG4gIHJldHVybiByb2xsKHJvbGxBcmcpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlUXVhbnRpdHkocm9sbGluZ1dpdGg/OiBBZHZhbnRhZ2VEaXNhZHZhbnRhZ2U1ZSk6IDEgfCAyIHtcbiAgc3dpdGNoIChyb2xsaW5nV2l0aCkge1xuICAgIGNhc2UgJ0FkdmFudGFnZSc6XG4gICAgY2FzZSAnRGlzYWR2YW50YWdlJzpcbiAgICAgIHJldHVybiAyXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAxXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVNb2RpZmllcnMoXG4gIHJvbGxpbmdXaXRoOiBBZHZhbnRhZ2VEaXNhZHZhbnRhZ2U1ZSB8IHVuZGVmaW5lZFxuKTogUGljazxNb2RpZmllck9wdGlvbnMsICdkcm9wJz4ge1xuICBzd2l0Y2ggKHJvbGxpbmdXaXRoKSB7XG4gICAgY2FzZSAnQWR2YW50YWdlJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRyb3A6IHsgbG93ZXN0OiAxIH1cbiAgICAgIH1cbiAgICBjYXNlICdEaXNhZHZhbnRhZ2UnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZHJvcDogeyBoaWdoZXN0OiAxIH1cbiAgICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHsgZHJvcDoge30gfVxuICB9XG59XG4iLAogICAgImltcG9ydCB7IHJvbGw1ZSB9IGZyb20gJy4vcm9sbDVlJ1xuaW1wb3J0IHR5cGUgeyBSb2xsQXJndW1lbnQ1ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBmdW5jdGlvbiBtZWV0T3JCZWF0NWUoXG4gIGRpZmZpY3VsdHlDbGFzczogbnVtYmVyLFxuICByb2xsQXJnOiBSb2xsQXJndW1lbnQ1ZVxuKTogYm9vbGVhbiB7XG4gIHJldHVybiByb2xsNWUocm9sbEFyZykudG90YWwgPj0gZGlmZmljdWx0eUNsYXNzXG59XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiQUFBQSxlQUlFLHNCQUlLLFNBQVMsQ0FBTSxFQUNwQixXQUNBLGVBQ29DLENBQ3BDLElBQU0sRUFBOEIsQ0FDbEMsTUFBTyxHQUNQLFNBQVUsRUFBaUIsQ0FBVyxFQUN0QyxVQUFXLElBQUssRUFBa0IsQ0FBVyxFQUFHLEtBQU0sQ0FBUyxDQUNqRSxFQUNBLE9BQU8sRUFBSyxDQUFPLEVBR3JCLFNBQVMsQ0FBZ0IsQ0FBQyxFQUE4QyxDQUN0RSxPQUFRLE9BQ0QsZ0JBQ0EsZUFDSCxNQUFPLFdBRVAsTUFBTyxJQUliLFNBQVMsQ0FBaUIsQ0FDeEIsRUFDK0IsQ0FDL0IsT0FBUSxPQUNELFlBQ0gsTUFBTyxDQUNMLEtBQU0sQ0FBRSxPQUFRLENBQUUsQ0FDcEIsTUFDRyxlQUNILE1BQU8sQ0FDTCxLQUFNLENBQUUsUUFBUyxDQUFFLENBQ3JCLFVBRUEsTUFBTyxDQUFFLEtBQU0sQ0FBQyxDQUFFLEdDeENqQixTQUFTLENBQVksQ0FDMUIsRUFDQSxFQUNTLENBQ1QsT0FBTyxFQUFPLENBQU8sRUFBRSxPQUFTIiwKICAiZGVidWdJZCI6ICJEMDdDODdFRDhGNkM1Rjc3NjQ3NTZFMjE2NDc1NkUyMSIsCiAgIm5hbWVzIjogW10KfQ==