
![]() |

![]() |

V32 CHANGELOG:
=============
*Some improvements to README. Feel free to request features and they will be added to the feature request list.
*Added keywords to the wiki tab. Also sorted them into majors and minors (behind the scenes) as a precursor to being able to properly match weapons and attacks by keywords.
*Changed the order of items on the threading tab to better match their placement on the in game paperdoll.
*Changed the format of some output on the xp tab to be consisent with what is printed on feat message windows (days/hours/minutes/seconds)
*When searching for expendables to use with a class feature the keywords listed in the title of the message window should now be listed in alphabetical order.

![]() |

V33 CHANGELOG:
=============
*If you enter junk into the search entry when searching for class features to match your chosen expendables the program will now ignore that junk.
*Added xp totals and cumulative xp total to role printouts. These xp totals are for raising prerequisites to the required levels (above what is required for lower levels of that role). It does not include totals for prerequisites of those prerequisites not listed in the role's prerequisites or costs related to raising ability scores.
Please let me know if this one downloads properly.

![]() |

![]() |

![]() |

![]() |

V37 CHANGELOG:
============
*Added buttons on the combat tab to show average number and variance of full hits and crits after a given number of attacks.
*Can now search the wiki by weapon to find attacks with matching keywords. Major keywords count as 4 for purposes of matching. Unfortunately the weapons don't have a weapon type in the spreadsheets, so I haven't been able to properly filter the attacks to match the weapon's weapon type. However, the attacks have a weapon type and this is printed out in the matches.

![]() |

The Suggestions window has been rendered useless by the recent change to the way ability scores are raised. Can this window be changed to reflect which feats will be the most efficient once they actually begin raising ability scores?
Ya, it's possible. Right now what it does is look at the increase/xp for the next level and puts that in a sorted list. Looking for the next level which actually increases an ability score is possible. In that case the most appropriate information would be (next non-zero increase)/(sum of xp up to and including that level).
I'll add it to the to-do list. See the README for a roughly prioritized list of upcoming features. The list keeps getting tweaked, but should give a rough idea of what's to come.

![]() |

V38 CHANGELOG:
============
*Suggestions on training tab now shows (next non-zero increase)/(sum of xp up to and including that level) to deal with the changes to the way ability score increases scale. It also shows that level.
*Moved xp tab functionality onto training tab.
(Not quite 20 minutes :p Have to work on other stuff now...)

Eigengrau |
I'm getting some "Access Denied" window that pops up 1/2 way through installation, when I tried to install Python version 3.4.1 Tried to install several times, downloaded it again as well. Something is just not letting me install it and I can't figure out why. Pythons website offers no "problem solving" FAQ, that I can find anyway.
Anyone have an idea on what may be the problem for me?
I'm running Windows 7, but I've had some screwy problems with my operating system and PC this past year, to the point I want to build another one, but I've been so far out of the loop on what components, brand, etc... to even shop for, for several years now.
Only thing I know I want is AMD CPU and a Solid State Drive.

Eigengrau |
Could be an account permissions issue. Maybe check if your account has admin access?
I thought that might have been the case, but it offers no "Run as Administrator" option when I select intaller...
I'm able to run the Patcher for Pathfinder Online as Admin though, so I know I've got admin access on this stupid PC of mine.

![]() |

Holy moly... I can barely keep up with all of these updates!
I think the cumulative xp in the role windows might be wrong.. Fighter 1 indicates 189xp, but I'm pretty sure it's actually around 600 or 700.
Also, if you export a list to csv, then update the list and try to re-export it, the program will CTD. I THINK it might be because the file already exists? Once I delete the old file, it exports fine.
Awesome, amazing work on this, Nightdrifter!

![]() |

@ArchAnjel: added to todo list.
The xp in the role windows only counts the feats listed under the requirements. It doesn't include prerequisites for those feats.
In the case of fighter 1 it's 180 vs 576. The 180 doesn't include Heavy Blade Proficiency (99), Trophy Charm Profiency (198), or Heavy Armor Proficiency (99)(all prereqs of listed requirements). They total up to 396. 396+180=576.
I want to add something to trace back all prerequisites of a given feat, but to do it for the general case can be very tricky. So for now the role window only lists xp for explicitly stated requirements. As you get higher in levels the unstated prereqs will become a very minor contribution to the xp total anyways.
I can't seem to reproduce that crash Dazyk. Can you run NPC_debug_mode.py and let me know what shows up in the terminal when the program crashes?
Edit: NPC_debug_mode will behave exactly the same as NPC except that there will be a terminal up. Don't close the terminal or the program will close.

![]() |

Also, let me know if you encounter problems with this version...
V39 CHANGELOG:
============
*If a filename in saved_files already exists and you try to save a new one a number will be tacked onto the end of the new filename to differentiate them.
*Added check box to include/exclude expendables in suggestions windows.
*Added check box on combat tab to indicate if the attack is penetrating or not. This is not properly included in the conversion calculations yet, so it's probably best to turn it off when doing conversions.
*Added simple loot tab. 'Average Party Total' assumes equal knowledge skill for all members.

![]() |

So when I tested it with v38, it didn't crash, but it did spit out some text in the terminal. From the midst of the mumbo-jumbo (to me) I can see "Error, access denied" and I think I know why.
I believe I had the .csv OPEN in excel while attempting to re-save the .csv file from the program.
When I tested it in v39, no errors popped, and the file was saved correctly with a different extension even if the original file is open.
Case closed!

![]() |

The name is across the top of the calculators. ;)
V40 CHANGELOG:
============
*Increased the % range shown in the Average Loot printout in the Loot tab.
*Minor bug fix with penetrating attacks, though the conversions for penetrating attacks aren't done yet.
*Changed format of output on travel tab.
*Added option to select armor encumbrance on travel tab.
*Can now search on wiki tab for appropriate weapons to use with a given list of attacks based on matched keywords.
*Can now choose a race on the training tab and get their automatic racial feats for free.

![]() |

As JazzIvraz said, just python on windows. Make sure it's python 3.4.1 or whatever the latest version 3 is.
The folder I link doesn't need to be unzipped into any python folder. The folder can be unzipped anywhere and should work fine. Mine sits on my desktop. I don't even remember where python is installed on my computer.
Double click NPC.pyw to run.
Eventually I'd like to distribute compiled executables that don't require the user to have python installed, but I'm not there yet.

![]() |

