Need a way to visually make a random choice from somthing on the canvas (a character, a door, an alley, etc...) that all players can see?
What is Ip Dip
The Ip Dip module name is based on one of many rhythmic counting-out-rhymes usually played by children to make a choice from several options. Some may know similar rhymes like 'One potato, two potato' or 'Eeny, meeny, miny, moe'.
The Ip Dip module is a GM/DM tool to randomly select one of numerous possible choices. The GM/DM places visual numbered markers on the game canvas for each potential choice, such as: directions to take, tokens to target, grid squares where something may 'spawn', etc... The markers are also displayed for the players to see, and once a random marker has been chosen, it is singled out on the canvas and also displayed as a chat message with a modified version of one of the Ip Dip rhymes.
How to use this module?
The functionality of this module can be initialized two ways:
- An editable key binding defaults to CTRL-I, which launches a dialog, or
- A macro can be created to launch the dialog using the following 'script' code:
const spawnDialog = game.modules.get("ipdip").spawnDialog;
spawnDialog();
Once the dialog has been initialized, clicking anywhere on the canvas will generate a numbered marker at the mouse cursor location. The marker will contain a large colored number, which identifies it from all the other markers. The marker also contains a smaller white percentage value, which represents the percent chance of that marker being randomly chosen. For example: given 5 markers, each marker will have a 20% chance of being randomly chosen.
It is possible to increase the chance for any given marker to be randomly chosen by hovering over the marker and scrolling the mouse wheel.
Once the GM/DM is satisfied with the options, click on "IP DIP" in the dialog box to make the random selection.
FYI
Nothing generated by the Ip Dip module persists. The dialog box, the markers nor the chat log messages are stored in any database. Refreshing the browser will reset everything.