ComfortableGreySloth / FoundryVTTDaggerheartSWB

This is my Simple Worldbuilding hack for the Daggerheart RPG beta playtest. It only covers level one content at this time, it is largely an engine for you to play your own games.
3 stars 2 forks source link

Domain Cards L3 - Conviction #17

Open k2nair opened 4 months ago

k2nair commented 4 months ago

All regular Domain L3 cards created. All Domain card descriptions updated with inline rolls where applicable.

Splendor - Conviction - I can't get it to check if stress.value = stress.max before updating the proficiency value. Might need to create two macros to adjust the proficiency value up and down so that we can call them. What do you think?

Current problem is that when I execute, it just adds 1 to the proficiency, regardless of stress value.

Description

You speak with an unmatched power and grace. When you attempt to use this candor to de-escalate a violent situation or get someone to follow your lead, roll with advantage.

Your conviction also emboldens you in moments of duress. When all of your Stress is marked, your attacks are made with +1 Proficiency.

@UUID[Macro.9Umib0sDhPpjLSjb]{Action Roll}

Item Macro

const itemID = "RobzjJSzq4GMDs90"; 
const itemTextMacro = game.macros.get("JyXQTmFA2dP43jO5");

await itemTextMacro.execute({itemID: itemID});

if (!actor) {let actor = canvas.tokens.controlled[0]?.actor;}
else {let actor = game.user.character;}

if (actor) {
  let stress = actor.system.attributes.der.stress;
  let pro = actor.system.attributes.core.pro; // Get the armor attribute

  if (stress.value = stress.max) {
    // Reduce armor value by 1 if it's greater than the minimum value
    actor.update({
      "data.attributes.core.pro.value": pro.value + 1
    });
  } else {
    ui.notifications.warn("stress value is not at its maximum.");
  }
} else {
  ui.notifications.warn("No character sheet found.");
}
let effectFile = "animated-spell-effects-cartoon.level 01.thuderwave.purple";
let effectScale = 0.3;
let targeting = "Self"; // "On" or "Melee" or "Ranged" or "Self" or "Other" or "Persist Self" or "Persist" or "Returns"
let targetFrom = token;
const itemAnimMacro = game.macros.get("5uWfqKN3k6GrcPe8");

// itemRollMacro.execute();
await itemAnimMacro.execute({ effectFile: effectFile, effectScale: effectScale, targeting: targeting, targetFrom: targetFrom });
ComfortableGreySloth commented 4 months ago

Oh that's interesting. I guess the better route would be to create a mod.pro (modifier.proficiency) attribute, and start baking that into all of the present rolls. That's more work than I'm willing to do though. What I've done with similar abilities (like the "Apex Predator" foundation ability from the Ranger "Wayfinder" subclass) is just put a bunch of in-line rolls into the description for each potential damage die (so instead of actually modifying the proficiency people just manually roll an extra die.) Alternatively, I've also made inline rolls that are [[/r (@core.pro)+1d#]] or such.

k2nair commented 4 months ago

Decided to go with a value shifter macro. Have added to the item.