Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Pathfinder Roleplaying Game
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
peterphonic
Member
 
Join Date: Aug 2014
Posts: 44

Old September 28th, 2014, 04:52 AM
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!
peterphonic is offline   #1 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old September 28th, 2014, 10:35 AM
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.

Hero Lab Resources:
Pathfinder - d20pfsrd and Pathfinder Pack Setup
3.5 D&D (d20) - Community Server Setup
5E D&D - Community Server Setup
Hero Lab Help - Hero Lab FAQ, Editor Tutorials and Videos, Editor & Scripting Resources.
Created by the community for the community
- Realm Works kickstarter backer (Alpha Wolf) and Beta tester.
- d20 HL package volunteer editor.
ShadowChemosh is offline   #2 Reply With Quote
peterphonic
Member
 
Join Date: Aug 2014
Posts: 44

Old September 28th, 2014, 02:43 PM
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 . 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 by peterphonic; September 29th, 2014 at 03:35 PM.
peterphonic is offline   #3 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old September 29th, 2014, 11:53 AM
Quote:
Originally Posted by peterphonic View Post
- 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?

Hero Lab Resources:
Pathfinder - d20pfsrd and Pathfinder Pack Setup
3.5 D&D (d20) - Community Server Setup
5E D&D - Community Server Setup
Hero Lab Help - Hero Lab FAQ, Editor Tutorials and Videos, Editor & Scripting Resources.
Created by the community for the community
- Realm Works kickstarter backer (Alpha Wolf) and Beta tester.
- d20 HL package volunteer editor.
ShadowChemosh is offline   #4 Reply With Quote
peterphonic
Member
 
Join Date: Aug 2014
Posts: 44

Old September 29th, 2014, 03:47 PM
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.
peterphonic is offline   #5 Reply With Quote
AndrewD2
Senior Member
 
Join Date: Mar 2007
Location: Muskegon, MI
Posts: 2,975

Old September 29th, 2014, 03:57 PM
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.
AndrewD2 is offline   #6 Reply With Quote
peterphonic
Member
 
Join Date: Aug 2014
Posts: 44

Old September 29th, 2014, 05:54 PM
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....
peterphonic is offline   #7 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old September 29th, 2014, 06:05 PM
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.
Aaron is offline   #8 Reply With Quote
AndrewD2
Senior Member
 
Join Date: Mar 2007
Location: Muskegon, MI
Posts: 2,975

Old September 29th, 2014, 06:19 PM
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.
AndrewD2 is offline   #9 Reply With Quote
peterphonic
Member
 
Join Date: Aug 2014
Posts: 44

Old September 30th, 2014, 02:30 PM
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 by peterphonic; September 30th, 2014 at 03:54 PM.
peterphonic is offline   #10 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 09:39 AM.


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