Files
roll20-character-sheets-tester/Shadowrun5thEdition/src/core.html
T
Cassie Levett 21623f1f5b Shadowrun 5th Edition v4.1 (#5951)
* fix bug in bows

* move functions into a unit testable setup

* save progress

* refactor event handlers

* save refactor progress

* finished derived attrs

* refactor eventhandlers, start condition tracks

* refactor conditions

* continue refactor, through wounds

* add unit tests for wounds, fix bug

* update init mod

* remove excess code

* fix bugs in skills

* fix skills displays

* remove french updates

* fix weapon overwrite

* fix repeating titles
2020-03-16 10:22:16 -05:00

142 lines
12 KiB
HTML

<div class="pc-row">
<div class="header right-header">
<h1 data-i18n="corecombatinfo">Core Combat Info</h1>
<div class="right-tri">
</div></div>
<div class="border-box">
<div class="pc-box small-box core-combat">
<div class="row-long cc-arm">
<h2 data-i18n="primaryarmor">Primary Armor</h2>
<button type="roll" name="roll_soak" value="@{gm_toggle} &{template:rolls}{{header=^{soak}}}{{base=^{base}}}{{dice=[[((@{soak})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}} style="width: 32%;">
<span name="attr_armor_name" title="@{soak}"></span>
</button>
<h3 data-i18n="rating">Rating</h3>
<button type="roll" name="roll_armor" value="@{gm_toggle} &{template:rolls}{{header=^{armor}}}{{base=^{armor}}}{{dice=[[((@{armor_rating})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span name="attr_armor_rating" title="@{armor_rating}"></span>
</button>
<div class="armor-buttons">
<button type="roll" name="roll_defense" value="@{gm_toggle} &{template:rolls}{{header=^{defense}}}{{base=^{base}}}{{dice=[[((@{defense})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Defense Roll"><span class="pictosC" title="@{defense}">e</span></button>
<button type="roll" name="roll_acid_protection" value="@{gm_toggle} &{template:rolls}{{header=^{acidprotection}}}{{base=^{base}}}{{dice=[[((@{soak}+@{acid_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Acid Protection"><span class="pictos3" title="@{acid_modifier}">d</span></button>
<button type="roll" name="roll_cold_protection" value="@{gm_toggle} &{template:rolls}{{header=^{coldprotection}}}{{base=^{base}}}{{dice=[[((@{soak}+@{cold_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Cold Protection"><span class='pictos' title="@{cold_modifier}">b</span></button>
<button type="roll" name="roll_electrical_protection" value="@{gm_toggle} &{template:rolls}{{header=^{electricalprotection}}}{{base=^{base}}}{{dice=[[((@{soak}+@{electrical_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Electrical Protection"><span class='pictos' title="@{electrical_modifier}">e</span></button>
<button type="roll" name="roll_fire_protection" value="@{gm_toggle} &{template:rolls}{{header=^{fireprotection}}}{{base=^{base}}}{{dice=[[((@{soak}+@{fire_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Fire Protection"><span class="pictos3" title="@{fire_modifier}">j</span></button>
<button type="roll" name="roll_radiation_protection" value="@{gm_toggle} &{template:rolls}{{header=^{radiationprotection}}}{{base=^{base}}}{{dice=[[((@{soak}+@{radiation_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Radiation Protection"><span class="pictos3" title="@{radiation_modifier}">l</span></button>
</div>
</div>
<div class="row-long cc-row">
<h2 data-i18n="primaryrangedweapon">Primary Ranged Weapon</h2>
<button type="roll" name="primary range" value="@{gm_toggle} &{template:rolls}{{header=@{primary_range_weapon}}}{{base=^{base}}}{{dice=[[((@{primary_range_weapon_skill}+@{primary_range_weapon_dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{primary_range_weapon_mode}, ACC @{primary_range_weapon_acc}, DV @{primary_range_weapon_damage}, AP @{primary_range_weapon_ap}}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Primary range weapon"><span name="attr_primary_range_weapon" title="@{primary_range_weapon}"></span></button>
<!-- Ammo removal button -->
<button name="act_shots_remove" type="action">4</button>
<button type="action" name="act_primary_ammo" title="Shots Fired">
<img alt="small handgun icon" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Shadowrun5thEdition/images/gun.png" /><span name="attr_shots_fired"></span>
</button>
<button name="act_shots_add" type="action">4</button>
</div>
<div class="cc-row">
<h3 data-i18n="dam">Dam</h3><span name="attr_primary_range_weapon_damage" title="@{primary_range_weapon_damage}"></span>
<h3 data-i18n="acc">ACC</h3><span name="attr_primary_range_weapon_acc" title="@{primary_range_weapon_acc}"></span>
<h3 data-i18n="ap">AP</h3><span name="attr_primary_range_weapon_ap" title="@{primary_range_weapon_ap}"></span>
<h3 data-i18n="mode">Mode</h3><span name="attr_primary_range_weapon_mode" title="@{primary_range_weapon_mode}"></span>
<h3 data-i18n="rc">RC</h3><span name="attr_primary_range_weapon_recoil" title="@{primary_range_weapon_recoil}"></span>
<h3 data-i18n="ammo">Ammo</h3>
<span name="attr_primary_range_weapon_ammo" title="@{primary_range_weapon_ammo}"></span>
<span name="attr_primary_range_weapon_ammo_max" title="@{primary_range_weapon_ammo_max}"></span>
<button class="pictos" name="act_reload" type="action">0</button>
</div>
<div class="row-long cc-row">
<h2 data-i18n="primarymeleeweapon">Primary Melee Weapon</h2>
<button type="roll" name="primary melee" value="@{gm_toggle} &{template:rolls}{{header=@{primary_melee_weapon}}}{{base=^{base}}}{{dice=[[((@{primary_melee_weapon_skill}+@{primary_melee_weapon_dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=ACC @{primary_melee_weapon_acc}, DV @{primary_melee_weapon_damage}, AP @{primary_melee_weapon_ap}, Reach @{primary_melee_weapon_reach}}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Primary melee weapon"><span name="attr_primary_melee_weapon" title="@{primary_melee_weapon}"></span></button>
</div>
<div class="cc-row">
<h3 data-i18n="reach">Reach</h3><span name="attr_primary_melee_weapon_reach" title="@{primary_melee_weapon_reach}"></span>
<h3 data-i18n="dam">Dam</h3><span name="attr_primary_melee_weapon_damage" title="@{primary_melee_weapon_damage}"></span>
<h3 data-i18n="acc">ACC</h3><span name="attr_primary_melee_weapon_acc" title="@{primary_melee_weapon_acc}"></span>
<h3 data-i18n="ap">AP</h3><span name="attr_primary_melee_weapon_ap" title="@{primary_melee_weapon_ap}"></span>
</div>
</div>
</div>
</div>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ START OF THE CONDITION MONITOR ROW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<div class="pc-row">
<div class="header right-header"><h1 data-i18n="conditionmonitor">Condition Monitor</h1><div class="right-tri"></div></div>
<div class="border-box">
<div class="pc-box medium-box condition-box">
<input type="checkbox" class="settings-toggle" name="attr_flag_condition" checked="checked" title="Settings toggle" /><span>x</span>
<div class="settings">
<label data-i18n="conditionmonitormodifiers">Condition Monitor Modifiers (P/S): </label>
<input type="hidden" name="attr_physical" value="10" />
<input type="hidden" name="attr_stun" value="10" />
<input type="hidden" name="attr_physical_max" min="0" value="10" />
<input type="hidden" name="attr_stun_max" min="0" value="10" />
<input type="number" name="attr_physical_modifier" value="" placeholder="#" title="@{physical_modifier}" /><span> / </span>
<input type="number" name="attr_stun_modifier" value="" placeholder="#" title="@{stun_modifier}" /><br />
<input type="hidden" name="attr_overflow" value="3" />
<label data-i18n="overflowmodifier">Overflow Modifier</label><input type="number" name="attr_overflow_modifier" value="" placeholder="#" title="@{overflow_modifier}" /><br />
<label data-i18n="high pain tolerance">High Pain Tolerance</label>
<input type="number" name="attr_high_pain_tolerance" min="0" value="" placeholder="#" title="@{high_pain_tolerance}" /><br />
<label data-i18n="low pain tolerance">Low Pain Tolerance</label><input type="checkbox" name="attr_low_pain_tolerance" value="2" title="@{low_pain_tolerance}" /><br />
<label data-i18n="damage compensators">Damage Compensators (P/S): </label>
<input type="number" min="0" name="attr_damage_compensators_physical" value="" placeholder="#" title="@{damage_compensators_physical}" /><span> / </span>
<input type="number" min="0" name="attr_damage_compensators_stun" value="" placeholder="#" title="@{damage_compensators_stun}" />
</div>
<div class="display">
<div class="con-track">
<input type="hidden" name="attr_physical" value="0" />
<button type="action" name="act_cond_reset_physical" data-i18n="physicaldamagetrack">Physical Damage Track</button>
<div class="squares">
<input class="hex-hider" type="hidden" name="attr_physical_max" value="10" />
<input type="radio" name="attr_physical" value="1" /><span></span>
<input type="radio" name="attr_physical" value="2" /><span></span>
<input type="radio" name="attr_physical" value="3" /><span></span><div>-1</div>
<input type="radio" name="attr_physical" value="4" /><span></span>
<input type="radio" name="attr_physical" value="5" /><span></span>
<input type="radio" name="attr_physical" value="6" /><span></span><div>-2</div>
<input type="radio" name="attr_physical" value="7" /><span></span>
<input type="radio" name="attr_physical" value="8" /><span></span>
<input type="radio" name="attr_physical" value="9" /><span></span><div>-3</div>
<input type="radio" name="attr_physical" value="10" /><span></span>
<input type="radio" name="attr_physical" value="11" /><span></span>
<input type="radio" name="attr_physical" value="12" /><span></span><div>-4</div>
<input type="radio" name="attr_physical" value="13" /><span></span>
<input type="radio" name="attr_physical" value="14" /><span></span>
<input type="radio" name="attr_physical" value="15" /><span></span><div>-5</div>
<input type="radio" name="attr_physical" value="16" /><span></span>
<input type="radio" name="attr_physical" value="17" /><span></span>
<input type="radio" name="attr_physical" value="18" /><span></span><div>-6</div>
</div>
<div class="con-footer" title="@{overflow}">
<label data-i18n="overflow">Overflow</label><div class="attr-und"><span name="attr_overflow"></span></div>
</div>
</div>
<div class="con-track">
<input type="hidden" name="attr_stun" value="0" />
<button type="action" name="act_cond_reset_stun" data-i18n="stundamagetrack">Stun Damage Track</button>
<div class="squares">
<input class="hex-hider" type="hidden" name="attr_stun_max" value="10" />
<input type="radio" name="attr_stun" value="1" /><span></span>
<input type="radio" name="attr_stun" value="2" /><span></span>
<input type="radio" name="attr_stun" value="3" /><span></span><div>-1</div>
<input type="radio" name="attr_stun" value="4" /><span></span>
<input type="radio" name="attr_stun" value="5" /><span></span>
<input type="radio" name="attr_stun" value="6" /><span></span><div>-2</div>
<input type="radio" name="attr_stun" value="7" /><span></span>
<input type="radio" name="attr_stun" value="8" /><span></span>
<input type="radio" name="attr_stun" value="9" /><span></span><div>-3</div>
<input type="radio" name="attr_stun" value="10" /><span></span>
<input type="radio" name="attr_stun" value="11" /><span></span>
<input type="radio" name="attr_stun" value="12" /><span></span><div>-4</div>
<input type="radio" name="attr_stun" value="13" /><span></span>
<input type="radio" name="attr_stun" value="14" /><span></span>
<input type="radio" name="attr_stun" value="15" /><span></span><div>-5</div>
</div>
<div class="con-footer">
<span data-i18n="conditionfooter">For every 3 boxes of damage on any one damage track, the character takes a -1 Dice Pool modifier on tests; these modifiers are cumulative within and across damage tracks.</span>
</div>
</div>
</div>
</div>
</div>
</div><!-- ~~~~~~~~ End of Condition Monitor ~~~~~~~~ -->