• 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

Version 9.4 of the Pathfinder files for Hero Lab is now available

Aaron

Well-known member
The first portion of Inner Sea Combat has been released, nearly 2 dozen archetypes! We also have the final chapter of Secrets of Adventuring, the Harrow Handbook, Pathfinder Adventure Path #81, and monthly Bug fixes.

Occult Mysteries unfortunately slipped into next month as well, sorry!
 
New Releases!
  • The first section of content from Inner Sea Combat, the archetypes, is now available as part of Pathfinder Campaign Setting #11. The remainder of the book will be released in subsequent months as a free update for those who already own package #11.
  • Content from the Harrow Handbook is now available as part of Pathfinder Player's Companion #15.
  • Content from Chapter 9 of Secrets of Adventuring has been added to the Secrets of Adventuring package. This last section completes the book!

Enhancements &amp Changes
  • Added player content from Pathfinder #81 "Shifting Sands".
  • Added an activation for the Shield of Swings feat.
  • Added a new attribute array, "Monster (levels) (+4/+4/+2/+2/0/-2)", as described in the bestiaries.

Bug Fixes
  • Archetypes which replaced Quaternary or Quintenary custom abilities were not displaying that information.
  • The Swashbuckler was missing the "Swashbuckler's Grace" deed.
  • The Mohrg's Ability focus feat was not set to automatically apply to the Paralysis ability, and the tounge attack did not note it inflicted paralysis.
  • Composite bows with the adaptive weapon power were still applying the insufficient strength penalty if bought with a higher strength rating than the character could normally use without Adaptive.
  • Material pre-requisites were applying incorrectly, not recognizing EquipType tags on their containing item.
  • The Obedience class ability was incorrectly disabling extra magic levels from PrCs which were not dependant on obedience. There was also some confusion on how to fulfill the requirements, so a note was added to direct folks to the In-Play tab.
  • The Ultimate Versatility ability had a typo in its name.
  • The Animal Skin and Delicious Fright hexes were requiring 18th level, rather than 10th.
  • The Psychopomp subdomains were conflicting with each other, even though they are subdomains of 2 different domains.
  • The Bravery ability was applying too high a bonus when the first copy was replaced by an archetype.
  • The Deific Obedience feat was incorrectly forbidden to PFS characters.
  • The Ring of friend shield's resistance bonus to saves was incorrectly stacking with other resistance bonuses.
  • Many selectors were incorrectly positioned.
  • The Burst Barrier ability was applying multiple situationals, rather than just 1.
  • The Amulet of Spell Mastery was missing a couple combinations of spell levels to select from.
  • The Flagbearer feat was not applying the correct type of damage bonus, and was not stacking correctly with certain magic items.
  • Archetypes were not displaying when replacing Quaternary and Quintenary custom special abilities.
  • Monsters from Mythic Adventures were incorrectly duplicated in the Encounter Builder.
  • Magic items with SpInfo tags were appending the spell text twice.
  • The order of fighter weapon training abilities in the output statblock was random, rather then descending from highest bonus to lowest.
  • Inquisitors were not showing the domains they had selected after the spells known section of their output hero statblock.
  • The spells section of the output statblock was not correctly indented.
  • Ioun stones were not setting their statblock name correctly.
  • The Inquisitor's Bane, Stern Gaze, and Teamwork Feat class abilities were displaying incorrectly in the statblock.
  • The damage on the Annihilator robot and myrmidon robot integrated ranged weapons were not displaying correctly.
  • The ghost touch weapon property was raising an error when applied to firearm cartridges.
  • The exalted and evangelist boons for Pharasma were swapped for Deific Obedience.
  • Snow Shape was showing as a first-level spell for clerics, sorcerers, and wizards.
  • Arcane Strike was only counting arcane spellcaster levels towards its bonus.
  • Specific armors with the Titanic item power were building their name incorrectly.
  • The Savage Barbarian archetype's Naked Courage ability was granting too high a bonus.
  • The Flagbearer feat was missing its situational bonus/penalty vs. fear and charm effects.
  • Custom Potions and Custom Wands were including an incrementer for the number of times the spell was included, when they should not have.
  • Daemons from the Book of the Damned 3 incorrectly listed their italicised text twice.
  • The Gunslinger's Targeting deed had typos.
  • The Animal Friend and Rapscallion traits were missing the Ultimate Campaign source.
  • The Noble Scion was granting its Regional Expertise ability at the wrong level.
  • The Issian trait was missing its situational bonus.
  • The Seducer's bane bracers were incorrectly granting their bonus.
  • Kitsune ninjas did not have access to the kitsune rogue favored class bonus.
  • The frost worm's bite was missing its cold damage.
  • Wordspells had incorrect capitalization and were displaying the text of their Meta words twice.
 
