• 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

Conteplative

heinrich_krebs

Well-known member
Hi,

I try to build the conteplative from 3.5 Complete Divine in my Hero Labs for Pathfinder...

I have managed to allow for new domains to be chosen and there are errors if I try to choose a domain already chosen in the cleric tab (or a subdomain or parent domain of a already chosen domain).

But the domain spells of the bonus domains do not appear in the list to memorize domain spells.

Why is that?
How would I change the contemplative that it's level is added to the clerics domain powers, but not to his channel energy ability ?
 
Can you provide what you are trying to do instead of what you tried. Also a copy of the ability text would help as not everyone remembers 3.5 stuff.
 
I'll go into more detail.

The Prestige Class in question allows to choose an additional domain at 1st and 6th level. These new domains should grant a power and their spells should be valid options for the prepared domain spell.

So, what I used is "Custom Abilities". I set the Name to "Bonus Domain" stated that is was given at 1st and 6th level and selected "Cleric" in the "Allow Custom Abilities..." entry.

Now I can select domains and the domain powers are granted as expected. That's sweet.

But when I switch to the "Cleric" tab to select what spells are prepared normally and what are prepared as domain spells the spells from the bonus domains don't show up.

So, it seems I have to
  1. Add the spells from the bonus domains from the prestige class to be selectable in the cleric class
  2. Add domain spells functionality, if the base class didn't have any before.

Problem is, I don't know how.
Hope this is clearer...
 
What if you create an ability on the PrC that lets you select which base class you want to modify and increase the domains added on that class. Then the domain spells will be available in the Cleric's spells, otherwise you'd need to push the spells over to the class using the tag that identifies them as secondary spells (I think it's used on the Shaman Spirits).
 
Adding the domains to the cleric seems easy, but for a cleric 8 / contemplative 7 character the domain powers should be calculated with 8 and 7 levels respectively.

I'll look out for the shaman spirits and check if there is script code I can salvage.
 
Hmm, never thought about the granted powers, since 3.5 didn't have powers that were level based it didn't really make a difference. Personally I would stack Contemplative levels with the selected class for determining the level of all the domain powers.
 
I thought the same thing. But how would I make it happen in Hero Labs ?

EDIT:
I mean that only domain powers are affected but not channel energy.
 
Well start with adding the Domains to the appropriate class then Foreach through each each ability that has a domain as the source add #levelcount[Contemplative] to the field[xExtraLev] around pre-levels 5000
 
Well start with adding the Domains to the appropriate class then Foreach through each each ability that has a domain as the source add #levelcount[Contemplative] to the field[xExtraLev] around pre-levels 5000
FYI but AnderwD2 did a post with script example HERE of a foreach and extra levels. That is worth taking a look at.
 
So, now coming back to work on these again...

I have written something like this:
Code:
~check for cleric, contemplative levels, and check for celestial obedience active
doneif (#levelcount[Cleric] = 0)
doneif (#levelcount[Contemplative] = 0)

~loop through domains gained by cleric and add contemplative level to xExtraLev
foreach pick in hero from Ability where "SpecSource.cHelpClr"
   eachpick.field[xExtraLev].value += #levelcount[Contemplative]
nexteach

~loop through domains gained by contemplative and add cleric level to xExtraLev
foreach pick in hero from Ability where "SpecSource.cHelpCtP"
   eachpick.field[xExtraLev].value += #levelcount[Cleric]
nexteach
I figured the first paragraph is to abort the script if there aren't Contemplative or Cleric levels. That's fine by me.

But now I have problems with the loop. I want only Domains to get the level boost. Can I somehow only choose these Abilities?
 
Go to "Develop->Enable Data File Debugging". Then add a level of Cleric and then add a Domain. Then "RIGHT" click on the Domains "?" symbol. From the new menu choose "Show Debug Tags for Cleric Domain (xxx)".

In the new window is a list of all the "tags" that exist on this Cleric Domain Pick. Do any of them look like one you could use to find Domains?

Then you would change your where statements to be:
Code:
foreach pick in hero from Ability where "SpecSource.cHelpClr & XXXXX.XXXXX"
Where XXXXXX.XXXXX the tag.

The other thing you could do is restrict your search to only the Domain Components. So "Ability" is component.Ability. So you do see any component.? tags that list something for Domains? Then change your foreach as follows:
Code:
foreach pick in hero from XXXXXX where "SpecSource.cHelpClr"
where XXXXXX is the component.? tag you found on the domain.
 
The code now looks line this:
Code:
~check for cleric, contemplative levels, and check for celestial obedience active
doneif (#levelcount[Cleric] = 0)
doneif (#levelcount[Contemplative] = 0)

~loop through domains gained by cleric and add contemplative level to xExtraLev
foreach pick in hero from component.domain where "SpecSource.cHelpClr"
   eachpick.field[xExtraLev].value += #levelcount[Contemplative]
nexteach

~loop through domains gained by contemplative and add cleric level to xExtraLev
foreach pick in hero from component.domain where "SpecSource.cHelpCtP"
   eachpick.field[xExtraLev].value += #levelcount[Cleric]
nexteach

But I get an invalid tag template syntax error in line 3.
What's wrong with line 3?
Are comment lines calculated in ?
 
Contemplative is too long, you'll need to look on the Class Level tab to see what the tag is (it's the Class Level ID minus the c)
 
Also Domain is not actually the component for Cleric Domains, it is the component for items that can have user text fields.
 
Contemplative is too long, you'll need to look on the Class Level tab to see what the tag is (it's the Class Level ID minus the c)
Is it the Name of the Class or the ID?

For the tab says "Contemplative" but I named the ID cHelpCtp (which seemed to be in line with the normal naming...)



Yeah oops forgot about that old component. Look for one that starts with Base.
Can't find any tag with "base." in front.
 
Can't find any tag with "base." in front.
So at the bottom of the list of tags is the "component.?" ones. Look for a Tag that starts with "base".

So Component.BaseWep is two pieces "component" is the "Group" and the "BaseWep" is the "tag". In this case BaseWep (means Base Weapon Component) can also be used directly in a foreach loop.

So in example:
Code:
foreach pick in hero from [B]BaseWep[/B]
   eachpick.do something
nexteach
In the above foreach loop it will find ALL weapons that are part of the Base Weapon Component.

So what I am saying to look for is a component.BaseXXXXX tag that will give you the component name for Cleric Domains.

Then you can change your foreach loop to this. What this will do is limit the search to just Domain Things that are also for the Cleric class.
Code:
~loop through cleric domains only
foreach pick in hero from [B]BaseXXXX[/B] where "SpecSource.cHelpClr"
   eachpick.field[xExtraLev].value += #levelcount[Contemplative]
nexteach
Where BaseXXX is the Cleric Domain component. I would at this stage actually list it for you but I am not near HL so I actually don't know it. :)
 
You're looking on the Class tab, I said Class Level tab.
Ah, on the Editor. Found it.


Thanks for all the help.

Script is now as follows
Code:
~check for cleric, contemplative levels, and check for celestial obedience active
doneif (#levelcount[Cleric] = 0)
doneif (#levelcount[Cntmpltve] = 0)

~loop through domains gained by cleric and add contemplative level to xExtraLev
foreach pick in hero from BaseClrDom where "SpecSource.cHelpClr"
   eachpick.field[xExtraLev].value += #levelcount[Cntmpltve]
nexteach

~loop through domains gained by contemplative and add cleric level to xExtraLev
foreach pick in hero from BaseClrDom where "SpecSource.cHelpCtp"
   eachpick.field[xExtraLev].value += #levelcount[Cleric]
nexteach

Seems to work now.
 
Back
Top