[Feature] 155 - New Adversary Sheet (#228)

* rework adversary templates, add setting dialog to adversary and fix erratas

* fix errata in adversary data model

* developing experience setting page

* Experience settings update

* finish actions setting tab

* Fixed Notes enriched path and adversary-settings form id

* Fixed UseItem and ToChat

* Fixed Firefox progress bar (HP/Stress) (#230)

* insert prose-mirror style and inicial implement to damage settings

* fix character import relative paths and remove effects from standard adversary attack

---------

Co-authored-by: WBHarry <williambjrklund@gmail.com>
Co-authored-by: GyroFalc <43814421+GyroFalc@users.noreply.github.com>
This commit is contained in:
Murilo Brito 2025-07-01 17:07:12 -03:00 committed by GitHub
parent 8b834036fa
commit 5ffb22fcc5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 2123 additions and 254 deletions

View file

@ -531,6 +531,29 @@ export class DHBaseAction extends foundry.abstract.DataModel {
}
}
/* SAVE */
async toChat(origin) {
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.localize('DAGGERHEART.ActionType.action'),
origin: origin,
img: this.img,
name: this.name,
description: this.description,
actions: []
};
const msg = new cls({
type: 'abilityUse',
user: game.user.id,
system: systemData,
content: await foundry.applications.handlebars.renderTemplate(
'systems/daggerheart/templates/chat/ability-use.hbs',
systemData
)
});
cls.create(msg.toObject());
}
}
export class DHDamageAction extends DHBaseAction {

View file

@ -30,8 +30,11 @@ export default class DhpAdversary extends BaseDataActor {
choices: SYSTEM.ACTOR.adversaryTypes,
initial: SYSTEM.ACTOR.adversaryTypes.standard.id
}),
motivesAndTactics: new fields.HTMLField(),
description: new fields.StringField(),
motivesAndTactics: new fields.StringField(),
notes: new fields.HTMLField(),
difficulty: new fields.NumberField({ required: true, initial: 1, integer: true }),
hordeHp: new fields.NumberField({ required: true, initial: 1, integer: true }),
damageThresholds: new fields.SchemaField({
major: new fields.NumberField({ required: true, initial: 0, integer: true }),
severe: new fields.NumberField({ required: true, initial: 0, integer: true })
@ -40,6 +43,7 @@ export default class DhpAdversary extends BaseDataActor {
hitPoints: resourceField(),
stress: resourceField()
}),
actions: new fields.ArrayField(new ActionField()),
attack: new ActionField({
initial: {
name: 'Attack',
@ -66,7 +70,7 @@ export default class DhpAdversary extends BaseDataActor {
experiences: new fields.TypedObjectField(
new fields.SchemaField({
name: new fields.StringField(),
value: new fields.NumberField({ required: true, integer: true, initial: 1 })
modifier: new fields.NumberField({ required: true, integer: true, initial: 1 })
})
),
bonuses: new fields.SchemaField({