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) {
|
activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
|
|
@ -448,25 +466,13 @@ export class CharacterSheet extends ActorSheet {
|
||||||
|
|
||||||
html.on('drop', '.equipped', async (evt) => {
|
html.on('drop', '.equipped', async (evt) => {
|
||||||
const {actor, target, setId} = evt.currentTarget.dataset;
|
const {actor, target, setId} = evt.currentTarget.dataset;
|
||||||
|
try {
|
||||||
const {documentId} = JSON.parse(evt.originalEvent.dataTransfer.getData("application/json"));
|
const {documentId} = JSON.parse(evt.originalEvent.dataTransfer.getData("application/json"));
|
||||||
|
|
||||||
|
|
||||||
if (actor === this.object._id && documentId) { // managing equipped items
|
if (actor === this.object._id && documentId) { // managing equipped items
|
||||||
//const slot = this.#isWorn(documentId, setId)
|
//const slot = this.#isWorn(documentId, setId)
|
||||||
const equipmentSet = this.object.system.heldenausruestung[setId]
|
const updateObject = this.#getEquipmentset(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;
|
|
||||||
|
|
||||||
updateObject[`system.heldenausruestung.${setId}.${target}`] = documentId;
|
updateObject[`system.heldenausruestung.${setId}.${target}`] = documentId;
|
||||||
console.log(updateObject);
|
console.log(updateObject);
|
||||||
|
|
||||||
|
|
@ -474,6 +480,7 @@ export class CharacterSheet extends ActorSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
evt.stopPropagation();
|
evt.stopPropagation();
|
||||||
|
} catch (e) {}
|
||||||
})
|
})
|
||||||
|
|
||||||
new ContextMenu(html, '.talent.rollable', [
|
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) {
|
#handleDroppedSkill(actor, skill) {
|
||||||
|
|
|
||||||
|
|
@ -46,74 +46,64 @@
|
||||||
width: 34px;
|
width: 34px;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
|
|
||||||
|
position: absolute !important;
|
||||||
|
|
||||||
&.links {
|
&.links {
|
||||||
position: absolute;
|
|
||||||
top: 230px;
|
top: 230px;
|
||||||
left: 250px;
|
left: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.rechts {
|
&.rechts {
|
||||||
position: absolute;
|
|
||||||
top: 230px;
|
top: 230px;
|
||||||
left: 20px;
|
left: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.brust {
|
&.brust {
|
||||||
position: absolute;
|
|
||||||
top: 120px;
|
top: 120px;
|
||||||
left: 110px;
|
left: 110px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.armlinks {
|
&.armlinks {
|
||||||
position: absolute;
|
|
||||||
top: 180px;
|
top: 180px;
|
||||||
left: 210px;
|
left: 210px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.armrechts {
|
&.armrechts {
|
||||||
position: absolute;
|
|
||||||
top: 180px;
|
top: 180px;
|
||||||
left: 60px;
|
left: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.beinlinks {
|
&.beinlinks {
|
||||||
position: absolute;
|
|
||||||
top: 380px;
|
top: 380px;
|
||||||
left: 210px;
|
left: 210px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.beinrechts {
|
&.beinrechts {
|
||||||
position: absolute;
|
|
||||||
top: 380px;
|
top: 380px;
|
||||||
left: 60px;
|
left: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.bauch {
|
&.bauch {
|
||||||
position: absolute;
|
|
||||||
top: 200px;
|
top: 200px;
|
||||||
left: 136px;
|
left: 136px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.kopf {
|
&.kopf {
|
||||||
position: absolute;
|
|
||||||
top: 40px;
|
top: 40px;
|
||||||
left: 136px
|
left: 136px
|
||||||
}
|
}
|
||||||
|
|
||||||
&.fernkampf {
|
&.fernkampf {
|
||||||
position: absolute;
|
|
||||||
top: 40px;
|
top: 40px;
|
||||||
left: 240px;
|
left: 240px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.ruecken {
|
&.ruecken {
|
||||||
position: absolute;
|
|
||||||
top: 120px;
|
top: 120px;
|
||||||
left: 160px;
|
left: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.munition {
|
&.munition {
|
||||||
position: absolute;
|
|
||||||
top: 80px;
|
top: 80px;
|
||||||
left: 240px;
|
left: 240px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue