mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
Creating a shared method called isItemAvailable and using it in downtime
This commit is contained in:
parent
12d6b7fa4c
commit
459f87f24c
4 changed files with 46 additions and 40 deletions
|
|
@ -194,29 +194,12 @@ export default class DhActiveEffect extends foundry.documents.ActiveEffect {
|
|||
}
|
||||
|
||||
prepareDerivedData() {
|
||||
/* Preventing subclass features from transferring to actor if they do not have the right subclass advancement */
|
||||
if (this.parent?.type === 'feature') {
|
||||
// TODO(nsalyzyn): Reuse this code for elsewhere
|
||||
const origSubclassParent = this.parent.system.originItemType === 'subclass';
|
||||
if (origSubclassParent) {
|
||||
const subclass = this.parent.parent.items.find(
|
||||
x =>
|
||||
x.type === 'subclass' &&
|
||||
x.system.isMulticlass === (this.parent.system.identifier === 'multiclass')
|
||||
);
|
||||
|
||||
if (subclass) {
|
||||
const featureState = subclass.system.featureState;
|
||||
|
||||
if (
|
||||
(this.parent.system.identifier === CONFIG.DH.ITEM.featureSubTypes.specialization &&
|
||||
featureState < 2) ||
|
||||
(this.parent.system.identifier === CONFIG.DH.ITEM.featureSubTypes.mastery && featureState < 3)
|
||||
) {
|
||||
this.transfer = false;
|
||||
}
|
||||
}
|
||||
/* Check for item availability such as in the case of subclass advancement. */
|
||||
if (this.parent?.parent?.system?.isItemAvailable) {
|
||||
if (!this.parent.parent.system.isItemAvailable(this.parent)) {
|
||||
this.transfer = false
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue