mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-17 07:36:26 +01:00
Fixed DiceSoNice integration again
This commit is contained in:
parent
b3e7c6b9b2
commit
09f5fbcc28
4 changed files with 24 additions and 9 deletions
|
|
@ -1,6 +1,19 @@
|
||||||
import DHAdversaryRoll from './adversaryRoll.mjs';
|
import DHAdversaryRoll from './adversaryRoll.mjs';
|
||||||
|
|
||||||
export default class DHDualityRoll extends DHAdversaryRoll {
|
export default class DHDualityRoll extends DHAdversaryRoll {
|
||||||
|
static defineSchema() {
|
||||||
|
const fields = foundry.data.fields;
|
||||||
|
|
||||||
|
return {
|
||||||
|
...super.defineSchema(),
|
||||||
|
result: new fields.SchemaField({
|
||||||
|
duality: new fields.NumberField({ integer: true }),
|
||||||
|
label: new fields.StringField(),
|
||||||
|
total: new fields.NumberField({ integer: true })
|
||||||
|
})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
get messageTemplate() {
|
get messageTemplate() {
|
||||||
return 'systems/daggerheart/templates/ui/chat/duality-roll.hbs';
|
return 'systems/daggerheart/templates/ui/chat/duality-roll.hbs';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
||||||
import { setDiceSoNiceForDualityRoll } from '../helpers/utils.mjs';
|
|
||||||
import DHRoll from './dhRoll.mjs';
|
import DHRoll from './dhRoll.mjs';
|
||||||
|
|
||||||
export default class D20Roll extends DHRoll {
|
export default class D20Roll extends DHRoll {
|
||||||
|
|
@ -137,12 +136,7 @@ export default class D20Roll extends DHRoll {
|
||||||
|
|
||||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
static async buildEvaluate(roll, config = {}, message = {}) {
|
||||||
if (config.evaluate !== false) await roll.evaluate();
|
if (config.evaluate !== false) await roll.evaluate();
|
||||||
const advantageState =
|
|
||||||
config.roll.advantage == this.ADV_MODE.ADVANTAGE
|
|
||||||
? true
|
|
||||||
: config.roll.advantage == this.ADV_MODE.DISADVANTAGE
|
|
||||||
? false
|
|
||||||
: null;
|
|
||||||
this.postEvaluate(roll, config);
|
this.postEvaluate(roll, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ export const registerRollDiceHooks = () => {
|
||||||
|
|
||||||
if (updates.length) actor.modifyResource(updates);
|
if (updates.length) actor.modifyResource(updates);
|
||||||
|
|
||||||
if (!config.roll.hasOwnProperty('success') && !config.targets.length) return;
|
if (!config.roll.hasOwnProperty('success') && !config.targets?.length) return;
|
||||||
|
|
||||||
const rollResult = config.roll.success || config.targets.some(t => t.hit),
|
const rollResult = config.roll.success || config.targets.some(t => t.hit),
|
||||||
looseSpotlight = !rollResult || config.roll.result.duality === -1;
|
looseSpotlight = !rollResult || config.roll.result.duality === -1;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
||||||
import D20Roll from './d20Roll.mjs';
|
import D20Roll from './d20Roll.mjs';
|
||||||
|
import { setDiceSoNiceForDualityRoll } from '../helpers/utils.mjs';
|
||||||
|
|
||||||
export default class DualityRoll extends D20Roll {
|
export default class DualityRoll extends D20Roll {
|
||||||
_advantageFaces = 6;
|
_advantageFaces = 6;
|
||||||
|
|
@ -80,7 +81,6 @@ export default class DualityRoll extends D20Roll {
|
||||||
}
|
}
|
||||||
|
|
||||||
static getHooks(hooks) {
|
static getHooks(hooks) {
|
||||||
|
|
||||||
return [...(hooks ?? []), 'Duality'];
|
return [...(hooks ?? []), 'Duality'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -142,5 +142,13 @@ export default class DualityRoll extends D20Roll {
|
||||||
total: roll.dHope.total + roll.dFear.total,
|
total: roll.dHope.total + roll.dFear.total,
|
||||||
label: roll.totalLabel
|
label: roll.totalLabel
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const advantageState =
|
||||||
|
config.roll.advantage == this.ADV_MODE.ADVANTAGE
|
||||||
|
? true
|
||||||
|
: config.roll.advantage == this.ADV_MODE.DISADVANTAGE
|
||||||
|
? false
|
||||||
|
: null;
|
||||||
|
setDiceSoNiceForDualityRoll(roll, advantageState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue