mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
Add view party button to character sheet (#1508)
This commit is contained in:
parent
4e18ed8270
commit
e6973fabd0
5 changed files with 68 additions and 5 deletions
|
|
@ -226,6 +226,7 @@
|
||||||
"confirmText": "Would you like to level up your companion {name} by {levelChange} levels at this time? (You can do it manually later)"
|
"confirmText": "Would you like to level up your companion {name} by {levelChange} levels at this time? (You can do it manually later)"
|
||||||
},
|
},
|
||||||
"viewLevelups": "View Levelups",
|
"viewLevelups": "View Levelups",
|
||||||
|
"viewParty": "View Party",
|
||||||
"InvalidOldCharacterImportTitle": "Old Character Import",
|
"InvalidOldCharacterImportTitle": "Old Character Import",
|
||||||
"InvalidOldCharacterImportText": "Character data exported prior to system version 1.1 will not generate a complete character. Do you wish to continue?",
|
"InvalidOldCharacterImportText": "Character data exported prior to system version 1.1 will not generate a complete character. Do you wish to continue?",
|
||||||
"cancelBeastform": "Cancel Beastform"
|
"cancelBeastform": "Cancel Beastform"
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,8 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
handleResourceDice: CharacterSheet.#handleResourceDice,
|
handleResourceDice: CharacterSheet.#handleResourceDice,
|
||||||
advanceResourceDie: CharacterSheet.#advanceResourceDie,
|
advanceResourceDie: CharacterSheet.#advanceResourceDie,
|
||||||
cancelBeastform: CharacterSheet.#cancelBeastform,
|
cancelBeastform: CharacterSheet.#cancelBeastform,
|
||||||
useDowntime: this.useDowntime
|
useDowntime: this.useDowntime,
|
||||||
|
viewParty: CharacterSheet.#viewParty,
|
||||||
},
|
},
|
||||||
window: {
|
window: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
|
|
@ -892,6 +893,41 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
game.system.api.fields.ActionFields.BeastformField.handleActiveTransformations.call(item);
|
game.system.api.fields.ActionFields.BeastformField.handleActiveTransformations.call(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async #viewParty(_, target) {
|
||||||
|
const parties = this.document.parties;
|
||||||
|
if (parties.size <= 1) {
|
||||||
|
parties.first()?.sheet.render({ force: true });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const buttons = parties.map((p) => {
|
||||||
|
const button = document.createElement("button");
|
||||||
|
button.type = "button";
|
||||||
|
button.classList.add("plain");
|
||||||
|
const img = document.createElement("img");
|
||||||
|
img.src = p.img;
|
||||||
|
button.append(img);
|
||||||
|
const name = document.createElement("span");
|
||||||
|
name.textContent = p.name;
|
||||||
|
button.append(name);
|
||||||
|
button.addEventListener("click", () => {
|
||||||
|
p.sheet?.render({ force: true });
|
||||||
|
game.tooltip.dismissLockedTooltips();
|
||||||
|
});
|
||||||
|
return button;
|
||||||
|
});
|
||||||
|
|
||||||
|
const html = document.createElement("div");
|
||||||
|
html.classList.add("party-list");
|
||||||
|
html.append(...buttons);
|
||||||
|
|
||||||
|
game.tooltip.dismissLockedTooltips();
|
||||||
|
game.tooltip.activate(target, {
|
||||||
|
html,
|
||||||
|
locked: true,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open the downtime application.
|
* Open the downtime application.
|
||||||
* @type {ApplicationClickAction}
|
* @type {ApplicationClickAction}
|
||||||
|
|
|
||||||
|
|
@ -145,6 +145,11 @@
|
||||||
|
|
||||||
button {
|
button {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
padding: 0 0.375rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
button[data-action=viewParty] {
|
||||||
|
margin-right: 6px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -344,4 +344,20 @@ aside[role='tooltip'].locked-tooltip:has(div.daggerheart.dh-style.tooltip.card-s
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.party-list {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
button {
|
||||||
|
width: 100%;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
img {
|
||||||
|
border: none;
|
||||||
|
width: 1rem;
|
||||||
|
height: 1rem;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,11 +87,16 @@
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<div class="downtime-section">
|
<div class="downtime-section">
|
||||||
<button type="button" data-action="useDowntime" data-type="shortRest" data-tooltip="{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}">
|
{{#if document.parties.size}}
|
||||||
<i class="fa-solid fa-utensils"></i>
|
<button type="button" data-action="viewParty" data-tooltip="DAGGERHEART.ACTORS.Character.viewParty">
|
||||||
|
<i class="fa-solid fa-fw fa-users"></i>
|
||||||
|
</button>
|
||||||
|
{{/if}}
|
||||||
|
<button type="button" data-action="useDowntime" data-type="shortRest" data-tooltip="DAGGERHEART.APPLICATIONS.Downtime.shortRest.title">
|
||||||
|
<i class="fa-solid fa-fw fa-utensils"></i>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" data-action="useDowntime" data-type="longRest" data-tooltip="{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}">
|
<button type="button" data-action="useDowntime" data-type="longRest" data-tooltip="DAGGERHEART.APPLICATIONS.Downtime.longRest.title">
|
||||||
<i class="fa-solid fa-bed"></i>
|
<i class="fa-solid fa-fw fa-bed"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue