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,4 +1,5 @@
import * as React from "react";
import {
Action,
ActionUtils,
@@ -10,16 +11,17 @@ import {
SpellUtils,
} from "@dndbeyond/character-rules-engine/es";
import { AttackSourceTypeEnum } from "@dndbeyond/character-rules-engine/es/engine/Character";
import {
DiceTools,
RollType,
RollRequest,
IRollContext,
} from "@dndbeyond/dice";
import { GameLogContext } from "@dndbeyond/game-log-components";
import { DiceComponentUtils } from "../utils";
import { RollTypes } from "@dndbeyond/pocket-dimension-dice/constants";
import {
RollContext,
RollDicePayload,
} from "@dndbeyond/pocket-dimension-dice/types";
import { NumberDisplay } from "~/components/NumberDisplay";
import { DigitalDiceWrapper } from "../Dice";
import { DiceComponentUtils } from "../utils";
interface Props {
attack: Attack;
@@ -36,7 +38,7 @@ interface Props {
damage: React.ReactNode;
notes?: React.ReactNode;
theme: CharacterTheme;
rollContext: IRollContext;
rollContext: RollContext;
onClick?: (attack: Attack) => void;
showNotes: boolean;
@@ -65,7 +67,7 @@ class CombatAttack extends React.PureComponent<Props, {}> {
}
};
handleRollResults = (result: RollRequest) => {
handleRollResults = (result: RollDicePayload["data"]) => {
const { onRoll } = this.props;
let wasCrit = DiceComponentUtils.isCriticalRoll(result);
@@ -94,9 +96,6 @@ class CombatAttack extends React.PureComponent<Props, {}> {
rollContext,
} = this.props;
const [{ messageTargetOptions, defaultMessageTargetOption, userId }] =
this.context;
let actionNode: React.ReactNode = null;
if (toHit !== null) {
let rollAction: string;
@@ -116,26 +115,18 @@ class CombatAttack extends React.PureComponent<Props, {}> {
actionNode = (
<div className="ddbc-combat-attack__tohit">
<DigitalDiceWrapper
diceNotation={DiceTools.CustomD20(toHit)}
rollType={RollType.ToHit}
rollAction={rollAction}
diceEnabled={diceEnabled}
onRollResults={this.handleRollResults}
themeColor={theme.themeColor}
rollContext={rollContext}
rollTargetOptions={
messageTargetOptions
? Object.values(messageTargetOptions?.entities)
: undefined
}
rollTargetDefault={defaultMessageTargetOption}
userId={userId}
diceNotation={`1d20${
toHit > 0 ? `+${toHit}` : toHit !== 0 ? toHit : ""
}`}
rollType={RollTypes.ToHit}
action={rollAction}
isDiceEnabled={diceEnabled}
rollCallback={this.handleRollResults}
entityId={String(rollContext.entityId)}
entityType={String(rollContext.entityType)}
name={String(rollContext.name)}
>
<NumberDisplay
number={toHit}
type="signed"
isModified={false}
/>
<NumberDisplay number={toHit} type="signed" isModified={false} />
</DigitalDiceWrapper>
</div>
);