Senior Member
Join Date: Jan 2014
Posts: 262
|
I'm playing around with herolab and the tutorials trying to learn how to use scripting. I'm currently trying to duplicate the sorcerer crossblooded archetype to the arcanist. I have it mostly working by copying and learning from the sorcerer scripts (created a custom ability by copying the sorc one, script told to look at and use it). Even better I think I understand how the script works and what its telling the archetype to look at to reference things plus I was able to modify the archetype so unlike a sorcerer you don't class skills or bonus spells as per the arcanist. The only thing I haven't got it doing is allowing a second bloodline to choose abilities from.
There's two scripts in the blood arcanist archetype that seem linked to bloodlines doneif (islinkage[varies] = 0) ~Timing is important here, this must run before First/500, as that's when ~ bootstrap conditionals for things bootstrapped by Sorcerer bloodlines run var i as number for i = 1 to linkage[varies].field[cTotalLev].value perform hero.assign[ClsAblLive.Sorcerer] next and perform hero.findchild[BaseCustSp,"abCategory.SorBlood & CustTaken.cHelpArc"].setfocus doneif (state.isfocus = 0) perform focus.delete[ClassSkill.?] perform focus.delete[fInclude.?] perform focus.assign[NoBonusSpl.NoSpells] so I'm thinking I somehow need to modify one or both of these scripts via something further in this eval script in bloodline power choice. ~ we'll generate the list of bloodline powers regardless of whether ~ we've reached the correct level or not. That way, a user can plan ~ out their entire progression while still 1st level ~ search through all the arcanist class specials on the hero, making ~ sure that each one was bootstrapped by a bloodline, as opposed to ~ being bootstrapped by the class or by an archetype ~ also make sure that we're only choosing those whose assigned level is ~ at or lower than our own foreach pick in hero from BaseClSpec where "SpecSource.cHelpArc & Helper.FirstCopy & !Helper.ArcBloodAr" if (eachpick.isroot <> 0) then if (eachpick.root.tagexpr[component.BaseCustSp & CustTaken.cHelpArc] <> 0) then if (eachpick.field[xWhen].value <= field[xWhen].value) then field[usrCandid1].text = splice(field[usrCandid1].text,eachpick.tagids[thingid.?],"|") endif endif endif nexteach ~ as long as our candidate isn't empty, add the component to the ~ candidate expression if (field[usrCandid1].isempty = 0) then field[usrCandid1].text = "component.BaseClSpec & Helper.FirstCopy & (" & field[usrCandid1].text & ")" endif I'm just hoping someone can confirm or deny this so I don't waste my time adjusting things here when its the wrong spot please. |
#1 |
Thread Tools | |
Display Modes | |
|
|