Simple PFO Calculators


Pathfinder Online

1 to 50 of 218 << first < prev | 1 | 2 | 3 | 4 | 5 | next > last >>
Sovereign Court Goblin Squad Member

13 people marked this as a favorite.

Getting the calculators::

Requires python.

Then download calculators

*If you have python 3.0 or later in windows, then it should hopefully work fine. For reference I have it working in Windows 8, python 3.4.0.
*If you have an older version of python, try changing the first line from "import tkinter as tk" to "import Tkinter as tk".
*If you're sane (aka using Linux ;) ), add "#!/usr/bin/python" or "#!/usr/bin/env python" to the top of the code. Works fine in Ubuntu 10.4, python 2.
*If you're using a mac, it may require special installation of tkinter.

Double click to run.

For now there are two calculators which you can use - more to be added as I get time. There are many combat calculations that could be included, including several new ones I've yet to post. Likely I'll try moving to a calculator with multiple tabs in future versions to avoid the multiple windows issue. (The reason for using separate windows is that allows for a user defined number of items and I haven't found a nice workaround for that.)

On the main window there are buttons to open the calculators. One is for threading gear and the other is for determining how long it will take to gain certain rep.

Threading Calculator::

On the main page, enter how many items you want to consider. Default is 10, but can be any number you want (don't go crazy though). Press the "Threading Calculator" button to open up a new window which works somewhat like a spreadsheet.

Threads available is your total number of threads.

Relative repair cost is how much it costs to repair an item from 0 durability up to max compared to just buying it. 1.0 means those cost the same, 0.5 means it's half as much, etc. Default is 1.0, but can be changed.

Threads needed should be obvious.

Value (full durability) is how much the item is worth at full durability. If you want to use the value at the current durability, just set max durability to be equal to current durability.

Current durability and max durability are fairly obvious. Max is defaulted to 10 to avoid dividing by 0 errors, but can be changed to whatever you want.

Should you thread is obvious.

Loss on death is how much value you lose on average on dying.

Threads left over is obvious.

Store threading info stores all the current inputs to the table and Recall threading info puts the stored values in. This hasn't been extensively tested, but it does seem to work for me if I close the threading window and reopen it.

Minimize pvp losses calculates what to thread based on assuming you lose all unthreaded gear.

Minimize pve losses calculates what to thread based on assuming you lose 25% of all unthreaded gear. (The calculation here needs some improvements in future versions).

The algorithm is pretty simple:
1) Look at every possible combination of items you could thread. Throw out combinations which use more threads than you have.
2) For the remaining combinations ("states" in the code), calculate (based on which button is pressed) what combination costs you the least amount on average.

Reputation Calculator::

This one is pretty obvious in its use. It assumes you gain reputation at the end of each hour, so it only gives whole numbers for time.

There is an advanced options button which allows you to fiddle with how reputation gains are calculated. Defaults can be restored on the reputation window. These advanced options are mostly so that if the devs fiddle with the numbers it'll still be valid.

Please let me know if you run into any issues/have suggestions.

Goblin Squad Member

OK, need to set up Python. I used to be a Perl (camel) fan, but that was two careers ago in a previous century.

Sovereign Court Goblin Squad Member

It's too late to edit my post, but I should point out that you really don't want to go crazy with the number of items to thread. Each item you add essentially doubles the time it takes to run, so I'm thinking of hardcoding an upper limit. 10 is pretty much instant and 20 takes several seconds on my laptop. Going beyond that is perhaps too much.

Goblin Squad Member

I haven't tried out the reputation calculator yet but did you include going from negative rep?

Quote:
The exact amount of Reputation is likely to change multiple times in testing, but currently we're shooting for 1 Reputation per hour (minus .25 Reputation for every 2500 points below 0).

Sovereign Court Goblin Squad Member

Ravenlute wrote:

I haven't tried out the reputation calculator yet but did you include going from negative rep?

Quote:
The exact amount of Reputation is likely to change multiple times in testing, but currently we're shooting for 1 Reputation per hour (minus .25 Reputation for every 2500 points below 0).

Yes.

How it's currently implemented is that negative reps get a penalty to gains equal to 0.0001*their rep, which works out as 0.25 for every 2500 below 2500. Based on how you read that line in the blog, there are two ways that penalty might work:

a) linear fashion: each point of rep below 0 makes the penalty incrementally worse

or b) at thresholds of -2500, -5000, -7500 it becomes worse.

The calculator works based on a as that seems more natural to me and b seems awkward. It's easy to change to b.

I also set the cap on gains to 10 which is independent of rep, but perhaps the cap also has penalties based on negative rep.

Perhaps Stephen can clarify?

That 0.0001 (and every other number involved in the rep calculation) can be tweaked in the advanced settings in case the devs decide to change the numbers.

Grand Lodge

I'm sorry that nobody is paying you for making these tools Night.

Let me thank you for helping us build the respective pieces of the eventual foundations for the sphere of knowledge about PFO.

Sovereign Court Goblin Squad Member

Between the awkwardness of several windows and practical limitations on how many items you can reasonably calculate threading for I've updated it to be entirely tab based.

It now has 5 tabs:
*ugly basic calculator (NEW)
*reputation
*threading
*simplistic travel time (NEW)
*advanced (contains both advanced rep and travel time options)

Get the new version here. I'm still new to using tkinter, so the layout leaves something to be desired.

Sovereign Court Goblin Squad Member

Now with XP tab

Sovereign Court Goblin Squad Member

v3

*Added arrival time in travel time tab and changed the format of the output travel time.
*Added the date and time you will achieve the desired xp on the xp tab. This assumes that the xp is granted each hour on the hour. (Eg. if you ask for 100 xp and it's a few minutes before 4pm then it'll tell you 4pm).
*xp input on the input tab is automatically rounded up to the nearest multiple of the hourly gain of xp. (Eg. you get 100 xp/hour, so if you enter 150 that will automatically be rounded up to 200).
*The hourly xp rate is tuneable (may have been present in v2?) to allow for the possibility GW tweaks that 100 xp/hour or has alternate accounts in the future (free to play or cheaper subscription) which gain xp at a different rate.

Sovereign Court Goblin Squad Member

v4

Changes to reputation tab:
*Added input entry for how long you've already been gaining rep for those that have already been gaining rep for a while.
*Added input entry for current rep gain/hour for those that have already been gaining rep for a while.
*Added input entry for how many minutes you play per day.
*Added output of approximately when you'll achieve the desired rep based on how much you play.

Sovereign Court Goblin Squad Member

v5

*Changed xp calculation as it appears xp comes every 1 xp/36s, instead of 100 xp once an hour.
*Tweaked PVE threading calculation to include damage to unthreaded gear which is not destroyed (based on a comment I saw by Stephen when watching a stream).

Sovereign Court Goblin Squad Member

I have a very simplistic version of a training calculator working now. It only has attacks and cantrips to choose from so it's definitely limited. Also, it only cares about ability scores as prerequisites, not other feats or achievements.

Download all 4 of the following. Training.py is the one to run (double click). Likely you'll need to have all 4 in the same folder when running. Still a few features to add (displaying trained feats, incorporating it into the above calculators, adding other feat types, adding feat pre-reqs) but need some sleep first...

1, 2, 3, 4

Sovereign Court Goblin Squad Member

v6

You'll need:

1, 2, 3 as well to run v6.

This version is a bit clunky, but now incorporates training into the rest of the calculators. Again, only ability score pre-requisites are looked at. The only trainable feats are attacks, cantrips, and skills. Still, the time to train them all is staggering. If you want to know just how long spam the 'Train All' button until the totals stop going up. Then take that xp total and enter it on the xp tab to see just when you'd finish training those feats. And that doesn't even include the rest of the categories for feats (see here).

Sovereign Court Goblin Squad Member

1 person marked this as a favorite.

v7

You'll need the input files:

csv_files

