• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Primary Abilities as Secondary Abilities in Archetype!

Anpumes

Well-known member
Alright, here we go... I've searched on this and found a few threads that cover how this should work which has gotten me to this point.

I am trying to add Cleric Domains as a secondary ability to an Archetype of Sorcerer. I understand Cleric Domains are a primary ability of Clerics and as such, I can simply add Cleric under "Allow Additional Class Abilities..." as part of the archetypes primary abilities but that just adds them to the "Bloodlines" allowed. However they function normally otherwise. But this is not what I am after.

My searches revealed an Eval Script that should work but while I am getting no errors from it and it is adding a secondary ability with the appropriate name it is not functioning as advertised. Within the portfolio, I can see "Add more Cleric Domains (1 left)!" Clicking on that pops up a dialog box saying "Nothing to choose from!"

I am stuck, I've tried several variations of my scripts but nothing I have done is working and I now must ask for some help.

Thank you in advance. My code is below, these scripts are being applied directly to the archetype I'm building.

Post-levels; 5000 This sets the array where the abilities come into play and the name... Seems to be working properly.
Code:
      ~modify our linked class abilities to add cleric domains
      ~we'll use the secondary abilities slot for these

      linkage[varies].field[cCustScTot].arrayvalue[1] += 1
      linkage[varies].field[cCustScTot].arrayvalue[8] += 2
      linkage[varies].field[cCustScTot].arrayvalue[16] += 3
      linkage[varies].field[cSpec2ndSi].text = "Cleric Domain"

Final Phase; 9999999 I have tried this with a bunch of different "Priorities" with no change.
Code:
      ~we'll overwrite the secondary abilities' expression since we need to make them use primary Cleric abilities

      linkage[varies].field[cCstSpExpr].text = "(SpecSouce.cHelpClr) & !Helper.Primary & !Helper.Secondary"
 
I think your timing is off it should be Final/999999999 (9 nines)

Also you should be able to set the name and array through the editor in the archetype, you shouldn't have to do it with a script
 
I think your timing is off it should be Final/999999999 (9 nines)

This did not make it work but thank you. I'd only tried as high as 8 9's, so it was worth the attempt.

Also you should be able to set the name and array through the editor in the archetype, you shouldn't have to do it with a script

You are absolutely correct, it isn't theoretically needed for what I am doing and if I can get the rest working properly, I'll play with disabling it and using the built-in function of the Archetype.
 
Last edited:
I think the issue is in your candidate expression, as there is no such tag as "Helper.Primary". Primary abilities are not indicated by a tag, but by the lack of any secondary, tertiary, etc tags. This is from the Sacred Servant Paladin archetype, which places a Domain selection in the tertiary table.

Final/99999999 (8 nines)
Code:
      ~we'll overwrite the tertiary abilities' expression, since we need
      ~to make them use primary cleric abilities
      linkage[varies].field[cCstS3Expr].text = "(SpecSource.cHelpClr) & !Helper.Secondary & !Helper.Tertiary"
 
I think the issue is in your candidate expression, as there is no such tag as "Helper.Primary". Primary abilities are not indicated by a tag, but by the lack of any secondary, tertiary, etc tags. This is from the Sacred Servant Paladin archetype, which places a Domain selection in the tertiary table.

Final/99999999 (8 nines)
Code:
      ~we'll overwrite the tertiary abilities' expression, since we need
      ~to make them use primary cleric abilities
      linkage[varies].field[cCstS3Expr].text = "(SpecSource.cHelpClr) & !Helper.Secondary & !Helper.Tertiary"

Thank you so very much for this... But...

I don't understand this... I've checked, checked and checked and checked again. I typed the expression in and it refused to work. I copied and pasted the one you presented and it worked. I then pasted in the expression directly below the one I hand typed and there was no difference between them. It is fixed but I don't understand how or why.

I'm satisfied with this and am happy to leave it alone but in addition to all the domains it is including variant channeling options. Is there a way to remove those from the listing?
 
