diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index f3fdb3d6..017c513a 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -37,7 +37,11 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel this.extraSchemas.forEach(s => { let clsField; - if ((clsField = this.getActionField(s))) schemaFields[s] = new clsField(); + if ((clsField = this.getActionField(s))) schemaFields[s] = new clsField( + { + type: this + } + ); }); return schemaFields; diff --git a/module/data/fields/action/rollField.mjs b/module/data/fields/action/rollField.mjs index 511e0660..d6e41937 100644 --- a/module/data/fields/action/rollField.mjs +++ b/module/data/fields/action/rollField.mjs @@ -4,7 +4,7 @@ export class DHActionRollData extends foundry.abstract.DataModel { /** @override */ static defineSchema() { return { - type: new fields.StringField({ nullable: true, initial: null, choices: CONFIG.DH.GENERAL.rollTypes }), + type: new fields.StringField({ nullable: true, initial: null, choices: this.getRollTypes() }), trait: new fields.StringField({ nullable: true, initial: null, choices: CONFIG.DH.ACTOR.abilities }), difficulty: new fields.NumberField({ nullable: true, initial: null, integer: true, min: 0 }), bonus: new fields.NumberField({ nullable: true, initial: null, integer: true }), @@ -45,6 +45,15 @@ export class DHActionRollData extends foundry.abstract.DataModel { }; } + static getRollTypes() { + console.log(this.parent, this._source) + return CONFIG.DH.GENERAL.rollTypes; + } + + _configure() { + console.log(this) + } + getFormula() { if (!this.type) return; let formula = ''; @@ -71,5 +80,6 @@ export class DHActionRollData extends foundry.abstract.DataModel { export default class RollField extends fields.EmbeddedDataField { constructor(options, context = {}) { super(DHActionRollData, options, context); + console.log(this) } }