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 May 15th, 2017, 08:43 PM
Quote:
Originally Posted by Quintain View Post
I was not, the base class was cryptic, so no access to disciplines.
The error is happening because you left off Helper.Mythic on a bunch of these Custom Abilities. Without that the background scripts are attempting to find a Class to calculate the class level.

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

Old May 15th, 2017, 08:54 PM
Quote:
Originally Posted by Quintain View Post
Can you also take a look at the Mythic Warrior Path ability -- it works like Monks Robes for the Warrior's Path ability -- however the implementation of the Warrior's path ability is a little bit "custom". (Note the: Warrior's Bracer's psionic item does this same thing).
They are custom but they use 99% of all LW standard logic. The only part that is different is when we change the Maneuvers/Trances from level 3 to level 11 based on if its the Primary or Secondary path taken. Otherwise they use the same logic of levels, extra levels, and display level as anything else in HL.

So using standard LW logic, feel free to look at the Monks Robe, how would you go about increasing "effective" level?

The issue is going to be you have 1 to many "Path" abilities to increase. How can you find the path or paths that a gamer has selected? A hint is that we need to use abCategory.? again would be very helpful. This would be why I added the new abCategory.PUPsyPath tag and why started to move Path abilities over to a custom components.

For know you can add the foreach loop logic into your mythic ability but until I finish moving all Path abilities over to a new component it won't work 100%.

This is also why I keep saying we have not even gotten the "base" Psionics 100% working so adding "new" requires 10 steps to fix the old. Then make the new work.

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

Old May 16th, 2017, 09:13 AM
Thinking about the Path abilities and increasing the effective level. I think we will need to do some proof of concept testing. The Path is a custom ability with class abilities bootstrapped to it. If we increase the effective level of the "Path" one of several things could happen:

1) The bootstrapped abilities also increase in effective level allowing the abilities to become active before they should.
2) The bootstrapped abilities DO NOT increase in effective level.
3) The bootstrapped abilities can become active before ClSpecWhen.? tag says they can.
4) The bootstrapped abilities do not increase in effective level until at least ClSpecWhen.? tag says they become active.

I have to test but I think number 1 is what happens. Which is not good because the text of the ability says:
Quote:
Originally Posted by Mythic Warrior Path
When determining the effects of your warrior’s path trance and maneuver, you are considered 4 levels higher. This increases the effects of abilities you have access to, but doesn’t grant you abilities at a lower level than normal. You must have the warrior’s path class feature to select this ability.
Sense I am already in the process of re-working Path abilities let me tackle this ability.

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

Old May 16th, 2017, 09:40 AM
Quote:
Originally Posted by ShadowChemosh View Post
Thinking about the Path abilities and increasing the effective level. I think we will need to do some proof of concept testing. The Path is a custom ability with class abilities bootstrapped to it. If we increase the effective level of the "Path" one of several things could happen:

1) The bootstrapped abilities also increase in effective level allowing the abilities to become active before they should.
2) The bootstrapped abilities DO NOT increase in effective level.
3) The bootstrapped abilities can become active before ClSpecWhen.? tag says they can.
4) The bootstrapped abilities do not increase in effective level until at least ClSpecWhen.? tag says they become active.

I have to test but I think number 1 is what happens. Which is not good because the text of the ability says:


Sense I am already in the process of re-working Path abilities let me tackle this ability.
Yeah, #1 is what happens. The Mythic Mender Method is another ability that does this as well, so will be impacted by your change.
Quintain is offline   #44 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old May 16th, 2017, 11:57 AM
Potent Pool code problem:

Description: Choose one of your manifesting classes. You gain four bonus power points. These power points stack with bonus power points from all other sources. You can take this ability once for each level of powers you can manifest of the chosen class.
For example, if you are a 9th level psion, you can choose this ability five times. Each time beyond the first, you gain a number of power points equal to the previous time plus 8. These additional power points are cumulative. For example, the second time you take this ability, you gain 12 additional power points, for a total of 20; the third time an additional 20 power points, for a total of 40, and so on.


Code:
     ~ If we've been Disabled, get out now
      doneif (tagis[Helper.SpcDisable] <> 0)

~ #resmax[resPowerPt] += 4
~ Totals: 4, 16, 36, 64, 100, 144, 196, 256, 316

     ~Current maximum power level is  
     ~field[usrChosen1].chosen.field[cPsiLevMax].value
     ~Exit function once the number of picks is reached
     
     field[abValue].value += field[usrChosen1].chosen.field[cPsiLevMax].value

      ~ if nothing is chosen, get out now
      doneif (field[usrChosen1].ischosen <> 1)

     if (field[abValue].value >= 1) then
       #resmax[resPowerPt] += 4
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 1)
 
     if (field[abValue].value >= 2) then
       #resmax[resPowerPt] += 12
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 2)

     if (field[abValue].value >= 3) then
       #resmax[resPowerPt] += 20
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 3)

     if (field[abValue].value >= 4) then
       #resmax[resPowerPt] += 28
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 4)

     if (field[abValue].value >= 5) then
       #resmax[resPowerPt] += 36
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 5)

     if (field[abValue].value >= 6) then
       #resmax[resPowerPt] += 44
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 6)

     if (field[abValue].value >= 7) then
       #resmax[resPowerPt] += 52
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 7)

     if (field[abValue].value >= 8) then
       #resmax[resPowerPt] += 60
     endif
     doneif (hero.tagcount[HasAbility.cPUMPoPool] = 8)

     if (field[abValue].value >= 9) then
       #resmax[resPowerPt] += 68
     endif
