68 lines
1.8 KiB
JavaScript
68 lines
1.8 KiB
JavaScript
import BaseItem from "./baseItem.mjs";
|
|
|
|
const {
|
|
SchemaField,
|
|
BooleanField,
|
|
NumberField,
|
|
ArrayField,
|
|
StringField,
|
|
HTMLField
|
|
} = foundry.data.fields;
|
|
|
|
export class SpellDataModel extends BaseItem {
|
|
|
|
static defineSchema() {
|
|
return {
|
|
seite: new NumberField(),
|
|
zfw: new NumberField(),
|
|
name: new StringField({required: true}),
|
|
probe: new ArrayField(new StringField(), {required: true, exact: 3}),
|
|
probeMod: new StringField(),
|
|
hauszauber: new BooleanField(),
|
|
technik: new StringField(),
|
|
zauberdauer: new StringField(),
|
|
wirkung: new HTMLField(),
|
|
kosten: new StringField(),
|
|
zielobjekt: new StringField(),
|
|
reichweite: new StringField({required: true}),
|
|
wirkungsdauer: new StringField({required: true}),
|
|
modifikationen: new StringField({required: true}),
|
|
reversalis: new StringField(),
|
|
antimagie: new StringField(),
|
|
merkmal: new StringField(),
|
|
komplexität: new StringField(),
|
|
repräsentation: new StringField(),
|
|
info: new StringField(),
|
|
varianten: new ArrayField(new SchemaField({
|
|
name: new StringField(),
|
|
description: new HTMLField(),
|
|
mod: new StringField(),
|
|
limit: new NumberField(),
|
|
}))
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Augment the basic Item data model with additional dynamic data.
|
|
*/
|
|
prepareData() {
|
|
}
|
|
|
|
/**
|
|
* Prepare a data object which is passed to any Roll formulas which are created related to this Item
|
|
* @private
|
|
*/
|
|
getRollData() {
|
|
}
|
|
|
|
/**
|
|
* Handle clickable rolls.
|
|
* @param {Event} event The originating click event
|
|
* @private
|
|
*/
|
|
async roll() {
|
|
}
|
|
|
|
}
|