mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-07 22:46:12 +01:00
Merged with main
This commit is contained in:
commit
b7c2d40d7f
62 changed files with 990 additions and 514 deletions
|
|
@ -50,13 +50,13 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
|
|||
element.addEventListener('mouseenter', this.hoverAdvantage)
|
||||
);
|
||||
html.querySelectorAll('.advantage').forEach(element =>
|
||||
element.addEventListener('click', event => this.selectAdvantage.bind(this)(event, data.message))
|
||||
element.addEventListener('click', event => this.selectAdvantage.call(this, event, data.message))
|
||||
);
|
||||
html.querySelectorAll('.ability-use-button').forEach(element =>
|
||||
element.addEventListener('click', event => this.abilityUseButton.bind(this)(event, data.message))
|
||||
element.addEventListener('click', event => this.abilityUseButton.call(this, event, data.message))
|
||||
);
|
||||
html.querySelectorAll('.action-use-button').forEach(element =>
|
||||
element.addEventListener('click', event => this.actionUseButton.bind(this)(event, data.message))
|
||||
element.addEventListener('click', event => this.actionUseButton.call(this, event, data.message))
|
||||
);
|
||||
};
|
||||
|
||||
|
|
@ -229,24 +229,52 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
|
|||
}
|
||||
};
|
||||
|
||||
onToggleTargets = async event => {
|
||||
/**
|
||||
* Toggle visibility of target containers.
|
||||
* @param {MouseEvent} event
|
||||
*/
|
||||
onToggleTargets(event) {
|
||||
event.stopPropagation();
|
||||
$($(event.currentTarget).parent()).find('.target-container').toggleClass('hidden');
|
||||
};
|
||||
event.currentTarget.parentElement
|
||||
?.querySelectorAll('.target-container')
|
||||
.forEach(el => el.classList.toggle('hidden'));
|
||||
}
|
||||
|
||||
hoverAdvantage = event => {
|
||||
$(event.currentTarget).siblings('.advantage').toggleClass('unused');
|
||||
};
|
||||
/**
|
||||
* Highlight advantage icons on hover.
|
||||
* @param {MouseEvent} event
|
||||
*/
|
||||
hoverAdvantage(event) {
|
||||
const parent = event.currentTarget.parentElement;
|
||||
if (!parent) return;
|
||||
|
||||
selectAdvantage = async (event, message) => {
|
||||
parent.querySelectorAll('.advantage').forEach(el => {
|
||||
if (el !== event.currentTarget) {
|
||||
el.classList.toggle('unused');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle selecting an advantage and disable further selection.
|
||||
* @param {MouseEvent} event
|
||||
* @param {object} message
|
||||
*/
|
||||
async selectAdvantage(event, message) {
|
||||
event.stopPropagation();
|
||||
|
||||
const updateMessage = game.messages.get(message._id);
|
||||
await updateMessage.update({ system: { advantageSelected: event.currentTarget.id === 'hope' ? 1 : 2 } });
|
||||
await updateMessage?.update({
|
||||
system: { advantageSelected: event.currentTarget.id === 'hope' ? 1 : 2 }
|
||||
});
|
||||
|
||||
$(event.currentTarget).siblings('.advantage').off('click');
|
||||
$(event.currentTarget).off('click');
|
||||
};
|
||||
const parent = event.currentTarget.parentElement;
|
||||
if (!parent) return;
|
||||
|
||||
parent.querySelectorAll('.advantage').forEach(el => {
|
||||
el.replaceWith(el.cloneNode(true));
|
||||
});
|
||||
}
|
||||
|
||||
abilityUseButton = async (event, message) => {
|
||||
event.stopPropagation();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue