• 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

Question

OK, I apologize, I may have given a little bit of bad advice as I tried to create your feat to help troubleshoot. I forgot that class specials always refer to the class level that adds them and look for the ClsSpecWhen variable that feats don't look at.

The only way I got it to work was to recreate the 2nd level abilities as Racial Specials and rewrite any attached scripts to look up the character's total level. It's more work than I originally thought but good coding exercise. I think this could work as generic abilities, but racial abilities are an OK compromise IMHO.

I went to the Race Tab and created the abilities needed by making a new ability that would mimic the school ability. I.E. created a racial ability named Arcane Ward.

Here is what my code looks like in the text file for a single row in the usrArray, yours would have 9 total rows for each of the others. I also am only showing the 1 racial ability for Arcane Ward in interest of being compact here. I tried to bold the cross-links that refer to something external to the thing itself.

Code:
  <thing id="fXXXArcStu" name="Arcane Student" compset="Feat" uniqueness="useronce">
    <arrayval field="usrArray"[B] index="0"[/B] value="Abjuration"/>
    <tag group="Helper" tag="ShowSpec"/>
    <bootstrap thing="[B]raXXXArcWar[/B]">
      <containerreq phase="First" priority="2500">[B]fieldval:usrIndex = 0[/B]</containerreq>
      </bootstrap>
    </thing>
  <thing id="[B]raXXXArcWar[/B]" name="Arcane Ward" description="Starting at 2nd level, you can weave magic around yourself for protection. \n\n<snipped for brevity>...\n\nOnce you create the ward, you can&apos;t create it again until you finish a long rest." compset="RaceSpec">
    <tag group="Helper" tag="ShowSpec"/>
    <tag group="User" tag="Tracker"/>
    <tag group="Usage" tag="Day"/>
    <eval phase="PostAttr" priority="10000"><![CDATA[doneif (tagis[Helper.ShowSpec] = 0)
doneif (tagis[Helper.Disable] <> 0)

field[trkMax].value = #attrmod[aINT] + (2 * [B]#totallevelcount[][/B])]]></eval>
    </thing>


I also noted that you aren't using a User Identifier - In the editor go to to Tools and set a user identifier that is unique to you. I used XXX in the example above - use any 2 or 3 letters that you'll remember is your code (the community uses 5C, don't use that ID). It helps troubleshooting.

Well, this is far more complicate than i originally thought. i have been thinking that this might not be a good thing to have anyway as it may overpower some players. when it comes to coding like this, my brain just hurts. i'm trying, i swear.

Just, let me think here, basically, i have to add each individual second level Wizard power separately and tie them together based on the choice of school? an oversimplification maybe but still...

Thanks for the input and i will try and figure this out. i just don't know if i'm going to so it anyway. But, you never know, i may get it to work just fine.
 
Last edited:
Alrighty then. i want to thank all those who have aided me in my endeavor so far. Your insights have been most helpful when it comes to some things.

as far as Feats go, i went away from them for a short time due to some complications. however, i want to try again with some simpler ones.

as an example here:
Jack-of-all-Trades:
Requires: Minimum level 4
you add HALF of your Proficiency Bonus to all non-Proficient Skills. this is removed if Proficiency is gained, since that makes it higher in score.

any help is greatly appreciated and have a great day y'all.
 
So, you're lucky, the proficiency helper tags are applied in a hierarchy, so you can just loop through all the skills and assign the Helper.ProfHalf tag to them. Any skill that you pick to be proficient or apply expertise in apply further tags later that overwrite and assign the correct proficiency level (it always picks the highest).

The script has some timing requirements:
1. It has to run post-levels 10000
2. It has to run before Calc skProfBon

To handle the level requirement you'll need to add a expr-req that runs the #totallevelcount[] macro.

So the script will look like this:

Code:
      doneif (tagis[Helper.ShowSpec] = 0)
      doneif (tagis[Helper.Disable] <> 0)
      foreach pick in hero from BaseSkill
          perform eachpick.assign[Helper.ProfHalf]
      nexteach

If you look at the feat in a text editor is should look similar to this, I've bolded the timing and expression for 4th level check. I also bolded the id, so if you copy this, make sure you change the XXX to your custom ID.


<thing id="fXXXJackTrad" name="Jack-of-all-Trades" description="You gain half-proficiency for all skills that you are not already proficient or an expert at." compset="Feat" uniqueness="useronce">
<tag group="Helper" tag="ShowSpec" name="Show Spec" abbrev="Show Spec"/>
<eval phase="PostLevel" priority="10000"><![CDATA[~ comment
doneif (tagis[Helper.ShowSpec] = 0)
doneif (tagis[Helper.Disable] <> 0)
foreach pick in hero from BaseSkill
perform eachpick.assign[Helper.ProfHalf]
nexteach]]>
<before name="Calc skProfBon"/>
</eval>
<exprreq message="Must be 4th level or above!"><![CDATA[#totallevelcount[] >= 4]]></exprreq>
</thing>
 
Hey, thanks for all that above. it really worked and it will aid in creating more Feats.

Another question.

I am implementing some technology into this campaign and was going with some techno-magical items. This includes TESLA Weapons. TESLA Weapons are technological marvels that use Batteries to give them a damage boost. now, most weapons can be created as TESLA so i think they work on a similar level as maybe a +2 Weapon in terms of script.

My Question is, how do i make it to where the Damage bonus is triggered instead of static and it requires Batteries to use? i am still working on placing those in the Editor so i don't have their code yet. But any example would be great.
 
My Question is, how do i make it to where the Damage bonus is triggered instead of static and it requires Batteries to use? i am still working on placing those in the Editor so i don't have their code yet. But any example would be great.

Generally speaking, you would put your damage bonus in a script that looks at Activated Abilities.

If it's a static, on/off ability you'll want to check the abilActive value.

Code:
if (field[abilActive].value = 1) then
   ~ if we're active then add +2 to weapon damage bonus
   field[wDamBonus].value += 2
endif

If you want a sliding scale, you can look at the "Defender" magic sword setup. These allow you to subtract your bonus and add to your AC, but you could simply do something like the following:

Code:
 field[wDamBonus].value += field[actUser].value

As far as enforcing ammuntion or charges, it depends on how you're tracking them. As ammunition - there's no logic that forces a bow to check to see that you have arrows in inventory. As charges, you basically have to look at adding a "tracker" to your item. Both ways have pros/cons.
 
thanks for this idea. However, the Batteries are the ones with charges. there are going to be 3 distinct types: Type A only holds 5 charges, Type B holds 10, and Type C holds 15. So the Tracker won't go on the weapon itself just on the batteries right?

And another question (Damn i got so many of these f--king things), i tried making a new Deity list specific for this campaign, but each time i tried to make a new one, it wouldn't create a new pantheon, instead it just kept adding them to the Greyhawk Pantheon. how to i fix this? I thought creating a new Tag for it would work but it didn't.
 
Usually a lot of questions when you get started, everyone goes through it. Some of your questions are probably answered if you search the forums a bit, the Pathfinder forums usually have similar code that their answer will be pretty close.

As far as deities go.

1. Did you create your Pantheon header?

If you didn't, do a copy and search for the word pantheon. You'll get a pantheon header like "{bmp npcclass} Greyhawk Pantheon {bmp npcclass}". Change the word Greyhawk to whatever you need it to be. Scroll down to where you created the deity category you mentioned earlier. Make sure your pantheon header has the category you created. MOST IMPORTANT, look at the Deity Category Order Group # - if you didn't change this from the default 0, you might want to choose a number, probably over 20 to avoid conflicts with the existing pantheons.

2. Do your dieties that are now in the same category as your header have the same Diety Category Order Group number? You may need to visit the deities and give them the new number.

They should all have to have the same number as the header.

So, three things have to match in order for deities to show up right.
1. All deities share the Deity Category tag you created under the button.
2. and share the same Deity Category Order Group number.
3. If you have a pantheon header, you have to have at least 1 god with the same tags from 1 and 2 above before the pantheon header will show up.
 
Usually a lot of questions when you get started, everyone goes through it. Some of your questions are probably answered if you search the forums a bit, the Pathfinder forums usually have similar code that their answer will be pretty close.

As far as deities go.

1. Did you create your Pantheon header?

If you didn't, do a copy and search for the word pantheon. You'll get a pantheon header like "{bmp npcclass} Greyhawk Pantheon {bmp npcclass}". Change the word Greyhawk to whatever you need it to be. Scroll down to where you created the deity category you mentioned earlier. Make sure your pantheon header has the category you created. MOST IMPORTANT, look at the Deity Category Order Group # - if you didn't change this from the default 0, you might want to choose a number, probably over 20 to avoid conflicts with the existing pantheons.

2. Do your dieties that are now in the same category as your header have the same Diety Category Order Group number? You may need to visit the deities and give them the new number.

They should all have to have the same number as the header.

So, three things have to match in order for deities to show up right.
1. All deities share the Deity Category tag you created under the button.
2. and share the same Deity Category Order Group number.
3. If you have a pantheon header, you have to have at least 1 god with the same tags from 1 and 2 above before the pantheon header will show up.

This seems like a ton of minor details. However, i understand that coding will be that way. i will try this again and see where i get it. thanks for the advice.
 
Alrighty then. For one thing, i just want to thank all of those who have aided me thus far. i know it must be sorta frustrating that i am asking simple questions and taking away from your valuable time, but i do appreciate it dearly.

third and final thing, i am having issues with some Magic Items. I decided to go with the Pieces of Eden after all, and i tried making the Ring. It will grant a +1 bonus to AC like a Ring of Protection but it also holds 3 charges and 1 charge to cast the Arcane Shield Spell. i got most of it in, but the Spell is not showing up like other magical items do and i'm not sure where i went wrong. here is the code i have so far. maybe one of you can aid me.

<thing id="irGAYRingofEden" name="Ring of Eden" description="You gain a +1 bonus to AC and saving throws while wearing this ring.\n\nThis Ring is an ancient device made with unknown technology. It actually provides not only the Armor Class bonus but can activate an Arcane Shield at Will for 1 charge. It holds 3 charges and regains 1d3 spent charges at dawn each day." compset="Ring" uniqueness="unique">
<fieldval field="trkMax" value="3"/>
<usesource source="OrdoRosera"/>
<tag group="Helper" tag="NeedAttune"/>
<tag group="ProductId" tag="OrdoRosera"/>
<tag group="ItemRarity" tag="Legendary"/>
<tag group="Usage" tag="Day"/>
<tag group="abAction" tag="Action"/>
<bootstrap thing="sp5CLSArSh">
<autotag group="Helper" tag="ItemSpell"/>
<autotag group="Usage" tag="5CUse"/>
<assignval field="trkMax" value="1"/>
</bootstrap>
<eval phase="PreLevel" priority="5000">
doneif (field[gIsEquip].value = 0)
doneif (field[gIsAttuned].value = 0)

hero.child[ArmorClass].field[Bonus].value += 1
hero.child[svAll].field[Bonus].value += 1</eval>
</thing>

As far as the Ring issue, i have a few more magic rings that have spells and the same exact issue, so fixing one might fix the other 2.

Anyway, thanks again for aid and have a wonderful day.
 
You may want to look at how the Ring of Winter is set up.

The ring itself has both tags:
Usage Charges
Usage Tracker

and then the spells only have the tags:
Helper ItemSpell
ChargeUse 1 (or 2, 3, etc.)
 
Well as it turns out, i didn't select the Show in Tracked Resources button, so it never showed up. one i figured this out, along with what was posted above, it all came together.

I Swear, the solutions are so freaking simple but i have a hard time with it all. WHY AM I LIKE THIS???

LMAO: in seriousness though, thanks and if i need any more aid, i know where to ask.
 
Another simple but important question. I have this Race that i am working on, called the Zect. they are insectoid and have 4 arms. my question is how do i add 2 extra hands for weapon use in the racial tab.
 
I came across this field last month and was amused by it. In the race definition, you can add a field "rNumHands" and set it to any number you want.

There are some restrictions on how this works though, HL considers only 1 of the hands to be a primary, the other 3 are secondary. I have not figured out how to modify additional hand sets to be considered primary.

In my tests the following happens on a 4 handed character, you can wield:

4 one-handed weapons, only 1 gets the primary bonuses unless you have the feats that grant off-hand weapons the damage bonus.

1 two-handed weapon and 2 secondary weapons. The two-handed weapon gets the primary bonuses.

If you have a shield equipped, there is a bug. You can somehow wield a shield even when your hands are completely occupied (like the 4 weapon scenario), there's something wrong with the logic. You can also only wield only 1 shield ever, HL throws a validation error if you try to load 2 shields. I think this is due to the base D&D logic for calculating armor.
 
I came across this field last month and was amused by it. In the race definition, you can add a field "rNumHands" and set it to any number you want.

There are some restrictions on how this works though, HL considers only 1 of the hands to be a primary, the other 3 are secondary. I have not figured out how to modify additional hand sets to be considered primary.

In my tests the following happens on a 4 handed character, you can wield:

4 one-handed weapons, only 1 gets the primary bonuses unless you have the feats that grant off-hand weapons the damage bonus.

1 two-handed weapon and 2 secondary weapons. The two-handed weapon gets the primary bonuses.

If you have a shield equipped, there is a bug. You can somehow wield a shield even when your hands are completely occupied (like the 4 weapon scenario), there's something wrong with the logic. You can also only wield only 1 shield ever, HL throws a validation error if you try to load 2 shields. I think this is due to the base D&D logic for calculating armor.

i will give this a shot, if not, then i can have a regular two-armed variant that i can work with. thanks

Another thing though. They also have a higher AC than normal due to their natural Carapace (Being Bugs and all), and they cannot wear normal armor to account for this. they can still use a shield but just not armor. In my description, they add their CON Modifier to their AC as well as their DEX Modifier. how would i go about this?
 
Last edited:
In my description, they add their CON Modifier to their AC as well as their DEX Modifier. how would i go about this?

There is a new way to create an AC calculation in Racial Specials that was added in one of the last two updates. If you create a new Racial Special, you can scroll to the very end and easily set up an AC calculation using CON, DEX and a Shield.

Simply, check the Armor Class Calculation? checkbox, fill in the new base AC (if with now DEX/CON/Shield bonuses your AC is 12, put in 12) for the Base Value. Finally, click the button for AC modifiers and choose which modifiers will be used.

This doesn't turn off the ability to equip armor though. What happens is HL will calculate all the AC available and choose the best number.

There is a script on the tortle PC in the Tomb of Annihilation file that basically sets the AC bonus of any armor put on to 0 if you want to try and address the edge case that plate armor is better than the new AC calculation that you can look at as an example. The tortle was created before these new racial options, so the script is on the base PC version of the tortle.
 
Alrighty, i figured out how to do that. the AC thing was easier than i thought. also, because of their physiology, the Zect do not wear normal armor. how do i script this? i know there is a way to remove armor selection but i don't know how to do it myself.
 
I'm not sure you can completely turn off the ability to equip it, however you could check for the hero level tag: Hero.EquipArmor

If this tag is on, you could throw an error using an eval rule.

Click on eval rule and add one.
Set the Phase to Final
Set the Priority to 10000
Leave the index and severity alone
In the Message and Summary fields type: Hero Cannot Wear Armor!
And for the script use this:
validif (hero.tagis[Hero.EquipArmor] = 0)

It will throw a validation error up top with any other validation errors.

or you can try to modify the code below that basically zeroes out any armor worn, it won't fix every case scenario thought.

I run this post-attributes 5000 on my copy of the Tortle:
Code:
doneif (tagis[Helper.Disable] <> 0)

var dexmod as number

dexmod = #attrmod[aDEX]
~ turn it into a penalty
dexmod *= -1

if (hero.tagis[Hero.EquipArmor] = 1) then
     ~ we are armored, strip all armor bonuses from Dex regardless
     hero.child[ArmorClass].field[tACDexMod].value = 0
     foreach pick in hero from BaseArmor where "Helper.CurrArmor"
     ~ kill off any type of AC modifier on the armor itself
          eachpick.field[arAC].value = 0 
          eachpick.field[arBonus].value = 0
          eachpick.field[Bonus].value = 0
          ~ If there is something scripted like resistance that looks
          ~ for being disabled, disable it.
          perform eachpick.assign[Helper.Disable]
          ~ Kill the profiency so it shows that character shouldn't 
          ~ equip it. 
          perform eachpick.delete[Helper.Proficient]
     nexteach
endif
 
Back
Top