Natural One 1.2

Or Natural One.2, whichever sounds cooler.

Time between semesters is boring, so I’ve been working on this. The big changes here are behind the scenes things to support game systems with differing rulesets. Ideally the user shouldn’t have to worry about any of that, and it should all be determined as-needed. Most of the rest of the changes are in making output and UI look prettier.

For the data files, Natural One no longer has only one that it tries to read from. Instead, it looks for a meta file that then references the data files, and loads all the listed files. This allows for new systems to be added with minimal effort. There have also been a lot of changes in the data files themselves to be more generic and flexible.

As a result of a lot of these changes, Natural One now supports Starfinder in addition to Pathfinder.

  • Making things look prettier:
    • Weapon names now display better in roll output. For example, instead of displaying “Rolled 1 hit with a gauntlet, spiked”, it’ll now say “Rolled 1 hit with a spiked gauntlet”. Much nicer. This is done through an optional “display” key in the data files. If this key is present then it’ll be used for roll output, otherwise it defaults to the existing “name” key.
    • Weapon names that have capitalization in them (acronyms, for example), are no longer converted to lowercase. This is also done with an optional key (“no_format”).
    • “A” vs “an” is now checked.
    • Improved display of damage roll output, particularly with criticals.
    • Add Roll button in the Template dialog now changes to Edit Roll in the appropriate conditionsl.
    • Length-restricting input fields now center input text.
    • About dialog now looks nicer.
    • Simplified and fixed alignment issues in the combat tab.
  • Weapon improvements:
    • Added support for multiple different die in one damage roll.
    • Added proper support for double weapons.
    • Added proper support for weird things like the Autograpnel that have fixed damage added after roll (who decided that was a good idea? only thing in the game I’ve found that uses that).
    • Added support for extra rolls on critical attack, separate from simply multiplying the base roll(s). Starfinder uses this quite a bit.
  • Starfinder support:
    • Added option in rolling attacks to confirm criticals or not.
    • Many of the weapon improvements were focused on adding Starfinder support.
    • Template rolls now have an option to only be rolled on critical hits.
    • Added Starfinder data file.
  • Code stuff:
    • Minor refactoring.
  • Bugfixes:
    • Fixed damage not rolling criticals properly for some weapons
    • Fixed output text view not wrapping properly.


All code is on Github:


Natural One

I forgot to post about the first release of this, so here we go with 1.0.

Natural One is a dice roller designed primarily for the Pathfinder tabletop roll-playing game, though it is of course usable as a general purpose dice roller.

The interface is organized into three panes, each with their own purpose. The output panel on the right is shared across all three panes, so it’s always visible; new rolls are simply prepended at the top of the panel.

The first pane is for simple dice rolls. This is just the usual stuff; d4, d6, d8, etc etc. You can also set a custom dice number (d100, for example). Nothing really special here, just normal dice roller features here.

Screenshot from 2018-05-08 20-05-18

The second pane is where interesting stuff happens. The “Attack Roll” section lets you quickly roll attacks, with the number of attacks, modifiers, and critical range all configurable. Critical fails optionally stop the rolls, and if a critical is rolled the program automatically rolls a confirmation.

The “Damage Roll” section is more involved. This has every weapon in Pathfinder, arranged by section. This includes both the normal stuff as well as off beat stuff like high-tech content. This is intended to simplify rolls so that you don’t need to look up damage die in a rulebook or wiki or whatever first.

Screenshot from 2018-05-08 20-11-12

The third pane is focused on user-entered data. “Templates” are basically just user-configurable sets of rolls. This is intended for more complex rolls that might be time-consuming to do manually. Rogue with base weapon damage, elemental damage, and sneak attack damage for example. The templates can also be set as to whether or not criticals apply to certain rolls, so the sneak attacks in the previous example can be properly set to not be multiplied.

Screenshot from 2018-05-08 20-19-27

Screenshot from 2018-05-08 20-19-46

The initial release, version 0.1, was finished a couple weeks ago, but there were some things that I didn’t feel were great so version 1.0 is up now. I was really tempted to name the second release Natural Two though.

Here’s a brief list of changes from 0.1 to 1.0:

  • Improved roll output. The “title” of each roll is now larger than the rest, for more distinction. Some spacing issues were also fixed.
  • Modifiers were improved for attack and damage rolls. Previously it required the user to enter in the exact number of modifiers as attacks. Now it takes the last one and expands it out as needed, so there’s always a value to use. Modifiers on criticals are now also handed properly.
  • Added a ton of weapons. Previously it only had the core simple, martial, and exotic weapon categories. Now there’s also all the Eastern, Stone Age, Bronze Age, early and advanced firearms, siege engines, modern firearms, and high-tech weapon categories.
  • To go along with the previous change, the weapon selection was terrible. An alphabetically-sorted drop down was functional, but not nice at all to find anything. Now a list is used with each category nicely organized and expandable/collapsible.
  • Minimum damage is now a user-configurable thing.
  • Minor UI improvements.
  • Some boring internal stuff.

Code and downloads are, as always, all over on GitHub: