• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Working on new Prestige Class

OldDNDer

Active member
I feel bad coming here asking questions over and over again however, in my defense, I do search for an answer first and I did not do well in my programming class when I was working on my BA degree. I may have a few more questions as I work on this or one of the other prestige classes, so I will keep this post instead of making more. With that said my question is,

I am attempting to create a prerequisite for the class which is the character must have a BAB >= 3. This is what I have so far, which I placed in the "Pre-reqs" section of my new Knight in the "Class Level" tab. It seems to be working correctly however, I want to check that I have done it right and am not creating an error which will come back and bite me.

Code:
Message: BAB must be >= +3

Pre-requisite Script:
@valid = 0
  if (#BAB[] >= 3) then
    @valid = 1
endif
Is this okay, am I doing it wrong, is there a better way to do it?
 
Last edited:
That's fine, but you can use the Expr-Reqs section, instead of the Pre-Reqs, to save lots of typing for simple, one test things like this.

Put the following in as an expr-req:
Code:
#BAB[] >= 3

At compile time, HL adds everything else around that to construct pretty much what you wrote.

Oh, and @valid is already set to 0 at the beginning of every prereq, so even if you are writing a prereq, it's redundant to set it again, so I'd leave that line out.
 
You really just need to do an Expr-Req instead of a prereq that would just be:

#BAB[] >= 3

there would be no need to do the @valid or if statements then, simpler is always better
 
Yeap, fantastic; thank you both!

Next question is I need to do the same thing but checking for a Diplomacy of 2 or greater. Using the same Expr-Req field is this okay or is there better?
Code:
Message: Must have 2 ranks in Diplomacy

Pre-requisite Expression:
#skillranks[skDiplo] >= 2
 
Expr-req is fine, Pre-reqs are usually only used for more complex pre-reqs like needing 5 ranks in 2 skills, etc
 
Turn on Data File Debugging in the Develop menu, then right click on the fort save in the abilities tab and select Show Debug Fields for Fort Save, then look through those fields, do you see one that looks like what you want to check?

You'll end up with an Expr-req that looks something like

hero.child[svFort].field[XXXXX].value >= 4

where XXXXX is the id of the field you want to use.
 
Amazing, I ended up with

hero.child[svFort].field[svBase].value >= 4

and that was perfect. Now, if I may beg for help again how would add Martial Weapon Proficiency as another prerequisite? I have tried a few different approaches but even when the character has Martial Weapon Proficiency it still gives the message that I have not meet the prerequisite.
 
Remember that you can copy existing prestige classes in order to look at their prereqs. On the Class Level tab, use the "New (Copy)" button and grab the class you want to look at. For example, if you wanted a "Proficiency with all Martial weapons required." you could grab the Eldritch Knight, Hellknight, or Student of War, and see how they do that prereq.
 
I did think of that and tried this line

#hasfeat[fWepMart] <> 0

which did not work the way I need it to. I do not need the character to have all Martial Weapon Proficiency, just be proficient in at least one Martial Weapon, by taking the Feat and selecting Battleaxe for example.
 
Do you have the book "Taldor, Echoes of Glory"? There's a feat in that named Taldan Knight, and one of its prereqs is "Proficient in a martial weapon".
 
Sorry, don't have that one but I did look at the Low Templor and realized I was going about it wrong. I didn't need proficieny with all Martial Weapons, just any one which is also what the Low Templar requires. So, I tried this line and it works just fine.

tagis[Hero.MrtWpFocus] <> 0
 
Having a small issue and can't put my finger on what I am doing wrong. I created a Class Special that gives my prestige class the diehard feat at 3rd level, prerequisites are ignored. The problem is in testing the Diehard is being given at 1st level. Any clue as to what I am doing wrong?
 
Yep, take a look at the Endurance feat the ranger grants and how it does it (Here's a hint it involves the Condition button where you add the feat)
 
Again, thank you. This is very challenging for me. Being older sure is a hindrance at times and learning things isn't as easy as it used to be. Oh well, still having fun. At any rate this is what I came up with and it seems to be working just how I want it to.


(count:Classes.CrnKnight >= 3 | count:Classes.KPSpLesRan >= 3 | count:Classes.KPSkinCha >= 3) & !AbReplace.cKntDth

I have no idea what "KPSpLesRan" and "KPSKinCha" mean. The former appears to deal with rangers and the latter is something with charisma. Regardless, it is working.
 
Yeah I would guess that too, if you're not using those classes as part of your class, you can remove them from the conditional and you end up with

First/500
count:Classes.CrnKnight >= 3
 
To explain what it's doing, every class adds a Classes tag to the hero, what it does is count the number of copies of that tag are on the hero. You can do it for any tag that's applied early enough. I use them for bootstrapping abilities based on which Domain the hero has for a few feats.
 
Back
Top