~~~~What is this?~~~~
This is a percentile Roller program. Ever had to roll on a percentile table? Took forever right? Roll on this table, now roll on that table, now grab this book and roll on that table! Well now you can automate the whole process! Just create the tables you want, and run the program. Hit the button to have the program roll the dice on all those tables for you, and simply print out a clean, statements for the results!
It even has an attached Dice Box, so if you forgot your dice, you can just use this handy tool! It even lets you roll custom dice! Why do you need to roll a d27? Who the hell cares? You can do it anyway!
1.Make sure you have Java installed!
2.The first time it runs, it may not do anything. If this occurs it is just creating "tables.txt" so look for it!
-Also, if you type in the wrong name, it will by default load tables.txt
How to edit the table file:
This is really easy, and at the same time, easy to mess up.
1)The very first number of the file is the number of tables there are, if you add/delete tables, change the number. (The program can handle an infinite number of tables, but it might not be able to display all the buttons on the screen.)
2)Tables are preceded by a '#' sign. This signifies the end of the previous table and the start of the next.
3)Entries are in this format:[integer between 1-100]-[text to display] -the dash is crucial in this, also the the percentages must total 100, else the program will crash/exit.
-to add in a minor dice roll, use [amountddie+bonus] NOTE: to do a penalty, it must be given in negatives ex: [1d37+-3] will roll a 37sided die and subtract 3
-To roll on another table, use @[number of table] Example:
30-Treasure chest [1d4+1] gold @2 This means there is a 30% chance that "Treasure chest" will come up, it will replace [1d4+1] with a die roll, and it will automatically roll on table 2 (even if table 2 is called 'loot' or something.
4)The file is always ended with "#close"
If you want to play with the dungeon tables I was running at the meeting, here is the tables file.
Feel free to use this however you want, but please don't distribute.
Also, if you find any "bugs" please report them in this thread, also if you have any suggestions, go ahead and sound them off. (Don't get too carried away though)
-Added dice roll parsing
-Minor Change to button layout.
Heheh, well if you have any requests for new features or if you find bugs.
One thing I just added (as of 30 seconds ago) is the ability to add dice parameters such as [1d4] to your table and it will print out as a number. It can't do bonuses (yet) like [1d20+3] but that is in the works.
Scratch that, I got distracted while writing this and coded a quick little dice parsing/rolling system so now it accepts bonuses.
To answer your questions: Maybe. No.
When you say 'If "Human" is selected from Table 4, go to Table 7"' do you mean "if this event occurs, roll on this table'?
That would look like:
30-Human @2 (30% chance of it rolling a human, when it does it will automatically roll on the second table)
#Human class (assuming this is the second table)
Or are you talking about like functioning statements?
As for decimals and fractions, no. The program recreates rolling 2d10s (in a fashion) and will not (or in some cases cannot) do a decimal. I haven't tested it but if you put in a decimal, it will either crash/quit or simply truncate the decimal.
If you really need a fraction of a percent, just do what WotC does for their tables, If they want something to have a 0.3% chance of occurring (say a EL10 encounter in the wilderness) they would say "00 - roll on table X-2" and table X-2 would simply be your decimals multiplied by 100, so that EL10 Encounter would have a 30% chance. However you had a 1% chance of rolling to that table in the first place.
I could make a version that takes decimals but I don't really see the point. Why do you need 1000 possibilities anyway? The percentile roller is made to streamline d100 percentile tables.
Yep! When the program scans the line it sees the @ and says "oh hey, gotta roll on the table number that precedes this" regardless of where it is. So also make sure the @number is at the end of the line, because it will cut off anything that happens after that.
If you look at the sample one in the first post, one of the entries for table two has "@2" meaning it will roll again.
Be careful though, if you point at a table that doesn't exist, say @6 but you have only 5 tables, the program will simply won't do anything when it hits that line. And you might break the button too.
Could you upload some sample tables for us noobs to work with? I don't know if you have any .txt files that are generic like random treasure or something. I wouldn't ask you to post something that's specific to your campaign, or course. No need to spill secrets.
EDIT: See! Told you I was a noob. I found the table in the first post that you used at the meeting. Never mind.
"It is my wish to advance the cause of truth in the world only so much as I can advance understanding." -Dunkelzahn, Last Will and Testament