This commit is contained in:
WBHarry 2026-04-19 11:36:33 +02:00
parent cac00e4b30
commit 58b855389d
8 changed files with 52 additions and 24 deletions

View file

@ -31,21 +31,38 @@ export default class DHActionSettingsConfig extends DHActionBaseConfig {
}
static async addEffect(_event) {
const { areaIndex } = event.target.dataset;
if (!this.action.effects) return;
const effectData = game.system.api.data.activeEffects.BaseEffect.getDefaultObject();
const effectData = game.system.api.data.activeEffects.BaseEffect.getDefaultObject({ transfer: false });
const data = this.action.toObject();
this.sheetUpdate(data, effectData);
this.effects = [...this.effects, effectData];
data.effects.push({ _id: effectData.id });
if(areaIndex !== undefined)
data.area[areaIndex].effects.push(effectData.id);
else
data.effects.push({ _id: effectData.id });
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
}
static removeEffect(event, button) {
if (!this.action.effects) return;
const index = button.dataset.index,
const { areaIndex, index } = button.dataset;
let effectId = null;
if (areaIndex !== undefined) {
effectId = this.action.area[areaIndex].effects[index];
const data = this.action.toObject();
data.area[areaIndex].effects.splice(index, 1);
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
} else {
effectId = this.action.effects[index]._id;
this.constructor.removeElement.bind(this)(event, button);
this.constructor.removeElement.bind(this)(event, button);
}
this.sheetUpdate(
this.action.toObject(),
this.effects.find(x => x.id === effectId),