mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
34 lines
No EOL
1.6 KiB
JavaScript
34 lines
No EOL
1.6 KiB
JavaScript
import { getTier } from "../helpers/utils.mjs";
|
|
import featuresSchema from "./interface/featuresSchema.mjs";
|
|
import DaggerheartFeature from './feature.mjs';
|
|
|
|
export default class DhpSubclass extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
description: new fields.HTMLField({}),
|
|
spellcastingTrait: new fields.StringField({ choices: SYSTEM.ACTOR.abilities, integer: false, nullable: true, initial: null }),
|
|
foundationFeature: new fields.SchemaField({
|
|
description: new fields.HTMLField({}),
|
|
abilities: new fields.ArrayField(new fields.EmbeddedDataField(DaggerheartFeature)),
|
|
}),
|
|
specializationFeature: new fields.SchemaField({
|
|
unlocked: new fields.BooleanField({ initial: false }),
|
|
tier: new fields.NumberField({ initial: null, nullable: true, integer: true }),
|
|
description: new fields.HTMLField({}),
|
|
abilities: new fields.ArrayField(new fields.EmbeddedDataField(DaggerheartFeature)),
|
|
}),
|
|
masteryFeature: new fields.SchemaField({
|
|
unlocked: new fields.BooleanField({ initial: false }),
|
|
tier: new fields.NumberField({ initial: null, nullable: true, integer: true }),
|
|
description: new fields.HTMLField({}),
|
|
abilities: new fields.ArrayField(new fields.EmbeddedDataField(DaggerheartFeature)),
|
|
}),
|
|
multiclass: new fields.NumberField({ initial: null, nullable: true, integer: true }),
|
|
}
|
|
}
|
|
|
|
get multiclassTier(){
|
|
return getTier(this.multiclass);
|
|
}
|
|
} |