Data File Authoring
  • Changes have been made to the way that ChargeCalc.LevelDiv? tags are interpreted so that new tags in the same format will be correctly interpreted. For example, if an ability needs to divide the level by 8, it could define LevelDiv8 and it would work. The same goes for the ChargeCalc.RaceHDDiv? and ChargeCalc.HitDieDiv? tags.
  • Archetypes can now replace racial abilities, by applying RaReplace tags to themselves.
  • Added the Helper.GearNoQty tag. This prevents the quantity of the gear from being appended when it is being output in the statblock. It is used for things like rope, which should display as "rope (100 ft)" instead of "rope (2)".
  • Added the CustSpPick tag group (Primary, Secondary, etc). This tag group marks which table a custom special pick has been added to, because there are times when a Secondary ability is added to a different table (I.E. if an archetype adds the secondary abilities of a different class, but the secondary table for the archetyped class is already full so they are placed in the tertiary table).
  • Added the CustSpOrd tag group (ByValDesc1, ByValDesc2, etc). This tag group is intended to be applied to class helpers, and is intended to set the sorting of its custom ability lists for the statblock. The default (no tags of this group) is to order the abilities alphabetically from a-z, but the fighter uses these tags to order the primary abilities from highest bonus weapon training to lowest weapon training.
  • Added the abDuration tag group (which defines the period of the duration as rounds, minutes, hours, etc) and the abDuraText field. abDuraText takes the value in the pre-existing abDuration field and combines it with the tags to generate some text which can be used is Automatic livename Generation and Automatic sbName Generation (see below).
  • Added the abRange tag group (which defines the measurement of the range as Touch, feet, miles, sight, etc) and the abRangText field. abRangText takes the value in the pre-existing abRange field and combines it with the tags to generate some text which can be used is Automatic livename Generation and Automatic sbName Generation (see below).
  • Added Helper.DuraAbbrev and Helper.RangAbbrev, which determines if the contents of abDuraText and abRangText use the tag abbreviations (for example, without tag = "6 rounds" and with tag = "6 rds").
  • Added a system for Automatic sbName Generation based on tags assigned to a class or racial ability. The sbName is generated in 3 sections based on 3 tag groups (SbNameBase, SbNameApp, SbNamePar), and includes default states based on what type of thing it is. This allows you to only apply tags where you want to vary from the default behaviour.
    • Section 1 (SbNameBase) is the handling of the ability name, as well as the overall casing of the ability.
    • FieldThing/FieldShort/FieldLive determines whether the thingname, shortname, or livename is used for the name. If nothing is selected, a default tag is assigned based on the component of this thing.
    • CaseSenta/CaseLower/CaseTitle determines which case is used for the Statblock name as a whole, sentance case (Wind dance), lower case (wind dance), or title case (Wind Dance). If nothing is selected, a default tag is assigned based on the component of this thing.
    • CommaSwitc triggers a process which deletes a comma and moves the text after it to the front of the name. For example, it would cause a name of "aid, mass" to become "mass aid".
    • Section 2 (SbNameApp) is the handling of text AFTER the ability name but BEFORE any parenthesis.
    • DieSiz and DieCnt tags can be used to construct a die to output in the sbName. These tags can be set to a static value (DieSiz6, DieSiz8, DieCnt1, DieCnt15) or they can refer to a certain abValue field which can be set in eval scripts (DieSizVal looks at abValue for the die size, DieCntVal3 looks at abValue3 for the number of dice).
    • AppValue, AppValue2, AppValue3, and AppValue4 appends the value of the referenced abValue field. This is appended after any constructed dice from DieSiz/DieCnt.
    • SignDieCnt appends a sign ("+" or "-") before the first digit of the constructed Dice text. SignAppVal does the same before any appended numbers. Note that since appended numbers come after the dice, theis can be used to apply a modifier to the die (I.E. 1d6+2).
    • AppText, and AppText2 appends the contents of the referenced AppText field. This is appended after any dice or appeded values.
    • IncUses appends the usage information for the special, for example if it has a trkMax field of 3 and the "/day" usage tag, it would append "3/day" to the statblock name.
    • Section 3 (SbNamePar) is the handling of text inside any parenthesis.
    • DieSiz, DieCnt, AppValue, SignDieCnt/SignAppVal, AppText, IncUses function as detailed above, in section 2.
    • IncSelNm1 appends the name of the thing chosen by the first selector, and IncSelNm2 does the same for the second selector.
    • IncAction appends the contents of the abAction text field (swift, standard, etc).
    • IncDurati and IncRange append the contents of the abDuraText and abRangText text fields (see above).
    • IncDC appends the DC of the ability in the format of "DC X".
    • EncBracket, and EncParenth determine whether the contents of section 3 are contained in brackets "[]" or parenthesis "()". If not specified, the default is parenthesis.
    • Examples in use:
    • The Armor Training ability is displayed as "armor training X" in the statblock, where X is the value. Since the default for class abilities is lower case, we do not need to apply any SbNameBase tags. Since the value of X is stored in abValue (it is calculated in an eval script) and it is not displayed in parenthesis, we apply SbNameApp.AppValue. Nothing in parenthesis means no SbNamePar tags are needed.
    • The Battle Rage ability of the War domain is displayed as "battle rage (+X damage)" where X is the calculated value. Again, we are fine with the defaults of section 1, and there is nothing prior to the parenthesis so no need for section 2 tags.An eval script calculates the bonus and stores it in abValue, so we add SbNamePar.AppValue and since it is signed we also add SbNamePar.SignAppVal. To append "damage", add SbNamePar.AppText and set the abText field for this special to "damage".
    • The Fire Bolt ability of the Fire domain is displayed as "fire bolt (1d6+X fire)" where X is the calculated value. For the "1d6" you could add SbNamePar.DieCnt1 and SbNamePar.DieSiz6, but I would prefer them to reference a value field so that they are more easily manipulated from outside the ability. For that reason, I set abValue to 1 and abValue2 to 6 and add the SbNamePar.DieCntVal and SbNamePar.DieSizVal2 tags instead. The damage bonus is calculated in an eval script, stored in abValue3, and is signed, so apply SbNamePar.AppValue3 and SbNamePar.SignAppVal. Finally set the abText field to "fire" and add the SbNamePar.AppText tag.
    • The Aura of Madness ability of the Madness domain is displayed as "aura of madness (DC X, Y rounds/day)". Just add SbNamePar.IncDC and SbNamePar.IncUses.
  • Added a system for Automatic livename Generation based on tags assigned to a class or racial ability.
    • Livename generation uses many of the same tags as sbName generation above, with the following exceptions:
    • Although the livename is also generated in 3 sections, only the latter two of them are user modifieable with tag groups (LvNameApp, LvNamePar).
    • There is no equivalent of IncUses, IncDC or ShowSelNm tags, as all three of those bits of information are automatically appended in section 3 if they are present. So is any user entered text, array choices, and so on.
  • Psionic Powers can now be added to a configurable. The following fields have been added to control how powers can be added to a configurable:
    • cfgPower1 - This field's text is used in the title bar of the selection window.
    • cfgMaxPw1 - This field holds the maximum number of powers that can be added to the table
    • cfgSpenPw1 - This field keeps track of the number of powers that have been added to the table.
    • cfgAllwPw1 - This field holds the tag expression that determines which powers can be added to the configurable.
  • Added Helper.PwCountLev/Helper.SpCountLev tags. The powers and spells configurables now count the number of spells added as spent by default. If the CountLev tag is applied to the configurable, then each power/spells level is counted against the allowed limit for the table. For example, a 3rd level spell will consume 3 slots.
 
  • Psionic Powers can now be added to a configurable. The following fields have been added to control how powers can be added to a configurable:
    • cfgPower1 - This field's text is used in the title bar of the selection window.
    • cfgMaxPw1 - This field holds the maximum number of powers that can be added to the table
    • cfgSpenPw1 - This field keeps track of the number of powers that have been added to the table.
    • cfgAllwPw1 - This field holds the tag expression that determines which powers can be added to the configurable.
  • Added Helper.PwCountLev/Helper.SpCountLev tags. The powers and spells configurables now count the number of spells added as spent by default. If the CountLev tag is applied to the configurable, then each power/spells level is counted against the allowed limit for the table. For example, a 3rd level spell will consume 3 slots.
SWEET! Thanks Aaron. Thanks LW! This will totally allow us to finish some of the Ultimate Psionics feats the right way! Plus I know this will come in handy when we do the Psionics Bestiary. :)
 
Well damn, I got SUPER excited when I saw the release because I JUST took a prestige into Furious Guardian (had to manually create part of the class my self to use it) then saw that the PrC weren't apart of it... Are you guys working towards the PrC classes next by chance?
 
Well damn, I got SUPER excited when I saw the release because I JUST took a prestige into Furious Guardian (had to manually create part of the class my self to use it) then saw that the PrC weren't apart of it... Are you guys working towards the PrC classes next by chance?

Prestige Classes are not always quick and easy to implement. They can actually be quite time consuming to add. Some of the one's I've implemented for Forgotten Realms were no less than 25 hours of work to get done.
 
suppose it would be a ton of work to add a actual ethnicity tab into the editor that had a few more of the race options? Currently I use race to get all the tags and bootstraps then copy past them to the ethnicity rinse repeat for each ethnicity but god it would be nice to just use the race tab options to make them. Course I guess there probably isn't a lot of demand so perhaps someone has a faster way of doing these types of things.


Perhaps a no type/subtype alternate racial traits option so constructs don't auto get construct alternate racial traits junk (useful for stuff such as warforged)
 