Make sure the folder with the csv files is named csv_files (sorry that's hard-coded for now). The csv_files folder should be in the same folder that PC_v7.py is in (also hard-coded).

This version has a unified way of grabbing all the feats from csv files. These csv files are themselves simply taken from the spreadsheets the devs have given us. Each time the calculator is opened it will load the info from all csv files in the csv_files folder, so if new spreadsheets are released then simply make csv files and put them in the csv_files folder to let the calculator know about them. (Formatting for csv files is ; to separate entries and " to quote entries. Include all cells.)

The only pre-reqs taken into account are ability scores. You can print out your trained feats to the terminal with the Print Trained Feats button. Reset is obvious. Train All should no longer need to be spammed to train everything to max level. Depending on your computer Train All may take a couple of seconds to process.

The total xp needed to max out everything in the csv files: 66,568,163 (assuming no bugs in the calculator). As before, use the XP tab to find out how long it will take to train up that much xp. For 66,568,163 xp, it would take until June 27, 2090.

Please let me know if you encounter any bugs!

Sovereign Court Goblin Squad Member

v8

(Use the same csv files above)

Added info buttons on the training tab. These print info to the terminal on the feat that is selected.

Sovereign Court Goblin Squad Member

A few observations from playing with the calculators:

*The level 8 xp for Willpower/Reflex/Fortitude under Bonuses is wrong. It's copied straight from the spreadsheets, so not sure what the correct number is. Likely just a simple typo that got propagated.
*Clerics are the only role which doesn't require 20 in ability scores. Their pattern for pre-reqs seems similar to fighters except at high levels. Not sure if typo?
*To meet the requirements for eg. level 20 wizard doesn't require maxing out everything. Your BAB, reflex, fort, and hp don't need to be maxed out to get wizard 20. This means that once you've hit that max level there are still many useful improvements.
*A lot of the xp goes into things common across roles. Eg. Power needs to be maxed out for wizards and clerics and that takes ~9 months. Combined with other stuff you've trained and maxing out that second role should go much faster. With 2.5 years for your first role it should be closer to 1.5(ish) for your second role if there's decent overlap.
*Odd role levels (wiz,rogue, etc.) are relatively easy to achieve in terms of ability scores. If you meet the pre-reqs for an even level (eg. 10) you automatically meet them for the following odd level (eg. 11).
*Just following the bare minimum pre-reqs to max out your role level isn't enough for your scores for even levels. As the devs have mentioned with ability scores you may need to branch out a bit, so this sounds intentional. Not many expendables are in atm, so perhaps that will help.
*You can't level a single crafting skill by itself. You'll need to pick 4 or 5 all tied to the same ability score. I found that if I picked 3 that I wanted to take to 20 then I'd need to take 2 more to 11-12 to meet all ability score pre-reqs along the way. So likely crafters will be based around all the crafting/refining skills tied to a single ability score.

Goblin Squad Member

Nightdrifter wrote:
Not many expendables are in atm, so perhaps that will help.

I'm not sure about this, but my sense is that you won't spend XP to get Expendables.

Sovereign Court Goblin Squad Member

The spreadsheets we've been given list some expendables and they have xp costs.

Goblin Squad Member

Nightdrifter wrote:
The spreadsheets we've been given list some expendables and they have xp costs.

Yep, you're right.

I remember them talking about some spells dropping, but I've gotten to the point where everything's sort of jumbled in my head...

Sovereign Court Goblin Squad Member

Last I heard you couldn't train expendables in the current alpha, so perhaps that's it? ;)

Goblin Squad Member

I thought expendables were supposed to be dropped bu also require XP to learn, so as to discourage people from simply learning everything in their class repertoire without any downside or meaningful decision.

Goblinworks Game Designer

Yeah, that's part of the reason why it's taking a while to get expendables trainable in game. Unlike Recipes, which you just click and then have if you meet the prereqs, Expendables have to go through the XP system (necessitating an "are you sure?" prompt, spending XP, and updating ability scores).

Sovereign Court Goblin Squad Member

Ya, the drops part sounds familiar. Each expendable only has a single level as far as training goes, but is a level (think spell level in tabletop) from 1-9. The number of keywords on an expendable seems to equal to its level. You'll want to keep training better ones as you get up in your role level. Otherwise you can end up with low level expendables which are worse than your current attacks in some regards.

Plus the difficulty of getting certain ability score pre-reqs means you'll need to train stuff that isn't explicitly on the role's listed requirements. Expendables are one option for doing that. Skills (crafting or otherwise) are another option. Extra attacks beyond the 6 per weapon is another option to give you some choices (eg. a pvp setup, a solo setup, etc).

Note to self:
1) make time machine
2) buy Gary Gygax a thesaurus
3) come back to new timeline where we have synonyms for the word level

