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 .
×
May your rolls be merry + bright! 🎄
Create a free account

Custom Compendium work around for homebrew?

So currently my group is playing a completely homebrewed d20 system. We are in the process of making our own custom character sheet and I had a thought on compendiums. I know that a custom compendium is off the table, being more complicated than people think or whatever, but is there a way to make a compendium of sorts within our campaign and reference it with the character sheets? Some of my thoughts on how to go about this: Make a handout sheet listing all of the spells, then referencing the handout instead of the compendium for the character sheet? Creating a hidden compendium in the character sheet code and referencing said code? Or, and this one is a bit far fetched, is it possible to reference a compendium from off-site, like on a private website or google docs dropbox? Any insight would be greatly appreciated, and I hope this inspires someone cleverer and better at coding than me to brainstorm a solution to compendiums.
1580335988

Edited 1580336170
GiGs
Pro
Sheet Author
API Scripter
The first of your options isnt possible except with an API script (A pro subscriber perk). But you need to be Pro to make a custom sheet, so that might not be an issue. It's probably a bit clunky though. The third options is not possible natively. It is possible to fake it if you're webdeveloper, but you wont be doing it in the sheet code. You'll be making an external site, and probably a browser extension to inject into roll20. It's not a good approach.  The second option - make a hidden compendium in your sheet code - is the easiest and probably best. But it depends exactly how you see it working. You can't drag and drop things from the "compendium", but you can have data in the sheet code that you can access. For instance, you could have a weapons dropdown, and when you select the weapon, it fills in all the weapon stats properly. Likewise for spells, equipment, feats, whatever. You could also have a View Compendium tab, where you enter an item name on the sheet, and it shows you all data associated with it - and could have a button to print that to chat. So if you are willing to do the work, you can get all the functionality of the compendium, but you build the interface to it with the sheet. The code for this isnt actually that hard, but getting all the data written up in the right format might be a chore if there's a lot.
1580338103
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
If you are building a custom sheet, then I am assuming that you have API access. If so, you can build a pseudo-compendium using a script like ChatSetAttr, which allows you to use the API to write to character sheets. Here is an example I created to write SRD character archetype abilities to the Shaped Sheet. Although it would take an immense amount of work, it could be done. You could also look at the Shaped Companion , which contains the SRD spells and more in JSON(?) format, allowing you to programatically add and remove spells and monsters, for example. It's all geared toward 5e, but the principle is sound if you have a good scripter in your group.
1580341079

Edited 1580341221
For the system I play (Das schwarze Auge) someone tried to build the compendium into the charactersheet. This is good for the basic stuff, but not for the nuanced advanced bits of bonusses for specific rolls under specific conditions - and those are many in this system. I use hundreds of handouts as a custom compendium. There is no interactive thing with the character sheet. I mostly use it for rules reference. I started to implement dice functionality in the spell handouts. Then you can link from the charactersheets bio&info to the rules they need to have quick access to. Works good so far and is well received even by the not so tech-interested players. Some details are explained in another thread.
1580366739
Kraynic
Pro
Sheet Author
I have a game rule set in handouts.  There is an index, and handouts are linked as I have deemed appropriate or have found need for.  I archive most things, but give players permission to view so that archived handouts get pulled out from links and don't clog up the journal.  I use the Bio & Info tab to put links for race, class, and any special abilities the player may need to keep in mind. While I do have all spells (and similar abilities) on handouts, I have also created a "character" for each spell or similar ability list which has a macro for each ability.  I actually need to go through and edit them at some point so they are a true "macro mule" out of the stupid tricks thread.  At this point, I copy those character sheets when someone makes a character that will be using those abilities, and then edit the chat menu macro to only show what their character knows.  You can make things relatively easy to run without a compendium, but it will certainly take some setup time.
1580368011
GiGs
Pro
Sheet Author
API Scripter
One problem with an approach that uses extra characters is that character sheets are about the biggest source of campaign performance. If you have a lot of them, you could make your campaign lag. Imagine all the data is in character sheet workers, and you have a compendium tab on the character sheet. Any time players want to view the compendium, they can visit that tab, select a category dropdown, and then a name dropdown, and the compendium entry would then be displayed in a textarea. This approach means the journal doesnt get cluttered with hundreds of handouts or extra character sheets. But it does mean that the GM cant click a button to show all players the same compendium entry at once (without using an API script). Likewise, all the game-specific rules can be easily integrated with the character sheet as I described in my earlier post. Danii mentioned her system was too complex for this kind of approach, but I'm willing to bed that it could have been built to cope with the complexity. It just needs approaching the system's needs with careful planning. the only downside of such an approach is updating the data once its created. You'd need to edit the sheet code. This is IMO the main advantage of using a companion script  or external handouts. But if you know your data and it isnt going to change too much once the sheet is designed, embedding it into the character sheet is a big advantage.
Careful planning only goes so far. The system (DSA) itself was not carefully planned. You could implement it, but it would become some lengthy code. And as you said charactersheets are the biggest source of lag, I would not want this monster. What really broke the effort was actually the updateability. DSA has about 30 rulebooks with some contradicting another, and still more to come. The sheet author gave up after the first 5 or so. Another author started a new sheet for DSA. His approach is modular. He gives you lists where you can implement the abilities your character needs yourself. This is good for pc, but makes npc-creation a lengthy process. If all filled out this is the easiest to roll dice in a gamesession, but lacks a consistent rulesreference. DSA is an extreme example. I don't know how complex Hawkshots system is, so either might be a considerable approach for them. To get back to the original question: The third option is possible with hyperlinks inside a handout, but there won't be any functionality above "open site in another window", which in itself could be a slow experience. I'm intrigued by Keith's concept. Looks like that is a very promising take on custom compendium without "custom compendium". *takes a quick look* Wow, that's a long script. xD As with most things in life, every option has some pros and cons. Hope this helped. :)
1580502299
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Danii, I wrote this last night for the OGL sheet, but it might give you a simpler starting point as it's less complex than that feature writer. OGL Sheet Inventory Writer using ChatSetAtt
Ouh... this could be used to somewhat quickly build npcs with all their special abilities. Thanks Keith!