mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
* Small random fixes * Added use of ItemLinkFields * Multiclass levelup fixes * Fixed our onCreate methods unintentionally being run on all clients * Remade apps handling * Added for all class items and subclass * Restored foreignDocumentUuidField * Improved * PR fxies * Fixed tooltip enrichment * . * Reverted silly change
48 lines
2 KiB
JavaScript
48 lines
2 KiB
JavaScript
export default class DHDamageRoll extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
|
|
return {
|
|
messageType: new fields.StringField({ initial: 'damage' }),
|
|
title: new fields.StringField(),
|
|
roll: new fields.DataField({}),
|
|
targets: new fields.ArrayField(
|
|
new fields.SchemaField({
|
|
id: new fields.StringField({ required: true }),
|
|
actorId: new fields.StringField({}),
|
|
name: new fields.StringField(),
|
|
img: new fields.StringField(),
|
|
hit: new fields.BooleanField({ initial: false }),
|
|
saved: new fields.SchemaField({
|
|
result: new fields.NumberField(),
|
|
success: new fields.BooleanField({ nullable: true, initial: null })
|
|
})
|
|
})
|
|
),
|
|
targetSelection: new fields.BooleanField({ initial: true }),
|
|
hasSave: new fields.BooleanField({ initial: false }),
|
|
onSave: new fields.StringField(),
|
|
source: new fields.SchemaField({
|
|
actor: new fields.StringField(),
|
|
item: new fields.StringField(),
|
|
action: new fields.StringField(),
|
|
message: new fields.StringField()
|
|
}),
|
|
directDamage: new fields.BooleanField({ initial: true })
|
|
};
|
|
}
|
|
|
|
get messageTemplate() {
|
|
return `systems/daggerheart/templates/ui/chat/${this.messageType}-roll.hbs`;
|
|
}
|
|
|
|
prepareDerivedData() {
|
|
this.hasHitTarget = this.targets.filter(t => t.hit === true).length > 0;
|
|
this.currentTargets =
|
|
this.targetSelection !== true
|
|
? Array.from(game.user.targets).map(t =>
|
|
game.system.api.fields.ActionFields.TargetField.formatTarget(t)
|
|
)
|
|
: this.targets;
|
|
}
|
|
}
|