Last edited:
suppose it would be a ton of work to add a actual ethnicity tab into the editor that had a few more of the race options? Currently I use race to get all the tags and bootstraps then copy past them to the ethnicity rinse repeat for each ethnicity but god it would be nice to just use the race tab options to make them. Course I guess there probably isn't a lot of demand so perhaps someone has a faster way of doing these types of things.


Perhaps a no type/subtype alternate racial traits option so constructs don't auto get construct alternate racial traits junk (useful for stuff such as warforged)

You can eliminate the stuff from a type by assigning the NoTypeAbil.WHATEVER tag to the hero very early in first, like First 400. This is used for some races which don't gain all the stuff their type/subtype normally does. Beware that this gets rid of all things bootstrapped by the type, so if you only wanted to get rid of some of it whatever applies the tag should also bootstrap what you want to add back in.

There is also a NoTypeImm tag group which is like NoTypeAbil but is specific to Immunities.
 
Well damn, I got SUPER excited when I saw the release because I JUST took a prestige into Furious Guardian (had to manually create part of the class my self to use it) then saw that the PrC weren't apart of it... Are you guys working towards the PrC classes next by chance?

I don't recognize that PrC, where is it from?
 
You can eliminate the stuff from a type by assigning the NoTypeAbil.WHATEVER tag to the hero very early in first, like First 400. This is used for some races which don't gain all the stuff their type/subtype normally does. Beware that this gets rid of all things bootstrapped by the type, so if you only wanted to get rid of some of it whatever applies the tag should also bootstrap what you want to add back in.

