Interactive Map Companion Development GIST: <a href="https://gist.github.com/kjaegers/c5568730afb9ce2b45bfbafdfe8951fd" rel="nofollow">https://gist.github.com/kjaegers/c5568730afb9ce2b45bfbafdfe8951fd</a> (Note: InteractiveMapCompanion is not on Roll20's One-Click installer at this time) Updates V 1.0.2 (2020-07-24) - Initial release Introduction This API script was inspired by This Video by Nick Olivo (You should check out Nick's Channel - he has a number of well done Roll20 videos). In the video, Nick demonstrates using tokens with a special macro to create a world/area map that players can select to get information about the various locations you have defined. I really like the idea behind this system, but the setup for each token takes a number of steps and a little time. When I started building a map like this for the new campaign I'm working on, I decided that I needed an API script to automate some of the setup process, and InteractiveMapCompanion was the result. (The included default macro will produce chat output as above) Note that the provided macro is intended to be non-game and non-sheet specific - it should work in any game. That doesn't mean you need to use it, however. You can replace the contents of the macro to customize the look and feel of your POI details. Personally I use a PowerCards macro for my game. Requirements You'll need a character in your campaign called "Map Handler Dummy", and it should be controllable by all players (doesn't need to be in their journals). The character should have a token action that displays the location summary. Fortunately, this can be set up automatically by the script by running " !imc createdummy ". (Sample area map with map pins. Phandalin is "Discovered" while the others in the area are not) Creating Map Pins The process below would be used to create a single map pin. I normally drag out all of the tokens first, set the Represents and Name, and then use the !imc list command and it's buttons to do everything else): Drag a graphic out onto your map (I quite like Nick's method of creating a rollable token and setting the sides - I'm even using the same Skyrim icons on my map). Double click the token and set it to represent "Map Handle Dummy" Give the token a name describing the location (ie, Phandalin) Close the token details window Keep the token hilighted and type "!imc describe " followed by the short description text for your map pin Either: Type "!imc createhandout Token Name" (case sensitive) in the chat window or Type "!imc list" in the chat window and click the "Fix" button next to the name of your map pin Type "!imc list" and click the scroll next to your map pin to open the handout and fill in details. Commands to Use While Working on Your Map There are a handful of commands that can assist while setting up your map: !imc showall Moves all map pin tokens to the Token layer for easy editing !imc hideall Moves all map pin tokens to the GM layer !imc setlayers Moves discovered map pins to the token layer and undiscovered map pins to the GM layer. Commands to Use During Play The easiest thing to do is run "!imc list" to display the list of map pins and select the buttons from there: Clicking the magnifying glass will "Discover" the location for your players. Clicking the construction sight (best emoji I could come up with) will cause your players to "forget" about the location. Clicking the scroll will open the associated handout for you to view/edit. Alternative to clicking on the icons on the list, you can: !imc discover Will operate on selected tokens OR include the (case sensitive) name of the map pin (This is what the magnifying glass runs). !imc forget Will operate on selected tokens OR include the (case sensitive) name of the map pin (This is what the construction sign runs). Suggestions I have a bottom bar macro for "!imc list" so I can pop it up whenever I need it... Since this command covers most of the uses of the script, I generally don't need to bother with the other commands. I use Token-Lock and a modified version of a script created in another one of Nick's videos to trigger token-lock when I move the player ribbon to my world map page (or any other page I'm using the IMC on). I also use this script on my landing page and on town maps for both locations and for details of important NPCs the players have met. Notes As always, feedback, bug reports, or suggestions for improvements are always welcome.