Request: Add the option for a Stress mechanic

Issue #261 new
Sam Barrie created an issue

Stress is a new mechanic in Van Richten’s Guide to Ravenloft.

Stress can be tracked numerically as a Stress Score, increasing in trying situations and decreasing with care.

At the DM’s discression discretion, a character’s Stress Score might increase by 1 when relevant situations occur

When a character makes an attack roll, an ability check, or a saving throw, they must apply their current Stress Score as a penalty to the roll.

Stress is a blanket debuff for all d20 rolls

Comments (4)

  1. Sam Barrie reporter

    From a UX point of view this isn't especially good, having players have to go into their features and then manually add or remove a new point of stress (or sanity or.. etc) seems worse than being able to increase or decrease a score as you would if you were increasing or decreasing an ability, or health.

    If there were a way to make a macro that affected that value it would be a different issue (macro for increase/decrease variable) but as it can't be derived from anything it doesn't work like that

  2. Kim Mantas repo owner

    Here’s a macro that will increase a selected character’s stress:

    if (!token) return;
    const actor = token.actor;
    const stress = actor.items.getName('Stress');
    if (!stress) return;
    const effects = getProperty(stress.toObject(), 'flags.obsidian.effects');
    if (!effects?.length) return;
    const bonus = effects.flatMap(e => e.components).find(c => c.type === 'bonus');
    if (!bonus) return;
    bonus.bonus--;
    stress.setFlag('obsidian', 'effects', effects);
    

    Though this won’t actually work in 0.7 I don’t think. You would have to replace:

    const effects = getProperty(stress.toObject(), 'flags.obsidian.effects');
    

    With:

    const effects = duplicate(stress.getFlag('obsidian', 'effects'));
    

    To get it working in 0.7.

  3. Log in to comment