There is also a NoTypeImm tag group which is like NoTypeAbil but is specific to Immunities.

Yea I saw both of those and used them to remove construct traits abilities and such, however the construct alternate racial traits still are listed because they are linked to construct type I assume or perhaps linked to one of the races that I have set for counts as (for feat qualification reasons. Perhaps the timing on the counts as can be changed to just before feats qualifications are checked but after racial traits and such are checked??
 
Yea I saw both of those and used them to remove construct traits abilities and such, however the construct alternate racial traits still are listed because they are linked to construct type I assume or perhaps linked to one of the races that I have set for counts as (for feat qualification reasons. Perhaps the timing on the counts as can be changed to just before feats qualifications are checked but after racial traits and such are checked??

Just have the thing which applies the tag have another eval script later which modifies the candidate expression for ARTs to exclude those.
 
what should the timing be for the eval scripts, want to make sure the scripts qualify the race for feats and equipment and traits linked to the race but avoid qualifying them for alternate racial traits
 
tested the eval script timing and if I apply the racial type any later then it never applies the racial type and the alternate racial traits are done after this point.

Thus I can't figure out how to prevent Construct alt racial traits from showing without actually removing the construct type
 
Upon closer inspection, it looks like the ART selection is based on the intersection of IsRace tags on the hero and AllowRCust tags on the ART things to be added, and not on a candidate expression field which you can overwrite. So the only way you're going to be able to eliminate those from the list is to delete IsRace.tpConst tag from the hero. That shouldn't stop pre-reqs that depend on the type, so long as they are using the correct macro, but it's possible there are some out there checking for the IsRace rather than HasType tags.

Post level 10000
Code:
   perform hero.delete[IsRace.tpConst]
 
Last edited:
Ok I figured out a work around, lot more work but seams the other method isn't possible

Making a alternate racial type so that construct is listed under race type but not tagged as construct for racial traits then going to try and set the is race for after the checks of alt racial types and see if maybe that will trigger for feats.

Pre-level (user) 20000

Seams to work to prevent the race from counting for racial traits ect but allowing it to qualify for feats, just goto add in a fake Construct type tag so that type looks correct and I think all is good

update: I ended up making a new type that combined the construct and living subtype and it works good, thx for the help least I know the other way I was trying to do it can't be done, think I got most things figured out except for languages and factions, and I am sure there has to be a easy way to work around those. Thought some of the data packs had option to hide all languages that where not for the related content. Perhaps I could get help with the specifics of that eval code. Assuming it uses special groupings of something of the sort. Might it be possible to do so with factions also?
 
Last edited:
Ok so ran into a new problem, When changing race HL does not drop the construct traits. I assume this is for the same reason that custom races are glitchy, it is because the trait was added after the original race gets added and thus does not clear normally. No clue how to work around or fix this, besides to remake the hero any time it happens rather then swapping race.

update: ok worse yet even new profile keaps the trait even though I can't see any reason for it, nothing short of reloading HL drops it away, thus once selected it refuses to drop the tag, I am sure this means I am missing the tag in the eval script that says don't do this if not selected. Least I think that's it but why does it stay when a new profile is started?
 
Last edited:
You've lost me somewhere along the way stargazer. I'm no longer clear what fix you attempted other than that it wasn't the one I suggested, nor am I sure what context you're working in. Is this supposed to be a normal race? Some sort of ethnicity of an existing race? A Custom race built in the fashion of the ARG? A custom Monster using the rules in the Monster Manual?
 
stand corrected yet again, some reason it is always coming up with the subtype trait being listed, even before race is selected even when reloading HL. The subtype doesn't show will keep playing with it but no clue why
 
You made a new type? All types are bootstrapped to all heroes, but not shown unless an appropriate tag is on the hero.
 
Back
Top