Replace and fix mortal field

This commit is contained in:
2025-05-10 10:02:38 +02:00
parent a3c6509862
commit aaef4dd896
28 changed files with 120 additions and 121 deletions

View File

@ -174,6 +174,31 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
/** @override */
static LOCALIZATION_PREFIXES = ["LETHALFANTASY.Character"]
static migrateData(data) {
if (data?.biodata?.mortal) {
if (!SYSTEM.MORTAL_CHOICES[data.biodata.mortal]) {
for (let key in SYSTEM.MORTAL_CHOICES) {
let mortal = SYSTEM.MORTAL_CHOICES[key]
if ( mortal.label.toLowerCase() === data.biodata.mortal.toLowerCase()) {
data.biodata.mortal = mortal.id
}
if ( data.biodata.mortal.toLowerCase().includes("shire")) {
data.biodata.mortal = "halflings"
}
if ( data.biodata.mortal.toLowerCase().includes("human")) {
data.biodata.mortal = "mankind"
}
}
}
if (!SYSTEM.MORTAL_CHOICES[data.biodata.mortal]) {
console.warn("Lethal Fantasy | Migrate data: Mortal not found, forced to mankind", data.biodata.mortal)
data.biodata.mortal = "mankind"
}
}
return super.migrateData(data)
}
prepareDerivedData() {
super.prepareDerivedData();
let grit = 0
@ -275,7 +300,7 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
actorName: this.parent.name,
actorImage: this.parent.img,
combatId,
combatantId ,
combatantId,
actorClass,
maxInit,
})
@ -302,10 +327,10 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
let formula = ""
if (s.type === "spell") {
let dice = LethalFantasyUtils.getLethargyDice(s.system.level)
title = `${s.name} (Casting time: ${s.system.castingTime}, Lethargy: ${dice})`
title = `${s.name} (Casting time: ${s.system.castingTime}, Lethargy: ${dice})`
formula = `${s.system.castingTime}+${dice}`
} else {
title = `${s.name} (Prayer time: ${s.system.prayerTime})`
title = `${s.name} (Prayer time: ${s.system.prayerTime})`
formula = `${s.system.prayerTime}`
}
weaponsChoices.push({ id: s.id, name: title, combatProgressionDice: formula })