mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 19:51:08 +01:00
FEAT: BaseDataItem class
add TODO comments for future improvements FIX: Remove effect field on template FIX: remove unused DhpEffects file
This commit is contained in:
parent
5a2c69d48f
commit
ec7f32cdc7
14 changed files with 298 additions and 201 deletions
|
|
@ -1,12 +1,28 @@
|
|||
import { getTier } from '../../helpers/utils.mjs';
|
||||
import BaseDataItem from './base.mjs';
|
||||
|
||||
export default class DHClass extends BaseDataItem {
|
||||
/** @inheritDoc */
|
||||
static get metadata() {
|
||||
return foundry.utils.mergeObject(super.metadata, {
|
||||
label: "TYPES.Item.class",
|
||||
type: "class",
|
||||
hasDescription: true,
|
||||
});
|
||||
}
|
||||
|
||||
export default class DHClass extends foundry.abstract.TypeDataModel {
|
||||
/** @inheritDoc */
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
|
||||
//TODO: USE SetField instead ArrayField
|
||||
//set choices for this field
|
||||
domains: new fields.ArrayField(new fields.StringField({})),
|
||||
|
||||
classItems: new fields.ArrayField(
|
||||
//TODO: use DocumentUUIDField, DocumentIdField or create LocalDocumentField
|
||||
new fields.SchemaField({
|
||||
name: new fields.StringField({}),
|
||||
img: new fields.StringField({}),
|
||||
|
|
@ -15,13 +31,17 @@ export default class DHClass extends foundry.abstract.TypeDataModel {
|
|||
),
|
||||
evasion: new fields.NumberField({ initial: 0, integer: true }),
|
||||
features: new fields.ArrayField(
|
||||
//TODO: use DocumentUUIDField, DocumentIdField or create LocalDocumentField
|
||||
new fields.SchemaField({
|
||||
name: new fields.StringField({}),
|
||||
img: new fields.StringField({}),
|
||||
uuid: new fields.StringField({})
|
||||
})
|
||||
),
|
||||
|
||||
//TODO: use SetField intead of ArrayField
|
||||
subclasses: new fields.ArrayField(
|
||||
//TODO: use DocumentUUIDField, DocumentIdField or create LocalDocumentField
|
||||
new fields.SchemaField({
|
||||
name: new fields.StringField({}),
|
||||
img: new fields.StringField({}),
|
||||
|
|
@ -30,6 +50,7 @@ export default class DHClass extends foundry.abstract.TypeDataModel {
|
|||
),
|
||||
inventory: new fields.SchemaField({
|
||||
take: new fields.ArrayField(
|
||||
//TODO: use DocumentUUIDField, DocumentIdField or create LocalDocumentField
|
||||
new fields.SchemaField({
|
||||
name: new fields.StringField({}),
|
||||
img: new fields.StringField({}),
|
||||
|
|
@ -37,6 +58,7 @@ export default class DHClass extends foundry.abstract.TypeDataModel {
|
|||
})
|
||||
),
|
||||
choiceA: new fields.ArrayField(
|
||||
//TODO: use DocumentUUIDField, DocumentIdField or create LocalDocumentField
|
||||
new fields.SchemaField({
|
||||
name: new fields.StringField({}),
|
||||
img: new fields.StringField({}),
|
||||
|
|
@ -44,6 +66,7 @@ export default class DHClass extends foundry.abstract.TypeDataModel {
|
|||
})
|
||||
),
|
||||
choiceB: new fields.ArrayField(
|
||||
//TODO: use DocumentUUIDField, DocumentIdField or create LocalDocumentField
|
||||
new fields.SchemaField({
|
||||
name: new fields.StringField({}),
|
||||
img: new fields.StringField({}),
|
||||
|
|
@ -51,6 +74,7 @@ export default class DHClass extends foundry.abstract.TypeDataModel {
|
|||
})
|
||||
),
|
||||
extra: new fields.SchemaField(
|
||||
//TODO: use DocumentUUIDField, DocumentIdField or create LocalDocumentField
|
||||
{
|
||||
title: new fields.StringField({}),
|
||||
description: new fields.StringField({})
|
||||
|
|
@ -91,18 +115,14 @@ export default class DHClass extends foundry.abstract.TypeDataModel {
|
|||
},
|
||||
{ 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({})
|
||||
}),
|
||||
|
||||
//FIXME this not will work
|
||||
backgroundQuestions: new fields.ArrayField(new fields.StringField({}), { initial: ['', '', ''] }),
|
||||
|
||||
//FIXME this not will work
|
||||
connections: new fields.ArrayField(new fields.StringField({}), { initial: ['', '', ''] })
|
||||
}),
|
||||
multiclass: new fields.NumberField({ initial: null, nullable: true, integer: true }),
|
||||
description: new fields.HTMLField({})
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue