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

Reworked Castles & Crusades Sheet, How to contribute?

Hello Community, I'm currently GMing a Castles & Crusades campaign. We started off with the standard sheet which is already provided for that system, but since there are some things I didn't like or some features I wanted to have on the sheet I decided to rebuild it as a custom sheet. I used the original code and some code I found on tutorials or elsewhere on other sheets and finally managed to get the new sheet working quite nicely (I'm not a coder so maybe the code isn't pretty or so but ... well it works).  The sheet is working fine now. It includes: roll-templates repeatable weapon fields roll buttons for attacks, attribute checks an Turn Undead an NPC-toggle. When activated all rolls from the sheet are not just written to the chat but whispered to the GM instead It's still very similar to the original sheet and as well designed to be close to a simple sheet on paper (so none of this calculate-it-all-and-make-the-game-rather-a-computer-game things - nothing wrong with this, but it's just not what we wanted). Now I would like to contribute it to the community. But there are two roadblocks (one moral, one technical): (moral): Im afraid of messing something up for others. I don't just want to replace or "upgrade" the existing sheet. In my opinion chances are quite high there are (at least some) people out there who like the sheet as it is and don't want it to be changed by someone else. I encountered this problem with my Pathfinder-group myself. First we used the pathfinder-sheet, but then it became "improved" again and again and with each improvement we kind of had to learn the sheet new (or at least fix some macros or so). It ended up with us not using the sheet any more because we just spent too much precious playtime figuring out what had change since the last lesson. (technical): I just don't get it how this GitHub thing is supposed to work. Maybe I'm too stupid, or maybe I'm just not enough coder, but it's rather confusing to me. I read the Wiki on this and followed the explanation there, but I keep missing how I'm supposed to get the code in there. Copy paste I assume, but paste where? And what the ... a json ? Long story short, I just need some input (preferably from the creators of the original sheet as well) in the form of advice and technical help. Should I contribute as an alternate sheet or as an "update"? And how? I'll happily start a campaign with the sheet installed for everyone to have a look at it. I could post the code here as well. Which way should I go? Lucky dices Daniel
1493227386
Lithl
Pro
Sheet Author
API Scripter
Daniel Weiers said: I don't just want to replace or "upgrade" the existing sheet. In my opinion chances are quite high there are (at least some) people out there who like the sheet as it is and don't want it to be changed by someone else. The Roll20 team is extremely resistant to having multiple sheets for the same system. There are exceptions, but only for the most popular systems. If you want to contribute to the Castles & Crusades sheet, your version will have to replace the existing one. The most important thing to consider is whether you removed or changed any attributes from the existing sheet. If so, you'll need to include a sheet worker script to migrate a player from the old version to the new version. For example, you say you've added repeatable weapon fields. I assume there was at least one weapon field on the sheet previously. You would need a sheet worker to take the existing weapon field and put that data into the new repeating section. You can see an example of such a sheet worker script in the Exalted 3e sheet, which I wrote version 2 of. Daniel Weiers said: I just don't get it how this GitHub thing is supposed to work. Maybe I'm too stupid, or maybe I'm just not enough coder, but it's rather confusing to me. I read the Wiki on this and followed the explanation there, but I keep missing how I'm supposed to get the code in there. Copy paste I assume, but paste where? And what the ... a json ? You've read  Beginner's Guide to GitHub ? The core of the process is: Fork the repo from Roll20 (this creates a copy on your account) Clone your fork (this creates a copy on your computer) Update the appropriate files Commit your changes (essentially, saving your work as far as Git is concerned) Sync (push) your commits (adds the changes you've made to the fork on your GH account) Create a pull request (ask someone on the Roll20 team to copy your changes) JSON stands for JavaScript Object Notation. It's simply a file for storing structured data; they're plain text files, they just have rules for how you put stuff in them. The sheet.json file tells Roll20 the author(s) of the sheet, the name of the HTML, CSS, and preview image files, and stores the text that a campaign creator sees when they select the sheet. For an update to an existing sheet, you probably just need to add yourself to the "authors" and "roll20userid" fields. Your roll20userid is the number that appears in the URL when you go to your profile page.
Brian said: You can see an example of such a sheet worker script in the Exalted 3e sheet, which I wrote version 2 of. Daniel Weiers said: I just don't get it how this GitHub thing is supposed to work. Maybe I'm too stupid, or maybe I'm just not enough coder, but it's rather confusing to me. I read the Wiki on this and followed the explanation there, but I keep missing how I'm supposed to get the code in there. Copy paste I assume, but paste where? And what the ... a json ? You've read  Beginner's Guide to GitHub ? The core of the process is: Fork the repo from Roll20 (this creates a copy on your account) Clone your fork (this creates a copy on your computer) Update the appropriate files Commit your changes (essentially, saving your work as far as Git is concerned) Sync (push) your commits (adds the changes you've made to the fork on your GH account) Create a pull request (ask someone on the Roll20 team to copy your changes) JSON stands for JavaScript Object Notation. It's simply a file for storing structured data; they're plain text files, they just have rules for how you put stuff in them. The sheet.json file tells Roll20 the author(s) of the sheet, the name of the HTML, CSS, and preview image files, and stores the text that a campaign creator sees when they select the sheet. For an update to an existing sheet, you probably just need to add yourself to the "authors" and "roll20userid" fields. Your roll20userid is the number that appears in the URL when you go to your profile page. Many thanks for your quick response. I'll have a closer look at the two versions of the sheet and wether I'll have to write a sheet worker script. I read the GH-Guide and followed the Instructions. I'm still a little unsure when it comes to point 3: "Update appropriate files", though. Do I have to edit the files I need to change directly? So just open the files on my computer in an text editor, paste my code in and save them as plain text files? I always thought I would have to do this via the gitHub website, or at least the GitHub desktop app. So far for the technical side. But I'm still very hesitant to just kind of remove someone elses work (by replacing their sheet with mine). Especially if other people use this work and then (after a possible update) won't be able to use it any longer (because they are forced to use the new version). As I wrote I really didn't like this myself when I used the Pathfinder sheet. My considerations about contributing rather spun around opening a new choice for other gamers not forcing them to follow my way. Just because I like my sheet better doesn't mean at all that anybody (let alone everybody) else does. Guess I have to think it through. Maybe some of the creators of the actual version reads this and can comment on it (or contact me directly). I tried to contact them but couldn't get the PM-System to accept them as addressee.
1493267016
Lithl
Pro
Sheet Author
API Scripter
Daniel Weiers said: I'm still a little unsure when it comes to point 3: "Update appropriate files", though. Do I have to edit the files I need to change directly? So just open the files on my computer in an text editor, paste my code in and save them as plain text files? Yes, you would just edit the files on your computer in any text editor. Git (the version control system used by GitHub) knows that the file has different content from the most recent commit, then when you make the new commit you're recording the difference between the previous version of the file and the current version.
I did some reading and testing with github now and it doesn't feel that strange anymore. Looks like I'm getting it :-D. Thanks Brian for your help on the technical side. The other things I still have to think through. I am still open for any input on that side. So if anyone would like to make suggestions? Or maybe just tell me if there are people interested in a new version of the sheet?
1493325982
Lithl
Pro
Sheet Author
API Scripter
Sorry I can't help you much on resolving the "moral" side of your conundrum. I don't play the system in question. =)
No problem at all. Guess I'll have to reach out for the C&C-Players for that :-) Anyway, thanks for your quick help.