PDA

View Full Version : Extension to apply house rule for exploding dice



orsmab
February 17th, 2015, 06:29
Hi Everyone,

I've made an extension to Fantasy Grounds which reflects the house rule that we use in the campaigns that I run. Basically, if you roll an "ace" (e.g. 6 on d6) then you subtract 1 from the total (no matter how many aces). This fixes some issues I have with the math of the game.

The charts below show the different chances to succeed at certain target numbers. They are also broken down by whether you have a Wild Die or not. For example, if you have a d4 in a skill (plus a Wild Die) and you are trying to hit a target number of 6, you have a 32.29% chance of success normally.

As a side not, you should look at these to have a better feeling about how useful a d4 is in a skill when you are a Wildcard. (The difference between d4 and d6 is smaller than you might expect).

Without House Rule



Die Type vs Target Number

Trait roll chances with d6 Wild Die
2 3 4 5 6 7 8
d4 95.83% 83.33% 62.50% 50.00% 32.29% 27.08% 19.27%
d6 97.22% 88.89% 75.00% 55.56% 30.56% 30.56% 25.85%
d8 97.92% 91.67% 81.25% 66.67% 47.92% 37.50% 24.65%
d10 98.33% 93.33% 85.00% 73.33% 58.33% 50.00% 39.72%
d12 98.61% 94.44% 87.50% 77.78% 65.28% 58.33% 49.77%

Trait roll chances with Single Die
2 3 4 5 6 7 8
d4 75.00% 50.00% 25.00% 25.00% 18.75% 12.50% 6.25%
d6 83.33% 66.67% 50.00% 33.33% 16.67% 16.67% 13.89%
d8 87.50% 75.00% 62.50% 50.00% 37.50% 25.00% 12.50%
d10 90.00% 80.00% 70.00% 60.00% 50.00% 40.00% 30.00%
d12 91.67% 83.33% 75.00% 66.67% 58.33% 50.00% 41.67%



With House Rule



Die Type vs Target Number

Trait roll chances with d6 Wild Die
2 3 4 5 6 7 8
d4 95.83% 83.33% 62.50% 45.83% 27.08% 19.27% 16.67%
d6 97.22% 88.89% 75.00% 55.56% 30.56% 25.85% 20.99%
d8 97.92% 91.67% 81.25% 66.67% 47.92% 35.42% 22.22%
d10 98.33% 93.33% 85.00% 73.33% 58.33% 48.33% 37.78%
d12 98.61% 94.44% 87.50% 77.78% 65.28% 56.94% 48.15%

Trait roll chances with Single Die
2 3 4 5 6 7 8
d4 75.00% 50.00% 25.00% 18.75% 12.50% 6.25% 6.25%
d6 83.33% 66.67% 50.00% 33.33% 16.67% 13.89% 11.11%
d8 87.50% 75.00% 62.50% 50.00% 37.50% 25.00% 12.50%
d10 90.00% 80.00% 70.00% 60.00% 50.00% 40.00% 30.00%
d12 91.67% 83.33% 75.00% 66.67% 58.33% 50.00% 41.67%


Look at how when you use the normal rules, a single d4 trait has a higher chance of matching a target number of 6 than a d6 does (18.75% vs 16.67%) If you look at the house rule version, you can see that it fixes the issue (12.5% vs 16.67%).

I've attached the extension I wrote to apply this house rule. It applies the rule to both trait and damage rolls.

Other items in this extension:

Trait rolls will indicate if you aced a roll.
The combat tracker will now start at round 0 so that when you advance it for the first time, you will properly start at round 1. (Not related to rolling but something which annoyed me :) )


Hopefully folks take it for a spin. Let me know what you think.

-Orsmab

Ikael
February 17th, 2015, 20:21
Very good stuff here! Although I prefer the original score rules because it grants better chance for less skilled people to succeed against more skilled ones. Of course the same applies other way around but is less important because success rate is high already. But still great to see that you made extension about this house rule!

I did quick review on the extension and it's well done! However there are few thing you could improve in the extension to make more compatible with other extensions: Rule number #1: Only include codes that you actually change. RollsManager offers flexibility to register and override few parts, which in this case are the ones you update. Instead of overriding the whole script with <script name="RollsManager" file="scripts/manager_rolls.lua" /> you can just override those two functions with following approach:

All can be done in your launcher script:

First unregister existing roll hander functions:
ChatManager.unregisterRollHandler("traitdice")
ChatManager.unregisterRollHandler("damagedice")
ChatManager.unregisterRollHandler("targeted-traitdice")
ChatManager.unregisterRollHandler("targeted-damagedice")

then register your version of functions:

ChatManager.registerRollHandler("traitdice", customProcessTraitRoll)
ChatManager.registerRollHandler("damagedice", customProcessDamageRoll)
ChatManager.registerRollHandler("targeted-traitdice", customProcessTraitRoll)
ChatManager.registerRollHandler("targeted-damagedice", customProcessDamageRoll)

