• 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

Need alot of help with adding a couple custom feats.

sorakiba

Member
Hello, I'd like to preface this with the fact that I am a complete noob at editing or modifying anything in HeroLab, and do not know how to "script" anything - I have zero experience. However I am really good at following "stereo" like instructions... I've already tried reading several sources, and they're just confusing me, and really don't tell me exactly what I need to know...

With that said, I was told by a friend that I can add custom feats to HeroLab... I just have no idea how to do it,... I opened the editor, and saw the tab for feats - but I have no idea what to do to add these, and since I'm really good at following complicated instructions, I thought I'd ask the professionals if any of them might be so kind as to tell me how I might add a couple new feats... so here goes...

The first feat that i would like to add would be called: "Arcane Focus" - it would allow any arcane spellcaster to select 1 additional new spell at each level, after the feat is selected (not retroactively) - For example, a wizard starts off knowing three zero level spells, and two first level spells, so if a character took this feat at creation, it would allow him to start with either four zero level spells, or three first level spells - then at level two, he would get one additional spell of each level for gaining a level, plus being able to again select another single new spell of either level... I would also like for this feat to be able to be taken multiple times.

The next feat would be called: "Spell Finesse" - It would allow any spell caster to change their main modifier attribute, to another attribute of their choice - for example, a sorcerer's main modifier attribute is Charisma, but if one of my players wants to create a sorcerer who's spell abilities are based off of his physical physique, rather than his charming good looks, he could change the Charisma to Strength, so that Strength effected all of his sorcerer abilities instead of Charisma. - Likewise, a wizard could change his Intelligence modifier to Wisdom to be more sagely... ect...

The next one would be: "Signature Weapon" - This feat would allow the character selecting it to select one weapon that they own, and gain a +1 ccompetence bonus to hit with that weapon, based on the character's level. +1 at 1st-4th, +2 at 5th-8th, +3 at 9th-12th, +4 at 13th-16th, and a +5 for 17 and above.

I'd also like to add a knowledge skill called "Lore" (available to every class) that I can put ranks into.

Finally, there is one other thing that I wanted to ask about, although this is not about adding a feat, but rather removing a starting class feat... I allow my players to build their own characters sometimes, which involves them removing class feats, and adding their own feats in place of the class feats - for example, two of the feats that a bard starts off with are "Bardic Weapon proficiencies" and "Shield Proficiency", but if a player wants to have "Exotic Weapon Proficiency", and "Medium Armor Proficiency" instead of those other two, I allow them to swap them out - is there any way to do that in HeroLab? - I ask because I haven't figured out how to remove class feats from a class.

I'd like to thank any who respond in advance, as I am a complete noob at this... thank you all.
~Sorakiba
 
Last edited:
Arcane Focus: I have no idea what "select 1 additional new spell" means because that is different for spontaneous vs. prepared. In any case, this feat would need scripting because it isn't tied to levels, can't be retroactive, and so on.

Spell Finesse: Check into an archetype like Scarred Witch Doctor. Again, though, you mention "sorcerer abilities" and this term is meaningless. I have no idea what changes over to the new ability. Some archetypes use an ability score for CL or for DC or some combination of things.

Removing feats: That's part of the reason for archetypes. Since you allow your players to come up with any archetype they want, you simply need to create all of those custom archetypes in HeroLab. Look at any archetype for an example.

It seems a lot of this stuff is (should be) dealt with in archetypes, but that's more a comment on the house rules than Hero Lab. From a technical point of view, I think it would be hard to recreate an archetype with a feat.
 
Last edited:
Like you, I am totally new at scripting within the hero lab editor. (Having 15 years of programming experience help though!)

But there are some advices to start somewhere :

1 - Within hero lab try to find the closest feat with the one that you want to create

2 - In the editor, in the feat tab, click on New(copy) and find the feat found at step one

3 - Analyse the new feat, give a new unique ID, and add your own touch

4 - Save

5 - Click Test Now!

6 - Go back to Hero lab and try your new feat