I think the issue is in your candidate expression, as there is no such tag as "Helper.Primary". Primary abilities are not indicated by a tag, but by the lack of any secondary, tertiary, etc tags. This is from the Sacred Servant Paladin archetype, which places a Domain selection in the tertiary table.

Final/99999999 (8 nines)
Code:
      ~we'll overwrite the tertiary abilities' expression, since we need
      ~to make them use primary cleric abilities
      linkage[varies].field[cCstS3Expr].text = "(SpecSource.cHelpClr) & !Helper.Secondary & !Helper.Tertiary"

Huh, I thought it was 9 nines ... good to know it's only 8
 
Thank you so very much for this... But...

I don't understand this... I've checked, checked and checked and checked again. I typed the expression in and it refused to work. I copied and pasted the one you presented and it worked. I then pasted in the expression directly below the one I hand typed and there was no difference between them. It is fixed but I don't understand how or why.

I'm satisfied with this and am happy to leave it alone but in addition to all the domains it is including variant channeling options. Is there a way to remove those from the listing?

The example I posted was for the tertiary table, you can't just copy and paste it, since you are adding slots to the secondary table. Tweak cCstS3Expr to become cCstS2Expr and I think it should work.
 
The example I posted was for the tertiary table, you can't just copy and paste it, since you are adding slots to the secondary table. Tweak cCstS3Expr to become cCstS2Expr and I think it should work.

Yes, I'm aware of that. I had already swapped the entire code over to tertiary. Everything was related to tertiary so rather than continuing to fight with it as secondary, I thought it would just be easier to follow what everything else was doing. It is working now, with the exception of including all of the alternate channeling options.
 
I would like to remove the channeling from this list but I'm not even sure where to begin to fix that. I will play with it some more later to see if I can fix it but if anyone has an idea now, I wouldn't mind hearing it.
 
Well first it would be helpful to see exactly what your code looks like now. I can describe the general problem and a general solution, but it sounds like you're just getting started so I am unsure that will be sufficient. I'd like to illustrate and teach using your own stuff as an example.
 
Code currently looks like:
Post-levels; 5000
Code:
      ~modify our linked class abilities to add cleric domains
      ~we'll use the secondary abilities slot for these

      linkage[varies].field[cCustTeTot].arrayvalue[1] += 1
      linkage[varies].field[cCustTeTot].arrayvalue[8] += 2
      linkage[varies].field[cCustTeTot].arrayvalue[16] += 3
      linkage[varies].field[cSpec3rdSi].text = "Cleric Domain"

and:
Final Phase; 99999999
Code:
      ~we'll overwrite the tertiary abilities' expression, since we need to make them use primary cleric abilities

      linkage[varies].field[cCstS3Expr].text = "(SpecSource.cHelpClr) & !Helper.Secondary & !Helper.Tertiary"

As I've already said, the Cleric Domains are showing up but it is including the Alternate Channeling Options, which I'd rather not have in the list.
 
So the second eval script sets the cCstS3Expr field, which stores the candidate expression for the 3rd table. A candidate expression determines what can be added to that table, so obviously something is going wrong, and the variant channelings aren't being excluded.

Currently it says "Anything added must have the SpecSource.cHelpClr tag, and MUST NOT have Helper.Secondary and MUST NOT have Helper.Tertiary"

Add a cleric level to a blank character and go to "Develop -> Enable Data File Debugging". With that checked, you can now right click on something to pull up a list of tags or fields on it, so add a variant channeling and right click on it to "Show Debug Tags". Look at the window and find the Helper group of tags.

There is no Helper.Secondary, and no Helper.Tertiary, so that is why it is slipping through currently. Do you notice a similar tag we can add to our candidate expression to exclude variant channelings?
 
There is no Helper.Secondary, and no Helper.Tertiary, so that is why it is slipping through currently. Do you notice a similar tag we can add to our candidate expression to exclude variant channelings?

Well, thank you for the direction... You all but gave me the answer; add "!Helper.Quaternary" to the list of exemptions and viola... gone. Haha. Thanks. :)
 
Back
Top