Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

[Script] Facility to Move RoundMaster Token States to a Copied JumpGate Campaign

1718973761

Edited 1718973908
Richard @ Damery
Pro
API Scripter
To support the   JumpGate  release to all Roll20 users, I am finalising a small extension to   RoundMaster   to support exporting   Token Statuses  from a campaign to a copy of that campaign created using the Roll20 campaign copying function. The Need:  In order to migrate an existing game from the current Roll20 platform to the new  JumpGate  version, the GM must use the Roll20 Campaign Copying function, selecting the new  JumpGate Beta Platform  during the process of making the copy.  However,  this function does not copy the APIs or the all-important Roll20  state  variable that holds the RPGM configuration and RoundMaster token status and effect tables. The RPGM APIs can easily be loaded from the Roll20 One-Click library. However, doing this creates a new, blank, state variable. The Solution:  I will release as soon as possible a version of  RoundMaster  that has two new commands:  --state-extract  and  --state-load API-name . Running the  !rounds --state-extract  command will create a "StateMule" character sheet that contains a JSON stringified version of the complete state object of the campaign in which the command is run.  This character sheet can then be "Transmogrified" (standard Roll20 function) to the copy campaign (for instance, one running on  JumpGate ) and then the  !rounds --state-load RPGM  command run in the copy campaign, which will restore the Roll20 state variable to the same state as the original campaign.   Note:  the  RPGM  is actually unnecessary, as the load will default to loading all RPGM API states and nothing else. !rounds --state-load all  will load the complete extracted state variable, including for non-RPGM APIs.  I cannot guarantee this will not cause issues. !rounds --state-load API-name  (e.g. API-name could be RoundMaster) would load the state for just the named API. Other than for RPGM APIs, case is significant to the individual API: it is suggested the case of the JSON text in the "state" ability on the StatusMule character sheet is examined for the correct case. !rounds --state-load API-name1 | API-name2 | API-name3 | ...  will load the states of each of the named APIs. The same case rules as above apply for non-RPGM APIs. As this is a RoundMaster command, only the RoundMaster API need be loaded and in use.  The rest of the RPGMaster suite is optional. Hopefully this capability will be in the next merge, to allow you all to enjoy  RPGMaster  with  JumpGate.  I'll post here when it goes live.  If there are any other features you'd like for this, let me know.
FYI, this has now gone live. Those with One-Click installs of RoundMaster should now be on v5.056 and able to use this feature to move an "in-play" campaign to JumpGate or any other copy of the campaign. Important note:  it must be a direct copy of the campaign, as this preserves the token and character object IDs (and for that matter, the relevance of the token states being moved!) Happy to respond if anyone has any issues.