[carbon-2185-quickstart] Create char sheet for new game (#4804)

* [carbon-2185-quickstart] Creat sheet for new game

Character sheet for the Carbon 2185 Quickstart rules, a new rpg based on D&D 5e that recently completed a successful campaign on Kickstarter. The full game will be released in June. Quickstart rules can be downloaded by signing up at www.carbon2185.com

* Update sheet.json
This commit is contained in:
wizardeddas
2019-03-11 18:07:46 -05:00
committed by Cassie Levett
parent 8784745e49
commit 8d17466bb7
6 changed files with 337 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
# carbon-2185-quickstart
Carbon 2185 Quickstart Character Sheet for Roll20
@@ -0,0 +1,120 @@
.sheet-charsheet {
min-width: 800px;
}
.sheet-divTable {
display: table;
width: 100%;
background-color: #FFFFFF;
}
.sheet-divTableRow {
display: table-row;
border: 1px solid #999999;
}
.sheet-divTableHeading {
background-color: #EEE;
display: table-header-group;
}
.sheet-divTableCell, .sheet-divTableHead {
display: table-cell;
padding: 3px 10px;
text-align: center;
vertical-align: top;
}
.sheet-divTableCell3 {
display: table-cell;
padding: 3px 10px;
width: 33%;
text-align: center;
vertical-align: top;
}
.sheet-divTableHeading {
background-color: #EEE;
display: table-header-group;
font-weight: bold;
}
.sheet-divTableFoot {
background-color: #EEE;
display: table-footer-group;
font-weight: bold;
}
.sheet-divTableBody {
display: table-row-group;
}
.sheet-attribute_mod {
font-size: x-large;
width: 80px;
height: 80px;
text-align: center;
}
.sheet-attribute_score {
width:30px;
height: 30px;
position: relative;
text-align: center;
}
.sheet-contain {
border: 1px solid black;
padding: 5px;
}
.sheet-allt {
text-align: left;
}
.sheet-hpmax {
position: relative;
bottom: 20px;
float: left;
}
.sheet-hitdie {
float: left;
position: relative;
bottom: -10px;
right: 75px;
}
.sheet-hp {
width: 50px;
height: 50px;
text-align: center;
font-size: x-large;
}
.sheet-hpbox {
width: 100%;
height: 20px;
}
.sheet-spacer {
height: 3px;
}
.sheet-smallft { font-size: small; }
.sheet-w10 { width: 10%; }
.sheet-w15 { width: 15%; }
.sheet-w20 { width: 20%; }
.sheet-w25 { width: 25%; }
.sheet-w30 { width: 30%; }
.sheet-w35 { width: 35%; }
.sheet-w40 { width: 40%; }
.sheet-w45 { width: 45%; }
.sheet-w60 { width: 60%; }
.sheet-w80 { width: 80%; }
.sheet-w85 { width: 85%; }
.sheet-w90 { width: 90%; }
.sheet-w95 { width: 95%; }
.sheet-w100 { width: 100%; }
.sheet-w25p { width: 25px; }
.sheet-w50p { width: 50px; }
.sheet-w75p { width: 75px; }
td { text-align: center; }
.sheet-logo { height: 50px; }
.sheet-equiplabel {
text-align: center;
width: 85%;
}
.sheet-weightlabel {
text-align: center;
width: 15%;
}
.sheet-cntrtxt {
width: 100%;
text-align: center;
}
.sheet-inpcntr {
text-align: center;
}
@@ -0,0 +1,207 @@
<link rel="stylesheet" type="text/css" href="carbon2185quickstart.css">
<div class="maincontainer">
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell">
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell"><img src="logo.png" class="logo" alt="Carbon 2185 A Cyberpunk RPG"></div>
</div>
<div class="divTableRow">
<div class="divTableCell">Character Name: <input type="text" spellcheck="false" name="attr_character_name"></div>
</div>
</div>
</div>
<div class="divTableCell">
<div class="contain">
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell">Class <input type="text" spellcheck="false" name="attr_class" class="w20"> Level: <input type="number" spellcheck="false" name="attr_level" class="w10">
Origin <input type="text" spellcheck="false" name="attr_origin" class="w20"></div>
</div>
</div>
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell">Experience <input type="number" spellcheck="false" name="attr_experience" class="w20">
Age <input type="text" spellcheck="false" class="w20" name="attr_age"></div>
</div>
</div>
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell">Player Name <input type="text" spellcheck="false" class="w20" name="attr_player_name">
Influence- Street: <input type="number" spellcheck="false" name="attr_influence_street" class="w25p">&nbsp; Corporate: <input type="number" spellcheck="false" name="attr_influence_corporate" class="w25p"><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell">STR<br>
<input type="number" spellcheck="false" class="attribute_mod" name="attr_strength_modifier" readonly placeholder="0"><br>
<input type="number" spellcheck="false" class="attribute_score" name="attr_strength">
<button type="roll" value='&{template:default} {{name=Ability Check}} {{Strength=[[1d20 + @{strength_modifier}]]}}' name='roll_strength'></button>
</div>
<div class="divTableCell">DEX<br>
<input type="number" spellcheck="false" class="attribute_mod" name="attr_dexterity_modifier" readonly placeholder="0"><br>
<input type="number" spellcheck="false" class="attribute_score" name="attr_dexterity">
<button type="roll" value='&{template:default} {{name=Ability Check}} {{Dexterity=[[1d20 + @{dexterity_modifier}]]}}' name='roll_dexterity'></button>
</div>
<div class="divTableCell">CON<br>
<input type="number" spellcheck="false" class="attribute_mod" name="attr_constitution_modifier" readonly placeholder="0"><br>
<input type="number" spellcheck="false" class="attribute_score" name="attr_constitution">
<button type="roll" value='&{template:default} {{name=Ability Check}} {{Constitution=[[1d20 + @{constitution_modifier}]]}}' name='roll_constitution'></button>
</div>
<div class="divTableCell">INT<br>
<input type="number" spellcheck="false" class="attribute_mod" name="attr_intelligence_modifier" readonly placeholder="0"><br>
<input type="number" spellcheck="false" class="attribute_score" name="attr_intelligence">
<button type="roll" value='&{template:default} {{name=Ability Check}} {{Intelligence=[[1d20 + @{intelligence_modifier}]]}}' name='roll_intelligence'></button>
</div>
<div class="divTableCell">TECH<br>
<input type="number" spellcheck="false" class="attribute_mod" name="attr_technology_modifier" readonly placeholder="0"><br>
<input type="number" spellcheck="false" class="attribute_score" name="attr_technology">
<button type="roll" value='&{template:default} {{name=Ability Check}} {{Technology=[[1d20 + @{technology_modifier}]]}}' name='roll_technology'></button>
</div>
<div class="divTableCell">PEOPLE<br>
<input type="number" spellcheck="false" class="attribute_mod" name="attr_people_modifier" readonly placeholder="0"><br>
<input type="number" spellcheck="false" class="attribute_score" name="attr_people">
<button type="roll" value='&{template:default} {{name=Ability Check}} {{People=[[1d20 + @{people_modifier}]]}}' name='roll_people'></button>
</div>
</div>
</div>
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell w15">PROFICIENCY<br>BONUS<br>
<input type="number" spellcheck="false" class="attribute_mod" name="attr_proficiency_bonus">
</div>
<div class="divTableCell allt w30">SAVING THROWS<br>
<table>
<tr><td><input type="checkbox" name="attr_fortitude_proficiency" value="1"></td><td><input type="number" spellcheck="false" class="w20" name="attr_fortitude_bonus" value="0" readonly>Fortitude (con)</td><td><button type="roll" value='&{template:default} {{name=Saving Throw}} {{Fortitude Save=[[1d20 + @{fortitude_bonus}]]}}' name='roll_fort_save'></button></td></tr>
<tr><td><input type="checkbox" name="attr_reflex_proficiency" value="1"></td><td><input type="number" spellcheck="false" class="w20" name="attr_reflex_bonus" value="0" readonly>Reflex (dex)</td><td><button type="roll" value='&{template:default} {{name=Saving Throw}} {{Reflex Save=[[1d20 + @{reflex_bonus}]]}}' name='roll_relfex_save'></button></td></tr>
<tr><td><input type="checkbox" name="attr_mind_proficiency" value="1"></td><td><input type="number" spellcheck="false" class="w20" name="attr_mind_bonus" value="0" readonly>Mind (int)</td><td><button type="roll" value='&{template:default} {{name=Saving Throw}} {{Mind Save=[[1d20 + @{mind_bonus}]]}}' name='roll_mind_save'></button></td></tr>
</table>
</div>
<div class="divTableCell w15">AC<br>
<input type="number" spellcheck="false" name="attr_armor_class" class="attribute_mod"><br>
</div>
<div class="divTableCell w20">INIT<br>
<input type="number" spellcheck="false" name="attr_initiative" class="attribute_mod">
<button type="roll" value='&{template:default} {{name=Initative}} {{Initiative=[[1d20 + @{initiative}]]}}' name='roll_initiative'></button>
</div>
<div class="divTableCell w20">SPEED<br>
<input type="number" spellcheck="false" name="attr_speed" class="attribute_mod"><br>
</div>
</div>
</div>
<div class="divTable contain">
<div class="divTableRow">
<div class="divTableCell">
<textarea name="hitpoints" class="hpbox" spellcheck="false"></textarea><br>
<div class="cntrtxt"><span class="smallft">Hit Points</span></div>
</div>
<div class="divTableCell">
HP MAX:<input type="number" spellcheck="false" name="attr_max_hit_points" class="hp">
HIT DIE:<input type="number" spellcheck="false" name="attr_hit_die" class="hp">
</div>
<div class="divTableCell">
Success <input type="checkbox" name="attr_death_save_1">-<input type="checkbox" name="attr_death_save_2">-<input type="checkbox" name="attr_death_save_3">-|-<input type="checkbox" name="attr_death_fail_3">-<input type="checkbox" name="attr_death_fail_2">-<input type="checkbox" name="attr_death_fail_1"> Failure<br>
DEATH SAVES
</div>
</div>
</div>
<div class="divTable">
<div class="divTableRow">
<div class="divTableCell w50 contain">
<table class="w100">
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item1" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item1weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item2" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item2weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item3" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item3weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item4" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item4weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item5" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item5weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item6" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item6weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item7" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item7weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item8" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item8weight" class="w25p"></td></tr>
<tr><td class="w80"><input type="text" spellcheck="false" name="attr_item9" class="w95"></td><td class="w25p"><input type="number" spellcheck="false" name="attr_item9weight" class="w25p"></td></tr>
<tr><td class="w80">Equipment</td><td class="w20"><input type="number" name="attr_combitemweight" placeholder="weight" readonly></td></tr>
</table>
</div>
<div class="divTableCell w50">
<div class="contain">
<div class="cntrtxt">
<table>
<tr><td><button type="roll" value='&{template:default} {{name=Attack}} {{Weapon=@{attack_name_1}}} {{Damage Type=@{attack_type_1}}} {{Attack Roll=[[1d20 + @{attack_bonus_1}]]}} {{Damage Roll=[[@{attack_damage_1} + @{attack_dmod_1}]]}}' name='roll_attack_1'></button></td><td class="w45"><input type="text" spellcheck="false" name="attr_attack_name_1" class="w100"></td><td class="w10"><input type="text" spellcheck="false" name="attr_attack_bonus_1" class="w100 inpcntr"></td><td class="w25"><input type="text" spellcheck="false" name="attr_attack_damage_1" class="w50p inpcntr"> + <input type="number" name="attr_attack_dmod_1" class="w25p inpcntr"></td><td><input type="text" name="attr_attack_type_1" class="w75p"></td></tr>
<tr><td><button type="roll" value='&{template:default} {{name=Attack}} {{Weapon=@{attack_name_2}}} {{Damage Type=@{attack_type_2}}} {{Attack Roll=[[1d20 + @{attack_bonus_2}]]}} {{Damage Roll=[[@{attack_damage_2} + @{attack_dmod_2}]]}}' name='roll_attack_2'></button></td><td class="w45"><input type="text" spellcheck="false" name="attr_attack_name_2" class="w100"></td><td class="w10"><input type="text" spellcheck="false" name="attr_attack_bonus_2" class="w100 inpcntr"></td><td class="w25"><input type="text" spellcheck="false" name="attr_attack_damage_2" class="w50p inpcntr"> + <input type="number" name="attr_attack_dmod_2" class="w25p inpcntr"></td><td><input type="text" name="attr_attack_type_2" class="w75p"></td></tr>
<tr><td><button type="roll" value='&{template:default} {{name=Attack}} {{Weapon=@{attack_name_3}}} {{Damage Type=@{attack_type_3}}} {{Attack Roll=[[1d20 + @{attack_bonus_3}]]}} {{Damage Roll=[[@{attack_damage_3} + @{attack_dmod_3}]]}}' name='roll_attack_3'></button></td><td class="w45"><input type="text" spellcheck="false" name="attr_attack_name_3" class="w100"></td><td class="w10"><input type="text" spellcheck="false" name="attr_attack_bonus_3" class="w100 inpcntr"></td><td class="w25"><input type="text" spellcheck="false" name="attr_attack_damage_3" class="w50p inpcntr"> + <input type="number" name="attr_attack_dmod_3" class="w25p inpcntr"></td><td><input type="text" name="attr_attack_type_3" class="w75p"></td></tr>
<tr><td><button type="roll" value='&{template:default} {{name=Attack}} {{Weapon=@{attack_name_4}}} {{Damage Type=@{attack_type_4}}} {{Attack Roll=[[1d20 + @{attack_bonus_4}]]}} {{Damage Roll=[[@{attack_damage_4} + @{attack_dmod_4}]]}}' name='roll_attack_4'></button></td><td class="w45"><input type="text" spellcheck="false" name="attr_attack_name_4" class="w100"></td><td class="w10"><input type="text" spellcheck="false" name="attr_attack_bonus_4" class="w100 inpcntr"></td><td class="w25"><input type="text" spellcheck="false" name="attr_attack_damage_4" class="w50p inpcntr"> + <input type="number" name="attr_attack_dmod_4" class="w25p inpcntr"></td><td><input type="text" name="attr_attack_type_4" class="w75p"></td></tr>
<tr><td></td></td><td>Attack Name</td><td>Atk</td><td>Damage / Mod</td><td>Type</td></tr>
</table>
</div>
</div>
<div class="spacer"></div>
<div class="contain">
<input type="text" spellcheck="false" name="attr_augmentation_1" class="w45" placeholder="Augmentation">
<input type="text" spellcheck="false" name="attr_augmentation_2" class="w45" placeholder="Augmentation"><br>
<div class="cntrtxt">Augmentations</div>
</div>
<div class="spacer"></div>
<div class="contain">
<input type="text" spellcheck="false" name="attr_wonlongs" class="w90"><br>
<div class="cntrtxt">Wonlongs</div>
</div>
</div>
</div>
</div>
<div class="cntrtxt">www.carbon2185.com ONLINE QUICKSTART CHARACTER SHEET V0.1</div>
</div>
<script type="text/worker">
var fortchecked=0;
var reflchecked=0;
var mindchecked=0;
var fortbonus=0;
var refbonus=0;
var mindbonus=0;
on("sheet:load change:fortitude_proficiency change:proficiency_bonus change:reflex_proficiency change:mind_proficiency change:strength change:dexterity change:consitution change:intelligence change:technology change:people change:item1weight change:item2weight change:item3weight change:item4weight change:item5weight change:item6weight change:item7weight change:item8weight change:item9weight", function() {
getAttrs(["item1weight", "item2weight", "item3weight", "item4weight", "item5weight", "item6weight", "item7weight", "item8weight", "item9weight", "strength", "dexterity", "constitution", "intelligence", "technology", "people", "reflex_proficiency", "mind_proficiency", "intelligence_proficiency", "fortitude_proficiency", "proficiency_bonus"], function(values) {
let fortchecked = parseInt(values.fortitude_proficiency)||0;
let reflchecked = parseInt(values.reflex_proficiency)||0;
let mindchecked = parseInt(values.mind_proficiency)||0;
const proficiency_bonus = parseInt(values.proficiency_bonus)||0;
const strmod = Math.floor(values.strength / 2)-5;
const dexmod = Math.floor(values.dexterity / 2)-5;
const conmod = Math.floor(values.constitution / 2)-5;
const intmod = Math.floor(values.intelligence / 2)-5;
const techmod = Math.floor(values.technology / 2)-5;
const peopmod = Math.floor(values.people / 2)-5;
if (strmod < -2) { strmod = -2; }
if (dexmod < -2) { dexmod = -2; }
if (conmod < -2) { conmod = -2; }
if (intmod < -2) { intmod = -2; }
if (techmod < -2) { techmod = -2; }
if (peopmod < -2) { peopmod = -2; }
const fortbonus = conmod + (fortchecked === 1 ? proficiency_bonus : 0);
const refbonus = dexmod + (reflchecked === 1 ? proficiency_bonus : 0);
const mindbonus = intmod + (mindchecked === 1 ? proficiency_bonus : 0);
const totweight = parseInt(values.item1weight) + parseInt(values.item2weight) + parseInt(values.item3weight) + parseInt(values.item4weight) + parseInt(values.item5weight) + parseInt(values.item6weight) + parseInt(values.item7weight) + parseInt(values.item8weight) + parseInt(values.item9weight);
setAttrs({
strength_modifier: strmod,
dexterity_modifier: dexmod,
constitution_modifier: conmod,
intelligence_modifier: intmod,
technology_modifier: techmod,
people_modifier: peopmod,
mind_bonus: mindbonus,
fortitude_bonus: fortbonus,
reflex_bonus: refbonus,
combitemweight: totweight
});
});
});
</script>
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

+8
View File
@@ -0,0 +1,8 @@
{
"html": "carbon2185quickstart.html",
"css": "carbon2185quickstart.css",
"authors": "WizardEddas",
"roll20userid": "268468",
"preview": "preview.png",
"instructions": "Character Sheet for the Cyberpunk RPG Carbon 2185 Quickstart, which is based on the 5E OGL Rules. The quickstart rules can be downloaded at www.carbon2185.com. Sheet created by @wizardeddas"
}