enables modal advantages to be displayed with their choice

main 0.8.4
macniel 2026-02-15 13:26:28 +01:00
parent 7a2aaf272b
commit 77d929b04b
3 changed files with 13 additions and 5 deletions

View File

@ -366,7 +366,7 @@ export class XmlImport {
} }
} }
async #addAdvantageFromCompendiumByNameToActor(advantageName, advantageValue, actor) { async #addAdvantageFromCompendiumByNameToActor(advantageName, advantageValue, actor, advantageComment) {
const compendiumOfAdvantages = game.packs.get('DSA_4-1.Advantage'); const compendiumOfAdvantages = game.packs.get('DSA_4-1.Advantage');
const advantageId = compendiumOfAdvantages.index.find(skill => skill.name.trim() === advantageName.trim()) const advantageId = compendiumOfAdvantages.index.find(skill => skill.name.trim() === advantageName.trim())
if (advantageId) { if (advantageId) {
@ -375,7 +375,11 @@ export class XmlImport {
try { try {
const embeddedDocument = (await actor.createEmbeddedDocuments('Item', [advantage]))[0] const embeddedDocument = (await actor.createEmbeddedDocuments('Item', [advantage]))[0]
embeddedDocument.update({system: {value: advantageValue}}); if (advantageComment) {
embeddedDocument.update({name: advantageName + " " + advantageComment, system: {name: advantageName + " " + advantageComment, value: advantageValue}})
} else {
embeddedDocument.update({system: {value: advantageValue}})
}
} catch (error) { } catch (error) {
console.error(`${advantageName} not found in items`, error) console.error(`${advantageName} not found in items`, error)
} }
@ -461,7 +465,11 @@ export class XmlImport {
} }
for (let advantage in held.vt.vorteil) { for (let advantage in held.vt.vorteil) {
advantage = held.vt.vorteil[advantage] advantage = held.vt.vorteil[advantage]
this.#addAdvantageFromCompendiumByNameToActor(advantage.name, advantage.value, actor) if (advantage.value == null && advantage.auswahl) {
advantage.value = advantage.auswahl.find(a => a["position"] === "0").value
advantage.comment = advantage.auswahl.find(a => a["position"] === "1").value
}
this.#addAdvantageFromCompendiumByNameToActor(advantage.name, advantage.value, actor, advantage.comment)
} }
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Vorurteile", "name": "Vorurteile gegen",
"value": "", "value": "",
"text": "", "text": "",
"nachteil": true, "nachteil": true,

View File

@ -1,5 +1,5 @@
{ {
"name": "Weltfremd", "name": "Weltfremd bzgl.",
"value": "", "value": "",
"nachteil": true, "nachteil": true,
"schlechteEigenschaft": true, "schlechteEigenschaft": true,