Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System

Notices

Reply
 
Thread Tools Display Modes
GLBIV
Member
 
Join Date: Apr 2012
Location: Washington, D.C.
Posts: 76

Old September 20th, 2012, 07:05 AM
I'm making a d20 FR datafile with all the languages, spells, feats, FR races, Regions and Regional feats — akin to the great work RavenX did for PF.

Languages are done.

Races are easy. I just copied standard, changed ability adjustment, height, weight and age info, descriptions and removed the automatic and bonus language bootstraps/tags.

I've entered (most of) the regions as +0 LA inherited templates, with exp-reqs by race.

The last big step is entering all the regional feats, and that's where I have a few questions. I realize I could just tag them Upbringing feats, but I want to make a new feat tag for Regional — to assuage my nitpicking sense of uniformity — and to prevent other existing upbringing feats from being included.

• How do I make feats under the new tag only selectable at 1st level?
• How do I allow only one Regional feat to be chosen?
• Do Upbringing feats already do exactly those things, and should I just suck it up and use that tag instead?

Thanks
GLBIV is offline   #1 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,146

Old September 20th, 2012, 07:35 AM
Quote:
Originally Posted by GLBIV View Post
The last big step is entering all the regional feats, and that's where I have a few questions. I realize I could just tag them Upbringing feats, but I want to make a new feat tag for Regional — to assuage my nitpicking sense of uniformity — and to prevent other existing upbringing feats from being included.
I've actually done some work in this area before (see Illithid Heritage feats from Complete Psionic). To make a new tag, when you are entering a feat, select "New Tag" from the Feat Category menu. Name it Regional. Once you save and run Test Now, you will have a new feat category. Huzzah! You'll only need to do this once.

Quote:
• How do I make feats under the new tag only selectable at 1st level?
Easy. Make a pre-req that requires the character level be 1. For an example of character level-based pre-reqs, take a look at the Leadership feat.

Quote:
• How do I allow only one Regional feat to be chosen?
I've done the opposite (ie you can select this feat type only if you have other feats of the same type, which you can see examples of with some of the "sudden" metamagic feats or my illithid heritage feats. My guess is you would have a pre-req that checks to see if you already have a Regional feat, then makes the others invalid. That's the easy part. The problem I can see you running into is that once the feat is selected you may get a validation error. That might be something you'll have to play around with a little.

Quote:
• Do Upbringing feats already do exactly those things, and should I just suck it up and use that tag instead?
The tags themselves don't really do anything other than assign the feat to a particular category. However, you could look at the Upbringing feats themselves and see what kind of pre-reqs they have. If you're lucky, they may have a solution to the above problem.

Last edited by Sendric; September 20th, 2012 at 07:37 AM.
Sendric is offline   #2 Reply With Quote
GLBIV
Member
 
Join Date: Apr 2012
Location: Washington, D.C.
Posts: 76

Old September 24th, 2012, 02:21 PM
Quote:
Originally Posted by Sendric View Post
Easy. Make a pre-req that requires the character level be 1. For an example of character level-based pre-reqs, take a look at the Leadership feat.
I get that, but how can I make the feat only available at level one? I need to make it so only 1st level characters can take regional feats.
GLBIV is offline   #3 Reply With Quote
GLBIV
Member
 
Join Date: Apr 2012
Location: Washington, D.C.
Posts: 76

Old September 24th, 2012, 02:56 PM
Right now, I just have this pre-req

Code:
~ We make 1st level prereq
if (herofield[tLevel].value = 1) then
          @valid = 1
          endi
Of course, I get a validation error on the feat as soon as I level up. Will checking this "only report error once" option help at all?

I think the Regional feat limitation is solved with this:

Code:
~We check for other Regional feats
    if (hero.tagcount[fCategory.Regional] <= 1) then
          @valid = 1
          endif
GLBIV is offline   #4 Reply With Quote
GLBIV
Member
 
Join Date: Apr 2012
Location: Washington, D.C.
Posts: 76

Old September 24th, 2012, 04:01 PM
And another thing.

I'm trying to enter the exp-reqs for the feats to only be available to characters from certain regions.

To facilitate, I made a special tag for each individual region with this format (Race initial)(Region), such that an Elf from Evermeet has a SpecSource.EEvermee tag, and a Human from Chessenta has a SpecSource.HChessen tag.

I'm doing the Education feat first, since my character has it, and I'm trying to enter the proper Exp-Req

The requirement message is "Must be elf (Evermeet, Silverymoon, Snow Eagle Eryie), gnome (Lantan), half elf (Silverymoon), or human (Chessenta, Lantan, Silverymoon, Waterdeep)"

This is the Exp-req I've got now, but it's not letting me select it with my Sun Elf with the Evermeet region template.


