• 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

New bonus category

Quintain

Well-known member
Is there any method of adding a new bonus/penalty type to the Pathfinder ruleset?

My GM has come up with a new category, called "Divine" that stacks with all other bonus types, but not with itself, and is generally attached to "Legendary" type items.

I'd like to add this to my custom .user file, but there doesn't seem to be any way via the editor that I can figure out.

Thanks.
 
You would not be able to make a new Type, but you can just use the existing "Bonus" or "Penalty" fields. For instance...

hero.child[skStealth].field[Bonus].value += 2

Would add a+2 Bonus to Stealth.
 
You would not be able to make a new Type, but you can just use the existing "Bonus" or "Penalty" fields. For instance...

hero.child[skStealth].field[Bonus].value += 2

Would add a+2 Bonus to Stealth.

I've tried this, and unfortunately, the untyped bonus stacks with other untyped bonuses.. and thus when you have multiple items with this "divine" bonus, the values come out wrong (stacking vs overlapping).
 
multiple items with this "divine" bonus, the values come out wrong (stacking vs overlapping).

Since you are making a new type, you have the ability to be aware of all existing other effects with that bonus. So you can code childlives effects looking for the other things and do your own stacking protection.
 
Unfortunately, you can't add new fields, but you could handle your own stacking with a series of tags, though you'd need a variation for each place the tags would apply bonuses.

For example, divine bonus to AC is Custom.DivineAC and divine bonus to Attack is Custom.DivineAtt

Say you have 2 things which apply a divine bonus to AC, thing 1 applies a +3 bonus, and thing 2 applies a +1 bonus.

Set each up so that they count the number of tags on the hero, if it is greater than their bonus do nothing. Otherwise increase the untyped bonus field by the difference between their bonus, and apply an equal number of the same tags to the hero. That way the next thing which runs will detect the higher bonus and not apply too high a bonus.

If thing 1 runs it's script 1st, it increases Bonus by 3 and applies 3 tags. Then thing 2 runs and does nothing, since the number of tags is greater than 1.

If thing 2 runs it's script 1st, in increases Bonus by 1 and applies 1 tag. Then thing 1 runs and adds the difference (2) to Bonus, and applies 2 more tags.
 
Ok, so this leads to the "how" question. Where do I start? Are there any code examples around that I could look at?
 
Just to add another thought into this. If I was to do it I would create new "Abilities" that where setup for "Saves - Divine", "Armor Class - Divine", "Attack Rolls - Divine", and "Damage Rolls - Divine".

The idea is that we know "Divine" stacks with everything else in the Pathfinder game because it does not exist. So we only have to worry about the "NEW" Things we custom add.

So each of the above would be coded so that at the right point to add to the "Bonus" value of the main Thing. Hmm let me show an example instead:

"Save, Ref - Divine" (thingid.tyDivSvRef) - This will store the "Divine" bonus to Ref saves in the abValue field.
Code:
~ Post-Levels/25000
~ Apply our Divine bonus stored in abValue to our Ref saves bonus as
~ divine will stack with all other named types.
hero.child[svRef].field[Bonus].value += field[abValue].value

Now then lets say we have a Ring of Divine Ref Saves +1. Its code would look like the following:
Code:
~ Pre-Levels/10000
~ Set our bonus value of +1
field[abValue].value += 1
~ Apply only the highest bonus to the Divine saves. This could be our +1
~ or not based on what is already stored in abValue on tyDivSvRef.
#applybonus[abValue,hero.child[tyDivSvRef],field[abValue].value]
Cause we are using #applybonus[] we only get the highest value into the abValue field on the tyDivSvRef Thing. And only that highest value would get onto the hero.

Then you may ask how do I get the "Save, Ref - Divine" to be live on the hero. The easy method is too bootstrap the thing "tyDivSvRef" onto any Thing that is applying a Divine bonus type. So above the "Ring of Divine Ref Saves +1" would bootstrap "tyDivSvRef". You could also use a mechanic here but that is a different story.
 
Forgot one thing. Make sure you set the new "Abilities" you create to be "Unique" so even if bootstrapped from multiple Things it will only exist ONCE on the hero. That is important piece of setup. :)
 
Ok. I set this up in the editor like this:

Here's the xml:

<thing id="tyDivSvRef" name="Save, Ref - Divine" compset="Ability" summary="Divine Bonus to reflex saves" uniqueness="unique">
<tag group="AbilFunc" tag="tyDivSvRef" name="Save, Reflex - Divine"/>
<eval phase="PostLevel" priority="25000">~ Apply our Divine Bonus stored in abValue to our Ref saves bonus as
~ Divine will stack with all other named types
hero.child[svRef].field[Bonus].value += field[abValue].value</eval>
</thing>