V41 CHANGELOG:
============
*Corrected a calculation for group loot.
*Added a simple function on travel tab to compute the distance between two sets of 'Thornkeep coordinates'.
*Can also calculate distances between centers of hexes based on hex numbers.
*Some behind the scenes progress of linking the wiki tab to the training tab. (Many feats in the training tab now have access to the data in the wiki tab, but I haven't figured out a good way to display all the data together.)

![]() |

You know what I was thinking?
What about a function similar to your "Train All Feats" button, but more narrow:
Select feat type/name --> "Unbreakable" --> Click "Train to Max" = Unbreakable trained to max rank.
The only problem, I know you will say, is where Proficiency feats and other pre-reqs come in to play. Not sure how you would solve this one...
Basically, I am thinking: ok, with the current build I have in mind (including a full 'set' of abilities), how long and how much XP would I need?
Daz

![]() |

That is very similar to the issue of fastest xp to get to a given level in a given feat. It's tricky to do properly. I'm still thinking about how to do it without it being computationally expensive.
The Train All button is mostly there to answer a common question that comes up in EVE: how long would it take to train everything to max?

![]() |
1 person marked this as a favorite. |

Hoping to change the input significantly. As it stands I have to update over a dozen csv files which could get tedious long term. I'd like to move to having a single input file, namely the spreadsheets copied straight from the devs where the various inputs are simply on different tabs. Problem is the only way I know how to do that reliably requires users to install an extra python module (at least until I can start releasing it in compiled form). I'm loathe to add extra requirements as I want the calculators to be as close to plug-and-play as possible.
For the extra module I can provide a simple script which downloads and installs the module for those who have python installed already. Essentially it would mean that you'd have to run the extra script first before you can run the calculators.
Thoughts on this change?

![]() |

If you have a way to read .NET DataSets from the .xml, or if you have an easy way to convert that into a useful source, I've uploaded the fruits of my labor to Pathfinder Online (Public) as WikiDataSet_WithSchema.xml. It's a normalized, foreign-key constrained DataSet that should be extremely useful. It was late last night when I finished up, but I'll upload WikiDataSet.xml without the Schema information, as well as some source code and a .NET C# project tonight.

![]() |

Hoping to change the input significantly. As it stands I have to update over a dozen csv files which could get tedious long term. I'd like to move to having a single input file, namely the spreadsheets copied straight from the devs where the various inputs are simply on different tabs. Problem is the only way I know how to do that reliably requires users to install an extra python module (at least until I can start releasing it in compiled form). I'm loathe to add extra requirements as I want the calculators to be as close to plug-and-play as possible.
For the extra module I can provide a simple script which downloads and installs the module for those who have python installed already. Essentially it would mean that you'd have to run the extra script first before you can run the calculators.
Thoughts on this change?
I'm perfectly fine with you adding a script that helps us with the download; not sure about others, but not having as much knowledge of software and such makes me fairly wary of downloading plugins and other things like that.

![]() |

v42 will be a little bit (probably several days depending on how long it takes me to take care of non-PFO things). I need to make a bunch of behind the scenes changes to accommodate the 1 input file idea. Short term pain for long term gain in simplicity of handling data updates.
Plus I need to find an appropriate Hitchhiker's quote for v42 :p

![]() |

"There is a theory which states that if ever anyone discovers exactly what the mechanics are in an MMO and why they are that way, it will instantly disappear and be replaced by something even more bizarre and inexplicable."
"There is another theory, which states that this has already happened."
- Douglas Adams

![]() |

"Resistance is useless" - some noob Vogon. FYI resistance is awesome!
"Some parts of my character weren't what you'd call presidential." - Zaphod
V42 CHANGELOG:
============
*Now requires the xlrd module. Double click install_xlrd.py to get it.
*Started work on a Guide to NPC pdf, currently named NPC_overview.pdf.
*On the training tab passive feat info windows now also display effects and keywords which increase by level and attack info windows show keywords.
*Multiple behind the scenes changes in code.
*Transition to single input file for most inputs from the devs (except roles as the data there appears to be in a state of flux). This means that opening the calculator will take slightly longer, but once open should run the same. Long term this makes updating the input significantly easier.
*Data is up to date as of a few minutes ago (except roles).

![]() |

![]() |

![]() |

Bumping as I sent some people looking for this.
Instructions:
0) Have a windows computer.
1) Download and install python 3. here. You don't need to know squat about how to use python; you just need it installed.
2) Download the latest version of the calculators (or previous version as v44 seems to have download problems on occasion).
3) Right click the folder and 'unzip all'
4) Double click install_xlrd.py. This will install an extra needed python module needed for the calculators. Only need to do once.
5) Double click NPC.pyw. This will run the calculators.
Note: Reputation tab is out of date.
Training is on the training tab. Choose your race first to get free racial feats. Then start your mock training. Info buttons bring up new windows with information on the feat. Suggestions brings up a list of feats sorted by increase/xp cost.
There is an extensive todo list in the README, but if you have any suggestions please let me know!

![]() |

Hedrik Holiday has found a way to get these working on a Mac. His instructions on the alpha forums can be found here.
Got NPC running on MacOS 10.9.5 with Python 3.4.1 from python.org.
NOTE: this will only work on 10.9.x since before then Apple's version of tcl/tk had "issues"
For other versions of MacOS, you MUST review https://www.python.org/download/mac/tcltk - and https://docs.python.org/3/using/mac.html#running-scripts-with-a-gui may also be helpful.
Install Python 3.4 from the downloaded .dmg file
In the Finder, open the new "Applications/Python 3.4/" folder
Execute (double-click) the "Update Shell Profile.command" file
In the Finder, open the folder containing your uncompressed NPC files
Select any .py file and use the Finder's "Get Info" command
In the "Open with" section, select the "Python Launcher" application - then close the Get Info window
Do the same for any .pyw file
Double-click the "Python Launcher" application from the Finder window
From the "Python Launcher" menu, select "Preferences…"
In the preferences window, change the "Interpreter" to be
"/Library/Frameworks/Python.framework/Versions/3.4/bin/python3" for all three of the file types
I would also recommend DE-selecting the "Run in a Terminal window" checkbox
Quit the Python Launcher application
Close the "Python 3.4" folder
In the Finder, open the "Terminal" application found in "Applications/Utilities"
Enter the following line in the Terminal window:
ln -s pip3 /Library/Frameworks/Python.framework/Versions/3.4/bin/pip
Quit the Terminal application
Double-click the "install_xlrd.py" file in the NPC folder
You should now be able to double-click the npc.pyw file to run NPC