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
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old March 30th, 2017, 08:55 PM
Quote:
Originally Posted by Quintain View Post
Per the mulitple discipline abilities between Dual Disciple/Added Discipline/Extra Discipline

I changed dual disciple to not add a secondary discipline, but just increase the custom ability count by 1 so a second primary discipline can be chosen. Seems simpler.
I agree this is simpler. Except you do get with this change and the removal of the secondary disciplines means we just broke any character with that archetype?

I 'maybe' can suppress the error messages but the person would open there character and be missing the secondary discipline. This maybe an easy fix for them to add it again as I don't think the discipline contains any additional choices.

But we have to be careful about some changes as it can be a big impact on existing characters. Plus this issue always seems to happen on "Game" night and I then get nasty email/PMs about broken characters.

I should have time over the weekend to make a character. Then pull down your changes and see how bad it breaks and if I can make the transition easy....

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   #1131 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old March 31st, 2017, 06:50 AM
It gets even more fun. Since the dual disciple archetype adds the custom discipline abilities at a different level than the originals, we need to do some conditional bootstrapping.

Per the archetype:

Secondary Discipline Ability: At 10th level, the dual disciple gains the 2nd level discipline ability of his secondary discipline. This replaces the bonus feat normally gained by a 10th level psion.

Secondary Discipline Ability: At 15th level, the dual disciple gains the 8th level discipline ability of his secondary discipline. This replaces the bonus feat normally gained by a 15th level psion.

I'll have to look to see if this can be done simply or if I'll need to reach out for for expert assistance

Edit: I'm thinking that we can alter the ClsSpecWhen tag value and have it be 2 by default, 10 if the tagcount for the discipline custom ability is 2 and the archetype exists on the character. And alter the other abilities accordingly. Will have to look up examples.

When doing conditional bootstrapping, the syntax for checking for the non-existance of a tag on a hero is: "hero#Group.Tag = 0" -- correct? -- I changed to: !hero#SpecSource.arPUDlDisc to test for the non-existence of the Dual Disciple Archetype. I'm using the test hero#SpecSource.arPUDlDisc & count:abCategory.PUPsiDisc = 2 -- to check for the hero having the dual disciple archetype and the pick being the 2nd discipline.

Not having much success though.

Last edited by Quintain; March 31st, 2017 at 07:38 AM.
Quintain is offline   #1132 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old March 31st, 2017, 10:23 AM
Can someone explain the bootstrap conditions to me? I've read the http://forums.wolflair.com/showthread.php?t=47611, but still can't figure it out.

Does the bootstrap condition have to return true in order for the bootstrap to function? I'm trying to count the number of disciplines on the hero with count:hero#abCategory.PUPsiDisc, but I think the timing is off, can I can't get what would appear to be obvious results ( equal to 1 gets standard progression, equal to 2 gets the "dual disciple second discipline progression").

Last edited by Quintain; March 31st, 2017 at 12:02 PM.
Quintain is offline   #1133 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old March 31st, 2017, 12:27 PM
To put at the top here the most important part of thinking through this is how are you going to know which Discipline is First and which is Second? Nothing in HL will know which discipline is which. So if you go with bootstrap conditions ALL the abilities from all dicisplines will either be at level 2 or level 10. You will not get one discipline set to level 2 and another one set to level 10.


Quote:
Originally Posted by Quintain View Post
When doing conditional bootstrapping, the syntax for checking for the non-existance of a tag on a hero is: "hero#Group.Tag = 0" -- correct? -- I changed to: !hero#SpecSource.arPUDlDisc to test for the non-existence of the Dual Disciple Archetype. I'm using the test hero#SpecSource.arPUDlDisc & count:abCategory.PUPsiDisc = 2 -- to check for the hero having the dual disciple archetype and the pick being the 2nd discipline.
Most of the time the container tag that is checked by the bootstrap script is the hero. So hero# is sort of redundant but it won't hurt.

To make hero#Group.Tag = 0 work would need to add "tagc ount" logic:
Code:
count:hero#Group.Tag = 0
Otherwise you can use custom expression logic to just say "not" present:
Code:
!hero#Group.Tag

Quote:
Originally Posted by Quintain View Post
Can someone explain the bootstrap conditions to me? I've read the http://forums.wolflair.com/showthread.php?t=47611, but still can't figure it out.
Your trying to make the script logic be when TRUE you want the bootstrapped Pick to appear on the hero.

My thought you would want to bootstrap the class ability "twice" to the Custom Ability with one set for level 2 one set to level 10. Then have:
Code:
count:hero#abCategory.PUPsiDisc = 1
and the 2nd conition set to:
Code:
count:hero#abCategory.PUPsiDisc >= 2
Quote:
Originally Posted by Quintain View Post
Does the bootstrap condition have to return true in order for the bootstrap to function? I'm trying to count the number of disciplines on the hero with count:hero#abCategory.PUPsiDisc, but I think the timing is off, can I can't get what would appear to be obvious results ( equal to 1 gets standard progression, equal to 2 gets the "dual disciple second discipline progression").
Now timing here. abCategory.? I am pretty sure is done late in timing meaning it wont' work for bootstrap conditions. The only tag we have that would be "auto" set is Ability.? actually. Or we have to make a new group/tag up and have a script on each Discipline that will push to the Hero very early so we can test for it in the bootstrap conditions.

