ok I've done some experimenting and still not having any luck so I'm hoping you might give me some more insight into where this is going wrong. Is my pathway correct for hope? This is what they suggested over on Macro-polo but they aren't familiar with custom system builder: await actor.update({"key.off.hope": Hope + 1}); and this is what I have passing to the Macro: %{return await game.macros.getName('Agility Roll').execute({Actor: entity.entity, Agility: ${Agilityvalue}$, Hope: ${hopevalue}$});}%. This is the full macro ```javascript
const buttons = ["adv", "norm", "dis"].reduce((acc, action) => {
acc[action] = {label: action.capitalize(), callback};
return acc;
}, {});
function callback([html], event) {
const action = event.currentTarget.dataset.button;
return {
adv: "+ 1d6",
dis: "- 1d6"
}[action] ?? "";
}
const d6 = await Dialog.wait({buttons});
const roll = await new Roll(1d12[Hope] + 1d12[Fear] + ${Agility} ${d6}).evaluate();
const isCrit = roll.dice[0].total === roll.dice[1].total;
await actor.update({"key.off.hope": Hope + 1});
const isHope = roll.dice[0].total > roll.dice[1].total;
await actor.update({"key.off.hope": Hope + 1});
const isFear = roll.dice[0].total < roll.dice[1].total;
await roll.toMessage({
speaker: ChatMessage.implementation.getSpeaker({actor}),
flavor: isCrit ? "Agility Critical success!" : isHope ? "Rolled Agility with Hope!" : isFear ? "Rolled Agility with Fear!" : ""
});
{throw "Done";}```