Code:
hero.tagis[SpecSource.EEvermee] + hero.tagis[SpecSource.ESilvery] + hero.tagis[SpecSource.ESnowEag] + hero.tagis[SpecSource.GLantan] + hero.tagis[SpecSource.HESilver] + hero.tagis[SpecSource.HChessen] + hero.tagis[SpecSource.HLantan] + hero.tagis[SpecSource.HSilvery] + hero.tagis[SpecSource.HWaterde] <> 0
Is hero.tagis not the right method?
GLBIV is offline   #5 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old September 24th, 2012, 04:54 PM
Quote:
Originally Posted by GLBIV View Post
Right now, I just have this pre-req

Code:
~ We make 1st level prereq
if (herofield[tLevel].value = 1) then
          @valid = 1
          endi
Of course, I get a validation error on the feat as soon as I level up. Will checking this "only report error once" option help at all?

I think the Regional feat limitation is solved with this:

Code:
~We check for other Regional feats
    if (hero.tagcount[fCategory.Regional] <= 1) then
          @valid = 1
          endif
Here is what we do for Upbringing feats, a similar category of feats that lets you take 1 only at 1st level. It is a pre-req script. I trust you can modify it for your purposes? The key is in determining whether the script is running on a pick (after added to the hero) or on a thing (before added to hero).

Code:
        @valid = 0

        ~ If we're a thing, we can't add a new feat if there are any other upbringing feats
        if (@ispick = 0) then
          if (hero.tagcount[fCategory.Upbringing] = 0) then
            @valid = 1
            endif

        ~ If we're a pick, we're valid as long as there are no other upbringing feats
        elseif (hero.tagcount[fCategory.Upbringing] = 1) then
           @valid = 1
           endif
Aaron is offline   #6 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old September 24th, 2012, 05:05 PM
Quote:
Originally Posted by GLBIV View Post
And another thing.

I'm trying to enter the exp-reqs for the feats to only be available to characters from certain regions.

To facilitate, I made a special tag for each individual region with this format (Race initial)(Region), such that an Elf from Evermeet has a SpecSource.EEvermee tag, and a Human from Chessenta has a SpecSource.HChessen tag.

I'm doing the Education feat first, since my character has it, and I'm trying to enter the proper Exp-Req

The requirement message is "Must be elf (Evermeet, Silverymoon, Snow Eagle Eryie), gnome (Lantan), half elf (Silverymoon), or human (Chessenta, Lantan, Silverymoon, Waterdeep)"

This is the Exp-req I've got now, but it's not letting me select it with my Sun Elf with the Evermeet region template.


Code:
hero.tagis[SpecSource.EEvermee] + hero.tagis[SpecSource.ESilvery] + hero.tagis[SpecSource.ESnowEag] + hero.tagis[SpecSource.GLantan] + hero.tagis[SpecSource.HESilver] + hero.tagis[SpecSource.HChessen] + hero.tagis[SpecSource.HLantan] + hero.tagis[SpecSource.HSilvery] + hero.tagis[SpecSource.HWaterde] <> 0
Is hero.tagis not the right method?
hero.tagis should work. Can you double check that you are having the region templates assign their SpecSource tags to the hero?

Also, I'd encourage a set pattern to your tag names so you can employ wildcards in the expr-reqs. Maybe start with RgElfXXXX for all elven ones, RgDwfXXXX for all dwarven ones. That way you can check for presence/abscense of any regional template with just hero.tagis[SpecSource.Rg? or you could check for any Elven regional template with hero.tagis[SpecSource.RgElf?.

Using this, the above expr-req would be much shorter. As I understand it, you are looking for any elven, half-elven, or human regional template, yes? You could do that like this:


Code:
hero.tagis[SpecSource.RgElf?] + hero.tagis[SpecSource.RgHEl?] + hero.tagis[SpecSource.RgHum?] <> 0
And, as long as you keep to the pattern, you won't have to go back and add more to the expr-req later when you add more regional templates.
Aaron is offline   #7 Reply With Quote
GLBIV
Member
 
Join Date: Apr 2012
Location: Washington, D.C.
Posts: 76

Old September 24th, 2012, 05:34 PM
Ahh, the issue is I had the SpecSource tags on the templates, but not getting assigned on the hero.

I suppose I will need to write an eval script in each template to do that?

Code:
  perform hero.assign[SpecSource.EEvermee]
Would that do the trick?

As for the naming system, I was using E(region) for the elf regions, D(Region) for the dwarf, ect. ect.

The trouble with using a wild card is many of these feats are specific to individual regions and races. An elf from waterdeep doesn't get Education, but a human from there does, as does an elf from Evermeet.
GLBIV is offline   #8 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old September 24th, 2012, 06:33 PM
I'll do you one better:

Code:
perform forward[SpecSource.?]
The problem with 1 letter markers is that there are bound to be lots of SpecSource tags that start with E or D or H, meaning that any wildcard will catch a bunch of other things. Rg is a combination that is less likely to be replicated, but 3 letters or more would be ideal (but you've only 10 characters to work with, so I'd stick with 2 here).
Aaron is offline   #9 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old September 24th, 2012, 06:35 PM
Is the region usually more important than the race? You could set up the system to use wildcards with that, but you'll have to pick one or the other.
Aaron is offline   #10 Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 06:39 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.