where customProcessTraitRoll and customProcessDamageRoll are names of your custom functions (within launcher script) containing your codes (almost) as is. The only changes is that if your custom functions use any references to original RollsManager functions you will have to add RollsManager. prefix to it. For instance getFumble(draginfo) becomes RollsManager.getFumble(draginfo) and getForceCloseCombatTargeting(draginfo) becomes RollsManager.getForceCloseCombatTargeting(draginfo ) etc.

When create extension this way it grants much better chance that other enabled extensions won't conflict. For instance, this extension is not compatible with Enhanced Effects due to conflicting RollsManager. This new approach would fix it.

The same applies to xmls you override: You will only need to include those windowclasses and templates that you change. In template_ct.xml example remove eveything from the file except <template name="roundcounter"> def content and you're good to go :)

But like I said, very well done extension.

orsmab
February 19th, 2015, 06:32
Thanks for the feedback Ikael! I rolled in the changes you suggested and uploaded a new version.

I know you said you prefer the default rolling system but I will still suggest that you give this system a try. You might be surprised how well it works!

Thanks again!

-Orsmab

Mask_of_winter
February 19th, 2015, 08:46
Trying to wrap my head around this. I roll a d4, ace the roll twice and then a 1. Normally it'd be a 9. With your house rule it's an 8. So how do you score a 7? An ace + a 3 would usually do the trick. With your system I'd need another 4 to score 7 because you apply a minus -1 but since it's another ace I get to roll again.

orsmab
February 19th, 2015, 22:02
Hey Mask,

The issue you mentioned is not one that my system is trying to address. That issue exists in the existing system. In your example, the standard method does not allow you to hit a target number of 8. If you roll a single d4 you can get 7 (4 + 3) or 9 (4 + 4 + 1). My method just moves this from happening at 8 to happening at 7. If you look at the charts you will see that this happens in both methods. The standard single die charts for d6 have the same probability of hitting a target number of 7 as they do of hitting 6 (16.67%) since you can't ever get a 6 (you always get a minimum of +1 any time you ace a die). Savage Worlds is about meeting or exceeding a target number and not about hitting a number on the mark.

If this is something that you find is an issue, my modification could be changed to subtract 1 from every extra die rolled. This would allow you to be able to roll every target number.

To clarify, my house rule is to address the fact that a d6 in an ability should always be better than a d4. In the standard system, this is not the case.

Does this help?

heyhogan
February 20th, 2015, 23:01
Nice!!! Thanks. Funny thing I was just looking at a probably table on the Savagepedia that talked about this and was wondering about this.

orsmab
February 20th, 2015, 23:14
Thanks for pointing out that article. I never ran into it before. Thankfully my math matches theirs!

Zadmar
March 6th, 2015, 13:36
I prefer the original score rules because it grants better chance for less skilled people to succeed against more skilled ones.
If you want to avoid the issue orsmab described without reducing the chance of success, an alternative solution is to roll a couple of fudge dice with each trait roll, treating each "+" as +1 and "-" as -1. In macro terms it would be like adding 2d3-4 to each roll.

The solution is described in more detail here (https://www.peginc.com/forum/viewtopic.php?t=41300). It also addresses Mask_of_winter's concern about characters having the same chance of success at two different TNs.

orsmab
November 13th, 2015, 14:55
I've updated this extension for Savage Worlds version 4.2.2.

Trenloe
November 13th, 2015, 14:59
I've updated this extension for Savage Worlds version 4.2.2.
Awesome! Would you mind updating post #1 with the updated extension and info that it support SW 4.2.2 please? This helps people to get the most up-to-date extension from the first post - quick and easy! :)

orsmab
November 13th, 2015, 15:04
Awesome! Would you mind updating post #1 with the updated extension and info that it support SW 4.2.2 please? This helps people to get the most up-to-date extension from the first post - quick and easy! :)

Just remembered I could do that after I submitted the new post. Already done!

Trenloe
November 13th, 2015, 15:06
Just remembered I could do that after I submitted the new post. Already done!
Cool, thanks. :)

When I update extensions I update the first post, then do a new post in the thread saying there's an update. This allows people who've subscribed to the thread to get a notification, and also tags the thread as having a new post so it appears when readers click "New Posts" and moves the thread back to the top of the forum.

orsmab
November 13th, 2015, 15:15
Cool, thanks. :)

When I update extensions I update the first post, then do a new post in the thread saying there's an update. This allows people who've subscribed to the thread to get a notification, and also tags the thread as having a new post so it appears when readers click "New Posts" and moves the thread back to the top of the forum.

That makes sense. I appreciate the tip. This also gave me the opportunity to update the charts to hopefully make it easier to see the issue that this extension is trying to address.