Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Deathwatch: Setting Macros Up for Tests and Damage

1492224777

Edited 1492225029
Hi all! I'm working on a game of Deathwatch for some international mates and am wanting to streamline the die-rolling process for them. How would I go about getting these processes into a couple of Roll20 macros? Tests Target Number Base Characteristic Testing an Untrained Basic Skill? ½ Characteristic (round down) Trained Skill with 0 Advances: Characteristic as is. Trained Skill with 1 Advance: Characteristic +10 Trained Skill with 2 Advances: Characteristic +20 Plus or minus modifiers Difficulty (Combat default: +0; can be affected by environment.) Ranged Attack Ranged Point Blank +20 Short +10. Medium 0 Long -10 Extreme -20 Aim Half Action +10 Full Action +20 Autofire Semi: +10 Full: +20 Called Shot: -20 Running Target -20 Melee Attack All-Out +20 Running Target +20 Test: Roll D100 and subtract result from Target Number. Remainder 0 or positive: Success. (Will need to retain base die roll for hit location table.) Degree of Success/Failure: Divide remainder by ten, rounding down. Positive number: Degree/s of Success Negative number: Degree/s of Failure Damage Roll Xd5 or Xd10. Tearing: Add extra die and remove lowest. Add damage bonus from weapon (and Strength if applicable). Degree/s of Success: Minimum result on any one die (player's choice) Any 10s? Repeat test*; if successful, Righteous Fury: roll another damage die and add to damage total. If extra die is another 10, test for Righteous Fury again. * No need to re-test if shooter has Deathwatch Training and target is alien; automatic confirmation of Righteous Fury.
1492233653

Edited 1492233857
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Hi Rob, I haven't played Deathwatch (or any 40k), but I think I know how some of this could be setup. Some of it isn't going to be quite perfect without a character sheet and maybe an API script, but here's what I'd recommend without those things: Base Characteristic tests: You'll want to create an attribute for each characteristic. Not having played the system, not sure what these would be exactly, but I'll pretend strength would be a characteristic. I apologize if this is incorrect, but it'll help to use an actual attribute name in the example. This macro should handle untrained, trained, and various advances for testing against a characteristic. The value of the referenced training attribute should be 0, 1, 2, or 3 (increasing with training): [[ floor(([[ [[{@{strength-train},0.5}=0]]*[[@{strength}/2]] + [[{@{strength-train},0}=1]]*@{strength} + [[{@{strength-train},0}=2]]*[[@{strength}+10]] + [[{@{strength-train},0}=3]]*[[@{strength}+20]] ]] - 1d100)/10)]] This will give an inline roll output of the degrees of success/failure to chat which you can hover over to see the actual d100 roll. For the attacks, and other similar adjustments, I would handle this via roll queries in a macro like this (still using strength as the example attribute just for simplicity's sake): [[ floor(([[ [[{@{strength-train},0.5}=0]]*[[@{strength}/2]] + [[{@{strength-train},0}=1]]*@{strength} + [[{@{strength-train},0}=2]]*[[@{strength}+10]] + [[{@{strength-train},0}=3]]*[[@{strength}+20]] ]]?{Range|Point Blank,+20|Short,+10|Medium,+0|Long,-10|Extreme,-20} ?{Aim|no,+0|Half,+10|Full,+20} ?{Autofire|No,+0|Semi,+10|Full,+20} ?{Called Shot|No,+0|Yes,-20} ?{Running Target|No,+0|Yes,-20} - 1d100)/10)]] For the damage, just doing straight rolls (e.g. [[xdy]] is going to be your best bet. I don't know enough about tearing to suggest the best way to deal with that, but for handling the weapon/strength damage bonus, that would be done by just adding the appropriate attribute (e.g. [[5d10 + @{Chainsaw-damage}+@{strength}]] Finally, we can bring this all together in a nice looking roll using the default template and use ability command buttons to take care of the righteous might possibilities. I've called this ability (it needs to be an ability on a character sheet) Lasgun: &{template:default} {{name=Lasgun}} {{Attack=[[ floor(([[ [[{@{strength-train},0.5}=0]]*[[@{strength}/2]] + [[{@{strength-train},0}=1]]*@{strength} + [[{@{strength-train},0}=2]]*[[@{strength}+10]] + [[{@{strength-train},0}=3]]*[[@{strength}+20]] ]]?{Range|Point Blank,+20|Short,+10|Medium,+0|Long,-10|Extreme,-20}[Range] ?{Aim|No,+0|Half,+10|Full,+20}[Aim] ?{Autofire|No,+0|Semi,+10|Full,+20}[Fire Speed] ?{Called Shot|No,+0|Yes,-20}[Called Shot] ?{Running Target|No,+0|Yes,-20}[Running Target] - 1d100)/10)]]}} {{Damage=[[2d10sd+@{lasgun-damage}]]}} {{ [Righteous Might](~Character Name|Lasgun)}} The damage dice will be sorted in descending order and the inline roll display will have a green border if there is a ten in the roll, so you will easily know if you need to activate righteous Might. You could do some additional setup and have the hit location resolved with the click of a button after the attack macro has been displayed. Let me know if you want that info.
Thanks for the feedback, Scott! I am tempted to set a character sheet up; the existing Deathwatch one is a bit awkward and user-unfriendly.