Dishonored RPG die rolls

Greetings all,

I’m working on a game using the fairly new RPG Dishonored. Unfortunately the die rolling system is a little convoluted.

You have six skills: Fight, Move, Study, Survive, Talk and Tinker
And six styles: Boldly, Carefully, Cleverly, Forcefully, Quietly and Swiftly
And focuses which could be stuff like: Brawling or Firearms

Each skill and style has a rating of 4 to 8. Focuses start at 1.

To make an action you pick the Skill. ie: Fight
Then you pick your style: ie: Quietly
If you have a relevant focus you pick that: ie: Firearms

You add these three numbers together to determine your target number. This is the number you must roll equal or less than to get a success. You roll 2d20 as two individual rolls. A 1 is always critical success and counts as (2) successes. A 20 is a failure with consequences (so a critical failure). Additionally if you use a focus, any die coming up less than your focus value also counts as (2) successes.

The GM determines how many successes you need. Generally a combat roll requires 1 for melee and 2 for ranged. Other skills may require more.

so if I have Fight [4], Quietly [6] and Firearms [4]. My TN is 14
Each die that rolls less than 4 counts as (2) successes. (so a critical success)
Each die that is 4 to 14 counts as (1) success.
Each die that is 15-19 is a failure
and 20 is a critical failure.

So if I roll a 3 and a 17… I get two successes.

So I’m trying to design an action macro to handle this hooplah on a character sheet. But i think my options are limited. You can do a delayed roll, which is cool… but there appears to be no way to have some sort of edit box in the macro to tell the system how many successes you need.

or which combination of Skill, Style and Focus you are currently using. What I’d like to do is have a ‘Fight’ action, which allows you to pick which style you want and have you enter the value of your focus (so say 4 from above). Have the delayed die rolls be able to handle critical successes, critical failures but still show the die rolls themselves.

This is what I have so far…

Required Successes: {task_difficulty}

| Style      |          TN                    | Style      | TN     |
| :--------: | :----------------------------: | :--------: | :---- :|
| Boldly     | {skill_fight+style_boldly}     | Forcefully | {skill_fight+style_forcefully} |
| Carefully  | {skill_fight+style_carefully}  | Quietly    | {skill_fight+style_quietly}    |
| Cleverly   | {skill_fight+style_cleverly}   | Swiftly    | {skill_fight+style_swiftly}    |

___
**roll #1** !!(1d20) 
**roll #2** !!(1d20)

Is there any way to have the {task difficulty} field editable?

thanks for the assist in advance and remember ‘no’ is a valid answer.

Eiredrake

EDIT

So to get this working… I’ve added checkboxes and field values for each type of skill, each type of style and a bunch of checkboxes and values for 20 blank spaces worth of focuses.

I also added three hidden stats: selected_skill_value, selected_style_value, selected_focus_value, and calculated_target_number that are calculated by what the checkboxes are filled with.

This leaves me with a working solution filled with really large sets of conditionals.

selected_skill_value for example is:
( {selected_skill_fight ? skill_fight : 0} + {selected_skill_move ? skill_move : 0} + {selected_skill_study ? skill_study : 0} + {selected_skill_survive ? skill_survive : 0}+ {selected_skill_talk ? skill_talk : 0} + {selected_skill_tinker ? skill_tinker : 0} )

This allows me to do an action like this:
| Result | Successes |
| :----: | :-------: |
| <= {selected_focus_value > 0? selected_focus_value : 1} | (2) |
| <= {action_target_number} | (1) |
| > {action_target_number} to 19 | failure |
| 20 | complications |
----
result 1: !!(1d20cr<={selected_focus_value > 0? selected_focus_value : 1}fr=20)
result 2: !!(1d20cr<={selected_focus_value > 0? selected_focus_value : 1}1fr=20)

I’ll likely be adding in some more modifiers because I think ‘chaos’ and ‘momentum’ add to the rolls as well. But this is going to be hard to maintain and requires the player to keep their sheets open all the time to calculate the die roll. Not everybody has the kind of screen real estate

The sheets in the Star Trek Adventures quickstart uses almost this exact rolling system, just with different names. If you start there, rename stats/skills, and add a third value for your focus field then you’re golden. (In STA, focus just takes the Skill and makes that the crit threshold)

The short answer is yes, this is all doable. You can have a look at the Star Trek sheet (or any of the other Modiphius games) for some ideas, but I’ll give a rundown of the basics here as well. You’re most of the way there though already

The first thing is to make use of the cs and cf flags, as they were basically purpose-built for 2d20 games. Another thing that’s going to simplify everything a little is to use checkbox math. In any math expression a checkbox will be treated as 0 or 1 if it is unchecked or checked, respectively.

So the base roll is going to look like
!(2d20cs<={TN}cs<={Focus}cf=20)

This will count anything <= TN as a success and anything <= Focus as two successes (assuming Focus <= TN). Any rolls of 20 will show up as ‘fumbles’

You’ve already figured out the Target Number and focus calculation, but it’s a little cleaner to do e.g.
selected_skill_fight*skill_fight rather than the ternary

Somehow I keep periodically getting a zero on the d20 result. Not sure how that’s happening since i"m not subtracting anything.

here’s what I’m currently using:
result 1: !!(1d20cs<={action_target_number}cs<={selected_focus_value}cf=20)

using the checkboxes to do the math as you suggested.die_results

I think I know what’s happening.

based on what i read of the CS/CF flags any die that doesn’t meet the cut is not counted towards the total. I suspect the 0 I’m seeing is because the die was within the 12 to 19 range and was not counted as a die roll.

I’m not sure how to fix that though. Is there a way to just show the result and say ‘failure’ or something?

You are correct, an output of 0 means there were no successes or fumbles. As far as I know there isn’t a way to change this. One thing you can do to make things a little clearer is add
fr>{action_target_number}
to the roll, and then a 0 result will show up in red

conan 2d20 skill roll code. don’t know if it helps.

||| |---|---:| |Base|!(2d20fr>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cr<={AcrobaticsTN}cf>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cs<={AcrobaticsTN}cs<={AcrobaticsFoc + (Acrobatics_Total_Reaction_Check ? Acrobatics_Total_Reaction_Ranks : 0)} )|
|Momentum/Aid|| |1:| !!(1d20fr>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cr<={AcrobaticsTN}cf>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cs<={AcrobaticsTN}cs<={AcrobaticsFoc + (Acrobatics_Total_Reaction_Check ? Acrobatics_Total_Reaction_Ranks : 0)})| |2:| !!(2d20fr>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cr<={AcrobaticsTN}cf>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cs<={AcrobaticsTN}cs<={AcrobaticsFoc + (Acrobatics_Total_Reaction_Check ? Acrobatics_Total_Reaction_Ranks : 0)})| |3:| !!(3d20fr>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cr<={AcrobaticsTN}cf>={Complication - (AcrobaticsExp == 0 ? 1 : 0)}cs<={AcrobaticsTN}cs<={AcrobaticsFoc + (Acrobatics_Total_Reaction_Check ? Acrobatics_Total_Reaction_Ranks : 0)})|