Sovereign Court Goblin Squad Member

v9

Use the same csv files above.

Added feat prerequisites, so the training should be much more realistic in terms of what you need to actually train that feat. Use 'Info' buttons to find what the prerequisites are. As far as functionality goes the only things missing from training are achievements and role levels.

Achievements will likely just be a list that you can print out to see what to grind. Kinda hard to simulate grinding on a calculator ;).

Role level prerequisites (eg. the feat needs Fighter 10) will require parsing different files to see what is needed to get role levels (eg. Fighter 10) in the first place.

Would also like to add save/recall buttons so that you can have a starting point that you don't need to train up to every time.

Edit: updated link to fixed version after bug was found. Though in this version there are some feats that Train All doesn't train for some reason. Needs more investigation. Anyways, it should be working for the most part.

Sovereign Court Goblin Squad Member

Looks like minor typos in the csv files which my parser isn't smart enough to handle were causing the issues, mostly extra spaces at the start of the entries. Sent pm to Stephen with a list of the typos.

Sovereign Court Goblin Squad Member

1 person marked this as a favorite.

v9a

Special version to (hopefully) deal with the specific typos without needing to make new csv files. Also added the ability to sort how your trained feats are printed out (by type, by name, by level, by xp cost). Default is feat type, but this can be changed in the Advanced tab.

Sovereign Court Goblin Squad Member

1 person marked this as a favorite.

v10

Improved how the Train All works behind the scenes to be a little faster. (It loops over feats and attempts to train them. Previously it looped through everything over and over. Now it stops looping over feats which are trained to max level, thus stopping useless attempts to level them up further.) Renamed the button Train All Feats to Max.

Achievements are now added as those are easier than adding roles for the moment. You can see needed achievements for a given feat by pressing Info. You can see all achievements needed for what you've trained by pressing Print Needed Achievements. For training purposes the calculator assumes you meet these achievement prerequisites.

(I need to correct some of the logic for 'or' cases, but that's in the todo list. Shouldn't be a huge deal for now.)

This assumes that I am interpreting achievements correctly. I assume you don't spend achievements, but rather it is simply like a rank you've achieved and the feat just requires that you've achieved a minimum rank of a certain type.

Sovereign Court Goblin Squad Member

v11

Bit of an experiment here. Running the program should no longer pop up a terminal (the black screen) and print outs no longer go to the terminal. Instead a new window will pop open with the information. The window sizing needs some tweaking, but it should look a little nicer than just terminal text.

Also, it's all in a .zip file, so you'll need to unzip it first. Double click the .pyw file to run. Contains the csv_files from above.

The reason I'm switching to .zip files is that the code is becoming a little long for a single file and will soon require a cleanup where I place different parts of the code in different files for organizational purposes. This way you only need to download a single .zip file which contains everything.

Sovereign Court Goblin Squad Member

v12

Just unzip and if you have python 3 installed it should work.

Changelog:

*minor functionality additions to the calculator tab (sqrt function). Technically the calculator can handle any power if you know how python evaluates expressions. To get 9^2 just put in 9**2

*expanded the size of buttons to improve the aesthetic

*added a craptastic icon to the top left corner of the window. I spent a whole 20 seconds in paint working on the icon :p For now it's hardcoded that you need the icon *evil grin*.

*moved a few things around on the training tab

*on the training tab you can now select an ability score. Press the new Suggestions button and a window will pop up with the most efficient feats for you to train to increase that ability score. Efficiency is increase/xp cost for the next level. If you train up a level, you'll need to recalculate (sorry, making it dynamic would be a PITA at the moment).

Roles (Ftr, Clr, etc.) not yet included as I want to do a code cleanup first.

Sovereign Court Goblin Squad Member

v13

Hopefully I've included all the correct parts. Double click NPC.pyw to run. The first time you run it the program may take a couple of seconds to load as it's compiled. (You may see a __pycache__ folder appear with files in it similar in name to some of .py files here. Don't delete that or it'll have to recompile each time.)

