Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
I am working on a variant archetype for one of my players to use with their character. I would like to create a dual-mystery oracle for them however, the way that the revalations have been hard coded seems to be making this rather difficult.
Whenever a second mystery is added ALL the revelations vanish. From what I can tell they seem to be designed to be exclusive and when a second (or more) mystery is added all revelations vanish. I think the offending script is contained on each mystery for example the bones mystery script is written like this: Final/999999 Code:
~ add a requirement to our tertiary specials that they have a Custom ~ tag that matches our own linkage[table].field[cCstS3Expr].text &= " & (" & tagids[Custom.Myst?,"|"] & ")" Is there a way to create a script on an archetype to override this in order to allow for the selection of multiple mysteries. Thanks in advance. |
#1 |
Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
I dislike bumping threads, but I still could use some help with this issue if anyone might have some insight for me.
|
#2 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
Yes, you can certainly make an eval script which overwrites that. I'd create a class ability to bootstrap to the archetype with description text describing the specifics of how you get multiple kinds of revelations.
Then add two eval scripts to the class ability. Script 1 will copy the contents of the cCstS3Expr field immediately before the mysteries append their own specific text for their revelations. It can store this in a text field (abText maybe? Possibly that field has a limit on number of characters it can store, not recall off the top of my head). Script 2 will run immediately after the mysteries append their own specific text for their revelations. Have this one iterate through all mysteries added to the class in whatever table you're adding them, and pull the Custom.Myst? tags to itself, then overwrite cCstS3Expr using the field and the combined tags. Rough examples Final 999998 Code:
call foctoclass doneif (state.isfocus = 0) field[abText].text = focus.field[cCstS3Expr].text Code:
foreach pick in hero from Ability where "abCategory.Whatever & CustTaken.Whatever" perform eachpick.pulltags[Custom.Myst?] nexteach call foctoclass doneif (state.isfocus = 0) focus.field[cCstS3Expr].text = field[abText].text & " & (" & tagids[Custom.Myst?,"|"] & ")" |
#3 |
Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
The script at Final/999998 fails to properly setfocus, I tried looking at the procedure to see if I could manually set the focus but I dont really understand that code well enough to know what is truly going wrong.
Because their is no focus set the class special abText.text is not being set so when transitioning to the next script at Final/100000 it fails to add a prepend text to the custom expression. I have also tried to use perform root.setfocus, and it fails as well giving me a message that says: Cannot reliably access bootstrap source for unique pick 'arTO2MysOr' when I use the script directly on the archetype and it also fails when I try to use it on a script bootstrapped to an archtype. Final/999998 Code:
call foctoclass doneif (state.isfocus = 0) field[abText].text = focus.field[cCstS3Expr].text debug "Early cCstS3Expr :: " & focus.field[cCstS3Expr].text debug "abText :: " & field[abText].text Code:
foreach pick in hero from Ability where "abCategory.OraMys & CustTaken.cHelpOra" perform eachpick.pulltags[Custom.Myst?] nexteach call foctoclass doneif (state.isfocus = 0) focus.field[cCstS3Expr].text = "(SpecSource.cHelpOra) & Helper.Tertiary &! Helper.Obsolete & " & "(" & tagids[Custom.Myst?,"|"] & ")" ~ Removed for testing because foctoclass isnt working ~field[abText].text & " & (" & tagids[Custom.Myst?,"|"] & ")" debug "cCstS3Expr :: " & focus.field[cCstS3Expr].text 2nd Edit: I have discovered that the timing for this script is completely EVILLL! The script on the Mysteries class custom is set to EIGHT places. Eight bloody '9's. So to override that I had to use 10 places. That's just nuts. I thought it was like SIX places. Still doesnt get the setfocs to work, but it does allow me to manually override. Probably not best practice, since it would break if applied to a different class. Last edited by TobyFox2002; July 11th, 2019 at 03:52 AM. Reason: Timings are utterly evil. |
#4 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
I believe foctoclass should work if you add the eval script to a class ability bootstrapped to the archetype, have you tried that? If so, I guess send me a copy of your file and I will take a look.
Last edited by Aaron; July 11th, 2019 at 03:18 PM. |
#5 |
Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
I could not manage to get it to work with 'class specials' did you mean those or custom abilities?
Now I did manage to get it to work without the setfocus procedure (sorta). This has the procedure call. but when you comment out the isfocus done. It throws an error that it needs a setfocus. However if you leave in, the rest of the script seems to function and even give correct debug output. Dual-enlightened Mysteries and Skills -- cTODualMyst Final/100000000 Index 2 Code:
foreach pick in hero from Ability where "abCategory.OraMys & CustTaken.cHelpOra" perform eachpick.pulltags[Custom.Myst?] nexteach call foctoclass doneif (state.isfocus = 0) focus.field[cCstS3Expr].text = "(SpecSource.cHelpOra) & Helper.Tertiary &! Helper.Obsolete & " & "(" & tagids[Custom.Myst?,"|"] & ")" ~ Removed for testing because foctoclass isnt working ~field[abText].text & " & (" & tagids[Custom.Myst?,"|"] & ")" debug "cCstS3Expr :: " & focus.field[cCstS3Expr].text This special also has the the skill selector enabled, although you have to select the mystery you want to EXCLUDE instead of selecting the mystery whose skills you wish to use. I havent found a way to push a delete class skill for the mystery you Didn't select. But it works, for now. There is also a copied class special that allows you to select between the two different mystery spells you wish to add. It is copied almost straight from the crossblooded sorc Arch. It... functions, although I'm not entirely satisfied with the code, but that's not really my priority at the moment. Edit: LOL Posted this at the exact moment you sent your last post. Last edited by TobyFox2002; July 11th, 2019 at 04:03 PM. Reason: Lawlness |
#6 |
Thread Tools | |
Display Modes | |
|
|