Fix Adversary attack multiplier

This commit is contained in:
Dapoolp 2025-06-25 02:45:20 +02:00
parent e1dd59454c
commit b7b4722f7c
10 changed files with 36 additions and 80 deletions

View file

@ -38,6 +38,8 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
}
};
static CLEAN_ARRAYS = ["damage.parts", "cost", "effects"];
_getTabs() {
const tabs = {
base: { active: true, cssClass: '', group: 'primary', id: 'base', icon: null, label: 'Base' },
@ -64,7 +66,6 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
context.getRealIndex = this.getRealIndex.bind(this);
context.disableOption = this.disableOption.bind(this);
context.isNPC = this.action.actor.type !== 'character';
return context;
}
@ -88,6 +89,19 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
_prepareSubmitData(event, formData) {
const submitData = foundry.utils.expandObject(formData.object);
for ( const keyPath of this.constructor.CLEAN_ARRAYS ) {
const data = foundry.utils.getProperty(submitData, keyPath);
if ( data ) foundry.utils.setProperty(submitData, keyPath, Object.values(data));
/* const data = foundry.utils.getProperty(submitData, keyPath),
originalData = foundry.utils.getProperty(this.action.toObject(), keyPath);
if ( data ) {
const aData = Object.values(data);
originalData.forEach((v,i) => {
aData[i] = {...originalData[i], ...aData[i]};
})
foundry.utils.setProperty(submitData, keyPath, aData);
} */
}
// this.element.querySelectorAll("fieldset[disabled] :is(input, select)").forEach(input => {
// foundry.utils.setProperty(submitData, input.name, input.value);
// });
@ -96,7 +110,7 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
static async updateForm(event, _, formData) {
const submitData = this._prepareSubmitData(event, formData),
data = foundry.utils.expandObject(foundry.utils.mergeObject(this.action.toObject(), submitData)),
data = foundry.utils.mergeObject(this.action.toObject(), submitData),
container = foundry.utils.getProperty(this.action.parent, this.action.systemPath);
let newActions;
if(Array.isArray(container)) {

View file

@ -71,7 +71,6 @@ export class DHRoll extends Roll {
user: game.user.id,
sound: config.mute ? null : CONFIG.sounds.dice,
system: config,
// content: this.messageTemplate,
content: await this.messageTemplate(config),
rolls: [roll]
};

View file

@ -55,7 +55,6 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) {
context.tabs = super._getTabs(this.constructor.TABS);
context.systemFields.attack.fields = this.document.system.attack.schema.fields;
context.isNPC = true;
console.log(context)
return context;
}

View file

@ -32,7 +32,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
selectSubclass: this.selectSubclass,
selectAncestry: this.selectAncestry,
selectCommunity: this.selectCommunity,
viewObject: this.viewObject,
// viewObject: this.viewObject,
useItem: this.useItem,
useFeature: this.useFeature,
takeShortRest: this.takeShortRest,
@ -537,7 +537,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
item.use(event);
}
static async viewObject(_, button) {
/* static async viewObject(_, button) {
const object = await fromUuid(button.dataset.value);
if (!object) return;
@ -547,7 +547,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
if (object.sheet.editMode) object.sheet.editMode = false;
object.sheet.render(true);
}
} */
editItem(event) {
const uuid = event.target.closest('[data-item-id]').dataset.itemId,