• 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

Help with Custom Race

direinsomniac

Well-known member
I am designing a race in which:

1) at the start has to choose an elemental energy type
-- which will grant them an energy resistance equal to 10 for the chosen type

2) based on that selection, if they choose to place a Sorcerer, they get a favored bonus to elemental dmg dealing spells, similar to the Kobold's FCB for Sorcerer.

So what I am trying to figure out is how to
A) Create the initial user selection for the energy type -- I not sure whether to use Racial Special or Racial Custom Special.

B)Write the Eval Script for the FCB to reference their chosen elemental energy type.
 
For the resistances, I'd recommend looking at Aasimar, Tiefling, or one of the elemental-based player races (Sylph, Oread, etc) to see how they do it.

For the bonus to sorcerer spells, similarly I'd have a look at how that kobold bonus is implemented, as that should give you the basics of what you need for your race.
 
I am already aware of the Kobold's FCB for sorcerer, which is why I mentioned the FCB I was trying to create would be similar to it.

But the issue is that I am trying to figure out a way for the bonus energy type for the FCB to be automatically assigned based on the initial user selection for racial resistance.
 
I think he was trying to recommend you do it like the tiefling's elemental resistance, so you'd copy their resistance, and then modify THAT to add the selector to it. This should then show the drop down in the same way the human's ability score has a drop down. You'd just have to alter the tagexpression to limit the choices to the elements. Then, in your eval script, you'd have to have some logic to apply the right resistance depending on what was selected.
 
Yes, I do
So what exactly does this mean? Option One: I have the ARG and I will look at those scripts to see if that will help me out. Option Two: I have the ARG and I already looked at need more help.

If you are at option two then you should "post" what your script looks like so far and what kind of issues you are getting.

In regards to your "Number 1" question I would say take a look at the Dragonborn race I have posted in THIS thread. As it has the ability to select an energy type for its breath weapon and it gains Resistance to the same energy type also. As its a .user file you can open it up and take a look at it if you want.
 
Thanks Shadow, you beat me to it, I have found that by looking at all the optional racial features and abilties I was able to "adjust" or "tweak" those scripts to work.

For the few that stumped me, a quick post here got me back on track.
 
I downloaded and unzipped the file for the Dragonborn, but I can't get the file to open.
I have tried to "Open With" Hero Lab, no success...
I put it in the same folder as all the other .user files, and it's not registering--even though it's a .user file, the file icon is showing a .exec.

I am using a Mac, and do no have access to a Windows computer
 
I manage to get the drop-down list to show up in the [Racial, Template, Faction Abilities] section of the Background tab by selection the "Energy Type" from the [Item Selection].

However, the Eval Script doesn't seem to be doing anything.

Code:
{Post-Levels / 10000}
~if nothing's been selected, there's nothing we can do
doneif (field[usrChosen1].ischosen = 0)

if (field[usrChosen1].chosen.tagis[BloodEner.Cold] <> 0) then
  #applyresist[xDamRsCold,10]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Elec] <> 0) then
  #applyresist[xDamRsElec,10] 
elseif (field[usrChosen1].chosen.tagis[BloodEner.Fire] <> 0) then
  #applyresist[xDamRsFire,10]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Acid] <> 0) then
  #applyresist[xDamRsAcid,10]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Sonic] <> 0) then
  #applyresist[xDamRsSoni,10]
  endif
 
if you're using the automatic ones in the editor, that does not use the BloodEner.? tags, you'll have to debug to see what tags it uses (just check for their thingid)
 
I downloaded and unzipped the file for the Dragonborn, but I can't get the file to open.
I have tried to "Open With" Hero Lab, no success...
I put it in the same folder as all the other .user files, and it's not registering--even though it's a .user file, the file icon is showing a .exec.

I am using a Mac, and do no have access to a Windows computer
Know little about Macs but its a zip file that contains a .user file. So you should just have to unzip the file. Then place the .user file into your "herolab\data\Pathfinder" folder.

Do zip files show as executable on Macs? Sorry I have no clue how Macs work. I can only tell you that other Mac users use the same .user files we use on windows without issues.
 
The automatic selector in the editor was a quick fix, just to see if I could get it to show up. I would prefer to utilize the BloodEner.? tags, but not sure how to code that.
 
I manage to get the drop-down list to show up in the [Racial, Template, Faction Abilities] section of the Background tab by selection the "Energy Type" from the [Item Selection].

However, the Eval Script doesn't seem to be doing anything.

Code:
{Post-Levels / 10000}
~if nothing's been selected, there's nothing we can do
doneif (field[usrChosen1].ischosen = 0)

if (field[usrChosen1].chosen.tagis[BloodEner.Cold] <> 0) then
  #applyresist[xDamRsCold,10]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Elec] <> 0) then
  #applyresist[xDamRsElec,10] 
elseif (field[usrChosen1].chosen.tagis[BloodEner.Fire] <> 0) then
  #applyresist[xDamRsFire,10]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Acid] <> 0) then
  #applyresist[xDamRsAcid,10]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Sonic] <> 0) then
  #applyresist[xDamRsSoni,10]
  endif
You have the above code running on the same "Racial Special" where you have the drop down right? Because BloodEner.? tags are on the default Energy Type selections so the above script should be working.

Maybe post the .user file and I can take a look at it then.
 
Here is the user file.
Hmmm. So I don't have HL access here at work so I looked at the raw XML and don't see anything wrong actually.

I guess my only question is have you done a restart of HL and tested? Sometimes with bootstraps that helps.

Otherwise when I get home tonight I can load it into HL and see what it is doing. But it sure seems like it should be working.
 
Here is the user file.
So I loaded this up this morning quick, got home really late last night, and it working fine for me. I selected your race and then on the drop down I picked "Cold" and I correctly saw the "Energy Resistance, Cold (10)" show up on the 'Specials' tab.

So maybe you just missed it as it only displays on the "Special" tab it will not display with the other "Race" stuff.
 
Yeah, it's working now.

So how would a then code the FCB for the sorcerer class to take the (field[usrChosen1]) into account for the increase in damage for spells matching the [BloodEner.?] type?

Is there a way to code this, or is it something that the player just has to keep track of on their own?
 
Yeah, it's working now.

So how would a then code the FCB for the sorcerer class to take the (field[usrChosen1]) into account for the increase in damage for spells matching the [BloodEner.?] type?

Is there a way to code this, or is it something that the player just has to keep track of on their own?
So two basic ways to handle this.

1) Setup up a "Custom.?" tag for each elemental type. Then in your script when you give the type of resistance also assign the correct Custom.? Elemental tag to the hero:
Code:
if (field[usrChosen1].chosen.tagis[BloodEner.Cold] <> 0) then
  #applyresist[xDamRsCold,10]
  [B]perform hero.assign[Custom.DrakCold][/B]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Elec] <> 0) then
  #applyresist[xDamRsElec,10] 
  [B]perform hero.assign[Custom.DrakElec][/B]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Fire] <> 0) then
  #applyresist[xDamRsFire,10]
  [B]perform hero.assign[Custom.DrakFire][/B]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Acid] <> 0) then
  #applyresist[xDamRsAcid,10]
  [B]perform hero.assign[Custom.DrakAcid][/B]
elseif (field[usrChosen1].chosen.tagis[BloodEner.Sonic] <> 0) then
  #applyresist[xDamRsSoni,10]
  [B]perform hero.assign[Custom.DrakSonic][/B]
  endif
Then on the FCB you can simply check on the hero which energy type your race is giving:
Code:
if (hero.tagis[Custom.DrakSonic] = 1) then
  ~ do sonic energy bonus stuff
elseif (hero.tagis[Custom.DrakAcid] = 1) then
  ~ do sonic energy bonus stuff

2) You could simply go after the value chosen by the racial special directly:
Code:
if (hero.childfound[raDrakeRes].field[usrChosen1].chosen.tagis[BloodEner.Cold] <> 0) then

The first option is what you would see LW do or myself. As checking/working with Tags is very fast and very easy to do. The only thing is you want to make sure you push the tags to the hero BEFORE you test for them on the FCB.
 
Back
Top