Member
Join Date: Jul 2015
Location: Ottawa
Posts: 58
|
What I'm trying to do is to change the feat progression for characters. A quick search of the D20 forum didn't turn anything up. This is not a change to the class feat progression, nor the bonus feats that some races (humans) get at first level, but rather the entire progression. I can't seem to find a player-level feat table anywhere...
Any ideas? Thanks! |
#1 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
You can write a script on something that is on all characters (such as a condition) that modifies herofield[tFeats]. You'll have to come up with your own formula, and will probably have to modify every level.
To my knowledge, there is no array visible to the user that you can modify. |
#2 |
Member
Join Date: Jul 2015
Location: Ottawa
Posts: 58
|
Thank-you Sendric. So, I'd want to write that as an Adjustment probably, and add that adjustment to each PC. That way it's hidden from the player, but still active.
does herofield[tFeats] include feats earned from class or race? My point being, can I write one formula for all the PC's, or, would I have to write a custom one for each class/race combination that I have? |
#3 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Quote:
If you want this to appear on *all* characters, then you should use a condition. Just choose one (other than Hasted which is already bastardized), and do a "replace thingid" in your own .user file. Then you can add the script to that. This way you don't have to worry about adding an adjustment to all the characters, and it will still be hidden from the users (even more so in fact). |
|
#4 |
Member
Join Date: Jul 2015
Location: Ottawa
Posts: 58
|
Would this work?
running at Post-Levels 10000: Code:
var HD as number HD = minimum(hero.tagcount[Hero.HitDice]) / 4 herofield[tFeats] = herofield[tFeats] + HD Last edited by draco963; June 27th, 2017 at 10:19 PM. |
#5 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
What is it you are trying to do here? The minimum function requires two numbers from which it will select the lowest. Perhaps you are trying to round, like this:
round(hero.tagcount[Hero.HitDice]/4,0,-1) Quote:
herofield[tFeats].value Also, you can shorten that to: Code:
herofield[tFeats].value += HD I don't know what timing is required. |
|
#6 |
Member
Join Date: Jul 2015
Location: Ottawa
Posts: 58
|
Thank-you Sendric!
Yes, I'm trying to get the rounded down result of HD/4. So, 1-3 = 0; 4-7 = 1; 8-11 = 2; etc. I'll use your round(hero.tagcount[Hero.HitDice]/4,0,-1). So, how does minimum work? Would minimum(hero.tagcount[Hero.HitDice]/4,3) return the decimal value of HD/4 until HD=13 and then start returning 3 always? Is there a way to restrict the math result to integers? Can I mix the round() function inside minimum() (or vice-versa)? And thank-you for the correction (herofield[tFeats].value). I am trying to add the HD/4 value to the feats counter. My DM for this particular game likes things (vastly) overpowered, and so he wants additional feats every fourth level as well as the normal every third. Thanks a lot for your help, Sendric!! |
#7 |
Senior Member
Join Date: Feb 2013
Posts: 357
|
Yep, that's how most minimum works.
|
#8 |
|
|