New source found from dndbeyond.com
This commit is contained in:
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user