Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - Pathfinder Roleplaying Game (http://forums.wolflair.com/forumdisplay.php?f=62)
-   -   Community Editor Projects - Mythic Psionics (http://forums.wolflair.com/showthread.php?t=58242)

ShadowChemosh April 24th, 2017 10:31 AM

Community Editor Projects - Mythic Psionics
 
Moving this discussion out of the Community Pack thread.

Quote:

Originally Posted by Quintain (Post 248567)
Code:

~ add competence bonus to Altered Defense ability equaul to tier

    field[abValue].value += #tiereffect[]
    #competencebonus[hero.child[cPUAltDef2], field[abValue].value]


This gives a Competence Bonus to the field BonComp which only exists on a Class Ability because all Weapon Fields where added to them. So you are trying to affect the "Weapon" stats for a Class Ability with the above script. :(

If we look at the scripts on Thingid.cPUAltDef2 we see:
Code:

    <eval phase="PostAttr" priority="11000"><![CDATA[
      ~NOTE:
      ~ abValue is bonus

      ~ If we're not shown, just get out now
      doneif (tagis[Helper.ShowSpec] <> 1)
      ~ if we've been disabled, get out now
      doneif (tagis[Helper.SpcDisable] <> 0)

      field[abValue].value += #value[cPUAltDef]
      field[livename].text = field[thingname].text & " " & signed(field[abValue].value)
      field[abSumm].text = "The cryptic gains a " & signed(field[abValue].value) & " dodge bonus to her AC."

      ~ If we're not active, just get out now!
      doneif (field[abilActive].value = 0)

      perform hero.assign[Cryptic.AltDefAct]
      hero.child[ArmorClass].field[tACDodge].value += field[abValue].value]]></eval>

I don't see the field BonComp being referenced at all. I only see "abValue" being referenced in the above fields.

Change your script to run at Post-Level/10000:
Code:

~ add competence bonus to Altered Defense ability equaul to tier
field[abValue].value += #tiereffect[]
hero.child[cPUAltDef2].field[abValue].value += field[abValue].value]


ShadowChemosh April 24th, 2017 10:35 AM

Quote:

Originally Posted by Quintain (Post 248570)
Next question:

The devastating touch class ability for the Dread is 1d6 + 1/Dread Level. There is a mythic ability that replaces this with 1d6 / Dread level.

How would one script replace the value calculated by another?

I would recommend starting by looking at the script on the devastating touch class ability:

Code:

    <eval phase="Final" priority="10000"><![CDATA[
      ~ Set the list name
      field[listname].text = field[name].text & " (" & field[xIndex].value & "d6+" & field[xTotalLev].value & ")"

      ~ If we've been Disabled, get out now
      doneif (tagis[Helper.SpcDisable] <> 0)
      ~ If we're not shown, just get out now
      doneif (tagis[Helper.ShowSpec] = 0)

      field[abValue].value += field[xCount].value

      field[livename].text = field[name].text & " (" & field[abValue].value & "d6+" & field[xTotalLev].value & ")"]]></eval>

We see the "damage" is being built from a combo of abValue & d6 + xTotalLev.

So you just need to adjust the value of abValue before Final/10000 to increase the number of "dice".

Quintain April 24th, 2017 11:45 AM

1 Attachment(s)
Quote:

Originally Posted by ShadowChemosh (Post 248654)
Change your script to run at Post-Level/10000:
Code:

~ add competence bonus to Altered Defense ability equaul to tier
field[abValue].value += #tiereffect[]
hero.child[cPUAltDef2].field[abValue].value += field[abValue].value]


Thanks for this. It is working...mostly.

It's working on 2 of 3 items. The name of the Altered Defense, Deflect doesn't seem to be picking up the value from the base Altered Defense base ability that is being picked up by the other two.

see attachment.

Quintain April 24th, 2017 11:54 AM

Quote:

Originally Posted by ShadowChemosh (Post 248659)
I would recommend starting by looking at the script on the devastating touch class ability:

Code:

    <eval phase="Final" priority="10000"><![CDATA[
      ~ Set the list name
      field[listname].text = field[name].text & " (" & field[xIndex].value & "d6+" & field[xTotalLev].value & ")"

      ~ If we've been Disabled, get out now
      doneif (tagis[Helper.SpcDisable] <> 0)
      ~ If we're not shown, just get out now
      doneif (tagis[Helper.ShowSpec] = 0)

      field[abValue].value += field[xCount].value

      field[livename].text = field[name].text & " (" & field[abValue].value & "d6+" & field[xTotalLev].value & ")"]]></eval>

We see the "damage" is being built from a combo of abValue & d6 + xTotalLev.

So you just need to adjust the value of abValue before Final/10000 to increase the number of "dice".

I'm not sure I clearly described the change. As an example, a 10th level dread with this particular mythic ability will change his normal damage of 1d6 + 10 (1d6 + 1/Dread Level) to 10d6 (1d6 per Dread Level).

From the code it seems that field[livename].text field is the thing that needs to be overwritten as the abValue.value has some text appended to it.

Or am I reading things wrong.

ShadowChemosh April 24th, 2017 12:46 PM

Quote:

Originally Posted by Quintain (Post 248670)
I'm not sure I clearly described the change. As an example, a 10th level dread with this particular mythic ability will change his normal damage of 1d6 + 10 (1d6 + 1/Dread Level) to 10d6 (1d6 per Dread Level).

From the code it seems that field[livename].text field is the thing that needs to be overwritten as the abValue.value has some text appended to it.

Remember we have "full" control over our stuff. You don't need to think about forcing stuff like you would if it was from LW. Instead work with changing the scripts to accommodate this type of change.

In this case I would create a new Tag Group for Dread and then have a new tag that says calc by "Dice Bonus". Maybe like "Dread.DevByDice" or something like that.

Then the current script just have an "IF" statement that looks for the new tag:

Code:

      ~ Set the list name
      field[listname].text = field[name].text & " (" & field[xIndex].value & "d6+" & field[xTotalLev].value & ")"

      ~ If we've been Disabled, get out now
      doneif (tagis[Helper.SpcDisable] <> 0)
      ~ If we're not shown, just get out now
      doneif (tagis[Helper.ShowSpec] = 0)

      ~ Check to see if we should calculate dice per level
      If (tagis[Dread.DevByDice] = 1) Then     
        field[abValue].value += field[xTotalLev].value
        field[livename].text = field[name].text & " (" & field[abValue].value & "d6" & ")"

      ~..Or calculate bonus per level
      Else
        field[abValue].value += field[xCount].value
        field[livename].text = field[name].text & " (" & field[abValue].value & "d6+" & field[xTotalLev].value & ")"
      Endif

What is also nice about this is its all documented with logic in "ONE" place. And it will be easy to find the "Mythic" ability that assigns the new tag Dread.DevByDice by a simple search of the .user files. :)

