'Barbarism is the natural state of mankind,' the borderer said, still staring somberly at the Cimmerian. 'Civilization is unnatural. It is a whim of circumstance. And barbarism must always ultimately triumph.'

-Robert E. Howard
Beyond The Black River

Corrupt Cliffs

Corrupt Cliffs
Get your FREE Narrative Terrain Deck today!
Showing posts with label Roll20. Show all posts
Showing posts with label Roll20. Show all posts

Tuesday, December 15, 2020

Conan 2d20 on Roll20: Custom Sheets

NEW: Youtube Introduction to the Custom Sheet!

UPDATED: January 12, 2022.  

- Fixed an issues with ranged damage being calculated with coordination instead of Awarness.

- Switched right and left soak on armor panel

- KNOWN BUG.  Submitting a NULL value when spending gold causes an API crash.

Alright, if you follow me at all, anywhere on social media, you are likely aware I've been working on a Conan 2d20 sheet for Roll20.  The sheet won't be available via the standard channel since it requires the API and there are already two free sheets available directly.  For those of you who expressed interest and wanted something with a little more automation, I still wanted to make this available.

Requirements:    Roll20 Pro Subscription.  No way around it, the sheet uses the API extensively.

Set-up Requirements: Like most Conan games on Roll20 we will need a few roll tables.  

CD for combat dice with the following entries: 1, 2, -, -, 1 + effect, 1+ effect.

HITLOC for hit locations with the following entries: Head, Torso, Right Arm, Left Arm, Right Leg, Left Leg.  These entries need the following weights as well: 2,6,3,3,3,3.

Finally you will require a character named GMPANEL.  This is the Doom pool.  This is the player momentum pool.  The Character sheet makes calls to the API using this object by name.  It must be named this or the sheet will not work.

Basic Game Setup

Ok, now that we know what we need lets walk through the steps.  I have a video detailing these steps here: VIDEO LINK

  1. Copy and paste the HTML code into a game's custom sheet HTML.
  2. Repeat this for the CSS code.
  3. Save these.
  4. Switch to your Game's API input and add a new script, I normally named it Conan.js
  5. Copy and paste the API code here.  
  6. Save it.
  7. Open the game and create the two roll tables
  8. Create the GMPANEL character.
  9. Open the GMPANEL, go to the character sheet and select the GMPANEL tab.
  10. Click Initialize.


To make the panel more useful I generally create a token the represents the character and link the tokens bars to doom and momentum.  I also allow the players to see the text on the bars and set the DOOM max to 1, so it always displays a bar with the numbers on showing doom.

Creating a character

!!IMPORTANT!! Anytime you create a new character you need to go to the GMPANEL on that character sheet and click initialize.  This sets up the characters attributes so the API can call them when it needs to.  If you do not do this, the API will likely attempt to get attributes that do not exist, resulting in a crash.

!help will bring up some basic help and a few API commands you will find useful as GM.

The Code:
I will update the dates on these as I make modifications and release new versions.

Last updated these on May 9, 2021.  I inadvertently broke the combat dice without realizing it.  That is fixed.  Also noted the pay upkeep was not working properly due to sheet workers.  Still has some issues. The main UI for the character sheet has been updated as well (I believe the last update had the original version)

HTML CODE: Updated January 12, 2022
CSS CODE: Updated January 12, 2022
API CODE: Updated January 12, 2022

Going forward the sheet can be found here: https://github.com/starshipsandsteel/Custom_2d20Sheet-roll20

If you open the code and simply copy and past it as is, it will mostly be fine, but I have found it will append a little snippet of code to the end of the copy and paste.  This doesn't seem to affect the HTML and CSS, but it breaks the API.  After you paste the API into the API window, scroll to the bottom and delete the bad part of the code.

All graphics are hosted on IMGUR.

And one final note.  If you go looking through the code, you will most assuredly find references to things and classes that are no longer used or commented out.  Some things need to get reimplemented still, others need to get removed.  Code cleanup is the least fun part, and so the last thing I do...IF I do it. :)

If you have feedback or ideas of improvement, I would love to hear them, even if I don't use them.
Stay strong!

Remember this isn't the end times, this is humanity working together to save as many lives as we can through a proven methodology for fighting a new virus. Stay Strong.

Till next time, don't forget to Keep it Weird!

Saturday, November 28, 2020

John Carter of Mars for Roll20

 Welcome back to Starships and Steel!  

It has been a little while since the last post, but I want to assure everyone that I am still here and I am still playing and creating my own personal RPG experiences.  Most recently I ran a game of Conan 2d20 and a game of Vaesen at the RPG Alliance Convention (online) up here in Calgary.  It was a solid weekend of gaming, playing in two other games.

I have never been a large fan of the original roll20 Conan sheet. Although functional I always felt it wasn't the best way to go about things, and that combined with its creation during the quickstart rules has directly lead to this John Carter project.

Moving forward to run a Conan 2d20 game for all experience levels I elected to write a new Conan sheet that ended up leveraging the Roll20 API.  This means it is not exactly user friendly, but it is functional (It has not support for Alchemy or Sorcery at the moment) and I will most likely make it available in another format for Pro level Roll20 accounts.

After playing Conan 2d20 the sheet was tweaked and the result left me with, what I think is, a decent framework for 2d20.  Of course in creating this sheet for John Carter I have ripped out all the API functionality, basically the sheet no longer tracks momentum and threat, leaving that to the players and GMs.

Without further pre-amble, below is the top-half of the roll20 sheet.

One of the largest modifications I made to the layout was to favor a sheet that scrolls down the page.  During the convention game of Conan I hosted it was determined it was easier for the players to scroll up and down vs. left and right.  The other largest change I made was simpler and larger button iconography.

As we go over the sheet I will explain it's basic functionality, what it does and what it doesn't do.  We shall start at the top and work our way down the sheet, skipping the top player name box, as it is pretty self explanatory.  

Repeating Fields

If you are new to Rol20, this is something that you will figure out, but I thought I would make a quick note about it.  Below lists of items, such as Core Equipment, Weapons, Talents etc, you will see a plus and a lock.

Clicking the "PLUS" will allow your to add a new entry.  I find that sometimes it has trouble accepting a value, if it does, just try again and it will take it, usually, on the second try.  This is a roll20 quirk.

Clicking on the "LOCK" will unlock the table and allow you to sort or delete items from it.  Clicking "LOCK" again will finalize and relock the table.

Stress & Afflictions

The stress panel is a fairly straight forward affair.  
  • Max stress for each of the three tracks is calculated from the character's stat block.  
  • The two attributes each one effects is listed below its name.
  • Each stress track has a unique color, this is handy to color code the 3 red circles above a roll20 icon for a character and link them appropriately left to right for simple reference.
  • Each track has 5 checkboxes below it to represent the various afflictions.
  • Finally the reset stress button resets all stress tracks to full.

The heart of the sheet: Attributes & Die Roller

This section is broken into two major sections.  On the left is the attributes panel that allows a player to enter their character's attributes and on the right, the rolling interface.  We will focus on the right.  The top 3/4s allows us to choose the attributes, difficulty and dice, and the bottom 1/4 shows us the number of d20s we are rolling.
  1. The first thing you do is click the check's difficulty.  This number will populate below in the step 2 section, "> vs. difficulty".
  2. Next we will pick our two attributes.  Back over on the attributes side we will note there are two buttons an A and a B, click "A" next to your first attribute and "B" for your second.  These will populate and update the Target Number and Focus values for the roll.  Back to the difficulty line we see that after our base difficulty we have a box listed as "+ Harms (Max D5).  This box will populate based on your afflictions and chosen stats.  It may not show all afflictions, ie if you have a difficulty 3 check and have 3 afflictions, it will only show 2 of your afflictions and max out the test at D5.
  3. Choose bonus dice.  4 options are available: Momentum (gem), Threat (skull and crossbones), Luck (gold coin), Other (Question mark). Clicking these will update the total dice we are rolling in the bottom 1/4.  It will max out at 3. Below these is a "Reset Dice" button.  This will clear out any dice you have picked from previous rolls and allow you to start again if you change your mind on how you are buying your dice.
One of the things to note, is that this doesn't actually track your Threat and Momentum, it simply reports what was used in the check roll so you and your players/GM can track it how you please.

Finally once everything is set, clicking roll dice will roll the requested check and output a result to the chat window.
Here we see Johnny has rolled a "Cunning + Might" test, using 2 threat.  His difficulty was 1 and he got a total of 3 listed successes.  NOTE:  Since the result in Roll20 is highlighted you *MUST* hover over it to see the actual result.  Complications and bonus successes are *NOT* added into the result.

This result is actually 5 total successes, giving Johnny 4 momentum.

Talents, Flaws and your Weapons.

The next two portions are pretty self explanatory as well.
  • Flaw gives you a simple place to store your characters flow.
  • Talents:
    • Name: Talent name
    • Grade: Talent grade
    • Circ: Circumstance when the talent becomes useful
    • Eff: The effect the talent has.
    • USE button: No real effect beyond reporting the talent to the chat box to allow others and yourself easier reading of the talent

  • Equipment:
    • Name: Equipment name.
    • Type: Core or non-core equipment.
    • Description: Description of what the item does.
  • Weapons:
    • Name: The weapon name.
    • Type & range: Melee, Near, Away, Threaten
    • Dmg: Base damage listed in Combat Dice.
    • Bonus Damage: Bonus dice to be added via momentum or other factors.
    • Roll Damage Button:  Rolls damage for the weapon and reports it to chat
    • Notes: A place to store effects etc.  Also reported with the weapon's damage roll.
