mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-17 23:49:02 +01:00
Added effect enricher
This commit is contained in:
parent
6772a8fbd8
commit
d3836fbeeb
8 changed files with 77 additions and 44 deletions
|
|
@ -1,5 +1,3 @@
|
|||
import { rollCommandToJSON } from '../helpers/utils.mjs';
|
||||
|
||||
export default function DhDamageEnricher(match, _options) {
|
||||
const parts = match[1].split('|').map(x => x.trim());
|
||||
|
||||
|
|
@ -25,8 +23,7 @@ export default function DhDamageEnricher(match, _options) {
|
|||
return getDamageMessage(value, type, match[0]);
|
||||
}
|
||||
|
||||
export function getDamageMessage(damage, type, defaultElement) {
|
||||
const dualityElement = document.createElement('span');
|
||||
function getDamageMessage(damage, type, defaultElement) {
|
||||
const typeIcons = type
|
||||
.replace('[', '')
|
||||
.replace(']', '')
|
||||
|
|
@ -41,6 +38,7 @@ export function getDamageMessage(damage, type, defaultElement) {
|
|||
|
||||
const iconNodes = typeIcons.map(x => `<i class="fa-solid ${x}"></i>`).join('');
|
||||
|
||||
const dualityElement = document.createElement('span');
|
||||
dualityElement.innerHTML = `
|
||||
<button class="enriched-damage-button"
|
||||
data-value="${damage}"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ export default function DhDualityRollEnricher(match, _options) {
|
|||
return getDualityMessage(roll);
|
||||
}
|
||||
|
||||
export function getDualityMessage(roll) {
|
||||
function getDualityMessage(roll) {
|
||||
const traitLabel =
|
||||
roll.trait && abilities[roll.trait]
|
||||
? game.i18n.format('DAGGERHEART.GENERAL.check', {
|
||||
|
|
|
|||
19
module/enrichers/EffectEnricher.mjs
Normal file
19
module/enrichers/EffectEnricher.mjs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
export default async function DhEffectEnricher(match, _options) {
|
||||
const effect = await foundry.utils.fromUuid(match[1]);
|
||||
if (!effect) return match[0];
|
||||
|
||||
const dualityElement = document.createElement('span');
|
||||
dualityElement.innerHTML = `
|
||||
<a class="flexrow enriched-effect"
|
||||
data-link
|
||||
draggable="true"
|
||||
data-uuid="${match[1]}"
|
||||
data-tooltip="${game.i18n.localize('DAGGERHEART.UI.Tooltip.dragApplyEffect')}"
|
||||
>
|
||||
<img src="icons/svg/aura.svg" style="width: 24px;" />
|
||||
<span>${effect.name}</span>
|
||||
</a>
|
||||
`;
|
||||
|
||||
return dualityElement;
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
import { default as DhDamageEnricher } from './DamageEnricher.mjs';
|
||||
import { default as DhDualityRollEnricher } from './DualityRollEnricher.mjs';
|
||||
import { default as DhTemplateEnricher } from './TemplateEnricher.mjs';
|
||||
import { default as DhDamageEnricher, renderDamageButton } from './DamageEnricher.mjs';
|
||||
import { default as DhDualityRollEnricher, renderDualityButton } from './DualityRollEnricher.mjs';
|
||||
import { default as DhEffectEnricher } from './EffectEnricher.mjs';
|
||||
import { default as DhTemplateEnricher, renderMeasuredTemplate } from './TemplateEnricher.mjs';
|
||||
|
||||
export { DhDamageEnricher, DhDualityRollEnricher, DhTemplateEnricher };
|
||||
export { DhDamageEnricher, DhDualityRollEnricher, DhEffectEnricher, DhTemplateEnricher };
|
||||
|
||||
export const enricherConfig = [
|
||||
{
|
||||
|
|
@ -13,8 +14,30 @@ export const enricherConfig = [
|
|||
pattern: /\[\[\/dr\s?(.*?)\]\]/g,
|
||||
enricher: DhDualityRollEnricher
|
||||
},
|
||||
{
|
||||
pattern: /^@Effect\[(.*)\]$/g,
|
||||
enricher: DhEffectEnricher
|
||||
},
|
||||
{
|
||||
pattern: /^@Template\[(.*)\]$/g,
|
||||
enricher: DhTemplateEnricher
|
||||
}
|
||||
];
|
||||
|
||||
export const enricherRenderSetup = element => {
|
||||
element
|
||||
.querySelectorAll('.enriched-damage-button')
|
||||
.forEach(element => element.addEventListener('click', renderDamageButton));
|
||||
|
||||
element
|
||||
.querySelectorAll('.duality-roll-button')
|
||||
.forEach(element => element.addEventListener('click', renderDualityButton));
|
||||
|
||||
element
|
||||
.querySelectorAll('.measured-template-button')
|
||||
.forEach(element => element.addEventListener('click', renderMeasuredTemplate));
|
||||
|
||||
// element
|
||||
// .querySelectorAll('.enriched-effect')
|
||||
// .forEach(element => element.addEventListener('dragstart', dragEnrichedEffect));
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue