diff --git a/module/data/chat-message/actorRoll.mjs b/module/data/chat-message/actorRoll.mjs index d5a57fd7..834d2dab 100644 --- a/module/data/chat-message/actorRoll.mjs +++ b/module/data/chat-message/actorRoll.mjs @@ -34,8 +34,7 @@ class ChatMessageRollDamage extends foundry.abstract.DataModel { return { types: new fields.TypedObjectField(new fields.SchemaField({ roll: new fields.JSONField({validate: ChatMessageRollDamage.#validateRoll}), - damageTypes: new fields.ArrayField(new fields.StringField({ choices: CONFIG.DH.GENERAL.damageTypes })), - type: new fields.StringField() + damageTypes: new fields.ArrayField(new fields.StringField({ choices: CONFIG.DH.GENERAL.damageTypes })) })) }; } @@ -243,6 +242,24 @@ export default class DHActorRoll extends foundry.abstract.TypeDataModel { this.isGM = game.user.isGM; //temp } + static migrateData(source) { + if (source.hasDamage && !source.damage.types) { + source.damage = { + types: Object.keys(source.damage).reduce((acc, key) => { + const damageData = source.damage[key]; + acc[key] = { + roll: damageData.parts[0]?.roll ?? null, + damageTypes: damageData.parts[0]?.damageTypes ?? [] + }; + return acc; + }, {}) + }; + } + + return source; + } + + getTargetList() { const targets = this.targetMode && this.parent.isAuthor diff --git a/module/dice/damageRoll.mjs b/module/dice/damageRoll.mjs index 41f729e2..3c99f489 100644 --- a/module/dice/damageRoll.mjs +++ b/module/dice/damageRoll.mjs @@ -21,8 +21,7 @@ export default class DamageRoll extends DHRoll { await roll.roll.evaluate(); config.damage.types[roll.applyTo] = { roll: roll.roll, - damageTypes: roll.damageTypes ?? [], - type: config.type + damageTypes: roll.damageTypes ?? [] }; } }