However, when I put the applybonus macro (above) into a eval script, I'm getting the following error when I equip the item:

Attempt to access non-existent child pick 'tyDivSvRef' from script
Location: 'eval' script for Thing 'ioGorumTl' (Eval Script '#1') near line 15
- - -
Attempt to access non-existent child pick 'tyDivSvRef' from script
Location: 'eval' script for Thing 'ioGorumTl' (Eval Script '#1') near line 15

Edit: the above error was from a failure to bootstrap the ability. After bootstrapping, it looks like it worked.
 
Last edited:
Shadow,

Question on technique. There is a "divine" bonus to attacks/damage of my natural attacks (as I have multiple, this is from a pick list and skills as well -- again, a pick list.

Can you give a code example that incorporates the userChosen1 field so the divine bonus will apply to the chosen item?

I have: field[usrChosen1].chosen.field[Bonus].value = hero.child[tyDivAtt].field[abValue].value
 
I have: field[usrChosen1].chosen.field[Bonus].value = hero.child[tyDivAtt].field[abValue].value
The only change would be you want to += so you don't lose any other bonuses.

Code:
field[usrChosen1].chosen.field[Bonus].value += #value[tyDivAtt]

Then I use the macro to make the code shorter and easier to read.
 
Last edited:
The only change would be you want to += so you don't lose any other bonuses.

Code:
field[usrChosen1].chosen.field[Bonus].value += #value[tyDivAtt]

Then I use the macro to make the code shorter and easier to read.

Ok, the abilities for the saves seem to work. However, when it comes to specific weapons (generated from a pick list), the ability for tyDivAtt and tyDivDmg don't have the same references for all the rest.

Due to the way the item works, I can't give a general increase in attack bonus, I can only apply it to specific chosen weapons.

The code for saves:

hero.child[svFort].field[Bonus].value += field[abValue].value

Doesn't work for weapons.

What goes in the place of SvFort when it comes to items that may or may not exist?
 
Ok, the abilities for the saves seem to work. However, when it comes to specific weapons (generated from a pick list), the ability for tyDivAtt and tyDivDmg don't have the same references for all the rest.

Due to the way the item works, I can't give a general increase in attack bonus, I can only apply it to specific chosen weapons.

The code for saves:

hero.child[svFort].field[Bonus].value += field[abValue].value

Doesn't work for weapons.

What goes in the place of SvFort when it comes to items that may or may not exist?
Hmm so had to think a little about this but its not too bad. This one is going to be a little more sophisticated but it should work.

If you need "Global" divine damage the code would look like the following. With each script being on its own Thing. So the attack script would be a on tyDivAtt and the damage would be on tyDivDmg.
Code:
~ Give a bonus to attack to all weapons
hero.child[Attack].field[Bonus].value += field[abValue].value
~ Give a bonus to damage to all weapons
hero.child[Damage].field[tDamage].value += field[abValue].value

So for a specific weapon I would create a new Ability called "tyDivWep" with the following script:
Code:
~ If no target tags then get out now
doneif (tagis[Target.?] = 0)

var search as string
~ Build the search string of Target tags
search = tagids[Target.?,"|"]
~ Loop through only the weapons on a character that have the assigned
~ Target tags. Give those specific weapons a divine bonus
foreach pick in hero from BaseWep where search
     eachpick.field[Bonus].value += field[abValue].value
nexteach

Now then each other "Thing" would assign not only a Bonus to the tyDivWep abValue field but also need to assign the "Target" tag. Target tags are automatically created by HL for each "weapon". So to give a bonus to claws on a character you would assign the tag "Target.wClaw" to tyDivWep Thing.
Code:
perform hero.child[tyDivWep].assign[Target.wClaw]

If you really want to get fancy you could have the tyDivWep set to "Not Unique" to allow multiple Live Picks of tyDivWep to exist on a hero. Then instead of doing the assign of the Target tag in a script you could bootstrap the tyDivWep Thing to a feat/magic item and set the the tag on the Bootstrap itself. You would also assign the "Field" abValue with the bonus amount during the bootstrap. That is another idea of what could be done but is a bit more advanced.

So that is one way to do it. You could also use Aaron's idea with tags instead to control a bonus to a "Specific" weapon.
 
Shadow:

Thanks for the tips above.

I think it misses the mark, however. Here's why. I have a character with 4 claw attacks, two that are the upper limbs, and it is on these limbs that the bonus applies. The other two are on the lower limbs, and they will not have the bonus applies.

Previously, through the script, I've applied a untyped bonus to these two upper limb claw attacks only via a pick list:

field[usrChosen1].chosen.field[Bonus].value += X -- the pick list in the item allows me to select which claw attacks apply.

However, in the divine bonus type ability: tyDivAtt and tyDivDmg, the script to create that type doesn't seem to have the right syntax so I can use the pick list to apply the bonus:

hero.child[?wAttMelee?].field[Bonus].value += field[abValue].value

Is there any tag that can be replace the wAttMelee field so that it applies correctly to whatever is selected?

Or am I misunderstanding something?

Edit: I do like the type ability set to the Not unique to allow multiple live picks, and then setting the tag on the bootstrap itself. That seems a bit cleaner in the long run.

In my Skill helper for the 3rd pick list that we set up on the magic item above, I've added the tyDivSkill ability (that I want to use for a pick of a single skill by the character). I'm not positive on the eval script code or how the ability holds the divine bonus variable. However, presuming the correct functioning of this, I've bootstrapped that tyDivSkill ability to my 3rd pick list, and made a field of abValue, a Value of 5, and Pick as my selections on the Thing.

I like this method because it is then portable between weapon types, as the Item of Legend in question can take the form of pretty much any weapon type, even enhancing natural weapons (the versio my character has).

Is this correct?
 
Last edited:
Shadow:

Thanks for the tips above.

I think it misses the mark, however. Here's why. I have a character with 4 claw attacks, two that are the upper limbs, and it is on these limbs that the bonus applies. The other two are on the lower limbs, and they will not have the bonus applies.
Well then my advice is to NOT make them all claws. The idea you have upper/lower claws is not a Pathfinder mechanic. So my advice would be to use the "Other Melee" natural attack so that they are seen as different.

Thats like saying I have "Weapon Focus (longsword)" but I only want the bonus to apply when not in the left hand. Its not normal so its going to require ALLOT more special scripting.

However, in the divine bonus type ability: tyDivAtt and tyDivDmg, the script to create that type doesn't seem to have the right syntax so I can use the pick list to apply the bonus:

hero.child[?wAttMelee?].field[Bonus].value += field[abValue].value

Is there any tag that can be replace the wAttMelee field so that it applies correctly to whatever is selected?

Or am I misunderstanding something?
I gave script examples to show how to apply a "divine" bonus to ALL attacks. If you don't need them don't use them. But they are valid examples on how to give a bonus to all attacks.

Edit: I do like the type ability set to the Not unique to allow multiple live picks, and then setting the tag on the bootstrap itself. That seems a bit cleaner in the long run.

In my Skill helper for the 3rd pick list that we set up on the magic item above, I've added the tyDivSkill ability (that I want to use for a pick of a single skill by the character). I'm not positive on the eval script code or how the ability holds the divine bonus variable. However, presuming the correct functioning of this, I've bootstrapped that tyDivSkill ability to my 3rd pick list, and made a field of abValue, a Value of 5, and Pick as my selections on the Thing.

I like this method because it is then portable between weapon types, as the Item of Legend in question can take the form of pretty much any weapon type, even enhancing natural weapons (the versio my character has).

Is this correct?
If you also need to this for every single skill I would create a new unique Ability to hold the bonus for each skill. So tyDivSkAcr would be for Acrobatics and it would only hold a bonus value to the Acrobatics skill. Create them all now or as you needed them.

By asking for a "NEW" house ruled bonus type its not going to be a 5 minute project. You have taken on allot of stuff here. Go slow and get one section working without jumping all around to ALL these different areas. That is my advice anyways.
 
Yes, claws on the feet/lower limbs is a pathfinder mechanic. Check the eidolon -- you can have legs evolution and claws, along with the limbs(arms) evolution and claws. It's what allows for Rend and Rake.

And *supposing* that the aspect ability would be able to grant a greater number of evolutions, the summoner could potentially do the same.

The mechanic is there. What I'm talking about is applying a magical weapon effect to it.

The limitation, imo, is in Hero Lab. I don't see any direct way of attaching a magical weapon like effect to specific natural weapons in any direct manner.

I like the bootstrap abilities mechanic (from a conceptual standpoint).

For the time being, I think I'll put the attack and damage divine bonuses onto the wonderous item directly and apply to claws via pick list and put the rest of the ability modifiers onto bootstrap items.

What I would like to see is Lone Wolf modify Hero lab (enhancement request) to allow for creation of gizmos (aka magic item effects) that are separate from the base items themselves.

A Item of Legend type structure needs to be built that is robust.
 
Yes, claws on the feet/lower limbs is a pathfinder mechanic. Check the eidolon -- you can have legs evolution and claws, along with the limbs(arms) evolution and claws. It's what allows for Rend and Rake.
I am sorry Quintain but its NOT part of the Pathfinder mechanics. Rakes are a special kind of attack. Claws are claws and their is NO mechanic in Pathfinder that define those claws separately. If you take Weapon Focus Claws it applies to ALL claws. Not just the claws on the right side of your body or the lower half.

Which is why I am saying if you add "special" house rules expect to have ALLOT of extra work. In this case its not too bad.

If your "attacks" are special then use "Other Melee" attack and call it claw if you want. But then you could easily configure the script to know the difference between a claw and your "Special" attack. Just like how "Rake" is a special attack and is its own Natural Attack.

Over all I apologize as you have a more advanced issue I don't have allot of time to actually go into detail. On top of that I am at work and can't "test" anything I say. So its all "theory" actually but I know it would work just don't have the full details down here....
 
Last edited:
I am sorry Quintain but its NOT part of the Pathfinder mechanics. Rakes are a special kind of attack. Claws are claws and their is NO mechanic in Pathfinder that define those claws separately. If you take Weapon Focus Claws it applies to ALL claws. Not just the claws on the right side of your body or the lower half.

Which is why I am saying if you add "special" house rules expect to have ALLOT of extra work. In this case its not too bad.

If your "attacks" are special then use "Other Melee" attack and call it claw if you want. But then you could easily configure the script to know the difference between a claw and your "Special" attack. Just like how "Rake" is a special attack and is its own Natural Attack.

Over all I apologize as you have a more advanced issue I don't have allot of time to actually go into detail. On top of that I am at work and can't "test" anything I say. So its all "theory" actually but I know it would work just don't have the full details down here....

Again, they are a pathfinder mechanic. All the rules that you are quoting are within Pathfinder rulebooks. I'm not making anything special here. Don't get caught up in the lawyer minutae.

I'm simply looking for a way to apply a bonus to one set of natural attacks and not to others. It doesn't matter how many of a particular natural attack a individual has -- what matters is that unlike with weapons, there is no way to differentiate between them.

Let's look at this another way. If you have two claw attacks. How do you apply a bonus to one claw attack and not the other?

It's really that simple. If you can differentiate via a index value that is consistent in the code, it can be done.

As near as I can tell, there isn't a way to do this. That is the hole I'm trying to fill. Whether it is with natural attacks or not is immaterial. That just happens to be the subject test case I'm working with due to this being my particular character in my particular game.

Btw, If you are trying to help code Psionics Expanded or the Ultimate Psionics book, this is where I got these things. Take a look at the Aegis class and the Aberrant archetype.
 
As near as I can tell, there isn't a way to do this. That is the hole I'm trying to fill.

This is exactly what Shadow is saying. There is NOT a way built into the mechanics currently.

Again, they are a pathfinder mechanic. All the rules that you are quoting are within Pathfinder rulebooks. I'm not making anything special here. Don't get caught up in the lawyer minutae.

No it is not a Pathfinder mechanic. Natural Weapons are on a different rule-set than manufactured weapons.

Let's look at this another way. If you have two claw attacks. How do you apply a bonus to one claw attack and not the other?

You don't under the rule-set in Pathfinder. If you take the feat Improved Damage (Claw), then the damage of your claws is improved. It does not matter if you have 1 claw attack or 500 claws, they all get their damage improved. The same as with the example Shadow listed with Weapon Focus (longsword), it applies to all longswords the character wields, not just one.

Btw, If you are trying to help code Psionics Expanded or the Ultimate Psionics book, this is where I got these things.

See..this comes from a 3PP, not from Pathfinder. Just because it is Pathfinder Compatible does not make it a Pathfinder rule-set. 3PP's love to write their own rules to make things have the "cool" effect. Heck, there is even one 3PP class that can have a crit range on certain weapons of 0-20 because they stack Keen up to 4 times. Though PF specifically says that you cannot do it. Just because it is written that way doesn't mean that it is in the PF rules. (Also cannot be coded in HL without a LOT of work.)

This again is what Shadow is telling you. There is not the mechanic built in that lets you do this already. You CAN do it, but it will require a lot of work. Not that it is not impossible, if you are willing to put in the time to do it. It is going to take a lot of work and effort and testing to do it, and not a simple code.

It is easy for 3PPs to write a one sentence effect that changes mechanics of the game, but it is very different trying to get it to be coded into HL.
 
Back
Top