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
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old June 19th, 2017, 01:02 PM
Quote:
Originally Posted by ShadowChemosh View Post
I had special logic running for the class because of the way the class changes BAB. Then LW made changes over the last year to how weapons/BAB work so could be a conflict going on.

Will have to look into this. Don't know off the top of my head...
I've actually identified it after I posted this last night. Before the recent released I had been trying to figure out a lot of this on my own anyway, and Deadly Strikes was one of the things I couldn't get my head around, but the special BAB effect was another, so I poked through the scripts to see what you did.

This still could be the result of their changes, but I noticed you have the script for the improved BAB on the base class, and also had it on the semi-hidden "Fighting Style (Unarmed)". As a test I removed the script from the Fighting Style (Unarmed) entry, and with either Unfettered Kata or Fighting Style with an appropriate weapon training selected (such as Monk, Natural, etc) it properly gets the BAB increase, so that script in the Fighting Style (Unarmed) has been rendered unneeded by something.

The script below is still needed, but, again as a test, I moved it directly to Unfettered Kata entry, and removed the bootstrap for "Fighting Style (Unarmed), and Unarmed Strike is properly getting the extra BAB entries.
Code:
      ~ Set weapon proficency to the hero &
      perform hero.pushtags[WepProf.?]

      ~ Set Talented Monk Attack Bonus tag to our Unarmed Strike
      perform hero.childfound[wUnarmed].assign[wSpecial.RGTalMnkAB]
Style Master is my current Mt. Everest.

Last edited by Eilserves; June 19th, 2017 at 01:06 PM. Reason: Corrected code entry.
Eilserves is offline   #1241 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old June 19th, 2017, 06:25 PM
Quote:
Originally Posted by Quintain View Post
The HaveSpell feature needs to be modified to take into account classes that use spell lists defined by other classes (e.g Arcanist -> Sorcerer/Wizard).
Ok, having looked at the HaveSpell validation procedure, I think it "does too much" --

My understanding

1) A string with the spell id is passed to the procedure,
2) the stringid is prepended with "thingid." for each spellid in the string itself (if there are multiples.
3) The string containing the thingid.spellid value(s) are parsed to create a "sClass.Classid" value(s) for each spell
4) The hero is then checked to see if one of the class values exists.

#4 is where the Hybrid Classes from the Advanced Class Guide are going to have problems, as they can have spells from different class lists than their own (e.g Arcanist).
Moreover, it doesn't actually check to see if the hero knows the spell, but check to see if it is on the class list. This seems to be contrary to what "HaveSpell" means -- the procedure should be "OnSpellList" or something similar.

However, I don't think this class check of the spell (steps 3 and 4 above) are even needed. If a hero has a particular spell, the thingid.spellid value should exist and we simply need to search for that value.

Example: Arcanist with all levels of Summon monster has thingid.spSummMon1 on the hero. However, what he doesn't have is thingid.cHelpWiz.

Unless I'm missing something (and granted, I usually am), we should be able to do is look through the list of "thingid.spSummMon1|thingid.spSummMon2|thingid.spS ummMon3|thingid.spSummMon4|thingid.spSummMon5|thin gid.spSummMon6|thingid.spSummMon7|thingid.spSummMo n8|thingid.spSummMon9" to determine if the spell is known to the hero.

Is there somewhere I am going wrong here?

Last edited by Quintain; June 19th, 2017 at 06:27 PM.
Quintain is offline   #1242 Reply With Quote
Zaknaefin
Member
 
Join Date: Oct 2016
Location: New York
Posts: 79

Old June 20th, 2017, 03:40 AM
Quote:
Originally Posted by ShadowChemosh View Post
Ok got me on that one as no such adjustment exists. You would need to use a penalty to damage adjustment and set the counter to be equal to 1/2 the Str modifier.
That's what I did.

However, the issue is that with this character his Strength changes constantly from buffs (Mutagen, Enlarge Person, Bull's Strength, etc.), so I need to constantly update the damage adjustment penalty (and do the math correctly).

Is this an adjustment you could add to the Community Pack?

Currently playing: Starfinder Fallout, Star Wars Saga Edition, Savage Worlds Slipstream.
Zaknaefin is offline   #1243 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old June 20th, 2017, 11:05 AM
Quote:
Originally Posted by Quintain View Post
Ok, having looked at the HaveSpell validation procedure, I think it "does too much" --

My understanding

1) A string with the spell id is passed to the procedure,
2) the stringid is prepended with "thingid." for each spellid in the string itself (if there are multiples.
3) The string containing the thingid.spellid value(s) are parsed to create a "sClass.Classid" value(s) for each spell
4) The hero is then checked to see if one of the class values exists.

#4 is where the Hybrid Classes from the Advanced Class Guide are going to have problems, as they can have spells from different class lists than their own (e.g Arcanist).
Moreover, it doesn't actually check to see if the hero knows the spell, but check to see if it is on the class list. This seems to be contrary to what "HaveSpell" means -- the procedure should be "OnSpellList" or something similar.

However, I don't think this class check of the spell (steps 3 and 4 above) are even needed. If a hero has a particular spell, the thingid.spellid value should exist and we simply need to search for that value.

Example: Arcanist with all levels of Summon monster has thingid.spSummMon1 on the hero. However, what he doesn't have is thingid.cHelpWiz.

Unless I'm missing something (and granted, I usually am), we should be able to do is look through the list of "thingid.spSummMon1|thingid.spSummMon2|thingid.spS ummMon3|thingid.spSummMon4|thingid.spSummMon5|thin gid.spSummMon6|thingid.spSummMon7|thingid.spSummMo n8|thingid.spSummMon9" to determine if the spell is known to the hero.

Is there somewhere I am going wrong here?
I think where you're going astray is for classes which know a large spell list but don't necessarily have a pick for each spell they know. Chiefly clerics, paladins, rangers, etc. A "summon monster 2" prereq should be satisfied by a cleric of sufficient level, but your proposal would mean it would only satisfy if the person in question selected summon monster 2 for the memorized spells today.
Aaron is offline   #1244 Reply With Quote
Quintain
Senior Member
 
Join Date: Feb 2012
Posts: 546

Old June 20th, 2017, 11:38 AM
Quote:
Originally Posted by Aaron View Post
I think where you're going astray is for classes which know a large spell list but don't necessarily have a pick for each spell they know. Chiefly clerics, paladins, rangers, etc. A "summon monster 2" prereq should be satisfied by a cleric of sufficient level, but your proposal would mean it would only satisfy if the person in question selected summon monster 2 for the memorized spells today.
Ok, fair enough. Divine casters having access to their entire spell list, that will still need to happen.

However, there still isn't a way to check for a class that has a spell list that is different than the class id values.
Quintain is offline   #1245 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old June 20th, 2017, 12:02 PM
Quote:
Originally Posted by Quintain View Post
Ok, fair enough. Divine casters having access to their entire spell list, that will still need to happen.

