Grabbed dndbeyond's source code
``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
export const DICE_ROLL_KEY_CONCEPT_SEPARATOR = '__';
|
||||
export const DICE_ROLL_KEY_DATA_SEPARATOR = '--';
|
||||
export var DiceRollExcludeTypeEnum;
|
||||
(function (DiceRollExcludeTypeEnum) {
|
||||
DiceRollExcludeTypeEnum[DiceRollExcludeTypeEnum["ALL"] = 1] = "ALL";
|
||||
DiceRollExcludeTypeEnum[DiceRollExcludeTypeEnum["NONE"] = 2] = "NONE";
|
||||
})(DiceRollExcludeTypeEnum || (DiceRollExcludeTypeEnum = {}));
|
||||
@@ -0,0 +1,36 @@
|
||||
import { DICE_ROLL_KEY_CONCEPT_SEPARATOR, DICE_ROLL_KEY_DATA_SEPARATOR } from './constants';
|
||||
/**
|
||||
*
|
||||
* @param conceptString
|
||||
* @param dataKey
|
||||
*/
|
||||
export function generateComponentKey(conceptString, dataKey) {
|
||||
return [conceptString, dataKey].join(DICE_ROLL_KEY_CONCEPT_SEPARATOR);
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param dataKeyInfos
|
||||
*/
|
||||
export function generateComponentKeyDataKey(dataKeyInfos) {
|
||||
return dataKeyInfos.map(generateComponentKeyDataInfoKey).join(DICE_ROLL_KEY_DATA_SEPARATOR);
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param dataKeyInfo
|
||||
*/
|
||||
export function generateComponentKeyDataInfoKey(dataKeyInfo) {
|
||||
return [dataKeyInfo.key, dataKeyInfo.value].join(DICE_ROLL_KEY_DATA_SEPARATOR);
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param abilityScoreType
|
||||
*/
|
||||
export function generateAbilityManagerKey(abilityScoreType) {
|
||||
const dataStrings = [
|
||||
{
|
||||
key: 'Type',
|
||||
value: abilityScoreType.toString(),
|
||||
},
|
||||
];
|
||||
return generateComponentKey('AbilityManager', generateComponentKeyDataKey(dataStrings));
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import { HelperUtils } from '../engine/Helper';
|
||||
/**
|
||||
*
|
||||
* @param rollGroupContractProps
|
||||
* @param simulatedRollResultCount
|
||||
*/
|
||||
export function simulateRollGroupContract(rollGroupContractProps, simulatedRollResultCount = 0) {
|
||||
var _a;
|
||||
let rollResults = [];
|
||||
let lastRoll = null;
|
||||
for (let i = 0; i < simulatedRollResultCount; i++) {
|
||||
const rollResultContract = simulateRollResultContract({
|
||||
nextRollKey: (_a = lastRoll === null || lastRoll === void 0 ? void 0 : lastRoll.rollKey) !== null && _a !== void 0 ? _a : null,
|
||||
});
|
||||
rollResults.push(rollResultContract);
|
||||
lastRoll = rollResultContract;
|
||||
}
|
||||
return Object.assign({ groupKey: HelperUtils.generateGuid(), nextGroupKey: null, rollResults }, rollGroupContractProps);
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param rollResultContractProps
|
||||
*/
|
||||
export function simulateRollResultContract(rollResultContractProps) {
|
||||
return Object.assign({ rollKey: HelperUtils.generateGuid(), nextRollKey: null, rollTotal: null, rollValues: [], assignedValue: null }, rollResultContractProps);
|
||||
}
|
||||
Reference in New Issue
Block a user