For damage to work properly you will need to set up a roll table named "CD". with the following entries "1","2","-","-","1 + Effect","1 + Effect".  This will allow the character sheet to roll appropriately and report the correct amount of base damage.  You will still need to hover over the result to see any generated effects.
With this result we see it is 2 damage with 1 effect.  The weapon's notes tell us it gains +1 fear on an effect.  

Momentum, Renown, Allies and Luck

The final part of character sheet.  
  • MOMENTUM: This is simply a place to record it.  It is NOT automated in any way.
  • LUCK: Again, simply a record field.  It is NOT automated in any way.
  • Renown: Currently simply a place to keep track of your renown, nothing it updated here at the moment.
  • Experience: A basic field to store you XP.
  • Allies: A basic place to store a list of your allies.

Final thoughts, Momentum and Threat.

This is the first half of the John Carter character sheet, "Character".  A second sheet exists to allow the GM to record The Beasts of Barsoom.  Players will have no reason to use that tab.  I will try and get a blog post written about that sheet as well, but if you understand this sheet, that one will be no problem.

There are a few ways to track momentum.  

The most common way I have seen is with a deck of cards, simply handing out the cards as PCs gain and lose momentum.  This works, but I have found it to be slow.

Another way is to simply record it with a pencil and a piece of paper, which works ok for John Carter of Mars as players maintain their own momentum pool.

The method I am currently favoring is using custom token markers.  Adding a marker set with 6 gems allows a PC to turn momentum on and off as they store it from turn to turn.  This way is fast and simple.

No momentum

Custom Token Set, selecting Momentum

Assigned 3 momentum to be saved till next Turn

Without automation this provides a simply way for players and GMs to track momentum from turn to turn.

As for Threat, the Conan 2d20 sheet this is based on has a GM panel character sheet, which I will probably turn back on simply to give the GM a place to record doom and give them an easy way to report it back to the chat window so the PCs can have feedback on how much threat they have saved up.

Lacking that You can still create an Icon called "THREAT" and choose one of the status bars as your threat bar.  Make it visible to players and allow them to see the text overlay.  Finally always update the "Value" and "Max Value".

Remember this isn't the end times, this is humanity working together to save as many lives as we can through a proven methodology for fighting a new virus. Stay Strong.

Till next time, don't forget to Keep it Weird!

Wednesday, April 8, 2020

Setting up 2d20 on Roll20: The Combat Dice.

I have been playing around with the free Roll20 for awhile, learning how it works and what we could do with it for Conan 2d20.

Conan 2d20 and other 2d20 systems use combat dice to determine damage and weapon effects. We can, of course, simple roll a d6 and note the results but we have a way to make it a little more automated if we desire. This is accomplished via the Roll20 roll table.

The process is pretty simple, and although it is not a perfect solution, it is easy to do and can be done completely with the free version of Roll20.

Step 1: Making the Table

On the top right of Roll20 you will find the Collection Icon. Clicking on it will bring up the tab that gives us control over a lot of the automated processes; macros, decks and rollable tables. Near the bottom you will find Rollable tables. The first thing we need to do is to create a new Rollable table.

Step 2: Naming the table and adding the items

Once we have the table created, clicking on the table name that appeared when we added the new table. This will open up the new table dialog. From here rename the table to "CD" and begin adding each of the following Items: "1","2","0","0","1 + Effect","1 + Effect".

Once you have completed adding your items into the table, it should look like this. When you are happy with it. Hit "Save Changes"

Step 3: Testing the roll

Switch back to the chat dialog box and type the following roll command into chat "/roll 3t[CD]", you should get a result similar to this image. This will show you the total damage that was rolled, but you will have to manually add in any extra damage you get from effects like Vicious(Conan),Sharp(JCoM), etc.

And that is all there is to setting up a roll20 rollable table to handle your Combat Dice in roll20.

If you liked this article then don't forget to subscribe to get the next exciting installment on pulp gaming both Sci-Fi and Fantasy!

If you have questions or comments don't forget to hit me up on Twitter, Facebook, Youtube or Instagram!

Make sure you don't miss a single post and subscribe by e-mail today!

If you need to check out any of these great games stop on by DriveThruRPG and pick something up through my affiliate link to help support the blog!

Remember this isn't the end times, this is humanity working together to save as many lives as we can through proven methodology for fighting new a new virus. Stay Strong.

Till next time, don't forget to Keep it Weird!