View Single Post
BobStumpp
Junior Member
 
Join Date: Oct 2017
Posts: 13

Old February 11th, 2018, 03:03 PM
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
BobStumpp is offline   #1 Reply With Quote