Item ehnance, fixes on acto sheet

This commit is contained in:
2026-03-08 10:42:36 +01:00
parent 8f7f0169e4
commit e9abefd90d
22 changed files with 508 additions and 68 deletions

View File

@@ -9,3 +9,5 @@ export { default as OathHammerMiracle } from "./miracle.mjs"
export { default as OathHammerMagicItem } from "./magic-item.mjs"
export { default as OathHammerAbility } from "./ability.mjs"
export { default as OathHammerOath } from "./oath.mjs"
export { default as OathHammerLineage } from "./lineage.mjs"
export { default as OathHammerClass } from "./class.mjs"

View File

@@ -1,4 +1,3 @@
import { SYSTEM } from "../config/system.mjs"
export default class OathHammerCharacter extends foundry.abstract.TypeDataModel {
static defineSchema() {
@@ -88,8 +87,6 @@ export default class OathHammerCharacter extends foundry.abstract.TypeDataModel
})
schema.biodata = new fields.SchemaField({
lineage: new fields.StringField({ required: true, initial: "dwarf", choices: SYSTEM.LINEAGE_CHOICES }),
class: new fields.StringField({ required: true, initial: "soldier", choices: SYSTEM.CLASS_CHOICES }),
age: new fields.StringField({ required: true, nullable: false, initial: "" }),
gender: new fields.StringField({ required: true, nullable: false, initial: "" }),
height: new fields.StringField({ required: true, nullable: false, initial: "" }),

21
module/models/class.mjs Normal file
View File

@@ -0,0 +1,21 @@
export default class OathHammerClass extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields
const schema = {}
schema.description = new fields.HTMLField({ required: true, textSearch: true })
// Class features, starting abilities, advancement options (rich text)
schema.features = new fields.HTMLField({ required: true, textSearch: true })
// Armor proficiencies (e.g. "Light, Medium, Heavy")
schema.armorProficiency = new fields.StringField({ required: true, nullable: false, initial: "" })
// Weapon proficiencies (e.g. "Common, Dueling, Heavy, Throwing")
schema.weaponProficiency = new fields.StringField({ required: true, nullable: false, initial: "" })
return schema
}
static LOCALIZATION_PREFIXES = ["OATHHAMMER.Class"]
}

21
module/models/lineage.mjs Normal file
View File

@@ -0,0 +1,21 @@
export default class OathHammerLineage extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields
const schema = {}
schema.description = new fields.HTMLField({ required: true, textSearch: true })
// Racial traits and special abilities (rich text)
schema.traits = new fields.HTMLField({ required: true, textSearch: true })
// Base movement speed in feet
schema.movement = new fields.NumberField({ required: true, nullable: false, integer: true, initial: 30, min: 0 })
// Modifier to max Grit Points (e.g. -1 for High Elf, Wood Elf)
schema.gritModifier = new fields.NumberField({ required: true, nullable: false, integer: true, initial: 0 })
return schema
}
static LOCALIZATION_PREFIXES = ["OATHHAMMER.Lineage"]
}