Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
I'm going to jump right in by saying the code for the Path of war stuff confuses the heck out of me but in an effort to code a class a player of mine wanted to use I took a shot it.
It is a prestige class that can be blended with any non-martial class to add path of war maneuvers to it. I took the umbral blade and started to tinker with it. After about two days of learning the ins and outs as best I could of the the Path of War code. I was able to create the class with configurable that didnt throw me fifty billion compile errors. Now I get to the point where I have maneuvers and want to add them to the configurable. . . And I cant because the configurable right across the top says: "Pick Maneuver List on class tab first." Well damn, I dont want to. I want to be able to say... Pick an base class, treat the number of class levels in that class as your IL plus those in this prestige class. But I cant, so I am looking for assistance. P.S., I have also found a bug, I think. The umbral blade prestige class says all it needs is the ability to use Veiled Moon maneuvers, not a maneuver class. And yet that prestige class has the same problem, it will not let you add to its maneuver list until you have selected a maneuver based, base class first. I will continue to work on this issue, I need it for a game on the 6th of January. Bleh. Well, thanks in advance and and have a Merry Christmas (or Happy Holidays) and Happy New Year. |
#1 |
Senior Member
Join Date: Feb 2015
Posts: 676
|
Hi there, I wrote most of the Path of War content*, including the prestige classes.
Initiating PrC's add to the "maneuver pool" of a previously-existing initiating class (Warder, Stalker, etc), rather than having a pool of their own. This is the reason for the "pick a maneuver list" behavior; you're being asked to choose what class to add maneuvers for. That behavior is described in the file COM_3PPPack_PathOfWar - Components.str, approx lines 249-257: Code:
~ If we're a prestige class, make sure we have chosen an existing maneuver list to work from, otherwise don't allow picking any maneuvers yet if (linkage[powClass].tagis[ClassType.Prestige] = 1) then if (hero.childfound[cPWP1Man].field[usrChosen1].ischosen = 0) then linkage[powCfg].field[cfgMax1].value = 0 linkage[powCfg].field[cfgMax2].value = 0 linkage[powCfg].field[livename].text = linkage[powCfg].tagnames[ClsCountAs.?] & " Maneuvers: Pick Maneuver List on class tab first!" done endif endif Quote:
*If you count "by volume", anyway. ShadowChemosh laid the really important groundwork that made it possible. |
|
#2 |
Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
I wouldnt have the faintest idea how to manipulate that sort of file. I can do small time editing in the text editior. But something like that could cause the whole compiler to crash and burn in a spectacular fashion.
Sigh, I guess I cant set this up then, unless there is a way I can override this from the editor. I dont suppose there is a way I could code this in the editor, which pick would I use if this is possible? I assume it would have to be very, very late, at least Final/15000 probably. Which would make this very tight. I will make some tests on the Configurable, and hope that works but beyond that, its probably the limited of my current skill. ---------------------------------------- I feel however, I need to point out that it is possible to qualify for many of these prestige classes without taking a maneuvering class, through feats. However, the way this is set up doesn't seem to allow for that. Take a look at the Umbral Blade. It only requires access to 3rd level Veiled Moon. Which can be obtain by feats. |
#3 |
Senior Member
Join Date: Feb 2015
Posts: 676
|
Quote:
Quote:
|
||
#4 |
Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
Quote:
After all day of work this is what I have come up with: Code:
<eval phase="Final" priority="11000" index="3"><![CDATA[ var level as number ~ Calculate the array value which is class level minus one as we start at zero field[AryLevel].value += linkage[powClass].field[cTotalLev].value - 1 level = field[AryLevel].value ~ If we're a prestige class and dont have its own maneuver lists, make sure we have chosen an existing maneuver list to work from, ~ otherwise don't allow picking any maneuvers yet if (tagcount[ClassType.Prestige] = 1) then if (hero.childfound[cPWP1Man].field[usrChosen1].ischosen = 0) then linkage[powCfg].field[cfgMax1].value = 0 linkage[powCfg].field[cfgMax2].value = 0 linkage[powCfg].field[livename].text = linkage[powCfg].tagnames[ClsCountAs.?] & " Maneuvers: Pick Maneuver List on class tab first!" done ~ If a prestige class isn't linked to an initiator class in and of itself apply its correct values f elseif (tagcount[PathOfWar.PrCIndMan] = 1) then linkage[powCfg].field[cfgMax1].value = 22 linkage[powCfg].field[cfgMax2].value = 22 linkage[powCfg].field[livename].text = linkage[powCfg].tagnames[ClsCountAs.?] & " TEST" done endif endif ~ If no disciplines setup then display error and stop! ~ But don't display the error if this class has to choose disciplines (like the Pathwalker archetype) if (tagcount[Discipline.?] = 0) then if (linkage[powClass].tagis[PathOfWar.selDisc] = 0) then notify "Your class has no Disciplines defined. Please define Disciplines in the editor 'zCommunity->PoW Class Setup'" endif done endif ~ If no disciplines setup then display error and stop! ~ But don't display the error if this class has to choose disciplines (like the Pathwalker archetype) if (tagcount[Discipline.?] = 0) then if (linkage[powClass].tagis[PathOfWar.selDisc] = 0) then notify "Your class has no Disciplines defined. Please define Disciplines in the editor 'zCommunity->PoW Class Setup'" endif done endif ~ Set to pull anything that is not a stance linkage[powCfg].field[cfgAllow1].text = "PathOfWar.Manuever & (" & tagids[Discipline.?,"|"] & ")" ~ Set to pull all the stances linkage[powCfg].field[cfgAllow2].text = "PathOfWar.Stance & (" & tagids[Discipline.?,"|"] & ")" ~ Enforce maximum maneuver level, if we have a custom progression if (tagis[PathOfWar.CstManProg] <> 0) then linkage[powCfg].field[cfgAllow1].text &= " & (mLevel.0" var i as number i = 1 while (i <= field[cMaxManLvl].arrayvalue[field[cIL].value - 1]) linkage[powCfg].field[cfgAllow1].text &= " | mLevel." & i i += 1 loop linkage[powCfg].field[cfgAllow1].text &= ")" endif ~ Set the configurator's number of manuevers known linkage[powCfg].field[cfgMax1].value += field[cManKnown].arrayvalue[level] ~ Set the configurator's number of stances known linkage[powCfg].field[cfgMax2].value += field[cStances].arrayvalue[level] ~ Set the live name to inform the number of manuevers that can be readied linkage[powCfg].field[livename].text = linkage[powCfg].tagnames[ClsCountAs.?] & " Maneuvers Readied: " & linkage[powCfg].tagcount[PathOfWar.ManueverOn] & " of " & field[cManReady].arrayvalue[level] ]]></eval> So.. entially what I'm trying that works like the following: IF (linkage[powClass].tagis[ClassType.Prestige] = 1 AND linkage[powClass].tagis[PathOfWar.PrCIndMan] = 1) then do everything in the lower section of the code. ELSEIF (linkage[powClass].tagis[ClassType.Prestige] = 1 AND linkage[powClass].tagis[PathOfWar.PrCIndMan] = 0) then do everything you had in the code ----------- I have tried that but, I am hindered by the fact that I am not very good with manipulating tags and my knowledge of whatever the heck this 'linkage' stuff is is just some form of wierd connector. I understand that linkage[powClass] is referring to class levels; and linkage[powCfg] is referring to the initiator manuverables, in away that it doesnt need to call each of them by their seperate unique id. But beyond that. I really am just poking at the code with a stick. My next step is to try and manually add the Martial Training configurable to the chooser manually as an appropriate choice and see what I get. Perhaps if I do that I will be able to use that as a base. But all in all this day has been quite the learning experience, sort of... |
|
#5 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729
|
Will take a look as soon as I can. I got the bug report from TheIronGolem about the martial training feat not working with the umbral blade PrC. Maybe once I do that it will fix your issue also.
P.S. - Please note if you made changes directly to the files from the 3PP Pack that those will be lost as soon as you bring down the next update. You will need to make sure you have a new copy and then "manually" merge in your changes again. I say manually because if you just replace the new file with your old one its very likely to break other stuff as it will be the wrong version. 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. |
#6 |
Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
Quote:
Quote:
I've created a temporary prestige class that uses class custom abilities and filled those, using the identical code to the 3.5 version and it works (And is a lot more user friendly, tbh). It doesn't have any of the path of war disciplines, only the unique ones for the prestige class, nothing I can do about that. It means I'll have to redo EVERYTHING when I can get it going but, I needed it for a game and so did my player so meh. Anyways, I appreciate the help. ------------- |
||
#7 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729
|
So wait I am confused even though I read your posts like three times now.
Are you trying to make a new PrC that does NOT link to a an existing IL class. So you have fighter levels only and you take your TobyFox PrC and now you gain IL and Maneuvers from the PrC only? If that is the case I you just create a Configurable and make a new PoW Class Setup helper Thing that links your PrC to your Configurable. Boom done. The last part seems to be increasing the IL by the the full amount of the other classes. In which case a simple script that increases the IL of the Configurable by 1/2 the levels of other classes is all that is needed. 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. |
#8 |
Senior Member
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632
|
Sort of.
I have this prestige class that I want to have its own independent progression (albiet rather limited). So that part is correct. Ultimately, once all is said and done, I wanted it to pull the number of level in a single chosen base class and count those towards IL. But, I cant even get a prestige class to use its own progression. The way that it is currently coded--hard coded in the structure file is that if the ClassType is a Prestige class then it MUST always link to a per-existing initiation class configurable to set its details. I dont know enough about how the code works to change that, I've tried and tried for days. And eventually kinda gave up. The code I posted was my last attempt which doesn't work. |
#9 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729
|
So that I can fully understand the issue I went ahead and made a new PrC that is made be able to use its own independent maneuver list. I finally see the issue here. Sorry about that. I made the original base components but never really saw all the changes that TheIronGolem made to it. Now that I am on the same page I was able to modify the component to understand the new tag PathOfWar.PrCIndMan which will allow a PrC to use its own independent maneuver list instead of "inheriting" one.
How do you make use of this? You will need to download and install two new files from the GitHub repository. COM_3PPPack_PathOfWar - Components.str COM_3PPPack_PathOfWar - Tags.1st Follow those links which will open as text files in your browser. Go to "File->Save As" to save them as text files with .str or .1st to your PC. Place them into your Pathfinder folder overwriting what already exists. Then on your PrC Class Helper Thing (editor tab "Class->Class") Place the tag "PathOfWar.PrCIndMan". I am adding an example PrC I used for making this to this post. So look at it if you have any issues. You will still need to do any adjustments to the IL that you wish based upon your own houserules. Currently the PrC is added 1:1 and any non-PoW class is added at 2:1 ratios to the IL. IL is calculated at a timing of Post-Levels/10 with a script name of "PoW Calc IL". Feel free to adjust this value after that runs. 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. |
#10 |
|
|