Merged with main

This commit is contained in:
WBHarry 2025-07-06 16:06:23 +02:00
commit 1bbebd2f32
5 changed files with 22 additions and 12 deletions

View file

@ -132,7 +132,7 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
disableOption(index, options, choices) { disableOption(index, options, choices) {
const filtered = foundry.utils.deepClone(options); const filtered = foundry.utils.deepClone(options);
Object.keys(filtered).forEach(o => { Object.keys(filtered).forEach(o => {
if (choices.find((c, idx) => c.type === o && index !== idx)) delete filtered[o]; if (choices.find((c, idx) => c.type === o && index !== idx)) filtered[o].disabled = true;
}); });
return filtered; return filtered;
} }
@ -181,11 +181,11 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
} }
static removeElement(event) { static removeElement(event, button) {
event.stopPropagation(); event.stopPropagation();
const data = this.action.toObject(), const data = this.action.toObject(),
key = event.target.closest('[data-key]').dataset.key, key = event.target.closest('[data-key]').dataset.key,
index = event.target.dataset.index; index = button.dataset.index;
data[key].splice(index, 1); data[key].splice(index, 1);
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
} }
@ -197,10 +197,10 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
} }
static removeDamage(event) { static removeDamage(event, button) {
if (!this.action.damage.parts) return; if (!this.action.damage.parts) return;
const data = this.action.toObject(), const data = this.action.toObject(),
index = event.target.dataset.index; index = button.dataset.index;
data.damage.parts.splice(index, 1); data.damage.parts.splice(index, 1);
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
} }
@ -229,9 +229,9 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
}; };
} }
static removeEffect(event) { static removeEffect(event, button) {
if (!this.action.effects) return; if (!this.action.effects) return;
const index = event.target.dataset.index, const index = button.dataset.index,
effectId = this.action.effects[index]._id; effectId = this.action.effects[index]._id;
this.constructor.removeElement.bind(this)(event); this.constructor.removeElement.bind(this)(event);
this.action.item.deleteEmbeddedDocuments('ActiveEffect', [effectId]); this.action.item.deleteEmbeddedDocuments('ActiveEffect', [effectId]);

View file

@ -118,7 +118,7 @@ export default class D20Roll extends DHRoll {
applyAdvantage() { applyAdvantage() {
this.d20.modifiers.findSplice(m => ['kh', 'kl'].includes(m)); this.d20.modifiers.findSplice(m => ['kh', 'kl'].includes(m));
if (!this.hasAdvantage && !this.hasDisadvantage) this.number = 1; if (!this.hasAdvantage && !this.hasDisadvantage) this.d20.number = 1;
else { else {
this.d20.number = 2; this.d20.number = 2;
this.d20.modifiers.push(this.hasAdvantage ? 'kh' : 'kl'); this.d20.modifiers.push(this.hasAdvantage ? 'kh' : 'kl');

View file

@ -5795,6 +5795,9 @@ body.theme-light.application.daggerheart.dialog {
border-radius: 6px; border-radius: 6px;
border: none; border: none;
} }
.application.dh-style fieldset .nest-inputs > .checkbox {
align-self: end;
}
.application.dh-style fieldset .form-group { .application.dh-style fieldset .form-group {
width: 100%; width: 100%;
} }
@ -5805,6 +5808,8 @@ body.theme-light.application.daggerheart.dialog {
} }
.application.dh-style fieldset .form-group.checkbox { .application.dh-style fieldset .form-group.checkbox {
width: fit-content; width: fit-content;
display: flex;
align-items: center;
} }
.application.dh-style fieldset .form-group.checkbox .form-fields { .application.dh-style fieldset .form-group.checkbox .form-fields {
height: 32px; height: 32px;

View file

@ -236,6 +236,10 @@
border-radius: 6px; border-radius: 6px;
border: none; border: none;
} }
> .checkbox {
align-self: end;
}
} }
.form-group { .form-group {
@ -248,7 +252,8 @@
&.checkbox { &.checkbox {
width: fit-content; width: fit-content;
display: flex;
align-items: center;
.form-fields { .form-fields {
height: 32px; height: 32px;
align-content: center; align-content: center;

View file

@ -32,17 +32,17 @@
{{/if}} {{/if}}
{{#if (and (not @root.isNPC) @root.hasRoll (not dmg.base) dmg.resultBased)}} {{#if (and (not @root.isNPC) @root.hasRoll (not dmg.base) dmg.resultBased)}}
<div class="nest-inputs"> <div class="nest-inputs">
<fieldset> <fieldset class="one-column">
<legend>With Hope</legend> <legend>With Hope</legend>
{{> formula fields=../../fields.value.fields type=../../fields.type dmg=dmg source=dmg.value target="value" realIndex=realIndex}} {{> formula fields=../../fields.value.fields type=../../fields.type dmg=dmg source=dmg.value target="value" realIndex=realIndex}}
</fieldset> </fieldset>
<fieldset> <fieldset class="one-column">
<legend>With Fear</legend> <legend>With Fear</legend>
{{> formula fields=../../fields.valueAlt.fields type=../../fields.type dmg=dmg source=dmg.valueAlt target="valueAlt" realIndex=realIndex}} {{> formula fields=../../fields.valueAlt.fields type=../../fields.type dmg=dmg source=dmg.valueAlt target="valueAlt" realIndex=realIndex}}
</fieldset> </fieldset>
</div> </div>
{{else}} {{else}}
<fieldset{{#if dmg.base}} disabled{{/if}}> <fieldset{{#if dmg.base}} disabled{{/if}} class="one-column">
{{> formula fields=../../fields.value.fields type=../fields.type dmg=dmg source=dmg.value target="value" realIndex=realIndex}} {{> formula fields=../../fields.value.fields type=../fields.type dmg=dmg source=dmg.value target="value" realIndex=realIndex}}
</fieldset> </fieldset>
{{/if}} {{/if}}