v13 changelog:
==============
*Broke code into multiple files to make future code management easier.
*Suggestions now include free (0 xp) feats. Increase/xp is listed as 'inf' for those cases. Mostly applies to Strength.
*Fixed a bug where if you trained up a feat and pressed Info the lowest level of that feat to require an achievement would display the achievements needed for the currently trained level instead. Let me know if you see the printed out information given by Info change at all when training feats.
*Renamed csv_files to feat_files. Future versions will include role_files and possibly other csv file input, so preemptively changed to avoid confusion.
*Moved some items on the training tab so that the bottom right of that tab can be better used for roles. This should leave room for 7 roles to be displayed there (Ftr/Rog/Wiz/Clr/Ari/Com/Exp).

Goblin Squad Member

Are there any plans to update the data files with the most recent updates?

Sovereign Court Goblin Squad Member

Yes. Been pretty busy lately so haven't had much time. I haven't seen the updated spreadsheets yet, but if someone can pm a link I can do it in the next few days.

Goblin Squad Member

1 person marked this as a favorite.

No need for private message: it's public anyway.

Pathfinder Online Public Data

Goblin Squad Member

T7V Jazzlvraz wrote:

No need for private message: it's public anyway.

Pathfinder Online Public Data

Isn't that kind of information hidden from players or blocked by NDAs in most MMOs game development ?

Goblin Squad Member

1 person marked this as a favorite.

PFO has been very open with info from the game, unlike most developers. So yes, data that would in others game be concealed from players or covered under an NDA is in PFO openly shared with the players and there is no NDA.

Goblin Squad Member

Giorgo wrote:
Isn't that kind of information hidden from players or blocked by NDAs in most MMOs game development ?

Ryan has consistently indicated that he believes any information that is in your client will be available to people that want it badly enough. Rather than permit the development of a class of players with more information than everyone else, their philosophy appears to be that (where possible) if anyone can get it, everyone should have it.

Sovereign Court Goblin Squad Member

Thanks for the links all. I know it's public. I'm just too lazy to go searching for the link :p. Will post update in a bit.

Sovereign Court Goblin Squad Member

v14

Haven't extensively tested this version so please let me know if you find any bugs. You'll need to extract before running.

A bunch of behind the scenes logic was changed to clean up the code a little. There will also be various extraneous files from me playing around that you don't need for this version, but I'm not going to bother removing them as the file size is negligible. As usual, run with NPC.pyw.

Changelog:
==========
*Added a simple logic handler to deal with and/or logic in prerequisites. Should be robust enough to handle any case in the spreadsheets we've seen...hopefully.
*Suggestions pop up now has a column listing prerequisites to train the suggested feats.
*New input files.

Sorry, roles aren't included this build.

Goblin Squad Member

In Pathfinder Online (Public) :
Prerequisite for Survival (or Sense Motive) skill lv 4 : Adventure 9
Prerequisite for Survival (or Sense Motive) skill lv 5 : Adventure 13
Prerequisite for Survival (or Sense Motive) skill lv 6 : Adventure 8
Prerequisite for Survival (or Sense Motive) skill lv 7 : Adventure 13

Fult is confused by the way the Southerners keep track of their adventure experience.

Sovereign Court Goblin Squad Member

Fult wrote:


In Pathfinder Online (Public) :
Prerequisite for Survival (or Sense Motive) skill lv 4 : Adventure 9
Prerequisite for Survival (or Sense Motive) skill lv 5 : Adventure 13
Prerequisite for Survival (or Sense Motive) skill lv 6 : Adventure 8
Prerequisite for Survival (or Sense Motive) skill lv 7 : Adventure 13

Fult is confused by the way the Southerners keep track of their adventure experience.

The calculators blindly read the info in the csv files, so oddities like that will followed even if they don't make sense. I suppose it would be possible to sort them out in a reasonable way automatically in the code, but long term that'll likely be fixed in the GW spreadsheets anyways.

Goblin Squad Member

