Skip to content

danlangford/tableflipper

Repository files navigation

Table Flipper v0.0.8-SNAPSHOT

// TODO update doc in regards to the large arch change from 0.0.8-SNAPSHOT

Build Status

A way for Dungeon Masters to collect, build, and roll on their collection of favorite tables. the recursive template feature allows table results to mention dice rolls or other table results that all get resolved into one nice easy to read message. currently it loads up tables from the 5e SRD.

Lets roll for a random encounter. 18 Ok we are in the swamps so let me roll on that encounter table. 38 Eblis… Eblis… Eblis… looking for Eblis description. Here it is. You stumble across… let me roll4 eblis. (resolve) In their huts you find some treasures, let me roll a couple times. 59 67 82 You find a rotting quiver with …roll3 silvered arrows. You find a case with …roll8 blocks of repelant. You find a wodden tube with …roll2 gemstones.

— 8bagels
DMing Tomb of Annihalation

It took 9 rolls to determine that single random encounter. With Table Flipper we can resolve that in 1 click. You can write a table for the checking of a random encounter and have that table (on 16-20) reference the table of encounters. The Elbis entry can reference the treasure drops table 3 times and the roll for variable amounts can all be handled right in line. I can now click 1 time and see this on my screen:

RANDOM ENCOUNTER in the SWAMPS.

Creature: 1d4+1=4 eblis living in reed huts built on stilts above a swampy marsh or pond. Depending on the threat level of the party the elbis may trade information or fight.

Treasure:

  • a rotting quiver containing 1d10=3 silvered arrows

  • a case containing 2d12=8 blocks of insect repellent incense

  • a stoppered, wooden tube containing 1d4=2 gemstones (50 gp each)

If this encounter occurs while the party is camped, the eblis sneak into the camp and try to drag one character away.

— 8bagels
Reading Table Flipper output

This preserves the more procedurally generated content without the cost of time and interruptions.

If you have Java 11 installed then this should be as easy as getting the latest release. Start with the tableflipper-x.y.z.jar package. If double clicking it does not run the jar then on a command line try java -jar tableflipper-x.y.z.jar. For those that want to run it solely from the command line then just run java -jar tableflipper-x.y.z.jar -cli.

You can place your own table yaml files in a subdirectory of your home directory called tableflipper.

The structure of these files are "Tables" and "Descriptions" here is a very simple table yaml file.

simpleExample.yaml

tables:
  encounter:
    roll: 1d20
    results:
      1-17: nothing happens
      18-20: you encounter <table wandering>
  wandering:
    roll: 1d12
    results:
      1-4: <roll 1d2+1> firesnakes
      5-9: <roll 2d4> <table mephitType> mephits
      10-11: <desc azer>
      12: <desc gargoyle>
  mephitType:
    oneOf: [mud, smoke, steam, dust, ice, magma]

descriptions:
  azer: an Azer shedding bright light in 10 foot radius and weilding its Hammer in both hands looking quite menacing
  gargoyle: a gargoyle surrounded by <roll 2d6> dead rodents. When the gargoyle becomes bloodied then <table encounter>. Treasure is a jar full of <table mephitType> and <roll 3d4> sp

And there are many examples in 5e-srd-5_1.yml.

the core package is the meat and potatoes of the Table Flipping

the cli package is a command line interface. currently this is not the main class of the jar. // TODO make more accessible

the ui package is a JavaFX interface. currently the jars main class

interesting Entry points (Main methods) to run:

dan.langford.tableflipper.cli.TableFlipperCli
dan.langford.tableflipper.ui.TableFlipperApp

you will need Java 11+ to run this. Maven 3.6+ is required to build this and that should be taken care of by the included maven wrapper ./mvnw

💡
you can obtain Java 11 from AdoptOpenJDK, sdkman, or Homebrew.

run

./mvnw package

look for output

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  17.513 s
[INFO] Finished at: {localdatetime}
[INFO] ------------------------------------------------------------------------

now you can run

java -jar target/tableflipper-0.0.8-SNAPSHOT.jar

and copy that Jar to wherever you need them.

and at least in MacOS I can just double click the tableflipper-0.0.8-SNAPSHOT.jar to have it executed.

by default the builds run with multiplatform profile enabled to have the ui fatjar include all the javafx graphics for all three platforms. if you would like to save just a few MB you can disable that.

./mvnw package -P '!multiplatform'

Dan "8bagels" Langford

About

(┛ಠ_ಠ)┛彡┻━┻

Resources

Stars

Watchers

Forks

Packages

No packages published