Merge pull request #293 from Ardnived/Update-4

GURPS Sheet Update 4
This commit is contained in:
Riley Dutton
2014-06-02 21:04:15 -05:00
3 changed files with 365 additions and 254 deletions
+2 -2
View File
@@ -4,6 +4,6 @@ Styling is inspired primarily by GCS, but also with some influence from the offi
TODO
- Add support for the roll comparisons script; https://app.roll20.net/forum/post/150221/script-roll-comparisons#post-424145
- Implement auto-calc for the point summary (if possible).
- Fix auto-calc for attributes and skills. Waiting for this issue; https://github.com/Roll20/roll20-character-sheets/issues/165
- Automatic encumberance calculation, or at least highlighting.
- Automatic stat reduction at low HP/FP
+185 -148
View File
@@ -4,7 +4,7 @@
}
.sheet-wrapper {
min-width: 490px;
min-width: 500px;
}
.sheet-box {
@@ -13,33 +13,38 @@
float: left;
margin: 0.2em;
overflow: auto;
outline: 1px solid gray;
outline: 1px solid gray;
}
.sheet-label {
font-weight: bold;
text-align: right;
text-align: right;
}
.sheet-hr * {
.sheet-hr {
box-shadow: 0 -1px 0 #000;
}
.sheet-roll-tracker:before {
font-family: "Pictos" !important;
content: "t" !important;
/* ===== ENCUMBERANCE HIGHLIGHTING ===== */
/*
.sheet-enc0[value="0"] ~ .sheet-box .sheet-row-encumberance-0,
.sheet-enc1[value="0"] ~ .sheet-box .sheet-row-encumberance-1,
.sheet-enc2[value="0"] ~ .sheet-box .sheet-row-encumberance-2,
.sheet-enc3[value="0"] ~ .sheet-box .sheet-row-encumberance-3,
.sheet-enc4[value="0"] ~ .sheet-box .sheet-row-encumberance-4 {
background: white;
}
/* ===== MODULE SUPPORT ===== */
input.sheet-module-roll:checked ~ .sheet-wrapper .sheet-module-on-roll,
.sheet-wrapper .sheet-module-off-roll {
display: inline-block;
.sheet-box.sheet-encumberance .sheet-row-encumberance-0,
.sheet-box.sheet-encumberance .sheet-row-encumberance-1,
.sheet-box.sheet-encumberance .sheet-row-encumberance-2,
.sheet-box.sheet-encumberance .sheet-row-encumberance-3,
.sheet-box.sheet-encumberance .sheet-row-encumberance-4 {
background: beige;
}
*/
input.sheet-module-roll:checked ~ .sheet-wrapper .sheet-module-off-roll,
.sheet-wrapper .sheet-module-on-roll {
display: none;
}
/* ===== CUSTOM TABLES ===== */
.sheet-table {
@@ -58,9 +63,10 @@ input.sheet-module-roll:checked ~ .sheet-wrapper .sheet-module-off-roll,
text-align: center;
font-weight: bold;
text-transform: lowercase;
font-variant: small-caps;
font-variant: small-caps;
letter-spacing: 1px;
white-space: nowrap;
height: 22px;
}
.sheet-row {
@@ -77,69 +83,13 @@ input.sheet-module-roll:checked ~ .sheet-wrapper .sheet-module-off-roll,
}
.sheet-cell > * {
width: 100%;
}
/* ===== TABLES ===== */
/*
.sheet-box table.sheet-table {
border-collapse: collapse;
table-layout: fixed;
width: 100%;
}
.sheet-box tr *:not(.sheet-tooltip) {
white-space: nowrap;
overflow: hidden;
min-height: 22px;
max-height: 22px;
height: 22px;
}
.sheet-box tbody tr:nth-child(odd) {
background: #EFEFF5;
}
.sheet-box th {
font-weight: bold;
text-transform: lowercase;
font-variant: small-caps;
letter-spacing: 1px;
}
.sheet-box table th:first-child {
font-size: 110%;
letter-spacing: normal;
}
.sheet-box th,
.sheet-box td {
padding: 0;
}
.sheet-box td {
padding-right: 2px;
text-align: center;
}
*/
/* ===== INPUTS ===== */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
button {
/* ===== BUTTONS ===== */
.sheet-box button {
margin: 0 !important;
}
.btn[type="roll"] {
width: 22px;
background: none;
}
.btn {
height: 22px;
border-radius: 0;
line-height: 16px;
@@ -147,52 +97,124 @@ button {
border: none;
}
.sheet-box button[type="roll"] {
width: 22px;
background: none;
}
.sheet-box button.sheet-roll-tracker:before {
font-family: "Pictos" !important;
content: "t" !important;
}
/* ===== INPUTS ===== */
.sheet-box input[type=number]::-webkit-inner-spin-button,
.sheet-box input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.sheet-box select {
width: 100%;
height: 100%;
margin: 0;
height: 20px;
padding: 0;
margin: 0;
margin-top: -1px;
}
.sheet-box input {
background: transparent;
border: none;
width: 100% !important;
width: 100% !important;
height: 20px;
margin-top: -1px;
padding: 0 2px;
line-height: 22px;
background: transparent;
border: none;
box-shadow: none;
padding: 0 4px;
cursor: initial;
}
.sheet-box input:not(:disabled) {
background: #FAFAF0;
border-radius: 2px;
background: #FAFAF0;
border-radius: 2px;
-webkit-box-shadow: inset 0px 0px 1px 0px rgba(98, 98, 94, 0.75);
-moz-box-shadow: inset 0px 0px 1px 0px rgba(98, 98, 94, 0.75);
box-shadow: inset 0px 0px 1px 0px rgba(98, 98, 94, 0.75);
-webkit-box-shadow: inset 0px 0px 1px 0px rgba(98, 98, 94, 0.75);
-moz-box-shadow: inset 0px 0px 1px 0px rgba(98, 98, 94, 0.75);
box-shadow: inset 0px 0px 1px 0px rgba(98, 98, 94, 0.75);
}
.sheet-box tbody tr:nth-child(odd) input:not(:disabled) {
background: #E0E0FA;
/* ===== CUSTOM CHECKBOXES ===== */
.sheet-box input[type="checkbox"] {
opacity: 0;
width: 22px;
height: 22px;
position: relative;
cursor: pointer;
z-index: 1;
}
/* ===== UTILITY ==== */
.sheet-box input[type="checkbox"] ~ .sheet-checkbox:before {
width: 18px;
height: 18px;
line-height: 22px;
margin: 0;
padding: 0;
position: relative;
top: -23px;
left: -1px;
border: solid 1px #a8a8a8;
text-align: center;
display: inline-block;
vertical-align: middle;
font-size: 18px;
font-family: "Pictos";
content: "";
-moz-box-shadow: 0 0 2px #ccc;
-webkit-box-shadow: 0 0 2px #ccc;
box-shadow: 0 0 2px #ccc;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
background: #f6f6f6;
background: -moz-radial-gradient(#f6f6f6, #dfdfdf);
background: -webkit-radial-gradient(#f6f6f6, #dfdfdf);
background: -ms-radial-gradient(#f6f6f6, #dfdfdf);
background: -o-radial-gradient(#f6f6f6, #dfdfdf);
background: radial-gradient(#f6f6f6, #dfdfdf);
}
.sheet-box input[type="checkbox"]:checked ~ .sheet-checkbox:before {
content: "3";
}
/* ===== UTILITY ===== */
.sheet-right {
float: right;
float: right;
}
.sheet-left {
float: left;
float: left;
}
.sheet-clearfix:before,
.sheet-clearfix:after {
content: "";
display: table;
content: "";
display: table;
}
.sheet-clearfix:after {
clear: both;
clear: both;
}
.sheet-hover {
@@ -200,6 +222,7 @@ button {
z-index: 0;
}
/* ===== CSS TOOLTIP ===== */
.sheet-popup {
color: darkred;
@@ -207,51 +230,67 @@ button {
.sheet-popup + .sheet-tooltip {
z-index: 10;
display: none;
padding: 4px;
text-align: left;
margin-left: -40px;
display: none;
padding: 4px;
text-align: left;
margin-left: -40px;
font-weight: normal;
text-transform: initial;
font-variant: initial;
font-variant: initial;
}
.sheet-popup:hover + .sheet-tooltip {
width: auto;
display: inline;
position: absolute;
color: #111;
border: 1px solid #DCA;
background: #fffAF0;
line-height: 1.5em;
width: auto;
display: inline;
position: absolute;
color: #111;
border: 1px solid #DCA;
background: #fffAF0;
line-height: 1.5em;
}
.sheet-popup + .sheet-tooltip {
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-moz-box-shadow: 5px #CCC;
-webkit-box-shadow: 5px #CCC;
box-shadow: 5px #CCC;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-moz-box-shadow: 5px #CCC;
-webkit-box-shadow: 5px #CCC;
box-shadow: 5px #CCC;
}
.sheet-tooltip table {
float: left;
line-height: 2em;
font-size: 11px;
border-collapse: collapse;
text-align: center;
float: left;
line-height: 2em;
font-size: 11px;
border-collapse: collapse;
text-align: center;
}
.sheet-tooltip td {
padding: 0 8px;
padding: 0 8px;
}
.sheet-tooltip tbody tr:nth-child(odd) {
background: #FFF;
background: #FFF;
}
/* ===== MODULE SUPPORT ===== */
input.sheet-module-roll:checked ~ .sheet-wrapper .sheet-module-on-roll,
.sheet-wrapper .sheet-module-off-roll {
display: inline-block;
}
input.sheet-module-roll:checked ~ .sheet-wrapper .sheet-module-off-roll,
.sheet-wrapper .sheet-module-on-roll {
display: none;
}
/* ===== LAYOUT ===== */
.sheet-box .sheet-row-desc .sheet-col0 { width: 40px; text-align: center; }
.sheet-box .sheet-row-desc .sheet-col1 { width: calc(100% - 40px); }
.sheet-attribute { width: 130px; }
.sheet-attribute .sheet-header .sheet-col0 { width: 78px; }
.sheet-attribute .sheet-header .sheet-col1 { width: 52px; }
@@ -284,8 +323,8 @@ button {
.sheet-points .sheet-row .sheet-col1 { width: 40px; }
.sheet-lift { width: calc(100% - 130px - 140px - 1.2em); }
.sheet-lift .sheet-col0 { width: 170px; }
.sheet-lift .sheet-col1 { width: calc(100% - 170px); }
.sheet-lift .sheet-col0 { width: 175px; }
.sheet-lift .sheet-col1 { width: calc(100% - 175px); }
.sheet-encumberance { width: calc(100% - 140px - 0.8em); }
.sheet-encumberance .sheet-col0 { width: 100px; }
@@ -298,8 +337,10 @@ button {
.sheet-damage-reduction { float: right; width: 140px; }
.sheet-damage-reduction .sheet-col0 { width: 50px; }
.sheet-damage-reduction .sheet-col1 { width: 40px; text-align: center; }
.sheet-damage-reduction .sheet-col2 { width: 50px; }
.sheet-damage-reduction .sheet-col2 { width: 25px; }
.sheet-damage-reduction .sheet-col3 { width: 25px; }
.sheet-damage-reduction .sheet-row-title .sheet-col0 { width: 100%; }
.sheet-damage-reduction .sheet-header .sheet-col2 { width: 50px; }
.sheet-language { width: calc(60% - 0.4em); }
.sheet-language .sheet-col0 { width: calc(100% - 210px); }
@@ -316,7 +357,6 @@ button {
.sheet-traits .sheet-col1 { width: 30px; }
.sheet-traits .sheet-col2 { width: 30px; }
.sheet-traits .sheet-col3 { width: 40px; }
.sheet-traits .sheet-row-desc .sheet-col0 { width: 100%; }
.sheet-skills { width: calc(100% - 0.4em); }
.sheet-skills .sheet-col0 { width: calc(100% - 302px); }
@@ -330,8 +370,8 @@ button {
.sheet-skills .sheet-col8 { width: 22px; }
.sheet-techniques { width: calc(100% - 0.4em); }
.sheet-techniques .sheet-col0 { width: calc(100% - 360px); }
.sheet-techniques .sheet-col1 { width: 120px; }
.sheet-techniques .sheet-col0 { width: calc((100% - 240px) * 0.5); }
.sheet-techniques .sheet-col1 { width: calc((100% - 240px) * 0.5); }
.sheet-techniques .sheet-col2 { width: 30px; }
.sheet-techniques .sheet-col3 { width: 30px; }
.sheet-techniques .sheet-col4 { width: 40px; }
@@ -341,36 +381,33 @@ button {
.sheet-techniques .sheet-col8 { width: 40px; }
.sheet-melee-attacks { width: calc(100% - 0.4em); }
.sheet-melee-attacks .sheet-col0 { width: 100px; }
.sheet-melee-attacks .sheet-col1 { width: 60px; }
.sheet-melee-attacks .sheet-col0 { width: calc(100% - 202px); }
.sheet-melee-attacks .sheet-col1 { width: 40px; }
.sheet-melee-attacks .sheet-col2 { width: 40px; }
.sheet-melee-attacks .sheet-col3 { width: 40px; }
.sheet-melee-attacks .sheet-col4 { width: 40px; }
.sheet-melee-attacks .sheet-col5 { width: calc(100% - 302px); }
.sheet-melee-attacks .sheet-col6 { width: 22px; }
.sheet-melee-attacks .sheet-col4 { width: 60px; }
.sheet-melee-attacks .sheet-col5 { width: 22px; }
.sheet-ranged-attacks { width: calc(100% - 0.4em); }
.sheet-ranged-attacks .sheet-col0 { width: 100px; }
.sheet-ranged-attacks .sheet-col1 { width: 60px; }
.sheet-ranged-attacks .sheet-col2 { width: 40px; }
.sheet-ranged-attacks .sheet-col0 { width: calc(100% - 292px); }
.sheet-ranged-attacks .sheet-col1 { width: 40px; }
.sheet-ranged-attacks .sheet-col2 { width: 30px; }
.sheet-ranged-attacks .sheet-col3 { width: 30px; }
.sheet-ranged-attacks .sheet-col4 { width: 30px; }
.sheet-ranged-attacks .sheet-col5 { width: 40px; }
.sheet-ranged-attacks .sheet-col6 { width: 30px; }
.sheet-ranged-attacks .sheet-col7 { width: 40px; }
.sheet-ranged-attacks .sheet-col8 { width: calc(100% - 392px); }
.sheet-ranged-attacks .sheet-col9 { width: 22px; }
.sheet-ranged-attacks .sheet-col4 { width: 40px; }
.sheet-ranged-attacks .sheet-col5 { width: 30px; }
.sheet-ranged-attacks .sheet-col6 { width: 40px; }
.sheet-ranged-attacks .sheet-col7 { width: 60px; }
.sheet-ranged-attacks .sheet-col8 { width: 22px; }
.sheet-items { width: calc(100% - 0.4em); }
.sheet-items .sheet-col0 { width: 100px; }
.sheet-items .sheet-col0 { width: calc(100% - 270px); }
.sheet-items .sheet-col1 { width: 20px; }
.sheet-items .sheet-col2 { width: 20px; }
.sheet-items .sheet-col3 { width: 20px; }
.sheet-items .sheet-col4 { width: 30px; }
.sheet-items .sheet-col5 { width: calc(100% - 250px); }
.sheet-items .sheet-col6 { width: 30px; }
.sheet-items .sheet-col7 { width: 30px; }
.sheet-items .sheet-row-totals .sheet-col0 { width: calc(100% - 200px); }
.sheet-items .sheet-row-totals .sheet-col1 { width: 50px; }
.sheet-items .sheet-col2 { width: 50px; }
.sheet-items .sheet-col3 { width: 50px; }
.sheet-items .sheet-col4 { width: 50px; }
.sheet-items .sheet-col5 { width: 50px; }
.sheet-items .sheet-col6 { width: 50px; }
.sheet-items .sheet-row-totals .sheet-col0 { width: calc(100% - 300px); }
.sheet-items .sheet-row-totals .sheet-col1 { width: 100px; }
.sheet-items .sheet-row-totals .sheet-col2 { width: 100px; }
.sheet-items .sheet-row-totals .sheet-col3 { width: 50px; }
.sheet-items .sheet-row-totals .sheet-col3 { width: 100px; }
+178 -104
View File
@@ -1,11 +1,12 @@
<input type="hidden" class="sheet-module-roll" /><span>Roll Comparisons Support</span>
<div class="sheet-wrapper">
<!-- HIDDEN FIELDS -->
<input type="hidden" name="attr_10" value="10" disabled="disabled" />
<input class="enc0" type="hidden" name="attr__enc0" value="@{lift_0} - @{total_value}" disabled="disabled" />
<input class="enc1" type="hidden" name="attr__enc1" value="@{lift_1} - @{total_value}" disabled="disabled" />
<input class="enc2" type="hidden" name="attr__enc2" value="@{lift_2} - @{total_value}" disabled="disabled" />
<input class="enc3" type="hidden" name="attr__enc3" value="@{lift_3} - @{total_value}" disabled="disabled" />
<input class="enc4" type="hidden" name="attr__enc4" value="@{lift_4} - @{total_value}" disabled="disabled" />
<input class="sheet-enc0" type="hidden" name="attr__enc0" value="[[floor(@{total_weight}/@{lift_0})]]" disabled="disabled" />
<input class="sheet-enc1" type="hidden" name="attr__enc1" value="[[floor(@{total_weight}/@{lift_1})]]" disabled="disabled" />
<input class="sheet-enc2" type="hidden" name="attr__enc2" value="[[floor(@{total_weight}/@{lift_2})]]" disabled="disabled" />
<input class="sheet-enc3" type="hidden" name="attr__enc3" value="[[floor(@{total_weight}/@{lift_3})]]" disabled="disabled" />
<input class="sheet-enc4" type="hidden" name="attr__enc4" value="[[floor(@{total_weight}/@{lift_4})]]" disabled="disabled" />
<!-- /HIDDEN FIELDS -->
@@ -33,8 +34,8 @@
<input type="number" name="attr_strength_points" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<button class="sheet-module-off-roll" type="roll" value="/roll 3d6 vs ST [[@{strength}]]" name="roll_vsST" />
<button class="sheet-module-on-roll" type="roll" value="/roll 3d6 vs ST |<| [[@{strength}]]" name="roll_cmpST" />
<button class="sheet-module-off-roll" type="roll" value="/em rolls [[3d6]] vs ST [[@{strength}]]" name="roll_vsST" />
<button class="sheet-module-on-roll" type="roll" value="/em rolls [[3d6]] vs ST |<| [[@{strength}]]" name="roll_cmpST" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-dexterity">
@@ -53,8 +54,8 @@
<input type="number" name="attr_dexterity_points" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<button class="sheet-module-off-roll" type="roll" value="/roll 3d6 vs DX [[@{dexterity}]]" name="roll_vsDX" />
<button class="sheet-module-on-roll" type="roll" value="/roll 3d6 vs DX |<| [[@{dexterity}]]" name="roll_cmpDX" />
<button class="sheet-module-off-roll" type="roll" value="/em rolls [[3d6]] vs DX [[@{dexterity}]]" name="roll_vsDX" />
<button class="sheet-module-on-roll" type="roll" value="/em rolls [[3d6]] vs DX |<| [[@{dexterity}]]" name="roll_cmpDX" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-intelligence">
@@ -67,14 +68,14 @@
</span>
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_intelligence" value="10 + floor(abs(@{intelligence_points}) / 10) * (@{intelligence_points}+1)/abs(@{intelligence_points}+1)" disabled="disabled" />
<input type="text" name="attr_intelligence" value="10 + floor(abs(@{intelligence_points}) / 20) * (@{intelligence_points}+1)/abs(@{intelligence_points}+1)" disabled="disabled" />
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_intelligence_points" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<button class="sheet-module-off-roll" type="roll" value="/roll 3d6 vs IQ [[@{intelligence}]]" name="roll_vsIQ" />
<button class="sheet-module-on-roll" type="roll" value="/roll 3d6 vs IQ |<| [[@{intelligence}]]" name="roll_cmpIQ" />
<button class="sheet-module-off-roll" type="roll" value="/em rolls [[3d6]] vs IQ [[@{intelligence}]]" name="roll_vsIQ" />
<button class="sheet-module-on-roll" type="roll" value="/em rolls [[3d6]] vs IQ |<| [[@{intelligence}]]" name="roll_cmpIQ" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-health">
@@ -93,11 +94,11 @@
<input type="number" name="attr_health_points" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<button class="sheet-module-off-roll" type="roll" value="/roll 3d6 vs HT [[@{health}]]" name="roll_vsHT" />
<button class="sheet-module-on-roll" type="roll" value="/roll 3d6 vs HT |<| [[@{health}]]" name="roll_cmpHT" />
<button class="sheet-module-off-roll" type="roll" value="/em rolls [[3d6]] vs HT [[@{health}]]" name="roll_vsHT" />
<button class="sheet-module-on-roll" type="roll" value="/em rolls [[3d6]] vs HT |<| [[@{health}]]" name="roll_cmpHT" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-perception">
<div class="sheet-row sheet-row-perception sheet-hr">
<div class="sheet-cell sheet-col0 sheet-label">
<div class="sheet-popup">Per</div>
<span class="sheet-tooltip">
@@ -115,8 +116,8 @@
<input type="number" name="attr_perception_points" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<button class="sheet-module-off-roll" type="roll" value="/roll 3d6 vs Per [[@{perception}]]" name="roll_vsPer" />
<button class="sheet-module-on-roll" type="roll" value="/roll 3d6 vs Per |<| [[@{perception}]]" name="roll_cmpPer" />
<button class="sheet-module-off-roll" type="roll" value="/em rolls [[3d6]] vs Per [[@{perception}]]" name="roll_vsPer" />
<button class="sheet-module-on-roll" type="roll" value="/em rolls [[3d6]] vs Per |<| [[@{perception}]]" name="roll_cmpPer" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-willpower">
@@ -137,8 +138,8 @@
<input type="number" name="attr_willpower_points" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<button class="sheet-module-off-roll" type="roll" value="/roll 3d6 vs Will [[@{willpower}]]" name="roll_vsWill" />
<button class="sheet-module-on-roll" type="roll" value="/roll 3d6 vs Will |<| [[@{willpower}]]" name="roll_cmpWill" />
<button class="sheet-module-off-roll" type="roll" value="/em rolls [[3d6]] vs Will [[@{willpower}]]" name="roll_vsWill" />
<button class="sheet-module-on-roll" type="roll" value="/em rolls [[3d6]] vs Will |<| [[@{willpower}]]" name="roll_cmpWill" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-hit-points">
@@ -153,7 +154,7 @@
</span>
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_hit_points" value="@{strength} + floor(abs(@{hit_points_points}) / 2) * (@{hit_points_points}+1)/abs(@{hit_points_points}+1)" disabled="disabled" />
<input type="text" name="attr_hit_points_max" value="@{strength} + floor(abs(@{hit_points_points}) / 2) * (@{hit_points_points}+1)/abs(@{hit_points_points}+1)" disabled="disabled" />
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_hit_points_points" value="0" />
@@ -171,13 +172,13 @@
</span>
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_fatigue_points" value="@{health} + floor(abs(@{fatigue_points_points}) / 3) * (@{fatigue_points_points}+1)/abs(@{fatigue_points_points}+1)" disabled="disabled" />
<input type="text" name="attr_fatigue_points_max" value="@{health} + floor(abs(@{fatigue_points_points}) / 3) * (@{fatigue_points_points}+1)/abs(@{fatigue_points_points}+1)" disabled="disabled" />
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_fatigue_points_points" value="0" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-basic-speed">
<div class="sheet-row sheet-row-basic-speed sheet-hr">
<div class="sheet-cell sheet-col0 sheet-label">
<div class="sheet-popup">Speed</div>
<span class="sheet-tooltip">
@@ -504,7 +505,7 @@
Unspent
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_unspent_points" disabled="disabled" value="@{att_points} + @{trait_points} + @{skill_points} + @{misc_points} - @{total_points}" />
<input type="text" name="attr_unspent_points" disabled="disabled" value="@{total_points} - (@{att_points} + @{trait_points} + @{skill_points} + @{misc_points})" />
</div>
</div> <!-- .sheet-row -->
</div> <!-- .sheet-table -->
@@ -533,7 +534,10 @@
-7
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_skull_dr" value="2" />
<input type="number" name="attr_skull_dr_max" value="2" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_skull_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-face">
@@ -544,7 +548,10 @@
-5
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_face_dr" value="0" />
<input type="number" name="attr_face_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_face_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-eyes">
@@ -555,7 +562,10 @@
-9
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_eyes_dr" value="0" />
<input type="number" name="attr_eyes_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_eyes_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-eyes">
@@ -566,7 +576,10 @@
-5
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_neck_dr" value="0" />
<input type="number" name="attr_neck_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_neck_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-l-arm">
@@ -577,7 +590,10 @@
-2
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_l_arm_dr" value="0" />
<input type="number" name="attr_l_arm_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_l_arm_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-r-arm">
@@ -588,7 +604,10 @@
-2
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_r_arm_dr" value="0" />
<input type="number" name="attr_r_arm_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_r_arm_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-hands">
@@ -599,7 +618,10 @@
-4
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_hands_dr" value="0" />
<input type="number" name="attr_hands_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_hands_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-torso">
@@ -610,7 +632,10 @@
0
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_torso_dr" value="0" />
<input type="number" name="attr_torso_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_torso_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-vitals">
@@ -621,7 +646,10 @@
-3
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_vitals_dr" value="0" />
<input type="number" name="attr_vitals_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_vitals_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-groind">
@@ -632,7 +660,10 @@
-3
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_groind_dr" value="0" />
<input type="number" name="attr_groind_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_groind_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-l-leg">
@@ -643,7 +674,10 @@
-2
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_l_leg_dr" value="0" />
<input type="number" name="attr_l_leg_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_l_leg_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-r-leg">
@@ -654,7 +688,10 @@
-2
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_r_leg_dr" value="0" />
<input type="number" name="attr_r_leg_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_r_leg_dr" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-feet">
@@ -665,7 +702,10 @@
-4
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_feet_dr" value="0" />
<input type="number" name="attr_feet_dr_max" value="0" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_feet_dr" />
</div>
</div> <!-- .sheet-row -->
</div> <!-- .sheet-table -->
@@ -960,7 +1000,10 @@
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-desc">
<div class="sheet-cell sheet-col0">
<div class="sheet-cell sheet-col0 sheet-label">
Notes
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_notes" />
</div>
</div> <!-- .sheet-row -->
@@ -1002,6 +1045,8 @@
<option value="@{dexterity}">DX</option>
<option value="@{intelligence}">IQ</option>
<option value="@{health}">HT</option>
<option value="@{willpower}">Will</option>
<option value="@{perception}">Per</option>
<option value="10">10</option>
</select>
</div>
@@ -1023,10 +1068,18 @@
<input type="text" name="attr_ref" />
</div>
<div class="sheet-cell sheet-col8">
<button class="sheet-module-off-roll" type="roll" value="/roll 3d6 vs @{name} [[@{level}]]" name="roll_vsSL" />
<button class="sheet-module-on-roll" type="roll" value="/roll 3d6 vs @{name} |<| [[@{level}]]" name="roll_cmpSL" />
<button class="sheet-module-off-roll" type="roll" value="/em rolls [[3d6]] vs @{name} [[@{level}]]" name="roll_vsSL" />
<button class="sheet-module-on-roll" type="roll" value="/em rolls [[3d6]] vs @{name} |<| [[@{level}]]" name="roll_cmpSL" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-desc">
<div class="sheet-cell sheet-col0 sheet-label">
Notes
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_notes" />
</div>
</div> <!-- .sheet-row -->
</fieldset> <!-- .repeating_skills -->
</div> <!-- .sheet-table -->
</div> <!-- .sheet-box .sheet-skills -->
@@ -1049,7 +1102,7 @@
<div class="sheet-cell sheet-col7">Pts</div>
<div class="sheet-cell sheet-col8">Ref</div>
</div> <!-- .sheet-header -->
<fieldset class="repeating_skills">
<fieldset class="repeating_techniques">
<div class="sheet-row sheet-row-stats">
<div class="sheet-cell sheet-col0">
<input type="text" name="attr_name" />
@@ -1079,6 +1132,14 @@
<input type="text" name="attr_ref" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-desc">
<div class="sheet-cell sheet-col0 sheet-label">
Notes
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_notes" />
</div>
</div> <!-- .sheet-row -->
</fieldset> <!-- .repeating_skills -->
</div> <!-- .sheet-table -->
</div> <!-- .sheet-box .sheet-skills -->
@@ -1093,6 +1154,29 @@
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Melee Attacks</div>
<div class="sheet-cell sheet-col1">
<div class="sheet-popup">Reach</div>
<span class="sheet-tooltip">
The distance in yards that the weapon can reach.
<br />
<strong>C</strong>: this weapon can be used in close combat.
<br />
<strong>*</strong>: the weapon is awkward, and requires a Ready<br />
maneuver to switch between different reaches.
</span>
</div>
<div class="sheet-cell sheet-col2">
<div class="sheet-popup">Parry</div>
<span class="sheet-tooltip">
<strong>F</strong>: this is a fencing weapon.
<br />
<strong>U</strong>: the weapon is unbalanced. You cannot use it to<br />
parry if you"ve already attacked with it this turn (and vice versa).
<br />
<strong>No</strong>: this weapon cannot be used to parry.
</span>
</div>
<div class="sheet-cell sheet-col3">Block</div>
<div class="sheet-cell sheet-col4">
<div class="sheet-popup">Damage</div>
<span class="sheet-tooltip">
<strong>Armour Divisor</strong>: A number in parenthesis after the damage<br />
@@ -1121,30 +1205,6 @@
</table>
</span>
</div>
<div class="sheet-cell sheet-col2">
<div class="sheet-popup">Reach</div>
<span class="sheet-tooltip">
The distance in yards that the weapon can reach.
<br />
<strong>C</strong>: this weapon can be used in close combat.
<br />
<strong>*</strong>: the weapon is awkward, and requires a Ready<br />
maneuver to switch between different reaches.
</span>
</div>
<div class="sheet-cell sheet-col3">
<div class="sheet-popup">Parry</div>
<span class="sheet-tooltip">
<strong>F</strong>: this is a fencing weapon.
<br />
<strong>U</strong>: the weapon is unbalanced. You cannot use it to<br />
parry if you"ve already attacked with it this turn (and vice versa).
<br />
<strong>No</strong>: this weapon cannot be used to parry.
</span>
</div>
<div class="sheet-cell sheet-col4">Block</div>
<div class="sheet-cell sheet-col5">Notes</div>
</div> <!-- .sheet-header -->
<fieldset class="repeating_melee">
<div class="sheet-row sheet-row-stats">
@@ -1152,27 +1212,32 @@
<input type="text" name="attr_name" />
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_damage" />
</div>
<div class="sheet-cell sheet-col2">
<input type="text" name="attr_reach" />
</div>
<div class="sheet-cell sheet-col2">
<input type="text" name="attr_parry" />
</div>
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_parry" />
<input type="text" name="attr_block" />
</div>
<div class="sheet-cell sheet-col4">
<input type="number" name="attr_block" />
<input type="text" name="attr_damage" />
</div>
<div class="sheet-cell sheet-col5">
<input type="text" name="attr_notes" />
</div>
<div class="sheet-cell sheet-col6">
<button type="roll" value="/roll @{damage}" name="roll_damage" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-desc">
<div class="sheet-cell sheet-col0 sheet-label">
Notes
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_notes" />
</div>
</div> <!-- .sheet-row -->
</fieldset> <!-- .repeating_melee -->
</div> <!-- .sheet-table -->
</div> <!-- .sheet-box .sheet-skills -->
</div> <!-- .sheet-box .sheet-melee-attacks -->
<div class="sheet-clearfix"> </div>
@@ -1183,15 +1248,14 @@
<div class="sheet-table">
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Ranged Attacks</div>
<div class="sheet-cell sheet-col1">Damage</div>
<div class="sheet-cell sheet-col2">
<div class="sheet-cell sheet-col1">
<div class="sheet-popup">Range</div>
<span class="sheet-tooltip">
See page 269.
</span>
</div>
<div class="sheet-cell sheet-col3">Acc</div>
<div class="sheet-cell sheet-col4">
<div class="sheet-cell sheet-col2">Acc</div>
<div class="sheet-cell sheet-col3">
<div class="sheet-popup">RoF</div>
<span class="sheet-tooltip">
Rate of Fire
@@ -1208,7 +1272,7 @@
<strong>Jet</strong>: shoots a continuous stream of fliud. See page 106.
</span>
</div>
<div class="sheet-cell sheet-col5">
<div class="sheet-cell sheet-col4">
<div class="sheet-popup">Shots</div>
<span class="sheet-tooltip">
The number of shots that can be fired before the weapon must be reloaded.
@@ -1222,8 +1286,8 @@
is for each shot.
</span>
</div>
<div class="sheet-cell sheet-col6">Bulk</div>
<div class="sheet-cell sheet-col7">
<div class="sheet-cell sheet-col5">Bulk</div>
<div class="sheet-cell sheet-col6">
<div class="sheet-popup">Recoil</div>
<span class="sheet-tooltip">
When firing at RoF 2+, every full multiple of Rcl by which you make<br />
@@ -1231,7 +1295,7 @@
of hits equal to total shots fired. See page 373.
</span>
</div>
<div class="sheet-cell sheet-col8">Notes</div>
<div class="sheet-cell sheet-col7">Damage</div>
</div> <!-- .sheet-header -->
<fieldset class="repeating_ranged">
<div class="sheet-row sheet-row-stats">
@@ -1239,36 +1303,41 @@
<input type="text" name="attr_name" />
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_damage" />
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_range" />
</div>
<div class="sheet-cell sheet-col3">
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_acc" />
</div>
<div class="sheet-cell sheet-col4">
<div class="sheet-cell sheet-col3">
<input type="number" name="attr_rof" />
</div>
<div class="sheet-cell sheet-col5">
<div class="sheet-cell sheet-col4">
<input type="text" name="attr_shots" />
</div>
<div class="sheet-cell sheet-col6">
<div class="sheet-cell sheet-col5">
<input type="number" name="attr_bulk" />
</div>
<div class="sheet-cell sheet-col7">
<div class="sheet-cell sheet-col6">
<input type="number" name="attr_recoil" />
</div>
<div class="sheet-cell sheet-col8">
<input type="text" name="attr_notes" />
<div class="sheet-cell sheet-col7">
<input type="text" name="attr_damage" />
</div>
<div class="sheet-cell sheet-col9">
<div class="sheet-cell sheet-col8">
<button type="roll" value="/roll @{damage}" name="roll_damage" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-desc">
<div class="sheet-cell sheet-col0 sheet-label">
Notes
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_notes" />
</div>
</div> <!-- .sheet-row -->
</fieldset> <!-- .repeating_ranged -->
</div> <!-- .sheet-table -->
</div> <!-- .sheet-box .sheet-skills -->
</div> <!-- .sheet-box .sheet-ranged-attacks -->
<div class="sheet-clearfix"> </div>
@@ -1278,7 +1347,7 @@
<div class="sheet-box sheet-items">
<div class="sheet-table">
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Equipment</div>
<div class="sheet-cell sheet-col0">Possessions</div>
<div class="sheet-cell sheet-col1">
<div class="sheet-popup">On</div>
<span class="sheet-tooltip">
@@ -1290,17 +1359,17 @@
<div class="sheet-cell sheet-col2">#</div>
<div class="sheet-cell sheet-col3">$</div>
<div class="sheet-cell sheet-col4">W</div>
<div class="sheet-cell sheet-col5">Notes</div>
<div class="sheet-cell sheet-col6">$+</div>
<div class="sheet-cell sheet-col7">W+</div>
<div class="sheet-cell sheet-col5">$+</div>
<div class="sheet-cell sheet-col6">W+</div>
</div>
<fieldset class="repeating_equipment">
<fieldset class="repeating_item">
<div class="sheet-row sheet-row-stats">
<div class="sheet-cell sheet-col0">
<input type="text" name="attr_name" />
</div>
<div class="sheet-cell sheet-col1">
<input type="checkbox" name="attr_carried" value="1" selected="selected" />
<input type="checkbox" name="attr_carried" value="1" checked />
<span class="sheet-checkbox"></span>
</div>
<div class="sheet-cell sheet-col2">
<input type="number" name="attr_count" value="1" />
@@ -1312,16 +1381,21 @@
<input type="number" name="attr_weight" value="0" />
</div>
<div class="sheet-cell sheet-col5">
<input type="text" name="attr_notes" />
</div>
<div class="sheet-cell sheet-col6">
<input type="number" name="attr_costtotal" disabled="disabled" value="@{count} * @{cost}" />
</div>
<div class="sheet-cell sheet-col7">
<div class="sheet-cell sheet-col6">
<input type="number" name="attr_weighttotal" disabled="disabled" value="@{count} * @{weight} * @{carried}" />
</div>
</div> <!-- .sheet-row -->
</fieldset> <!-- .repeating_equipment -->
<div class="sheet-row sheet-row-desc">
<div class="sheet-cell sheet-col0 sheet-label">
Notes
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_notes" />
</div>
</div> <!-- .sheet-row -->
</fieldset> <!-- .repeating_item -->
<div class="sheet-row sheet-row-totals">
<div class="sheet-cell sheet-col0 sheet-label">
Total Value: