Hello! I've been working on a character sheet for the Double Cross RPG system, and wanted to share my progress thus far. So far I've finished the basic sheet, and have started implementing optional stat rollers in an accompanying API script (also optional if you leave the stat roller table commented). At this point the sheet is as feature-complete as I can think to make it. If you have any further concerns or suggestions, please let me know. (Note: This is zoomed out to show more of the sheet, thus the deformities.) Unfortunately, there are a few caveats. I'm not good at making screen layouts, so this was done with an editor. I'm not even going to pretend the code is nice looking. Functional though? Yes. This was my first foray into styles, and I haven't the slightest about external CSS. All the style information for this sheet is inline. The way dice are rolled in DX made doing an in-line roller difficult. A crit in DX, no matter the value, is COUNTED as a 10 even if it's a lower value. This made doing in-line stat/skill rollers unwieldy -- it'd have been easier just to roll the dice yourself. I also had trouble getting values to be added to each individual exploding roll. For example, a 3d10 exploding roll with a +2 skill modifier and a +1 score bonus would roll the dice fine, but the skill and score bonus wouldn't add in. The API-related HTML is commented out so that this sheet could be added to the official repository at some point. I'm leery of doing so, however, due to the messy HTML design (in-line styles, etc.). If you wish to use the API-related stuff, copy the script into your campaign and uncomment the HTML on line 445 to line 516 (the pink-ish section in the above image). My JavaScript code isn't too bad, though, for a first attempt at API work. Note that you CAN throw negative values into the Encroachment handler, as well as into the skill roller. In the case of the skill roller, if you end up with a situation where the number of dice you roll is zero or less, it will automatically tell you you failed the roll (as that's how it works in-system). This is why there is an accompanying API script. So long as nothing is using the chat commands !rollskill , !encroach , !resurrect , !backtrack , !rollatk and !rolldef everything should be fine. I also don't recommend typing these into chat -- I use the character id stored in the sheet to get character stats. All you're likely to get is a message telling you that you're using an invalid character and to roll from the sheet. The design is probably a little cluttered. I tried to recreate the tables as best I could in an 800px-wide space because I was trying to stay considerate to smaller monitors. For tables with Notes columns, I've tended to move that column to the next row and give it the entire table's width. If you're interested in checking out the sheet (or cleaning it up if you're so inclined), it can be found at the GitHub gist <a href="https://gist.github.com/chronosv2/4bd5fd2350410be7" rel="nofollow">https://gist.github.com/chronosv2/4bd5fd2350410be7</a>... Roller Functionality: In the accompanying script to this character sheet, I've added in rollers for the following features: !rollskill @{character_id} @{rStatValue} @{rSkillValue} @{rBonus} @{rCrit} @{rScBonus}
rStatValue = Stat name, rSkillValue = Skill name, rBonus = Dice bonus, rCrit = Crit level, rScBonus = Score bonus
Rolls a stat/skill using the Double Cross d10 rules (any crit = 10) and sorts them in descending order.
!encroach @{character_id} @{rEncr}
rEncr = value to change encroach by
Increases/Decreases encroach and gives information on current dice bonus and power level bonus.
!resurrect @{character_id} @{Pwr_LevelR}
Pwr_LevelR = Resurrect Power Level
Rolls based on level of the character's Resurrect power, increasing HP to [0+[result]] and increases Encroachment
by the same amount.
!backtrack @{character_id} @{rLois} @{rDoubleUp} @{rReroll}
rLois = Number of remaining active Lois, rDoubleUp = Double roll, rReroll = Rerolling Backtrack
Rolls end-of-scenario Backtrack for the character and informs the player of the result.
!rollatk @{character_id} @{rTens}
rTens = Tens digit of an attack accuracy roll.
Rolls damage, taking into account equipped weapons.
!rolldef
Calculates defense from Armor and Guard stats of all equipped weapons/armor. Thank you for your time, and I'll keep in touch with any updates! Changelog: 2014-06-25 12:22AM : Added backtrack phase to the sheet, and the API command !backtrack to the script. 2014-06-26 5:06AM : Added additional Weapon Table rows based on information found in the Advanced Rulebook. Also added checkboxes to each weapon to represent equipped status, and will be used in an API script for damage roll. 2014-06-26 11:04PM : Added !rollatk command to handle damage rolling. Also needed to split the API commands into two separate scripts because the handler was unhappy with how long the process was getting. I'm not sure if it's just something I'm doing wrong or what, but splitting it into two scripts seems to have fixed the problem. 2014-07-03 2:03PM : Added the !rolldef chat command to roll your defense/guard. Also added an additional row in the Life History section for Constant-power-based encroachment, since that gets factored into your Base Encroachment. While such a row was not on the actual character sheet, the automatic calculation that the sheet does for it makes it necessary to either elevate one of your two Encroachment values from history or simply keep note of the BE change and adjust it accordingly any time a new scenario starts. It seemed easier (and more conducive to the functionality of the character sheet) to just add the field in. I've also split the Rollback command into its own API script in the hopes that it might help avoid the strange Long-Running Process message, but I get the feeling that that's actually a futile effort and needlessly complicating the file structure for my project.