i can send all HTML for the roll it is a lot. Yes there were some typos i realized after i sent the message. I will also send you a clip of what the attack lines area of the sheet looks like. Here is what the full sheet looks like. and below is what a closer look at the weapon section. The green is what the payer will see normally. there will be 12 of those line which is why you have the weapon_1 in the names. weapon_1 just helps me keep all the information straight. 1. is a visibility box. when the player click that the information settings for the attack show up.(2-7) 2. is the line for attacks. and the check box has a value. to determine the roll information. 3-5 are the weapons damage types. each one also has a value. To help determine what is rolled. 6 is line for saving throw information. again the check box has a value to help determine what is rolled. 7. is information that will change attack and damage stats depending on the ability's they have selected. (Ability tab has not been added the test sheet yet. The inputs at the very bottom are placeholders for those abilities. They also have not been set up for the test yet. when i am making the sheet to make sure each part of a roll works i add them one at a time. example i tested the attack roll and all the bones one or two at a time to make sure they worked before i moved to the damage. which is where i ran into trouble. I know testing like that is the long way of building. but it helps me catch mistakes as they come and i dont have to waste time trying to figure out where i have an issue. Below is the HTML for the attack line i have right now. this should have everything you are looking for to help. <div class="section4"><!-- Weapon Attacks --> <div class="weapon_header"> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>Attack</h6> <h6>&nbsp </h6> <h6>Damage</h6> <h6>Range</h6> <h6>&nbsp </h6> <h6>Ammo</h6> <h6>&nbsp </h6> <h6>Range</h6> <h6>&nbsp </h6> <h6>Multipler</h6> <h6>&nbsp </h6> <h6>Save</h6> </div> <div class="weapon"><!-- Weapon 1 --> <div class="weapon_attack_line"><!-- Weapon Displays --> <button name="act_weapon_1_attack" class="button1" type="action">1.</button> <input name="attr_weapon_1_name" class="text200" type="text" value="Weapon Name"> <h4>&nbsp </h4> <input name="attr_weapon_1_to_hit_display" class="text030" type="text" value="@{weapon_1_attck_total}" disabled> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_display" class="text135" type="text" > <input name="attr_weapon_1_range_display" class="text090" type="text" value="0"> <h4>&nbsp </h4> <select name="attr_weapon_1_ammo" class="text050" type="text"> <option value="5000">--</option> <option value="5001">0</option> <option value="5002">1</option> <option value="5003">2</option> <option value="5004">3</option> <option value="5005">4</option> <option value="5006">5</option> <option value="5007">6</option> <option value="5008">7</option> <option value="5009">8</option> <option value="5010">9</option> <option value="5011">10</option> <option value="5012">11</option> <option value="5013">12</option> <option value="5014">13</option> <option value="5015">14</option> <option value="5016">15</option> </select> <input name="attr_weapon_1_max_ammo_display" class="text030" type="text" value="0"> <h4>&nbsp </h4> <input name="attr_weapon_1_crit_range" class="text040" type="text" value="0"> <input name="attr_weapon_1_crit_box" class="text025" type="text" value="X"> <input name="attr_weapon_1_crit_mutiplyer" class="text040" type="text" value="0"> <h4>&nbsp </h4> <input name="attr_weapon_1_save_display" class="text080" type="text" value="0"> </div> <input name="attr_weapon_1" class="toggle" type="hidden" value="0"> <input name="attr_weapon_1" class="checkbox2" type="checkbox" value="1"> <div class="weapon_1_traits"> <div class="weapon_line_1"><!-- Attack Header --> <h6>&nbsp </h6> <h6>Attack Total</h6> <h6>&nbsp </h6> <h6>Proficient</h6> <h6>&nbsp </h6> <h6>Attack Stat</h6> <h6>&nbsp </h6> <h6>Attack Bonus</h6> <h6>&nbsp </h6> <h6>Attack Quality</h6> </div> <div class="weapon_line_1"><!-- Attack Info --> <input name="attr_weapon_1_attack_yes" class="checkbox2" type="checkbox" value="100"> <input name="attr_weapon_1_attck_total" class="text040" type="text" value="@{weapon_1_proficiency}+@{weapon_1_stat}+@{weapon_1_attck_bonus}+@{weapon_1_quality}" disabled> <h4>&nbsp </h4> <input name="attr_weapon_1_proficiency" class="checkbox2" type="checkbox" value="@{proficiency}"> <h4>&nbsp </h4> <select name="attr_weapon_1_stat" class="text060"> <option value="0">---</option> <option value="@{str_Mod}">STR</option> <option value="@{dex_Mod}">DEX</option> <option value="@{con_Mod}">CON</option> <option value="@{itl_Mod}">INT</option> <option value="@{wis_Mod}">WIS</option> <option value="@{cha_Mod}">CHA</option> </select> <h4>&nbsp </h4> <input name="attr_weapon_1_attck_bonus" class="text040" type="text" value="0"> <h4>&nbsp </h4> <select name="attr_weapon_1_quality" class="text150"> <option value="0">Common</option> <option value="1">Well Crafted</option> <option value="2">Professional Crafted</option> <option value="3">Military Crafted</option> </select> </div> <div class="weapon_line_2a"><!-- Damage Header --> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>Damage</h6> <h6>&nbsp </h6> <h6>Damage Type</h6> <h6>&nbsp </h6> <h6>Damage Bonus</h6> </div> <div class="weapon_line_2b"><!-- Damage Info --> <input name="attr_weapon_1_damage_1" class="checkbox2" type="checkbox" value="1"> <h4>&nbsp </h4> <input name="attr_weapon_1_info_1" class="text100" type="text" value="Damage 1" readonly> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_1_qty" class="text025" type="text" value="1"> <input name="attr_weapon_1_dice" class="text025" type="text" value="d" disabled> <input name="attr_weapon_1_damage_1_face" class="text025" type="text" value="6"> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_1_type" class="text100" type="text" value=""> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_1_bonus" class="text040" type="text" value=""> <input name="attr_weapon_1_damage_2" class="checkbox2" type="checkbox" value="3"> <h4>&nbsp </h4> <input name="attr_weapon_1_info_2" class="text100" type="text" value="Damage 2" readonly> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_2_qty" class="text025" type="text" value=""> <input name="attr_weapon_1_dice" class="text025" type="text" value="d" disabled> <input name="attr_weapon_1_damage_2_face" class="text025" type="text" value=""> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_2_type" class="text100" type="text" value=""> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_2_bonus" class="text040" type="text" value=""> <input name="attr_weapon_1_damage_3" class="checkbox2" type="checkbox" value="5"> <h4>&nbsp </h4> <input name="attr_weapon_1_info_3" class="text100" type="text" value="Damage 3" readonly> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_3_qty" class="text025" type="text" value=""> <input name="attr_weapon_1_dice" class="text025" type="text" value="d" disabled> <input name="attr_weapon_1_damage_3_face" class="text025" type="text" value=""> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_3_type" class="text100" type="text" value=""> <h4>&nbsp </h4> <input name="attr_weapon_1_damage_3_bonus" class="text040" type="text" value=""> </div> <div class="weapon_line_3"><!-- Save Header --> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>Requier</h6> <h6>&nbsp </h6> <h6>Successful</h6> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>Save Stat</h6> <h6>Save DC</h6> <h6>&nbsp </h6> <h6>Save AOE</h6> <h6>&nbsp </h6> <h6>Effects</h6> <h6>Sight</h6> <h6>&nbsp </h6> <h6>Save</h6> </div> <div class="weapon_line_3"><!-- Save Info --> <input name="attr_weapon_1_save" class="checkbox2" type="checkbox" value="10"> <h6>&nbsp </h6> <select name="attr_weapon_1_save_type" class="text065"> <option value="No Save" selected="selected">None</option> <option value="Strength Save DC [[@{weapon_1_save_dc}]]">STR</option> <option value="Dexterity Save DC [[@{weapon_1_save_dc}]]">DEX</option> <option value="Constitution Save DC [[@{weapon_1_save_dc}]]">CON</option> <option value="Intelligence Save DC [[@{weapon_1_save_dc}]]">INT</option> <option value="Wisdom Save DC [[@{weapon_1_save_dc}]]">WIS</option> <option value="Charisma Save DC [[@{weapon_1_save_dc}]]">CHA</option> </select> <select name="attr_weapon_1_save_dc" class="text065"> <option value="0" selected="selected">---</option> <option value="8+@{proficiency}+@{str_Mod}">STR</option> <option value="8+@{proficiency}+@{dex_Mod}">DEX</option> <option value="8+@{proficiency}+@{con_Mod}">CON</option> <option value="8+@{proficiency}+@{itl_Mod}">INT</option> <option value="8+@{proficiency}+@{wis_Mod}">WIS</option> <option value="8+@{proficiency}+@{cha_Mod}">CHA</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> </select> <h6>&nbsp </h6> <select name="attr_weapon_1_save_area" class="text120"> <option value="" selected="selected">None</option> <option value="in targeted Square">1 Square</option> <option value="in targeted Square and all Squares 1 away">3 Squares</option> <option value="in targeted Square and all Squares 2 away">5 Squares</option> <option value="in targeted Square and all Squares 3 away">7 Squares</option> <option value="in targeted Square and all Squares 5 away">9 Squares</option> <option value="in a 6 square line">6 Square Line</option> <option value="in a 8 square line">8 Square Line</option> <option value="in a 10 square line">10 Square Line</option> <option value="in a 12 square line">12 Square Line</option> <option value="in a 2 square cone">2 Square Cone</option> <option value="in a 3 square cone">3 Square Cone</option> <option value="in a 4 square cone">4 Square Cone</option> <option value="in a 5 square cone">5 Square Cone</option> <option value="in a 6 square cone">6 Square Cone</option> </select> <h6>&nbsp </h6> <select name="attr_weapon_1_save_target" class="text110"> <option value="all creatures" selected="selected">All Creatures</option> <option value="all creatures">All Creatures</option> <option value="all enemies">All Enemies</option> <option value="all allies">All Allies</option> <option value="targeted creature">1 Creature</option> <option value="both targeted creature">2 Creatures</option> <option value="all 3 targeted creatures">3 Creatures</option> <option value="all 4 targeted creatures">4 Creatures</option> <option value="all 5 targeted creatures">5 Creatures</option> <option value="all 6 targeted creatures">6 Creatures</option> <option value="all 7 targeted creatures">7 Creatures</option> <option value="all 8 targeted creatures">8 Creatures</option> </select> <select name="attr_weapon_1_save_sight" class="text090"> <option value="that you can see" selected="selected">Yes</option> <option value="">No</option> </select> <h6>&nbsp </h6> <select name="attr_weapon_1_save_succcess" class="text080"> <option value="take half damge">Half</option> <option value="no effect">None</option> </select> </div> <div class="weapon_line_4a"> <h6>&nbsp </h6> <h6>&nbsp </h6> <h6>Attack Type</h6> <h6>&nbsp </h6> <h6>Main Hand</h6> <h6>Off-Hand</h6> <h6>Rage</h6> <h6>Familiarity</h6> <h6>Sneak Attack</h6> <h6>Max Ammo</h6> </div> <div class="weapon_line_4b"> <h6>&nbsp </h6> <h6>&nbsp </h6> <select name="attr_weapon_1_attack_type" class="text090"> <option value="4000">Unarmed</option> <option value="4001">Melee</option> <option value="4002">Thrown</option> <option value="4003">Range</option> </select> <h4>&nbsp </h4> <select name="attr_weapon_1_hands" class="text065"> <option value="0">One</option> <option value="@{Fighting_Style_Powerful_Striker}">Two</option> </select> <select name="attr_weapon_1_off_hand" class="text090"> <option value="@{freehand}">None</option> <option value="@{shieldhand}">Shield</option> <option value="@{weaponhand}">Weapon</option> </select> <input name="attr_weapon_1_rage" class="checkbox2" type="checkbox" value="@{Rage_Checkbox}"> <input name="attr_weapon_1_familiarity101" class="text080" type="text" value="0"> <input name="attr_weapon_1_sneakattack101" class="text080" type="text" value="0"> <select name="attr_weapon_1_ammo_max" class="text090" type="text"> <option value="6000">None</option> <option value="6001">1</option> <option value="6002">2</option> <option value="6003">3</option> <option value="6004">4</option> <option value="6005">5</option> <option value="6006">6</option> <option value="6007">7</option> <option value="6008">8</option> <option value="6009">9</option> <option value="6010">10</option> <option value="6011">11</option> <option value="6012">12</option> <option value="6013">13</option> <option value="6014">14</option> <option value="6015">15</option> </select> </div> </div> </div> </div> here is all the scripts and hidden info. <div><!--Section 4--> <div><!--Hidden Fields--> <div><!--Weapon 1--> <input name="attr_weapon_1_damage_1_damg_roll" class="text025" type="hidden" value="@{weapon_1_damage_1_qty}d@{weapon_1_damage_1_face}+@{weapon_1_damage_1_bonus}"> <input name="attr_weapon_1_damage_1_crit_roll" class="text025" type="hidden" value="@{weapon_1_damage_1_qty}d@{weapon_1_damage_1_face}+@{weapon_1_damage_1_bonus}+(@{weapon_1_damage_1_qty}*@{weapon_1_damage_1_face})"> <input name="attr_weapon_1_dmage_1_roll" class="text025" type="hidden" > </div> </div> <div><!--Scripts--> <div><!--Weapon 1--> <script type="text/worker"><!-- Proficiency --> on('sheet:opened change:weapon_1_attack_value', function() { getAttrs(['weapon_1_attack_value','weapon_1_damage_1_damg_roll','weapon_1_damage_1_crit_roll'], function(values) { const weapon_1_attack_value = parseInt(values.weapon_1_attack_value) || 0; let weapon_1_dmage_1_roll = '@{weapon_1_damage_1_damg_roll}'; if (weapon_1_attack_value >= 19) {weapon_1_dmage_1_roll = '@{weapon_1_damage_1_crit_roll}';} else if (weapon_1_attack_value <=18) {weapon_1_dmage_1_roll = '@{weapon_1_damage_1_damg_roll}';} setAttrs({weapon_1_dmage_1_roll: weapon_1_dmage_1_roll}); }); }); </script> <script type="text/worker"><!-- Weapon 1 Attack --> on('clicked:weapon_1_attack', () => { startRoll('&{template:default} {{name=@{charactername} @{weapon_1_name}}} {{attack=[[1d20+@{weapon_1_attck_total}]]}} {{Damage 1=[[@{weapon_1_dmage_1_roll}]]}}', weapon_1_attack => { finishRoll(weapon_1_attack.rollId); }); }); </script> <script type="text/worker"><!-- Weapon Damage Number for Generating Damage Display --> on('sheet:opened change:weapon_1_damage_1 change:weapon_1_damage_2 change:weapon_1_damage_3 ' , function() { getAttrs(['weapon_1_damage_1','weapon_1_damage_2','weapon_1_damage_3'], function(values) { const weapon_1_damage_1 = parseInt(values.weapon_1_damage_1); const weapon_1_damage_2 = parseInt(values.weapon_1_damage_2); const weapon_1_damage_3 = parseInt(values.weapon_1_damage_3); const weapon_1_display_number = weapon_1_damage_1 + weapon_1_damage_2 + weapon_1_damage_3; setAttrs({weapon_1_damage_number: weapon_1_display_number}); }); }); </script> <script type="text/worker"><!-- Weapon 1 Damage 1 Display --> on('sheet:opened change:weapon_1_damage_1_qty change:weapon_1_damage_1_face change:weapon_1_damage_1_type ' , function() { getAttrs(['weapon_1_damage_1_qty','weapon_1_damage_1_face','weapon_1_damage_1_type'], function(values) { const weapon_1_damage_1_qty = values.weapon_1_damage_1_qty; const weapon_1_damage_1_face = values.weapon_1_damage_1_face; const weapon_1_damage_1_type = values.weapon_1_damage_1_type; const weapon_1_damage = weapon_1_damage_1_qty+"d"+weapon_1_damage_1_face; setAttrs({weapon_1_damage_1_line: weapon_1_damage}); }); }); </script> <script type="text/worker"><!-- Weapon 1 Damage 2 Display --> on('sheet:opened change:weapon_1_damage_2_qty change:weapon_1_damage_2_face change:weapon_1_damage_2_type ' , function() { getAttrs(['weapon_1_damage_2_qty','weapon_1_damage_2_face','weapon_1_damage_2_type'], function(values) { const weapon_1_damage_2_qty = values.weapon_1_damage_2_qty; const weapon_1_damage_2_face = values.weapon_1_damage_2_face; const weapon_1_damage_2_type = values.weapon_1_damage_2_type; const weapon_2_damage = weapon_1_damage_2_qty+"d"+weapon_1_damage_2_face; setAttrs({weapon_1_damage_2_line: weapon_2_damage}); }); }); </script> <script type="text/worker"><!-- Weapon 1 Damage 3 Display --> on('sheet:opened change:weapon_1_damage_3_qty change:weapon_1_damage_3_face change:weapon_1_damage_3_type ' , function() { getAttrs(['weapon_1_damage_3_qty','weapon_1_damage_3_face','weapon_1_damage_3_type'], function(values) { const weapon_1_damage_3_qty = values.weapon_1_damage_3_qty; const weapon_1_damage_3_face = values.weapon_1_damage_3_face; const weapon_1_damage_3_type = values.weapon_1_damage_3_type; const weapon_3_damage = weapon_1_damage_3_qty+"d"+weapon_1_damage_3_face; setAttrs({weapon_1_damage_3_line: weapon_3_damage}); }); }); </script> <script type="text/worker"><!-- Weapon 1 Total Damage Display --> on('sheet:opened change:weapon_1_damage_number change:weapon_1_damage_1_line change:weapon_1_damage_2_line change:weapon_1_damage_3_line', function() { getAttrs(['weapon_1_damage_number','weapon_1_damage_1_line','weapon_1_damage_2_line','weapon_1_damage_3_line'], function(values) { const weapon_1_damage_number = parseInt(values.weapon_1_damage_number)|| 0; const damage_1 = values.weapon_1_damage_1_line; const damage_2 = values.weapon_1_damage_2_line; const damage_3 = values.weapon_1_damage_3_line; let weapon_1_damage_display = "None"; if (weapon_1_damage_number == 0) {weapon_1_damage_display = "None";} else if (weapon_1_damage_number == 1) {weapon_1_damage_display = damage_1;} else if (weapon_1_damage_number == 4) {weapon_1_damage_display = damage_1+"/"+damage_2;} else if (weapon_1_damage_number == 9) {weapon_1_damage_display = damage_1+"/"+damage_2+"/"+damage_3;} setAttrs({weapon_1_damage_display: weapon_1_damage_display}); }); }); </script> </div> </div> let me know if it would be better to send you the whole sheet and css. most of this sheet is tied together with other info.