``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
105 lines
4.9 KiB
TypeScript
105 lines
4.9 KiB
TypeScript
import { useSelector } from "react-redux";
|
|
|
|
import {
|
|
RuleDataUtils as ruleDataUtils,
|
|
ruleDataSelectors as s,
|
|
} from "@dndbeyond/character-rules-engine";
|
|
|
|
/**
|
|
* A hook that provides access to the rule data state without having to
|
|
* import rules engine all over the place in your components. This reduces
|
|
* touchpoints to the rules engine and makes it easier to refactor the rules
|
|
* engine in the future.
|
|
*/
|
|
export const useRuleData = () => ({
|
|
// Export all data coming from the RuleData selectors
|
|
allData: useSelector(s.getAllData),
|
|
abilityScoreDisplayTypes: useSelector(s.getAbilityScoreDisplayTypes),
|
|
abilitySkills: useSelector(s.getAbilitySkills),
|
|
activationTypes: useSelector(s.getActivationTypes),
|
|
additionalLevelTypes: useSelector(s.getAdditionalLevelTypes),
|
|
adjustmentDataTypes: useSelector(s.getAdjustmentDataTypes),
|
|
adjustmentTypes: useSelector(s.getAdjustmentTypes),
|
|
alignments: useSelector(s.getAlignments),
|
|
aoeTypes: useSelector(s.getAoeTypes),
|
|
armor: useSelector(s.getArmor),
|
|
basicActions: useSelector(s.getBasicActions),
|
|
baseWeaponReach: useSelector(s.getBaseWeaponReach),
|
|
basicMaxStatScore: useSelector(s.getBasicMaxStatScore),
|
|
challengeRatings: useSelector(s.getChallengeRatings),
|
|
conditionTypes: useSelector(s.getConditionTypes),
|
|
conditions: useSelector(s.getConditions),
|
|
creatureGroupCategories: useSelector(s.getCreatureGroupCategories),
|
|
creatureGroupFlags: useSelector(s.getCreatureGroupFlags),
|
|
creatureGroups: useSelector(s.getCreatureGroups),
|
|
creatureSizes: useSelector(s.getCreatureSizes),
|
|
currencyData: useSelector(s.getCurrencyData),
|
|
damageAdjustments: useSelector(s.getDamageAdjustments),
|
|
damageTypes: useSelector(s.getDamageTypes),
|
|
defaultArmorImageUrl: useSelector(s.getDefaultArmorImageUrl),
|
|
defaultAttunedItemCountMax: useSelector(s.getDefaultAttunedItemCountMax),
|
|
defaultGearImageUrl: useSelector(s.getDefaultGearImageUrl),
|
|
defaultRacePortraitUrl: useSelector(s.getDefaultRacePortraitUrl),
|
|
defaultWeaponImageUrl: useSelector(s.getDefaultWeaponImageUrl),
|
|
diceValues: useSelector(s.getDiceValues),
|
|
environments: useSelector(s.getEnvironments),
|
|
initiativeScore: useSelector(s.getInitiativeScore),
|
|
languageTypeId: useSelector(s.getLanguageTypeId),
|
|
languages: useSelector(s.getLanguages),
|
|
levelExperiencePoints: useSelector(s.getLevelExperiencePoints),
|
|
levelProficiencyBonuses: useSelector(s.getLevelProficiencyBonuses),
|
|
lifestyles: useSelector(s.getLifestyles),
|
|
limitedUseResetTypes: useSelector(s.getLimitedUseResetTypes),
|
|
longRestMinHitDiceUsedRecovered: useSelector(
|
|
s.getLongRestMinimumHitDiceUsedRecovered
|
|
),
|
|
maxAttunedItemCountMax: useSelector(s.getMaxAttunedItemCountMax),
|
|
maxCharacterLevel: useSelector(s.getMaxCharacterLevel),
|
|
maxDeathsavesFail: useSelector(s.getMaxDeathsavesFail),
|
|
maxDeathsavesSuccess: useSelector(s.getMaxDeathsavesSuccess),
|
|
maxSpellLevel: useSelector(s.getMaxSpellLevel),
|
|
maxStatScore: useSelector(s.getMaxStatScore),
|
|
minAttunedItemCountMax: useSelector(s.getMinAttunedItemCountMax),
|
|
minStatScore: useSelector(s.getMinStatScore),
|
|
minimumHpTotal: useSelector(s.getMinimumHpTotal),
|
|
minimumLimitedUseMaxUse: useSelector(s.getMinimumLimitedUseMaxUse),
|
|
monsterSubTypes: useSelector(s.getMonsterSubTypes),
|
|
monsterTypes: useSelector(s.getMonsterTypes),
|
|
movements: useSelector(s.getMovements),
|
|
multiClassSpellSlots: useSelector(s.getMultiClassSpellSlots),
|
|
naturalActions: useSelector(s.getNaturalActions),
|
|
noArmorAcAmount: useSelector(s.getNoArmorAcAmount),
|
|
pactMagicMultiClassSpellSlots: useSelector(
|
|
s.getPactMagicMultiClassSpellSlots
|
|
),
|
|
privacyTypes: useSelector(s.getPrivacyTypes),
|
|
proficiencyGroups: useSelector(s.getProficiencyGroups),
|
|
raceGroups: useSelector(s.getRaceGroups),
|
|
rangeTypes: useSelector(s.getRangeTypes),
|
|
ritualCastingTimeMinuteAddition: useSelector(
|
|
s.getRitualCastingTimeMinuteAddition
|
|
),
|
|
rules: useSelector(s.getRules),
|
|
senses: useSelector(s.getSenses),
|
|
sharingTypes: useSelector(s.getSharingTypes),
|
|
sourceCategories: useSelector(s.getSourceCategories),
|
|
sources: useSelector(s.getSources),
|
|
spellComponents: useSelector(s.getSpellComponents),
|
|
spellConditionTypes: useSelector(s.getSpellConditionTypes),
|
|
spellRangeTypes: useSelector(s.getSpellRangeTypes),
|
|
statModifiers: useSelector(s.getStatModifiers),
|
|
stats: useSelector(s.getStats),
|
|
stealthCheckTypes: useSelector(s.getStealthCheckTypes),
|
|
stringMartialArts: useSelector(s.getStringMartialArts),
|
|
stringPactMagic: useSelector(s.getStringPactMagic),
|
|
stringSpellCasting: useSelector(s.getStringSpellCasting),
|
|
stringSpellEldritchBlast: useSelector(s.getStringSpellEldritchBlast),
|
|
weapons: useSelector(s.getWeapons),
|
|
weaponCategories: useSelector(s.getWeaponCategories),
|
|
weaponProperties: useSelector(s.getWeaponProperties),
|
|
weaponPropertyReachDistance: useSelector(s.getWeaponPropertyReachDistance),
|
|
|
|
// Export all utils from RuleDataUtils
|
|
ruleDataUtils,
|
|
});
|