daggerheart/module/data/groupRollData.mjs
Carlos Fernandez cc822856e5
[Feature] Redesign group roll dialog (#1824)
* Redesign group roll dialog

* Style and restore aid modifiers

* Move successful buttons to inner result

* Localize and finish dialog

* Remove empty line

* Fix error and remove old styles

* Make icon pop a tiny bit better

* Fix advantage/disadvantage
2026-04-26 10:43:10 +02:00

40 lines
1.4 KiB
JavaScript

export default class GroupRollData extends foundry.abstract.DataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
leader: new fields.EmbeddedDataField(CharacterData, { nullable: true, initial: null }),
aidingCharacters: new fields.TypedObjectField(new fields.EmbeddedDataField(CharacterData))
};
}
get participants() {
return {
...(this.leader ? { [this.leader.id]: this.leader } : {}),
...this.aidingCharacters
};
}
}
export class CharacterData extends foundry.abstract.DataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
id: new fields.StringField({ required: true }),
name: new fields.StringField({ required: true }),
img: new fields.StringField({ required: true }),
rollChoice: new fields.StringField({
choices: CONFIG.DH.ACTOR.abilities,
initial: CONFIG.DH.ACTOR.abilities.agility.id
}),
rollData: new fields.JSONField({ nullable: true, initial: null }),
selected: new fields.BooleanField({ initial: false }),
successful: new fields.BooleanField({ nullable: true, initial: null })
};
}
get roll() {
return this.rollData ? CONFIG.Dice.daggerheart.DualityRoll.fromData(this.rollData) : null;
}
}