New source found from dndbeyond.com

This commit is contained in:
2026-07-08 01:00:09 -07:00
parent 9a983a6d7b
commit dcefa0d2f2
2865 changed files with 222467 additions and 49053 deletions
@@ -1,20 +1,18 @@
import { useContext } from "react";
import {
AbilityManager,
CharacterPreferences,
CharacterTheme,
Constants,
} from "@dndbeyond/character-rules-engine/es";
import { DiceTools, IRollContext, RollType } from "@dndbeyond/dice";
import { GameLogContext } from "@dndbeyond/game-log-components";
import { RollTypes } from "@dndbeyond/pocket-dimension-dice/constants";
import { RollContext } from "@dndbeyond/pocket-dimension-dice/types";
import { NumberDisplay } from "~/components/NumberDisplay";
import BoxBackground from "../BoxBackground";
import { DigitalDiceWrapper } from "../Dice";
import { DigitalDiceWrapperProps } from "../Dice/DigitalDiceWrapper/DigitalDiceWrapper";
import AbilityScoreBoxSvg from "../Svg/boxes/AbilityScoreBoxSvg";
import { isNotNullOrUndefined } from "../utils/TypeScriptUtils";
interface Props {
className?: string;
@@ -23,7 +21,7 @@ interface Props {
theme: CharacterTheme;
onClick?: (ability: AbilityManager) => void;
diceEnabled?: boolean;
rollContext: IRollContext;
rollContext: RollContext;
}
export default function AbilitySummary({
className = "",
@@ -44,9 +42,6 @@ export default function AbilitySummary({
}
};
const [{ messageTargetOptions, defaultMessageTargetOption, userId }] =
useContext(GameLogContext);
let classNames: Array<string> = [className, "ddbc-ability-summary"];
let primaryNode: React.ReactNode;
@@ -55,23 +50,25 @@ export default function AbilitySummary({
const abilityStatKey = isManager ? ability.getStatKey() : 0;
const abilityLabel = isManager ? ability.getLabel() : ability.name;
const abilityName = isManager ? ability.getName() : ability.name;
const abilityModifier = isManager ? ability.getModifier() : ability.modifier;
const abilityModifier = Number(
isManager ? ability.getModifier() ?? 0 : ability.modifier
);
const abilityTotalScore = isManager ? ability.getTotalScore() : ability.score;
const diceWrapperProps = {
rollType: RollType.Check,
rollAction: abilityName,
diceEnabled: diceEnabled,
diceNotation: DiceTools.CustomD20(abilityModifier ?? 0),
themeColor: theme.themeColor,
rollContext: rollContext,
rollTargetOptions: !!messageTargetOptions?.entities
? Object.values(messageTargetOptions.entities).filter(
isNotNullOrUndefined
)
: undefined,
rollTargetDefault :defaultMessageTargetOption,
userId: Number(userId),
const diceWrapperProps: DigitalDiceWrapperProps = {
rollType: RollTypes.Check,
action: abilityName,
isDiceEnabled: diceEnabled,
diceNotation: `1d20${
abilityModifier > 0
? `+${abilityModifier}`
: abilityModifier !== 0
? abilityModifier
: ""
}`,
entityId: String(rollContext.entityId),
entityType: String(rollContext.entityType),
name: String(rollContext.name),
};
if (
@@ -79,9 +76,7 @@ export default function AbilitySummary({
Constants.PreferenceAbilityScoreDisplayTypeEnum.SCORES_TOP
) {
primaryNode = (
<DigitalDiceWrapper
{...diceWrapperProps}
>
<DigitalDiceWrapper {...diceWrapperProps}>
{abilityTotalScore}
</DigitalDiceWrapper>
);
@@ -96,14 +91,8 @@ export default function AbilitySummary({
primaryNode = "--";
} else {
primaryNode = (
<DigitalDiceWrapper
{...diceWrapperProps}
>
<NumberDisplay
number={abilityModifier}
type="signed"
size="large"
/>
<DigitalDiceWrapper {...diceWrapperProps}>
<NumberDisplay number={abilityModifier} type="signed" size="large" />
</DigitalDiceWrapper>
);
}