Suggested Hero Dice Update

Progress reports and musings from the developers on the current gaming tools.

Moderators: dorpond, trevor, Azhrei

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Suggested Hero Dice Update

Post by Jagged »

Evenin' All

With the 1.3 code freeze you probably won't appreciate me suggesting a code change for Hero Dice, but here goes anyway ;) I have the code but won't submit anything unless explicitly told its okay. And if this post is in the wrong place feel free to slap my wrist :oops:

The Problem:
The existing hero dice chat macros work very well counting the stun and body. They only problem comes with half dice. When you roll a half die in the Hero System you roll a D6 and calculate the Stun and Body as below:

Code: Select all

Roll Stn Bdy
 1 - 1 - 0
 2 - 1 - 0
 3 - 2 - 0
 4 - 2 - 1
 5 - 3 - 1
 6 - 3 - 1
Unfortunately this requires extra macro code and it all suddenly becomes very messy :(

Proposed Solution:
My suggestion is to modify the dicelib to accept dice numbers with decimal places. Then, if the decimal is a suitable value, add a half die to the result. In the Hero System only half dice are valid (ignoring special/killing dice and their pesky +1), no other fraction is allowed. The number of dice rolled is based on STR/5. STR 5 gets you 1d6, STR 8 1 & 1/2. I thought it would be sensible to allow any range of decimal to be entered. That would allow macros to be created as follows:
[h: input("STR")]
[r:dice=STR/5]
Strength=[r:STR] Dice=[r:dice+"d6h"] Stun=[r:eval(dice+"d6h")] Body=[r:eval(dice+"d6b")]
Proposed Changes to Dicelib:
  • Add a new regular expression to ExpressionParser to accept examples such as "[4.5d6h] [4.5d6b]" and pass three parameters to HeroRoll, times, size, and the decimal. In this example 4, 6 & 5
  • Modify HeroRoll to have a minimum of 2 parameters and a max of 3
  • Modify HeroRoll to roll a half dice if the decimal component is a half or more.
  • Modify HeroRoll to include the decimal component in the matching logic for stun and body rolls
Its a simple change and I have the code, not sure if I should attach it here or not?

cheers!

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Suggested Hero Dice Update

Post by Azhrei »

What does it do if I choose 4.5d6 and I don't want a Hero System roll?

I don't think will get into 1.3. And in 1.4 I expect we'll see a different system for dice rolling. I expect that there will be a JavaScript "Dice" object that has all of the various die rolling functions and the HeroDice object will override the existing functions and perhaps provide new ones. But there won't be any "dicelib" as part of 1.4 per se.

User avatar
Scubba
Cave Troll
Posts: 90
Joined: Fri Oct 30, 2009 12:47 pm
Location: Oakland, CA

Re: Suggested Hero Dice Update

Post by Scubba »

Without getting into the specifics of Jagged's suggestion (which has several merits), Azhrei's response begs a bigger discussion:
  • There are several Hero System-centric features in MapTools. While some of the features are applicable to other systems (hexes), some are not.
  • There is great value to Hero System players in having built-in features. Although you can usually make do with custom macros, there is still a significant learning curve that would cut out a segment of potential Hero MT users.
  • However, incomplete or poorly supported Hero System features are sometimes worse than none at all.
  • What about other game systems that want features? How do we evaluate the return on investment for the feature, the documentation, the tutorials, etc. to decide which system to endorse?
To date it has not been a big issue--if you wanted Hero features, you contributed some! But the response to Jagged seems to be more of a "closed source" situation. Or at least a step towards more generic features, which at the moment seem to be more in the hands of a few developers.

Growing pains perhaps, but I will continue pushing for Hero features, even if I have to contribute them myself.

(sorry, this was NOT intended as a 'Thread-Jack'--I just couldn't stop myself!)

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Suggested Hero Dice Update

Post by Jagged »

Azhrei wrote:What does it do if I choose 4.5d6 and I don't want a Hero System roll?
Nothing. Or rather, the same as now and will report an unexpected character.

From my post I can see why you thought I might have modified the normal dice roll, but I only made the change for Hero Dice.
Azhrei wrote: I don't think will get into 1.3. And in 1.4 I expect we'll see a different system for dice rolling. I expect that there will be a JavaScript "Dice" object that has all of the various die rolling functions and the HeroDice object will override the existing functions and perhaps provide new ones. But there won't be any "dicelib" as part of 1.4 per se.
Fair enough, thought I had probably missed the boat. I guess I will be doing local distributions :( Anyway when you get round to 1.4, please consider allowing Decimal places for hero dice.

Phergus
Deity
Posts: 7132
Joined: Fri May 12, 2006 8:56 pm
Location: Middle of Nowhere, NM
Contact:

Re: Suggested Hero Dice Update

Post by Phergus »

Scubba wrote:There are several Hero System-centric features in MapTools. While some of the features are applicable to other systems (hexes), some are not.
Actually Trevor put hexes in at my request for use in playing DragonQuest.

The existing Hero dice functions are a crude hack that I put in to help out a long-time contributor to the forum.

I don't know of any other Hero System-centric features.
Scubba wrote:To date it has not been a big issue--if you wanted Hero features, you contributed some! But the response to Jagged seems to be more of a "closed source" situation. Or at least a step towards more generic features, which at the moment seem to be more in the hands of a few developers.
No, its a "the developers really want to get 1.3 to final so that real work can begin on the next release" response.
Scubba wrote:Growing pains perhaps, but I will continue pushing for Hero features, even if I have to contribute them myself.
And that is how you get features added in for your favorite system. The primary developers only know DnD.

There are as many weird ways of rolling dice as there are game designers. Pushing the handling of all of those different methods up into Javascript instead of in a dicelib in 1.4 will make it more likely for players of lesser known systems to get support.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Suggested Hero Dice Update

Post by Jagged »

Phergus wrote:The existing Hero dice functions are a crude hack that I put in to help out a long-time contributor to the forum.
Well for a "crude hack" its done an excellent job! Many thanks from myself and the Hero System gamers :D

When you guys get round to 1.4 and the javascript for Hero System, please give me a shout, I will be more than happy to help.
Phergus wrote:And that is how you get features added in for your favorite system. The primary developers only know DnD.
In that case I will attach my code suggestion here. Its really tiny, so if you guys can look at it then fabulous, if not it will be available for other Hero System users.

Job for when I get home ;)

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Suggested Hero Dice Update

Post by Azhrei »

Phergus wrote:Pushing the handling of all of those different methods up into Javascript instead of in a dicelib in 1.4 will make it more likely for players of lesser known systems to get support.
Bingo.

As already described elsewhere in the 1.4 threads, our goal is to put anything system-specific into JavaScript libraries. That way users can contribute to supporting a game system without requiring the development team to release a new build of MT. Something like dice rolling is perfect for a JS library. If we create the basic layout with examples of how to extend it, I expect users will be able to "roll their own" extensions fairly easy. At that point, they can post their changes to the "Drop-in Forum" or add them to a wiki or whatever, and everyone else can take advantage of them -- and no waiting on the devs to release a new build of MT. :)

User avatar
Scubba
Cave Troll
Posts: 90
Joined: Fri Oct 30, 2009 12:47 pm
Location: Oakland, CA

Re: Suggested Hero Dice Update

Post by Scubba »

Thanks for the thoughtful replies. I had missed/overlooked discussions of drop-in JS libraries.

As usual, I find my knowledge of the Forum contents falls short of the Deities/Admins on the site. And I check new posts daily!

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Suggested Hero Dice Update

Post by Jagged »

I've attached the source code for the two files I have modified, in case anyone else wishes to make uses of them.
These files are from the DiceLib project.

As I said above, this change only effects the behaviour of the Hero Dice. Nothing else is changed.
HeroDice.zip
(3.49 KiB) Downloaded 219 times
And here is the compiled library, copy to your MapTool lib directory, replacing the existing DiceLib (probably dicelib-1.0.b18.jar). Would need to be renamed to match the file its replacing.
dicelib-1.0.b19.zip
(30.62 KiB) Downloaded 221 times

Velocinox
Kobold
Posts: 21
Joined: Sun Jan 09, 2011 1:34 am

Re: Suggested Hero Dice Update

Post by Velocinox »

Thanks for this Jagged. I'll be using it until 1.4 rolls and (hopefully) supports hero as well.

I also have a question...

Does the change support the xd6-1 option for x+1/2d6 DCs? What I mean is at DCs 2, 5, 8, 11, (x+3 etc...) you can choose to have your power be x+1/2 d6's -OR- (x+1d)d6-1 with a minimum of 1. (please see the Damage Class Tables pg. 97 6E2 or pg. 403 FRED if I am not being clear)

If it does not support this option, would it be difficult to add a flag to the syntax to allow it?

Thanks!
V

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Suggested Hero Dice Update

Post by Jagged »

It doesn't calculate a -1. To be honest I didn't think it was an option as such but was only in the book for when you had to calculate in the other direction.

However I will happily take a look and see what's possible. :)

Velocinox
Kobold
Posts: 21
Joined: Sun Jan 09, 2011 1:34 am

Re: Suggested Hero Dice Update

Post by Velocinox »

Thank you very much!

The source material from both FRED and 6E use it in the 'official' weapons (dagger for instance) so I was hoping I could remain official and still use your changes.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Suggested Hero Dice Update

Post by Jagged »

Ah, killing attacks.

Killing attacks are slightly different again in that they go:

3DC = 1d6
4DC = 1d6+1
5DC = 1.5d6
6DC = 2d6

So I have worked up a version that provides a [#d6hk] roll where # can be any decimal number and the appropriate fractions deliver +1, or half.

Perhaps I will release that to the "User Creations" forum since I am well past the 1.3 submissions?

Still not sure how to approach the d6-1 option though. It seems as though d6-1 is much much better than 1/2. If you have it as an option why would a player ever take 1/2?


ps: using this addition you could type into chat [2d6-1hk] [1d6-1hm] and it would produce the correct body and stun totals

Velocinox
Kobold
Posts: 21
Joined: Sun Jan 09, 2011 1:34 am

Re: Suggested Hero Dice Update

Post by Velocinox »

From what I can see, the X.5d6 vs X+1d6-1 option produces a slightly lower average, but higher minimum. Perhaps a reasonable option for players. However, the real reason I would like to see a flag option on DC's 2, 5, (x+3)... is that the official firearms in the core books, equipment guides, and dark champions use it fairly often, and would be used commonly enough in a heroic level game.

I tried the [1d6-1hk] [1d6-1hm] syntax and it seems to generate a possible 0 output. The 1d6-1 killing attack would have to include a minimum value of 1. Please let me know if I am using it incorrectly. Also, I realize I can get a minimum using max(dice, 1), but was hoping for it to be an integral part of the function.

Since I wouldn't want to see the (AP*5)/15 formula you have for killing attacks disrupted, I think the best approach would be to add a flag to the herokilling function or the killing dice syntax along the lines of herokilling(1.5,6,1) (third paramater optional and defaults to 0 but if a 1 is present it uses the x+1d6-1 option for those DCs) and [1.5d6hk*]. Obviously, you're closer to the subject matter and may see a better way of doing this, but the idea is to preserve the on the fly AP calculation in your function, but also allow the scripter to flag that iteration as the alternate option.

Thanks again for the effort,
V

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Suggested Hero Dice Update

Post by Jagged »

Velocinox wrote:I tried the [1d6-1hk] [1d6-1hm] syntax and it seems to generate a possible 0 output. The 1d6-1 killing attack would have to include a minimum value of 1. Please let me know if I am using it incorrectly.
I will check my syntax when I get home. I suspect I may have it wrong. If you don't get it right the correct values aren't parsed and the multiplier won't receive the correct base.

Post Reply

Return to “Developer Notes”