New source found from dndbeyond.com
This commit is contained in:
@@ -17,6 +17,7 @@ import {
|
||||
Constants,
|
||||
Container,
|
||||
ContainerUtils,
|
||||
CoreUtils,
|
||||
DataOrigin,
|
||||
DiceUtils,
|
||||
EntityValueLookup,
|
||||
@@ -135,6 +136,19 @@ export class ItemDetail extends React.PureComponent<Props> {
|
||||
}
|
||||
};
|
||||
|
||||
handleReplaceAbilityStatChange = (
|
||||
enabled: boolean,
|
||||
statId: Constants.AbilityStatEnum
|
||||
) => {
|
||||
const { onCustomDataUpdate } = this.props;
|
||||
|
||||
const adjustmentType = CoreUtils.getAdjustmentTypeByStatId(statId);
|
||||
|
||||
if (onCustomDataUpdate && adjustmentType) {
|
||||
onCustomDataUpdate(adjustmentType, enabled);
|
||||
}
|
||||
};
|
||||
|
||||
handleHexWeaponChange = (enabled) => {
|
||||
const { onCustomDataUpdate } = this.props;
|
||||
|
||||
@@ -319,7 +333,7 @@ export class ItemDetail extends React.PureComponent<Props> {
|
||||
};
|
||||
|
||||
renderClassCustomize = () => {
|
||||
const { item } = this.props;
|
||||
const { item, ruleData } = this.props;
|
||||
|
||||
const isHexWeapon = ItemUtils.isHexWeapon(item);
|
||||
const canHexWeapon = ItemUtils.canHexWeapon(item);
|
||||
@@ -327,8 +341,16 @@ export class ItemDetail extends React.PureComponent<Props> {
|
||||
const canPactWeapon = ItemUtils.canPactWeapon(item);
|
||||
const canBeDedicatedWeapon = ItemUtils.canBeDedicatedWeapon(item);
|
||||
const isDedicatedWeapon = ItemUtils.isDedicatedWeapon(item);
|
||||
const replacementWeaponStats = ItemUtils.getReplacementWeaponStats(item);
|
||||
const appliedWeaponReplacementStats =
|
||||
ItemUtils.getAppliedWeaponReplacementStats(item);
|
||||
|
||||
if (!canHexWeapon && !canPactWeapon && !canBeDedicatedWeapon) {
|
||||
if (
|
||||
!canHexWeapon &&
|
||||
!canPactWeapon &&
|
||||
!canBeDedicatedWeapon &&
|
||||
replacementWeaponStats.length === 0
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -361,6 +383,21 @@ export class ItemDetail extends React.PureComponent<Props> {
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
{replacementWeaponStats.map((statId) => (
|
||||
<div className="ct-item-detail__class-customize-item" key={statId}>
|
||||
<Checkbox
|
||||
enabled={appliedWeaponReplacementStats.includes(statId)}
|
||||
onChange={(enabled) =>
|
||||
this.handleReplaceAbilityStatChange(enabled, statId)
|
||||
}
|
||||
label={`Use ${RuleDataUtils.getStatNameById(
|
||||
statId,
|
||||
ruleData,
|
||||
true
|
||||
)}`}
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user