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 |
Senior Member
Join Date: Jan 2014
Posts: 262
|
Ok just an update for anyone following this I'm now working on a new issue. For my original problem I was just overthinking it to get a 2nd bloodline in my copied crossblooded archetype all I had to do was modify the SECONDARY abilities not the MODIFIED CUSTOM ABILITY option as you would for a sorcerer.
However its now become apparent that unlike the sorcerer crossblooded option its not actually grabbing the ability properly. In sorcerer if you select option A then option A is highlighted and generates an error if selected again at higher levels, in my arcanist one if you select option A nothing happens no highlighting the option, no adding to the character, no red error at higher levels. So I'm now looking into how to get this to function the same as the sorcerer choice mechanic. I think I made an error either in where I told it to look or in my set up of the power choice. So I need to find the variable that switches it between all the abilities of each bloodline or none of them and figure out how to set it to pick one from either. EDIT I think the error lies in this script . . . ~ find all the class specials that were added by our bloodlines, except ~ those that have been tagged as chosen by our Bloodline Power Choice ~ abilities, and set them as replaced foreach pick in hero from BaseClSpec where "SpecSource.cHelpArc & !Custom.test & !Helper.arArcBldAr" if (eachpick.isroot <> 0) then if (eachpick.root.tagexpr[component.BaseCustSp & CustTaken.cHelpArc] <> 0) then perform eachpick.assign[Helper.SpcDisable] perform eachpick.assign[Helper.SpcReplace] endif endif nexteach or possibly what its referencing with script everything is removed and I get a choice that does nothing, without the script I get all the abilities and a choice that does nothing. Its possible the error lies in what its referencing but as this is what controls the removal or adding of abilities I think there's something wrong in it. EDIT Included the files if anyone wants to poke around in them, otherwise I'll continue searching. EDIT 2 Still no luck figuring this out. Last edited by Senko; January 28th, 2020 at 11:48 AM. |
#2 |
Senior Member
Join Date: Jan 2014
Posts: 262
|
I can't figure this out. However I can get both abilities granted so I'll just go with that. Its within my competence and the arcanist already doesn't get things a sorcerer doesn't so it can have both bloodline powers at each level.
|
#3 |
|
|