That`s what I did to learn. You need patience. I am trying to create a full new race with alt. racial traits, feats and also a new hunter archetype. I think I spent neary 40 hours since 3 weeks, and I am still not done (almost finsh though, thx to good samaritain here in the forum)

Also, to help people to help you, it helps to copy and paste portion of script. It is a good start for people to help you.
 
"Arcane Focus: I have no idea what "select 1 additional new spell" means because that is different for spontaneous vs. prepared."

I see the confusion - Certain spell classes, like the sorcerer and bard receive a specific "set number" of new spells that their character "can know" or "has learned" every time they gain a level - I'd like to create a feat that gives them their "X" number of set spells that they normally receive, plus 1 additional bonus spell of any level that they are capable of casting. These classes would still have limited castings per day, and it wouldn't let them cast any more spells, but it would let them "know more spells", so that they have a larger pool of spells to select from.

And yes, I believe that it would require scripting, I simply have no idea how to do that...


"Spell Finesse: Check into an archetype like Scarred Witch Doctor. Again, though, you mention "sorcerer abilities" and this term is meaningless. I have no idea what changes over to the new ability. Some archetypes use an ability score for CL or for DC or some combination of things."

Unfortunately my HeroLab doesn't have an archetype called "Scarred Witch Doctor"... the only archetype that I have that has the word "Witch" in it, is "Witch Hunter" for the Inquisitor class.

As to the using archetypes to remove class feats, I'll look into that...


Like you, I am totally new at scripting within the hero lab editor. (Having 15 years of programming experience help though!)

But there are some advices to start somewhere :

1 - Within hero lab try to find the closest feat with the one that you want to create

--snip--

Also, to help people to help you, it helps to copy and paste portion of script. It is a good start for people to help you.

For the "Arcane Focus" that I want to create, there is a feat called "Expanded Arcana" that does something similar to what I want, but it's not per level, it's only a one time per selecting it, and it lets the caster select two spells, instead of one spell, if you select a lower level spell (than your highest) - when I opened it in the editor, and tried to give it a new ID, it told me that: "This thing is defined as part of a supplement, and is non-copyable" and said that I can't make any changes to it, or save it?

In the next few hours I'll try looking up to see if there are any feats that are similar to the other ones that I want, but I'm not aware of any off of the top of my head.

Thank you, to both of you :)
 
For the "Arcane Focus" that I want to create, there is a feat called "Expanded Arcana" that does something similar to what I want, but it's not per level, it's only a one time per selecting it, and it lets the caster select two spells, instead of one spell, if you select a lower level spell (than your highest) - when I opened it in the editor, and tried to give it a new ID, it told me that: "This thing is defined as part of a supplement, and is non-copyable" and said that I can't make any changes to it, or save it?

Anything that comes from one of the supplemental books - not the Core Rulebook - can't be directly copied and altered by the "New (Copy)" button. Instead, you'll need to manually copy everything over.

I do this by opening HeroLab twice, but some folks prefer to do it all using only one instance of HL. \

In one, use the New (Copy) button to access the item (feat, in this instance) that you want to duplicate. In the other, use the New button (NOT the 'Copy') version. Check all the boxes that need checking and copy any scripting over line by line using copy/paste. Then change what needs changing in the new copy to make it do what you want.
 
Just a FYI also:

Here is a link to the Glossary of Terms the editor uses.

FAQ#2 has all the places to get help for the editor including the links to the Intro Videos on using the editor. Worth watching to get up to speed.
 
@Mowgli - thank you - I was able to create a feat called Arcane Focus using your directions, but it still only does exactly what the Expanded Arcana did...

So I'll share the Eval-scripts on it, to see if anyone can tell me what to change?|
Under Eval Scripts:
Code:
      ~ If we're disabled, do nothing
      doneif (tagis[Helper.FtDisable] <> 0)

      ~if we haven't chosen anything yet, just get out now
      doneif (field[usrChosen1].ischosen = 0)

      ~Only add the option to select a second spell if we can cast spells of a level above our minimum
      if (field[usrChosen1].chosen.field[cMaxSpLev].value  > field[usrChosen1].chosen.field[cSplMinLvl].value) then
        field[usrChkText].text = "2 spells?"
        endif

Code:
      ~ If we're disabled, do nothing
      doneif (tagis[Helper.FtDisable] <> 0)

      ~if we haven't chosen anything yet, just get out now
      doneif (field[usrChosen1].ischosen = 0)

      field[actUserMin].value += maximum(field[usrChosen1].chosen.field[cSplMinLvl].value - field[usrIsCheck].value, 0)

      field[actUserMax].value += maximum(field[usrChosen1].chosen.field[cSplMaxLvl].value - field[usrIsCheck].value, 0)
Under Eval Rules

Code:
      ~ If we're disabled, do nothing
      validif (tagis[Helper.FtDisable] <> 0)

      ~if we haven't chosen anything yet, just get out now
      validif (field[usrChosen1].ischosen = 0)

      var spelllevel as number
      spelllevel = maximum(field[usrChosen1].chosen.field[cMaxSpLev].value - field[usrIsCheck].value, 0)

      if (spelllevel >= field[actUser].value) then
        @valid = 1
        endif

      spelllevel = minimum(spelllevel, field[actUser].value)

      field[usrChosen1].chosen.field[cKnowMax].arrayvalue[spelllevel] += 1

@ShadowChemosh:
Thank you also, ... I have reviewed the glossary and videos, and they were informative, but I was wondering if there was a more detailed glossary of the functions in the eval scripts? Such as when you told us what the "+=", and "doneif" means - is there a page that explains all of the other signs and stuff, so that we know what they are supposed to mean?

Remember, I have zero experience at this, so this is my fist time attempting any kind of scripting or editing of any kind, like I said though, I really do follow directions very well...
 
@ShadowChemosh:
Thank you also, ... I have reviewed the glossary and videos, and they were informative, but I was wondering if there was a more detailed glossary of the functions in the eval scripts? Such as when you told us what the "+=", and "doneif" means - is there a page that explains all of the other signs and stuff, so that we know what they are supposed to mean?
I wish I could say yes but the answer is "no". I have wanted to build a site/wiki that does that but I have been saying that for years now. :(

Maybe someday.....
 
@ShadowChemosh:
Thank you also, ... I have reviewed the glossary and videos, and they were informative, but I was wondering if there was a more detailed glossary of the functions in the eval scripts? Such as when you told us what the "+=", and "doneif" means - is there a page that explains all of the other signs and stuff, so that we know what they are supposed to mean?

A quick googling brought up this thread by Mathias from a few years ago

The first linked thread within has some of the comparator and operator definitions (i.e. what += means; which is a standard "incrementor" operator to most coders), with more in-depth stuff in the later threads

There is also the wiki that it looks like is maintained by HL devs (as it's on wolflair's domain); it appears to be a WIP though
 
A quick googling brought up this thread by Mathias from a few years ago

The first linked thread within has some of the comparator and operator definitions (i.e. what += means; which is a standard "incrementor" operator to most coders), with more in-depth stuff in the later threads

There is also the wiki that it looks like is maintained by HL devs (as it's on wolflair's domain); it appears to be a WIP though
Google searches NOT needed. The FAQ#2 I pointed to before lists all this info and more places to get help.

But a place that really goes over each command, tags, function, or macro in detail does not exist. :(
 
But a place that really goes over each command, tags, function, or macro in detail does not exist. :(

I was hoping for something like that :(

I thought that it might be simple enough for someone here to just tell me how to do the things that I inquired about - but it looks like it might be a lot more complicated that I expected...

I'm a pretty smart fellow, and very logical... The explanations that you gave about the scripts in your videos on making a cloak made perfect sense to me, however, as I am a complete noob, and have no experience at scripting, coding, or editing at all, it's looking like I might of bit off more than I can chew - It's starting to look like I might just have to stick to the old "working out the calculations in my head", and writing them down in pencil and paper method for playing Pathfinder, rather than relying on HeroLab to do the calculations for me :(
 
Why don't you work on one feat at a time, not eight. Study just that feat, figure out what already exists that's closest, and create a new thread telling people what you've figured out, and where you're still stuck on that feat, then once you've got that working, repeat for the next feat.
 
Why don't you work on one feat at a time, not eight. Study just that feat, figure out what already exists that's closest, and create a new thread telling people what you've figured out, and where you're still stuck on that feat, then once you've got that working, repeat for the next feat.
This is great advice and I should have mentioned it yesterday but was busy.

It can be overwhelming at first using the editor. So working on one task at a time will really help. :)
 
Back
Top