However, there still isn't a way to check for a class that has a spell list that is different than the class id values.
I gave this kind of thing a shot myself about a year ago. Believe me, it's a huge pain in the tuchus. I ended up having to shelve what progress I had made and move on to other things.
Aaron is offline   #1246 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old June 20th, 2017, 02:26 PM
Style Master has made some progress. I could not get it to work by putting the script into the class ability, even changing perform linkage[varies] to perform linkage[table]. Instead I put a modified version of the Master of Many Styles script into the class.
Post-Levels/20000/4
Code:
      ~ We can only add style feats if we possess the previous ones in the
      ~ chain. Thus we can't grant them all without regard to all prereq (or
      ~ it'd be possible to skip to the end), and so we have to generate the
      ~ options for bonus feats here.

      ~ New and improved handling of the Master of Many Styles:
      ~ Previously, the Master of Many Styles was handled by a long list
      ~ of if statements that added fInclude tags if the character had a specific feat.
      ~ This was a big mess and hard to maintain and debug.
      ~ This new version uses tag to handle it in an automated way that should be
      ~ a lot less trouble to debug and maintain.
      ~ What it does is loop through the monk bonus feats on the character and pull the
      ~ fMoMSNext tags to the archetype as fInclude tags. It then pushes them to the
      ~ monk class to be used in the normal bonus feat tag experession mechanism.

      ~First, loop through our feats and pull the fMoMSNext tags here as fInclude feats
      foreach pick in hero from BaseFeat where "fMoMSNext.?"
        perform eachpick.pulltags[fMoMSNext.?,fIncTert]
        nexteach

      ~ Push the tags for the unlocked feats to the linked class
      perform linkage[varies].pushtags[fIncTert.?]

      ~ Some style feat chains break the normal rules for Master of Many Styles
      ~ Elemental fist, for example, is required before you can take Djinn Style,
      ~ Efreet Style, Marid Style, or Shaitan style. We handle that here.
      ~ This also applies to cases where all the feats in a chain are marked as
      ~ style feats, but Master of Many Styles still requires that the feats in
      ~ the chain be taken in order. For example, the Perfect Style feats from
      ~ Inner Sea Combat

      var tagexpr as string

      ~ Our search expression is built on feats we don't have, that have
      ~ fMoMSPrecl tags
      tagexpr = "!(" & hero.tagids[HasFeat.?, " | "] & ") & fMoMSPrecl.?"

      ~ Search for feats we don't have that unlock other feats
      foreach thing in BaseFeat where tagexpr

        ~Pull their tags here as fExclude tags
        perform eachthing.pulltags[fMoMSPrecl.?,fExcTert]
        nexteach

      ~ Push the tags for the forbidden feats to the linked class
      perform linkage[varies].pushtags[fExcTert.?]

      ~ If this hero has access to the Weapon Master's Handbook, then we need to
      ~ add some warning text to our bonus feats because:
      ~ "Class features that allow a character to ignore the prerequisites of
      ~ feats when selecting them (such as the master of many styles monk
      ~ archetype’s bonus feat ability) can’t ignore the racial trait
      ~ prerequisites of a racial style feat."
      linkage[varies].field[cBonFtTxt].text = "Racial Style feats cannot ignore the pre-reqs of racial traits."
For some reason if I include the "doneif (islinkage[varies] = 0)" part it doesn't work, implying it's not a "linkage[varies]" function, but the "perform linkage[varies]" works.

I also had to add a tag "Helper TBonFtNoPr" to the class. However, this isn't quite right as it allows Djinni style and others that require Elemental Fist even with the talent, without having Elemental Fist. It's also not adding the text regarding racial traits.

There are some feat chains that aren't working yet, I presume because they don't have the fMoMSNext tags, but I can make copies of the feats and include that tag in the copies to fix that part.

Climbing Everest, but not quite to the summit yet, as the missing Racial Traits text and the Elemental Fist requirements are still eluding me, but progress has been made.
Eilserves is offline   #1247 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 63

Old June 20th, 2017, 02:51 PM
Correction - Elemental Fist requirement does seem to be working. So that's another step closer to the summit.
Eilserves is offline   #1248 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old June 20th, 2017, 02:51 PM
@Eilserves please don't post "editor/scripting" stuff to this thread. You started your own thread HERE and it makes more sense to keep it all together instead of posting half a conversation here and the other half in another thread.

This thread is for general questions and issues with the Pack. Editor/scripting questions is better separated to their own threads.

@Aaron & @Quintain this applies to you guys also. Please keep pure scripting/editing stuff to there own threads.

Thanks!

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; June 20th, 2017 at 03:01 PM.
ShadowChemosh is offline   #1249 Reply With Quote
Cards77
Member
 
Join Date: Feb 2016
Posts: 62

Old June 22nd, 2017, 04:58 PM
Are there any plans to include ReaverXs Dark Sun updates? Or do I need to install those separately? Thanks.
Cards77 is offline   #1250 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 11:40 AM.


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