mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-07 22:46:12 +01:00
Merge branch 'development' into feature/active-effect-default-duality-dice
This commit is contained in:
commit
73048c2807
116 changed files with 2199 additions and 450 deletions
|
|
@ -178,6 +178,34 @@ export default class DualityRoll extends D20Roll {
|
|||
return modifiers;
|
||||
}
|
||||
|
||||
getActionChangeKeys() {
|
||||
const changeKeys = new Set([`system.bonuses.roll.${this.options.actionType}`]);
|
||||
|
||||
if (this.options.roll.type !== CONFIG.DH.GENERAL.rollTypes.attack.id) {
|
||||
changeKeys.add(`system.bonuses.roll.${this.options.roll.type}`);
|
||||
}
|
||||
|
||||
if (
|
||||
this.options.roll.type === CONFIG.DH.GENERAL.rollTypes.attack.id ||
|
||||
(this.options.roll.type === CONFIG.DH.GENERAL.rollTypes.spellcast.id && this.options.hasDamage)
|
||||
) {
|
||||
changeKeys.add(`system.bonuses.roll.attack`);
|
||||
}
|
||||
|
||||
if (this.options.roll.trait && this.data.traits?.[this.options.roll.trait]) {
|
||||
if (this.options.roll.type !== CONFIG.DH.GENERAL.rollTypes.spellcast.id)
|
||||
changeKeys.add('system.bonuses.roll.trait');
|
||||
}
|
||||
|
||||
const weapons = ['primaryWeapon', 'secondaryWeapon'];
|
||||
weapons.forEach(w => {
|
||||
if (this.options.source.item && this.options.source.item === this.data[w]?.id)
|
||||
changeKeys.add(`system.bonuses.roll.${w}`);
|
||||
});
|
||||
|
||||
return changeKeys;
|
||||
}
|
||||
|
||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
||||
await super.buildEvaluate(roll, config, message);
|
||||
|
||||
|
|
@ -229,6 +257,30 @@ export default class DualityRoll extends D20Roll {
|
|||
await super.buildPost(roll, config, message);
|
||||
|
||||
await DualityRoll.dualityUpdate(config);
|
||||
await DualityRoll.handleTriggers(roll, config);
|
||||
}
|
||||
|
||||
static async handleTriggers(roll, config) {
|
||||
const updates = [];
|
||||
const dualityUpdates = await game.system.registeredTriggers.runTrigger(
|
||||
CONFIG.DH.TRIGGER.triggers.dualityRoll.id,
|
||||
roll.data?.parent,
|
||||
roll,
|
||||
roll.data?.parent
|
||||
);
|
||||
if (dualityUpdates?.length) updates.push(...dualityUpdates);
|
||||
|
||||
if (config.roll.result.duality === -1) {
|
||||
const fearUpdates = await game.system.registeredTriggers.runTrigger(
|
||||
CONFIG.DH.TRIGGER.triggers.fearRoll.id,
|
||||
roll.data?.parent,
|
||||
roll,
|
||||
roll.data?.parent
|
||||
);
|
||||
if (fearUpdates?.length) updates.push(...fearUpdates);
|
||||
}
|
||||
|
||||
config.resourceUpdates.addResources(updates);
|
||||
}
|
||||
|
||||
static async addDualityResourceUpdates(config) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue