View Single Post
Nightfox
Senior Member
 
Join Date: Dec 2011
Posts: 100

Old October 9th, 2015, 06:54 PM
By the eye of Vecna I think I've got it!!!

ok, for those interested, let me share what I've done.

Why we do it: In one of our games our DM gives the characters boons/bonuses/abilities that don't necessarily correspond with our classes or levels. Over time the [Special] tab becomes less and less helpful as you end up with more and more to scroll through. If you know where an ability comes from, it can be much faster to just go to the class tab and look up the information there.

What I did: I set up a class that I could attach the boons and abilities to. If new abilities are added later, I just have to create a class special and link it to the class which is much easier then creating a new template every time. Next I create a way of controlling the template level or tier and finally the actual template. Bootstrap the class cHelp item and the level control and you are set. But if you want a more detailed solution, keep reading.

Step 1) Create a class.
We don't really need all of a class, but if you want the tab you need the cHelp item and that means making a class. The class name will appear at the top of the class tab. Most of the information on the new class page is not important or can be changed later, but as usual, make the Name, Abbreviation, and Identifier relevant.

Step 2) Clean up after the "Help"
To make things easier we're going to make some changes and add an Eval script to the cHelp item. It turns out the cClass item controls level count and Hit dice, while the cHelp has the abilities, specials, BAB, saves, and skills calculations. Because we don't want the template to add to our BAB, Saves and Skills in general, we are going to undo this with an eval script. To make things simple, I suggest changing BAB and all the Saves to "Poor", and the skills to 0

Post Level
Code:
     ~lets undo our level calculated bonuses
     ~first we'll get the level for calculation
     var lev as number
     lev = field[cTotalLev].value

     ~We'll start with BAB
     var bab as number
     bab = round(lev/2,0,-1)
     ~ remove the bonus on our attack rolls
     hero.child[Attack].field[tAtk].value -= bab
     ~ and now remove this from our number of attacks calculation
     hero.child[Attack].field[tAtkBase].value -= bab

     ~Now we'll get rid of the saves
     var sav as number
     sav = round(lev/3,0,-1)
     ~Now we just subtract from our base saves
     hero.child[vFort].field[vBase].value -= sav
     hero.child[vRef].field[vBase].value -= sav
     hero.child[vWill].field[vBase].value -= sav

     ~Finally, lets take care of the skill points
     var bon as number
     var skl as number
     bon = hero.child[aINT].field[aNormMod].value
     if (bon < 1) then
       bon = 1
       endif

     skl = lev * bon

     ~ In order to change the skill points we need to know the class index
     var index as number
     index = field[cClsIndex].value
     herofield[tSkTotals].arrayvalue[index] -= skl
Step 3) Level it out
I found it easiest to control the template level with a permanent adjustment. The counter becomes the template level and I can easily reference it later if needed.
Note 1: make the adjustment Unique so once it is added, it doesn't show up on your list again.
Note 2: make sure the Minimum adjustment is “1” or you will open yourself up to even more problems later. Once again, all the work is in the eval script.

First 100
Code:
     ~ Identify our Template Level
     var lev as number
     lev = field[pAdjust].value

     ~ Now to assign our template level to our template class
     hero.child[cHelpTst].field[cTotalLev].value = lev
Step 4) Tie it all together
Now go out and create a template under the Race/Template tab. Once you have a name and ID you can add descriptive text or any initial benefits, but when you’re ready to trick the system, head over to:
BOOTSTRAPS.
Thing: <the adjustment we made for level control in step 3>
Tags:
Group Id: Helper Tag Id: AdjPerm

Thing: cHelpTst

SAVE AND TEST.

now you can simply add any boons, bonuses or abilities as class abilities and attach them to the class we made in step 1.

Important note:
DON’T PANIC

When you add (or re-add if you update the class or template) you will see a wall of error text and all the abilities in the new class tab will be greyed out. This is due to a timing issue I haven’t figured out, but don’t worry. Just travel over to the Adjust tab of the character and you should see the level adjuster we built in the lower left. Toggle the counter to force the code to run and get everything working.
Attached Files
File Type: email TemplateLevels.user (5.3 KB, 5 views)
Nightfox is offline   #5 Reply With Quote