Junior Member
Join Date: Jul 2013
Posts: 26
|
Is this possible? After gaining the ability, any future feats taken would be valid if only one prerequisite failed. For example, a character with strength of 13 could take Cleave without having Power Attack.
|
#1 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Not really. You would have to modify all of the feats, and by your description I assume that any one pre-req could be ignored, which would complicate things. I'm not sure off the top of my head how to script it so that just one pre-req was ignored.
One alternative option would be to try to ignore all pre-reqs by using the tag thing.skipprereq, but even then you would probably only be able to apply that to feats already selected. Another would be to be more specific in what this special ignores. Using your example, you could use this special to assign the tag "HasFeat.fPowerAtt" to the hero which would make HL think the character had the pre-req for Cleave (but it would still require STR 13). |
#2 |
Junior Member
Join Date: Jul 2013
Posts: 26
|
I had a feeling this wouldn't work well. Modifying all of the feats isn't out of the question, since I'm trying to implement Farscape d20, and the book only has about 50 feats.
|
#3 |
Junior Member
Join Date: Jul 2013
Posts: 26
|
I figured out a way to do it. I'm posting it in the unlikely event someone else needs it.
This was set up as a prerequisite with no message text. Code:
var errorCount as number var errorText as string errorCount = 0 errorText = "" ~test condition 1 if (child[Attack].field[tAtkBase].value < 1) then errorCount += 1 errorText = "Base Attack Bonus 1 required" endif ~test condition 2 if (child[aDEX].field[aFinalVal].value < 13) then if (errorCount > 0) then errorText &= ", " endif errorText &= "Dex 13 required" errorCount += 1 endif ~ No errors, continue. if (errorCount = 0) then @valid = 1 ~ has appropriate levels for the required special. I tried testing the class special itself, but didn't find a way to see if it was active. elseif (#levelcount[Scavenger] >= 9) then if (errorCount = 1) then @valid = 1 else @valid = 0 @message = errorText endif else @valid = 0 @message = errorText endif |
#4 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Thanks for posting this. I assume this gets put on each feat?
|
#5 |
Junior Member
Join Date: Jul 2013
Posts: 26
|
Yeah. All the prerequisites are handled through the series of if statements on the one rule.
|
#6 |
|
|