Iteam cleanup + less migration

This commit is contained in:
2026-03-07 19:18:03 +01:00
parent 97cd50ed12
commit c6f7a9e966
60 changed files with 1633 additions and 851 deletions

View File

@@ -7,17 +7,28 @@ export default class OathHammerMiracle extends foundry.abstract.TypeDataModel {
const schema = {}
schema.effect = new fields.HTMLField({ required: true, textSearch: true })
schema.piety = new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 })
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.components = new fields.SchemaField({
verbal: new fields.BooleanField(),
somatic: new fields.BooleanField(),
material: new fields.BooleanField()
// Divine tradition (Druidic / Profane / Sanctified)
schema.divineTradition = new fields.StringField({
required: true, initial: "sanctified", choices: SYSTEM.DIVINE_TRADITIONS
})
schema.materialComponent = new fields.StringField({ required: true, nullable: false, initial: "" })
schema.savingThrow = new fields.StringField({ required: true, nullable: false, initial: "" })
// Difficulty Value: 0 = scales dynamically (1st = DV1, 2nd = DV2…).
// Non-zero only for Ritual miracles which have a fixed DV (p.129).
schema.difficultyValue = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 10 })
// Ritual miracles require 1 hour; need a holy book; fixed DV; don't
// increment the daily miracle counter (p.129).
schema.isRitual = new fields.BooleanField({ initial: false })
// Range: "Touch", "Self", "20", "100", "1 mile", etc.
schema.range = new fields.StringField({ required: true, nullable: false, initial: "" })
// Duration: "1 hour", "Encounter", "1 day", etc. Empty = instantaneous.
schema.duration = new fields.StringField({ required: true, nullable: false, initial: "" })
// Spell Save: e.g. "DV4 Athletics", "DV5 Fortune". Empty = no save.
schema.spellSave = new fields.StringField({ required: true, nullable: false, initial: "" })
return schema
}