• 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

Adding Tool Proficiency

BobStumpp

Member
Okay, I am going to see how many people I can confuse. I am working on a subclass that grants you proficiency in your choice of two Artisan Tools. If I use the Item Selection in the Class Special with a custom expression of "component.BaseEquip & ToolCat.Artisan" I get the proper list of Artisan Tools. Applying the two scripts:

Post-levels - 10000
Code:
doneif (tagis[Helper.ShowSpec] = 0)
doneif (tagis[Helper.Disable] <> 0)

if (field[usrChosen1].ischosen <> 0) then
  perform field[usrChosen1].chosen.pulltags[ProfTool.?]
endif

if (field[usrChosen2].ischosen <> 0) then
  perform field[usrChosen2].chosen.pulltags[ProfTool.?]
endif

perform forward[ProfTool.?]

and Post-levels - 10100
Code:
doneif (tagis[Helper.ShowSpec] = 0)
doneif (tagis[Helper.Disable] <> 0)

var tagexpr as string

if (field[usrChosen1].ischosen <> 0) then
  tagexpr = field[usrChosen1].chosen.tagids[ProfTool.?," | "]
  foreach pick in hero from BaseEquip where tagexpr
    perform eachpick.assign[Helper.TrainTool]
    perform eachpick.assign[Hide.Tool]
    perform eachpick.assign[Proficienc.Tool]
  nexteach
endif

if (field[usrChosen2].ischosen <> 0) then
  tagexpr = field[usrChosen2].chosen.tagids[ProfTool.?," | "]
  foreach pick in hero from BaseEquip where tagexpr
    perform eachpick.assign[Helper.TrainTool]
    perform eachpick.assign[Hide.Tool]
    perform eachpick.assign[Proficienc.Tool]
  nexteach
endif

The above kinda works. Your proficiency does not appear on the screen, or the printout, until you actually buy the Artisan Tool in question. Then it appears, and everything is correct. However, this does not happen for other proficiency's like a tool background proficiency.

So, trying other methods, I found this works:

Post-Levels 10000

Code:
~ If we're disabled, do nothing & 
doneif (tagis[Helper.Disable] = 1)

var NumOfProf as number
var NumOfTool as number
~ Increase or decrease the number of proficiencies 
NumOfTool = field[abValue].value

perform hero.childfound[cfg5CProf].assign[AllowTool2.gSupAlchem]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gSupBrewer]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gSupCaligr]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooCarpen]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooCartog]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooCobble]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gUtenCook]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooGlassb]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooJewele]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooLeathe]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooMason]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gSupPainte]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooPotter]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooSmith]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooTinker]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooWeaver]
perform hero.childfound[cfg5CProf].assign[AllowTool2.gTooCarver]
call 5CAddProf

Anything I tried to assign the AllowTool2 to 5CAddProf using pulltags, and pushtags, failed, either failing in the script evaluation, or not restricting the list of tools on the proficiency tab. Any idea, on how I can restrict the available options in 5CAddProf without individually listing each artisan tool? Because what happens when more artisan tools are added?

Thanks,

Bob
 
Look at the class special "Student of War" for the Fighter Battlemaster to see a class ability that grants a tool proficiency almost exactly like you are wanting. You could easily copy and modify this ability to add two artisan tools by increasing the abValue field to 2.
 
Back
Top