Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - D&D 5th Edition SRD (http://forums.wolflair.com/forumdisplay.php?f=89)
-   -   Bonus Hit Die (http://forums.wolflair.com/showthread.php?t=61004)

Redjack July 31st, 2018 06:36 PM

Bonus Hit Die
 
Sorry if this has been discussed before; if it has, my search-fu failed.

I'm setting up a game where characters get a bonus hit die at 1st level. Obviously there is a Personal Adjustment for adding hit points, but I want to add the hit die so that the In-Play tab reflects the extra hit die. I'm ok with with custom Personal Adjustment or a feat (we could add an adjustment of a bonus feat) or any number of implementation methods.

Thoughts?

dungeonguru August 1st, 2018 04:57 AM

This is a hack you can copy to your personal .user files to play with. It presents a dropdown of the hit die pools that are attached to the character and adds 1 to the pool chosen. It looks a bit weird, because if you have a 5th-level Druid/1st-level Barbarian it shows as a list with 1d12 and 5d8. If you choose 5d8, it adds a single d8 to the In-Play tab going from 5 to 6. Long Rest seems to work correctly (1/2 the trkMax rounded down is restored).

This hack doesn't change the hit points you have and doesn't change the number of hit die that the 1st level class has though, you still have to add hit points via the existing hit point adjustment.

You can't change the actual number of hit die on a class first level that I can see, so you have to just work with an In-Play hack on that die pool tracker to simulate it. Every time I tried to change the hit die at 1st level, it changed the hit die for all levels so I had a 2nd level Barbarian with 4d12 hit points if I added 1 to the actual class hit die. Luckily the tracker on the in-play tab is derived and independent.

Code:

<thing id="pXXXHitDie" name="Hit Die" description="Select this adjustment to add a hit die of the selected type to the hero." compset="InPlay">
    <fieldval field="pCandExpr" value="DiceSize.? &amp; Helper.HitDieShow"/>
    <tag group="Helper" tag="NoIncr"/>
    <tag group="Helper" tag="AdjNoPlus"/>
    <tag group="ChooseSrc1" tag="Hero"/>
    <tag group="OthAdjCat" tag="Misc" name="Miscellaneous" abbrev="Miscellaneous"/>
    <eval phase="PostLevel" priority="10000"><![CDATA[
      ~ If we're not enabled, get out now
      doneif (field[pIsOn].value = 0)

      ~ Add to the chosen hit die
      field[pChosen].chosen.field[trkMax].value += 1]]></eval>
    </thing>


Redjack August 2nd, 2018 04:57 PM

Thanks so much!

Redjack August 2nd, 2018 05:10 PM

Quote:

Originally Posted by dungeonguru (Post 268728)
This is a hack you can copy to your personal .user files to play with.

I thought I understood how to implement this, but it appears not. I tried attaching this to a feat via an eval script, but no matter what phase I try to use I get an error. Could you help me with the specifics of where to put the script?

dungeonguru August 3rd, 2018 04:12 AM

What I had above if you copied it and pasted it into a .user file would have shown up on the Adjustments tab, under Other. It was written as an adjustment.

If you want a feat, you have to use a different set of variables on the setup, you would use usrCandid1 instead of pCandExpr and userChosen instead of pChosen. Adjustments use different variables than feats.

Timing side I put it Post-level 10000, It could probably go anywhere before Final though. This is what it looks like as a self-contained feat:

<thing id="fXXXAddHDF" name="Added HD Feat" description="This feat adds a HD to the in-play tab." compset="Feat" uniqueness="useronce">
<fieldval field="usrCandid1" value="DiceSize.? &amp; Helper.HitDieShow"/>
<tag group="Helper" tag="ShowSpec"/>
<tag group="ChooseSrc1" tag="Hero"/>
<tag group="User" tag="NoAutoName"/>
<eval phase="PostLevel" priority="10000"><![CDATA[ ~ If we're not enabled, get out now
doneif (field[usrChosen1].ischosen = 0)

~ Add to the chosen hit die
field[usrChosen1].chosen.field[trkMax].value += 1]]></eval>
</thing>


Edit:
If you're not copying/pasting this into the .user file and trying to build it piece by piece, it is important to know that
DiceSize.? &amp; Helper.HitDieShow
won't work, you have to type the following into the editor:
DiceSize.? & Helper.HitDieShow

This happens because the editor has to save what you type as xml and certain characters like the & are saved as an XML sequence.

Redjack August 3rd, 2018 06:55 PM

Quote:

Originally Posted by dungeonguru (Post 268810)
What I had above if you copied it and pasted it into a .user file would have shown up on the Adjustments tab, under Other. It was written as an adjustment.

Oh hell. I was being dense. That worked perfect!

Thanks!
-rp


All times are GMT -8. The time now is 11:47 AM.

Powered by vBulletin® - Copyright ©2000 - 2020, vBulletin Solutions, Inc.
wolflair.com copyright 1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.