fixes weird behaviour of adding and removing items to the paperdoll, verbose technique adds technical debt!
parent
65fcc13822
commit
2814fabbbe
|
|
@ -407,6 +407,24 @@ export class CharacterSheet extends ActorSheet {
|
|||
|
||||
}
|
||||
|
||||
#getEquipmentset(setId) {
|
||||
const equipmentSet = this.object.system.heldenausruestung[setId]
|
||||
const updateObject = {}
|
||||
updateObject[`system.heldenausruestung.${setId}.links`] = equipmentSet.links;
|
||||
updateObject[`system.heldenausruestung.${setId}.rechts`] = equipmentSet.rechts;
|
||||
updateObject[`system.heldenausruestung.${setId}.brust`] = equipmentSet.brust;
|
||||
updateObject[`system.heldenausruestung.${setId}.bauch`] = equipmentSet.bauch;
|
||||
updateObject[`system.heldenausruestung.${setId}.ruecken`] = equipmentSet.ruecken;
|
||||
updateObject[`system.heldenausruestung.${setId}.kopf`] = equipmentSet.kopf;
|
||||
updateObject[`system.heldenausruestung.${setId}.fernkampf`] = equipmentSet.fernkampf;
|
||||
updateObject[`system.heldenausruestung.${setId}.munition`] = equipmentSet.munition;
|
||||
updateObject[`system.heldenausruestung.${setId}.armlinks`] = equipmentSet.armlinks;
|
||||
updateObject[`system.heldenausruestung.${setId}.armrechts`] = equipmentSet.armrechts;
|
||||
updateObject[`system.heldenausruestung.${setId}.beinlinks`] = equipmentSet.beinlinks;
|
||||
updateObject[`system.heldenausruestung.${setId}.beinrechts`] = equipmentSet.beinrechts;
|
||||
return updateObject;
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
|
|
@ -448,32 +466,21 @@ export class CharacterSheet extends ActorSheet {
|
|||
|
||||
html.on('drop', '.equipped', async (evt) => {
|
||||
const {actor, target, setId} = evt.currentTarget.dataset;
|
||||
const {documentId} = JSON.parse(evt.originalEvent.dataTransfer.getData("application/json"));
|
||||
try {
|
||||
const {documentId} = JSON.parse(evt.originalEvent.dataTransfer.getData("application/json"));
|
||||
|
||||
|
||||
if (actor === this.object._id && documentId) { // managing equipped items
|
||||
//const slot = this.#isWorn(documentId, setId)
|
||||
const equipmentSet = this.object.system.heldenausruestung[setId]
|
||||
const updateObject = {}
|
||||
updateObject[`system.heldenausruestung.${setId}.links`] = equipmentSet.links;
|
||||
updateObject[`system.heldenausruestung.${setId}.rechts`] = equipmentSet.rechts;
|
||||
updateObject[`system.heldenausruestung.${setId}.brust`] = equipmentSet.brust;
|
||||
updateObject[`system.heldenausruestung.${setId}.ruecken`] = equipmentSet.ruecken;
|
||||
updateObject[`system.heldenausruestung.${setId}.kopf`] = equipmentSet.kopf;
|
||||
updateObject[`system.heldenausruestung.${setId}.fernkampf`] = equipmentSet.fernkampf;
|
||||
updateObject[`system.heldenausruestung.${setId}.munition`] = equipmentSet.munition;
|
||||
updateObject[`system.heldenausruestung.${setId}.armlinks`] = equipmentSet.armlinks;
|
||||
updateObject[`system.heldenausruestung.${setId}.armrechts`] = equipmentSet.armrechts;
|
||||
updateObject[`system.heldenausruestung.${setId}.beinlinks`] = equipmentSet.beinlinks;
|
||||
updateObject[`system.heldenausruestung.${setId}.beinrechts`] = equipmentSet.beinrechts;
|
||||
if (actor === this.object._id && documentId) { // managing equipped items
|
||||
//const slot = this.#isWorn(documentId, setId)
|
||||
const updateObject = this.#getEquipmentset(setId)
|
||||
updateObject[`system.heldenausruestung.${setId}.${target}`] = documentId;
|
||||
console.log(updateObject);
|
||||
|
||||
updateObject[`system.heldenausruestung.${setId}.${target}`] = documentId;
|
||||
console.log(updateObject);
|
||||
await this.object.update(updateObject);
|
||||
}
|
||||
|
||||
await this.object.update(updateObject);
|
||||
}
|
||||
|
||||
evt.stopPropagation();
|
||||
evt.stopPropagation();
|
||||
} catch (e) {}
|
||||
})
|
||||
|
||||
new ContextMenu(html, '.talent.rollable', [
|
||||
|
|
@ -519,6 +526,21 @@ export class CharacterSheet extends ActorSheet {
|
|||
}
|
||||
]);
|
||||
|
||||
new ContextMenu(html, '.equipped', [
|
||||
{
|
||||
name: "Gegenstand vom Set entfernen",
|
||||
callback: (event) => {
|
||||
const {setId, target, actor} = event[0].dataset
|
||||
|
||||
const updateObject = this.#getEquipmentset(setId)
|
||||
updateObject[`system.heldenausruestung.${setId}.${target}`] = null;
|
||||
|
||||
this.object.update(updateObject);
|
||||
},
|
||||
condition: () => true
|
||||
}
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
#handleDroppedSkill(actor, skill) {
|
||||
|
|
|
|||
|
|
@ -46,74 +46,64 @@
|
|||
width: 34px;
|
||||
height: 34px;
|
||||
|
||||
position: absolute !important;
|
||||
|
||||
&.links {
|
||||
position: absolute;
|
||||
top: 230px;
|
||||
left: 250px;
|
||||
}
|
||||
|
||||
&.rechts {
|
||||
position: absolute;
|
||||
top: 230px;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
&.brust {
|
||||
position: absolute;
|
||||
top: 120px;
|
||||
left: 110px;
|
||||
}
|
||||
|
||||
&.armlinks {
|
||||
position: absolute;
|
||||
top: 180px;
|
||||
left: 210px;
|
||||
}
|
||||
|
||||
&.armrechts {
|
||||
position: absolute;
|
||||
top: 180px;
|
||||
left: 60px;
|
||||
}
|
||||
|
||||
&.beinlinks {
|
||||
position: absolute;
|
||||
top: 380px;
|
||||
left: 210px;
|
||||
}
|
||||
|
||||
&.beinrechts {
|
||||
position: absolute;
|
||||
top: 380px;
|
||||
left: 60px;
|
||||
}
|
||||
|
||||
&.bauch {
|
||||
position: absolute;
|
||||
top: 200px;
|
||||
left: 136px;
|
||||
}
|
||||
|
||||
&.kopf {
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
left: 136px
|
||||
}
|
||||
|
||||
&.fernkampf {
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
left: 240px;
|
||||
}
|
||||
|
||||
&.ruecken {
|
||||
position: absolute;
|
||||
top: 120px;
|
||||
left: 160px;
|
||||
}
|
||||
|
||||
&.munition {
|
||||
position: absolute;
|
||||
top: 80px;
|
||||
left: 240px;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue