import BaseItem from "./base-item.mjs";

const {BooleanField, NumberField, SchemaField, 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 StringField(),
            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()

        }
    }

    /**
     * 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() {
    }

}
