Member
Join Date: Aug 2014
Posts: 44
|
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! |
#1 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729
|
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. |
#2 |
Member
Join Date: Aug 2014
Posts: 44
|
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" 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] 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" 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 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. |
#3 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729
|
Quote:
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. |
|
#4 |
Member
Join Date: Aug 2014
Posts: 44
|
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. |
#5 |
Senior Member
Join Date: Mar 2007
Location: Muskegon, MI
Posts: 2,975
|
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.
|
#6 |
Member
Join Date: Aug 2014
Posts: 44
|
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 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" 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] |
#7 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
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. |
#8 |
Senior Member
Join Date: Mar 2007
Location: Muskegon, MI
Posts: 2,975
|
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.
|
#9 |
Member
Join Date: Aug 2014
Posts: 44
|
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" 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 thx all for your help! Last edited by peterphonic; September 30th, 2014 at 03:54 PM. |
#10 |
|
|