• 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

Devine Hunter : Domain

peterphonic

Active member
Hi,

I have a new archetype and I want to add a special ability that really looks like to the Devine Hunter Domain ability.

So, I went to the editor and did a new copy of Domain class ability but surprise, the special ability is almost empty! No information about domain anywhere. I am really confuse..

I would like to create a a domain where the following are available : Air, Community, Earth, Healing, Plant, Protection, Sun, Travel, Water ou Weather and all related subdomain.. He will also get the power related to the domain.

Thank you for your help!
 
The info you need is stored on the Archetype itself not the ability. A domain is just a "Custom Ability" no different then rogue talents, barbarian rage powers, or sorcerer bloodlines.
 
Thx for your answer.

So, I did an analysis of the Divine Hunter, since that this is the closest archetype of mine. I did the following for my Green Strider (copied and paste from Divine Hunter) :

- Modified Secondary Ability Count : row2=1 (I don`t understand information in this windows...)

- Secondary Ability Name : Domain

- Secondary Ability Plural : Domains

Eval Script :

Final Phase Priority:99999 Index:1
Code:
      doneif (islinkage[varies] = 0)

      ~ We must overwrite the tertiary abilities' expression, since we need to make them use primary cleric abilities
      linkage[varies].field[cCstS2Expr].text = "component.BaseClrDom"

First Priority:1000 Index:2
Code:
      ~ find any primary shaman spirits (those taken in the first table) that
      ~ have been selected and suppress the bonus spirit magic spells they would
      ~ grant
      foreach pick in hero from BaseCustSp where "component.BaseClrDom & CustSpPick.Secondary & CustTaken.cHelpHun"

        ~ All of our domain abilities are at -2 effective levels
        eachpick.field[xExtraLev].value -= 2

        ~ We need to pull the tags from our domain and then delete them, so we can parcel them out at the correct level.
        perform eachpick.pulltags[ClsScAllSp.?]
        nexteach

      doneif (islinkage[varies] = 0)

      linkage[varies].field[cSecSpName].text = "Domain Bonus Spells"

      perform linkage[varies].assign[Helper.HasSecSpl]
      perform linkage[varies].assign[Helper.SecSpSpont]
      perform linkage[varies].assign[Helper.SecUseGen]

Final Phase Priority:30000 Index:3
Code:
      doneif (islinkage[varies] = 0)

      var searchexpr as string
      searchexpr = linkage[varies].tagids[ClsScAllSp.?, " | "]

      linkage[varies].field[cSplScExpr].text = "((" & searchexpr & ") & !Hide.Spell & !Helper.Obsolete & !Helper.Helper) & !(component.EffectWord | component.MetaWord) & !Helper.WordSpell"

Post-Attributes Priority:20000 Index:4
Code:
doneif (islinkage[varies] = 0)

      if (linkage[varies].field[cTotalLev].value >= 3) then
        linkage[varies].field[cSecMax].arrayvalue[1] += 1
        endif
      if (linkage[varies].field[cTotalLev].value >= 6) then
        linkage[varies].field[cSecMax].arrayvalue[2] += 1
        endif
      if (linkage[varies].field[cTotalLev].value >= 9) then
        linkage[varies].field[cSecMax].arrayvalue[3] += 1
        endif
      if (linkage[varies].field[cTotalLev].value >= 12) then
        linkage[varies].field[cSecMax].arrayvalue[4] += 1
        endif
      if (linkage[varies].field[cTotalLev].value >= 15) then
        linkage[varies].field[cSecMax].arrayvalue[5] += 1
        endif
      if (linkage[varies].field[cTotalLev].value >= 18) then
        linkage[varies].field[cSecMax].arrayvalue[6] += 1
        endif
Timing : After: Calc Spells Available




So, I did all of this but I don`t really understand what I am doing :confused:. I have actually 2 problems :

1- I can select Domain only at lvl 3, while I want to select one at lvl 1. I am not sure where to do this.

2- I don`t have any domain to pick from when I click on "Add more Domains (1 left)"! I don`t even know which eval script gives the domain list :(

Actually, here is what I am trying to do : "GreenStrider, at lvl 1, can pick a domain from the following list : Air, Community, Earth, Healing, Plant, Protection, Sun, Travel, Water ou Weather and all related subdomain.. He will also get the power related to the domain."

Sorry for the long post.

Thank you.
 
Last edited:
- Modified Secondary Ability Count : row2=1 (I don`t understand information in this windows...)

- Secondary Ability Name : Domain

- Secondary Ability Plural : Domains
As this is the only section that mentions "domains" I would go with you want focus your attention here. The first thing here lists "row 2 = 1". Well "arrays" start at zero and characters start at level 1. So really row 2 is level 3. So the "1" on row 2 is telling HL to give one domain at level 3. So change this to row 0 to get your domain at level 1.

For the rest did you setup all the scripts to be the same on your new archetype?
 
Ok, so, I did what you told me :

- Modified Secondary Ability Count : row0=1

WIth this modification, I can select a secondary ability, called domain, at lvl 1. Thx

But I still have this strange problem where I don`t have any domains to pick from!

As for your question, yes, I copied and paste all scripts from Divine Hunter to my new archetype, 4 of them.

And actually, those scripts are weird :
- Script index 1 is talking about cleric and tertiary abilities
- Script index 2 is talking about shaman
- Script index 3 and index 4, I have no idea what they do.

Originally, I thought that those scripts was to create the list of domains. I am not sure anymore.
 
You have to overwrite the secondary custom ability table to use primary clerical abilities. See the Archeologist Bard archetype for how to do this using Rogue Talents, then modify it for cleric domains.
 
Archaeologist looks a little bit easier to understand. So, I tried to implement rogue talents to my GreenStrider archetype, just to understand how a secondary ability works. So, I created following eval scripts (based on archaeologist) :

Pre-Levels 1000 Index:1
Code:
      doneif (islinkage[varies] = 0)

      ~ Once we hit 4th level we have rogue talents
      if (linkage[varies].field[cTotalLev].value >= 0) then
        perform hero.assign[Hero.RogTalent]
        endif

Final Phase 9999 Index:2
Code:
      doneif (islinkage[varies] = 0)

      ~we'll overwrite the tertiary abilities' expression, since we need
      ~to make them use primary barbarian abilities
      linkage[varies].field[cCstS3Expr].text = "(SpecSource.cHelpRog | SpecSource.cHelpNin) & !Helper.Secondary & !Helper.Tertiary"

Unfortunately, the result is always the same :( When I click on the secondary ability, I have a popup window saying "Nothing to choose from!"

Any idea what is the stupid thing I'm doing?

Oh, btw, because I just realized domains are related with clerics, I took a look on cleric class. I also tried the following eval script on my archetype, but still no luck :
Code:
    ~note on the hero that we can't cast spells with an alignment descriptor
      ~opposing our own
      perform hero.assign[Hero.DeiAlgnSpl]

Thank you for your patience....
 
Final 9999 is too early to overwrite the candidate expression, look at the stated example for its priority.

Also, make sure you are setting the correct field for the table you want. cCstS3Expr is the candidate expression for the 3rd table, but you refer to "secondary ability", which would be the 2nd table.
 
To add to what Aaron said, you want Final 99999999 (8 9s) it's hard to tell just looking at the script, but it's all there.
 
Ahhh! 8 9s. That was the my problem!

It is not so easy to understand all these mechanisms.

So, I had to do the following :

Final Phase 99999999 index:1
Code:
doneif (islinkage[varies] = 0)

      ~ We must overwrite the tertiary abilities' expression, since we need to make them use primary cleric abilities
      linkage[varies].field[cCstS2Expr].text = "component.BaseClrDom"

With this, I can select all cleric domains within my Hunter archetype, yay!

Still have a question. Like I said before, I would like to give a smaller selection of domain, not all of them. I was thinking about a script like this :

Code:
var listDomain as list
foreach pick in hero from component.BaseClrDom
    if pick="Travel"
       listDomain .append(pick)
    endif
    if pick="Air"
       listDomain .append(pick)
    endif
    if pick="etc...."
       listDomain .append(pick)
    endif
nexteach

Is it something possible?

thx all for your help!
 
Last edited:
You can modify it the expression to include just what you want.
Code:
doneif (islinkage[varies] = 0)

      ~ We must overwrite the tertiary abilities' expression, since we need to make them use primary cleric abilities
      linkage[varies].field[cCstS2Expr].text = "component.BaseClrDom & (Domain.cdAir|Domain.cdTravel|Domain.etc)"

Now i'm not sure but that should add in the sub domains as well.
 
Last edited:
Code:
doneif (islinkage[varies] = 0)

      ~ We must overwrite the tertiary abilities' expression, since we need to make them use primary cleric abilities
      linkage[varies].field[cCstS2Expr].text = "component.BaseClrDom & (Domain.cdAir|Domain.cdTravel|Domain.etc[B])[/B]"
Your search string was missing the end ")" so I added that in the above code. FYI the "|" pipe symbol means "OR" in a search string.
 
Thank to everybody, I finished my concept! Race, alt racial traits, traits, feats + an archetype and class abilities...

Thx to Aaron, ShadowChemosh, AndrewD2, Mathias and all others for your tremendous help. Without that, I would be still trying to figure out how to create my first racial trait....

thx
 
Last edited:
Hello, I am practically with the same problem to solve. I'm creating a prestige class ability with the following text "A Corrupted Soul gains the Darkness domain at 1st level, using his prestige class level as his effective cleric level to determine the effects of its granted powers. If he already possesses the Darkness domain from another class, his Corrupted Soul levels stack with levels in that class when determining the effects of his Darkness domain powers. The Corrupted Soul does not receive bonus spells or domain spell slots from his Corrupted Soul levels.
If the corrupted soul has a previous divine class, he can choose it as his domain. Do it so give the bonus spells per domain and add the nine spells to his spell list
".

I am trying to create the rules, I am creating them in the skill itself and not in the prestige itself.
For this I know that I have to:
  1. put in the ability that has mastery, and only darkness. You can only use skills based on prestige level. No spells.
  2. if the previous class had dominion acces, allow the Darknes Domain to the options of the previous class.
  3. If you choose darkness in both classes, have access to domain spells, add them to the spell class list and both classes stack levels for ability domain acces.

I read all the previous answers and i still lost.
 
Back
Top