Skip to content

Commit

Permalink
Merge pull request #11938 from DBFBlackbull/ADnD_2E_Revised-Player_op…
Browse files Browse the repository at this point in the history
…tion_qol

[ADnD2E] New Feature / Bugfix - Guaranteed failure and quality of life
  • Loading branch information
mperes committed Jun 25, 2023
2 parents b25b4be + 8c74391 commit ffecabe
Show file tree
Hide file tree
Showing 24 changed files with 3,352 additions and 5,467 deletions.
5,027 changes: 2,563 additions & 2,464 deletions ADnD_2E_Revised/2ESheet.html

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions ADnD_2E_Revised/2EStyle.css
Expand Up @@ -33,6 +33,11 @@
.charsheet input.sheet-track {
width: 59px;
}
.charsheet select.sheet-track-min,
.charsheet input.sheet-track-min {
min-width: 59px;
width: 100%;
}
.charsheet select.sheet-sym,
.charsheet input.sheet-sym {
width: 72px;
Expand Down
5 changes: 5 additions & 0 deletions ADnD_2E_Revised/css/2EStyle-base.css
Expand Up @@ -33,6 +33,11 @@
.charsheet input.sheet-track {
width: 59px;
}
.charsheet select.sheet-track-min,
.charsheet input.sheet-track-min {
min-width: 59px;
width: 100%;
}
.charsheet select.sheet-sym,
.charsheet input.sheet-sym {
width: 72px;
Expand Down
46 changes: 18 additions & 28 deletions ADnD_2E_Revised/html/changelog.html
Expand Up @@ -4,34 +4,24 @@
<h2 style="color: black;">Changes in <span name="attr_version"></span></h2>
<div class="sheet-announce-items">
<ul style="font-style:italic">
<li>Psionic Power - Telekinesis no longer adds a modifier for lifting an item weighing exactly 3 pounds</li>
<li>Psionic Power - Telekinesis now shows the attack modifier based on the items weight</li>
<li>Psionic Power - Life Draining refers to itself as a Power instead of a Devotion. Sage Advice #186</li>
<li>Endurance NWP for Dwarves is now free (cost 0 slots) instead of 1 as described in Complete Dwarves Handbook.</li>
<li>Added V, S components to all Quest spells from Tome of Magic p. 12</li>
<li>Updated casting spells from scroll notes clarifying that scrolls can be cast without restrictions</li>
<li>Updated spell learning notes to make it clear that <strong>read magic</strong> is not need to read spell books</li>
<li>Added new Tome of Magic sphere suggestion to Paladins, Rangers, and Druids sphere of influence</li>
<li>Added Priest casting level scaling for Paladins ensuring they cast as first level priest at level 9, their max casting level is 9</li>
<li>Added Priest casting level scaling for Rangers ensuring they cast as first level priest at level 8, their max casting level is 9</li>
<li>Added correction to Turn Undead notes that all creatures dwelling on the Outer Planes, not only undead, can be turned as Special creatures</li>
<li>Fixed Follower->Rogue Detect Magic roll button attribute name. It now correctly matches the title of shown in the mouse over text</li>
<li>Redesigned the rogue/thieving skills tab
<ul>
<li>All skills now have a single button for rolling them instead of 3</li>
<li>All base skills now have descriptive text for success and failure</li>
<li>Added %-sign to the roll template for Thieving skills</li>
<li>All skills have gotten their calculations changed so that the misc modifier is included in the max 95% chance</li>
<li>Find/Remove Traps, when rolled, ask for how it is used: Find, remove normal, remove invisible/magical trap</li>
<li>Toggle to tell if you are a Ranger, allowing Move Silently and Hide in Shadows to max out at 99% instead of 95%</li>
<li>If you are a Ranger, Move Silently and Hide in Shadows ask if you are in a non-natural surrounding and half your chance of success</li>
<li>Added Dexterity, Aim, Balance skills armor adjustments notes</li>
<li>Added Ranger skills armor adjustments notes</li>
<li>Added ranger to the allowed armors for the rogue armor autofill</li>
<li>All skills from PO: Skills & Powers, Dark Sun, and Sages & Specialists now use Roll templates when rolled</li>
<li>Visibility setting have been added allowing for hidden rolls, so only the DM knows if the rogue made the check or not</li>
</ul>
</li>
<li>Psionic Powers: Reordered to appear in the same order as presented in the books</li>
<li>Psionic Powers: Changed headings to match the books, i.e. Psychokinesis Sciences -> Psychokinetic Sciences</li>
<li>Psionic Powers: Fixed a lot of incorrect mouse over texts</li>
<li>Psionic Powers Core: Removed Roll modifier as the roll should never be modified. Update macros for this to take effect</li>
<li>Psionic Powers Core: Added Misc. modifier to power checks. Update macros for this to take effect</li>
<li>Character Revised Psionic Psychokinesis Devotion: Fixed first static row PSP cost field no longer share values with Telepathy Science, first static row PSP cost field</li>
<li>Static Follower Core Psionic Clairsentient Sciences: Fixed first macro not printing to the chat</li>
<li>Repeating Follower Core Psionic Psychoportive Sciences: Fixed third macro throwing error to the chat</li>
<li>Follower Core Psionic: Changed check roll to crit on the Power Score value instead of 1</li>
<li>Follower Psionic: Psionic Nonweapon proficiencies now outputs with a roll template</li>
<li>Follower Rogue: Changed the layout to be similar to the character sheet with all skills being visible at the same time</li>
<li>Follower Rogue: Added armor type selection and armor bonus/penalties modifiers autofill</li>
<li>Follower Rogue: Adding %-sign for roll template</li>
<li>Characters: Added missing %-sign for Find/Remove Traps, Move Silently, and Hide in Shadows</li>
<li>Saving throws now always fail on a natural one, no matter the modifiers. Sage Advice #216 p. 103</li>
<li>Nonweapon proficiencies now always fail on a natural 20. PHB p. 75</li>
<li>Nonweapon proficiencies now show how well you made your check</li>
<li>Nonweapon proficiencies now highlight a critical success</li>
</ul>
<hr>
<p>
Expand Down
51 changes: 47 additions & 4 deletions ADnD_2E_Revised/html/components/rolltemplates.html
Expand Up @@ -301,15 +301,33 @@
<td>{{savetarget}}</td>
</tr>
{{#rollTotal() saveroll savetarget}}
insert_check-result.html_(success,Success!,success)
{{#rollWasFumble() saveroll}}
insert_check-result.html_(failure,CRITICAL FAILURE!,fumble)
{{/rollWasFumble() saveroll}}

{{#^rollWasFumble() saveroll}}
insert_check-result.html_(success,Success!,success)
{{/^rollWasFumble() saveroll}}
{{/rollTotal() saveroll savetarget}}

{{#rollGreater() saveroll savetarget}}
insert_check-result.html_(success,Success!,success)
{{#rollWasFumble() saveroll}}
insert_check-result.html_(failure,CRITICAL FAILURE!,fumble)
{{/rollWasFumble() saveroll}}

{{#^rollWasFumble() saveroll}}
insert_check-result.html_(success,Success!,success)
{{/^rollWasFumble() saveroll}}
{{/rollGreater() saveroll savetarget}}

{{#rollLess() saveroll savetarget}}
insert_check-result.html_(failure,Failed!,fail)
{{#rollWasFumble() saveroll}}
insert_check-result.html_(failure,CRITICAL FAILURE!,fail)
{{/rollWasFumble() saveroll}}

{{#^rollWasFumble() saveroll}}
insert_check-result.html_(failure,Failed!,fail)
{{/^rollWasFumble() saveroll}}
{{/rollLess() saveroll savetarget}}
</table>
</div>
Expand Down Expand Up @@ -349,8 +367,20 @@
insert_check-result.html_(success,Success!,success)
{{/crit}}
{{/rollWasCrit() checkroll}}

{{#rollWasFumble() checkroll}}
{{#fumble}}
insert_check-result.html_(failure,CRITICAL FAILURE!,fumble)
{{/fumble}}
{{^fumble}}
insert_check-result.html_(success,Success!,success)
{{/fumble}}
{{/rollWasFumble() checkroll}}

{{#^rollWasCrit() checkroll}}
{{#^rollWasFumble() checkroll}}
insert_check-result.html_(success,Success!,success)
{{/^rollWasFumble() checkroll}}
{{/^rollWasCrit() checkroll}}
{{/rollTotal() checkroll checktarget}}

Expand All @@ -363,20 +393,33 @@
insert_check-result.html_(success,Success!,success)
{{/crit}}
{{/rollWasCrit() checkroll}}

{{#rollWasFumble() checkroll}}
{{#fumble}}
insert_check-result.html_(failure,CRITICAL FAILURE!,fumble)
{{/fumble}}
{{^fumble}}
insert_check-result.html_(success,Success!,success)
{{/fumble}}
{{/rollWasFumble() checkroll}}

{{#^rollWasCrit() checkroll}}
{{#^rollWasFumble() checkroll}}
insert_check-result.html_(success,Success!,success)
{{/^rollWasFumble() checkroll}}
{{/^rollWasCrit() checkroll}}
{{/rollLess() checkroll checktarget}}

{{#rollGreater() checkroll checktarget}}
{{#rollWasFumble() checkroll}}
{{#fumble}}
insert_check-result.html_(failure,CRITICAL FAILURE!,fumble)
insert_check-result.html_(failure,CRITICAL FAILURE!,fail)
{{/fumble}}
{{^fumble}}
insert_check-result.html_(failure,Failed!,fail)
{{/fumble}}
{{/rollWasFumble() checkroll}}

{{#^rollWasFumble() checkroll}}
insert_check-result.html_(failure,Failed!,fail)
{{/^rollWasFumble() checkroll}}
Expand Down
20 changes: 10 additions & 10 deletions ADnD_2E_Revised/html/shared/saving-throws.html
@@ -1,15 +1,15 @@
<table class="sheet-centering" style="width: 100%;">
<tr>
<td><button type="roll" name="roll_#REPLACE0#parsave" title="%{#REPLACE2##REPLACE0#parsave}" value="/w gm &{template:2Esave} {{savevs=Paralyzation}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#partar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Para<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#parsave" title="%{#REPLACE2##REPLACE0#poisave}" value="/w gm &{template:2Esave} {{savevs=Poison}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#poitar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Poison<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#deasave" title="%{#REPLACE2##REPLACE0#deasave}" value="/w gm &{template:2Esave} {{savevs=Death}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#deatar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Death<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#rodsave" title="%{#REPLACE2##REPLACE0#rodsave}" value="/w gm &{template:2Esave} {{savevs=Rod}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#rodtar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Rod<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#stasave" title="%{#REPLACE2##REPLACE0#stasave}" value="/w gm &{template:2Esave} {{savevs=Staff}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#statar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Staff<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#wansave" title="%{#REPLACE2##REPLACE0#wansave}" value="/w gm &{template:2Esave} {{savevs=Wand}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#wantar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Wand<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#petsave" title="%{#REPLACE2##REPLACE0#petsave}" value="/w gm &{template:2Esave} {{savevs=Petrification}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#pettar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Petri<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#polsave" title="%{#REPLACE2##REPLACE0#polsave}" value="/w gm &{template:2Esave} {{savevs=Polymorph}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#poltar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Poly<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#bresave" title="%{#REPLACE2##REPLACE0#bresave}" value="/w gm &{template:2Esave} {{savevs=Breath}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#bretar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Breath<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#spesave" title="%{#REPLACE2##REPLACE0#spesave}" value="/w gm &{template:2Esave} {{savevs=Spell}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#spetar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Spell<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#parsave" title="%{#REPLACE2##REPLACE0#parsave}" value="/w gm &{template:2Esave} {{savevs=Paralyzation}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#partar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Para<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#parsave" title="%{#REPLACE2##REPLACE0#poisave}" value="/w gm &{template:2Esave} {{savevs=Poison}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#poitar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Poison<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#deasave" title="%{#REPLACE2##REPLACE0#deasave}" value="/w gm &{template:2Esave} {{savevs=Death}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#deatar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Death<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#rodsave" title="%{#REPLACE2##REPLACE0#rodsave}" value="/w gm &{template:2Esave} {{savevs=Rod}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#rodtar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Rod<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#stasave" title="%{#REPLACE2##REPLACE0#stasave}" value="/w gm &{template:2Esave} {{savevs=Staff}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#statar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Staff<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#wansave" title="%{#REPLACE2##REPLACE0#wansave}" value="/w gm &{template:2Esave} {{savevs=Wand}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#wantar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Wand<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#petsave" title="%{#REPLACE2##REPLACE0#petsave}" value="/w gm &{template:2Esave} {{savevs=Petrification}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#pettar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Petri<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#polsave" title="%{#REPLACE2##REPLACE0#polsave}" value="/w gm &{template:2Esave} {{savevs=Polymorph}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#poltar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Poly<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#bresave" title="%{#REPLACE2##REPLACE0#bresave}" value="/w gm &{template:2Esave} {{savevs=Breath}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#bretar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Breath<br>Save</button></td>
<td><button type="roll" name="roll_#REPLACE0#spesave" title="%{#REPLACE2##REPLACE0#spesave}" value="/w gm &{template:2Esave} {{savevs=Spell}} {{character=#REPLACE1#}} {{success= You made your check by [[ abs([[1d20+(@{misc-mod})]] - [[@{#REPLACE0#spetar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"><br>Spell<br>Save</button></td>
</tr>
<tr>
<td><input type="text" name="attr_#REPLACE0#partar" title="@{#REPLACE2##REPLACE0#partar}" class="sheet-small"></td>
Expand Down
@@ -1 +1 @@
<button type="roll" name="roll_#REPLACE0#save" title="%{#REPLACE0#save}" value="/w gm &{template:2Esave} {{savevs=#REPLACE1#}} {{character=@{character_name}}} {{success= You made your check by [[ abs([[1d20+(@{#REPLACE0#mod})+(@{misc-mod})]] - [[@{#REPLACE0#tar}]]) ]]}} {{fail=You missed your check by $[[2]]}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"></button>
<button type="roll" name="roll_#REPLACE0#save" title="%{#REPLACE0#save}" value="/w gm &{template:2Esave} {{savevs=#REPLACE1#}} {{character=@{character_name}}} {{success=You made your check by [[ abs( ([[1d20+(@{#REPLACE0#mod})+(@{misc-mod})]])-([[@{#REPLACE0#tar}]]) ) ]]}} {{fail=You missed your check by $[[2]]}} {{fumble=You missed your check against all odds}} {{saveroll=$[[0]]}} {{savetarget=$[[1]]}}"></button>

0 comments on commit ffecabe

Please sign in to comment.