Add buttons to run your Roll20 character's macros and sync its attributes on Google Sheets. Works with virtually any TTRPG system!

Latest Version

Version
1.1
Update
April 10, 2024
Size
184KiB
Developer
Category
Users
67
Rating
0 ★
Manifest Version
3
Web Store Status
Languages Support
English (United States)
See more
Permissions
Tabs
Identity
See more

Atom20 Extension

This chrome extension adds buttons to your character sheet on Google Sheets, so you can roll macros and track your character's attributes in Roll20! This lets you play virtually any TTRPG system!

GLOSSARY
-Macros: a pre-determined text, which Atom20 will post to the Roll20 chat when you click a button on Google Sheets.
-Attributes: these are a set of values (a current value and a max value), identified by a name such as \"hp\", which can then be displayed on a token in Roll20.

SETUP
Atom20 does not do anything unless you A) have both Roll20 and Google Sheets open, and B) the Google Sheets spreadsheet has a sheet named \"Atom20\" in it.
This special sheet is used to tell the extension where to find your character's attributes, and which macros to set up on the sheet.
A working example can be found here: https://docs.google.com/spreadsheets/d/1lqRLrOac2209-_Yt1RwX2X4cwTO17hgfjYKZNIwn4Xk/edit?usp=sharing
Start by copy-pasting the sheet named \"Atom20\" onto your own spreadsheet. Note that if the configuration sheet is hidden, the extension stops working until it is visible again.

1) Setting up which sheet to watch
At the top of the \"Atom20\" sheet, you will find two cells: \"character sheet name\" and \"character name\".
The \"character sheet name\" cell tells the extension which sheets to watch. If you are currently on a sheet which is not being watched, the extension does not do anything. The extension cannot watch the sheet named \"Atom20\".
The \"character name\" cell tells the extension what name your character has on Roll20: this is the character whose attributes will be updated by the extension.

1b) Setting up more than one sheet to watch
If you wish for Atom20 to watch more than one sheet, for example if you intend to use the extension to build a bestiary with the stat blocks of many different types of enemies, you can use keywords in the \"character sheet name\" & \"character name\" cells:
In \"character sheet name\", you can whitelist or blacklist certain sheets, by using the keywords \"include\" or \"exclude\", followed by a colon, and then followed by the list of sheets which must be included or excluded from the watch, separated by commas. For example: \"excludes:Index\" will watch every sheet except the ones named \"Index\" and \"Atom20\".
In \"character name\", you can input a single asterisk (\"*\") in place of the character's name. If you do, the extension will look for a character on Roll20 whose name is the same as the name of the sheet that you are on at the moment.

2) Setting up attributes
The attributes table on the left tells the extension which cells to watch. Any change made in the cells will be reflected in your character's sheet on Roll20.
Note 1: the character sheet on Roll20 must have the attributes declared, or they cannot be updated.
Note 2: changes only go one way, and updating an attribute on Roll20 will not be reflected on Google Sheets.

3) Setting up macros
The macros table on the right tells the extension where to put buttons in your character sheet. If you click a cell which has been declared to be a macro, the corresponding text will be posted on Roll20's chat.
Note: if you set up Atom20 watch more than one sheet, you might want part of the macro's text to be set up on the watched sheet itself rather than on the \"Atom20\" sheet. This is possible through the use of string templates. For example, if a macro's text is \"Hello, ${F12}\", and the sheet being watched has \"World\" in cell F12, then the macro will post \"Hello, World\" on Roll20.

EXAMPLES
Below, you can find example use-cases for Atom20:
-Character sheet: https://docs.google.com/spreadsheets/d/1lqRLrOac2209-_Yt1RwX2X4cwTO17hgfjYKZNIwn4Xk/edit#gid=0
-Bestiary: https://docs.google.com/spreadsheets/d/1ARw_AZhM7qhN416YJpM3pCX5uUPS3CqWqS1RTu-AWfY/edit?usp=sharing

To use those examples, go to \"File\" => \"Make a Copy\". You will not be granted edit permission on the public-facing files.


