Files
2024-06-03 13:15:14 -04:00

1120 lines
54 KiB
HTML

<div class="preload">
<img src="https://github.com/wellenina/roll20-the-breach-character-sheet/blob/b1cf6ebbf260eac9cacadb8c833adeb90b745720/images/background-logo.png?raw=true"/>
</div>
<div class="main">
<div class="header">
<h1 data-i18n="the-breach-character-sheet">The Breach - Character Sheet</h1>
</div>
<!-- 1st ROW -->
<div class="row-container">
<!-- IDENTITY -->
<div class="section smaller">
<div class="line rectangular">
<h3 data-i18n="character-name">Name</h3>
<input type="text" spellcheck="false" name="attr_character_name" class="line-content"/>
</div>
<div class="line rectangular">
<h3 data-i18n="pronouns">Pronouns</h3>
<input type="text" spellcheck="false" name="attr_pronouns" class="line-content"/>
</div>
<div class="line rectangular">
<h3 data-i18n="call-sign">Call Sign</h3>
<input type="text" spellcheck="false" name="attr_call_sign" class="line-content"/>
</div>
<div class="line rectangular">
<h3 data-i18n="trait">Trait</h3>
<div class="line-content">
<input type="text" spellcheck="false" name="attr_trait_1"/>
<div class="trait-checkboxes">
<input type="checkbox" name="attr_trait_1_checkbox_1" value="1"/>
<input type="checkbox" name="attr_trait_1_checkbox_2" value="1"/>
</div>
</div>
</div>
<div class="line rectangular">
<h3 data-i18n="trait">Trait</h3>
<div class="line-content">
<input type="text" spellcheck="false" name="attr_trait_2"/>
<div class="trait-checkboxes">
<input type="checkbox" name="attr_trait_2_checkbox_1" value="1"/>
<input type="checkbox" name="attr_trait_2_checkbox_2" value="1"/>
</div>
</div>
</div>
</div>
<!-- APPROACHES -->
<div class="section larger">
<!-- aware approach -->
<input type="hidden" name="attr_selectable-aware-die" value="0" class="selectable-die"/>
<div class="line rounded">
<img src="https://github.com/wellenina/roll20-the-breach-character-sheet/blob/main/images/icon-approach-aware.png?raw=true" data-i18n-alt="aware" class="approach-icon"/>
<div class="tooltip-container approach-title">
<h3 data-i18n="aware">Aware</h3>
<p data-i18n="aware-description" class="tooltiptext">An approach used to move carefully, evaluate situations and consequences, and reason calmly spending time.</p>
</div>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_aware_initial_die">Initial</label>
<select name="attr_aware_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_aware_current_die">Current</label>
<select name="attr_aware_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
<button data-i18n="add-to-dice-pool" type="action" name="act_addapproachaware" class="add-die">Add</button>
</div>
<div class="clock-container clock-container-4">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-horizontal-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_aware-clock" value="0" checked="checked"/><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_aware-clock" value="1"/>
<input class="clock-progress" type="radio" name="attr_aware-clock" value="2"/>
<input class="clock-progress" type="radio" name="attr_aware-clock" value="3"/>
<input class="clock-progress" type="radio" name="attr_aware-clock" value="4"/>
<div class="clock-color-fill"></div>
</div>
</div>
<!-- mighty approach -->
<input type="hidden" name="attr_selectable-mighty-die" value="0" class="selectable-die"/>
<div class="line rounded">
<img src="https://github.com/wellenina/roll20-the-breach-character-sheet/blob/main/images/icon-approach-mighty.png?raw=true" data-i18n-alt="mighty" class="approach-icon"/>
<div class="tooltip-container approach-title">
<h3 data-i18n="mighty">Mighty</h3>
<p data-i18n="mighty-description" class="tooltiptext">An approach based on physical strength used to damage, attack, and carry out violent actions.</p>
</div>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_mighty_initial_die">Initial</label>
<select name="attr_mighty_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_mighty_current_die">Current</label>
<select name="attr_mighty_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
<button data-i18n="add-to-dice-pool" type="action" name="act_addapproachmighty" class="add-die">Add</button>
</div>
<div class="clock-container clock-container-4">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-horizontal-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_mighty-clock" value="0" checked="checked"><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_mighty-clock" value="1"/>
<input class="clock-progress" type="radio" name="attr_mighty-clock" value="2"/>
<input class="clock-progress" type="radio" name="attr_mighty-clock" value="3"/>
<input class="clock-progress" type="radio" name="attr_mighty-clock" value="4"/>
<div class="clock-color-fill"></div>
</div>
</div>
<!-- quick approach -->
<input type="hidden" name="attr_selectable-quick-die" value="0" class="selectable-die"/>
<div class="line rounded">
<img src="https://github.com/wellenina/roll20-the-breach-character-sheet/blob/main/images/icon-approach-quick.png?raw=true" data-i18n-alt="quick" class="approach-icon"/>
<div class="tooltip-container approach-title">
<h3 data-i18n="quick">Quick</h3>
<p data-i18n="quick-description" class="tooltiptext">An approach that allows you to act quickly, with agility and precision, but without dwelling on the details.</p>
</div>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_quick_initial_die">Initial</label>
<select name="attr_quick_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_quick_current_die">Current</label>
<select name="attr_quick_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
<button data-i18n="add-to-dice-pool" type="action" name="act_addapproachquick" class="add-die">Add</button>
</div>
<div class="clock-container clock-container-4">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-horizontal-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_quick-clock" value="0" checked="checked"/><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_quick-clock" value="1"/>
<input class="clock-progress" type="radio" name="attr_quick-clock" value="2"/>
<input class="clock-progress" type="radio" name="attr_quick-clock" value="3"/>
<input class="clock-progress" type="radio" name="attr_quick-clock" value="4"/>
<div class="clock-color-fill"></div>
</div>
</div>
<!-- sneaky approach -->
<input type="hidden" name="attr_selectable-sneaky-die" value="0" class="selectable-die"/>
<div class="line rounded">
<img src="https://github.com/wellenina/roll20-the-breach-character-sheet/blob/main/images/icon-approach-sneaky.png?raw=true" data-i18n-alt="sneaky" class="approach-icon"/>
<div class="tooltip-container approach-title">
<h3 data-i18n="sneaky">Sneaky</h3>
<p data-i18n="sneaky-description" class="tooltiptext">An approach used to act stealthily, misleading or deceiving.</p>
</div>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_sneaky_initial_die">Initial</label>
<select name="attr_sneaky_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_sneaky_current_die">Current</label>
<select name="attr_sneaky_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
<button data-i18n="add-to-dice-pool" type="action" name="act_addapproachsneaky" class="add-die">Add</button>
</div>
<div class="clock-container clock-container-4">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-horizontal-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_sneaky-clock" value="0" checked="checked"><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_sneaky-clock" value="1"/>
<input class="clock-progress" type="radio" name="attr_sneaky-clock" value="2"/>
<input class="clock-progress" type="radio" name="attr_sneaky-clock" value="3"/>
<input class="clock-progress" type="radio" name="attr_sneaky-clock" value="4"/>
<div class="clock-color-fill"></div>
</div>
</div>
<!-- xp -->
<div class="line rectangular experience">
<h3 data-i18n="experience">Experience (XP)</h3>
<div class="progress-points-container">
<input type="hidden" name="attr_xp" value="" class="progress"/>
<input type="radio" name="attr_xp" value="0" class="reset-progress-points" checked="checked"/>
<input type="radio" name="attr_xp" value="1" class="progress-point square"/>
<input type="radio" name="attr_xp" value="2" class="progress-point square"/>
<input type="radio" name="attr_xp" value="3" class="progress-point square"/>
<input type="radio" name="attr_xp" value="4" class="progress-point square"/>
<input type="radio" name="attr_xp" value="5" class="progress-point square"/>
</div>
</div>
</div> <!-- end approaches section -->
</div> <!-- end 1st row container -->
<!-- 2nd ROW -->
<div class="row-container">
<!-- STAMINA -->
<div class="section half">
<input type="hidden" name="attr_selectable-stamina-die" value="0" class="selectable-die"/>
<div class="line rectangular">
<h3 data-i18n="stamina">Stamina</h3>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_stamina_initial_die">Initial</label>
<select name="attr_stamina_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_stamina_current_die">Current</label>
<select name="attr_stamina_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
<button data-i18n="add-to-dice-pool" type="action" name="act_addstamina" class="add-die">Add</button>
</div>
</div>
</div>
<!-- CLOAK -->
<div class="section half">
<div class="line rounded cloak">
<h3 data-i18n="cloak">Cloak</h3>
<input type="text" spellcheck="false" name="attr_cloak_color" placeholder="Color" data-i18n-placeholder="color"/>
<div class="die-selection-container">
<label data-i18n="clock-size" for="attr_cloak-clock-size">Clock size</label>
<select name="attr_cloak-clock-size" class="select-clock">
<option class="option-4" value="4" selected>4</option>
<option value="6">6</option>
<option value="8">8</option>
</select>
</div>
<input name="attr_cloak-clock-size" type="hidden" class="cloak-clock-size" value="4"/>
<div class="clock-options-container">
<!-- 4-segments clock -->
<div class="clock-container clock-container-4 clock-option">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-horizontal-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_cloak-clock-4" value="0" checked="checked"/><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_cloak-clock-4" value="1"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-4" value="2"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-4" value="3"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-4" value="4"/>
<div class="clock-color-fill"></div>
</div>
<!-- 6-segments clock -->
<div class="clock-container clock-container-6 clock-option">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-diagonal-1-spoke"></div>
<div class="clock-spoke clock-diagonal-2-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_cloak-clock-6" value="0" checked="checked"/><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_cloak-clock-6" value="1"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-6" value="2"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-6" value="3"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-6" value="4"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-6" value="5"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-6" value="6"/>
<div class="clock-color-fill"></div>
</div>
<!-- 8-segments clock -->
<div class="clock-container clock-container-8 clock-option">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-horizontal-spoke"></div>
<div class="clock-spoke clock-diagonal-1-spoke"></div>
<div class="clock-spoke clock-diagonal-2-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_cloak-clock-8" value="0" checked="checked"/><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="1"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="2"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="3"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="4"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="5"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="6"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="7"/>
<input class="clock-progress" type="radio" name="attr_cloak-clock-8" value="8"/>
<div class="clock-color-fill"></div>
</div>
</div>
</div>
</div>
</div> <!-- end 2nd row container -->
<!-- 3rd ROW -->
<div class="row-container">
<!-- HEALTH -->
<div class="section smaller">
<div class="line rectangular progress-points">
<h3 data-i18n="harms">Harms</h3>
<div class="progress-points-container">
<input type="hidden" name="attr_harms" value="" class="progress harms-points"/>
<input type="radio" name="attr_harms" value="0" class="reset-progress-points" checked="checked"/>
<input type="radio" name="attr_harms" value="1" class="progress-point round"/>
<input type="radio" name="attr_harms" value="2" class="progress-point round"/>
<input type="radio" name="attr_harms" value="3" class="progress-point round"/>
<input type="radio" name="attr_harms" value="4" class="progress-point round"/>
<input type="radio" name="attr_harms" value="5" class="progress-point round"/>
</div>
<!-- SAVE ROLL BUTTON -->
<button data-i18n="save-roll-button" type="roll" value="&{template:saveroll} {{charactername=@{character_name}}} {{theroll=[[{@{harms}d@{stamina_current_die}}kl1]]}}" name="roll_SaveRoll" class="save-roll">Save Roll</button>
</div>
<div>
<h3 data-i18n="conditions-and-effects" class="with-margins">Conditions / Effects</h3>
<!-- CONDITION / EFFECT REPEATING SECTION -->
<fieldset class="repeating_condition-effect">
<div class="line rectangular">
<input type="text" spellcheck="false" name="attr_condition"/>
<div class="die-selection-container">
<select name="attr_condition-die" class="select-condition-die">
<option data-i18n-label="permanent-condition" value="permanent">Permanent</option>
<hr>
<optgroup label="Temporary">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</optgroup>
</select>
</div>
<input type="hidden" name="attr_condition-die" class="condition-die"/>
<button data-i18n="roll-button" type="roll" value="&{template:conditionroll} {{charactername=@{character_name}}} {{conditionname=@{condition}}} {{conditiondie=[[@{condition-die}]]}} {{theroll=[[1d@{condition-die}]]}}" name="roll_ConditionRoll" class="condition-roll last-condition-roll">Roll</button>
</div>
</fieldset>
</div>
</div> <!-- end health section -->
<!-- EQUIPMENT -->
<div class="section larger equipment">
<div class="line rounded">
<h3 data-i18n="equipment-research-and-development">Equipment R&D</h3>
<div class="clock-container clock-container-6">
<div class="clock-spoke clock-vertical-spoke"></div>
<div class="clock-spoke clock-diagonal-1-spoke"></div>
<div class="clock-spoke clock-diagonal-2-spoke"></div>
<input class="clock-progress-zero" type="radio" name="attr_equipment-clock" value="0" checked="checked"/><span class="reset-clock-icon"></span>
<input class="clock-progress" type="radio" name="attr_equipment-clock" value="1"/>
<input class="clock-progress" type="radio" name="attr_equipment-clock" value="2"/>
<input class="clock-progress" type="radio" name="attr_equipment-clock" value="3"/>
<input class="clock-progress" type="radio" name="attr_equipment-clock" value="4"/>
<input class="clock-progress" type="radio" name="attr_equipment-clock" value="5"/>
<input class="clock-progress" type="radio" name="attr_equipment-clock" value="6"/>
<div class="clock-color-fill"></div>
</div>
</div>
<h3 data-i18n="items" class="with-margins">Items</h3>
<input type="hidden" name="attr_selectable-item-1-die" value="0" class="selectable-die"/>
<div class="line rectangular item">
<input type="text" spellcheck="false" name="attr_item_1"/>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_item_1_initial_die">Initial</label>
<select name="attr_item_1_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_cons-item_1_current_die">Current</label>
<select name="attr_cons-item_1_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
<option value="0">0</option>
</select>
<input name="attr_cons-item_1_current_die" type="hidden" class="consumable-object"/>
<button data-i18n="add-to-dice-pool" type="action" name="act_additem1" class="add-die">Add</button>
</div>
</div>
<input type="hidden" name="attr_selectable-item-2-die" value="0" class="selectable-die"/>
<div class="line rectangular item">
<input type="text" spellcheck="false" name="attr_item_2"/>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_item_2_initial_die">Initial</label>
<select name="attr_item_2_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_cons-item_2_current_die">Current</label>
<select name="attr_cons-item_2_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
<option value="0">0</option>
</select>
<input name="attr_cons-item_2_current_die" type="hidden" class="consumable-object"/>
<button data-i18n="add-to-dice-pool" type="action" name="act_additem2" class="add-die">Add</button>
</div>
</div>
<input type="hidden" name="attr_selectable-item-3-die" value="0" class="selectable-die"/>
<div class="line rectangular item">
<input type="text" spellcheck="false" name="attr_item_3"/>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_item_3_initial_die">Initial</label>
<select name="attr_item_3_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_cons-item_3_current_die">Current</label>
<select name="attr_cons-item_3_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
<option value="0">0</option>
</select>
<input name="attr_cons-item_3_current_die" type="hidden" class="consumable-object"/>
<button data-i18n="add-to-dice-pool" type="action" name="act_additem3" class="add-die">Add</button>
</div>
</div>
</div> <!-- end equipment section -->
</div> <!-- end 3rd row container -->
<!-- 4th ROW -->
<div class="row-container">
<!-- WEAPONS -->
<div class="section weapons">
<!-- gutter column -->
<div class="weapon-column">
<input type="hidden" name="attr_selectable-gutter-die" value="0" class="selectable-die"/>
<div class="line rectangular">
<h3 data-i18n="gutter">Gutter</h3>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_gutter_initial_die">Initial</label>
<select name="attr_gutter_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_cons-gutter_current_die">Current</label>
<select name="attr_cons-gutter_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
<option value="0">0</option>
</select>
<input name="attr_cons-gutter_current_die" type="hidden" class="consumable-object"/>
<button data-i18n="add-to-dice-pool" type="action" name="act_addgutter" class="add-die">Add</button>
</div>
</div>
<div class="weapon-info">
<div class="text-line">
<span data-i18n="damage">Damage</span>
<input type="text" spellcheck="false" name="attr_gutter_damage" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="range">Range</span>
<input type="text" spellcheck="false" name="attr_gutter_range" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="reload-time">Reload Time</span>
<input type="text" spellcheck="false" name="attr_gutter_reload_time" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="modifier-1">Mod. 1</span>
<input type="text" spellcheck="false" name="attr_gutter_mod_1" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="modifier-2">Mod. 2</span>
<input type="text" spellcheck="false" name="attr_gutter_mod_2" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="modifier-3">Mod. 3</span>
<input type="text" spellcheck="false" name="attr_gutter_mod_3" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="other-info">Other Info</span>
<input type="text" spellcheck="false" name="attr_gutter_other_info" class="text-row"/>
</div>
</div>
</div>
<!-- disintegrator column -->
<div class="weapon-column">
<input type="hidden" name="attr_selectable-disintegrator-die" value="0" class="selectable-die"/>
<div class="line rectangular">
<h3 data-i18n="disintegrator">Disintegrator</h3>
<div class="die-selection-container">
<label data-i18n="initial-die" for="attr_disintegrator_initial_die">Initial</label>
<select name="attr_disintegrator_initial_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
</select>
</div>
<div class="die-selection-container">
<label data-i18n="current-die" for="attr_cons-disintegrator_current_die">Current</label>
<select name="attr_cons-disintegrator_current_die">
<option value="12" selected>D12</option>
<option value="10">D10</option>
<option value="8">D8</option>
<option value="6">D6</option>
<option value="4">D4</option>
<option value="0">0</option>
</select>
<input name="attr_cons-disintegrator_current_die" type="hidden" class="consumable-object"/>
<button data-i18n="add-to-dice-pool" type="action" name="act_adddisintegrator" class="add-die">Add</button>
</div>
</div>
<div class="weapon-info">
<div class="text-line">
<span data-i18n="damage">Damage</span>
<input type="text" spellcheck="false" name="attr_disintegrator_damage" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="range">Range</span>
<input type="text" spellcheck="false" name="attr_disintegrator_range" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="reload-time">Reload Time</span>
<input type="text" spellcheck="false" name="attr_disintegrator_reload_time" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="modifier-1">Mod. 1</span>
<input type="text" spellcheck="false" name="attr_disintegrator_mod_1" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="modifier-2">Mod. 2</span>
<input type="text" spellcheck="false" name="attr_disintegrator_mod_2" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="modifier-3">Mod. 3</span>
<input type="text" spellcheck="false" name="attr_disintegrator_mod_3" class="text-row"/>
</div>
<div class="text-line">
<span data-i18n="other-info">Other Info</span>
<input type="text" spellcheck="false" name="attr_disintegrator_other_info" class="text-row"/>
</div>
</div>
</div>
</div> <!-- end WEAPONS section -->
</div> <!-- end 4th row container -->
<div class="row-container">
<div class="section roll-section">
<!-- HIDDEN VALUES -->
<input type="hidden" name="attr_approach-die-value" value="0"/>
<input type="hidden" name="attr_dice-pool-value" value="0"/>
<input type="hidden" name="attr_trait_query" value="?{Are you using a trait?|No, 0|Yes: to gain advantage, 1|Yes: to gain disadvantage, 2}"/>
<input type="hidden" name="attr_help_query" value="?{Another watcher is helping you?|No,use-help=false&#125;&#125; {{theroll=[[{|D12,theroll=[[{1d12[Help] + |D10,theroll=[[{1d10[Help] + |D8,theroll=[[{1d8[Help] + |D6,theroll=[[{1d6[Help] + |D4,theroll=[[{1d4[Help] + }"/>
<input type="hidden" name="attr_bonus_query" value="?{Do you have any kind of other bonus die?|No, |D12, 1d12[Bonus] + |D10, 1d10[Bonus] + |D8, 1d8[Bonus] + |D6, 1d6[Bonus] + |D4, 1d4[Bonus] + }"/>
<!-- end HIDDEN VALUES -->
<div class="assemble-dice-pool-container">
<h3 data-i18n="assemble-your-dice-pool">Assemble your dice pool</h3>
<!-- clear dice pool button -->
<button data-i18n="clear-dice-pool" type="action" name="act_clear" class="clear-button">Clear Dice Pool</button>
</div>
<div class="dice-pool">
<span name="attr_approach-die-text" value=""></span>
<span name="attr_dice-pool-text" value=""></span>
</div>
<div class="buttons">
<!-- roll button -->
<button data-i18n="reaction-roll-button" type="roll" value="&{template:reactionroll} {{charactername=@{character_name}}} {{trait=[[@{trait_query}]]}} {{@{help_query} @{bonus_query} @{approach-die-value} + @{dice-pool-value}}kh1]]}}" name="roll_ReactionRoll" class="reaction-roll">Reaction Roll</button>
<!-- reduce dice size button -->
<button data-i18n="reduce-dice-size" type="action" name="act_updateDiceSize" class="reduce-size-button">Reduce Dice Size</button>
</div>
</div>
</div>
</div>
<rolltemplate class="sheet-rolltemplate-saveroll">
<div class="template-container">
<div class="background-logo"></div>
<p>{{charactername}} <span data-i18n="save-roll-title">is making a SAVE ROLL</span></p>
<div class="template-separator"></div>
<h3 data-i18n="result" class="result-title">Result:</h3>
<p>{{theroll}}</p>
<div class="template-separator"></div>
<p class="result-description">
{{#rollTotal() theroll 1}}<span data-i18n="save-result-1">You are Dead.</span>{{/rollTotal() theroll 1}}
{{#rollTotal() theroll 2}}<span data-i18n="save-result-2">You have a Severed limb (permanent).</span>{{/rollTotal() theroll 2}}
{{#rollTotal() theroll 3}}<span data-i18n="save-result-3">You have a Broken limb (temporary, until end of mission).</span>{{/rollTotal() theroll 3}}
{{#rollTotal() theroll 4}}<span data-i18n="save-result-4">You are Bleeding (temporary damage over time, d8).</span>{{/rollTotal() theroll 4}}
{{#rollTotal() theroll 5}}<span data-i18n="save-result-5">You are Bleeding (temporary damage over time, d6).</span>{{/rollTotal() theroll 5}}
{{#rollTotal() theroll 6}}<span data-i18n="save-result-6">You are Blinded (temporary, d10).</span>{{/rollTotal() theroll 6}}
{{#rollTotal() theroll 7}}<span data-i18n="save-result-7">You are Deafened (temporary, d10).</span>{{/rollTotal() theroll 7}}
{{#rollTotal() theroll 8}}<span data-i18n="save-result-8">You are Confused (temporary, d8).</span>{{/rollTotal() theroll 8}}
{{#rollTotal() theroll 9}}<span data-i18n="save-result-9">You are Fatigued (temporary, d6).</span>{{/rollTotal() theroll 9}}
{{#rollTotal() theroll 10}}<span data-i18n="save-result-10">You are Dazed (temporary, d6).</span>{{/rollTotal() theroll 10}}
{{#rollTotal() theroll 11}}<span data-i18n="save-result-11">You are Bruised (temporary, d4).</span>{{/rollTotal() theroll 11}}
{{#rollTotal() theroll 12}}<span data-i18n="save-result-12">You have passed the Save Roll without consequences.</span>{{/rollTotal() theroll 12}}
</p>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-conditionroll">
<div class="template-container">
<div class="background-logo"></div>
<p>{{charactername}} <span data-i18n="condition-check-title">is checking</span> {{conditionname}}</p>
<div class="template-separator"></div>
<h3 data-i18n="result" class="result-title">Result:</h3>
<p>{{theroll}}</p>
<div class="template-separator"></div>
<p class="result-description">
{{#rollBetween() theroll 1 3}}<span data-i18n="condition-result-1">The condition or effect doesn't trigger for this turn.</span>{{/rollBetween() theroll 1 3}}
{{#rollGreater() theroll 3}}<span data-i18n="condition-result-2">The condition or effect triggers for this turn!</span>
{{#rollGreater() conditiondie 4}} <span data-i18n="condition-result-3">Remember to reduce the die rating.</span>{{/rollGreater() conditiondie 4}}
{{#rollTotal() conditiondie 4}} <span data-i18n="condition-result-4">The condition or effect has ceased. Remove it from your character sheet.</span>{{/rollTotal() conditiondie 4}}
{{/rollGreater() theroll 3}}
</p>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-reactionroll">
<div class="template-container">
<div class="background-logo"></div>
<p>{{charactername}} <span data-i18n="reaction-roll-title">is making a REACTION ROLL</span></p>
<div class="template-separator"></div>
<h3 data-i18n="result" class="result-title">Result:</h3>
<p>{{theroll}}</p>
<div class="template-separator"></div>
<div class="result-description">
{{#rollLess() theroll 4}}
<h3 data-i18n="fail" class="success-fail">Fail</h3>
<p data-i18n="reaction-result-fail">It's a fail: something wrong happens.</p>
{{/rollLess() theroll 4}}
{{#rollBetween() theroll 4 5}}
{{#rollLess() trait 2}}
<h3 data-i18n="success" class="success-fail">Success!</h3>
<p data-i18n="reaction-result-success-consequences">It's a success, but there are consequences.</p>
{{/rollLess() trait 2}}
{{#rollTotal() trait 2}}
<h3 data-i18n="fail" class="success-fail">Fail</h3>
<p data-i18n="reaction-result-fail">It's a fail, something wrong happens.</p>
{{/rollTotal() trait 2}}
{{/rollBetween() theroll 4 5}}
{{#rollGreater() theroll 5}}
<h3 data-i18n="success" class="success-fail">Success</h3>
<p data-i18n="reaction-result-success">It's a success. The higher the result, the better the effect.</p>
{{/rollGreater() theroll 5}}
{{#rollTotal() trait 1}}<p data-i18n="result-trait-advantage">Because you used a trait to gain advantage, you may reroll one die.</p>{{/rollTotal() trait 1}}
{{#rollTotal() trait 2}}<p data-i18n="result-trait-disadvantage">Because you used a trait to gain disadvantage, you get an additional check during the downtime phase.</p>{{/rollTotal() trait 2}}
<p data-i18n="reduce-dice-size-reminder">Remember to reduce the size of the dice you rolled.</p>
{{^use-help}}<p data-i18n="reduce-help-die-reminder">The watcher who helped you will have to reduce their stamina die.</p>{{/use-help}}
</div>
</div>
</rolltemplate>
<script type="text/worker">
const selectableDice = ["selectable-aware-die", "selectable-mighty-die", "selectable-quick-die", "selectable-sneaky-die", "selectable-item-1-die", "selectable-item-2-die", "selectable-item-3-die", "selectable-gutter-die", "selectable-disintegrator-die", "selectable-stamina-die"];
on("sheet:opened",function(){
setRollQueries();
approachTitle = getTranslation("approach");
selectableDice.forEach(setToZero);
clearDicePool();
clearApproach();
});
function setRollQueries() {
let traitOptions = [
`${getTranslation("no")}, 0`,
`${getTranslation("use-trait-advantage")}, 1`,
`${getTranslation("use-trait-disadvantage")}, 2`
];
let helpLabel = getTranslation("help");
let helpOptions = [
`${getTranslation("no")},use-help=false&#125;&#125; {{theroll=[[{`,
`D12,theroll=[[{1d12[${helpLabel}] + `,
`D10,theroll=[[{1d10[${helpLabel}] + `,
`D8,theroll=[[{1d8[${helpLabel}] + `,
`D6,theroll=[[{1d6[${helpLabel}] + `,
`D4,theroll=[[{1d4[${helpLabel}] + `
];
let bonusLabel = getTranslation("bonus");
let bonusOptions = [
`${getTranslation("no")}, `,
`D12, 1d12[${bonusLabel}] + `,
`D10, 1d10[${bonusLabel}] + `,
`D8, 1d8[${bonusLabel}] + `,
`D6, 1d6[${bonusLabel}] + `,
`D4, 1d4[${bonusLabel}] + `
];
setAttrs({
trait_query: getQuery("ask-trait", traitOptions),
help_query: getQuery("ask-help", helpOptions),
bonus_query: getQuery("ask-bonus", bonusOptions),
});
}
function getTranslation(key) {
return getTranslationByKey(key) || `TRANSLATION_KEY_UNDEFINED: ${key}`;
}
function getQuery(question, options) {
return `?{${getTranslation(question)}|${options.join("|")}}`;
}
// reset the clock when changing clock size
on("change:cloak-clock-size", function() {
setToZero("cloak-clock-4");
setToZero("cloak-clock-6");
setToZero("cloak-clock-8");
});
function setToZero(attribute) {
setAttrs({
[attribute]: 0
});
}
// APPROACH
// add approach die
on("clicked:addapproachaware", function() {
addApproach("aware_current_die", "aware");
highlightApproach("selectable-aware-die");
});
on("clicked:addapproachmighty", function() {
addApproach("mighty_current_die", "mighty");
highlightApproach("selectable-mighty-die");
});
on("clicked:addapproachquick", function() {
addApproach("quick_current_die", "quick");
highlightApproach("selectable-quick-die");
});
on("clicked:addapproachsneaky", function() {
addApproach("sneaky_current_die", "sneaky");
highlightApproach("selectable-sneaky-die");
});
let approachTitle = "";
// currently selected approach die value-attr (size to be reduced)
let selectedApproachDieValueAttr = "";
// currently highlighted approach
let highlightedApproach = "";
function addApproach(dieValueAttr, approachKey) {
selectedApproachDieValueAttr = dieValueAttr;
// gets translated name
let approachName = getTranslation(approachKey);
// gets the value of the die for the ROLL
getAttrs([dieValueAttr], function(values) {
let dieSize = values[dieValueAttr];
let description = `${approachTitle}: ${approachName}`;
setAttrs({
["approach-die-value"]: `1d${dieSize}[${description}]`,
// updates text:
["approach-die-text"]: `${description} (D${dieSize}), `
});
});
}
function highlightApproach(attribute) {
deselectApproach();
setAttrs({
[attribute]: "selected"
});
highlightedApproach = attribute;
}
function deselectApproach() {
if (highlightedApproach != "") {
setToZero(highlightedApproach);
}
highlightedApproach = "";
}
function clearApproach() {
setToZero("approach-die-value");
setAttrs({
["approach-die-text"]: " "
});
selectedApproachDieValueAttr = "";
}
// ASSEMBLE DICE POOL
// add item die
on("clicked:additem1", function() {
getAttrs(["item_1"], function(values) {
let itemName = values["item_1"];
if (itemName == "") {
itemName = getTranslation("item");
}
addToDicePool("cons-item_1_current_die", itemName);
});
highlightDie("selectable-item-1-die");
});
on("clicked:additem2", function() {
getAttrs(["item_2"], function(values) {
let itemName = values["item_2"];
if (itemName == "") {
itemName = getTranslation("item");
}
addToDicePool("cons-item_2_current_die", itemName);
});
highlightDie("selectable-item-2-die");
});
on("clicked:additem3", function() {
getAttrs(["item_3"], function(values) {
let itemName = values["item_3"];
if (itemName == "") {
itemName = getTranslation("item");
}
addToDicePool("cons-item_3_current_die", itemName);
});
highlightDie("selectable-item-3-die");
});
// add weapon die
on("clicked:addgutter", function() {
let translatedName = getTranslation("gutter");
addToDicePool("cons-gutter_current_die", translatedName);
highlightDie("selectable-gutter-die");
});
on("clicked:adddisintegrator", function() {
let translatedName = getTranslation("disintegrator");
addToDicePool("cons-disintegrator_current_die", translatedName);
highlightDie("selectable-disintegrator-die");
});
// add stamina die
on("clicked:addstamina", function() {
let translatedName = getTranslation("stamina");
addToDicePool("stamina_current_die", translatedName);
highlightDie("selectable-stamina-die");
});
// dice pool to be rolled
let selectedDicePoolValue = "";
// dice pool text to be shown
let selectedDicePoolText = "";
// currently selected dice value-attr (size to be reduced)
let selectedDiceValueAttr = [];
// currently highlighted dice
let highlightedDice = [];
function addToDicePool(dieValueAttr, dieName) {
// check if die has already been added
if (selectedDiceValueAttr.includes(dieValueAttr)) {
return;
}
selectedDiceValueAttr.push(dieValueAttr);
// gets the value of the die
getAttrs([dieValueAttr], function(values) {
let dieSize = values[dieValueAttr];
// adds die to the dice pool to be rolled
if (selectedDicePoolValue != "") {
selectedDicePoolValue += " + ";
}
selectedDicePoolValue += `1d${dieSize}[${dieName}]`;
// adds die and name to the text to be shown
if (selectedDicePoolText != "") {
selectedDicePoolText += ", ";
}
selectedDicePoolText += `${dieName} (D${dieSize})`;
updateDicePool();
})
}
function updateDicePool() {
setAttrs({
["dice-pool-value"]: selectedDicePoolValue,
["dice-pool-text"]: selectedDicePoolText
});
}
// HIGHLIGHT SELECTED DICE
function highlightDie(attribute) {
// check if die has already been highlighted
if (highlightedDice.includes(attribute)) {
return;
}
highlightedDice.push(attribute);
setAttrs({
[attribute]: "selected"
});
}
// CLEAR BUTTON
on("clicked:clear", function() {
deselectDice();
deselectApproach();
clearDicePool();
clearApproach();
});
function deselectDice() {
highlightedDice.forEach(setToZero);
highlightedDice = [];
}
function clearDicePool() {
setToZero("dice-pool-value");
selectedDicePoolValue = "";
setAttrs({
["dice-pool-text"]: " ",
});
selectedDiceValueAttr = [];
selectedDicePoolText = "";
}
// UPDATE DICE SIZE button
on("clicked:updateDiceSize", function() {
reduceDiceSize();
deselectDice();
deselectApproach();
clearDicePool();
clearApproach();
});
function reduceDiceSize() {
selectedDiceValueAttr.forEach(reduceSize);
if (selectedApproachDieValueAttr != "") {
reduceSize(selectedApproachDieValueAttr);
}
}
function reduceSize(dieValueAttr) {
getAttrs([dieValueAttr], function(values) {
let dieValue = parseInt(values[dieValueAttr]);
let newDieValue;
if (dieValue > 4) {
newDieValue = dieValue - 2;
} else if (dieValueAttr.startsWith("cons-")) {
newDieValue = 0; // consumable items and weapons
} else {
newDieValue = 4; // approach and stamina
}
setAttrs({
[dieValueAttr]: newDieValue
});
})
}
</script>