Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - Pathfinder Roleplaying Game (http://forums.wolflair.com/forumdisplay.php?f=62)
-   -   Dual-Mysteried Oracle (http://forums.wolflair.com/showthread.php?t=62849)

TobyFox2002 June 28th, 2019 03:55 AM

Dual-Mysteried Oracle
 
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.

TobyFox2002 July 7th, 2019 10:59 PM

I dislike bumping threads, but I still could use some help with this issue if anyone might have some insight for me.

Aaron July 8th, 2019 08:34 AM

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

Final 1000000
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?,"|"] & ")"

As always, rough code, you'll need to tweak it as necessary (Particularly the "whatevers" in the tag expression for the foreach).

TobyFox2002 July 10th, 2019 07:57 PM

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

Final/1000000
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.

Aaron July 11th, 2019 03:16 PM

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.

TobyFox2002 July 11th, 2019 04:03 PM

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

If you wish to take a look at this file you can grab it here on dropbox

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.


All times are GMT -8. The time now is 03:34 AM.

Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.