restores equipment drag and drop while sacrificing paperdoll view
parent
32503a03c1
commit
ee578e430e
|
|
@ -198,13 +198,14 @@ Hooks.once("init", () => {
|
|||
})
|
||||
|
||||
Hooks.on('dropActorSheetData', (actor, sheet, data) => {
|
||||
if (data.uuid) {
|
||||
/*if (data.uuid) {
|
||||
if (actor.type === "character") {
|
||||
return CharacterSheet.onDroppedData(actor, sheet, data);
|
||||
return true
|
||||
} else {
|
||||
return GroupSheet.onDroppedData(actor, sheet, data);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
return true
|
||||
})
|
||||
|
||||
Hooks.once("ready", async function () {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ export default {
|
|||
// worn items are halved weight
|
||||
|
||||
let effectiveWeight = item.system.weight ?? 0
|
||||
if (isWorn(item._id, object)) {
|
||||
if (isWorn(item._id, context.document)) {
|
||||
effectiveWeight = item.system.weight ? item.system.weight / 2 : 0
|
||||
}
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ export default {
|
|||
name: item.name,
|
||||
icon: item.img ?? "",
|
||||
weight: item.system.weight,
|
||||
worn: isWorn(item._id, object)
|
||||
worn: isWorn(item._id, context.document)
|
||||
})
|
||||
context.carryingweight += item.system.quantity * effectiveWeight;
|
||||
|
||||
|
|
@ -142,57 +142,20 @@ export default {
|
|||
|
||||
return context
|
||||
},
|
||||
_onRender: (context, options, element) => {
|
||||
const mapAllSets = () => {
|
||||
const updateObject = {}
|
||||
Array.from(context.document.system.heldenausruestung).forEach((equipmentSet, index) => {
|
||||
updateObject[`system.heldenausruestung.${index}.links`] = equipmentSet.links;
|
||||
updateObject[`system.heldenausruestung.${index}.rechts`] = equipmentSet.rechts;
|
||||
updateObject[`system.heldenausruestung.${index}.brust`] = equipmentSet.brust;
|
||||
updateObject[`system.heldenausruestung.${index}.bauch`] = equipmentSet.bauch;
|
||||
updateObject[`system.heldenausruestung.${index}.ruecken`] = equipmentSet.ruecken;
|
||||
updateObject[`system.heldenausruestung.${index}.kopf`] = equipmentSet.kopf;
|
||||
updateObject[`system.heldenausruestung.${index}.fernkampf`] = equipmentSet.fernkampf;
|
||||
updateObject[`system.heldenausruestung.${index}.munition`] = equipmentSet.munition;
|
||||
updateObject[`system.heldenausruestung.${index}.armlinks`] = equipmentSet.armlinks;
|
||||
updateObject[`system.heldenausruestung.${index}.armrechts`] = equipmentSet.armrechts;
|
||||
updateObject[`system.heldenausruestung.${index}.beinlinks`] = equipmentSet.beinlinks;
|
||||
updateObject[`system.heldenausruestung.${index}.beinrechts`] = equipmentSet.beinrechts;
|
||||
_onRender: (context, options, thisObject) => {
|
||||
|
||||
})
|
||||
return updateObject;
|
||||
}
|
||||
|
||||
new foundry.applications.ux.ContextMenu(element, '.equipped', [
|
||||
{
|
||||
name: "Gegenstand vom Set entfernen",
|
||||
callback: (event) => {
|
||||
const {setId, target, actor} = event[0].dataset
|
||||
|
||||
const updateObject = mapAllSets()
|
||||
updateObject[`system.heldenausruestung.${setId}.${target}`] = null;
|
||||
|
||||
object.update(updateObject);
|
||||
},
|
||||
condition: () => true
|
||||
new foundry.applications.ux.DragDrop.implementation({
|
||||
dragSelector: ".inventory-table .equipment",
|
||||
dropSelector: ".inventory-table",
|
||||
permissions: {
|
||||
dragstart: thisObject._canDragStart.bind(thisObject),
|
||||
drop: thisObject._canDragDrop.bind(thisObject)
|
||||
},
|
||||
callbacks: {
|
||||
dragstart: thisObject._onDragStart.bind(thisObject),
|
||||
drop: thisObject._onDrop.bind(thisObject)
|
||||
}
|
||||
], {
|
||||
jQuery: false
|
||||
});
|
||||
|
||||
new foundry.applications.ux.ContextMenu(element, '.equipment', [
|
||||
{
|
||||
name: "Aus dem Inventar entfernen",
|
||||
icon: '<i class="fa-solid fa-trash"></i>',
|
||||
callback: (event) => {
|
||||
// TODO find id on heldenausruestung to remove the worn items as well
|
||||
object.deleteEmbeddedDocuments('Item', [event[0].dataset.id])
|
||||
},
|
||||
condition: () => true
|
||||
}
|
||||
], {
|
||||
jQuery: false
|
||||
});
|
||||
}).bind(thisObject.element);
|
||||
},
|
||||
_getTabConfig: (group) => {
|
||||
group.tabs.push({id: "equipment", group: "sheet", label: "Ausrüstung"})
|
||||
|
|
|
|||
|
|
@ -369,212 +369,32 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
|
|||
Attributes._onRender(context, options, this.element)
|
||||
Combat._onRender(context, options, this.element)
|
||||
Effects._onRender(context, options, this.element)
|
||||
Equipment._onRender(context, options, this.element)
|
||||
Equipment._onRender(context, options, this)
|
||||
Liturgies._onRender(context, options, this.element)
|
||||
Skills._onRender(context, options, this.element)
|
||||
Spells._onRender(context, options, this.element)
|
||||
}
|
||||
|
||||
/* showAdjustAttributeDialog(attributeName, attributeField, previousValue) {
|
||||
const thisActor = this;
|
||||
const myContent = `
|
||||
Value:
|
||||
<input id="attributeValue" type="number" value="${previousValue}" />
|
||||
`;
|
||||
// TODO needs to be fixed once Character Sheet is migrated to ActorSheetV2
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.implementation.getDragEventData(event);
|
||||
const actor = this.actor;
|
||||
const allowed = Hooks.call("dropActorSheetData", actor, this, data);
|
||||
if (allowed === false) return;
|
||||
|
||||
function updateAttribute(html) {
|
||||
const value = html.find("input#attributeValue").val();
|
||||
const attribute = {}
|
||||
attribute[attributeField.toLowerCase()] = {
|
||||
aktuell: value
|
||||
}
|
||||
thisActor.object.update({system: {attribute}})
|
||||
// Dropped Documents
|
||||
const documentClass = foundry.utils.getDocumentClass(data.type);
|
||||
if (documentClass) {
|
||||
const document = await documentClass.fromDropData(data);
|
||||
await this._onDropDocument(event, document);
|
||||
|
||||
// No duplication by moving items from one actor to another
|
||||
if (document.parent) {
|
||||
document.parent.items.get(document._id).delete()
|
||||
}
|
||||
|
||||
new Dialog({
|
||||
title: `${attributeName} ändern auf`,
|
||||
content: myContent,
|
||||
buttons: {
|
||||
button1: {
|
||||
label: "Ändern",
|
||||
callback: (html) => {
|
||||
updateAttribute(html)
|
||||
},
|
||||
icon: `<i class="fas fa-check"></i>`
|
||||
}
|
||||
}
|
||||
}).render(true);
|
||||
|
||||
}*/
|
||||
|
||||
/*
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
const tabs = new foundry.applications.ux.Tabs({
|
||||
navSelector: ".paperdoll-tabs.tabs",
|
||||
contentSelector: ".sheet-body.paperdoll-sets",
|
||||
initial: "set" + (this.object.system.setEquipped + 1)
|
||||
});
|
||||
tabs.bind(html[0]);
|
||||
|
||||
html.on('click', '.attribute.rollable', (evt) => {
|
||||
this._onAttributeRoll(evt);
|
||||
});
|
||||
|
||||
html.on('click', '[data-operation="switchSet"]', (evt) => {
|
||||
const {id} = evt.currentTarget.dataset;
|
||||
console.log(id);
|
||||
this.object.update({"system.setEquipped": id})
|
||||
})
|
||||
|
||||
html.on('click', '[data-operation="removeEffect"]', (evt) => {
|
||||
const {actorId, effectId} = evt.currentTarget.dataset;
|
||||
if (game.user.isGM) {
|
||||
this.object.items.get(effectId).delete();
|
||||
}
|
||||
})
|
||||
|
||||
html.on('click', '.talent.rollable', (evt) => {
|
||||
this._onTalentRoll(evt);
|
||||
});
|
||||
|
||||
html.on('click', '.sidebar-element.rollable', (evt) => {
|
||||
this._onRoll(evt);
|
||||
});
|
||||
|
||||
// TODO: merge into click.clickable handler
|
||||
html.on('click', '.talent .name', (evt) => {
|
||||
this.openEmbeddedDocument(evt.target.dataset.id);
|
||||
evt.stopPropagation();
|
||||
})
|
||||
|
||||
// TODO: merge into click.clickable handler
|
||||
html.on('click', '.advantage .name', (evt) => {
|
||||
this.openEmbeddedDocument(evt.target.dataset.id);
|
||||
evt.stopPropagation();
|
||||
})
|
||||
|
||||
// TODO: merge into click.clickable handler
|
||||
html.on('click', '.equipment', (evt) => {
|
||||
this.openEmbeddedDocument(evt.target.parentElement.dataset.id);
|
||||
evt.stopPropagation();
|
||||
})
|
||||
|
||||
html.on('click', '.clickable', async (evt) => {
|
||||
const {id, operation} = evt.currentTarget.dataset;
|
||||
if (operation === "openActorSheet") {
|
||||
this.openEmbeddedDocument(id);
|
||||
evt.stopPropagation();
|
||||
}
|
||||
})
|
||||
|
||||
new foundry.applications.ux.ContextMenu(html[0], '.talent.rollable', [
|
||||
{
|
||||
name: "Entfernen",
|
||||
icon: '<i class="fa-solid fa-trash"></i>',
|
||||
callback: (event) => {
|
||||
this.object.deleteEmbeddedDocuments('Item', [event[0].dataset.id])
|
||||
},
|
||||
condition: () => true
|
||||
}
|
||||
], {
|
||||
jQuery: false
|
||||
});
|
||||
|
||||
|
||||
new foundry.applications.ux.ContextMenu(html[0], '.attribute.rollable', [
|
||||
{
|
||||
name: "Anpassen",
|
||||
icon: '<i class="fa-solid fa-pen"></i>',
|
||||
callback: (event) => {
|
||||
this.showAdjustAttributeDialog(event[0].dataset.name, event[0].dataset.label, event[0].dataset.value)
|
||||
},
|
||||
condition: () => true
|
||||
}
|
||||
], {
|
||||
jQuery: false
|
||||
});
|
||||
|
||||
let handler = evt => {
|
||||
const talentId = evt.target.dataset.id
|
||||
evt.dataTransfer.setData("application/json", JSON.stringify({
|
||||
talentId
|
||||
}));
|
||||
this._onDragStart(evt)
|
||||
}
|
||||
|
||||
// Find all items on the character sheet.
|
||||
html.find('.talent.rollable').each((i, li) => {
|
||||
// Add draggable attribute and dragstart listener.
|
||||
li.setAttribute("draggable", true);
|
||||
li.addEventListener("dragstart", handler, false);
|
||||
});
|
||||
|
||||
html.on('click', '[data-operation="addWounds"]', async (evt) => {
|
||||
const {value} = evt.currentTarget.dataset
|
||||
this.object.update({"system.wunden.aktuell": value})
|
||||
})
|
||||
|
||||
html.on('click', '[data-operation="reduceWounds"]', async (evt) => {
|
||||
const {value} = evt.currentTarget.dataset
|
||||
this.object.update({"system.wunden.aktuell": value})
|
||||
})
|
||||
|
||||
html.on('click', '.liturgy.rollable', async (evt) => {
|
||||
|
||||
evt.stopPropagation();
|
||||
|
||||
const {id, rank, lkp, deity} = evt.currentTarget.dataset;
|
||||
const document = await this.object.items.get(id)
|
||||
|
||||
const data = {};
|
||||
|
||||
data.rank = rank;
|
||||
data.lkp = lkp;
|
||||
data.deity = deity;
|
||||
data.variations = [];
|
||||
const ranks = LiturgyData.ranks
|
||||
ranks.forEach(rank => {
|
||||
if (document.system.auswirkung[rank]) {
|
||||
data.variations.push({
|
||||
rank,
|
||||
effect: document.system.auswirkung[rank]
|
||||
})
|
||||
}
|
||||
})
|
||||
data.mods = [];
|
||||
|
||||
const htmlContent = await renderTemplate('systems/DSA_4-1/templates/dialog/modify-liturgy.hbs', data);
|
||||
|
||||
const dialogData = {
|
||||
title: document.name,
|
||||
content: htmlContent,
|
||||
data: {},
|
||||
buttons: {
|
||||
submit: {
|
||||
label: "Wirken",
|
||||
icon: '<i class="fas fa-die"></i>',
|
||||
callback: (html) => {
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
dialogData.render = new ModifyLiturgy(data).handleRender
|
||||
|
||||
const dialog = new Dialog(dialogData, {
|
||||
classes: ['dsa41', 'dialog', 'liturgy'],
|
||||
height: 480
|
||||
})
|
||||
|
||||
dialog.render(true);
|
||||
|
||||
return false;
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default CharacterSheet
|
||||
|
|
|
|||
|
|
@ -311,7 +311,6 @@ export class GroupSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
|
|||
if (document.parent) {
|
||||
document.parent.items.get(document._id).delete()
|
||||
}
|
||||
await this._onDropDocument(event, document);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
@include attributes.tab;
|
||||
}
|
||||
|
||||
.inventory.active {
|
||||
.tab.equipment.active {
|
||||
@include inventory.tab;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,41 +1,44 @@
|
|||
@mixin tab {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 320px;
|
||||
grid-template-rows: 74px 1fr;
|
||||
gap: 10px;
|
||||
height: 100%;
|
||||
grid-template-areas:
|
||||
|
||||
& > div {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 320px;
|
||||
grid-template-rows: 74px 1fr;
|
||||
gap: 10px;
|
||||
height: 100%;
|
||||
grid-template-areas:
|
||||
"capacity capacity"
|
||||
"inventory equipment";
|
||||
|
||||
.capacity {
|
||||
.capacity {
|
||||
|
||||
grid-area: capacity;
|
||||
grid-area: capacity;
|
||||
|
||||
.resource {
|
||||
.resource {
|
||||
|
||||
position: relative;
|
||||
border: 1px inset #ccc;
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
height: 8px;
|
||||
position: relative;
|
||||
border: 1px inset #ccc;
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
height: 8px;
|
||||
|
||||
span.fill {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(to bottom, #0bad29 0%, #11f128 50%, #0cde24 51%, #6ff77b 100%);
|
||||
}
|
||||
|
||||
span.fill {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(to bottom, #0bad29 0%, #11f128 50%, #0cde24 51%, #6ff77b 100%);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.inventory {
|
||||
grid-area: inventory;
|
||||
.inventory {
|
||||
grid-area: inventory;
|
||||
|
||||
.equipment:hover {
|
||||
.item-name {
|
||||
text-shadow: 0 0 10px rgb(255 0 0);
|
||||
.equipment:hover {
|
||||
.item-name {
|
||||
text-shadow: 0 0 10px rgb(255 0 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,47 +16,25 @@
|
|||
{{> "systems/DSA_4-1/templates/ui/partial-equipment-button.hbs" equipments}}
|
||||
|
||||
</div>
|
||||
|
||||
<!-- TODO: fix paperdoll
|
||||
<div class="paperdoll">
|
||||
<h3>Ausrüstung</h3>
|
||||
{{!-- Set Tab Navigation --}}
|
||||
<nav class="sheet-tabs paperdoll-tabs tabs" data-group="secondary">
|
||||
{{#each this.sets}}
|
||||
<a class="item" data-tab="{{this.tab}}">{{this.name}}</a>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sets-tabs tabs{{#if verticalTabs}} vertical{{/if}}"
|
||||
aria-roledescription="{{localize "SHEETS.FormNavLabel"}}">
|
||||
{{#each sets as |tab|}}
|
||||
<a data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}"
|
||||
{{#if tab.cssClass}}class="{{tab.cssClass}}"{{/if}}
|
||||
{{#if tab.tooltip}}data-tooltip="{{tab.tooltip}}"{{/if}}>
|
||||
{{#if tab.icon}}<i class="{{tab.icon}}" inert></i>{{/if}}
|
||||
{{#if tab.label}}<span>{{localize tab.label}}</span>{{/if}}
|
||||
</a>
|
||||
{{/each}}
|
||||
</nav>
|
||||
{{!-- Set Body --}}
|
||||
<section class="sheet-body paperdoll-sets">
|
||||
{{#each this.sets}}
|
||||
<div class="tab {{this.tab}}" data-group="secondary" data-tab="{{this.tab}}">
|
||||
|
||||
<div class="paperdoll">
|
||||
<svg
|
||||
width="280"
|
||||
height="530"
|
||||
viewBox="0 0 70 140"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path class="paperdoll-image"
|
||||
d="m 22.868053,0.6591628 0.658626,-0.52687462 6.270125,4.42573652 3.97809,0.5795595 0.605938,-4.58379633 11.828915,2.02846193 0.07905,2.3182421 3.556578,-0.9220267 6.691636,3.7671414 2.292014,3.7671454 -4.030787,0.05268 0.89573,3.951549 -1.106491,2.23921 -3.345818,-0.632247 0.869387,4.241332 v 2.476303 l 1.422627,-0.02634 0.500563,1.343527 h 3.29312 l 1.975878,3.424677 0.05267,2.818774 2.371046,6.243447 6.665292,14.72611 1.949534,0.658592 0.34249,4.794545 -0.289802,1.606966 0.922074,1.765023 -0.395167,2.897805 2.002222,6.743979 1.027449,1.949433 -0.737657,5.031644 -3.925413,4.399394 -0.922074,-0.553222 0.579595,-1.844054 -1.896847,1.264499 -0.526897,-0.790314 1.475315,-1.369869 -1.36994,-5.690236 -0.974762,4.083275 -1.053803,-0.342473 -0.790345,-3.108552 0.579584,-2.370933 0.526907,-0.658592 -0.263459,-0.500527 0.289803,-1.554277 0.948418,-2.739737 -0.447865,-2.212876 -1.106492,-0.974715 -1.554356,-1.501588 -2.423744,-4.030581 0.711314,-1.264496 -3.793683,-5.532171 -0.02638,-1.554275 -1.475326,-1.554276 -1.185522,-3.213929 -0.869387,-0.763967 -3.029682,4.820892 -1.159179,0.447843 0.447865,0.974716 -0.790345,0.974716 -0.21076,2.002118 0.368823,1.343527 -0.289792,1.923087 1.71243,2.397274 0.02638,1.791371 1.23821,1.975774 2.950651,13.013779 -0.421522,0.684934 2.713536,14.278264 7.113157,18.150786 1.132835,0.0791 3.767339,9.19394 -2.344701,0.73762 1.92318,7.42891 -1.738774,3.87253 1.001116,3.79348 2.687192,4.10961 -0.68497,2.44996 -10.643392,0.079 -0.684969,-8.42997 1.106491,-1.42257 -1.659742,-1.47524 0.07905,-2.00211 -1.949535,-2.18653 -0.55325,-3.84617 -1.422628,0.15805 -0.500553,-7.71869 1.02745,-1.05374 -2.133941,-4.21499 0.421521,-2.42362 -4.32059,-6.322483 -1.317252,-4.056921 -9.247098,-17.702946 -0.395178,0.210749 -3.609266,18.783038 -1.975878,3.635422 -0.289802,10.721871 0.764011,-0.0264 2.397389,7.71869 -4.663069,0.97472 -0.737658,6.74398 -2.212983,1.92309 1.422638,6.74397 -1.896847,3.10855 -4.504997,0.34248 -0.105385,-0.86934 -3.714641,1.2118 -8.140618,0.21075 -0.131729,-2.00212 8.483107,-5.47948 0.711314,-1.89674 -0.316146,-2.18653 0.869386,-0.71128 -1.027449,-1.36986 1.659732,-6.55958 -2.502775,-0.76396 1.317252,-3.42469 -0.289792,-1.2645 2.397389,-3.05585 2.107608,-12.592278 -0.948419,-7.349881 0.316136,-13.90946 -1.554356,-1.159119 4.504996,-21.153968 0.316147,-4.557454 0.948418,-3.345646 -2.160295,2.924147 -4.847487,4.135956 1.264565,1.080091 -3.42485,2.397275 -3.29313,2.766082 -0.68497,1.923087 -1.791461,-0.57956 -1.001116,1.633307 0.07905,4.87358 L 9.168636,68.889233 4.2948053,70.180074 1.5812697,67.466679 0.13228831,66.070468 2.9775532,60.801731 6.5868297,58.825953 6.692205,57.245334 8.0884885,56.059869 v -1.923064 l 2.9769935,-7.824067 2.897953,0.553216 7.323918,-8.166536 v -0.500531 l 3.872714,-4.689172 -0.263448,-2.028463 2.766234,-5.1897 5.163622,-1.448903 0.158063,-1.844055 -0.922074,-2.291899 0.948428,-5.95367 -0.658626,-4.294017 -4.926518,-3.9515498 z"/>
|
||||
</svg>
|
||||
|
||||
{{#each this.slots}}
|
||||
<div class="equipped {{this.target}}" data-set-id="{{../index}}"
|
||||
data-target="{{this.target}}" data-actor="{{../../actor.id}}"><img
|
||||
src="{{this.icon}}"/></div>
|
||||
{{/each}}
|
||||
{{#if (eq ../actor.system.setEquipped @index)}}
|
||||
<button disabled="disabled">Ausgerüstet</button>
|
||||
{{else}}
|
||||
<button data-operation="switchSet" data-id="{{@index}}">Wechseln</button>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
|
||||
</section>
|
||||
</div>
|
||||
|
||||
-->
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<section class="tab {{sets.set1.id}} {{sets.set1.cssClass}}"
|
||||
data-tab="{{sets.set1.id}}"
|
||||
data-group="{{sets.set1.group}}">
|
||||
|
||||
|
||||
<div class="paperdoll">
|
||||
<svg
|
||||
width="280"
|
||||
height="530"
|
||||
viewBox="0 0 70 140"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path class="paperdoll-image"
|
||||
d="m 22.868053,0.6591628 0.658626,-0.52687462 6.270125,4.42573652 3.97809,0.5795595 0.605938,-4.58379633 11.828915,2.02846193 0.07905,2.3182421 3.556578,-0.9220267 6.691636,3.7671414 2.292014,3.7671454 -4.030787,0.05268 0.89573,3.951549 -1.106491,2.23921 -3.345818,-0.632247 0.869387,4.241332 v 2.476303 l 1.422627,-0.02634 0.500563,1.343527 h 3.29312 l 1.975878,3.424677 0.05267,2.818774 2.371046,6.243447 6.665292,14.72611 1.949534,0.658592 0.34249,4.794545 -0.289802,1.606966 0.922074,1.765023 -0.395167,2.897805 2.002222,6.743979 1.027449,1.949433 -0.737657,5.031644 -3.925413,4.399394 -0.922074,-0.553222 0.579595,-1.844054 -1.896847,1.264499 -0.526897,-0.790314 1.475315,-1.369869 -1.36994,-5.690236 -0.974762,4.083275 -1.053803,-0.342473 -0.790345,-3.108552 0.579584,-2.370933 0.526907,-0.658592 -0.263459,-0.500527 0.289803,-1.554277 0.948418,-2.739737 -0.447865,-2.212876 -1.106492,-0.974715 -1.554356,-1.501588 -2.423744,-4.030581 0.711314,-1.264496 -3.793683,-5.532171 -0.02638,-1.554275 -1.475326,-1.554276 -1.185522,-3.213929 -0.869387,-0.763967 -3.029682,4.820892 -1.159179,0.447843 0.447865,0.974716 -0.790345,0.974716 -0.21076,2.002118 0.368823,1.343527 -0.289792,1.923087 1.71243,2.397274 0.02638,1.791371 1.23821,1.975774 2.950651,13.013779 -0.421522,0.684934 2.713536,14.278264 7.113157,18.150786 1.132835,0.0791 3.767339,9.19394 -2.344701,0.73762 1.92318,7.42891 -1.738774,3.87253 1.001116,3.79348 2.687192,4.10961 -0.68497,2.44996 -10.643392,0.079 -0.684969,-8.42997 1.106491,-1.42257 -1.659742,-1.47524 0.07905,-2.00211 -1.949535,-2.18653 -0.55325,-3.84617 -1.422628,0.15805 -0.500553,-7.71869 1.02745,-1.05374 -2.133941,-4.21499 0.421521,-2.42362 -4.32059,-6.322483 -1.317252,-4.056921 -9.247098,-17.702946 -0.395178,0.210749 -3.609266,18.783038 -1.975878,3.635422 -0.289802,10.721871 0.764011,-0.0264 2.397389,7.71869 -4.663069,0.97472 -0.737658,6.74398 -2.212983,1.92309 1.422638,6.74397 -1.896847,3.10855 -4.504997,0.34248 -0.105385,-0.86934 -3.714641,1.2118 -8.140618,0.21075 -0.131729,-2.00212 8.483107,-5.47948 0.711314,-1.89674 -0.316146,-2.18653 0.869386,-0.71128 -1.027449,-1.36986 1.659732,-6.55958 -2.502775,-0.76396 1.317252,-3.42469 -0.289792,-1.2645 2.397389,-3.05585 2.107608,-12.592278 -0.948419,-7.349881 0.316136,-13.90946 -1.554356,-1.159119 4.504996,-21.153968 0.316147,-4.557454 0.948418,-3.345646 -2.160295,2.924147 -4.847487,4.135956 1.264565,1.080091 -3.42485,2.397275 -3.29313,2.766082 -0.68497,1.923087 -1.791461,-0.57956 -1.001116,1.633307 0.07905,4.87358 L 9.168636,68.889233 4.2948053,70.180074 1.5812697,67.466679 0.13228831,66.070468 2.9775532,60.801731 6.5868297,58.825953 6.692205,57.245334 8.0884885,56.059869 v -1.923064 l 2.9769935,-7.824067 2.897953,0.553216 7.323918,-8.166536 v -0.500531 l 3.872714,-4.689172 -0.263448,-2.028463 2.766234,-5.1897 5.163622,-1.448903 0.158063,-1.844055 -0.922074,-2.291899 0.948428,-5.95367 -0.658626,-4.294017 -4.926518,-3.9515498 z"/>
|
||||
</svg>
|
||||
|
||||
{{#each this.slots}}
|
||||
<div class="equipped {{this.target}}" data-set-id="{{../index}}"
|
||||
data-target="{{this.target}}" data-actor="{{../../actor.id}}"><img
|
||||
src="{{this.icon}}"/></div>
|
||||
{{/each}}
|
||||
{{#if (eq ../actor.system.setEquipped @index)}}
|
||||
<button disabled="disabled">Ausgerüstet</button>
|
||||
{{else}}
|
||||
<button data-operation="switchSet" data-id="{{@index}}">Wechseln</button>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
Loading…
Reference in New Issue