BeyondLinkViaChrome
Transfer data from D&D Beyond to Talespire in near real time using Chrome Extension.
| Date uploaded | 4 years ago |
| Version | 1.2.0 |
| Download link | LordAshes-BeyondLinkViaChrome-1.2.0.zip |
| Downloads | 256 |
| Dependency string | LordAshes-BeyondLinkViaChrome-1.2.0 |
This mod requires the following mods to function
bbepisTaleSpire-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.10README
Beyond Link Via Chrome Plugin
This unofficial TaleSpire plugin for transferring data from D&D Beyond to Talespire in near real time. While the Beyond Link Plugin uses a General Data Parser for allowing data from different sources, it does not parse D&D Beyond Data well because the JSON data has a list of features that are part of the character but not the stat totals. This means the parser needs to perform calculations to obtain the totals. The Beyond Link Via Chrome Plugin changes that. It is specifically for D&D Beyond only but it is able to read the final totals from the D&D Beyond characters. This plugin, updates current HP, max HP, AC, used HD and total HD. This plugin also updates DSM files with ability score rolls, save rolls, skill rolls and attack rolls, if you want to use the Dice Selection plugin in conjunction with this plugin. However, if the Dice Selection plugin is not used, this plugin can still be used to get the benefits of updating the main stats.
The design uses a 3 component solution: the Chrome Extension, the Beyond Link Server and the actual TaleSpire BeyondLinkViaChrome plugin. However, the Beyond Link Server is mostly transparent to the user - it is started by the plugin and closes itself automatically if TaleSpire is stopped. However, this 3 component implementation means that the TaleSpire plugin portion is never waiting for data. The data exchange is done between the Chrome Extension and the Beyond Link Server. Since the Beyond Link Server runs outside of TaleSpire (stand alone), if the communication fails or is slow it will not have any direct impact (i.e. block) on TaleSpire GUI (beyond general device resources). The Beyond Link Server makes any data changes available to the plugin via local files which means any failures to update statistics will just make the plugin use the old value and pick up the new value on the next pass.
Change Log
1.2.0: Modified extraction script to avoid javascript crash if character sheet it is not on the attacks page. Will not be able to read attacks rolls but will not cause crash. 1.1.0: Added refresh rate selection. Ensure that Chrome refresh rate is same. 1.1.0: Added ability to assign extracted file values to stats. 1.0.0: Initial release
Install
- Use R2ModMan or similar installer to install this plugin.
- Open Chrome to the address chrome://extensions/
- Ensure Developer Mode is on
- Use the Load Unpackaged option to load the Chrome Extension from the BeyondLinkChromeExtension folder of the installed plugin
Note: The Chrome Extension has, intentionally, not been packaged so that the user can see and potentially edit what the extension does.
Customization
The R2ModMan configruation for the plugin has settings for the stat names (single string separated by commas) and settings for which files are used to populate each of the stats. Each setting is a string of two files names - the current value and the max value. The files are generated by the Beyond Link Server based on the Chrome extracted data. Any data that is not determined to be a DSM roll is converted into a file (using the same hierarchy name as in the JSON file extracted by Chrome) and be used by this setting to assign it to one of the 8 stats. If a value, such as AC, does not have a current vs max, just use the same file twice since each setting must specify a file for the current and max value. Only numeric data can be stored in stats. Leave slots blank in order to not use them.
Usage
There are two mode of using this plugin: Basic and Advanced.
Basic Mode involves using this to update the current HP, max HP, AC, used HD and total HD on minis. Advanced Mode involves also using the plugin, in conjunction with the Dice Selection Plugin, to make rolls.
Basic Mode
- Start TaleSpire
- When the plugin starts a new window will appear. Do not close this window, just Alt-Tab (or otherwise) switch back to the TaleSpire screen.
- Rename a mini to match the D&D Beyond name.
- Open a D&D Beyond character, in the Chrome browser, that corresponds to the name used in step 3.
- Click the Short Rest button to open the Hit Dice information. This is needed in order to obtain properly Hit Dice information.
- Wait around 10 seconds and the mini's stats should synchronize. Updates occurs every 5 seconds or so.
- When TaleSpire closes, the window that opened in step 2 will disappear within about 10 seconds.
Advanced Mode
The Beyond Link Via Chrome plugin automatically makes corresponding DSM files used by the Dice Selection plugin. These are also updated in near real time but the issue is that Dice Selection plugin only reads the configruation files on startup to avoid introducing performance hits. This means by the time the plugin synchronizes the D&D Beyond roll information, Dice Selection plugin has already read the old configuration and the updated rolls will not be used until next time.
There are two work-arounds to get your D&D Beyond rolls updated with Dice Selection plugin:
Restart Talespire
One way to update the rolls from D&D Beyond is to start Talespire using the instruction in the Basic Mode and then wait about 10 seconds for the data to update. This will also update the DSM files. Now restart Talespire. Please note that exiting to the main menu is not sufficient, you must close down TaleSpire. Restart Talespire and your rolls will be updated.
Typically this is the easiest way to update the rolls and since rolls don't typically need to be updated frequently (usually only when you level up or get new equipment), restarting is not a big deal.
Learn Mode
It is possible to run a component of the Beyond Link Via Chrome stand alone to get it to sync all the D&D Beyond rolls before starting TaleSpire. The steps for this are as follows:
- Start the BeyondLinkServer (found in the plugin directory) with a parameter of Learn
BeyondLinkServer Learn - Open a D&D Beyond character in the Chrome browser.
- Click the Short Rest button to open the Hit Dice information. This is needed in order to obtain properly Hit Dice information.
- Wait around 10 seconds and the character's information should be synced. You will see entries for all the found information identified in the BeyondLInkServer window. This process has created the related DSM files prior to TaleSpire being started so the Dice Selection plugin can get the latest roll information when it starts.
- You can close the BeyondLinkServer window.
- Start Talespire using the steps in the Basic Mode. Your rolls should be updated.
Note: You do not need to do this every time. You only need to do these steps when rolls change such as when you level up (and your proficient changes or you get an ASI) or when your equipment changes.
Limitations
- The tab with the D&D Beyond character must remain open in Chrome in order to get updates.
- The Short Rest dialog needs to be open in order to get correct Hit Dice information. If the Short Rest windows is closed, the Hit Dice informatation may be wrong.
- The Beyond Link Server component which takes data from Chrome and turns it into uable files by the plugin is currently single client only. Since all the communication is done in bursts with the socket being closed in between this is acceptable for a few characters. With larger parties it is suggested to distribute the updating jobs between the players.
- Some of the current information may not be optimized for multi classing characters.
CHANGELOG
3.1.1: Updated for compatibility with BR updates
2.3.0: Updated for compatibility with BR Slab Browser update
2.3.0: Removed dependency on Stat Messaging which was only used to parse the asset name
2.3.0: Added template for creating DataLink projects
2.2.0: Better logging to the BeyondLink Server console
2.1.0: Bug fix for Dnd Beyond page change
2.1.0: Bug fix for Beyond Link server start
2.0.0: Bug fix for BR HF Integration update
1.4.1: Corrected corrupted upload
1.4.0: Updated Beyond Link Server with LinkData handlers mechanism to allow Beyond Link Server to produce
many different files, with the beyond link data, for various plugins.
1.4.0: Updated Chrome Extension extraction logic to fix bugs and make it more robust.
1.4.0: No changes to the actual plugin DLL file (which remains at version 1.3.0)
1.3.0: Added port to server and R2ModMan configruation to allow using a different port.
Added Initiative and Move to the default configuration.
1.2.0: Modified extraction script to avoid javascript crash if character sheet it is not on the attacks
page. Will not be able to read attacks rolls but will not cause crash.
1.1.0: Added refresh rate selection. Ensure that Chrome refresh rate is same.
1.1.0: Added ability to assign extracted file values to stats.
1.0.0: Initial release