Thread: Question
View Single Post
dungeonguru
Senior Member
 
Join Date: May 2016
Posts: 608

Old July 26th, 2018, 01:10 PM
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>
dungeonguru is offline   #23 Reply With Quote