Fixed various issues with calculations and updated the initilization script to set up values when a sheet is first opened. This uses a new attribute added to characters "sheet_version" which is currently checked for and set to "1.3".
2809 lines
100 KiB
HTML
2809 lines
100 KiB
HTML
|
|
<div class="sheet-wrapper">
|
|
<!-- HIDDEN FIELDS -->
|
|
<input type="hidden" name="attr_10" value="10" disabled="disabled" />
|
|
<input type="hidden" name="attr_VS" value="vs:" disabled="disabled" />
|
|
<input type="hidden" name="attr_languages_points" value="0" />
|
|
<input type="hidden" name="attr_cf_points" value="0" />
|
|
<input type="hidden" name="attr_advantages_points" value="0" />
|
|
<input type="hidden" name="attr_disadvantages_points" value="0" />
|
|
<input type="hidden" name="attr_racial_points" value="0" />
|
|
<input type="hidden" name="attr_skills_points" value="0" />
|
|
<input type="hidden" name="attr_techniques_points" value="0" />
|
|
<input type="hidden" name="attr_spells_points" value="0" />
|
|
<!-- /HIDDEN FIELDS -->
|
|
|
|
<!-- ===== ===== ===== ===== TABS ===== ===== ===== ===== -->
|
|
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab1" value="1" title="General" checked="checked" />
|
|
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab2" value="2" title="Traits" />
|
|
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab3" value="3" title="Skills" />
|
|
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab4" value="4" title="Combat" />
|
|
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab5" value="5" title="Wealth" />
|
|
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab6" value="6" title="Grimoire" />
|
|
<div class="sheet-tab-br"></div>
|
|
|
|
|
|
<!-- ===== ===== ===== ===== GENERAL TAB ===== ===== ===== ===== -->
|
|
<div class="sheet-tab1">
|
|
|
|
<!-- _____ _____ ATTRIBUTE BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-attribute">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Attributes</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<div class="sheet-popup">Mod</div>
|
|
<span class="sheet-tooltip">
|
|
A modifier that will be applied to your attribute.
|
|
<br />
|
|
All derived attributes draw their base from your<br />
|
|
unmodified attributes. Therefore this MOD will<br />
|
|
generally only affect direct attribute rolls and<br />
|
|
skills rolls.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">Pts</div>
|
|
</div> <!-- .sheet-header -->
|
|
<div class="sheet-main-attribute">
|
|
<div class="sheet-row sheet-row-strength">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">ST</div>
|
|
<span class="sheet-tooltip">
|
|
Strength
|
|
<br />
|
|
10pts/level
|
|
<br />
|
|
Unmodified <span name="attr_strength_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_strength" value="10" readonly="readonly" >
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_strength_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_strength_points" value="0" step="10" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} ST [[@{strength} + @{modifier}]]" name="roll_vsST" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-dexterity">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">DX</div>
|
|
<span class="sheet-tooltip">
|
|
Dexterity
|
|
<br />
|
|
20pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_dexterity_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_dexterity" value="10" readonly="readonly" >
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_dexterity_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_dexterity_points" value="0" step="20" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} DX [[@{dexterity} + @{modifier}]]" name="roll_vsDX" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-intelligence">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">IQ</div>
|
|
<span class="sheet-tooltip">
|
|
Intelligence
|
|
<br />
|
|
20pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_intelligence_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_intelligence" value="10" readonly="readonly" >
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_intelligence_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_intelligence_points" value="0" step="20" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} IQ [[@{intelligence} + @{modifier}]]" name="roll_vsIQ" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-health">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">HT</div>
|
|
<span class="sheet-tooltip">
|
|
Health
|
|
<br />
|
|
10pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_health_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_health" value="10" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_health_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_health_points" value="0" step="10" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} HT [[@{health} + @{modifier}]]" name="roll_vsHT" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</div>
|
|
<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">
|
|
Perception
|
|
<br />
|
|
Based on Intelligence
|
|
<br />
|
|
5pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_perception_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_perception" value="10" readonly="readonly" >
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_perception_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_perception_points" value="0" step="5" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Per [[@{perception} + @{modifier}]]" name="roll_vsPer" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-vision">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Vision</div>
|
|
<span class="sheet-tooltip">
|
|
Visual Perception
|
|
<br />
|
|
Based on Perception
|
|
<br />
|
|
2pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_vision_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_vision" value="10" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_vision_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_vision_points" value="0" step="2" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Vision [[@{vision} + @{modifier}]]" name="roll_vsVision" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-hearing">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Hearing</div>
|
|
<span class="sheet-tooltip">
|
|
Audio Perception
|
|
<br />
|
|
Based on Perception
|
|
<br />
|
|
2pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_hearing_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_hearing" value="10" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_hearing_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_hearing_points" value="0" step="2" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Hearing [[@{hearing} + @{modifier}]]" name="roll_vsHearing" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-taste-smell">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Smell</div>
|
|
<span class="sheet-tooltip">
|
|
Taste & Smell Perception
|
|
<br />
|
|
Based on Perception
|
|
<br />
|
|
2pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_taste_smell_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_taste_smell" value="10" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_taste_smell_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_taste_smell_points" value="0" step="2" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Taste or Smell [[@{taste_smell} + @{modifier}]]" name="roll_vsTasteSmell" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-touch">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Touch</div>
|
|
<span class="sheet-tooltip">
|
|
Touch Perception
|
|
<br />
|
|
Based on Perception
|
|
<br />
|
|
2pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_touch_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_touch" value="10" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_touch_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_touch_points" value="0" step="2" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Touch [[@{touch} + @{modifier}]]" name="roll_vsTouch" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-willpower sheet-hr">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Will</div>
|
|
<span class="sheet-tooltip">
|
|
Willpower
|
|
<br />
|
|
Based on Intelligence
|
|
<br />
|
|
5pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_willpower_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_willpower" value="10" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_willpower_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_willpower_points" value="0" step="5" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Will [[@{willpower} + @{modifier}]]" name="roll_vsWill" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-fear">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Fear</div>
|
|
<span class="sheet-tooltip">
|
|
Fear Check
|
|
<br />
|
|
Based on Willpower
|
|
<br />
|
|
2pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_fear_check_base"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_fear_check" value="10" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_fear_check_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_fear_check_points" value="0" step="2" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Will [[@{fear_check} + @{modifier}]]" name="roll_vsFearCheck" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<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">
|
|
Basic Speed
|
|
<br />
|
|
Based on Health and Dexterity
|
|
<br />
|
|
5pts/0.25
|
|
<br />
|
|
Unmodified: <span name="attr_basic_speed_base" value="10"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_basic_speed" value="" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_basic_speed_mod" value="0" step="0.25" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_basic_speed_points" value="0" step="5" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button class="sheet-roll-tracker" type="roll" value="/em has a speed of [[@{basic_speed} &{tracker}]]" name="roll_init" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-basic-move">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Move</div>
|
|
<span class="sheet-tooltip">
|
|
Basic Move
|
|
<br />
|
|
Based on Basic Speed
|
|
<br />
|
|
5pts/level
|
|
<br />
|
|
Unmodified: <span name="attr_basic_move_base" value="0"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_basic_move" value="" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_basic_move_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_basic_move_points" value="0" step="5" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-dodge">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Dodge</div>
|
|
<span class="sheet-tooltip">
|
|
Dodge
|
|
<br />
|
|
Based on Basic Speed
|
|
<br />
|
|
Unmodified: <span name="attr_dodge_base" value="0"></span>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_dodge" value="" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_dodge_mod" value="0" step="1" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-lift-st sheet-hr">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Lift ST</div>
|
|
<span class="sheet-tooltip">
|
|
Lifting Strength
|
|
<br />
|
|
Based on Strength
|
|
<br />
|
|
3pts/level
|
|
<br />
|
|
Unmodified: <input class="sheet-inline" type="number" name="attr_lift_st_base" readonly="readonly">
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_lift_st" value="0" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_lift_st_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_lift_st_points" value="0" step="3" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-basic-lift">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Lift</div>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_basic_lift" value="0" readonly="readonly">
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-strike-st sheet-hr">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Striking</div>
|
|
<span class="sheet-tooltip">
|
|
Striking Strength
|
|
<br />
|
|
Based on Strength
|
|
<br />
|
|
5pts/level
|
|
<br />
|
|
Unmodified: <input class="sheet-inline" type="number" name="attr_striking_st_base" readonly="readonly">
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_striking_st" value="0" readonly="readonly">
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_striking_st_mod" value="0" step="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_striking_st_points" value="0" step="5" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-thrust-damage">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Thrust</div>
|
|
<span class="sheet-tooltip">
|
|
Thrust Damage
|
|
<br />
|
|
<div>See page 16 for the complete table.</div>
|
|
<table>
|
|
<thead><tr><th>Strength</th><th>Thrust</th></tr></thead>
|
|
<tbody>
|
|
<tr><td>1</td><td>1d6-6</td></tr>
|
|
<tr><td>2</td><td>1d6-6</td></tr>
|
|
<tr><td>3</td><td>1d6-5</td></tr>
|
|
<tr><td>4</td><td>1d6-5</td></tr>
|
|
<tr><td>5</td><td>1d6-4</td></tr>
|
|
<tr><td>6</td><td>1d6-4</td></tr>
|
|
<tr><td>7</td><td>1d6-3</td></tr>
|
|
<tr><td>8</td><td>1d6-3</td></tr>
|
|
<tr><td>9</td><td>1d6-2</td></tr>
|
|
<tr><td>10</td><td>1d6-2</td></tr>
|
|
<tr><td>11</td><td>1d6-1</td></tr>
|
|
<tr><td>12</td><td>1d6-1</td></tr>
|
|
<tr><td>13</td><td>1d6</td></tr>
|
|
</tbody>
|
|
</table>
|
|
<table>
|
|
<thead><tr><th>Strength</th><th>Thrust</th></tr></thead>
|
|
<tbody>
|
|
<tr><td>14</td><td>1d6</td></tr>
|
|
<tr><td>15</td><td>1d6+1</td></tr>
|
|
<tr><td>16</td><td>1d6+1</td></tr>
|
|
<tr><td>17</td><td>1d6+2</td></tr>
|
|
<tr><td>18</td><td>1d6+2</td></tr>
|
|
<tr><td>19</td><td>2d6-1</td></tr>
|
|
<tr><td>20</td><td>2d6-1</td></tr>
|
|
<tr><td>21</td><td>2d6</td></tr>
|
|
<tr><td>22</td><td>2d6</td></tr>
|
|
<tr><td>23</td><td>2d6+1</td></tr>
|
|
<tr><td>24</td><td>2d6+1</td></tr>
|
|
<tr><td>25</td><td>2d6+2</td></tr>
|
|
<tr><td>26</td><td>2d6+2</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_thrust" value="1d6-2" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="/roll @{thrust}" name="roll_dmgThrust" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-swing-damage">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Swing</div>
|
|
<span class="sheet-tooltip">
|
|
Swing Damage
|
|
<br />
|
|
<div>See page 16 for the complete table.</div>
|
|
<table>
|
|
<thead><tr><th>Strength</th><th>Swing</th></tr></thead>
|
|
<tbody>
|
|
<tr><td>1</td><td>1d6-5</td></tr>
|
|
<tr><td>2</td><td>1d6-5</td></tr>
|
|
<tr><td>3</td><td>1d6-4</td></tr>
|
|
<tr><td>4</td><td>1d6-4</td></tr>
|
|
<tr><td>5</td><td>1d6-3</td></tr>
|
|
<tr><td>6</td><td>1d6-3</td></tr>
|
|
<tr><td>7</td><td>1d6-2</td></tr>
|
|
<tr><td>8</td><td>1d6-2</td></tr>
|
|
<tr><td>9</td><td>1d6-1</td></tr>
|
|
<tr><td>10</td><td>1d6</td></tr>
|
|
<tr><td>11</td><td>1d6+1</td></tr>
|
|
<tr><td>12</td><td>1d6+2</td></tr>
|
|
<tr><td>13</td><td>2d6-1</td></tr>
|
|
</tbody>
|
|
</table>
|
|
<table>
|
|
<thead><tr><th>Strength</th><th>Swing</th></tr></thead>
|
|
<tbody>
|
|
<tr><td>14</td><td>2d6</td></tr>
|
|
<tr><td>15</td><td>2d6+1</td></tr>
|
|
<tr><td>16</td><td>2d6+2</td></tr>
|
|
<tr><td>17</td><td>3d6-1</td></tr>
|
|
<tr><td>18</td><td>3d6</td></tr>
|
|
<tr><td>19</td><td>3d6+1</td></tr>
|
|
<tr><td>20</td><td>3d6+2</td></tr>
|
|
<tr><td>21</td><td>4d6-1</td></tr>
|
|
<tr><td>22</td><td>4d6</td></tr>
|
|
<tr><td>23</td><td>4d6+1</td></tr>
|
|
<tr><td>24</td><td>4d6+2</td></tr>
|
|
<tr><td>25</td><td>5d6-1</td></tr>
|
|
<tr><td>26</td><td>5d6</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_swing" value="1d6" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="/roll @{swing}" name="roll_dmgSwing" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-attributes -->
|
|
|
|
<div class="sheet-box sheet-stats">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Stats</div>
|
|
<div class="sheet-cell sheet-col2">Value</div>
|
|
<div class="sheet-cell sheet-col1">Pts</div>
|
|
</div> <!-- .sheet-header -->
|
|
<div class="sheet-row sheet-row-hit-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Max HP</div>
|
|
<span class="sheet-tooltip">
|
|
Hit Points
|
|
<br />
|
|
Based on Strength
|
|
<br />
|
|
2pts/level
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_hit_points_max" value="10" readonly="readonly" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_hit_points_points" value="0" step="2" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-current-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Current HP</div>
|
|
<span class="sheet-tooltip">
|
|
Current Hit Points
|
|
<br />
|
|
When you're hit points are low, you take penalties.
|
|
<br />
|
|
See Page 419.
|
|
<table>
|
|
<tbody>
|
|
<tr>
|
|
<td class="sheet-label">Reeling</td>
|
|
<td><input type="text" name="attr_hp_reeling" value="Less than [[(@{hit_points|max}) / 3]]" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- Halve Move, Speed, and Dodge
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="sheet-label">Verge of Collapse</td>
|
|
<td><input type="text" value="Less than 0" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- Roll every turn @{VS} HT or fall unconscious.
|
|
<br />
|
|
- Your HT roll is at -1 for every 1xHP you are below 0.
|
|
<br />
|
|
- If you do nothing, and don't defend, you don't have to roll.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="sheet-label">Verge of Death</td>
|
|
<td><input value="(@{hit_points|max}) * -1" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- Roll once @{VS} HT to stay alive.
|
|
<br />
|
|
- If you fail by 1 or 2 you are mortally wounded, but not dead.
|
|
<br />
|
|
- Roll again every time you take injury that puts you below<br />
|
|
another multiple of your max HP.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="sheet-label">Death</td>
|
|
<td><input value="(@{hit_points|max}) * -5" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- You are dead.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="sheet-label">Total Destruction</td>
|
|
<td><input value="(@{hit_points|max}) * -10" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- Your body has been destroyed beyond recognition or ressurection.
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_hit_points" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-fatigue-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Max FP</div>
|
|
<span class="sheet-tooltip">
|
|
Fatigue Points
|
|
<br />
|
|
Based on Health
|
|
<br />
|
|
3pts/level
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_fatigue_points_max" value="10" readonly="readonly" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_fatigue_points_points" value="0" step="3" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-current-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Current FP</div>
|
|
<span class="sheet-tooltip">
|
|
Current Fatigue Points
|
|
<br />
|
|
When you're fatigue points are low you take penalties.
|
|
<br />
|
|
See Page 426.
|
|
<table>
|
|
<tbody>
|
|
<tr>
|
|
<td class="sheet-label">Tired</td>
|
|
<td><input type="text" name="attr_fp_tired" value="Less than [[(@{fatigue_points|max}) / 3]]" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- Halve Move, ST, and Dodge
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="sheet-label">Verge of Collapse</td>
|
|
<td><input type="text" value="Less than 0" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- Further FP loss also comes off your HP.
|
|
<br />
|
|
- Roll against Will to do anything besides rest or talk.
|
|
<br />
|
|
- If you fail your Will roll, you fall unconscious.
|
|
<br />
|
|
- On a critical failure, roll @{VS} HT or suffer a heart attack.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="sheet-label">Unconscious</td>
|
|
<td><input value="[[-(@{fatigue_points|max})]]" disabled="disabled"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
- Immediately fall unconscious
|
|
<br />
|
|
- FP can't drop any lower, but you still lose HP.
|
|
<br />
|
|
- You regain consciousness at 0 FP
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_fatigue_points" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-energy-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Max ER</div>
|
|
<span class="sheet-tooltip">
|
|
Energy Reserve
|
|
<br />
|
|
Rules can vary depending on what<br />
|
|
magic system you are using.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_energy_points_max" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_energy_points_points" value="0" step="3" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-current-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Current ER</div>
|
|
<span class="sheet-tooltip">
|
|
Current Energy Reserve
|
|
<br />
|
|
Rules can vary.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_energy_points" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-hr">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<input type="text" name="attr_user_pool1_name" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_user_pool1_max" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_user_pool1_points" value=0 />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-current-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Current</div>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_user_pool1" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<input type="text" name="attr_user_pool2_name" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_user_pool2_max" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_user_pool2_points" value=0 />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-sub-row sheet-row-current-points">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Current</div>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_user_pool2" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- _____ _____ MISCELLENEOUS BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-miscelleneous">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Miscelleneous</div>
|
|
<div class="sheet-cell sheet-col1">Pts</div>
|
|
</div> <!-- .sheet-header -->
|
|
<div class="sheet-row sheet-row-tech-level">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Tech Level</div>
|
|
<span class="sheet-tooltip">
|
|
This is the technology level that you character is familiar with.
|
|
<br />
|
|
It costs 5 points to raise this above or below the campaign"s<br />normal TL.
|
|
<div class="sheet-clearfix"></div>
|
|
<table style="text-align: left; widdiv: 100%;">
|
|
<tbody>
|
|
<tr><td>TL0</td><td>Stone Age (Prehistory and later). </td></tr>
|
|
<tr><td>TL1</td><td>Bronze Age (3500 B.C.+).</td></tr>
|
|
<tr><td>TL2</td><td>Iron Age (1200 B.C.+).</td></tr>
|
|
<tr><td>TL3</td><td>Medieval (600 A.D.+).</td></tr>
|
|
<tr><td>TL4</td><td>Age of Sail (1450+).</td></tr>
|
|
<tr><td>TL5</td><td>Industrial Revolution (1730+).</td></tr>
|
|
<tr><td>TL6</td><td>Mechanized Age (1880+).</td></tr>
|
|
<tr><td>TL7</td><td>Nuclear Age (1940+).</td></tr>
|
|
<tr><td>TL8</td><td>Digital Age (1980+).</td></tr>
|
|
<tr><td>TL9</td><td>Microtech Age (2025+?).</td></tr>
|
|
<tr><td>TL10</td><td>Robotic Age (2070+?).</td></tr>
|
|
<tr><td>TL11</td><td>Age of Exotic Matter.</td></tr>
|
|
<tr><td>TL12+</td><td>Whatever the GM likes!</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_tl" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" step="5" name="attr_tl_pts" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-appearance">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Appearance
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<select name="attr_appearance">
|
|
<option value="-24">Horrific (-6)</option>
|
|
<option value="-20">Monstrous (-5)</option>
|
|
<option value="-16">Hideous (-4)</option>
|
|
<option value="-8">Ugly (-2)</option>
|
|
<option value="-4">Unattractive (-1)</option>
|
|
<option value="0" selected="selected">Average</option>
|
|
<option value="4">Attractive (+1)</option>
|
|
<option value="12">Handsome (+4/2)</option>
|
|
<option value="16">Very Handsome (+6/2)</option>
|
|
<option value="20">Transcendent (+8/2)</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="text" name="attr_appearance_pts" value="@{appearance}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-race">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Race
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_race" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-gender">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Gender
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_gender" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-size">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Size Modifier
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_size" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-hand">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Primary Hand
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_hand" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-miscelleneous -->
|
|
|
|
|
|
<!-- _____ _____ POINT SUMMARY BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-points">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">
|
|
Point Summary
|
|
</div>
|
|
</div> <!-- .sheet-header -->
|
|
<div class="sheet-row sheet-row-attributes">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Attributes
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_att_points" value="@{strength_points} + @{dexterity_points} + @{intelligence_points} + @{health_points} + @{perception_points} + @{vision_points} + @{hearing_points} + @{taste_smell_points} + @{touch_points} + @{willpower_points} + @{fear_check_points} + @{hit_points_points} + @{fatigue_points_points} + @{energy_points_points} + @{user_pool1_points} + @{user_pool2_points} + @{basic_speed_points} + @{basic_move_points} + @{striking_st_points} + @{lift_st_points}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-traits">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Traits
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_trait_points" readonly="readonly" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-skills">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Skills
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_skill_points" disabled="disabled" value="@{skills_points} + @{techniques_points} + @{spells_points}" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-other">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Other
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_misc_points" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-total sheet-hr">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Total
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_total_points" value="150" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-unspent sheet-hr">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Unspent
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<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 -->
|
|
</div> <!-- .sheet-box .sheet-points -->
|
|
|
|
|
|
<!-- _____ _____ LIFTING BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-lift">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Lifting and Moving</div>
|
|
<div class="sheet-cell sheet-col1">Weight</div>
|
|
</div> <!-- .sheet-header -->
|
|
<div class="sheet-row sheet-row-simple-lift">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Simple Lift</div>
|
|
<span class="sheet-tooltip">
|
|
The weight the character can lift overhead<br />with one hand in one second.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_simple_lift" value="@{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-one-handed-lift">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">One-Handed Lift</div>
|
|
<span class="sheet-tooltip">
|
|
The weight the character can lift overhead<br />with one hand in two seconds.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_one_hand_lift" value="2 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-two-handed-lift">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Two-Handed Lift</div>
|
|
<span class="sheet-tooltip">
|
|
The weight the character can lift overhead<br />with both hands in four seconds.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_two_hand_lift" value="8 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-shove-knock-over">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Shove & Knock Over</div>
|
|
<span class="sheet-tooltip">
|
|
The weight of an object the character can<br />shove and knock over.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_shove_lift" value="12 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-running-shove-knock-over">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Running Shove & Knock Over</div>
|
|
<span class="sheet-tooltip">
|
|
The weight of an object the character can<br />shove and knock over with a running start.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_run_shove_lift" value="24 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-carry-on-back">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Carry On Back</div>
|
|
<span class="sheet-tooltip">
|
|
The weight the character can carry slung<br />over his/her back.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_carry_back_lift" value="15 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-shift-slightly">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<div class="sheet-popup">Shift Slightly</div>
|
|
<span class="sheet-tooltip">
|
|
The weight of an object that the character<br />can shift slightly on a floor.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_shift_lift" value="50 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-lift -->
|
|
|
|
|
|
<!-- _____ _____ ENCUMBERANCE BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-encumberance">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Encumberance</div>
|
|
<div class="sheet-cell sheet-col1">Max Load</div>
|
|
<div class="sheet-cell sheet-col2">Move</div>
|
|
<div class="sheet-cell sheet-col3">Dodge</div>
|
|
</div>
|
|
<div class="sheet-row sheet-row-encumberance-0">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
None (0)
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_lift_0" value="@{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_move_0" value="@{basic_move}" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_dodge_0" value="@{dodge} " disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-encumberance-1">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Light (1)
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_lift_1" value="2 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_move_1" value="floor((@{basic_move}) * 0.8)" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_dodge_1" value="@{dodge} - 1" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-encumberance-2">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Medium (2)
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_lift_2" value="3 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_move_2" value="floor((@{basic_move}) * 0.6)" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_dodge_2" value="@{dodge} - 2" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-encumberance-3">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Heavy (3)
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_lift_3" value="6 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_move_3" value="floor((@{basic_move}) * 0.4)" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_dodge_3" value="@{dodge} - 3" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-encumberance-4">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
X-Heavy (4)
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_lift_4" value="10 * @{basic_lift}" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_move_4" value="floor((@{basic_move}) * 0.2)" disabled="disabled" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_dodge_4" value="@{dodge} - 4" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-load sheet-hr">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Current (<span name="attr_encumbrance_level" value=""></span>)
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_total_weight" value="" readonly="readonly" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_current_move" value="" readonly="readonly" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_current_dodge" value="" readonly="readonly" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-encumberance -->
|
|
|
|
</div> <!-- .sheet-tab1 -->
|
|
|
|
|
|
<!-- ===== ===== ===== ===== TRAITS TAB ===== ===== ===== ===== -->
|
|
<div class="sheet-tab2">
|
|
|
|
<!-- _____ _____ LANGUAGE BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-language">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Languages</div>
|
|
<div class="sheet-cell sheet-col1">Spoken</div>
|
|
<div class="sheet-cell sheet-col2">Written</div>
|
|
<div class="sheet-cell sheet-col3">Pts</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_languages">
|
|
<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">
|
|
<select name="attr_spoken">
|
|
<option value="3">Native</option>
|
|
<option value="2">Accented</option>
|
|
<option value="1.0">One-Way</option>
|
|
<option value="1">Broken</option>
|
|
<option value="0" selected>None</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<select name="attr_written">
|
|
<option value="3">Native</option>
|
|
<option value="2">Accented</option>
|
|
<option value="1.0">One-Way</option>
|
|
<option value="1">Broken</option>
|
|
<option value="0" selected>None</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="text" name="attr_points" value="@{spoken} + @{written}" disabled="disabled" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</fieldset> <!-- .repeating_languages -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-language -->
|
|
|
|
|
|
<!-- _____ _____ CULTURE BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-culture">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Cultural Familiarities</div>
|
|
<div class="sheet-cell sheet-col1">Pts</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_cultures">
|
|
<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="number" name="attr_points" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</fieldset> <!-- .repeating_languages -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-language -->
|
|
|
|
<div class="sheet-clearfix"> </div>
|
|
|
|
|
|
<!-- _____ _____ ADVENTAGES BOX _____ _____ -->
|
|
<!-- this box uses the identifier "traits" for backwards compatibility -->
|
|
|
|
<div class="sheet-box sheet-traits">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Advantages</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<div class="sheet-popup">CR</div>
|
|
<span class="sheet-tooltip">
|
|
Control Rating
|
|
<br />
|
|
<table>
|
|
<tbody>
|
|
<tr><td>6 or less</td><td>2x</td></tr>
|
|
<tr><td>9 or less</td><td>1.5x</td></tr>
|
|
<tr><td>12 or less</td><td>1x</td></tr>
|
|
<tr><td>15 or less</td><td>0.5x</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">Pts</div>
|
|
<div class="sheet-cell sheet-col3">Ref</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_traits">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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="number" name="attr_control_rating" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_points" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="text" name="attr_ref" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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_traits -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-traits -->
|
|
|
|
<div class="sheet-box sheet-disadvantages">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Disadvantages</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<div class="sheet-popup">CR</div>
|
|
<span class="sheet-tooltip">
|
|
Control Rating
|
|
<br />
|
|
<table>
|
|
<tbody>
|
|
<tr><td>6 or less</td><td>2x</td></tr>
|
|
<tr><td>9 or less</td><td>1.5x</td></tr>
|
|
<tr><td>12 or less</td><td>1x</td></tr>
|
|
<tr><td>15 or less</td><td>0.5x</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">Pts</div>
|
|
<div class="sheet-cell sheet-col3">Ref</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_disadvantages">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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="number" name="attr_control_rating" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_points" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="text" name="attr_ref" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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_disadvantages -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-disadvantages -->
|
|
|
|
<div class="sheet-box sheet-racial">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Racial Traits</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<div class="sheet-popup">CR</div>
|
|
<span class="sheet-tooltip">
|
|
Control Rating
|
|
<br />
|
|
<table>
|
|
<tbody>
|
|
<tr><td>6 or less</td><td>2x</td></tr>
|
|
<tr><td>9 or less</td><td>1.5x</td></tr>
|
|
<tr><td>12 or less</td><td>1x</td></tr>
|
|
<tr><td>15 or less</td><td>0.5x</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">Pts</div>
|
|
<div class="sheet-cell sheet-col3">Ref</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_racial">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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="number" name="attr_control_rating" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_points" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="text" name="attr_ref" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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_disadvantages -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-disadvantages -->
|
|
|
|
</div> <!-- .sheet-tab2 -->
|
|
|
|
|
|
<!-- ===== ===== ===== ===== SKILLS TAB ===== ===== ===== ===== -->
|
|
<div class="sheet-tab3">
|
|
|
|
<!-- _____ _____ SKILLS BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-skills">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Skills</div>
|
|
<div class="sheet-cell sheet-col8"></div>
|
|
<div class="sheet-cell sheet-col1">TL</div>
|
|
<div class="sheet-cell sheet-col2">Level</div>
|
|
<div class="sheet-cell sheet-col3">Attr</div>
|
|
<div class="sheet-cell sheet-col4">Diff</div>
|
|
<div class="sheet-cell sheet-col5">Bonus</div>
|
|
<div class="sheet-cell sheet-col6">Pts</div>
|
|
<div class="sheet-cell sheet-col7">Ref</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_skills">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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-col8">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} @{name} [[@{level} + @{modifier}]]" name="roll_vsSL" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="text" name="attr_tl" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="text" name="attr_level" disabled="disabled" value="@{base} + @{difficulty} + @{bonus} + (floor((@{points} * 0.25) + 2) * ceil( ( ( @{points} - 2 ) + abs( @{points} - 2) ) / 256 ) + @{points} * abs( ceil( ( ( @{points} - 2 ) + abs( @{points} - 2) ) / 256 ) - 1 ))"/>
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<select name="attr_base">
|
|
<option value="@{strength}">ST</option>
|
|
<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>
|
|
<div class="sheet-cell sheet-col4">
|
|
<select name="attr_difficulty">
|
|
<option value="-1">E</option>
|
|
<option value="-2">A</option>
|
|
<option value="-3">H</option>
|
|
<option value="-4">VH</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col5">
|
|
<input type="number" name="attr_bonus" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col6">
|
|
<input type="number" name="attr_points" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col7">
|
|
<input type="text" name="attr_ref" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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 -->
|
|
|
|
|
|
<!-- _____ _____ TECHNIQUES BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-techniques">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Techniques</div>
|
|
<div class="sheet-cell sheet-col1">Parent</div>
|
|
<div class="sheet-cell sheet-col2">Min</div>
|
|
<div class="sheet-cell sheet-col3">Max</div>
|
|
<div class="sheet-cell sheet-col4">Level</div>
|
|
<div class="sheet-cell sheet-col5">Cost</div>
|
|
<div class="sheet-cell sheet-col6">Bonus</div>
|
|
<div class="sheet-cell sheet-col7">Pts</div>
|
|
<div class="sheet-cell sheet-col8">Ref</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_techniques">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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="text" name="attr_parent" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_min" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_max" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<input type="text" name="attr_level" disabled="disabled" value="@{min} + floor(@{points} / @{points_per_level}) + @{bonus}"/>
|
|
</div>
|
|
<div class="sheet-cell sheet-col5">
|
|
<input type="number" name="attr_points_per_level" value="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col6">
|
|
<input type="number" name="attr_bonus" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col7">
|
|
<input type="number" name="attr_points" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col8">
|
|
<input type="text" name="attr_ref" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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 -->
|
|
|
|
</div> <!-- .sheet-tab3 -->
|
|
|
|
|
|
<!-- ===== ===== ===== ===== COMBAT TAB ===== ===== ===== ===== -->
|
|
<div class="sheet-tab4">
|
|
|
|
<!-- _____ _____ HIT LOCATION BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-damage-reduction">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header sheet-row-title">
|
|
<div class="sheet-cell sheet-col0">
|
|
Hit Location
|
|
</div>
|
|
</div> <!-- .sheet-header -->
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Where</div>
|
|
<div class="sheet-cell sheet-col1">Penalty</div>
|
|
<div class="sheet-cell sheet-col2">DR</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-skull">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Skull
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-7
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Face
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-5
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Eyes
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-9
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Neck
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-5
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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-r-arm">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Arms
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-2
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_arms_dr_max" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_arms_dr" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-hands">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Hands
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-4
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Torso
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
0
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Vitals
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-3
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Groin
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-3
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<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">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Legs
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-2
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_legs_dr" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_legs_dr_max" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-feet">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Feet
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-4
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_feet_dr" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_feet_dr_max" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-r-foot">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
Area
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
-
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_area_dr" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_area_dr_max" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<fieldset class="repeating_location">
|
|
<div class="sheet-row sheet-row-stats">
|
|
<div class="sheet-cell sheet-col0 sheet-label">
|
|
<input type="text" name="attr_name" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="hit_penalty" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_dr" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_dr_max" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</fieldset>
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-damage-reduction -->
|
|
|
|
|
|
<!-- _____ _____ ACTIVE DEFENSE BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-active-defense">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Active Defenses</div>
|
|
<div class="sheet-cell sheet-col1">Type</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<div class="sheet-popup">Info</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<br /> (and vice versa).
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">Skill</div>
|
|
</div> <!-- .sheet-header -->
|
|
<div class="sheet-row sheet-row-stats sheet-row-standard">
|
|
<div class="sheet-cell sheet-col0">Dodge</div>
|
|
<div class="sheet-cell sheet-col1">Dodge</div>
|
|
<div class="sheet-cell sheet-col2"></div>
|
|
<div class="sheet-cell sheet-col3"><input type="text" name="attr_ad_dodge_skill" value="@{current_dodge}" disabled="disabled" /></div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Dodge [[@{current_dodge} + @{modifier}]]" name="roll_vsDodge" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-stats sheet-row-standard">
|
|
<div class="sheet-cell sheet-col0">Dodge and Retreat</div>
|
|
<div class="sheet-cell sheet-col1">Dodge</div>
|
|
<div class="sheet-cell sheet-col2"></div>
|
|
<div class="sheet-cell sheet-col3"><input type="text" name="attr_ad_dodge_skill" value="@{current_dodge} + 3" disabled="disabled" /></div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} Dodge and Retreat [[@{current_dodge} + @{modifier} + 3]]" name="roll_vsDodgeRetreat" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<fieldset class="repeating_defense">
|
|
<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">
|
|
<select name="attr_type">
|
|
<option>Dodge</option>
|
|
<option>Parry</option>
|
|
<option>Block</option>
|
|
<option>Magic</option>
|
|
<option>Other</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="text" name="attr_info" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="text" name="attr_skill" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} @{name} [[@{skill} + @{modifier}]]" name="roll_vsSL" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</fieldset> <!-- .repeating_defense -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-active-defense -->
|
|
|
|
|
|
<!-- _____ _____ MELEE ATTACKS BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-melee-attacks">
|
|
<div class="sheet-table">
|
|
<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">Damage</div>
|
|
<span class="sheet-tooltip">
|
|
<strong>Armour Divisor</strong>: A number in parenthesis after<br />
|
|
the damage - eg. (2) - is an armour divisor.<br />
|
|
Divide the target"s DR by this number.
|
|
<br />
|
|
<strong>ex</strong>: indicates the attack causes an explosion.<br />
|
|
See page 269.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<div class="sheet-popup">Type</div>
|
|
<span class="sheet-tooltip">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Abbr</th>
|
|
<th>Multiplier</th>
|
|
<th>Name</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>cut</td> <td>x1.5</td><td>Cutting</td></tr>
|
|
<tr><td>imp</td> <td>x2.0</td><td>Impaling</td></tr>
|
|
<tr><td>cr</td> <td>x1.0</td><td>Crushing</td></tr>
|
|
<tr><td>pi-</td> <td>x0.5</td><td>Small Piercing</td></tr>
|
|
<tr><td>pi</td> <td>x1.0</td><td>Piercing</td></tr>
|
|
<tr><td>pi+</td> <td>x1.5</td><td>Large Piercing</td></tr>
|
|
<tr><td>pi++</td><td>x2.0</td><td>Huge Piercing</td></tr>
|
|
<tr><td>aff</td> <td>-</td><td>Affliction</td></tr>
|
|
<tr><td>burn</td><td>x1.0</td><td>Burning</td></tr>
|
|
<tr><td>cor</td> <td>x1.0</td><td>Corrosion</td></tr>
|
|
<tr><td>fat</td> <td>x1.0</td><td>Fatigue</td></tr>
|
|
<tr><td>tox</td> <td>x1.0</td><td>Toxic</td></tr>
|
|
<tr><td>spec</td><td>-</td><td>Special</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col5">Skill</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_melee">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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="text" name="attr_reach" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="text" name="attr_damage" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<select name="attr_type">
|
|
<option value="Cutting (cut)">cut</option>
|
|
<option value="Impaling (imp)">imp</option>
|
|
<option value="Crushing (cr)">cr</option>
|
|
<option value="Small Piercing (pi-)">pi-</option>
|
|
<option value="Piercing (pi)">pi</option>
|
|
<option value="Large Piercing (pi+)">pi+</option>
|
|
<option value="Huge Piercing (pi++)">pi++</option>
|
|
<option value="Affliction (aff)">aff</option>
|
|
<option value="Burning (burn)">burn</option>
|
|
<option value="Corrosion (cor)">cor</option>
|
|
<option value="Fatigue (fat)">fat</option>
|
|
<option value="Toxic (tox)">tox</option>
|
|
<option value="Special (spec)">spec</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<button type="roll" value="@{roll} [[@{damage}]] @{type} damage. (@{name})" name="roll_damage" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col5">
|
|
<input type="text" name="attr_skill" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col6">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} @{name} [[@{skill} + @{modifier}]]" name="roll_vsSL" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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-melee-attacks -->
|
|
|
|
|
|
<!-- _____ _____ RANGED ATTACKS BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-ranged-attacks">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Ranged Attacks</div>
|
|
<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-col2">Acc</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<div class="sheet-popup">RoF</div>
|
|
<span class="sheet-tooltip">
|
|
Rate of Fire
|
|
<br />
|
|
The maximum number of shots that can be fired in <br />
|
|
one turn (by a regular person).
|
|
<br />
|
|
The minimum number of shots is 1.
|
|
<br /><br />
|
|
<strong>!</strong>: minimum RoF is 1/4 of the maximum, rounded up.
|
|
<br />
|
|
<strong>mxn</strong>: fires the first number of shots, which each then split<br />
|
|
into the second number (eg. shotguns)
|
|
<br />
|
|
<strong>Jet</strong>: shoots a continuous stream of fliud. See page 106.
|
|
</span>
|
|
</div>
|
|
<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.
|
|
<br />
|
|
The parenthetical number indicates the number of 1 second ready maneuvers<br />
|
|
required to reload the weapon.
|
|
<br />
|
|
<strong>T</strong>: the weapon is thrown. To "reload" it, pick it up.
|
|
<br />
|
|
<strong>i</strong>: you must load the shots individually. the listed time<br />
|
|
is for each shot.
|
|
</span>
|
|
</div>
|
|
<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<br />
|
|
by which you make your attack roll means you score<br />
|
|
one extra hit, to a maximum number of hits equal<br />
|
|
to total shots fired. See page 373.
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col7">Damage</div>
|
|
<div class="sheet-cell sheet-col8">
|
|
<div class="sheet-popup">Type</div>
|
|
<span class="sheet-tooltip">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Abbr</th>
|
|
<th>Multiplier</th>
|
|
<th>Name</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>cut</td> <td>x1.5</td><td>Cutting</td></tr>
|
|
<tr><td>imp</td> <td>x2.0</td><td>Impaling</td></tr>
|
|
<tr><td>cr</td> <td>x1.0</td><td>Crushing</td></tr>
|
|
<tr><td>pi-</td> <td>x0.5</td><td>Small Piercing</td></tr>
|
|
<tr><td>pi</td> <td>x1.0</td><td>Piercing</td></tr>
|
|
<tr><td>pi+</td> <td>x1.5</td><td>Large Piercing</td></tr>
|
|
<tr><td>pi++</td><td>x2.0</td><td>Huge Piercing</td></tr>
|
|
<tr><td>aff</td> <td>-</td><td>Affliction</td></tr>
|
|
<tr><td>burn</td><td>x1.0</td><td>Burning</td></tr>
|
|
<tr><td>cor</td> <td>x1.0</td><td>Corrosion</td></tr>
|
|
<tr><td>fat</td> <td>x1.0</td><td>Fatigue</td></tr>
|
|
<tr><td>tox</td> <td>x1.0</td><td>Toxic</td></tr>
|
|
<tr><td>spec</td><td>-</td><td>Special</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span>
|
|
</div>
|
|
<div class="sheet-cell sheet-col10">Skill</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_ranged">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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="text" name="attr_range" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="text" name="attr_acc" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="text" name="attr_rof" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<input type="text" name="attr_shots" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col5">
|
|
<input type="text" name="attr_bulk" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col6">
|
|
<input type="text" name="attr_recoil" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col7">
|
|
<input type="text" name="attr_damage" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col8">
|
|
<select name="attr_type">
|
|
<option value="Cutting (cut)">cut</option>
|
|
<option value="Impaling (imp)">imp</option>
|
|
<option value="Crushing (cr)">cr</option>
|
|
<option value="Small Piercing (pi-)">pi-</option>
|
|
<option value="Piercing (pi)">pi</option>
|
|
<option value="Large Piercing (pi+)">pi+</option>
|
|
<option value="Huge Piercing (pi++)">pi++</option>
|
|
<option value="Burning (burn)">burn</option>
|
|
<option value="Corrosion (cor)">cor</option>
|
|
<option value="Fatigue (fat)">fat</option>
|
|
<option value="Toxic (tox)">tox</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col9">
|
|
<button type="roll" value="@{roll} [[@{damage}]] @{type} damage. (For @{name})" name="roll_damage" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col10">
|
|
<input type="text" name="attr_skill" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col11">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} @{name} [[@{skill} + @{modifier}]]" name="roll_vsSL" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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-ranged-attacks -->
|
|
|
|
</div> <!-- .sheet-tab4 -->
|
|
|
|
|
|
<!-- ===== ===== ===== ===== ITEMS TAB ===== ===== ===== ===== -->
|
|
<div class="sheet-tab5">
|
|
|
|
<!-- _____ _____ QUICK INVENTORY BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-quick-inventory sheet-textarea">
|
|
<div class="sheet-label">Quick Inventory</div>
|
|
<textarea name="attr_quick_inventory"></textarea>
|
|
</div>
|
|
|
|
<!-- _____ _____ WEALTH BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-items">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Possessions</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<div class="sheet-popup">On</div>
|
|
<span class="sheet-tooltip">
|
|
Carried
|
|
<br />
|
|
Is the item being carried at the moment?
|
|
</span>
|
|
</div>
|
|
<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">$+</div>
|
|
<div class="sheet-cell sheet-col6">W+</div>
|
|
</div>
|
|
<fieldset class="repeating_item">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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 class="sheet-boolean" type="checkbox" name="attr_carried" value="1" checked />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="number" name="attr_count" value="1" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_cost" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<input type="number" name="attr_weight" value="0" step="any" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col5">
|
|
<span name="attr_costtotal" value="0" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col6">
|
|
<span name="attr_weighttotal" value="0" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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:
|
|
</div>
|
|
<div class="sheet-cell sheet-col1">
|
|
<input type="number" name="attr_total_value" value="0" readonly="readonly" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2 sheet-label">
|
|
Total Weight:
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<input type="number" name="attr_total_weight" value="0" readonly="readonly" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-skills -->
|
|
|
|
</div> <!-- .sheet-tab5 -->
|
|
|
|
|
|
<!-- ===== ===== ===== ===== GRIMOIRE TAB ===== ===== ===== ===== -->
|
|
<div class="sheet-tab6">
|
|
|
|
<!-- _____ _____ SPELLS SETUP _____ _____ -->
|
|
<div class="sheet-box sheet-spells">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell"> Spells Based on: </div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<select name="attr_spell_base">
|
|
<option value="@{strength}">ST</option>
|
|
<option value="@{dexterity}">DX</option>
|
|
<option value="@{intelligence}" selected>IQ</option>
|
|
<option value="@{health}">HT</option>
|
|
<option value="@{willpower}">Will</option>
|
|
<option value="@{perception}">Per</option>
|
|
<option value="10">10</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell"> Magery/PI/Bonus Level: </div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<input type="number" name="attr_spell_bonus" value="0" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- _____ _____ SPELLS BOX _____ _____ -->
|
|
|
|
<div class="sheet-box sheet-spells">
|
|
<div class="sheet-table">
|
|
<div class="sheet-header">
|
|
<div class="sheet-cell sheet-col0">Spell</div>
|
|
<div class="sheet-cell sheet-col1"></div>
|
|
<div class="sheet-cell sheet-col2">Level</div>
|
|
<div class="sheet-cell sheet-col3">Diff</div>
|
|
<div class="sheet-cell sheet-col4">Pts</div>
|
|
<div class="sheet-cell sheet-col5">Time</div>
|
|
<div class="sheet-cell sheet-col6">Duration</div>
|
|
<div class="sheet-cell sheet-col7">Cost</div>
|
|
<div class="sheet-cell sheet-col8">Maintain</div>
|
|
<div class="sheet-cell sheet-col9">Ref</div>
|
|
</div> <!-- .sheet-header -->
|
|
<fieldset class="repeating_spells">
|
|
<input class="sheet-toggle" type="checkbox" />
|
|
<span class="sheet-checkbox"></span>
|
|
<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">
|
|
<button type="roll" value="@{roll} [[3d6]] @{VS} @{name} [[@{level} + @{modifier}]]" name="roll_vsSL" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col2">
|
|
<input type="text" name="attr_level" disabled="disabled"
|
|
value="@{spell_base} + @{difficulty} + @{spell_bonus} + (floor((@{points} * 0.25) + 2) * ceil( ( ( @{points} - 2 ) + abs( @{points} - 2) ) / 256 ) + @{points} * abs( ceil( ( ( @{points} - 2 ) + abs( @{points} - 2) ) / 256 ) - 1 ))"/>
|
|
</div>
|
|
<div class="sheet-cell sheet-col3">
|
|
<select name="attr_difficulty">
|
|
<option value="-3">H</option>
|
|
<option value="-4">VH</option>
|
|
</select>
|
|
</div>
|
|
<div class="sheet-cell sheet-col4">
|
|
<input type="number" name="attr_points" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col5">
|
|
<input type="text" name="attr_casttime" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col6">
|
|
<input type="text" name="attr_duration" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col7">
|
|
<input type="text" name="attr_cost" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col8">
|
|
<input type="text" name="attr_maintain" />
|
|
</div>
|
|
<div class="sheet-cell sheet-col9">
|
|
<input type="text" name="attr_ref" />
|
|
</div>
|
|
</div> <!-- .sheet-row -->
|
|
<div class="sheet-row sheet-row-details">
|
|
<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_spells -->
|
|
</div> <!-- .sheet-table -->
|
|
</div> <!-- .sheet-box .sheet-spells -->
|
|
</div> <!-- .sheet-tab6 -->
|
|
|
|
|
|
<!-- ===== ===== ===== ===== LOGO ===== ===== ===== ===== -->
|
|
|
|
<div style="text-align: center; margin-top: 10px;">
|
|
<img height="30px" src="http://www.sjgames.com/poweredbygurps/img/logo.gif" />
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<hr />
|
|
<input type="radio" name="attr_modifier" value="0" checked="true" />
|
|
<span class="sheet-popup">No Modifier Prompt</span>
|
|
<span class="sheet-tooltip">
|
|
Rolls will be made immediately with no prompt.
|
|
</span>
|
|
<br /><input type="radio" name="attr_modifier" value="?{Modifier|0}" />
|
|
<span class="sheet-popup">Single Modifier Prompt</span>
|
|
<span class="sheet-tooltip">
|
|
Ask for a bonus or penalty to be added to dice rolls.
|
|
<br />
|
|
This will not affect damage rolls.
|
|
</span>
|
|
<br />
|
|
<input type="radio" name="attr_modifier" value="?{Modifier|0} + ?{Shock|0} + ?{Reeling or Staggered|0} + ?{Off-Hand|0} + ?{Familiarity|0}" />
|
|
<span class="sheet-popup">Extended Modifier Prompts</span>
|
|
<span class="sheet-tooltip">
|
|
Instead of a single modifier, rolls will ask for a series of modifiers,<br />
|
|
to remind you about potential bonuses/penalties.
|
|
<br />
|
|
This will not affect damage rolls.
|
|
</span>
|
|
|
|
<br />
|
|
<br />
|
|
|
|
<input type="radio" name="attr_roll" value="@{character_name} rolls" checked="true" />
|
|
<span class="sheet-popup">Public Rolls</span>
|
|
<span class="sheet-tooltip">
|
|
All players will be able to see<br />
|
|
your skill level, roll and results.
|
|
</span>
|
|
<br />
|
|
<input type="radio" name="attr_roll" value="/w gm --l @{character_name} rolls" />
|
|
<span class="sheet-popup">Private Skill Levels</span>
|
|
<span class="sheet-tooltip">
|
|
Only the GM will be able to see<br />
|
|
your skill level, but all players<br />
|
|
will see the result.
|
|
<br />
|
|
This will not affect damage rolls.
|
|
</span>
|
|
<br />
|
|
<input type="radio" name="attr_roll" value="/w gm @{character_name} rolls" />
|
|
<span class="sheet-popup">Private Rolls</span>
|
|
<span class="sheet-tooltip">
|
|
Only the GM will see your skill<br />
|
|
level and the result.
|
|
<br />
|
|
This will not affect damage rolls.
|
|
</span>
|
|
|
|
<br />
|
|
</div>
|
|
|
|
<script type="text/worker">
|
|
|
|
var version = 1.3;
|
|
|
|
/* Due to the change from auto-calc fields to helper scrips,
|
|
* I'm running a "on open" to set various fields. At some point
|
|
* in the future this might no longer be needed.
|
|
*/
|
|
on('sheet:opened', function() {
|
|
console.log('********* Sheet Opened *********');
|
|
getAttrs(["sheet_version"], function(v) {
|
|
if (!v.sheet_version || v.sheet_version != version) {
|
|
setAttrs({ sheet_version: version });
|
|
// Get all the data we need to populate driviative fields:
|
|
getAttrs(["strength_points", "strength_mod", "dexterity_points", "dexterity_mod", "intelligence_points", "intelligence_mod", "health_points", "health_mod"], function (v) {
|
|
setAttrs({
|
|
strength_base: 0,
|
|
dexterity_base: 0,
|
|
intelligence_base: 0,
|
|
health_base: 0,
|
|
perception_base: 0,
|
|
willpower_base: 0,
|
|
basic_speed_base: 0,
|
|
basic_move_base: 0,
|
|
dodge_base: 0,
|
|
lift_st_base: 0,
|
|
striking_st_base: 0
|
|
}, {silent: "false"}, function () {
|
|
updateST(v);
|
|
updateDX(v);
|
|
updateIQ(v);
|
|
updateHT(v);
|
|
});
|
|
});
|
|
// initalize any empty fields in repeating sections since the
|
|
// default values were removed.
|
|
loadRepeating("repeating_languages", "spoken", 0);
|
|
loadRepeating("repeating_languages", "written", 0);
|
|
loadRepeating("repeating_skills", "points", 1);
|
|
loadRepeating("repeating_cultures", "points", 1);
|
|
loadRepeating("repeating_techniques", "points", 1);
|
|
loadRepeating("repeating_spells", "points", 1);
|
|
sumRepeating("repeating_item", "weighttotal", function(v) {
|
|
setAttrs({ total_weight: (v * 100) / 100 });
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
// Sum values, used in reduce
|
|
function getSum(total, num) {
|
|
return (+total || 0) + (+num || 0);
|
|
}
|
|
|
|
// function to sum a field from a repeating section
|
|
function sumRepeating(sectionName, fieldName, callback) {
|
|
getSectionIDs(sectionName, function (ids) {
|
|
if (ids.length === 0 ) {
|
|
callback(0);
|
|
return;
|
|
}
|
|
var fieldArray = [];
|
|
for (var i = 0; i < ids.length; i++) {
|
|
fieldArray.push(sectionName + '_' + ids[i] + '_' + fieldName);
|
|
}
|
|
getAttrs(fieldArray, function (fieldValues) {
|
|
var vals = Object.values(fieldValues);
|
|
vals.push(0);
|
|
var total = vals.reduce(getSum);
|
|
callback(total);
|
|
});
|
|
});
|
|
}
|
|
|
|
// load values of a repeating section
|
|
function loadRepeating(sectionName, fieldName, defaultValue) {
|
|
console.log('********* loadRepeating ' + sectionName + '.' + fieldName + '*********');
|
|
getSectionIDs(sectionName, function (ids) {
|
|
if (ids.length === 0 ) {
|
|
return;
|
|
}
|
|
var fieldArray = [];
|
|
var update = {};
|
|
for (var i = 0; i < ids.length; i++) {
|
|
var propName = sectionName + '_' + ids[i] + '_' + fieldName;
|
|
fieldArray.push(propName);
|
|
update[propName] = defaultValue;
|
|
}
|
|
getAttrs(fieldArray, function (fieldValues) {
|
|
Object.assign(update, fieldValues);
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
}
|
|
|
|
// Strength Change
|
|
on("change:strength_points change:strength_mod", function (e) {
|
|
getAttrs(["strength_points", "strength_mod"], function(v) {
|
|
updateST(v);
|
|
});
|
|
});
|
|
// Update Strength
|
|
function updateST(v) {
|
|
console.log('********* updateST *********');
|
|
var base = 10 + ((v.strength_points || 0) / 10 | 0);
|
|
var mod = v.strength_mod || 0;
|
|
setAttrs({
|
|
strength_base: +base,
|
|
strength: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Dexterity Change
|
|
on("change:dexterity_points change:dexterity_mod", function (e) {
|
|
getAttrs(["dexterity_points", "dexterity_mod"], function(v) {
|
|
updateDX(v);
|
|
});
|
|
});
|
|
// Update Dexterity
|
|
function updateDX(v) {
|
|
console.log('********* updateDX *********');
|
|
var base = 10 + ((v.dexterity_points || 0) / 20 | 0);
|
|
var mod = v.dexterity_mod || 0;
|
|
setAttrs({
|
|
dexterity_base: +base,
|
|
dexterity: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Intelligence
|
|
on("change:intelligence_points change:intelligence_mod", function (e) {
|
|
getAttrs(["intelligence_points", "intelligence_mod"], function(v) {
|
|
updateIQ(v);
|
|
});
|
|
});
|
|
// Update Intelligence
|
|
function updateIQ(v) {
|
|
console.log('********* updateIQ *********');
|
|
var base = 10 + ((v.intelligence_points || 0) / 20 | 0);
|
|
var mod = v.intelligence_mod || 0;
|
|
setAttrs({
|
|
intelligence_base: +base,
|
|
intelligence: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Health
|
|
on("change:health_points change:health_mod", function (e) {
|
|
getAttrs(["health_points", "health_mod"], function(v) {
|
|
updateHT(v);
|
|
});
|
|
});
|
|
// Update Health
|
|
function updateHT(v) {
|
|
console.log('********* updateHT *********');
|
|
var base = 10 + ((v.health_points || 0) / 10 | 0);
|
|
var mod = v.health_mod || 0;
|
|
setAttrs({
|
|
health_base: +base,
|
|
health: +base + +mod
|
|
});
|
|
}
|
|
|
|
// HP
|
|
on("change:strength_base change:hit_points_points", function (e) {
|
|
getAttrs(["strength_base", "hit_points_points"], function(v) {
|
|
updateHP(v);
|
|
});
|
|
});
|
|
// Update HP
|
|
function updateHP(v) {
|
|
console.log('********* updateHP *********');
|
|
var base = v.strength_base + ((v.hit_points_points || 0) / 2 | 0);
|
|
setAttrs({
|
|
hit_points_max: +base
|
|
});
|
|
}
|
|
|
|
// FP
|
|
on("change:health_base change:fatigue_points_points", function (e) {
|
|
getAttrs(["health_base", "fatigue_points_points"], function(v) {
|
|
updateFP(v);
|
|
});
|
|
});
|
|
// Update FP
|
|
function updateFP(v) {
|
|
console.log('********* updateFP *********');
|
|
var base = v.health_base + ((v.fatigue_points_points || 0) / 3 | 0);
|
|
setAttrs({
|
|
fatigue_points_max: +base
|
|
});
|
|
}
|
|
|
|
// Perception
|
|
on("change:intelligence_base change:perception_points change:perception_mod", function (e) {
|
|
getAttrs(["intelligence_base", "perception_points", "perception_mod"], function(v) {
|
|
updatePer(v);
|
|
});
|
|
});
|
|
// Update Perception
|
|
function updatePer(v) {
|
|
console.log('********* updatePer *********');
|
|
var base = v.intelligence_base + ((v.perception_points || 0) / 5 | 0);
|
|
var mod = v.perception_mod || 0;
|
|
setAttrs({
|
|
perception_base: +base,
|
|
perception: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Vision, Hearing, Smell, Touch
|
|
on("change:perception_base change:vision_points change:vision_mod change:hearing_points change:hearing_mod change:taste_smell_points change:taste_smell_mod change:touch_points change:touch_mod", function (e) {
|
|
getAttrs(["perception_base", "vision_points", "vision_mod", "hearing_points", "hearing_mod", "taste_smell_points", "taste_smell_mod", "touch_points", "touch_mod"], function(v) {
|
|
updateSense(v);
|
|
});
|
|
});
|
|
// Update Vision, Hearing, Smell, Touch
|
|
function updateSense(v) {
|
|
console.log('********* updateSense *********');
|
|
var visionBase = v.perception_base + ((v.vision_points || 0) / 2 | 0);
|
|
var visionMod = v.vision_mod || 0;
|
|
var hearingBase = v.perception_base + ((v.hearing_points || 0) / 2 | 0);
|
|
var hearingMod = v.hearing_mod || 0;
|
|
var tasteSmellBase = v.perception_base + ((v.taste_smell_points || 0) / 2 | 0);
|
|
var tasteSmellMod = v.taste_smell_mod || 0;
|
|
var touchBase = v.perception_base + ((v.touch_points || 0) / 2 | 0);
|
|
var touchMod = v.touch_mod || 0;
|
|
setAttrs({
|
|
vision_base: +visionBase,
|
|
vision: +visionBase + +visionMod,
|
|
hearing_base: +hearingBase,
|
|
hearing: +hearingBase + +hearingMod,
|
|
taste_smell_base: +tasteSmellBase,
|
|
taste_smell: +tasteSmellBase + +tasteSmellMod,
|
|
touch_base: +touchBase,
|
|
touch: +touchBase + +touchMod
|
|
});
|
|
}
|
|
|
|
// Updage Willpower, Fear
|
|
on("change:intelligence_base change:willpower_points change:willpower_mod change:fear_check_points change:fear_check_mod", function (e) {
|
|
getAttrs(["intelligence_base", "willpower_points", "willpower_mod", "fear_check_points", "fear_check_mod"], function(v) {
|
|
updateWill(v);
|
|
});
|
|
});
|
|
// Updage Willpower, Fear
|
|
function updateWill(v) {
|
|
console.log('********* updateWill *********');
|
|
var wBase = v.intelligence_base + ((v.willpower_points || 0) / 5 | 0);
|
|
var wMod = v.willpower_mod || 0;
|
|
var fBase = wBase + ((v.fear_check_points || 0) / 2 | 0);
|
|
var fMod = v.fear_check_mod || 0;
|
|
setAttrs({
|
|
willpower_base: +wBase,
|
|
willpower: +wBase + +wMod,
|
|
fear_check_base: +fBase,
|
|
fear_check: +fBase + +fMod
|
|
});
|
|
}
|
|
|
|
// Speed
|
|
on("change:dexterity_base change:health_base change:basic_speed_points change:basic_speed_mod", function (e) {
|
|
getAttrs(["dexterity_base", "health_base", "basic_speed_points", "basic_speed_mod"], function(v) {
|
|
updateBasicSpeed(v);
|
|
});
|
|
});
|
|
// Update Speed
|
|
function updateBasicSpeed(v) {
|
|
console.log('********* updateBasicSpeed *********');
|
|
var base = (v.dexterity_base + v.health_base) / 4 + (((v.basic_speed_points || 0) / 5 | 0) * 0.25);
|
|
var mod = v.basic_speed_mod || 0;
|
|
setAttrs({
|
|
basic_speed_base: +base,
|
|
basic_speed: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Move
|
|
on("change:basic_speed_base change:basic_move_points change:basic_move_mod", function (e) {
|
|
getAttrs(["basic_speed_base", "basic_move_points", "basic_move_mod"], function(v) {
|
|
updateBasicMove(v);
|
|
});
|
|
});
|
|
// Update Move
|
|
function updateBasicMove(v) {
|
|
console.log('********* updateBasicMove *********');
|
|
var base = Math.floor(v.basic_speed_base) + ((v.basic_move_points || 0) / 5 | 0);
|
|
var mod = v.basic_move_mod || 0;
|
|
setAttrs({
|
|
basic_move_base: +base,
|
|
basic_move: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Dodge
|
|
on("change:basic_speed change:dodge_mod", function (e) {
|
|
getAttrs(["basic_speed", "dodge_mod"], function(v) {
|
|
updateDodge(v);
|
|
});
|
|
});
|
|
// Update Dodge
|
|
function updateDodge(v) {
|
|
console.log('********* updateDodge *********');
|
|
var base = Math.floor(v.basic_speed) + 3;
|
|
var mod = v.dodge_mod || 0;
|
|
setAttrs({
|
|
dodge_base: +base,
|
|
dodge: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Encumbered/injured move and dodge
|
|
on("change:encumbrance_level change:dodge change:basic_move change:hit_points change:fatigue_points", function (e) {
|
|
getAttrs(["encumbrance_level", "dodge", "basic_move", "hit_points", "hit_points_max", "fatigue_points", "fatigue_points_max", "strength_base", "strength_mod"], function(v) {
|
|
updateMoveDodge(v);
|
|
});
|
|
});
|
|
// Update encumbered/injured move and dodge
|
|
function updateMoveDodge(v) {
|
|
console.log('***** UPDATE MOVE/DODGE *****');
|
|
var dodge = v.dodge;
|
|
var move = v.basic_move;
|
|
var strength = +v.strength_base + +v.strength_mod;
|
|
if (v.encumbrance_level === 5) {
|
|
dodge = 0;
|
|
move = 0;
|
|
} else {
|
|
dodge = dodge - v.encumbrance_level;
|
|
move = Math.floor(v.basic_move * (1 - (0.2 * v.encumbrance_level)));
|
|
dodge = dodge < 0 ? 0 : dodge;
|
|
move = move < 0 ? 0 : move;
|
|
}
|
|
if (v.hit_points < v.hit_points_max / 3) {
|
|
dodge = Math.ceil(dodge/2);
|
|
move = Math.ceil(move/2);
|
|
}
|
|
if (v.fatigue_points < v.fatigue_points_max / 3 ) {
|
|
dodge = Math.ceil(dodge/2);
|
|
move = Math.ceil(move/2);
|
|
strength = Math.ceil(strength/2);
|
|
}
|
|
setAttrs({
|
|
current_move: move,
|
|
current_dodge: dodge,
|
|
strength: strength
|
|
});
|
|
}
|
|
|
|
// Lifting ST
|
|
on("change:strength_base change:lift_st_points change:lift_st_mod", function (e) {
|
|
getAttrs(["strength_base", "lift_st_points", "lift_st_mod"], function(v) {
|
|
updateLift(v);
|
|
});
|
|
});
|
|
// Update Lift
|
|
function updateLift(v) {
|
|
console.log('********* updateLift *********');
|
|
var base = v.strength_base + ((v.lift_st_points || 0) / 3 | 0);
|
|
var modded = +base + +v.lift_st_mod;
|
|
var basicLift = (modded * modded) / 5;
|
|
if (basicLift >= 10) {
|
|
basicLift = Math.round(basicLift);
|
|
}
|
|
setAttrs({
|
|
lift_st_base: +base,
|
|
lift_st: +modded,
|
|
basic_lift: basicLift
|
|
});
|
|
}
|
|
|
|
// Striking ST
|
|
on("change:strength_base change:striking_st_points change:striking_st_mod", function (e) {
|
|
getAttrs(["strength_base", "striking_st_points", "striking_st_mod"], function(v) {
|
|
updateStrikingST(v);
|
|
});
|
|
});
|
|
// Update Striking
|
|
function updateStrikingST(v) {
|
|
console.log('********* updateStrikingST *********');
|
|
var base = v.strength_base + ((v.striking_st_points || 0) / 5 | 0);
|
|
var mod = v.striking_st_mod;
|
|
setAttrs({
|
|
striking_st_base: +base,
|
|
striking_st: +base + +mod
|
|
});
|
|
}
|
|
|
|
// Update the total cost of Languages
|
|
on("change:repeating_languages:spoken change:repeating_languages:written remove:repeating_languages", function (e) {
|
|
var total = 0;
|
|
var tally = _.after(2, function () {
|
|
setAttrs({ languages_points: total });
|
|
});
|
|
sumRepeating("repeating_languages", "spoken", function(v) {
|
|
console.log('Spoken: ' + v);
|
|
total += +v;
|
|
tally();
|
|
});
|
|
sumRepeating("repeating_languages", "written", function(v) {
|
|
console.log('Written: ' + v);
|
|
total += +v;
|
|
tally();
|
|
});
|
|
});
|
|
|
|
// Update the total cost of Cultural Familiarities
|
|
on("change:repeating_cultures:points remove:repeating_cultures", function (e) {
|
|
sumRepeating("repeating_cultures", "points", function(v) {
|
|
setAttrs({ cf_points: v });
|
|
});
|
|
});
|
|
|
|
// Update the total cost of Advantages
|
|
on("change:repeating_traits:points remove:repeating_traits", function (e) {
|
|
sumRepeating("repeating_traits", "points", function(v) {
|
|
setAttrs({ advantages_points: v });
|
|
});
|
|
});
|
|
|
|
// Update the total cost of Disadvantages
|
|
on("change:repeating_disadvantages:points remove:repeating_disadvantages", function (e) {
|
|
sumRepeating("repeating_disadvantages", "points", function(v) {
|
|
setAttrs({ disadvantages_points: v });
|
|
});
|
|
});
|
|
|
|
// Update the total cost of Racial Traits
|
|
on("change:repeating_racial:points remove:repeating_racial", function (e) {
|
|
sumRepeating("repeating_racial", "points", function(v) {
|
|
setAttrs({ racial_points: v });
|
|
});
|
|
});
|
|
|
|
// Update the total cost of Skills
|
|
on("change:repeating_skills:points remove:repeating_skills", function (e) {
|
|
sumRepeating("repeating_skills", "points", function(v) {
|
|
setAttrs({ skills_points: v });
|
|
});
|
|
});
|
|
|
|
// Update the total cost of Techniques
|
|
on("change:repeating_techniques:points remove:repeating_techniques", function (e) {
|
|
sumRepeating("repeating_techniques", "points", function(v) {
|
|
setAttrs({ techniques_points: v });
|
|
});
|
|
});
|
|
|
|
// Update the total cost of Spells
|
|
on("change:repeating_spells:points remove:repeating_spells", function (e) {
|
|
sumRepeating("repeating_spells", "points", function(v) {
|
|
setAttrs({ spells_points: v });
|
|
});
|
|
});
|
|
|
|
// Update Summery
|
|
on("change:tl_pts change:appearance change:languages_points change:cf_points change:advantages_points change:disadvantages_points change:racial_points", function (e) {
|
|
getAttrs(["tl_pts", "appearance", "languages_points", "cf_points", "advantages_points", "disadvantages_points", "racial_points"], function(v) {
|
|
var vals = Object.values(v);
|
|
vals.push(0);
|
|
setAttrs({ trait_points: vals.reduce(getSum) });
|
|
});
|
|
});
|
|
|
|
// Update the line total weight and cost
|
|
on("change:repeating_item:count change:repeating_item:cost change:repeating_item:carried change:repeating_item:weight", function (e) {
|
|
getAttrs([
|
|
"repeating_item_count",
|
|
"repeating_item_cost",
|
|
"repeating_item_weight",
|
|
"repeating_item_carried"
|
|
], function (item) {
|
|
setAttrs({
|
|
repeating_item_weighttotal: Math.round(item.repeating_item_count * item.repeating_item_weight * item.repeating_item_carried * 100) / 100,
|
|
repeating_item_costtotal: Math.round(item.repeating_item_count * item.repeating_item_cost * 100) / 100
|
|
});
|
|
});
|
|
});
|
|
|
|
// Update the total weight of all carried items.
|
|
on("change:repeating_item:weighttotal remove:repeating_item", function (e) {
|
|
sumRepeating("repeating_item", "weighttotal", function(v) {
|
|
setAttrs({ total_weight: (v * 100) / 100 });
|
|
});
|
|
});
|
|
|
|
// Get Encumbrance Level:
|
|
on("change:total_weight change:basic_lift", function (e) {
|
|
getAttrs(["basic_lift", "total_weight"], function(val) {
|
|
var basicLift = +val.basic_lift;
|
|
var encumbranceLevel = Math.floor(val.total_weight / basicLift);
|
|
if (encumbranceLevel > 0 && (val.total_weight % basicLift) === 0) {
|
|
encumbranceLevel--;
|
|
}
|
|
if (encumbranceLevel >= 10) {
|
|
encumbranceLevel = 5;
|
|
} else if (encumbranceLevel >= 6) {
|
|
encumbranceLevel = 4;
|
|
} else if (encumbranceLevel >= 3) {
|
|
encumbranceLevel = 3;
|
|
}
|
|
setAttrs({ encumbrance_level: encumbranceLevel });
|
|
});
|
|
});
|
|
|
|
// Update the total cost of all items.
|
|
on("change:repeating_item:costtotal remove:repeating_item", function (e) {
|
|
sumRepeating("repeating_item", "costtotal", function(v) {
|
|
setAttrs({ total_value: (v * 100) / 100 });
|
|
});
|
|
});
|
|
</script>
|