mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
93 lines
No EOL
4.2 KiB
JavaScript
93 lines
No EOL
4.2 KiB
JavaScript
import { getTier } from "../helpers/utils.mjs";
|
|
import DhpFeature from "./feature.mjs";
|
|
|
|
export default class DhpClass extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
domains: new fields.ArrayField(new fields.StringField({})),
|
|
classItems: new fields.ArrayField(new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
})),
|
|
damageThresholds: new fields.SchemaField({
|
|
minor: new fields.NumberField({ initial: 0, integer: true }),
|
|
major: new fields.NumberField({ initial: 0, integer: true }),
|
|
severe: new fields.NumberField({ initial: 0, integer: true }),
|
|
}),
|
|
evasion: new fields.NumberField({ initial: 0, integer: true}),
|
|
features: new fields.ArrayField(new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
})),
|
|
subclasses: new fields.ArrayField(new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
})),
|
|
inventory: new fields.SchemaField({
|
|
take: new fields.ArrayField(new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
})),
|
|
choiceA: new fields.ArrayField(new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
})),
|
|
choiceB: new fields.ArrayField(new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
})),
|
|
extra: new fields.SchemaField({
|
|
title: new fields.StringField({}),
|
|
description: new fields.StringField({})
|
|
}, { initial: null, nullable: true }),
|
|
}),
|
|
characterGuide: new fields.SchemaField({
|
|
suggestedTraits: new fields.SchemaField({
|
|
agility: new fields.NumberField({ initial: 0, integer: true }),
|
|
strength: new fields.NumberField({ initial: 0, integer: true }),
|
|
finesse: new fields.NumberField({ initial: 0, integer: true }),
|
|
instinct: new fields.NumberField({ initial: 0, integer: true }),
|
|
presence: new fields.NumberField({ initial: 0, integer: true }),
|
|
knowledge: new fields.NumberField({ initial: 0, integer: true }),
|
|
}),
|
|
suggestedPrimaryWeapon: new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
}, { initial: null, nullable: true }),
|
|
suggestedSecondaryWeapon: new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
}, { initial: null, nullable: true }),
|
|
suggestedArmor: new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
img: new fields.StringField({}),
|
|
uuid: new fields.StringField({}),
|
|
}, { initial: null, nullable: true }),
|
|
characterDescription: new fields.SchemaField({
|
|
clothes: new fields.StringField({}),
|
|
eyes: new fields.StringField({}),
|
|
body: new fields.StringField({}),
|
|
color: new fields.StringField({}),
|
|
attitude: new fields.StringField({}),
|
|
}),
|
|
backgroundQuestions: new fields.ArrayField(new fields.StringField({}), { initial: ['', '', ''] }),
|
|
connections: new fields.ArrayField(new fields.StringField({}), { initial: ['', '' ,''] }),
|
|
}),
|
|
multiclass: new fields.NumberField({ initial: null, nullable: true, integer: true }),
|
|
description: new fields.HTMLField({}),
|
|
}
|
|
}
|
|
|
|
get multiclassTier(){
|
|
return getTier(this.multiclass, true);
|
|
}
|
|
} |