Quintain April 24th, 2017 05:34 PM

Ok, I found where the weird text values was coming from on the altered defense, deflection livename. I commented out the livename assignment on the base altered defense ability. That corrected things.

I'll push that change to GitHub.

I decided to not modify the Dread's original ability's text and just put the proper damage in the mythic ability instead.

ShadowChemosh April 24th, 2017 08:46 PM

Quote:

Originally Posted by Quintain (Post 248688)
Ok, I found where the weird text values was coming from on the altered defense, deflection livename. I commented out the livename assignment on the base altered defense ability. That corrected things.

I went a different way and instead of using abValue to represent the abilities "number" I changed the script to use xCount instead. This way it reads "Altered Defense 1" at level 1, "Altered Defense 2" at level 5, etc. This way we match the book and it does not increase/change when you add to abValue anymore.

Quote:

Originally Posted by Quintain (Post 248668)
Thanks for this. It is working...mostly.

It's working on 2 of 3 items. The name of the Altered Defense, Deflect doesn't seem to be picking up the value from the base Altered Defense base ability that is being picked up by the other two.

see attachment.

Its just a mess up I think in the base HL UI actually. The livename is correctly showing +4.

I changed the way this is displayed for all three abilities and that should correct this issue.

ShadowChemosh April 24th, 2017 08:50 PM

Quote:

Originally Posted by Quintain (Post 248688)
I decided to not modify the Dread's original ability's text and just put the proper damage in the mythic ability instead.

I can't tell from this comment which of the following is true:

1) Does this mean you are just having the 'Mythic Ability' show the the number of dice?

2) Do you mean your mythic ability is over writing the Livename on the Dreads Class Ability?

I pretty much provided the whole enhanced code to the issue in post #5. I am I missing something on how it does not correctly solve the issue and nicely document the change also. :confused: :confused:

Ualaa April 24th, 2017 09:11 PM

Thank you for attempting to add the Mythic Psionics.

One of my players loves psionics, but didn't like that there wasn't a mythic version when there was for Arcane and Divine casting.

Our group has added the Mythic Hero's Handbook (Legendary Games), which we'll use in our next stint at Mythic.
They use the Mythic Psionics, and we were disappointed that the HL package for Mythic Hero's Handbook chose to omit the psionic portion.

This is awesome that it is being worked on.
Thank you.

Quintain April 27th, 2017 05:00 PM

Question:

There are several mythic abilities that deal with psionic focus that makes the focus test positive when tested for certain abilities even if it is expended.

I'd like to implement a new tag called "Hero.isPsiFocused". Which would count as being psionically focused without interfering with the psionic focus tags.

Can you modify whatever psionic focus test procedure you made to do this test?

Naturally, my implementation is encountering some issues -- here's my code --

Error: The data files could not be loaded due to errors. Hero Lab will now attempt to load them in recovery mode. Once loaded, you can access the editor as normal to correct any errors.

The following errors occurred:

Syntax error in 'eval' script for Thing 'fmyDeepFoc' (Eval Script '#1') on line 14
-> Invalid syntax for tag template

Code:


      ~ If we're disabled, do nothing
      doneif (tagis[Helper.FtDisable] <> 0)

~ if mythic power >= 1 or Power Point Pool >=1 then considered focused.

    var vPwrPts as number
    vPwrPts = #resleft[resPowerPt]

    if (vPwrPts >= 1) Then
      ~ Character is Psionically Focused
      perform hero.assign[Hero.isPsiFocus]
    Endif

    if (hero.child[trkMythic].field[trkLeft].value >= 1) Then
      ~ Character is Psionically Focused
      perform hero.assign[Hero.isPsiFocus]
    Endif

I presume that I need to create the Hero tag ahead of time -- I'm not positive on how to do this. --

Edit: I found that the name for the hero tag was too long -- I changed to Hero.isPsiFocus, and it compiled successfully. Compiled, but not working -- when I tried to add the tag in the tags menu, it erred on something like dynamic tag not found:

Quote:

Hero Lab was forced to stop compilation after the following errors were detected:

File: COM_3PPPack_PsionicsAugmented - Mythic.user (line 1302) - Thing 'fmyDeepFoc' (dynamic tag) - Tag 'isPsiFocus' not defined
Timing issue?


All times are GMT -8. The time now is 09:33 PM.

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