Senior Member
Join Date: Jan 2012
Location: Los Angeles, CA
Posts: 281
|
I'm going to be starting a new campaign soon, and I've been giving some thought to the so-called Feat Tax that's inherent in PFRPG. I don't intend to go nuts, but there are a few entry level feats that seem like they could be treated more like attack options rather than something that requires special training. Specifically I'm looking at Power Attack, Deadly Aim, and Combat Expertise.
What I'm thinking I'd like to do is have the feats added automatically as Bonus Feats to all characters that meet the prerequisites. I'm thinking that this should be added as a mechanic in the editor, but I couldn't think of anything in the game that did something similar, so I don't really know where to start. Everything I've done in the editor started with cloning an existing game element. So for Power Attack, I'd want any character that has a BAB of +1 or higher, and a STR of 13 or higher to get the feat added automagically. Similarly for Deadly Aim for characters with a BAB of +1 and a DEX of 13+, and for Combat Expertise for any character with an INT of 13+. My intention is to make the house rule as transparent as possible, so I didn't want to recreate feats, or make a bunch of changes for prereqs for later feats - simply adding them as across the board bonus feats to all who qualify seemed the most elegant way to go. I'm also not sure where it should go timing wise. I want to make sure that it gets calculated in early enough that someone can't accidentally select one of the feats in question before it gets added as a bonus feat. Thanks in advance for your help! |
#1 |
Senior Member
Join Date: Feb 2015
Posts: 676
|
If you're okay with a quick 'n dirty solution, you can just add the feats to the characters once they qualify, and use the "Feats Allowed" Adjustment to offset the bonus feats. Admittedly, you'd have to do this for each character individually.
If you want this to happen automatically, a mechanic probably is the way to go as you stated. What I would probably do is have the mechanic bootstrap the bonus feats, then have a script at Post-Attributes/10k or so that checks each of the feats to see if the hero qualifies, and hides/disables the feat in question if they don't. That might feel a bit hacky, but conditional bootstraps have to be resolved by about First/2000 or so, which is way too early to know if you meet ability score prereqs. Big thumbs up on the idea itself, by the way. Those feats shouldn't even be feats in my opinion, just Things You Can Do If You Want. And don't even get me started on Combat Expertise's INT 13 requirement... |
#2 |
Senior Member
Join Date: Jan 2012
Location: Los Angeles, CA
Posts: 281
|
Quote:
I've used scripts to add things before, but I'm not sure how to use a script to disable/hide something. |
|
#3 |
Senior Member
Join Date: Jan 2012
Location: Los Angeles, CA
Posts: 281
|
OK, so after several attempts and a couple of hours of researching how to write the script, I'm ready to throw in the towel. I really, really wish there were a central repository of knowledge on HL scripting - the current scattershot of forum posts and sort of articles is really, really frustrating.
I cannot figure out how to write what I know will end up being a very simple script, because I cannot decipher how to put the script together. What I want the script to do in plain English is: If Intelligence is less than 13, please remove the Combat Expertise feat. I want this to happen for all of the feats, but if I can figure out one of them I can make it work for the rest. As of right now, the best I could come up with (and it's not very good because HL won't even go through compiling because of syntax errors) is the following: Code:
if (hero.child[aINT] < 13) then fDisable.fComExpert = 1 |
#4 |
Senior Member
Join Date: Aug 2011
Posts: 363
|
it looks like that tag is always present. when i disabled the feat the Helper.FtDisable was the tag that showed up. maybe try that one?
|
#5 |
Senior Member
Join Date: Aug 2011
Posts: 363
|
or maybe you have to do the perform assign tag line...no time to look it up right now, gotta run to work!
|
#6 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
If you copy Combat Expertise in the editor, and look at the eval script which applies its effects, you should be able to see the line which stops it from operating. It checks for a certain tag, which you need to assign to the feat on the hero.
As for checking the attribute, there is a macro for that "#attrvalue[aINT]", or you can spell that out with transitions (each "." in a line marks a transition from one context to another). Your example script there goes to the Intelligence pick, but no further, so the program is left asking "which field on intelligence am I comparing to 13?" So, here is how you would transition to the hero, then the aINT pick, then the Final Value field, then the value of the field. hero.child[aINT].field[aFinalVal].value Given that, here is what you need to do once you know which tag to apply. Code:
if (hero.child[aINT].field[aFinalVal].value < 13) then perform TRANSITIONTOTHECORRECTPICK.assign[WHATEVERTAGDISABLESFEATS] endif |
#7 |
Senior Member
Join Date: Jan 2012
Location: Los Angeles, CA
Posts: 281
|
Thanks! That's a big help in pointing me in the right direction.
I have to head to work now, but I'll take another crack at this tonight. |
#8 |
|
|