Fix Attribute rolling. Updated some depreciated values based on warnings.

This commit is contained in:
IrkTheImp 2025-05-22 21:41:40 -05:00
parent aa4021d1a2
commit cb34048ac6
5 changed files with 15 additions and 14 deletions

View file

@ -1,7 +1,7 @@
export default class DhpChatMesssage extends ChatMessage { export default class DhpChatMesssage extends ChatMessage {
async renderHTML() { async renderHTML() {
if(this.type === 'dualityRoll' || this.type === 'adversaryRoll' || this.type === 'abilityUse'){ if(this.type === 'dualityRoll' || this.type === 'adversaryRoll' || this.type === 'abilityUse'){
this.content = await renderTemplate(this.content, this.system); this.content = await foundry.applications.handlebars.renderTemplate(this.content, this.system);
} }
return super.renderHTML(); return super.renderHTML();

View file

@ -320,11 +320,11 @@ export default class PCSheet extends DaggerheartSheet(ActorSheetV2) {
this.render(); this.render();
} }
static async rollAttribute(_, event){ static async rollAttribute(event, target) {
const { roll, hope, fear, advantage, disadvantage, modifiers } = await this.document.dualityRoll({ title: 'Attribute Bonus', value: event.currentTarget.dataset.value }, event.shiftKey); const { roll, hope, fear, advantage, disadvantage, modifiers } = await this.document.dualityRoll({ title: 'Attribute Bonus', value: event.target.dataset.value }, event.shiftKey);
const cls = getDocumentClass("ChatMessage"); const cls = getDocumentClass("ChatMessage");
const msg = new cls({ const msgData = {
type: 'dualityRoll', type: 'dualityRoll',
system: { system: {
roll: roll._formula, roll: roll._formula,
@ -337,9 +337,9 @@ export default class PCSheet extends DaggerheartSheet(ActorSheetV2) {
user: game.user.id, user: game.user.id,
content: "systems/daggerheart/templates/chat/duality-roll.hbs", content: "systems/daggerheart/templates/chat/duality-roll.hbs",
rolls: [roll] rolls: [roll]
}); };
await cls.create(msg.toObject()); await cls.create(msgData);
} }
static async toggleMarks(_, button){ static async toggleMarks(_, button){

View file

@ -87,9 +87,10 @@ export default class DhpActor extends Actor {
async dualityRoll(modifier, shiftKey, bonusDamage=[]){ async dualityRoll(modifier, shiftKey, bonusDamage=[]){
let hopeDice = 'd12', fearDice = 'd12', advantageDice = null, disadvantageDice = null, bonusDamageString = ""; let hopeDice = 'd12', fearDice = 'd12', advantageDice = null, disadvantageDice = null, bonusDamageString = "";
const modifiers = [ const modifiers = [
{ {
value: Number.parseInt(modifier.value), value: modifier.value ? Number.parseInt(modifier.value) : 0,
label: modifier.value >= 0 ? `+${modifier.value}` : `-${modifier.value}`, label: modifier.value >= 0 ? `+${modifier.value}` : `-${modifier.value}`,
title: modifier.title, title: modifier.title,
} }
@ -104,11 +105,11 @@ export default class DhpActor extends Actor {
bonusDamageString = result.bonusDamage; bonusDamageString = result.bonusDamage;
const automateHope = await game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.Automation.Hope); const automateHope = await game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.Automation.Hope);
if(automateHope && result.hopeUsed){ if(automateHope && result.hopeUsed){
await this.update({ "system.resources.hope.value": this.system.resources.hope.value - result.hopeUsed }); await this.update({ "system.resources.hope.value": this.system.resources.hope.value - result.hopeUsed });
} }
} }
const roll = new Roll(`1${hopeDice} + 1${fearDice}${advantageDice ? ` + 1${advantageDice}` : disadvantageDice ? ` - 1${disadvantageDice}` : ''} ${modifiers.map(x => `+ ${x.value}`).join(' ')}`); const roll = new Roll(`1${hopeDice} + 1${fearDice}${advantageDice ? ` + 1${advantageDice}` : disadvantageDice ? ` - 1${disadvantageDice}` : ''} ${modifiers.map(x => `+ ${x.value}`).join(' ')}`);
let rollResult = await roll.evaluate(); let rollResult = await roll.evaluate();
rollResult.dice[0].options.appearance = { rollResult.dice[0].options.appearance = {

View file

@ -55,12 +55,12 @@
{{#if (eq effect.valueType ../config.valueTypes.select.id)}} {{#if (eq effect.valueType ../config.valueTypes.select.id)}}
<div class="flexrow"> <div class="flexrow">
<select name="system.effects.{{key}}.valueData.fromValue" value="{{effect.valueData.fromValue}}"> <select name="system.effects.{{key}}.valueData.fromValue" value="{{effect.valueData.fromValue}}">
{{selectOptions effect.options selected=effect.valueData.fromValue labelAttr="name" nameAttr="value" localize=true blank="" }} {{selectOptions effect.options selected=effect.valueData.fromValue labelAttr="name" valueAttr="value" localize=true blank="" }}
</select> </select>
</div> </div>
<div class="flexrow"> <div class="flexrow">
<select name="system.effects.{{key}}.valueData.value" value="{{effect.valueData.value}}"> <select name="system.effects.{{key}}.valueData.value" value="{{effect.valueData.value}}">
{{selectOptions effect.options selected=effect.valueData.value labelAttr="name" nameAttr="value" localize=true blank="" }} {{selectOptions effect.options selected=effect.valueData.value labelAttr="name" valueAttr="value" localize=true blank="" }}
</select> </select>
</div> </div>
{{/if}} {{/if}}

View file

@ -19,7 +19,7 @@
<label>Advantage</label> <label>Advantage</label>
<div class="form-fields"> <div class="form-fields">
<select name="advantage" {{#if this.disadvantage}}disabled{{/if}}> <select name="advantage" {{#if this.disadvantage}}disabled{{/if}}>
{{selectOptions this.diceOptions selected=this.advantage nameAttr="value" labelAttr="name" localize=true blank=""}} {{selectOptions this.diceOptions selected=this.advantage valueAttr="value" labelAttr="name" localize=true blank=""}}
</select> </select>
</div> </div>
</div> </div>
@ -27,7 +27,7 @@
<label>Disadvantage</label> <label>Disadvantage</label>
<div class="form-fields"> <div class="form-fields">
<select name="disadvantage" {{#if this.advantage}}disabled{{/if}}> <select name="disadvantage" {{#if this.advantage}}disabled{{/if}}>
{{selectOptions this.diceOptions selected=this.disadvantage nameAttr="value" labelAttr="name" localize=true blank=""}} {{selectOptions this.diceOptions selected=this.disadvantage valueAttr="value" labelAttr="name" localize=true blank=""}}
</select> </select>
</div> </div>
</div> --}} </div> --}}
@ -36,7 +36,7 @@
<label>Hope</label> <label>Hope</label>
<div class="form-fields"> <div class="form-fields">
<select name="hope"> <select name="hope">
{{selectOptions this.diceOptions selected=this.hope nameAttr="value" labelAttr="name" localize=true}} {{selectOptions this.diceOptions selected=this.hope valueAttr="value" labelAttr="name" localize=true}}
</select> </select>
</div> </div>
</div> </div>
@ -44,7 +44,7 @@
<label>Fear</label> <label>Fear</label>
<div class="form-fields"> <div class="form-fields">
<select name="fear"> <select name="fear">
{{selectOptions this.diceOptions selected=this.fear nameAttr="value" labelAttr="name" localize=true}} {{selectOptions this.diceOptions selected=this.fear valueAttr="value" labelAttr="name" localize=true}}
</select> </select>
</div> </div>
</div> </div>