import { SYSTEM } from "../config/system.mjs" export default class OathHammerSpell extends foundry.abstract.TypeDataModel { static defineSchema() { const fields = foundry.data.fields const requiredInteger = { required: true, nullable: false, integer: true } const schema = {} schema.effect = new fields.HTMLField({ required: true, textSearch: true }) schema.tradition = new fields.StringField({ required: true, initial: "elemental", choices: SYSTEM.SORCEROUS_TRADITIONS }) schema.level = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1, max: 6 }) schema.castingTime = new fields.StringField({ required: true, nullable: false, initial: "" }) schema.range = new fields.StringField({ required: true, nullable: false, initial: "" }) schema.duration = new fields.StringField({ required: true, nullable: false, initial: "" }) schema.arcaneStress = new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }) schema.components = new fields.SchemaField({ verbal: new fields.BooleanField(), somatic: new fields.BooleanField(), material: new fields.BooleanField() }) schema.materialComponent = new fields.StringField({ required: true, nullable: false, initial: "" }) schema.savingThrow = new fields.StringField({ required: true, nullable: false, initial: "" }) schema.enhancement = new fields.StringField({ required: true, nullable: false, initial: "" }) return schema } static LOCALIZATION_PREFIXES = ["OATHHAMMER.Spell"] }