another weapons template overhaul

Added a Carried button. If it's not checked, its weight doesn't count against carry limits.

Spray now counts into damage rolls, and will announce a jam on a natural 9.

What we don't have: working collapse buttons. (you'll know what those are if they ever get to work)

[we have the skeleton of that system though]
This commit is contained in:
johnmoney-code
2021-04-03 00:12:46 -07:00
parent 2859c47a90
commit a32da77f3e
2 changed files with 90 additions and 45 deletions
+46 -15
View File
@@ -107,7 +107,7 @@ ______________________________ start of multipurpose or special-use classes such
.sheet-full_width_49px { width: calc(100% - 49px); }
.sheet-full_width_30px { width: calc(100% - 30px); }
/* TODO: Add the visibility toggles for collapsible weapon blocks */
.sheet-margin_adjust { margin-top: -23px; margin-bottom: 4px; text-align: right; }
.sheet-margin_adjust2 { margin-top: -22px; margin-bottom: 4px; margin-left: -25px; text-align: right; }
.sheet-margin_adjust_wep { margin-top: -19px; margin-bottom: 2px; margin-left: 3px; text-align: right; }
@@ -120,6 +120,30 @@ ______________________________ start of multipurpose or special-use classes such
.sheet-collapsible_entity_switch:checked ~ .sheet-collapsible_entity_block { display: block; }
.sheet-collapsible_entity_switch:checked ~ .sheet-collapsible_entity_toggle { display: none; }
.sheet-collapsible_entity_toggle { display: block; }
.sheet-collapsible_entity_block { display: none; }
.sheet-collapsible_entity_switch:checked ~ .sheet-collapsible_entity_block,
.sheet-collapsible_entity_switch_weapon[value='1'] ~ .sheet-collapsible_entity_block { display: block; }
.sheet-collapsible_entity_switch:checked ~ .sheet-collapsible_entity_toggle,
.sheet-collapsible_entity_switch_weapon[value='1'] ~ .sheet-collapsible_entity_toggle { display: none; }
.sheet-collapsible_entity_toggle_min { display: block; }
.sheet-collapsible_entity_block_min { display: none; }
.sheet-collapsible_entity_switch_min:checked ~ .sheet-collapsible_entity_block_half,
.sheet-collapsible_entity_switch_weapon[value='2'] ~ .sheet-collapsible_entity_block_half { display: block; }
.sheet-collapsible_entity_switch_min:checked ~ .sheet-collapsible_entity_toggle_half,
.sheet-collapsible_entity_switch_weapon[value='2'] ~ .sheet-collapsible_entity_toggle_half { display: none; }
.sheet-collapsible_entity_toggle_half { display: block; }
.sheet-collapsible_entity_block_half { display: none; }
.sheet-collapsible_entity_switch_half:checked ~ .sheet-collapsible_entity_block_min,
.sheet-collapsible_entity_switch_weapon[value='3'] ~ .sheet-collapsible_entity_block_min { display: block; }
.sheet-collapsible_entity_switch_half:checked ~ .sheet-collapsible_entity_toggle_min,
.sheet-collapsible_entity_switch_weapon[value='3'] ~ .sheet-collapsible_entity_toggle_min { display: none; }
.sheet-hidden { display: none; }
.sheet-input_background {
@@ -716,11 +740,12 @@ ______________________________ start of equipment tab __________________________
.sheet-equipment_ranged_weapons_gs_a4 { grid-area: rwa4; color: white; font-size: 12px; width: 55px!important;}
.sheet-equipment_ranged_weapons_gs_a5 { grid-area: rwa5; color: white; font-size: 12px; width: 45px!important;}
/*TODO: add a subgrid right here with 2 cells - for the minmax*/
.sheet-equipment_ranged_weapons_gs_b1 { grid-area: rwb1; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_ranged_weapons_gs_b2 { grid-area: rwb2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_ranged_weapons_gs_b1 { grid-area: rwb1; align-items: center margin-bottom: 0px; font-size: 14px; padding: 0px 2px;}
.sheet-equipment_ranged_weapons_gs_b2 { grid-area: rwb2; align-items: center margin-bottom: 0px; font-size: 14px; padding: 0px 2px;}
.sheet-equipment_ranged_weapons_gs_b3 { grid-area: rwb3; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_ranged_weapons_gs_b4 { grid-area: rwb4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_ranged_weapons_gs_b5 { grid-area: rwb5; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_ranged_weapons_gs_b6 { grid-area: rwb6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_ranged_weapons_gs_c1 { grid-area: rwc1; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_ranged_weapons_gs_c2 { grid-area: rwc2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
@@ -750,6 +775,8 @@ ______________________________ start of equipment tab __________________________
.sheet-equipment_ranged_weapons_gs_e8 { grid-area: rwe8; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_ranged_weapons_gs_e9 { grid-area: rwe9; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 15px; }
.sheet-equipment_ranged_weapons_gs_e10 { grid-area: rwe10; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_ranged_weapons_gs_e11 { grid-area: rwe11; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_ranged_weapons_gs_e12 { grid-area: rwe12; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_ranged_weapons_gs_f1 { grid-area: rwf1; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_ranged_weapons_gs_f2 { grid-area: rwf2; color: white; font-size: 12px; padding: 0px 2px; }
@@ -780,9 +807,9 @@ ______________________________ start of equipment tab __________________________
.sheet-equipment_ranged_weapons_grid2 {
align-items: center;
display: grid;
grid-template-columns: auto auto auto auto auto auto auto auto auto auto;
grid-template-columns: 25px 25px auto auto auto auto auto auto auto auto;
grid-template-areas:
'rwb1 rwb2 rwb2 rwb2 rwb2 rwb2 rwb3 rwb4 rwb4 rwb4';
'rwb1 rwb2 rwb3 rwb4 rwb4 rwb4 rwb4 rwb5 rwb6 rwb6';
}
@@ -804,13 +831,13 @@ ______________________________ start of equipment tab __________________________
'rwd1 rwd2 rwd3 rwd4 rwd5 rwd6 rwd7 rwd8';
}
/* gs_e RoF, Magazine */
/* gs_e RoF, Magazine, Carry? */
.sheet-equipment_ranged_weapons_grid5 {
align-items: center;
display: grid;
grid-template-columns: auto 10% 4% 10% 4% 10% 6px auto 13% 4% 13%; /* nonstandard */
grid-template-columns: auto 8% 3% 8% 3% 8% auto 10% 3% 10% auto 20px; /* nonstandard */
grid-template-areas:
'rwe1 rwe2 rwe3 rwe4 rwe5 rwe6 . rwe7 rwe8 rwe9 rwe10';
'rwe1 rwe2 rwe3 rwe4 rwe5 rwe6 rwe7 rwe8 rwe9 rwe10 rwe11 rwe12';
}
/* gs_f Trained?, HitMod, Reload, Weight */
@@ -837,10 +864,12 @@ ______________________________ start of equipment tab __________________________
.sheet-equipment_melee_weapons_gs_a4 { grid-area: mwa4; color: white; font-size: 12px; width: 55px!important;}
.sheet-equipment_melee_weapons_gs_a5 { grid-area: mwa5; color: white; font-size: 12px; width: 45px!important;}
.sheet-equipment_melee_weapons_gs_b1 { grid-area: mwb1; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_melee_weapons_gs_b2 { grid-area: mwb2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_melee_weapons_gs_b1 { grid-area: mwb1; align-items: center margin-bottom: 0px; font-size: 14px; padding: 0px 2px;}
.sheet-equipment_melee_weapons_gs_b2 { grid-area: mwb2; align-items: center margin-bottom: 0px; font-size: 14px; padding: 0px 2px;}
.sheet-equipment_melee_weapons_gs_b3 { grid-area: mwb3; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_melee_weapons_gs_b4 { grid-area: mwb4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_melee_weapons_gs_b5 { grid-area: mwb5; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_melee_weapons_gs_b6 { grid-area: mwb6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_melee_weapons_gs_c1 { grid-area: mwc1; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_melee_weapons_gs_c2 { grid-area: mwc2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
@@ -864,6 +893,8 @@ ______________________________ start of equipment tab __________________________
.sheet-equipment_melee_weapons_gs_e4 { grid-area: mwe4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_melee_weapons_gs_e5 { grid-area: mwe5; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_melee_weapons_gs_e6 { grid-area: mwe6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; }
.sheet-equipment_melee_weapons_gs_e7 { grid-area: mwe7; color: white; font-size: 12px; padding: 0px 2px; }
.sheet-equipment_melee_weapons_gs_e8 { grid-area: mwe8; color: white; font-size: 12px; padding: 0px 2px; }
/* gs_a Range/Attack/Aim Dropdowns, Hit/Dmg Buttons*/
.sheet-equipment_melee_weapons_grid1 {
@@ -880,7 +911,7 @@ ______________________________ start of equipment tab __________________________
display: grid;
grid-template-columns: auto auto auto auto auto auto auto auto auto auto;
grid-template-areas:
'mwb1 mwb2 mwb2 mwb2 mwb2 mwb2 mwb2 mwb3 mwb4 mwb4';
'mwb1 mwb2 mwb3 mwb4 mwb4 mwb4 mwb4 mwb5 mwb6 mwb6';
}
/* gs_c reach, damage, pen, type */
@@ -902,13 +933,13 @@ ______________________________ start of equipment tab __________________________
}
/* gs_e trained?, hitmod, weight */
/* gs_e trained?, hitmod, weight, carry? */
.sheet-equipment_melee_weapons_grid5 {
align-items: center;
display: grid;
grid-template-columns: auto 20px auto auto auto auto auto auto;
grid-template-columns: auto 20px auto auto auto auto auto 20px;
grid-template-areas:
'mwe1 mwe2 mwe3 mwe4 mwe4 mwe5 mwe6 mwe6';
'mwe1 mwe2 mwe3 mwe4 mwe5 mwe6 mwe7 mwe8';
}
+44 -30
View File
@@ -1166,15 +1166,19 @@
</select>
<button name='weapon_hit' class='equipment_ranged_weapons_gs_a4 full_width clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{attack= }} {{weapon= @{R_weapon_name}}} {{dos=[[[[1+ floor(abs([[{{ {@{R_weapon_target}+@{inlinemod-toggle}}, {@{bsTotal}-@{limiter}}}kh1, {@{bsTotal}+@{limiter}}}kl1]]-[[1d100@{R_weapon_mishap_chance}]])/10)]]+ceil(@{BS_unnat}/2)]]}}{{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}@{settings_hitroll}{{aim= [[@{R_weapon_aim}]]}}{{R_type= [[@{R_weapon_attack}]]}}{{range= [[@{R_weapon_attack_range}]]}}{{modifier= [[@{inlinemod-toggle}]]}}{{stat_name= Ballistic Skill}}{{stat=[[@{BS}]]}}{{advancement= [[@{BS_advancement}]]}}{{hitmod= [[@{R_weapon_mod1}]]}}{{trained= [[@{R_weapon_trained}-20]]}}{{burst=@{R_weapon_burst}}}{{auto=@{R_weapon_auto}}}
!ammo @{character_id} repeating_rangedweapons_@{id}_R_weapon_mag [[@{ammo}*@{R_weapon_setting}]]'>Hit |<input name='attr_R_weapon_target' value='@{bsTotal} + @{R_weapon_trained} - 20 + @{R_weapon_mod1} + @{R_weapon_attack} + @{R_weapon_aim} + @{R_weapon_attack_range}' class='input_background input_char_background' disabled ></button>
<button name='weapon_dmg' class='equipment_ranged_weapons_gs_a5 full_width clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{type= @{R_weapon_type}}} {{weapon= @{R_weapon_name}}} {{damage=[[@{R_weapon_real_dmg}]] }} {{@{R_weapon_spray}= }} {{pen=[[@{R_weapon_pen}+0@{R_weapon_pen2}]] }} {{@{settings_weapondescription}=@{R_ability_r} }} @{R_weapon_accurate}'>DMG</button>
<button name='weapon_dmg' class='equipment_ranged_weapons_gs_a5 full_width clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{type= @{R_weapon_type}}} {{weapon= @{R_weapon_name}}} {{damage=[[@{R_weapon_real_dmg}]] }} {{spray= [[@{R_weapon_spray}]] }} {{pen=[[@{R_weapon_pen}+0@{R_weapon_pen2}]] }} {{@{settings_weapondescription}=@{R_ability_r} }} @{R_weapon_accurate}'>DMG</button>
</div>
<div class='equipment_ranged_weapons_grid2'>
<div class='equipment_ranged_weapons_gs_b1'>Name</div>
<input class='equipment_ranged_weapons_gs_b2 full_width' type='text' name='attr_R_weapon_name' />
<div class='equipment_ranged_weapons_gs_b3'>Class</div>
<input class='equipment_ranged_weapons_gs_b4 full_width' type='text' name='attr_R_weapon_class' />
<input name='attr_wep_display' type='checkbox' value='1' class='collapsible_entity_switch_min hidden' />
<input name='attr_wep_display' type='checkbox' value='2' class='collapsible_entity_switch_half hidden' />
<label title='Minimal' class='equipment_ranged_weapons_gs_b1'><input type='checkbox' name='attr_wep_display' value='1' class='select_button hidden' /><span class='select_text select_correction'>&#128469;</span></label>
<label title='Limited' class='equipment_ranged_weapons_gs_b2'><input type='checkbox' name='attr_wep_display' value='2' class='select_button hidden' /><span class='select_text select_correction'>&#128471;</span></label>
<div class='equipment_ranged_weapons_gs_b3'>Name</div>
<input class='equipment_ranged_weapons_gs_b4 full_width' type='text' name='attr_R_weapon_name' />
<div class='equipment_ranged_weapons_gs_b5'>Class</div>
<input class='equipment_ranged_weapons_gs_b6 full_width' type='text' name='attr_R_weapon_class' />
</div>
<div class='equipment_ranged_weapons_grid3'>
<div class='equipment_ranged_weapons_grid3 collapsible_entity_toggle_min'>
<div class='equipment_ranged_weapons_gs_c1'>Range</div>
<input class='equipment_ranged_weapons_gs_c2 full_width' type='text' value='0' name='attr_R_weapon_range' />
<div class='equipment_ranged_weapons_gs_c3'>Damage</div>
@@ -1185,7 +1189,7 @@
<div class='equipment_ranged_weapons_gs_c7'>Type</div>
<input class='equipment_ranged_weapons_gs_c8 full_width' type='text' name='attr_R_weapon_type' />
</div>
<div class='equipment_ranged_weapons_grid4'>
<div class='equipment_ranged_weapons_grid4 collapsible_entity_toggle_min collapsible_entity_toggle_half'>
<div class='equipment_ranged_weapons_gs_d1'>Proven</div>
<input class='equipment_ranged_weapons_gs_d2 full_width' type='text' value='0' name='attr_R_weapon_min' />
<div class='equipment_ranged_weapons_gs_d3'>Primitive</div>
@@ -1196,7 +1200,7 @@
<div class='equipment_ranged_weapons_gs_d7'>Accurate</div>
<input class='equipment_ranged_weapons_gs_d8' type='checkbox' value='{{accurate=?{DoS |1, [[0]]|2-3, [[1d10]]|4+, [[2d10]]}}}' name='attr_R_weapon_accurate' />
</div>
<div class='equipment_ranged_weapons_grid5'>
<div class='equipment_ranged_weapons_grid5 collapsible_entity_toggle_min'>
<div class='equipment_ranged_weapons_gs_e1'>RoF</div>
<input class='equipment_ranged_weapons_gs_e2 full_width' type='text' placeholder='Std' name='attr_R_weapon_standard' />
<div class='equipment_ranged_weapons_gs_e3'>/</div>
@@ -1207,8 +1211,10 @@
<input class='equipment_ranged_weapons_gs_e8 full_width' type='text' value='0' name='attr_R_weapon_mag' />
<div class='equipment_ranged_weapons_gs_e9'>/</div>
<input class='equipment_ranged_weapons_gs_e10 full_width' type='text' value='0' name='attr_R_weapon_mag_max' />
<div class='equipment_ranged_weapons_gs_e11'>Carry?</div>
<input class='equipment_ranged_weapons_gs_e12' type='checkbox' value='1' name='attr_R_weapon_carry' checked />
</div>
<div class='equipment_ranged_weapons_grid6'>
<div class='equipment_ranged_weapons_grid6 collapsible_entity_toggle_min collapsible_entity_toggle_half' >
<div class='equipment_ranged_weapons_gs_f1'>Trained?</div>
<input class='equipment_ranged_weapons_gs_f2' type='checkbox' value='20' name='attr_R_weapon_trained' checked />
<div class='equipment_ranged_weapons_gs_f3'>Hit Mod</div>
@@ -1218,7 +1224,7 @@
<div class='equipment_ranged_weapons_gs_f7'>Weight</div>
<input class='equipment_ranged_weapons_gs_f8 full_width' type='text' value='0' name='attr_R_weapon_weight' />
</div>
<div class='equipment_ranged_weapons_grid7'>
<div class='equipment_ranged_weapons_grid7 collapsible_entity_toggle_min collapsible_entity_toggle_half'>
<div class='equipment_ranged_weapons_gs_g1' title='Las, Plasma, etc'>Domain</div>
<input class='equipment_ranged_weapons_gs_g2 full_width' type='text' name='attr_R_weapon_domain' />
<div class='equipment_ranged_weapons_gs_g3'>Mishap Chance</div>
@@ -1231,9 +1237,9 @@
<option value='cs>?{Mishap chance|96}' >Custom</option>
</select>
<div class='equipment_ranged_weapons_gs_g5'>Spray?</div>
<input class='equipment_ranged_weapons_gs_g6' type='checkbox' value='spray' name='attr_R_weapon_spray' />
<input class='equipment_ranged_weapons_gs_g6' type='checkbox' value='1' name='attr_R_weapon_spray' />
</div>
<div>
<div class='collapsible_entity_toggle_min collapsible_entity_toggle_half' >
<input name='attr_R_ability_r' type='text' placeholder='Special' class='60width border_none' />
<select name='attr_R_weapon_setting' class='25width select_correction'>
<option value='1'>N/A</option>
@@ -1279,10 +1285,14 @@
<button name='weapon_dmg' class='equipment_melee_weapons_gs_a5 full_width clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{weapon= @{M_weapon_name}}} {{type= @{M_weapon_type}}} {{damage=[[@{M_weapon_real_dmg}+[[floor((@{strTotal})/10) + @{str_unnat}]]]] }} {{pen= [[@{M_weapon_pen}]] }} {{@{settings_weapondescription}=@{M_ability_r} }}'>DMG</button>
</div>
<div class='equipment_melee_weapons_grid2'>
<div class='equipment_melee_weapons_gs_b1'>Name</div>
<input class='equipment_melee_weapons_gs_b2 full_width' type='text' name='attr_M_weapon_name' />
<div class='equipment_melee_weapons_gs_b3' title='Chain, Power, etc'>Domain</div>
<input class='equipment_melee_weapons_gs_b4 full_width' type='text' name='attr_M_weapon_domain' />
<input name='attr_wep_display' type='checkbox' value='1' class='collapsible_entity_switch_min hidden' />
<input name='attr_wep_display' type='checkbox' value='2' class='collapsible_entity_switch_half hidden' />
<label title='Minimal' class='equipment_melee_weapons_gs_b1'><input type='checkbox' name='attr_wep_display' value='1' class='select_button hidden' /><span class='select_text select_correction'>&#128469;</span></label>
<label title='Limited' class='equipment_melee_weapons_gs_b2'><input type='checkbox' name='attr_wep_display' value='2' class='select_button hidden' /><span class='select_text select_correction'>&#128471;</span></label>
<div class='equipment_melee_weapons_gs_b3'>Name</div>
<input class='equipment_melee_weapons_gs_b4 full_width' type='text' name='attr_M_weapon_name' />
<div class='equipment_melee_weapons_gs_b5' title='Chain, Power, etc'>Domain</div>
<input class='equipment_melee_weapons_gs_b6 full_width' type='text' name='attr_M_weapon_domain' />
</div>
<div class='equipment_melee_weapons_grid3'>
<div class='equipment_melee_weapons_gs_c1'>Reach</div>
@@ -1312,8 +1322,10 @@
<input class='equipment_melee_weapons_gs_e4 full_width' type='text' value='0' name='attr_M_weapon_mod1' />
<div class='equipment_melee_weapons_gs_e5'>Weight</div>
<input class='equipment_melee_weapons_gs_e6 full_width' type='text' value='0' name='attr_M_weapon_weight' />
<div class='equipment_melee_weapons_gs_e7'>Carry?</div>
<input class='equipment_melee_weapons_gs_e8' type='checkbox' value='1' name='attr_M_weapon_carry' checked />
</div>
<div>
<input name='attr_M_ability_r' type='text' placeholder='Special' class='full_width_49px border_none' />
<label title='Expand' class='margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='3' class='collapsible_entity_switch select_button hidden' /><span class='select_text radius_border_right_wep'></span></label>
@@ -1466,7 +1478,7 @@
</div>
<h3 style="padding-top: 5px;">Special Weapon Dice Rolls</h3>
<textarea name='attr_specialdice' readonly>1d5: "ceil(1d10/2)+5" rolls a 1d10, halves it, and rounds up (then adds 5, as seen in other examples)&#10;&#10;Tearing: "3d10d2+5" rolls 3d10, drops lowest two. (3d10kl1 would keep lowest 1) Modify by rolling and dropping/keeping more dice&#10;&#10;Primitive: "[[{1d10, 1d10, 0d1+7, 0d1+7}kl2]]+5" rolls 2d10, rolls 2 guaranteed 7's, and keeps lowest 2, allowing 7 to be the "maximum" roll. Modify by adding more d10, adding more 0d1+(Primitive), and increasing the kl(number).&#10;&#10;Proven: "[[{1d10, 1d10, 0d1+4, 0d1+4}k2]]+5" rolls 2d10, rolls 2 guaranteed 4's, and keeps highest 2, allowing 4 to be the "minimum" roll. Modify by adding more d10, adding more 0d1+(Proven), and increasing the kh(number).</textarea>
<textarea name='attr_specialdice' readonly>Tearing: "3d10d2+5" rolls 3d10, drops lowest two. (3d10kl1 would keep lowest 1) Modify by rolling and dropping/keeping more dice&#10;&#10;Everything else should already be provided for in the weapon block itself!</textarea>
</div>
@@ -2738,12 +2750,14 @@
ven = source + 'weapon_vengeful', // crit
min = source + 'weapon_min', // proven
max = source + 'weapon_max', // primitive
spr = source + 'weapon_spray', // spray
set = source + 'weapon_setting'; // overcharge/load / maximal
let dmg = redice.exec(v[dam]);
ven = parseInt(v[ven], 10) || 0,
min = parseInt(v[min], 10) || 0,
max = parseInt(v[max], 10) || 0,
spr = parseInt(v[spr], 10) || 0,
set = parseInt(v[set], 10) || 0;
if (!dmg) {
@@ -2762,6 +2776,7 @@
if (max > 0) damTotal += '{';
damTotal += (dicetype == 'd5') ? 'ceil(1d10/2)' : '1d10';
if (ven > 0) damTotal += 'cs>' + ven;
if (spr) damTotal += 'cf9';
if (min > 0) damTotal += ', {' + min + '}}kh1';
if (max > 0) damTotal += ', {' + max + '}}kl1';
}
@@ -2782,8 +2797,8 @@
};
let fieldsDMG = [
'vehiclerangedweapons:V_R_weapon_dam-roll', 'vehiclerangedweapons:V_R_weapon_vengeful', 'vehiclerangedweapons:V_R_weapon_min', 'vehiclerangedweapons:V_R_weapon_max', 'vehiclerangedweapons:V_R_weapon_setting',
'rangedweapons:R_weapon_dam-roll', 'rangedweapons:R_weapon_vengeful', 'rangedweapons:R_weapon_min', 'rangedweapons:R_weapon_max', 'rangedweapons:R_weapon_setting',
'vehiclerangedweapons:V_R_weapon_dam-roll', 'vehiclerangedweapons:V_R_weapon_vengeful', 'vehiclerangedweapons:V_R_weapon_min', 'vehiclerangedweapons:V_R_weapon_max', 'vehiclerangedweapons:V_R_weapon_spray', 'vehiclerangedweapons:V_R_weapon_setting',
'rangedweapons:R_weapon_dam-roll', 'rangedweapons:R_weapon_vengeful', 'rangedweapons:R_weapon_min', 'rangedweapons:R_weapon_max', 'rangedweapons:R_weapon_spray', 'rangedweapons:R_weapon_setting',
'vehiclemeleeweapons:V_M_weapon_dam-roll', 'vehiclemeleeweapons:V_M_weapon_vengeful', 'vehiclemeleeweapons:V_M_weapon_min', 'vehiclemeleeweapons:V_M_weapon_max',
'meleeweapons:M_weapon_dam-roll', 'meleeweapons:M_weapon_vengeful', 'meleeweapons:M_weapon_min', 'meleeweapons:M_weapon_max',
];
@@ -2798,6 +2813,7 @@
`repeating_rangedweapons_${id}_R_weapon_vengeful`,
`repeating_rangedweapons_${id}_R_weapon_min`,
`repeating_rangedweapons_${id}_R_weapon_max`,
`repeating_rangedweapons_${id}_R_weapon_spray`,
`repeating_rangedweapons_${id}_R_weapon_setting`
);
});
@@ -2827,7 +2843,8 @@
`repeating_vehiclerangedweapons_${id}_V_R_weapon_vengeful`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_min`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_max`,
`repeating_rangedweapons_${id}_V_R_weapon_setting`
`repeating_vehiclerangedweapons_${id}_V_R_weapon_spray`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_setting`
);
});
calcDmg(sources, fieldnames);
@@ -3155,8 +3172,7 @@
{{#damage}}
<div class="template-header">{{character}} rolls for damage with {{weapon}}</div>
{{#description}}<div class="template-content template-content_top">{{/description}}
{{^description}}{{#spray}}<div class="template-content template-content_top">{{/spray}}{{/description}}
{{^description}}{{^spray}}<div class="template-content">{{/spray}}{{/description}}
{{^description}}<div class="template-content">{{/description}}
<div class="template-2x2">
<div class="template-2x2">
<div class="template-row template-right">Type:</div>
@@ -3173,14 +3189,13 @@
<div class="template-row mythic_crit">{{pen}}</div>
</div>
</div>
{{#rollWasFumble() damage}}
{{#rollTotal() spray 1}}<div class="template-row template-center">That's not good...</div>{{/rollTotal() spray 1}}
{{/rollWasFumble() damage}}
</div>
{{/damage}}
{{#spray}}
{{#description}}<div class="template-content template-content_top">{{/description}}
{{^description}}<div class="template-content">{{/description}}
<div class="template-row">Spray weapons jam on any natural Damage die roll of 9.</div>
</div>
{{/spray}}
{{#description}}
{{#name}}<div class="template-header">{{name}}</div>{{/name}}
<div class="template-content">
@@ -3189,7 +3204,6 @@
{{/description}}
{{#righteousfury}}
<div class="template-header">{{character}} attacks with Righteous Fury (p258/p276)</div>
<div class="template-content">