2 people marked this as a favorite.
Nightdrifter wrote:
The calculators blindly read the info in the csv files, so oddities like that will followed even if they don't make sense. I suppose it would be possible to sort them out in a reasonable way automatically in the code, but long term that'll likely be fixed in the GW spreadsheets anyways.

Blind reading... weird skill... Fult will tell Phaeros wizards the interest to train in this.

<Fult shakes his head>

Fult knows well Nightdrifter craft great devices and if they do not work perfectly it is because silly goblins do foolish things with components.

But now, goblins know Nightdrifter and Fult are watching them. <Fult grins>

Sovereign Court Goblin Squad Member

2 people marked this as a favorite.

v15

v15 changelog:
==============
*Changed the default Max Durability to 20 on threading tab based on a dev comment in the alpha forums.
*Added role printout buttons to the training tab. Note: Roles are not yet added to feat prerequisites and your role level is not calculated. This is simply a printout of what is needed for each role level instead of having to consult spreadsheets. No attempt is made to alphabetize the list of roles. The ability scores may be listed in the wrong order for some roles.

Sovereign Court Goblin Squad Member

After a bit of debugging...

v16

v16 changelog:
==============
*Fixed the mixed up ability score prereqs for some roles (wizard Dex and Int were swapped).
*Changed the scale of cells in role printouts.
*Roles can now be leveled up. They're still not counted for prerequisites, but roles are almost done...
*Ability scores aren't yet checked as far as roles are concerned.

Goblin Squad Member

Nightdrifter, how long untill we see something like this? GW2 calculator ;)

Just kidding, thanks for all the work, it is a great help already. PFO is going to need some serious calculators!

Sovereign Court Goblin Squad Member

Tyncale wrote:
Nightdrifter, how long untill we see something like this? GW2 calculator ;)

A while. My web coding skills are ... what's another word for 'non-existant'?

I've intentionally restricted some things due to 2 design goals:
1) Default python only. This is so that users don't need to install anything beyond default python to get it to work.
2) No hard-coded data. I want to make sure that if the devs tweak various spreadsheets that the calculators can be updated easily without even knowing the details of the tweaks. So it has to read in the input every time.

The scope of the project is basically "well, here's a list of what I'd like to have, but that'll take a ton of work, so here's a minor update for now". I don't have a Mac so it may be a while until there's a Mac compatible version.

Goblin Squad Member

I think it is amazing that a project that is so early in its development already has a calculator. I think that bodes well for both the game and the community. Any RPG that does not need a calculator of some kind is not an RPG!

(opinions may differ)

Goblin Squad Member

Nightdrifter wrote:
...what's another word for 'non-existant'?

How about "tragically absent"?

Goblin Squad Member

1 person marked this as a favorite.

Can you make the text in the various reporting windows selectable so that it can be copied and pasted elsewhere? That would be a huge help in various efforts. (Or, provide the option to output those reports to the console window, where the text is selectable anyway.)

Thanks for all your work on this. It's an extremely useful tool.

Goblin Squad Member

1 person marked this as a favorite.

I've noticed that some of the feats that have "Or" requirements are reading in the calculator as "And" requirements.

Case in point:

Lunge
Prereq: Heavy Blade Weapon Proficiency OR Elven Weapon Proficiency

If I train Heavy Blade Weap Prof and attempt to train Lunge, I meet the "Missing prerequisites!" training note.

Daz

Sovereign Court Goblin Squad Member

@Guurzak:

I was going to have something like that as of v14, but it's not working properly. Right now the code is commented out. What I want is for the message windows (the pop up windows) to have an entry field for the user to put a name for a text file in. Then they hit a button and it's saved as a text file. One way I tried was simply refusing to grab that text file name and they all were being named after a default value instead of the user specified name. The other way was putting that entry field in the wrong place, covering up part of the displayed info. There is also a way to output as postscript images, but that's only ever given me blank images. When I've figured out a solution it'll be implemented.

@Dazyk:

That's in my current bug list. Not everything has been converted over to the new logic handling code.

1 to 50 of 218 << first < prev | 1 | 2 | 3 | 4 | 5 | next > last >>
Community / Forums / Paizo / Licensed Products / Digital Games / Pathfinder Online / Simple PFO Calculators All Messageboards

Want to post a reply? Sign in.