Quintain is offline   #45 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old May 16th, 2017, 01:15 PM
Quote:
Originally Posted by Quintain View Post
Potent Pool code problem:
This should be broken down into two parts:
1) We need to calculate a increasing value depending on how many times we have taken this ability.

2) We need to control the number of times we can take this ability.

For the first part we need a standard script running at like maybe Post-Level/10000 would be good. The issue here is that HasAbility.? tags are not yet present on the hero. You are on the right track using HasAbility to count but we need to use the Ability.? tag which is placed on the hero very early.

Here is a script that calculates the bonus:
Code:
~ Calculate the bonus with a base 4 point plus 8 more for each
~ additional time this ability was taken.
#resmax[resPowerPt] += 4 + (8 * (hero.tagcount[Ability.cPUMPoPool] - 1))
But wait. If we have the above script on the Potent Pool ability and its taken twice each script will calculate 12 and add to the Power Point total. Meaning we will give a bonus of 24 not 12 to the character. So that is not good.

We want the above "script" to ONLY fire one time no matter how many times Potent Pool is added to the character. The way to do this is create a generic Thing on the "Ability" editor tab (thingid.aPUMPoPool) and set it to a uniqueness of "Add Once". Then add the above script to this new Thing. Then bootstrap the ability (aPUMPoPool) to the cPUMPoPool Thing. Now even if we add cPUMPoPool many times to the hero we only add aPUMPoPool ONE TIME. Meaning the above script will only fire once and correctly calculate the value we need.

For number two issue for now just set cPUMPoPool to have a uniqueness value of "no" instead of Add Once. Once you have the calculations of giving the bonus correct we can work on the Pre-Req script that will prevent the ability from being added too many times.

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

Old May 16th, 2017, 03:57 PM
I found the problem with the uniqueness early on and now it is set to "no".

I removed the code and put in your script and prior to it, I put in:

Code:
      ~ If we've been Disabled, get out now
      doneif (tagis[Helper.SpcDisable] <> 0)

     ~ The following should only happen once on the first copy
      doneif (tagis[Helper.FirstCopy] = 0)

      ~ Calculate the bonus with a base 4 point plus 8 more for each
      ~ additional time this ability was taken.
      #resmax[resPowerPt] += 4 + (8 * (hero.tagcount[Ability.cPUMPoPool] - 1))
Changed to Post-Levels 10000 and there is no modification of the Power Point values in the statblock.

Last edited by Quintain; May 16th, 2017 at 04:04 PM.
Quintain is offline   #47 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old May 16th, 2017, 04:53 PM
You added the code to cPUMPoPool or aPUMPoPool?

Have you added "debug" scripts yet to see what is going on?
Code:
debug "IN"
     ~ If we've been Disabled, get out now
      doneif (tagis[Helper.SpcDisable] <> 0)
debug "past SpcDisable"
     ~ The following should only happen once on the first copy
      doneif (tagis[Helper.FirstCopy] = 0)
debug "Past First Copy"
      ~ Calculate the bonus with a base 4 point plus 8 more for each
      ~ additional time this ability was taken.
      #resmax[resPowerPt] += 4 + (8 * (hero.tagcount[Ability.cPUMPoPool] - 1))
debug "Past resmax"
Try the above and see what the script is doing...

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

Old May 16th, 2017, 04:59 PM
The debug output is

IN
past SpcDisable
IN
past SpcDisable

Nothing else. ( I have to items in my path abilities ).

Note: the ability requires picking the class to which the power point allocation applies. But given that the PP pool is cumulative amongst all psionic classes, I'm not sure that matters.

Edit: It matters for determining which class we get the highest power level value from.

Last edited by Quintain; May 16th, 2017 at 05:03 PM.
Quintain is offline   #49 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old May 16th, 2017, 05:19 PM
Quote:
Originally Posted by Quintain View Post
The debug output is

IN
past SpcDisable
IN
past SpcDisable
So what does this tell you? Where is the script being stopped? Did anything in my post talk about Helper.FirstCopy?

Quote:
Originally Posted by Quintain View Post
Nothing else. ( I have to items in my path abilities ).
Is this where I mention to put the script?

Quote:
Originally Posted by Quintain View Post
Note: the ability requires picking the class to which the power point allocation applies. But given that the PP pool is cumulative amongst all psionic classes, I'm not sure that matters.

Edit: It matters for determining which class we get the highest power level value from.
We are working on point 1 currently. Knowing the power level is in the part 2 section. This is why I broke the stuff down into multiple sections.

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   #50 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:30 PM.


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