The main issue I see here is how are you going to know which "Discipline" was the 2nd one? This is the same issue I had on the Psy Warrior and why it has a chooser. No automatic way HL will know which discipline is the 1st and which is the 2nd. So either both abilities work at level 2 or both work at level 10.

In other words this is allot more complex and why originally it was done as two separate custom abilities.

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.

Last edited by ShadowChemosh; March 31st, 2017 at 12:36 PM.
ShadowChemosh is offline   #1134 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old March 31st, 2017, 07:18 PM
I believe we are thinking along the same lines.

I did the count:hero#abCategory.PUPsiDisc exactly as you described above (actually the second was = 2 not >= 2. And I watched the debug tags populate as I was adding/removing the discipline abilities -- but the ability list didn't populate as I expected.

Knowing which one is the 2nd is done (at least intention-wise) is done by counting the abCategory tags on the user as the ability was added. The first one only had 1 tag, the second had two. I'm pretty sure that what I'm hitting is once again a timing issue.

One of the issues with the design problem we are hitting is once you get into mythic and you can choose "additional discipline" or "extra discipline" the bootstrapping of the discipline abilities is separate from the access to the discipline power list -- so you are getting into tertiary and quartenary abilities at this point. We are going to run out of room for all these configurations eventually.
Quintain is offline   #1135 Reply With Quote
Roadie
Senior Member
 
Join Date: Feb 2010
Posts: 125

Old March 31st, 2017, 08:07 PM
Quote:
Originally Posted by Quintain View Post
One of the issues with the design problem we are hitting is once you get into mythic and you can choose "additional discipline" or "extra discipline" the bootstrapping of the discipline abilities is separate from the access to the discipline power list -- so you are getting into tertiary and quartenary abilities at this point. We are going to run out of room for all these configurations eventually.
Well, in the worst case you could set up a configurable that exists just to give extra slots to choose things. That's my approach for dealing with the Avowed class, which gives 7+ pools of things to pick from.
Roadie is offline   #1136 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old March 31st, 2017, 10:06 PM
Quote:
Originally Posted by Quintain View Post
Knowing which one is the 2nd is done (at least intention-wise) is done by counting the abCategory tags on the user as the ability was added. The first one only had 1 tag, the second had two. I'm pretty sure that what I'm hitting is once again a timing issue.
No. Let me try again you CAN NOT TELL which is first and which is second. HL does not work that way. As soon as you add the 2nd discipline the tag count is two for both test cases.

Every time you change anything on an character you test how the character is at that moment in time. You can NOT know which discipline was added 1st and which was 2nd.

This is why for the psy warrior has a chosser because the user MUST tell the script.

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.

Last edited by ShadowChemosh; March 31st, 2017 at 10:08 PM.
ShadowChemosh is offline   #1137 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old March 31st, 2017, 10:10 PM
It's my bad for answering your questions instead of just saying it will not work. You need a totally different approach to solve this.

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   #1138 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old April 1st, 2017, 09:47 AM
Quote:
Originally Posted by ShadowChemosh View Post
No. Let me try again you CAN NOT TELL which is first and which is second. HL does not work that way. As soon as you add the 2nd discipline the tag count is two for both test cases.

Every time you change anything on an character you test how the character is at that moment in time. You can NOT know which discipline was added 1st and which was 2nd.

This is why for the psy warrior has a chosser because the user MUST tell the script.
Right, that's kind of what I came up with as the basic problem (no static values after being loaded).

So, after a bit of brainstorming, here's what I caught on as kind of a solution. We'll keep the normal discipline abilities as is, no conditional bootstrapping, etc.

The 2nd-ary disciplines that are already created will need to be changed to be primary custom abilities, and we'll need to edit the name so that the user will understand that these are for the dual disciple archetype only (or make it available only to the dual disciple archetype -- which I think it may already be). Then we'll be able to use the 2nd-ary custom abilities for the additional discipline mythic ability, and the 3rd-ary custom abilities for the extra discipline power lists.

So, in short:

Primary Custom Ability for Psion Disciplines = Full abilities, and power lists, regardless of the level arrangement.

Secondary Custom Ability for Psion Discipline = Full abilities regardless of level arrangement with no power list additions

Tertiary Custom ability for Psion Discipline = Power list additions, with no discipline abilities added.

Thoughts?

Edit: From my initial testing, this works out perfectly. The only minor glitch is that the non-dual disciple disciplines (the standard progression ones) are still visible when picking the second discipline. Might want to implement a method of hiding those.

Last edited by Quintain; April 1st, 2017 at 09:56 AM.
Quintain is offline   #1139 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old April 1st, 2017, 09:56 AM
Quote:
Originally Posted by ShadowChemosh View Post
It's my bad for answering your questions instead of just saying it will not work. You need a totally different approach to solve this.
No, answering the questions is fine, that's how I'm learning the system. It helped with working out the alternate method (above) that I came up with.
Quintain is offline   #1140 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 04:47 PM.


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