VERSION 1.2
In this new version, any character sheet app can now plug into the Atom20 extension.
While you have a roll20 tab open, every other tab will get an Atom20 global variable. Using this, other TTRPG app developers can ensure their app can send messages on roll20 easily.

You're an app developer and want to add an Atom20 integration to your website? Simply copy-paste this file into your project to get started: https://github.com/Trekiros/Atom20/blob/main/atom20.d.ts
Read more

Source Manifest.json

{ "action": { "default_icon": { "128": "images/icon/icon128.png", "16": "images/icon/icon16.png", "24": "images/icon/icon24.png", "256": "images/icon/icon256.png", "32": "images/icon/icon32.png", "48": "images/icon/icon48.png", "64": "images/icon/icon64.png" } }, "background": { "service_worker": "chrome-background.js", "type": "module" }, "content_scripts": [ { "js": [ "chrome-content.js" ], "matches": [ "" ] } ], "description": "Add buttons to run your Roll20 character's macros and sync its attributes on Google Sheets. Works with virtually any TTRPG system!", "host_permissions": [ "" ], "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAif2PIq3ip14mXIwGUchBmY5TaUDrZp6X+c3zLOpK+GWQAPsl5eOAjNsJX6tbT2Y03COPvqUvM/hZcA7tbipEg16lSJ2YchAZ9yuIj+acKs+IynE2RWLZRu5xmCN0SqhI0aQrnYJItQU9r+KzdXp8VPm+BRjdfAXRFAMSg4B9yog0bNafQOzo8Pi+Sv2Y0Qtt9rL5cBfZKGpZHONT+SYKMfwTIGf/rInm1WYezlkZa2L1cmUUYNjXq5z0nQtjeEM0Ic+XBAGqsKw9uXTWrigramgb3uepDBIPsKnrnGMPLtgbFAe0kcpB8F3vx3tyKlg9j6A/Xa0TL4W6cugXf3z+ZwIDAQAB", "manifest_version": 3, "name": "Atom20", "oauth2": { "client_id": "642932630026-mt1ksqfrlgulc7hjlu8trci7ee8o65dj.apps.googleusercontent.com", "scopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly" ] }, "permissions": [ "tabs", "identity" ], "update_url": "https://clients2.google.com/service/update2/crx", "version": "1.1", "web_accessible_resources": [ { "matches": [ "\\u003Call_urls>" ], "resources": [ "src/*" ] } ]}
Read more

How to download and manually install Atom20 extension for Chrome

Looking for a way to install Atom20 extensions for Chrome, you can search for them in the Chrome Web Store, clicking the "Add to Chrome" button, and following the straightforward process.

However, you may need to install Atom20 extensions manually, this article outlines two simple methods to effortlessly install Atom20 extensions, whether they come as unpacked folders in compressed formats like .zip or as .crx files.

Method 1: Download Atom20 extension and manually install through Drag &Drop

If you ever need to manually install a Atom20 extension for Chrome, don't worry, it's a simple process. Just follow these easy steps, and you will have your extension ready to use in no time.

Step 1: Download the Atom20 Extension by clicking the "Download CRX" button on the website.

Look for the Atom20 extension you wish to install. Go to the website and download the Atom20 extension package, which is usually a .CRX file and comes in a zipped file. Here ".crx" file is the format for Atom20 extension that contains all the data.

Step 2: Extract &Arrange Files

Once the file is downloaded, extract that file into its own folder. Similarly, give that extension files a permanent home. In other words, keep it in a folder that you don't accidentally delete it because these files will be needed to make that extension work.

Step 3: Go to the Chrome Extensions Page

Open Google Chrome and in the address bar, type chrome://extensions; it will open the Google Chrome extensions page. Make sure that "My extensions" is selected in the sidebar.

Step 4: Drag and Drop the Extension

Now, go to the folder where you extracted the Atom20 extension and drag &drop the extension file from there anywhere onto the extension page within Google Chrome.

Step 5: Complete the Installation

Once you drag and drop the extension file, follow the steps that Google Chrome takes you through. Similarly, if the extension file is of .crx file format, you will be required to review the permissions and then add the extension.

