[GURPS] v2.2.1 Bug fuxes, Cosmetic changes, New features: GURPS.html, GURPS.css (#5874)

•	Adjusted the field widths for Techniques (Revised) and Parent Attributes – Cosmetic only.
•	Added new function of ‘Dodge and Drop’ to default Active Defenses.
•	Techniques Table Revised. Points spent on techniques are now totaled correctly. NOTE: When transferring techniques to the revised table, be sure to delete the old techniques, otherwise the total will be wrong.
•	Techniques Table Revised. Fix bug where Modifier was not added to the final Technique Skill Level.
•	Quirks/Perks Bugfix. Adding a row did not total the quirks/perks correctly.
•	Repeating Spells, quickly clicking checkboxes prevented correct totals. Using new code provided by GiGs to improve speed.
•	Many ToolTips updated or added.
•	Some slight format changes – Cosmetic Only.
•	Added a Defense Bonus (DB) Notes box to the Active Defense section.
This commit is contained in:
Mike W
2020-02-17 13:47:00 -06:00
committed by GitHub
parent 0a0b28f2b4
commit 860a2ef84e
2 changed files with 299 additions and 159 deletions
+47 -10
View File
@@ -892,7 +892,8 @@ input.sheet-module-roll:checked ~ .sheet-wrapper .sheet-module-off-roll,
margin-left: 0px;
width: 50%;
}
.sheet-damage-reduction .sheet-tooltop { margin-left: -300px; }
.sheet-col-dodge-label .sheet-tooltip { margin-left: 0px; }
.sheet-damage-reduction .sheet-tooltop { margin-left: -400px; }
.sheet-damage-reduction .sheet-col2 .sheet-tooltip { margin-left: -300px; }
.sheet-melee-attacks .sheet-tooltip { margin-left: -100px; }
.sheet-melee-attacks .sheet-col1 .sheet-tooltip { margin-left: -40px; }
@@ -1815,20 +1816,20 @@ input.sheet-box-techniques-new[value="0"] + div.sheet-techniques-revised {
}
.sheet-techniques-revised { width: calc(100% - 0.4em); }
.sheet-techniques-revised .sheet-col0 { width: calc((100% - 380px) * 0.55); }
.sheet-techniques-revised .sheet-col0 { width: calc(100% - 512px); }
.sheet-techniques-revised .sheet-col0 input { text-align:left; }
.sheet-techniques-revised .sheet-col1 { width: calc((100% - 390px) * 0.45); }
.sheet-techniques-revised .sheet-col1 { width: 140px; }
.sheet-techniques-revised .sheet-col1 input { text-align:left; }
.sheet-techniques-revised .sheet-col2 { width: 35px; }
.sheet-techniques-revised .sheet-col3 { width: 35px; }
.sheet-techniques-revised .sheet-col4 { width: 40px; }
.sheet-techniques-revised .sheet-col5 { width: 75px; }
.sheet-techniques-revised .sheet-col6 { width: 40px; }
.sheet-techniques-revised .sheet-col6 { width: 30px; }
.sheet-techniques-revised .sheet-col7 { width: 30px; }
.sheet-techniques-revised .sheet-col8 { width: 43px; }
.sheet-techniques-revised .sheet-col9 { width: 32px; }
.sheet-techniques-revised .sheet-col10 { width: 50px; }
.sheet-techniques-revised .sheet-row-stats .sheet-col0 { margin-left: 27px; width: calc((100% - 380px) * 0.55 - 27px); }
.sheet-techniques-revised .sheet-col8 { width: 40px; }
.sheet-techniques-revised .sheet-col9 { width: 27px; }
.sheet-techniques-revised .sheet-col10 { width: 60px; }
.sheet-techniques-revised .sheet-row-stats .sheet-col0 { margin-left: 27px; width: calc(100% - 539px); }
/* -- if edit mode, hide toggle notes -- */
.sheet-techniques .repcontainer.ui-sortable.editmode .sheet-checkbox,
@@ -1850,9 +1851,16 @@ input.sheet-box-techniques-new[value="0"] + div.sheet-techniques-revised {
/* -- COMBAT -- */
.sheet-active-defense { width: calc(100% - 140px - 0.8em); }
.sheet-active-defense .sheet-col-dodge-label { width: 112px; }
.sheet-active-defense .sheet-col-dodge-label { width: 262px; }
.sheet-active-defense .sheet-col-dodge { width: calc(100% - 431px); }
.sheet-active-defense input.sheet-combat-reflex-check {
width: 22px!important;
float: left;
margin-right: 5px;
}
.sheet-active-defense .sheet-col-dodge { width: calc(100% - 281px); }
/* Show/Hide dodge notes */
.sheet-active-defense .sheet-col-dodge input.sheet-dodge-reduced-notes[value="0"] ~ .sheet-halved-dodge,
@@ -1876,6 +1884,7 @@ input.sheet-box-techniques-new[value="0"] + div.sheet-techniques-revised {
display: block;
}
/* -- ACTIVE DEFENSE -- */
.sheet-active-defense .sheet-col0 { width: calc(100% - 169px); }
.sheet-active-defense .sheet-col0 input { text-align:left; }
.sheet-active-defense .sheet-col1 { width: 65px; }
@@ -1883,6 +1892,30 @@ input.sheet-box-techniques-new[value="0"] + div.sheet-techniques-revised {
.sheet-active-defense .sheet-col3 { width: 30px; }
.sheet-active-defense .sheet-col4 { width: 22px; }
/* Text Area Box Styling for Defense Bonus (DB) Notes*/
.sheet-defense-bonus-notes .sheet-header .sheet-col0 {
padding-left: 6px;
}
.sheet-defense-bonus-notes-textarea {
box-sizing: border-box;
float: left;
padding: 5px;
width: 100%;
margin: 0;
}
.sheet-defense-bonus-notes-textarea textarea {
width: 100%;
padding: 0;
margin: 0;
height: 50px;
}
/* -- DEFENSE BONUS -- */
.sheet-defense-bonus-notes { width: calc(100% - 0.4em); }
/* -- Melee Attacks -- */
.sheet-melee-attacks { width: calc(100% - 140px - 0.8em); }
.sheet-melee-attacks .sheet-col0 { width: calc(100% - 253px); }
@@ -2415,6 +2448,10 @@ input[name="attr_inventory_item_carried"][value="1"] ~ span.sheet-item-weight-to
margin-left: -80px;
}
.sheet-spells .sheet-tooltip-spell-ref {
margin-left: -200px;
}
.sheet-spells .sheet-row-stats .sheet-col0 { margin-left: 44px; width: calc(100% - 703px); }
.sheet-spells .sheet-row-college .sheet-col0 { margin-left: 44px; width: calc(100% - 703px); }
+252 -149
View File
@@ -11,6 +11,7 @@
<input type="hidden" name="attr_racial_points" value="0" />
<input type="hidden" name="attr_skills_points" value="0" />
<input type="hidden" name="attr_techniques_points" value="0" />
<input type="hidden" name="attr_techniques_revised_points" value="0" />
<input type="hidden" name="attr_spells_points" value="0" />
<input type="hidden" name="attr_announcements_hide" value="0" />
<input type="hidden" name="attr_inventory_fixed_digits" value="0" />
@@ -23,10 +24,15 @@
<div class="content">
<h4>GURPS Version <input type="text" name="attr_announcement_version" readonly="readonly" value="0" title="GURPS Sheet Version" /></h4>
<ul>
<li><b style="color:red;">New Optional Feature Available.</b> A revised techniques table is available by setting the options on the character sheet or the campaign default options. This revised techniques is not final, we'll make adjustments based upon feedback.</li>
<li>Options tab. New option to show/hide the Original Techniques table and new Revised Techniques table. Show both tables if you want to transfer your current techniques to the new table.</li>
<li>Skills Tab. New Revised Technique Table. Options to show/hide old technigue or new technique tables. If old technique table has no rows, then hide old table, show new table.</li>
<li>Quirks and Perks tables. Set default point value of Quirks to -1 and Perks to 1, suggested by Kevin A (ID: 688156).</li>
<li>Adjusted the field widths for Techniques (Revised) and Parent Attributes – Cosmetic only.</li>
<li>Added new function of ‘Dodge and Drop’ to default Active Defenses.</li>
<li>Techniques Table Revised. Points spent on techniques are now totaled correctly. <b>NOTE:</b> When transferring techniques to the revised table, be sure to delete the old technqies, otherwise the total will be wrong.</li>
<li>Tecnniques Table Revised. Fix bug where Modifier was not added to the final Technique Skill Level.</li>
<li>Quirks/Perks Bugfix. Adding a row did not total the quirks/perks correctly.</li>
<li>Repeating Spells, quickly clicking checkboxes prevented correct totals. Using new code provided by GiGs to improve speed.</li>
<li>Many ToolTips updated or added.</li>
<li>Some slight format changes – Cosmetic Only.</li>
<li>Added a Defense Bonus (DB) Notes box to the Active Defense section.</li>
</ul>
<label class="check"><input type="checkbox" name="attr_announcements_hide" value="1">&nbsp;<b><span>Hide until next update</span></b></label>
<button type="action" name="act_view_updates_tab" class="reset" />View All Updates</button>
@@ -349,13 +355,21 @@
<div class="sheet-cell sheet-col0 sheet-label">
<div class="sheet-popup">Thresh</div>
<span class="sheet-tooltip">
Fright Check Threshold - Uses <strong>Rule of 14</strong> (B360)
Fright Check Threshold - Uses <strong>Rule of 14</strong> (B360). By default this value is 13.
<br />
If final modified fright check exceeds threshold, then reduce modified fright check to threshold level.
This means that a roll of 14 or more is automatically a failure.
<br />
Can be modified by Brave, or Rule of 15.
This Threshold can be modifier by the Perks of Brave (Dungeon Fantasy 11, p11) or Rule of 15
<br />
Note: A Fright Check can be used for Awe and Confusion. (Powers p84 under Terror) and the Awe and Confusion Check Table for failures, Powers p85.
(Power Ups 2, p13).
<br />
Will and/or Fright plus bonuses (like Fearlessness or Combat Reflexes) must total 14+ for this
<br />
to be useful, of course!
<br />
Note: A Fright Check can be used for Awe and Confusion. (Powers p84 under Terror) and the Awe and
<br />
Confusion Check Table for failures. (Powers p85).
</span>
</div>
<div class="sheet-cell sheet-col1">
@@ -1095,7 +1109,7 @@
Spent
</div>
<div class="cell col1">
<input type="text" name="attr_point_summary" disabled="disabled" value="@{att_points} + @{languages_points} + @{tl_pts} + @{cf_points} + @{racial_points} + @{advantages_points} + @{advantages_perks} + @{disadvantages_points} + @{disadvantages_quirks} + @{skill_points} + @{techniques_points} + @{spells_points} + @{misc_points}" title="Macro name: point_summary" />
<input type="text" name="attr_point_summary" disabled="disabled" value="@{att_points} + @{languages_points} + @{tl_pts} + @{cf_points} + @{racial_points} + @{advantages_points} + @{advantages_perks} + @{disadvantages_points} + @{disadvantages_quirks} + @{skill_points} + @{techniques_points} + @{techniques_revised_points} + @{spells_points} + @{misc_points}" title="Macro name: point_summary" />
</div>
</div> <!-- .sheet-row -->
<div class="row margin-bottom row-total hr">
@@ -1103,7 +1117,7 @@
Unspent
</div>
<div class="cell col1">
<input type="text" name="attr_point_diff" value="@{total_points} - (@{att_points} + @{languages_points} + @{tl_pts} + @{cf_points} + @{racial_points} + @{advantages_points} + @{advantages_perks} + @{disadvantages_points} + @{disadvantages_quirks} + @{skill_points} + @{techniques_points} + @{spells_points} + @{misc_points})" disabled="disabled" title="Macro name: point_diff" />
<input type="text" name="attr_point_diff" value="@{total_points} - (@{att_points} + @{languages_points} + @{tl_pts} + @{cf_points} + @{racial_points} + @{advantages_points} + @{advantages_perks} + @{disadvantages_points} + @{disadvantages_quirks} + @{skill_points} + @{techniques_points} + @{techniques_revised_points} + @{spells_points} + @{misc_points})" disabled="disabled" title="Macro name: point_diff" />
</div>
</div> <!-- .sheet-row -->
<div class="row margin-bottom row-unspent hr">
@@ -1179,9 +1193,8 @@
ST, DX, IQ, HT,<br />
HP, FP, Energy Reserve One, Two, and Three,<br />
Per, Vision, Hearing, Smell, Touch,<br />
Will, Fright, Hard to Subdue, Hard to Kill,<br />
Speed, Move, Enhanced Move, Enhanced Dodge,<br />
Lift ST, Striking ST,<br />
Will, Fright, Unconsciousness, Death,<br />
Speed, Move, Lift ST, Striking ST,<br />
Flying, Air Move, Enhanced Air Move, Super Jump
</span>
</div>
@@ -1299,8 +1312,7 @@
<div class="sheet-cell sheet-col0 sheet-label">
<div class="sheet-popup">Disadv.</div>
<span class="sheet-tooltip">
Point Summary for: <br />
Disadvantages
Point Summary for Disadvantages <br />
</span>
</div>
<div class="sheet-cell sheet-col1">
@@ -1331,7 +1343,7 @@
Skills
</div>
<div class="cell col1">
<input type="text" name="attr_skill_technique_points" disabled="disabled" value="@{skills_points} + @{techniques_points}" title="Macro name: skill_technique_points" />
<input type="text" name="attr_skill_technique_points" disabled="disabled" value="@{skills_points} + @{techniques_points} + @{techniques_revised_points}" title="Macro name: skill_technique_points" />
</div>
</div> <!-- .sheet-row -->
@@ -1340,7 +1352,7 @@
Skills
</div>
<div class="cell col1">
<input type="text" name="attr_skill_technique_points" disabled="disabled" value="@{skills_points} + @{techniques_points}" title="Macro name: skill_technique_points" />
<input type="text" name="attr_skill_technique_points" disabled="disabled" value="@{skills_points} + @{techniques_points} + @{techniques_revised_points}" title="Macro name: skill_technique_points" />
</div>
</div> <!-- .sheet-row -->
@@ -1365,6 +1377,18 @@
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-skills all">
<div class="sheet-cell sheet-col0 sheet-label">
<div class="sheet-popup">Tech. (r)</div>
<span class="sheet-tooltip">
Techniques Revised
</span>
</div>
<div class="sheet-cell sheet-col1">
<input type="text" name="attr_techniques_total_points" disabled="disabled" value="@{techniques_revised_points}" title="Macro name: techniques_revised_points" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-skills">
<div class="sheet-cell sheet-col0 sheet-label">
Spells
@@ -1392,7 +1416,12 @@
<div class="sheet-box sheet-lift">
<div class="sheet-table">
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Lifting and Moving</div>
<div class="sheet-cell sheet-col0 sheet-label">
<div class="sheet-popup">Lifting and Moving</div>
<span class="sheet-tooltip">
See B14.
</span>
</div>
<div class="sheet-cell sheet-col1">Weight</div>
</div> <!-- .sheet-header -->
<div class="sheet-row sheet-row-simple-lift">
@@ -1748,8 +1777,7 @@
<div class="cell colAll label">
<div class="popup" style="text-align:center;">Turn Radius</div>
<span class="tooltip">
Turn Radius. Minimum number of hexes to move<br />
before making a 60° facing change.<br />
Turn Radius. Minimum number of hexes to move before making a 60° facing change.<br />
Turn Radius = (Final Velocity / Base Move Score) rounded down.<br />
Example: Super Run = 6/24. Final Velocity = 18. Turn Radius = 18/6 = 3.
See B394.<br />
@@ -2649,10 +2677,9 @@
<span class="sheet-tooltip">
This sheet does <strong>NOT</strong> auto adjust the cost values for ST and Extra HP for a SM
<br />
that is greater than 0. To do that you can use a combination
that is greater than 0. To do that you can use a combination of Points and
<br />
of Points and Mod entries to get the desired value.
</span>
MOD entries to get the desired value. (B15, B16, <strong>B19</strong>)
</div>
<div class="sheet-cell sheet-col1">
<input type="number" name="attr_size" value="0" title="Macro name: size" />
@@ -2699,10 +2726,16 @@
<input type="text" name="attr_height" title="Macro name: height" />
</div>
<div class="sheet-cell sheet-col0 sheet-label">
Weight
<div class="sheet-popup">Weight</div>
<span class="sheet-tooltip">
Enter a <strong>Numerical Value</strong> only.<br/>
Do not enter any type of indicator like lbs, ponds, kilos, etc.<br/>
This is because the weight is added to your Inventory’s Grand Total<br/>
Weight and thus needs to be numerical.
</span>
</div>
<div class="sheet-cell sheet-col-half">
<input type="text" name="attr_weight" title="Macro name: weight" />
<input type="number" name="attr_weight" title="Macro name: weight" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row">
@@ -3072,7 +3105,18 @@
<div class="sheet-box sheet-techniques">
<div class="sheet-table">
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Techniques</div>
<div class="sheet-cell sheet-col0 sheet-label">
<div class="sheet-popup">TECHNIQUES (LEGACY).</div>
<span class="sheet-tooltip">
<b>New Optional Feature Available.</b><br />
A revised techniques table is available by setting the options on the character sheet.<br />
This revised techniques is not final, we'll make adjustments based upon feedback.<br />
<b>New Legacy and Revised Technique Tables.</b> Options to show/hide the Legacy<br />
Techniques table and the new Revised Techniques table.<br />
Show both tables if you want to transfer your current techniques to the new table.<br />
If old technique table has no rows, then hide old table, show new table.<br />
</span>
</div>
<div class="sheet-cell sheet-col1">Parent</div>
<div class="sheet-cell sheet-col2">Min</div>
<div class="sheet-cell sheet-col3">Max</div>
@@ -3134,7 +3178,7 @@
<div class="box techniques-revised">
<div class="table">
<div class="header">
<div class="cell col0">Techniques</div>
<div class="cell col0">Techniques (Revised)</div>
<div class="cell col1">Parent</div>
<div class="cell col2">
<div class="sheet-popup">Base</div>
@@ -3220,7 +3264,7 @@
<input type="text" name="attr_level" readonly="readonly" title="Macro table name: repeating_techniquesrevised. Field name: level" value="10"/>
</div>
<div class="cell col9">
<button type="roll" value="@{roll}&{template:skillRoll} {{type=Skill Roll}} {{activeDefense=[[0]]}} {{isSkillRoll=[[1]]}} {{showSuccessLabel=[[1]]}} {{characterName=@{character_name}}} {{skillName=@{name}}} {{rollResult=[[3d6]]}} {{effectiveSkill=[[@{level} + @{modifier}]]}} {{notes=@{notes}}} {{showNotes=[[@{show_notes_revised}]]}} {{bookReference=@{ref}}} {{useCriticalPlusTen=[[@{use_critical_plus_10}]]}} {{customSuccessNote=@{skill_success_note}}} {{customCriticalSuccessNote=@{skill_critical_success_note}}} {{customFailNote=@{skill_fail_note}}} {{customCriticalFailNote=@{skill_critical_fail_note}}}" name="roll_vsSL"></button>
<button type="roll" value="@{roll}&{template:skillRoll} {{type=Technique Skill Roll}} {{activeDefense=[[0]]}} {{isSkillRoll=[[1]]}} {{showSuccessLabel=[[1]]}} {{characterName=@{character_name}}} {{skillName=@{name}}} {{rollResult=[[3d6]]}} {{effectiveSkill=[[@{level} + @{modifier}]]}} {{notes=@{notes}}} {{showNotes=[[@{show_notes_revised}]]}} {{bookReference=@{ref}}} {{useCriticalPlusTen=[[@{use_critical_plus_10}]]}} {{customSuccessNote=@{skill_success_note}}} {{customCriticalSuccessNote=@{skill_critical_success_note}}} {{customFailNote=@{skill_fail_note}}} {{customCriticalFailNote=@{skill_critical_fail_note}}}" name="roll_vsSL"></button>
</div>
<div class="cell col10">
<input type="text" name="attr_ref" title="Macro table name: repeating_techniquesrevised. Field name: ref" />
@@ -3350,9 +3394,19 @@
<div class="sheet-box sheet-damage-reduction">
<div class="sheet-table">
<div class="sheet-header sheet-row-title">
<div class="sheet-cell sheet-col0">
<div class="title hit-location">
<div class="popup">
Hit Location
</div>
<span class="tooltip">
Basic Table B552.<br/>
<strong>Optinal:</strong><br/>
New Hit Locations<br/>
MA137
</span>
</div>
</div> <!-- .sheet-header -->
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Where</div>
@@ -3476,7 +3530,7 @@
<input type="text" name="attr_hit_penalty_vitals" value="-3" title="Macro name: hit_penalty_vitals" />
</div>
<div class="sheet-cell sheet-col2">
<input type="text" name="attr_vitals_dr_max" value="0" title="Macro name: vitals_dr_max" />
<input type="text" name="attr_vitals_dr_max" value="See Torso" title="Macro name: vitals_dr_max" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-groin">
@@ -3544,10 +3598,10 @@
</div> <!-- .sheet-table -->
<div class="rapid-fire-table">
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/GURPS/Images/Rapid_Fire_Table.png" title="Rapid Fire Table" alt="Rapid Fire Table" />
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/GURPS/Images/Rapid_Fire_Table.png" title="Rapid Fire Table: B373. Additional Rules B408." alt="Rapid Fire Table" />
</div>
<div class="speed-range-table"> <!-- .speed-range-table image-->
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/GURPS/Images/Speed_Range_Table.PNG" title="Speed/Range Table" alt="GURPS Speed/Range Table" />
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/GURPS/Images/Speed_Range_Table.PNG" title="Speed/Range Table: B550" alt="GURPS Speed/Range Table" />
</div> <!-- .speed-range-table image-->
</div> <!-- .sheet-box .sheet-damage-reduction -->
@@ -3557,6 +3611,15 @@
<div class="sheet-box sheet-active-defense">
<div class="sheet-table">
<div class="sheet-row sheet-row-stats sheet-row-standard">
<div class="cell col0">
<input type="checkbox" class="boolean combat-reflex-check" name="attr_combat_reflexes" value="1" />
<div class="popup">[Optional] Apply Combat Reflexes to Dodge and Fright Modifiers</div>
<span class="tooltip sheet-ad-col0-tooltip">
Quickly add +1 Dodge modifier and +2 Fright modifier on the General page. (B43)
</span>
</div>
</div> <!-- .sheet-row -->
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Active Defenses</div>
<div class="sheet-cell sheet-col1">Type</div>
@@ -3569,34 +3632,22 @@
parry if you've already attacked with it this turn<br /> (and vice versa).
</span>
</div>
<div class="sheet-cell sheet-col3">Skill</div>
</div> <!-- .sheet-header -->
<div class="sheet-row sheet-row-stats sheet-row-standard">
<div class="sheet-cell sheet-col0">
<div class="sheet-popup">[Optional] Apply Combat Reflexes to Dodge and Fright Modifiers</div>
<span class="sheet-tooltip sheet-ad-col0-tooltip">
Quickly add +1 Dodge modifier and +2 Fright modifier on the General page. (B43)
</span>
</div>
<div class="sheet-cell sheet-col1">&nbsp;</div>
<div class="sheet-cell sheet-col2">&nbsp;</div>
<div class="sheet-cell sheet-col3">
<input type="checkbox" class="sheet-boolean" name="attr_combat_reflexes" value="1" />
<span style="background-color: #87CEFA">| skill |</span>
</div>
<div class="sheet-cell sheet-col4">&nbsp;</div>
</div> <!-- .sheet-row -->
</div> <!-- .sheet-header -->
<div class="sheet-row sheet-row-stats sheet-row-standard">
<div class="sheet-cell sheet-col-dodge-label">Dodge</div>
<div class="cell col-dodge">
<input type="hidden" class="dodge-reduced-notes" name="attr_dodge_reduced_notes" value="0" />
<div class="halved-dodge">
<div class="popup">½ Dodge</div>
<div class="popup"><b style="color:red;">½ Dodge</div>
<span class="tooltip">
Dodge is halved due to hit points or fatigue loss. See B418 or B426.
</span>
</div>
<div class="quartered-dodge">
<div class="popup">¼ Dodge</div>
<div class="popup"><b style="color:red;">¼ Dodge</div>
<span class="tooltip">
Dodge is quartered due to hit points and fatigue loss. See B418 or B426.
</span>
@@ -3610,7 +3661,15 @@
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-stats sheet-row-standard">
<div class="sheet-cell sheet-col-dodge-label">Dodge and Retreat</div>
<div class="sheet-cell sheet-col-dodge-label">
<div class="sheet-popup">Dodge and Retreat (vs. Melee Attacks Only)</div>
<span class="sheet-tooltip">
Against a <strong>Melee Attack</strong> ONLY. (B377). It cannot be used against Ranged Attacks.<br/>
Optional Rules for Retreat can be found in MA123.
</span>
</div>
<div class="cell col-dodge">
<input type="hidden" class="dodge-reduced-notes" name="attr_dodge_reduced_notes" value="0" />
<div class="halved-dodge">
@@ -3633,6 +3692,38 @@
<button type="roll" value="@{roll}&{template:skillRoll} {{type=Defense Roll}} {{defenseType=[[1]]}} {{activeDefense=[[1]]}} {{showSuccessLabel=[[1]]}} {{characterName=@{character_name}}} {{skillName=Dodge and Retreat}} {{rollResult=[[3d6]]}} {{effectiveSkill=[[@{current_dodge} + @{modifier} + 3]]}} {{useCriticalPlusTen=[[@{use_critical_plus_10}]]}}" name="roll_vsDodgeRetreat" />
</div>
</div> <!-- .sheet-row -->
<div class="sheet-row sheet-row-stats sheet-row-standard">
<div class="sheet-cell sheet-col-dodge-label">
<div class="sheet-popup">Dodge and Drop (vs. Ranged Attacks only)</div>
<span class="sheet-tooltip">
Dodge and Drop (Also 'Sacrificial Dodge and Drop', and 'Diving for Cover').<br/>
It is similar to a Dodge and Retreat, but only effective against <strong>Ranged Attacks</strong>. (B377)
</span>
</div>
<div class="cell col-dodge">
<input type="hidden" class="dodge-reduced-notes" name="attr_dodge_reduced_notes" value="0" />
<div class="halved-dodge">
<div class="popup"><b style="color:red;">½ Dodge</div>
<span class="tooltip">
Dodge is halved due to hit points or fatigue loss. See B418 or B426.
</span>
</div>
<div class="quartered-dodge">
<div class="popup"><b style="color:red;">¼ Dodge</div>
<span class="tooltip">
Dodge is quartered due to hit points and fatigue loss. See B418 or B426.
</span>
</div>
</div>
<div class="sheet-cell sheet-col1">Dodge</div>
<div class="sheet-cell sheet-col2"></div>
<div class="sheet-cell sheet-col3"><input type="text" name="attr_ad_dodge_retreat_skill" value="@{current_dodge} + 3" disabled="disabled" title="Macro name: ad_dodge_retreat_skill" /></div>
<div class="sheet-cell sheet-col4">
<button type="roll" value="@{roll}&{template:skillRoll} {{type=Defense Roll}} {{defenseType=[[1]]}} {{activeDefense=[[1]]}} {{showSuccessLabel=[[1]]}} {{characterName=@{character_name}}} {{skillName=Dodge and Drop}} {{rollResult=[[3d6]]}} {{effectiveSkill=[[@{current_dodge} + @{modifier} + 3]]}} {{useCriticalPlusTen=[[@{use_critical_plus_10}]]}}" name="roll_vsDodgeDrop" />
</div>
</div> <!-- .sheet-row -->
<fieldset class="repeating_defense">
<div class="sheet-row sheet-row-stats">
<div class="sheet-cell sheet-col0">
@@ -3660,6 +3751,23 @@
</div>
</div> <!-- .sheet-row -->
</fieldset> <!-- .repeating_defense -->
<!-- _____ _____ DEFENSE BONUS BOX _____ _____ -->
<div class="sheet-box sheet-defense-bonus-notes sheet-textarea">
<div class="sheet-header">
<div class="sheet-popup">Defense Bonus (DB) Notes</div>
<span class="sheet-tooltip">
<strong>Examples:</strong><br/>
+2 DB for Torso (Front Only), Skull, Neck, Hands, Head (1/6 Face), and Feet. Armor Enchantment: Deflect.<br/>
+1 DB SHIELD SIDE (Left): from Small Shield.<br/>
+1 DB for Rear only - (All but head unless hood is up). From Heavy Cloak.
</span>
</div>
<div class="defense-bonus-notes-textarea">
<textarea name="attr_defense_bonus_notes" title="Macro name: defense_bonus_notes"></textarea>
</div>
</div>
</div> <!-- .sheet-table -->
</div> <!-- .sheet-box .sheet-active-defense -->
@@ -4874,7 +4982,7 @@
<div class="sheet-box sheet-quick-inventory sheet-textarea">
<div class="sheet-header">
<div class="sheet-cell sheet-col0">Quick Inventory & Wealth</div>
<div class="sheet-cell sheet-col0">Quick Inventory</div>
</div>
<div class="quick-inventory-textarea">
<textarea name="attr_quick_inventory" title="Macro name: quick_inventory"></textarea>
@@ -5081,7 +5189,8 @@
<div class="tooltip">
Mark the spell as <b>ON</b><br />
<b><span name="attr_penalty_per_spell_on"></span></b> skill penalty for each spell that is <b>ON</b>.<br />
See B238 or M10.
See B238 or M10.<br/>
Click one at a time, wait until each penalty is applied before clicking the next one.
</div>
</div>
<div class="sheet-cell sheet-col12">
@@ -5089,7 +5198,8 @@
<div class="tooltip">
Mark the spell as <b>Under Concentration</b>.<br />
<b><span name="attr_penalty_per_spell_maintained"></span></b> skill penalty for each spell.<br />
See B238 or M10.
See B238 or M10.<br/>
Click one at a time, wait until each penalty is applied before clicking the next one.
</div>
</div>
<div class="sheet-cell sheet-col7">
@@ -5124,7 +5234,7 @@
</div>
<div class="cell col3">
<div class="popup">Ref</div>
<div class="tooltip alt-indent">
<div class="tooltip tooltip-spell-ref">
Reference to book and page numbers.<br />
Examples:<br />
B238 = GURPS Basic, Page 238<br />
@@ -5335,13 +5445,8 @@
<h3>Known Issues</h3>
<ul>
<li>Unable to delete a Technique - UPDATE</li>
<li>
The issue is the 'Max' value for the Technique. If any value was placed in there, the row will not delete.
So I have blocked values from being placed there so that new Techniques can be deleted if need be.
Existing Techniques that you are unable to delete - the Devs are looking into that issue and will advise me.
</li>
<li>NOTE: Techniques, as it is now on the character sheet, does not really work well - that section will most likely be completely rewritten (I plan on doing it when I get some time and my skills at HTML improve).</li>
<li>The original issue was that you were unable to delete a Technique – UPDATED 02/18/2020</li>
<li>We now have a Revised Techniques table. See update Version 2.2.0 notes. We will continue to revise this Table until we are 100% satisfied it works as intended. The main issue is the complexity of some Techniques and how to enter them into this Table.</li>
</ul>
<h3>Note to authors</h3>
@@ -5366,6 +5471,23 @@
<p>Pull Request: <span name="attr_latest_changes"></span></p>
<ul>
<li>Changes, Fixes, and Adds made by a combind effort from MadCode (UserID: 945642) and Mike W (UserID: 1414610)</li>
<li>Adjusted the field widths for Techniques (Revised) and Parent Attributes – Cosmetic only.</li>
<li>Added new function of ‘Dodge and Drop’ to default Active Defenses.</li>
<li>Techniques Table Revised. Points spent on techniques are now totaled correctly. <b>NOTE:</b> When transferring techniques to the revised table, be sure to delete the old technqies, otherwise the total will be wrong.</li>
<li>Tecnniques Table Revised. Fix bug where Modifier was not added to the final Technique Skill Level.</li>
<li>Quirks/Perks Bugfix. Adding a row did not total the quirks/perks correctly.</li>
<li>Repeating Spells, quickly clicking checkboxes prevented correct totals. Using new code provided by GiGs to improve speed.</li>
<li>Many ToolTips updated or added.</li>
<li>Some slight format changes – Cosmetic Only.</li>
<li>Added a Defense Bonus (DB) Notes box to the Active Defense section.</li>
</ul>
<h4>Version 2.2.0</h4>
<p>Pull Request: 02/11/2020</p>
<ul>
<li><b style="color:red;">New Optional Feature Available.</b> A revised techniques table is available by setting the options on the character sheet or the campaign default options. This revised techniques is not final, we'll make adjustments based upon feedback.</li>
<li>Options tab. New option to show/hide the Original Techniques table and new Revised Techniques table. Show both tables if you want to transfer your current techniques to the new table.</li>
@@ -5793,7 +5915,7 @@ Falling Damage: If using hit locations, roll randomly for the hit location damag
<h4>Fragmentation Skill Notes</h4>
<textarea name="attr_fragmentation_skill_notes">For every three points by which the attack roll succeeds, one additional fragment strikes the target.
The only active defense against fragments is to dive away from the explosion that produced them; see Dodge and Drop (p. 377).
The only active defense against fragments is to dive away from the explosion that produced them; see Dodge and Drop and Diving for Cober (B377).
For each hit, roll hit location randomly. If that location is behind cover, the fragment hits cover.
</textarea>
@@ -5886,7 +6008,8 @@ Skull Damage x4</textarea>
<tr>
<td>Crushing</td>
<td>
<textarea name="attr_damage_type_note_cr">Damage x1
<textarea name="attr_damage_type_note_cr">CRUSHING
Damage x1
Neck Damage x1.5
Skull Damage x4</textarea>
</td>
@@ -5894,7 +6017,8 @@ Skull Damage x4</textarea>
<tr>
<td>PI-</td>
<td>
<textarea name="attr_damage_type_note_pi_minus">Damage x .5
<textarea name="attr_damage_type_note_pi_minus">PIERCING-
Damage x .5
Vitals Damage x3
Skull Damage x4</textarea>
</td>
@@ -5902,7 +6026,8 @@ Skull Damage x4</textarea>
<tr>
<td>PI</td>
<td>
<textarea name="attr_damage_type_note_pi">Damage x1
<textarea name="attr_damage_type_note_pi">PIERCING
Damage x1
Vitals Damage x3
Skull Damage x4</textarea>
</td>
@@ -5910,7 +6035,8 @@ Skull Damage x4</textarea>
<tr>
<td>PI+</td>
<td>
<textarea name="attr_damage_type_note_pi_plus">Damage x1.5
<textarea name="attr_damage_type_note_pi_plus">PIERCING+
Damage x1.5
Arm, Leg, Foot, or Hand x1 (B399)
Vitals Damage x3
Skull Damage x4</textarea>
@@ -5919,7 +6045,8 @@ Skull Damage x4</textarea>
<tr>
<td>PI++</td>
<td>
<textarea name="attr_damage_type_note_pi_plus_plus">Damage x2
<textarea name="attr_damage_type_note_pi_plus_plus">PIERCING++
Damage x2
Arm, Leg, Foot, or Hand x1 (B399)
Vitals Damage x3
Skull Damage x4</textarea>
@@ -5928,20 +6055,23 @@ Skull Damage x4</textarea>
<tr>
<td>Affliction</td>
<td>
<textarea name="attr_damage_type_note_aff">special damage and affects based on affliction description</textarea>
<textarea name="attr_damage_type_note_aff">AFFLICTION
Special damage and affects based on affliction description</textarea>
</td>
</tr>
<tr>
<td>Burn</td>
<td>
<textarea name="attr_damage_type_note_burn">Damage x1
<textarea name="attr_damage_type_note_burn">BURN
Damage x1
Skull Damage x4</textarea>
</td>
</tr>
<tr>
<td>Corrosion</td>
<td>
<textarea name="attr_damage_type_note_cor">Damage x1
<textarea name="attr_damage_type_note_cor">CORRROSION
Damage x1
Face Damage x1.5, blind eye if major wound, both eyes if full HP
Neck Damage x1.5
Skull Damage x4
@@ -5951,19 +6081,22 @@ Skull Damage x4
<tr>
<td>Fatigue</td>
<td>
<textarea name="attr_damage_type_note_fat">Damage x1</textarea>
<textarea name="attr_damage_type_note_fat">FATIGUE
Damage x1</textarea>
</td>
</tr>
<tr>
<td>Toxic</td>
<td>
<textarea name="attr_damage_type_note_tox">Damage x1</textarea>
<textarea name="attr_damage_type_note_tox">TOXIC
Damage x1</textarea>
</td>
</tr>
<tr>
<td>Special</td>
<td>
<textarea name="attr_damage_type_note_spec">See notes for weapon.</textarea>
<textarea name="attr_damage_type_note_spec">SPECIAL
See notes for weapon.</textarea>
</td>
</tr>
</table>
@@ -6588,14 +6721,14 @@ Skull Damage x4
<!-- If defense roll, check for effective skill below 1 -->
{{#rollTotal() activeDefense 1}}
{{#rollLess() effectiveSkill 1}}
<div style="color: red; margin-top: 6px;">WARNING: Final Target is less than 1. Defense roll is not possible. Ref B345</div>
<div style="color: red; margin-top: 6px;"><b>WARNING:</b> You may not attempt a success roll if your effective skill (Target) is less than 3. (See B345)</div>
{{/rollLess() effectiveSkill 1}}
{{/rollTotal() activeDefense 1}}
<!-- For other rolls, check for effective skill below 3 -->
{{#rollTotal() activeDefense 0}}
{{#rollLess() effectiveSkill 3}}
<div style="color: red; margin-top: 6px;">WARNING: Final Target is less than 3. Roll is not possible. Ref B374</div>
<div style="color: red; margin-top: 6px;"><b>WARNING:</b> You may not attempt a success roll if your effective skill (Target) is less than 3. (See B345)</div>
{{/rollLess() effectiveSkill 3}}
{{/rollTotal() activeDefense 0}}
@@ -6849,7 +6982,7 @@ Skull Damage x4
<tr>
<td class="label">Minimum:</td>
<td class="damage-roll">
{{minDamageNote}}<br />
{{minDamageNote}}: Applied to Target's DR<br />
See B378 <b>Damage Roll</b>
</td>
</tr>
@@ -6953,12 +7086,13 @@ Skull Damage x4
</div>
<script type="text/worker">
// type="text/worker"
var noop = function () {}; // do nothing.
var version = "2.2.0";
var version = "2.2.1";
var latestChangesDate = "02/11/2020";
var latestChangesDate = "02/18/2020";
var modCascade = true;
@@ -7808,7 +7942,7 @@ Skull Damage x4
});
// Update the total cost of Perks
on('change:repeating_perks:points remove:repeating_perks', function (e) {
on('change:repeating_perks remove:repeating_perks', function (e) {
sumRepeating('repeating_perks', 'points', function(v) {
setAttrs({ advantages_perks: v });
});
@@ -7822,7 +7956,7 @@ Skull Damage x4
});
// Update the total cost of Quirks
on('change:repeating_quirks:points remove:repeating_quirks', function (e) {
on('change:repeating_quirks remove:repeating_quirks', function (e) {
sumRepeating('repeating_quirks', 'points', function(v) {
setAttrs({ disadvantages_quirks: v });
});
@@ -8065,6 +8199,12 @@ Skull Damage x4
});
});
// Update the total cost of Techniques revised
on('change:repeating_techniquesrevised:points remove:repeating_techniquesrevised', function (e) {
sumRepeating('repeating_techniquesrevised', 'points', function(v) {
setAttrs({ techniques_revised_points: v });
});
});
// Update the total cost of Spells
on('change:repeating_spells:points remove:repeating_spells', function (e) {
sumRepeating('repeating_spells', 'points', function(v) {
@@ -12193,7 +12333,7 @@ Skull Damage x4
return baseLevel;
}
/**
/**
* This function is used to make sure the repeating
* skill levels are updated when the version has changed
*/
@@ -12454,75 +12594,37 @@ Skull Damage x4
return arr;
}
on("change:repeating_spells:spell_on_checked", function(event) {
var fields = [
"repeating_spells_spell_on_checked",
"penalty_per_spell_on",
"spell_on_penalty_total"
];
getAttrs( fields, function(values) {
var currentPenalty = +values.spell_on_penalty_total;
var perSpellPenalty = +values.penalty_per_spell_on;
var checked = +values.repeating_spells_spell_on_checked;
var newTotalPenalty = getSpellPenaltyForOnOrMaintained(checked, currentPenalty, perSpellPenalty);
setAttrs({
spell_on_penalty_total: newTotalPenalty
})
});
// method to reduce async calls.
['on','maintained'].forEach(onormaintained => {
on(`change:repeating_spells:spell_${onormaintained}_checked change:penalty_per_spell_${onormaintained} remove:repeating_spells`, function (event) {
getSectionIDs('repeating_spells', ids => {
const fieldnames = [];
ids.forEach(id => fieldnames.push(`repeating_spells_${id}_spell_${onormaintained}_checked`));
getAttrs([`penalty_per_spell_${onormaintained}`, ...fieldnames], values => {
const penalty = +values[`penalty_per_spell_${onormaintained}`] ||0;
let checkedcount = 0;
ids.forEach(id => checkedcount += ((+values[`repeating_spells_${id}_spell_${onormaintained}_checked`] || 0) > 0) ? 1: 0);
const totalpenalty = checkedcount * penalty;
setAttrs({
[`spell_${onormaintained}_penalty_total`]: totalpenalty
})
});
});
});
});
on("change:repeating_spells:spell_maintained_checked", function(event) {
var fields = [
"repeating_spells_spell_maintained_checked",
"penalty_per_spell_maintained",
"spell_maintained_penalty_total"
];
getAttrs( fields, function(values) {
var currentPenalty = +values.spell_maintained_penalty_total;
var perSpellPenalty = +values.penalty_per_spell_maintained;
var checked = +values.repeating_spells_spell_maintained_checked;
var newTotalPenalty = getSpellPenaltyForOnOrMaintained(checked, currentPenalty, perSpellPenalty);
setAttrs({
spell_maintained_penalty_total: newTotalPenalty
})
});
});
function getSpellPenaltyForOnOrMaintained(checked, currentPenalty, perSpellPenalty) {
var newTotalPenalty = 0;
if (checked) {
newTotalPenalty = currentPenalty + perSpellPenalty;
} else {
newTotalPenalty = currentPenalty - perSpellPenalty;
}
return newTotalPenalty;
}
/* ---- DEMOLITION SECTION ---- */
const DEMO_TYPES = [
@@ -12806,6 +12908,7 @@ Skull Damage x4
var defaultMod = +values.repeating_techniquesrevised_default;
var customSkillModifier = +values.repeating_techniquesrevised_skill_modifier;
var maxModifier = 0;
var maxLevel = 0;
@@ -12822,7 +12925,7 @@ Skull Damage x4
}
finalLevel = baseLevel + defaultMod + technigueSkillMod;
finalLevel = baseLevel + defaultMod + technigueSkillMod + customSkillModifier;
// check for max level
if (maxLevel > 0 && finalLevel > maxLevel) {