Now, you can manage that added extension as you would like to with any other Chrome extension that you added through Chrome Webstore. Its icon will also appear in the Google Chrome Menu on the right side of the address bar once you activate it.

Method 2: Download Atom20 extension for Chrome and install in Developer Mode

This is another method to install Atom20 extension manually, but the twist is that here, you install by enabling the developer mode option provided in Google Chrome. This mode is commonly used for testing extensions or running unpublished tools.

Step 1: Download the Atom20 extension file

Select and download the Atom20 extension by clicking the 'Download CRX' button on the website.

Step 2: Extract the downloaded contents

Convert the file to a ZIP file if it is in CRX format then extract the Atom20 extension zip file or folder that you downloaded. Make sure you extract it using the same folder name and keep it safely in another folder, so you don't delete it by mistake. The extracted folder will be needed to keep your Atom20 extension running.

Step 3: Open Chrome Extension Setting Page

In the address bar of Google Chrome, type chrome://extensions and open the Chrome Extension Page.

Step 4: Enable Developer Mode

After opening the Chrome Extension page, look at the top right side, and you will find the toggle option of "Developer mode."Simply enable that developer mode option.

Step 5: Load the Unpacked Extension

Once you enable the developer mode option, you will see the menu of Load Unpacked, Pack Extensions and Update. From that, select the option "Load unpacked."

Step 6: Select the Extension Folder

Once the pop-up opens upon clicking Load unpacked, select the Atom20 extension directory and click on the "Select Folder "button.

Step 7: Confirm and Install

After you select an extension folder of a Google Chrome extension you're installing manually, confirm its installation for the final time and let the installation complete.

Conclusion

Here we've made a step-by-step guide on How to manually install Atom20 extension in 2 ways. We hope this guide proves helpful.

Similar Extensions

icon

Roll20 Colourise Extension · Accessibility 67 11 ★ 483KiB

icon

R20Exporter Extension · Productivity 67 13 ★ 1.33MiB

icon

Wikipedia context search Extension · Productivity 67 0 ★ 25.17KiB

icon

Dad Jokes Generator Extension · Fun 67 0 ★ 26.35KiB

icon

Roll20 to TaleSpire Extension · Productivity 67 0 ★ 23.05KiB

icon

Group Member Data Extension · Social & Communication 67 2 ★ 37.97KiB

icon

Focused Reading Extension · Productivity 67 0 ★ 10.65KiB

icon

Bookmark Flow Extension · Productivity 67 0 ★ 27.99KiB

icon

Hop Extension · Productivity 67 0 ★ 208KiB

icon

Roll20 API and Sheet Autouploader Extension · Developer Tools 67 4 ★ 41.02KiB

icon

Forbainum Periodic Table Extension · Productivity 67 1 ★ 27.59KiB

icon

Likey Extension · Social & Communication 67 0 ★ 13.16KiB

icon

Crypto Prices in your favourite currency Extension · Productivity 67 0 ★ 25.42KiB

icon

Multi-Choice Paste Extension · Accessibility 67 0 ★ 48.19KiB

icon

Simple new tab icon Extension · Productivity 67 2 ★ 7.55KiB

icon

Delta Extension · Productivity 67 0 ★ 9.81KiB

icon

Rivet Extension · Productivity 67 6 ★ 41.27KiB

icon

Roll20: Click & Roll Extension · Productivity 67 5 ★ 102KiB

icon

VTT Bridge Extension · Fun 67 4 ★ 208KiB

icon

Roll20 Attack Template Extension · Fun 67 0 ★ 109KiB

icon

D&D Beyond Campaign DM Screen Extension · Fun 67 37 ★ 296KiB

icon

CrosKeys by CrosExperts Extension · Productivity 67 2 ★ 11.58MiB

icon

VIF close kiosk extension Extension · Developer Tools 67 2 ★ 16.62KiB

icon

D&D Beyond DM-Screen & Spell List Manager Extension · Fun 67 10 ★ 13.6MiB