Merge branch 'Roll20:master' into master

This commit is contained in:
Kinower
2022-05-18 10:03:34 +02:00
committed by GitHub
101 changed files with 24114 additions and 20640 deletions
+66 -44
View File
@@ -9,7 +9,8 @@
<h2 style="color: black;">Changes in <input type="text" name="attr_version" class="sheet-version-large" readonly/></h2>
<div class="sheet-announce-items">
<ul style="font-style:italic">
<li>Fixed 'Reset Spell Slots' button for resetting current level of spells</li>
<li>Added Roll template output for ability score rolls</li>
<li>Updated Roll template inline roll colors when Dark mode is active to make them more readable </li>
</ul>
<hr>
<p>
@@ -1076,14 +1077,14 @@
<td style="width: 1px;">Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="/em attempts a feat of Strength! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Strength}]]">Strength</button></td>
<td><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="&{template:2Echeck} {{checkvs=Strength Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Strength}]]}} {{color=blue}}">Strength</button></td>
<td><input type="text" name="attr_Strength" title="@{Strength}" class="sheet-shortish" placeholder="18[67]"/></td>
<td><input type="text" name="attr_strengthhit" title="@{strengthhit}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_strengthdmg" title="@{strengthdmg}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_carryweight" title="@{carryweight}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_maxpress" title="@{maxpress}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0(0)"><button type="roll" name="roll_opendoor-check" title="%{opendoor-check}" value="/em attempts to force the door! [[1d20cs<1cf>20-(@{misc-mod})]] &le; @{opendoor}"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0">%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="/em attempts to Bend Bars or Lift Gate! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[(@{bendbar})]]%"></button></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0(0)"><button type="action" name="act_opendoor-check" title="%{opendoor-check}" class="btn sheet-action-button-roll"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0">%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="&{template:2Echeck} {{checkvs=Bend Bars / Lift Gate Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{bendbar}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_strnotes" title="@{strnotes}"></td>
</tr>
<tr>
@@ -1095,7 +1096,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="/em attempts a feat of Dexterity! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Dexterity}]]">Dexterity</button></td>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="&{template:2Echeck} {{checkvs=Dexterity Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Dexterity}]]}} {{color=blue}}">Dexterity</button></td>
<td><input type="text" name="attr_Dexterity" title="@{Dexterity}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_dexreact" title="@{dexreact}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_dexmissile" title="@{dexmissile}" class="sheet-shortish" value="0"/></td>
@@ -1113,11 +1114,11 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="/em attempts a feat of Constitution! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Constitution}]]">Constitution</button></td>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="&{template:2Echeck} {{checkvs=Constitution Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Constitution}]]}} {{color=blue}}">Constitution</button></td>
<td><input type="text" name="attr_Constitution" title="@{Constitution}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_conadj" title="@{conadj}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conshock}]]% Save vs. System Shock"></button></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conres}]]% Save vs Resurrection Survival"></button></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/w gm &{template:2Echeck} {{checkvs=System Shock Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conshock}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/w gm &{template:2Echeck} {{checkvs=Resurrection Survival Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conres}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_conpoisonsave" title="@{conpoisonsave}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_conregen" title="@{conregen}" class="sheet-length" value="0"/></td>
<td><input type="text" name="attr_connotes" title="@{connotes}"></td>
@@ -1133,11 +1134,11 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="/em attempts a feat of Intelligence! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Intelligence}]]">Intelligence</button></td>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="&{template:2Echeck} {{checkvs=Intelligence Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Intelligence}]]}} {{color=blue}}">Intelligence</button></td>
<td><input type="text" name="attr_Intelligence" title="@{Intelligence}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_intlang" title="@{intlang}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_intlvl" title="@{intlvl}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/em attempts to learn ?{Name of Spell?|Spell name}! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{intchance}]]%"></button></td>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/w gm &{template:2Echeck} {{checkvs=Learn *?{Name of Spell?|Spell name}* Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{intchance}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_intmax" title="@{intmax}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_intimm1st" title="@{intimm1st}" placeholder="1" class="sheet-small"><input type="text" name="attr_intimm2nd" title="@{intimm2nd}" placeholder="2" class="sheet-small"><input type="text" name="attr_intimm3rd" title="@{intimm3rd}" placeholder="3" class="sheet-small"><input type="text" name="attr_intimm4th" title="@{intimm4th}" placeholder="4" class="sheet-small"><input type="text" name="attr_intimm5th" title="@{intimm5th}" placeholder="5" class="sheet-small"><input type="text" name="attr_intimm6th" title="@{intimm6th}" placeholder="6" class="sheet-small"><input type="text" name="attr_intimm7th" title="@{intimm7th}" placeholder="7" class="sheet-small"></td>
<td><input type="text" name="attr_intnotes" title="@{intnotes}"></td>
@@ -1152,11 +1153,11 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="/em attempts a feat of Wisdom! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Wisdom}]]">Wisdom</button></td>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="&{template:2Echeck} {{checkvs=Wisdom Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Wisdom}]]}} {{color=blue}}">Wisdom</button></td>
<td><input type="text" name="attr_Wisdom" title="@{Wisdom}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_wisdef" title="@{wisdef}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_wisbonus" title="@{wisbonus}"/></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="/em attempts to wield holy power and cast a spell! [[1d100cs<1cf>100-(@{misc-mod})]]% &GreaterEqual; [[@{wisfail}]]%"></button></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="&{template:2Einversecheck} {{checkvs=Spell Failure Check}} {{character=@{character_name}}} {{checkroll=[[1d100+(@{misc-mod})]]%}} {{checktarget=[[@{wisfail}]]%}} {{color=blue}}"></button></td>
<td colspan="2"><input type="text" name="attr_wisimm" title="@{wisimm}" class="sheet-spell-immune"/></td>
<td><input type="text" name="attr_wisnotes" title="@{wisnotes}"/></td>
</tr>
@@ -1169,7 +1170,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="/em attempts a feat of Charisma! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Charisma}]]">Charisma</button></td>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="&{template:2Echeck} {{checkvs=Charisma Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Charisma}]]}} {{color=blue}}">Charisma</button></td>
<td><input type="text" name="attr_Charisma" title="@{Charisma}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_chamax" title="@{chamax}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_chaloy" title="@{chaloy}" class="sheet-shortish" value="0"/></td>
@@ -1192,7 +1193,7 @@
<fieldset name="repeating_customattr" class="repeating_customattr">
<table class="sheet-default-header-first-column sheet-default-header-odd-row" style='width:100%;'>
<tr>
<td style="width: 1px;"><button style="visibility: hidden" type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="/em attempts a feat of Constitution! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Constitution}]]">Constitution</button></td>
<td style="width: 1px;"><button style="visibility: hidden" type="roll">Constitution</button></td>
<td>Ability<br>Score</td>
<td><input type="text" name="attr_metric1" title="@{repeating_customattr_$X_metric1}" class="sheet-attr" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_metric2" title="@{repeating_customattr_$X_metric2}" class="sheet-attr"/></td>
@@ -1202,7 +1203,7 @@
</tr>
<tr>
<td><input type="text" name="attr_customname" title="@{repeating_customattr_$X_customname}" placeholder="Attribute" class="sheet-table-dynamic90"></td>
<td><input type="text" name="attr_customscore" title="@{repeating_customattr_$X_customscore}" class="sheet-shortish"/><button type="roll" name="roll_customstat" title="%{repeating_customattr_$X_customstat}" value="/me attempts a feat of @{customname}! [[d20+(@{misc-mod})]] &le; [[@{customscore}]]"></button></td>
<td><input type="text" name="attr_customscore" title="@{repeating_customattr_$X_customscore}" class="sheet-shortish"/><button type="roll" name="roll_customstat" title="%{repeating_customattr_$X_customstat}" value="&{template:2Echeck} {{checkvs=@{customname} Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{customscore}]]}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_custommetric1" title="@{repeating_customattr_$X_custommetric1}" class="sheet-attr"/><button type="roll" name="roll_custom-metric1" title="%{repeating_customattr_$X_custom-metric1}" value="@{custommetric1}"></button></td>
<td colspan="2"><input type="text" name="attr_custommetric2" title="@{repeating_customattr_$X_custommetric2}" class="sheet-attr"/><button type="roll" name="roll_custom-metric2" title="%{repeating_customattr_$X_custom-metric2}" value="@{custommetric2}"></button></td>
<td><input type="text" name="attr_custommetric3" title="@{repeating_customattr_$X_custommetric3}" class="sheet-attr"/><button type="roll" name="roll_custom-metric3" title="%{repeating_customattr_$X_custom-metric3}" value="@{custommetric3}"></button></td>
@@ -1216,7 +1217,7 @@
<div class="sheet-tab-content sheet-section-attributes-player-option">
<table class="sheet-default-header-first-column sheet-default-header-every-third-row sheet-table-white" style='width:100%;'>
<tr>
<td style="width: 1px;"><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="/em attempts a feat of Strength! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Strength}]]">Strength</button></td>
<td style="width: 1px;"><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="&{template:2Echeck} {{checkvs=Strength Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Strength}]]}} {{color=blue}}">Strength</button></td>
<td><input type="text" name="attr_Strength" title="@{Strength}" class="sheet-shortish" placeholder="18[67]"></td>
<td>Hit<br>Probability</td>
<td>Damage<br>Adjustment</td>
@@ -1227,7 +1228,7 @@
<td style="width: 1px;">Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Stamina-check" title="%{Stamina-check}" value="/em attempts a feat of Stamina! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Stamina}]]"><em>Stamina</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Stamina-check" title="%{Stamina-check}" value="&{template:2Echeck} {{checkvs=Stamina Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Stamina}]]}} {{color=blue}}"><em>Stamina</em></button></td>
<td><input type="text" name="attr_Stamina" title="@{Stamina}" class="sheet-shortish" placeholder="18[67]"/></td>
<td colspan="2"></td>
<td><input type="text" name="attr_carryweight" title="@{carryweight}" class="sheet-shortish" value="0"/></td>
@@ -1235,18 +1236,18 @@
<td><input type="text" name="attr_strnotes" title="@{strnotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Muscle-check" title="%{Muscle-check}" value="/em attempts a feat of Muscle! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Muscle}]]"><em>Muscle</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Muscle-check" title="%{Muscle-check}" value="&{template:2Echeck} {{checkvs=Muscle Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Muscle}]]}} {{color=blue}}"><em>Muscle</em></button></td>
<td><input type="text" name="attr_Muscle" title="@{Muscle}" class="sheet-shortish" placeholder="18[67]"/></td>
<td><input type="text" name="attr_strengthhit" title="@{strengthhit}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_strengthdmg" title="@{strengthdmg}" class="sheet-shortish" value="0"/></td>
<td></td>
<td><input type="text" name="attr_maxpress" title="@{maxpress}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0[0]"/><button type="roll" name="roll_opendoor-check" title="%{opendoor-check}" value="/em attempts to force the door! [[1d20cs<1cf>20-(@{misc-mod})]] &le; @{opendoor}"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="/em attempts to Bend Bars or Lift Gate! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{bendbar}]]%"></button></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0[0]"/><button type="action" name="act_opendoor-check" title="%{opendoor-check}" class="btn sheet-action-button-roll"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="&{template:2Echeck} {{checkvs=Bend Bars / Lift Gate Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{bendbar}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_str2notes" title="@{str2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="/em attempts a feat of Dexterity! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Dexterity}]]">Dexterity</button></td>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="&{template:2Echeck} {{checkvs=Dexterity Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Dexterity}]]}} {{color=blue}}">Dexterity</button></td>
<td><input type="text" name="attr_Dexterity" title="@{Dexterity}" class="sheet-shortish" placeholder="18"></td>
<td colspan="2">Reaction<br>Adjustment</td>
<td colspan="2">Missile Attack<br>Adjustment</td>
@@ -1254,7 +1255,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Aim-check" title="%{Aim-check}" value="/em attempts a feat of Aim! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Aim}]]"><em>Aim</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Aim-check" title="%{Aim-check}" value="&{template:2Echeck} {{checkvs=Aim Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Aim}]]}} {{color=blue}}"><em>Aim</em></button></td>
<td><input type="text" name="attr_Aim" title="@{Aim}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"></td>
<td colspan="2"><input type="text" name="attr_dexmissile" title="@{dexmissile}" class="sheet-shortish" value="0"/></td>
@@ -1262,7 +1263,7 @@
<td><input type="text" name="attr_dexnotes" title="@{dexnotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Balance-check" title="%{Balance-check}" value="/em attempts a feat of Balance! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Balance}]]"><em>Balance</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Balance-check" title="%{Balance-check}" value="&{template:2Echeck} {{checkvs=Balance Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Balance}]]}} {{color=blue}}"><em>Balance</em></button></td>
<td><input type="text" name="attr_Balance" title="@{Balance}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_dexreact" title="@{dexreact}" class="sheet-shortish" value="0"/></td>
<td colspan="2"></td>
@@ -1270,7 +1271,7 @@
<td><input type="text" name="attr_dex2notes" title="@{dex2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="/em attempts a feat of Constitution! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Constitution}]]">Constitution</button></td>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="&{template:2Echeck} {{checkvs=Constitution Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Constitution}]]}} {{color=blue}}">Constitution</button></td>
<td><input type="text" name="attr_Constitution" title="@{Constitution}" class="sheet-shortish" placeholder="18"/></td>
<td>Hit Point<br>Adjustment</td>
<td>System<br>Shock</td>
@@ -1280,26 +1281,26 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Health-check" title="%{Health-check}" value="/em attempts a feat of Health! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Health}]]">Health</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Health-check" title="%{Health-check}" value="&{template:2Echeck} {{checkvs=Health Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Health}]]}} {{color=blue}}">Health</button></td>
<td><input type="text" name="attr_Health" title="@{Health}" class="sheet-shortish" placeholder="18"/></td>
<td></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conshock}]]% Save vs. System Shock"></button></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/w gm &{template:2Echeck} {{checkvs=System Shock Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conshock}]]%}} {{color=blue}}"></button></td>
<td></td>
<td><input type="text" name="attr_conpoisonsave" title="@{conpoisonsave}" value="0" class="sheet-shortish"/></td>
<td colspan="2" rowspan="2"><input type="text" name="attr_conregen" title="@{conregen}" class="sheet-length" value="0"/></td>
<td><input type="text" name="attr_connotes" title="@{connotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Fitness-check" title="%{Fitness-check}" value="/em attempts a feat of Fitness! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Fitness}]]">Fitness</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Fitness-check" title="%{Fitness-check}" value="&{template:2Echeck} {{checkvs=Fitness Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Fitness}]]}} {{color=blue}}">Fitness</button></td>
<td><input type="text" name="attr_Fitness" title="@{Fitness}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_conadj" title="@{conadj}" class="sheet-shortish" value="0"/></td>
<td></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conres}]]% Save vs Resurrection Survival"></button></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/w gm &{template:2Echeck} {{checkvs=Resurrection Survival Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conres}]]%}} {{color=blue}}"></button></td>
<td></td>
<td><input type="text" name="attr_con2notes" title="@{con2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="/em attempts a feat of Intelligence! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Intelligence}]]">Intelligence</button></td>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="&{template:2Echeck} {{checkvs=Intelligence Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Intelligence}]]}} {{color=blue}}">Intelligence</button></td>
<td><input type="text" name="attr_Intelligence" title="@{Intelligence}" class="sheet-shortish" placeholder="18"/></td>
<td>Number of<br>Languages</td>
<td>Maximum<br>Spell Level</td>
@@ -1309,7 +1310,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Reason-check" title="%{Reason-check}" value="/em attempts a feat of Reason! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Reason}]]">Reason</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Reason-check" title="%{Reason-check}" value="&{template:2Echeck} {{checkvs=Reason Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Reason}]]}} {{color=blue}}">Reason</button></td>
<td><input type="text" name="attr_Reason" title="@{Reason}" class="sheet-shortish" placeholder="18"/></td>
<td></td>
<td><input type="text" name="attr_intlvl" title="@{intlvl}" class="sheet-shortish" value="0"/></td>
@@ -1319,17 +1320,17 @@
<td><input type="text" name="attr_intnotes" title="@{intnotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Knowledge-check" title="%{Knowledge-check}" value="/em attempts a feat of Knowledge! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Knowledge}]]">Knowledge</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Knowledge-check" title="%{Knowledge-check}" value="&{template:2Echeck} {{checkvs=Knowledge Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Knowledge}]]}} {{color=blue}}">Knowledge</button></td>
<td><input type="text" name="attr_Knowledge" title="@{Knowledge}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_intlang" title="@{intlang}" class="sheet-shortish" value="0"/></td>
<td></td>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/em attempts to learn ?{Name of Spell?|Spell name}! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{intchance}]]%"></button>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/w gm &{template:2Echeck} {{checkvs=Learn *?{Name of Spell?|Spell name}* Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{intchance}]]%}} {{color=blue}}"></button>
<td></td>
<td colspan="2"></td>
<td><input type="text" name="attr_int2notes" title="@{int2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="/em attempts a feat of Wisdom! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Wisdom}]]">Wisdom</button></td>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="&{template:2Echeck} {{checkvs=Wisdom Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Wisdom}]]}} {{color=blue}}">Wisdom</button></td>
<td><input type="text" name="attr_Wisdom" title="@{Wisdom}" class="sheet-shortish" placeholder="18"/></td>
<td>Magical Def<br>Adjustment</td>
<td colspan="2">Bonus<br>Priest Spells</td>
@@ -1338,16 +1339,16 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Intuition-check" title="%{Intuition-check}" value="/em attempts a feat of Intuition! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Intuition}]]">Intuition</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Intuition-check" title="%{Intuition-check}" value="&{template:2Echeck} {{checkvs=Intuition Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Intuition}]]}} {{color=blue}}">Intuition</button></td>
<td><input type="text" name="attr_Intuition" title="@{Intuition}" class="sheet-shortish" placeholder="18"/></td>
<td></td>
<td colspan="2"><input type="text" name="attr_wisbonus-prime" title="@{wisbonus-prime}"/></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="/em attempts to wield holy power and cast a spell! [[1d100cs<1cf>100-(@{misc-mod})]]% &GreaterEqual; [[@{wisfail}]]%"></button></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="&{template:2Einversecheck} {{checkvs=Spell Failure Check}} {{character=@{character_name}}} {{checkroll=[[1d100+(@{misc-mod})]]%}} {{checktarget=[[@{wisfail}]]%}} {{color=blue}}"></button></td>
<td colspan="2"><input type="text" name="attr_wisimm1" title="@{wisimm1}" class="sheet-spell-immune"/></td>
<td><input type="text" name="attr_wisnotes" title="@{wisnotes}"/></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Willpower-check" title="%{Willpower-check}" value="/em attempts a feat of Willpower! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Willpower}]]">Willpower</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Willpower-check" title="%{Willpower-check}" value="&{template:2Echeck} {{checkvs=Willpower Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Willpower}]]}} {{color=blue}}">Willpower</button></td>
<td><input type="text" name="attr_Willpower" title="@{Willpower}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_wisdef" title="@{wisdef}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_wisbonus-extra" title="@{wisbonus-extra}"/></td>
@@ -1356,7 +1357,7 @@
<td><input type="text" name="attr_wis2notes" title="@{wis2notes}"/></td>
</tr>
<tr>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="/em attempts a feat of Charisma! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Charisma}]]">Charisma</button></td>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="&{template:2Echeck} {{checkvs=Charisma Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Charisma}]]}} {{color=blue}}">Charisma</button></td>
<td><input type="text" name="attr_Charisma" title="@{Charisma}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2">Maximum Number<br>of Henchmen</td>
<td colspan="2">Loyalty<br>Base</td>
@@ -1364,7 +1365,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Leadership-check" title="%{Leadership-check}" value="/em attempts a feat of Leadership! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Leadership}]]">Leadership</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Leadership-check" title="%{Leadership-check}" value="&{template:2Echeck} {{checkvs=Leadership Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Leadership}]]}} {{color=blue}}">Leadership</button></td>
<td><input type="text" name="attr_Leadership" title="@{Leadership}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_chamax" title="@{chamax}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_chaloy" title="@{chaloy}" class="sheet-shortish" value="0"/></td>
@@ -1372,7 +1373,7 @@
<td><input type="text" name="attr_chanotes" title="@{chanotes}"/></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Appearance-check" title="%{Appearance-check}" value="/em attempts a feat of Appearance! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Appearance}]]">Appearance</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Appearance-check" title="%{Appearance-check}" value="&{template:2Echeck} {{checkvs=Appearance Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Appearance}]]}} {{color=blue}}">Appearance</button></td>
<td><input type="text" name="attr_Appearance" title="@{Appearance}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"></td>
<td colspan="2"></td>
@@ -22219,22 +22220,22 @@
</tr>
<tr>
<td class="sheet-check-c2">{{checkroll}}</td>
<td class="sheet-check-c2">&le;</td>
<td class="sheet-check-c2">&#62;</td>
<td class="sheet-check-c2">{{checktarget}}</td>
</tr>
{{#rollTotal() checkroll checktarget}}
<tr>
<td class="sheet-template-result sheet-template-failure" colspan="2">Fail!</td>
<td class="sheet-template-result sheet-template-failure" colspan="3">Fail!</td>
</tr>
{{/rollTotal() checkroll checktarget}}
{{#rollLess() checkroll checktarget}}
<tr>
<td class="sheet-template-result sheet-template-failure" colspan="2">Fail!</td>
<td class="sheet-template-result sheet-template-failure" colspan="3">Fail!</td>
</tr>
{{/rollLess() checkroll checktarget}}
{{#rollGreater() checkroll checktarget}}
<tr>
<td class="sheet-template-result sheet-template-success" colspan="2">Success!</td>
<td class="sheet-template-result sheet-template-success" colspan="3">Success!</td>
</tr>
{{/rollGreater() checkroll checktarget}}
</table>
@@ -44363,6 +44364,11 @@ const extractRollResult = async function(rollExpression) {
return roll.result;
};
const printRoll = async function(rollExpression) {
let roll = await startRoll(rollExpression);
finishRoll(roll.rollId);
}
const isRollValid = function (rollExpression, field) {
let expression = rollExpression.trim();
if (!expression)
@@ -44947,6 +44953,22 @@ on('change:charisma change:leadership change:appearance', function() {
}
});
});
on('clicked:opendoor-check', function (eventInfo){
getAttrs(['opendoor'], async function (values){
let match = values.opendoor.match(/(\d+)\((\d+)\)/);
let rollTemplate = "&{template:2Echeck} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20]]}} {{color=blue}}"
if (!match) {
return printRoll(rollTemplate + "{{checkvs=Open Doors Check}} {{checktarget=[[@{opendoor}]]}}");
}
let target = await extractQueryResult(`?{What kind of door?|Normal door,${match[1]}|Locked / Barred / Magical door,${match[2]}}`);
rollTemplate += ` {{checktarget=[[${target}]]}}`;
rollTemplate += target === match[1]
? ` {{checkvs=Open Normal Doors Check}}`
: ` {{checkvs=Open Locked/Barred/Magical Doors Check}}`;
return printRoll(rollTemplate);
});
});
//#endregion
//#region Wizard and Priest Spells slot counting
@@ -45873,7 +45895,7 @@ on(BOOK_FIELDS.map(b => `change:${b}`).join(' '), function (eventInfo) {
// --- Version change start --- //
const SHEET_NAME = 'AD&D 2E Revised';
const SHEET_VERSION = '4.8.1';
const SHEET_VERSION = '4.9.0';
on('sheet:opened', function(){
getAttrs(['character_sheet'],function(attrs){
+19 -2
View File
@@ -869,6 +869,10 @@ button {
.sheet-rolltemplate-2Esave table {
width: 100%;
}
.sheet-rolltemplate-darkmode .inlinerollresult {
color: rgb(255, 171, 0);
}
/*#endregion */
/*#region Styles common to all 2E Template Headers */
@@ -1378,16 +1382,16 @@ button {
.sheet-rolltemplate-2Egrenademiss .sheet-miss-text {
font-size: 8pt;
}
/*#endregion*/
/*/ Overwrite inline roll styling /*/
.sheet-rolltemplate-2Egrenademiss .sheet-ignore-inlineroll .inlinerollresult {
background-color: inherit;
border: inherit;
color: #000000;
padding: 0;
font-weight: inherit;
font-size: inherit;
}
/*#endregion*/
.sheet-inline {
display: inline-block;
@@ -1610,6 +1614,19 @@ input.sheet-show-toast-error:checked ~ .sheet-error
display: block;
}
.sheet-action-button,
.sheet-action-button-roll {
height: 19px;
font-size: 1.3em;
padding: 2px 3px;
margin: 0 3px;
}
.sheet-action-button-roll:before {
font-family: "dicefontd20";
content: "t";
}
/* Announcement styling start */
div.sheet-announcement {
width: 95%;
+13 -9
View File
@@ -846,15 +846,6 @@ button {
insert_rolltemplates.css
/*/ Overwrite inline roll styling /*/
.sheet-rolltemplate-2Egrenademiss .sheet-ignore-inlineroll .inlinerollresult {
background-color: inherit;
border: inherit;
padding: 0;
font-weight: inherit;
font-size: inherit;
}
.sheet-inline {
display: inline-block;
}
@@ -1076,6 +1067,19 @@ input.sheet-show-toast-error:checked ~ .sheet-error
display: block;
}
.sheet-action-button,
.sheet-action-button-roll {
height: 19px;
font-size: 1.3em;
padding: 2px 3px;
margin: 0 3px;
}
.sheet-action-button-roll:before {
font-family: "dicefontd20";
content: "t";
}
/* Announcement styling start */
div.sheet-announcement {
width: 95%;
+13
View File
@@ -23,6 +23,10 @@
.sheet-rolltemplate-2Esave table {
width: 100%;
}
.sheet-rolltemplate-darkmode .inlinerollresult {
color: rgb(255, 171, 0);
}
/*#endregion */
/*#region Styles common to all 2E Template Headers */
@@ -532,4 +536,13 @@
.sheet-rolltemplate-2Egrenademiss .sheet-miss-text {
font-size: 8pt;
}
.sheet-rolltemplate-2Egrenademiss .sheet-ignore-inlineroll .inlinerollresult {
background-color: inherit;
border: inherit;
color: #000000;
padding: 0;
font-weight: inherit;
font-size: inherit;
}
/*#endregion*/
+2 -1
View File
@@ -4,7 +4,8 @@
<h2 style="color: black;">Changes in <input type="text" name="attr_version" class="sheet-version-large" readonly/></h2>
<div class="sheet-announce-items">
<ul style="font-style:italic">
<li>Fixed 'Reset Spell Slots' button for resetting current level of spells</li>
<li>Added Roll template output for ability score rolls</li>
<li>Updated Roll template inline roll colors when Dark mode is active to make them more readable </li>
</ul>
<hr>
<p>
@@ -847,22 +847,22 @@
</tr>
<tr>
<td class="sheet-check-c2">{{checkroll}}</td>
<td class="sheet-check-c2">&le;</td>
<td class="sheet-check-c2">&#62;</td>
<td class="sheet-check-c2">{{checktarget}}</td>
</tr>
{{#rollTotal() checkroll checktarget}}
<tr>
<td class="sheet-template-result sheet-template-failure" colspan="2">Fail!</td>
<td class="sheet-template-result sheet-template-failure" colspan="3">Fail!</td>
</tr>
{{/rollTotal() checkroll checktarget}}
{{#rollLess() checkroll checktarget}}
<tr>
<td class="sheet-template-result sheet-template-failure" colspan="2">Fail!</td>
<td class="sheet-template-result sheet-template-failure" colspan="3">Fail!</td>
</tr>
{{/rollLess() checkroll checktarget}}
{{#rollGreater() checkroll checktarget}}
<tr>
<td class="sheet-template-result sheet-template-success" colspan="2">Success!</td>
<td class="sheet-template-result sheet-template-success" colspan="3">Success!</td>
</tr>
{{/rollGreater() checkroll checktarget}}
</table>
@@ -1,7 +1,7 @@
<div class="sheet-tab-content sheet-section-attributes-player-option">
<table class="sheet-default-header-first-column sheet-default-header-every-third-row sheet-table-white" style='width:100%;'>
<tr>
<td style="width: 1px;"><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="/em attempts a feat of Strength! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Strength}]]">Strength</button></td>
<td style="width: 1px;"><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="&{template:2Echeck} {{checkvs=Strength Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Strength}]]}} {{color=blue}}">Strength</button></td>
<td><input type="text" name="attr_Strength" title="@{Strength}" class="sheet-shortish" placeholder="18[67]"></td>
<td>Hit<br>Probability</td>
<td>Damage<br>Adjustment</td>
@@ -12,7 +12,7 @@
<td style="width: 1px;">Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Stamina-check" title="%{Stamina-check}" value="/em attempts a feat of Stamina! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Stamina}]]"><em>Stamina</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Stamina-check" title="%{Stamina-check}" value="&{template:2Echeck} {{checkvs=Stamina Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Stamina}]]}} {{color=blue}}"><em>Stamina</em></button></td>
<td><input type="text" name="attr_Stamina" title="@{Stamina}" class="sheet-shortish" placeholder="18[67]"/></td>
<td colspan="2"></td>
<td><input type="text" name="attr_carryweight" title="@{carryweight}" class="sheet-shortish" value="0"/></td>
@@ -20,18 +20,18 @@
<td><input type="text" name="attr_strnotes" title="@{strnotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Muscle-check" title="%{Muscle-check}" value="/em attempts a feat of Muscle! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Muscle}]]"><em>Muscle</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Muscle-check" title="%{Muscle-check}" value="&{template:2Echeck} {{checkvs=Muscle Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Muscle}]]}} {{color=blue}}"><em>Muscle</em></button></td>
<td><input type="text" name="attr_Muscle" title="@{Muscle}" class="sheet-shortish" placeholder="18[67]"/></td>
<td><input type="text" name="attr_strengthhit" title="@{strengthhit}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_strengthdmg" title="@{strengthdmg}" class="sheet-shortish" value="0"/></td>
<td></td>
<td><input type="text" name="attr_maxpress" title="@{maxpress}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0[0]"/><button type="roll" name="roll_opendoor-check" title="%{opendoor-check}" value="/em attempts to force the door! [[1d20cs<1cf>20-(@{misc-mod})]] &le; @{opendoor}"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="/em attempts to Bend Bars or Lift Gate! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{bendbar}]]%"></button></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0[0]"/><button type="action" name="act_opendoor-check" title="%{opendoor-check}" class="btn sheet-action-button-roll"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="&{template:2Echeck} {{checkvs=Bend Bars / Lift Gate Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{bendbar}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_str2notes" title="@{str2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="/em attempts a feat of Dexterity! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Dexterity}]]">Dexterity</button></td>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="&{template:2Echeck} {{checkvs=Dexterity Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Dexterity}]]}} {{color=blue}}">Dexterity</button></td>
<td><input type="text" name="attr_Dexterity" title="@{Dexterity}" class="sheet-shortish" placeholder="18"></td>
<td colspan="2">Reaction<br>Adjustment</td>
<td colspan="2">Missile Attack<br>Adjustment</td>
@@ -39,7 +39,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Aim-check" title="%{Aim-check}" value="/em attempts a feat of Aim! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Aim}]]"><em>Aim</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Aim-check" title="%{Aim-check}" value="&{template:2Echeck} {{checkvs=Aim Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Aim}]]}} {{color=blue}}"><em>Aim</em></button></td>
<td><input type="text" name="attr_Aim" title="@{Aim}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"></td>
<td colspan="2"><input type="text" name="attr_dexmissile" title="@{dexmissile}" class="sheet-shortish" value="0"/></td>
@@ -47,7 +47,7 @@
<td><input type="text" name="attr_dexnotes" title="@{dexnotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Balance-check" title="%{Balance-check}" value="/em attempts a feat of Balance! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Balance}]]"><em>Balance</em></button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Balance-check" title="%{Balance-check}" value="&{template:2Echeck} {{checkvs=Balance Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Balance}]]}} {{color=blue}}"><em>Balance</em></button></td>
<td><input type="text" name="attr_Balance" title="@{Balance}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_dexreact" title="@{dexreact}" class="sheet-shortish" value="0"/></td>
<td colspan="2"></td>
@@ -55,7 +55,7 @@
<td><input type="text" name="attr_dex2notes" title="@{dex2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="/em attempts a feat of Constitution! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Constitution}]]">Constitution</button></td>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="&{template:2Echeck} {{checkvs=Constitution Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Constitution}]]}} {{color=blue}}">Constitution</button></td>
<td><input type="text" name="attr_Constitution" title="@{Constitution}" class="sheet-shortish" placeholder="18"/></td>
<td>Hit Point<br>Adjustment</td>
<td>System<br>Shock</td>
@@ -65,26 +65,26 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Health-check" title="%{Health-check}" value="/em attempts a feat of Health! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Health}]]">Health</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Health-check" title="%{Health-check}" value="&{template:2Echeck} {{checkvs=Health Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Health}]]}} {{color=blue}}">Health</button></td>
<td><input type="text" name="attr_Health" title="@{Health}" class="sheet-shortish" placeholder="18"/></td>
<td></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conshock}]]% Save vs. System Shock"></button></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/w gm &{template:2Echeck} {{checkvs=System Shock Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conshock}]]%}} {{color=blue}}"></button></td>
<td></td>
<td><input type="text" name="attr_conpoisonsave" title="@{conpoisonsave}" value="0" class="sheet-shortish"/></td>
<td colspan="2" rowspan="2"><input type="text" name="attr_conregen" title="@{conregen}" class="sheet-length" value="0"/></td>
<td><input type="text" name="attr_connotes" title="@{connotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Fitness-check" title="%{Fitness-check}" value="/em attempts a feat of Fitness! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Fitness}]]">Fitness</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Fitness-check" title="%{Fitness-check}" value="&{template:2Echeck} {{checkvs=Fitness Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Fitness}]]}} {{color=blue}}">Fitness</button></td>
<td><input type="text" name="attr_Fitness" title="@{Fitness}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_conadj" title="@{conadj}" class="sheet-shortish" value="0"/></td>
<td></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conres}]]% Save vs Resurrection Survival"></button></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0"/>%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/w gm &{template:2Echeck} {{checkvs=Resurrection Survival Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conres}]]%}} {{color=blue}}"></button></td>
<td></td>
<td><input type="text" name="attr_con2notes" title="@{con2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="/em attempts a feat of Intelligence! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Intelligence}]]">Intelligence</button></td>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="&{template:2Echeck} {{checkvs=Intelligence Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Intelligence}]]}} {{color=blue}}">Intelligence</button></td>
<td><input type="text" name="attr_Intelligence" title="@{Intelligence}" class="sheet-shortish" placeholder="18"/></td>
<td>Number of<br>Languages</td>
<td>Maximum<br>Spell Level</td>
@@ -94,7 +94,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Reason-check" title="%{Reason-check}" value="/em attempts a feat of Reason! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Reason}]]">Reason</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Reason-check" title="%{Reason-check}" value="&{template:2Echeck} {{checkvs=Reason Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Reason}]]}} {{color=blue}}">Reason</button></td>
<td><input type="text" name="attr_Reason" title="@{Reason}" class="sheet-shortish" placeholder="18"/></td>
<td></td>
<td><input type="text" name="attr_intlvl" title="@{intlvl}" class="sheet-shortish" value="0"/></td>
@@ -104,17 +104,17 @@
<td><input type="text" name="attr_intnotes" title="@{intnotes}"></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Knowledge-check" title="%{Knowledge-check}" value="/em attempts a feat of Knowledge! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Knowledge}]]">Knowledge</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Knowledge-check" title="%{Knowledge-check}" value="&{template:2Echeck} {{checkvs=Knowledge Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Knowledge}]]}} {{color=blue}}">Knowledge</button></td>
<td><input type="text" name="attr_Knowledge" title="@{Knowledge}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_intlang" title="@{intlang}" class="sheet-shortish" value="0"/></td>
<td></td>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/em attempts to learn ?{Name of Spell?|Spell name}! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{intchance}]]%"></button>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/w gm &{template:2Echeck} {{checkvs=Learn *?{Name of Spell?|Spell name}* Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{intchance}]]%}} {{color=blue}}"></button>
<td></td>
<td colspan="2"></td>
<td><input type="text" name="attr_int2notes" title="@{int2notes}"></td>
</tr>
<tr>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="/em attempts a feat of Wisdom! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Wisdom}]]">Wisdom</button></td>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="&{template:2Echeck} {{checkvs=Wisdom Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Wisdom}]]}} {{color=blue}}">Wisdom</button></td>
<td><input type="text" name="attr_Wisdom" title="@{Wisdom}" class="sheet-shortish" placeholder="18"/></td>
<td>Magical Def<br>Adjustment</td>
<td colspan="2">Bonus<br>Priest Spells</td>
@@ -123,16 +123,16 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Intuition-check" title="%{Intuition-check}" value="/em attempts a feat of Intuition! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Intuition}]]">Intuition</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Intuition-check" title="%{Intuition-check}" value="&{template:2Echeck} {{checkvs=Intuition Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Intuition}]]}} {{color=blue}}">Intuition</button></td>
<td><input type="text" name="attr_Intuition" title="@{Intuition}" class="sheet-shortish" placeholder="18"/></td>
<td></td>
<td colspan="2"><input type="text" name="attr_wisbonus-prime" title="@{wisbonus-prime}"/></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="/em attempts to wield holy power and cast a spell! [[1d100cs<1cf>100-(@{misc-mod})]]% &GreaterEqual; [[@{wisfail}]]%"></button></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="&{template:2Einversecheck} {{checkvs=Spell Failure Check}} {{character=@{character_name}}} {{checkroll=[[1d100+(@{misc-mod})]]%}} {{checktarget=[[@{wisfail}]]%}} {{color=blue}}"></button></td>
<td colspan="2"><input type="text" name="attr_wisimm1" title="@{wisimm1}" class="sheet-spell-immune"/></td>
<td><input type="text" name="attr_wisnotes" title="@{wisnotes}"/></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Willpower-check" title="%{Willpower-check}" value="/em attempts a feat of Willpower! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Willpower}]]">Willpower</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Willpower-check" title="%{Willpower-check}" value="&{template:2Echeck} {{checkvs=Willpower Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Willpower}]]}} {{color=blue}}">Willpower</button></td>
<td><input type="text" name="attr_Willpower" title="@{Willpower}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_wisdef" title="@{wisdef}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_wisbonus-extra" title="@{wisbonus-extra}"/></td>
@@ -141,7 +141,7 @@
<td><input type="text" name="attr_wis2notes" title="@{wis2notes}"/></td>
</tr>
<tr>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="/em attempts a feat of Charisma! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Charisma}]]">Charisma</button></td>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="&{template:2Echeck} {{checkvs=Charisma Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Charisma}]]}} {{color=blue}}">Charisma</button></td>
<td><input type="text" name="attr_Charisma" title="@{Charisma}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2">Maximum Number<br>of Henchmen</td>
<td colspan="2">Loyalty<br>Base</td>
@@ -149,7 +149,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Leadership-check" title="%{Leadership-check}" value="/em attempts a feat of Leadership! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Leadership}]]">Leadership</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Leadership-check" title="%{Leadership-check}" value="&{template:2Echeck} {{checkvs=Leadership Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Leadership}]]}} {{color=blue}}">Leadership</button></td>
<td><input type="text" name="attr_Leadership" title="@{Leadership}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_chamax" title="@{chamax}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_chaloy" title="@{chaloy}" class="sheet-shortish" value="0"/></td>
@@ -157,7 +157,7 @@
<td><input type="text" name="attr_chanotes" title="@{chanotes}"/></td>
</tr>
<tr>
<td><button style="margin-left: 10px;" type="roll" name="roll_Appearance-check" title="%{Appearance-check}" value="/em attempts a feat of Appearance! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Appearance}]]">Appearance</button></td>
<td><button style="margin-left: 10px;" type="roll" name="roll_Appearance-check" title="%{Appearance-check}" value="&{template:2Echeck} {{checkvs=Appearance Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Appearance}]]}} {{color=blue}}">Appearance</button></td>
<td><input type="text" name="attr_Appearance" title="@{Appearance}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"></td>
<td colspan="2"></td>
@@ -12,14 +12,14 @@
<td style="width: 1px;">Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="/em attempts a feat of Strength! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Strength}]]">Strength</button></td>
<td><button type="roll" name="roll_Strength-check" title="%{Strength-check}" value="&{template:2Echeck} {{checkvs=Strength Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Strength}]]}} {{color=blue}}">Strength</button></td>
<td><input type="text" name="attr_Strength" title="@{Strength}" class="sheet-shortish" placeholder="18[67]"/></td>
<td><input type="text" name="attr_strengthhit" title="@{strengthhit}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_strengthdmg" title="@{strengthdmg}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_carryweight" title="@{carryweight}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_maxpress" title="@{maxpress}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0(0)"><button type="roll" name="roll_opendoor-check" title="%{opendoor-check}" value="/em attempts to force the door! [[1d20cs<1cf>20-(@{misc-mod})]] &le; @{opendoor}"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0">%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="/em attempts to Bend Bars or Lift Gate! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[(@{bendbar})]]%"></button></td>
<td><input type="text" name="attr_opendoor" title="@{opendoor}" class="sheet-shortish" value="0(0)"><button type="action" name="act_opendoor-check" title="%{opendoor-check}" class="btn sheet-action-button-roll"></button></td>
<td><input type="text" name="attr_bendbar" title="@{bendbar}" class="sheet-shortish" value="0">%<button type="roll" name="roll_bendbar-check" title="%{bendbar-check}" value="&{template:2Echeck} {{checkvs=Bend Bars / Lift Gate Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{bendbar}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_strnotes" title="@{strnotes}"></td>
</tr>
<tr>
@@ -31,7 +31,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="/em attempts a feat of Dexterity! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Dexterity}]]">Dexterity</button></td>
<td><button type="roll" name="roll_Dexterity-check" title="%{Dexterity-check}" value="&{template:2Echeck} {{checkvs=Dexterity Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Dexterity}]]}} {{color=blue}}">Dexterity</button></td>
<td><input type="text" name="attr_Dexterity" title="@{Dexterity}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_dexreact" title="@{dexreact}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_dexmissile" title="@{dexmissile}" class="sheet-shortish" value="0"/></td>
@@ -49,11 +49,11 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="/em attempts a feat of Constitution! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Constitution}]]">Constitution</button></td>
<td><button type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="&{template:2Echeck} {{checkvs=Constitution Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Constitution}]]}} {{color=blue}}">Constitution</button></td>
<td><input type="text" name="attr_Constitution" title="@{Constitution}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_conadj" title="@{conadj}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conshock}]]% Save vs. System Shock"></button></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/gmroll [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{conres}]]% Save vs Resurrection Survival"></button></td>
<td><input type="text" name="attr_conshock" title="@{conshock}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conshock-check" title="%{conshock-check}" value="/w gm &{template:2Echeck} {{checkvs=System Shock Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conshock}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_conres" title="@{conres}" class="sheet-shortish" value="0">%<button type="roll" name="roll_conres-check" title="%{conres-check}" value="/w gm &{template:2Echeck} {{checkvs=Resurrection Survival Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{conres}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_conpoisonsave" title="@{conpoisonsave}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_conregen" title="@{conregen}" class="sheet-length" value="0"/></td>
<td><input type="text" name="attr_connotes" title="@{connotes}"></td>
@@ -69,11 +69,11 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="/em attempts a feat of Intelligence! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Intelligence}]]">Intelligence</button></td>
<td><button type="roll" name="roll_Intelligence-check" title="%{Intelligence-check}" value="&{template:2Echeck} {{checkvs=Intelligence Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Intelligence}]]}} {{color=blue}}">Intelligence</button></td>
<td><input type="text" name="attr_Intelligence" title="@{Intelligence}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_intlang" title="@{intlang}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_intlvl" title="@{intlvl}" class="sheet-shortish" value="0"/></td>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/em attempts to learn ?{Name of Spell?|Spell name}! [[1d100cs<1cf>100-(@{misc-mod})]]% &le; [[@{intchance}]]%"></button></td>
<td><input type="text" name="attr_intchance" title="@{intchance}" class="sheet-shortish" value="0">%<button type="roll" name="roll_learnspell" title="%{learnspell}" value="/w gm &{template:2Echeck} {{checkvs=Learn *?{Name of Spell?|Spell name}* Check}} {{character=@{character_name}}} {{checkroll=[[1d100cs1cf100-(@{misc-mod})]]%}} {{checktarget=[[@{intchance}]]%}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_intmax" title="@{intmax}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_intimm1st" title="@{intimm1st}" placeholder="1" class="sheet-small"><input type="text" name="attr_intimm2nd" title="@{intimm2nd}" placeholder="2" class="sheet-small"><input type="text" name="attr_intimm3rd" title="@{intimm3rd}" placeholder="3" class="sheet-small"><input type="text" name="attr_intimm4th" title="@{intimm4th}" placeholder="4" class="sheet-small"><input type="text" name="attr_intimm5th" title="@{intimm5th}" placeholder="5" class="sheet-small"><input type="text" name="attr_intimm6th" title="@{intimm6th}" placeholder="6" class="sheet-small"><input type="text" name="attr_intimm7th" title="@{intimm7th}" placeholder="7" class="sheet-small"></td>
<td><input type="text" name="attr_intnotes" title="@{intnotes}"></td>
@@ -88,11 +88,11 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="/em attempts a feat of Wisdom! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Wisdom}]]">Wisdom</button></td>
<td><button type="roll" name="roll_Wisdom-check" title="%{Wisdom-check}" value="&{template:2Echeck} {{checkvs=Wisdom Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Wisdom}]]}} {{color=blue}}">Wisdom</button></td>
<td><input type="text" name="attr_Wisdom" title="@{Wisdom}" class="sheet-shortish" placeholder="18"/></td>
<td><input type="text" name="attr_wisdef" title="@{wisdef}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_wisbonus" title="@{wisbonus}"/></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="/em attempts to wield holy power and cast a spell! [[1d100cs<1cf>100-(@{misc-mod})]]% &GreaterEqual; [[@{wisfail}]]%"></button></td>
<td><input type="text" name="attr_wisfail" title="@{wisfail}" class="sheet-shortish" value="0">%<button type="roll" name="roll_spellfail" title="%{spellfail}" value="&{template:2Einversecheck} {{checkvs=Spell Failure Check}} {{character=@{character_name}}} {{checkroll=[[1d100+(@{misc-mod})]]%}} {{checktarget=[[@{wisfail}]]%}} {{color=blue}}"></button></td>
<td colspan="2"><input type="text" name="attr_wisimm" title="@{wisimm}" class="sheet-spell-immune"/></td>
<td><input type="text" name="attr_wisnotes" title="@{wisnotes}"/></td>
</tr>
@@ -105,7 +105,7 @@
<td>Notes</td>
</tr>
<tr>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="/em attempts a feat of Charisma! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Charisma}]]">Charisma</button></td>
<td><button type="roll" name="roll_Charisma-check" title="%{Charisma-check}" value="&{template:2Echeck} {{checkvs=Charisma Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{Charisma}]]}} {{color=blue}}">Charisma</button></td>
<td><input type="text" name="attr_Charisma" title="@{Charisma}" class="sheet-shortish" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_chamax" title="@{chamax}" class="sheet-shortish" value="0"/></td>
<td colspan="2"><input type="text" name="attr_chaloy" title="@{chaloy}" class="sheet-shortish" value="0"/></td>
@@ -128,7 +128,7 @@
<fieldset name="repeating_customattr" class="repeating_customattr">
<table class="sheet-default-header-first-column sheet-default-header-odd-row" style='width:100%;'>
<tr>
<td style="width: 1px;"><button style="visibility: hidden" type="roll" name="roll_Constitution-check" title="%{Constitution-check}" value="/em attempts a feat of Constitution! [[1d20cs<1cf>20-(@{misc-mod})]]&le;[[@{Constitution}]]">Constitution</button></td>
<td style="width: 1px;"><button style="visibility: hidden" type="roll">Constitution</button></td>
<td>Ability<br>Score</td>
<td><input type="text" name="attr_metric1" title="@{repeating_customattr_$X_metric1}" class="sheet-attr" placeholder="18"/></td>
<td colspan="2"><input type="text" name="attr_metric2" title="@{repeating_customattr_$X_metric2}" class="sheet-attr"/></td>
@@ -138,7 +138,7 @@
</tr>
<tr>
<td><input type="text" name="attr_customname" title="@{repeating_customattr_$X_customname}" placeholder="Attribute" class="sheet-table-dynamic90"></td>
<td><input type="text" name="attr_customscore" title="@{repeating_customattr_$X_customscore}" class="sheet-shortish"/><button type="roll" name="roll_customstat" title="%{repeating_customattr_$X_customstat}" value="/me attempts a feat of @{customname}! [[d20+(@{misc-mod})]] &le; [[@{customscore}]]"></button></td>
<td><input type="text" name="attr_customscore" title="@{repeating_customattr_$X_customscore}" class="sheet-shortish"/><button type="roll" name="roll_customstat" title="%{repeating_customattr_$X_customstat}" value="&{template:2Echeck} {{checkvs=@{customname} Check}} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20-(@{misc-mod})]]}} {{checktarget=[[@{customscore}]]}} {{color=blue}}"></button></td>
<td><input type="text" name="attr_custommetric1" title="@{repeating_customattr_$X_custommetric1}" class="sheet-attr"/><button type="roll" name="roll_custom-metric1" title="%{repeating_customattr_$X_custom-metric1}" value="@{custommetric1}"></button></td>
<td colspan="2"><input type="text" name="attr_custommetric2" title="@{repeating_customattr_$X_custommetric2}" class="sheet-attr"/><button type="roll" name="roll_custom-metric2" title="%{repeating_customattr_$X_custom-metric2}" value="@{custommetric2}"></button></td>
<td><input type="text" name="attr_custommetric3" title="@{repeating_customattr_$X_custommetric3}" class="sheet-attr"/><button type="roll" name="roll_custom-metric3" title="%{repeating_customattr_$X_custom-metric3}" value="@{custommetric3}"></button></td>
@@ -91,6 +91,11 @@ const extractRollResult = async function(rollExpression) {
return roll.result;
};
const printRoll = async function(rollExpression) {
let roll = await startRoll(rollExpression);
finishRoll(roll.rollId);
}
const isRollValid = function (rollExpression, field) {
let expression = rollExpression.trim();
if (!expression)
@@ -675,6 +680,22 @@ on('change:charisma change:leadership change:appearance', function() {
}
});
});
on('clicked:opendoor-check', function (eventInfo){
getAttrs(['opendoor'], async function (values){
let match = values.opendoor.match(/(\d+)\((\d+)\)/);
let rollTemplate = "&{template:2Echeck} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20]]}} {{color=blue}}"
if (!match) {
return printRoll(rollTemplate + "{{checkvs=Open Doors Check}} {{checktarget=[[@{opendoor}]]}}");
}
let target = await extractQueryResult(`?{What kind of door?|Normal door,${match[1]}|Locked / Barred / Magical door,${match[2]}}`);
rollTemplate += ` {{checktarget=[[${target}]]}}`;
rollTemplate += target === match[1]
? ` {{checkvs=Open Normal Doors Check}}`
: ` {{checkvs=Open Locked/Barred/Magical Doors Check}}`;
return printRoll(rollTemplate);
});
});
//#endregion
//#region Wizard and Priest Spells slot counting
+1 -1
View File
@@ -1,7 +1,7 @@
// --- Version change start --- //
const SHEET_NAME = 'AD&D 2E Revised';
const SHEET_VERSION = '4.8.1';
const SHEET_VERSION = '4.9.0';
on('sheet:opened', function(){
getAttrs(['character_sheet'],function(attrs){
+2 -2
View File
@@ -30,7 +30,7 @@
<div class="row padt padb"><h3 class="col-1 center border"><span>Sheet Options</span></h3></div>
<div class="row center padb">
<div class="col-1-5 padr"><h4 class="center border"><span>Sheet Version
<input type="text" class="center" name="attr_version" value="1.8.1" readonly />
<input type="text" class="center" name="attr_version" value="1.8.2" readonly />
<input type="hidden" name="attr_global_version" value="0.0.0" readonly />
</span></h4></div>
<div class="col-1-5 padr"><h4 class="center border"><span>Sheet Type
@@ -9597,7 +9597,7 @@
const attribute = value[`repeating_attr_${rowID}_attribute`];
const obj = {
"absorption": 5,
"alternateform": 4,
"alternate form": 4,
"alternate identity": 1,
"armor": 2,
"attack mastery": 1,
@@ -53,7 +53,7 @@
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-4 sheet-center sheet-small-label">Score</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label">Temp.</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label">Bonus</div>
<div class="sheet-col-3-16 sheet-center sheet-small-label">AXP</div>
<div class="sheet-col-3-16 sheet-center sheet-small-label">Required</div>
</div>
@@ -156,7 +156,7 @@
<div class="sheet-col-1-4 sheet-center sheet-small-label">Current</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label">Total</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label">Temp.</div></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label">Bonus</div></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-4">
@@ -816,99 +816,188 @@
<div class="sheet-section-s-link">
<div class="sheet-row">
<div class="sheet-col-1 sheet-padr">
<h4 class="sheet-center">S-Link Progress</h4>
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-1 sheet-small-label sheet-center">
<div class="sheet-row sheet-sub-header">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-3-10 sheet-center sheet-small-label">Name</div>
<div class="sheet-col-3-10 sheet-center sheet-small-label">Arcana</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">Rank</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">SXP</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">Required</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">Roll</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_Slink">
<div class="sheet-row">
<div class="sheet-col-3-10">
<input type="text" spellcheck="false" name="attr_slinkname">
</div>
<div class="sheet-col-3-10">
<input type="text" spellcheck="false" name="attr_slinkarcana">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinkrank">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinksxp">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinksxprequired">
</div>
<span style="padding-left:16px">
<div class="sheet-col-1-18">
<button type="roll" class="sheet-roll" name="slink" value="&amp;{template:default} {{name=@{slinkname} grants @{CharacterNameUsage} power!}} {{This bond is=rank @{slinkrank}!}} {{@{slinkname}'s arcana is=@{slinkarcana}!}} {{@{PUgenderpronoun2} @{PUgenderhave} @{slinksxp} SXP=of the @{slinksxprequired} needed.}}"></button></div>
</div></fieldset>
</div>
<div class="sheet-col-1 sheet-padr">
<h4 class="sheet-center">S-Link Bonuses</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-row sheet-sub-header">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-3-16 sheet-center sheet-small-label">SLink's Name</div>
<div class="sheet-col-3-16 sheet-center sheet-small-label">Move's Name</div>
<div class="sheet-col-1-16 sheet-center sheet-small-label">Rank</div>
<div class="sheet-col-1-16 sheet-center sheet-small-label">Roll</div>
<div class="sheet-col-3-16 sheet-center sheet-small-label">SLink's Name</div>
<div class="sheet-col-3-16 sheet-center sheet-small-label">Move's Name</div>
<div class="sheet-col-1-16 sheet-center sheet-small-label">Rank</div>
<div class="sheet-col-1-16 sheet-center sheet-small-label">Roll</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label">SLink's Name</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label">Slink's Arcana</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label">Rank</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label">SXP</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label">Req.</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">Roll</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label">SLink's Name</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label">Slink's Arcana</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label">Rank</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label">SXP</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label">Req.</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">Roll</div>
</div>
</div>
</div>
<div class="sheet-row"><fieldset class="repeating_slinkmoves">
<div class="sheet-col-1-2 sheet-padr">
<div class="sheet-col-3-8">
<input type="text" spellcheck="false" name="attr_slinkbonusslinknamea">
<div class="sheet-col-1-4">
<input type="text" spellcheck="false" name="attr_slinknamea">
</div>
<div class="sheet-col-3-8">
<input type="text" spellcheck="false" name="attr_slinkbonusnamea">
<div class="sheet-col-1-4">
<input type="text" spellcheck="false" name="attr_slinkarcanaa">
</div>
<div class="sheet-col-1-8">
<input type="number" name="attr_slinkbonusranka">
<div class="sheet-col-1-10">
<input type="number" name="attr_slinkranka">
</div>
<div class="sheet-col-1-10">
<button type="roll" class="sheet-roll" name="slinkbonusa" value="&amp;{template:default} {{name=@{slinkbonusslinknamea} grants @{CharacterNameUsage} power!}} {{@{slinkbonusnamea}=is @{slinkbonusslinknamea}'s rank @{slinkbonusranka} S-Link bonus! @{slinkbonuseffecta}}}"></button>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinkxpa">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinkxprequireda">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkbonusa" value="&amp;{template:default} {{name=@{slinknamea} grants @{CharacterNameUsage} power!}} {{The @{slinkarcanaa} Arcana=is rank @{slinkranka}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability1a" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability1ranka" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability1effecta" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability1a" value="&amp;{template:default} {{name=@{ability1a}}} {{@{ability1effecta}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability2a" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability2ranka" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability2effecta" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability2a" value="&amp;{template:default} {{name=@{ability2a}}} {{@{ability2effecta}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability3a" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability3ranka" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability3effecta" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability3a" value="&amp;{template:default} {{name=@{ability3a}}} {{@{ability3effecta}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability4a" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability4ranka" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability4effecta" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability4a" value="&amp;{template:default} {{name=@{ability4a}}} {{@{ability4effecta}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability5a" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability5ranka" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability5effecta" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability5a" value="&amp;{template:default} {{name=@{ability5a}}} {{@{ability5effecta}}}"></button>
</div>
</div>
<div class="sheet-col-1-2 sheet-padr">
<div class="sheet-col-1-4">
<input type="text" spellcheck="false" name="attr_slinknameb">
</div>
<div class="sheet-col-1-4">
<input type="text" spellcheck="false" name="attr_slinkarcanab">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinkrankb">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinkxpb">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_slinkxprequiredb">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkbonusb" value="&amp;{template:default} {{name=@{slinknameb} grants @{CharacterNameUsage} power!}} {{The @{slinkarcanab} Arcana=is rank @{slinkrankb}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability1b" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability1rankb" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability1effectb" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability1b" value="&amp;{template:default} {{name=@{ability1b}}} {{@{ability1effectb}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability2b" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability2rankb" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability2effectb" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability2b" value="&amp;{template:default} {{name=@{ability2b}}} {{@{ability2effectb}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability3b" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability3rankb" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability3effectb" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability3b" value="&amp;{template:default} {{name=@{ability3b}}} {{@{ability3effectb}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability4b" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability4rankb" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability4effectb" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability4b" value="&amp;{template:default} {{name=@{ability4b}}} {{@{ability4effectb}}}"></button>
</div>
<div class="sheet-col-3-10">
<input type="text" name="attr_ability5b" placeholder="Ability">
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_ability5rankb" placeholder="Rank">
</div>
<div class="sheet-col-2-5">
<input type="text" name="attr_ability5effectb" placeholder="Effect">
</div>
<div class="sheet-col-3-20">
<button type="roll" class="sheet-roll" name="slinkability5b" value="&amp;{template:default} {{name=@{ability5b}}} {{@{ability5effectb}}}"></button>
</div>
</div>
<div class="sheet-col-1">
<textarea name="attr_slinkbonuseffecta"></textarea>
</div></div>
<div class="sheet-col-1-2 sheet-padr">
<div class="sheet-col-3-8">
<input type="text" spellcheck="false" name="attr_slinkbonusslinknameb">
</div>
<div class="sheet-col-3-8">
<input type="text" spellcheck="false" name="attr_slinkbonusnameb">
</div>
<div class="sheet-col-1-8">
<input type="number" name="attr_slinkbonusrankb">
</div>
<div class="sheet-col-1-10">
<button type="roll" class="sheet-roll" name="slinkbonusb" value="&amp;{template:default} {{name=@{slinkbonusslinknameb} grants @{CharacterNameUsage} power!}} {{@{slinkbonusnameb}=is @{slinkbonusslinknameb}'s rank @{slinkbonusrankb} S-Link bonus! @{slinkbonuseffectb}}}"></button>
</div>
<div class="sheet-col-1">
<textarea name="attr_slinkbonuseffectb"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -623,7 +623,7 @@
"zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung",
"kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter",
"koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen",
"gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft",
"gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft",
"naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben",
"wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde",
"handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung",
Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

+431
View File
@@ -0,0 +1,431 @@
@import url("https://fonts.googleapis.com/css2?family=Almendra+SC&family=Lobster+Two&display=swap");
.tab-buttons button {
background-color: #d82525;
color: #fff;
border: 1px solid transparent;
padding: 5px;
border-radius: 10px;
}
.tab-buttons button:active {
background-color: #af0a0a;
}
.tab-buttons button:hover {
border: 1px dashed;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-size: 16px;
color: black;
}
/* Remove Spinners from input[type='number'] Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Remove Spinners from input[type='number'] Firefox */
input[type="number"] {
-moz-appearance: textfield;
}
/*Sheet Scrollbar*/
::-webkit-scrollbar {
width: 5px;
}
::-webkit-scrollbar-track {
box-shadow: inset 0 0 5px grey;
}
textarea {
resize: none;
overflow-y: scroll;
background-color: transparent;
}
hr {
width: 80%;
margin: 5px auto;
}
/*Commom Styles*/
.text-center {
text-align: center;
}
.main-div,
.main-monster-div {
background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9fPGnAqukzX67eTW2lsZJpz5k-A0gCwUF6Dm9N1U9kDpefHBym2I9yKbDK0moREisYuBpOx3O63KUlNLOPamrnADb7fl-9r5hNWqW8dN4dy55tWiryw7JSbEEPTEfB-Vr6ULgtwyblPd5R6Lyydq-ll-D7A9pIbXs_Uwak9ECKcZG9vV1LuEroJse/s16000/sheet.png);
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: top center;
padding: 2%;
}
.main-top-content,
.monster-encounter-details {
width: 90%;
margin: 20px auto;
padding: 3%;
}
.title-and-subtitle {
padding: 3%;
margin: 5% 3%;
text-align: center;
}
.sheet-title {
display: inline-block;
font-family: "Almendra SC", serif;
font-size: 70px;
font-weight: bold;
transition: all 0.2s;
}
.sheet-subtitle {
display: inline-block;
font-family: "Lobster Two", cursive;
font-size: 25px;
font-style: italic;
transition: all 0.2s;
}
/*Begin Hero*/
.hero-info {
display: flex;
justify-content: space-evenly;
align-items: baseline;
margin: 10px 0;
padding: 0 3%;
}
/*Normal <details> styling*/
details > summary {
list-style-type: "?";
cursor: pointer;
}
details[open] > summary {
list-style-type: "!";
cursor: pointer;
}
details {
padding: 0;
}
/*Workaround <details> styling*/
details {
display: inline-block;
width: 100%;
padding: 0;
}
details > summary {
list-style-type: none;
display: inline-block;
margin: 20px 0;
border: 1px dashed #ccc;
padding: 3px;
font-size: 10px;
}
details > summary:hover {
color: #3e8749;
}
details > summary::-webkit-details-marker {
display: none;
}
details > summary::after {
content: " ? ";
cursor: pointer;
}
details[open] > summary::after {
content: " ! ";
cursor: pointer;
}
.characterviewer label {
margin-bottom: 7px;
}
.hero-info input {
border: none;
border-bottom: 1px solid #ccc;
outline: 0;
}
.hero-stats-details {
width: 90%;
margin: 0 auto;
padding: 0 3%;
}
.hero-stats {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 auto;
padding: 0;
width: 100%;
}
.hero-roll {
display: flex;
justify-content: center;
align-items: baseline;
width: 100%;
margin: -2px 0 auto;
padding: 0;
border: none;
background-color: #3e8749;
}
.hero-skill,
.hero-stamina,
.hero-luck {
width: 140px;
height: 90px;
margin: 10px;
border: 1px solid #ccc;
text-align: center;
display: flex;
flex-flow: column nowrap;
justify-content: space-around;
align-items: center;
}
.hero-roll label {
text-align: center;
background-color: #3e8749;
color: white;
width: 60px;
}
.hero-stamina label,
.hero-luck label {
padding: 5px;
text-align: center;
background-color: #3e8749;
color: white;
}
.hero-stats div input {
outline: 0;
width: 100%;
text-align: center;
font-size: 40px;
font-weight: bolder;
border: none;
}
.charsheet button[type="roll"].skill-roll-btn,
.charsheet button[type="roll"].skill-roll-btn:hover {
border: none;
background-color: transparent;
background-position: 0 -68px;
font-weight: bold;
box-shadow: none;
text-align: start;
}
.charsheet button[type="roll"].skill-roll-btn:before {
font-family: "dicefontd6";
content: "F";
box-shadow: none;
background-position: 0 -68px;
box-shadow: none;
}
.sheet-sections {
display: flex;
justify-content: space-around;
align-items: baseline;
width: 90%;
margin: 3% auto;
padding: 3%;
}
.hero-equipments-and-others {
display: flex;
flex-flow: column nowrap;
justify-content: space-between;
width: 100%;
padding: 0 5px 5px;
margin: 0 1% 1%;
}
.equipments,
.potions {
margin: 10px auto;
width: 98%;
}
.equipments-header {
display: flex;
justify-content: space-between;
margin: 10px 0;
}
.potions-header,
.backstory-header {
margin: 10px 0;
}
.attr_equipment,
.attr_potions {
width: 90%;
border: 0;
border-bottom: 1px solid #ccc;
margin: 5px auto;
}
.btn.repcontrol_add,
.btn.repcontrol_edit,
.btn.repcontrol_add:before,
.btn.repcontrol_edit:before,
.btn.repcontrol_add:after,
.btn.repcontrol_edit:after {
border: 1px solid;
background-position: 0 -28px;
box-shadow: none;
}
.btn.repcontrol_add {
background-color: #6ab175;
color: #fff;
margin: 5px 0;
}
.btn.repcontrol_edit {
background-color: #e9646f;
color: #fff;
margin: 5px 0;
}
.repeating_equipments,
.repeating_potions {
margin-bottom: 20px;
}
.hero-backstory-and-others {
width: 95%;
margin: 0 auto;
padding: 10px;
}
.backstory {
width: 100%;
}
.backstory-area {
margin: 10px 0;
}
/*End Hero*/
/*Begin Monster*/
.monster-div {
position: relative;
float: left;
width: 160px;
border: 1px solid;
margin-right: 60px;
margin-top: 10px;
left: 33px;
}
.monster-name {
width: 100%;
font-size: 25px;
background-image: linear-gradient(#692b2b, #d63333);
color: #fff;
outline: 0;
}
.monster-name::placeholder {
font-size: 16px;
color: #fff;
}
.monster-stats {
display: flex;
flex-flow: column nowrap;
justify-content: space-around;
height: 100px;
}
.monster-stats-div {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
}
.repeating_encounters {
width: 90%;
}
.charsheet .repcontainer .repitem .itemcontrol {
width: 230px !important;
margin-right: 60px;
}
.ui-dialog .charsheet .repcontainer .repitem {
margin-right: 50px;
}
.repcontainer[data-groupname="repeating_encounters"] {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
width: 90%;
margin: 0 auto;
}
/*Media Queries*/
@media screen and (max-width: 400px) {
.main-top-content {
margin-top: 50px;
}
.sheet-title img {
width: 100%;
}
.hero-info {
flex-flow: column nowrap;
}
.hero-stats {
flex-flow: column nowrap;
}
}
@media screen and (max-width: 600px) {
.hero-info {
flex-flow: column nowrap;
}
}
@media screen and (max-width: 800px) {
.main-div,
.main-monster-div {
background-size: cover;
}
.sheet-sections {
flex-flow: column nowrap;
}
.sheet-title {
font-size: 40px;
}
.sheet-subtitle {
font-size: 14px;
}
}
@media screen and (max-width: 875px) {
.monster-div {
width: 80%;
margin: 10px auto;
}
.repcontainer[data-groupname="repeating_encounters"] {
flex-direction: column;
justify-content: center;
align-items: center;
}
}
.charsheet .sheet-character,
.charsheet .sheet-notesAndMonsters {
display: none;
}
/* show the selected tab */
.charsheet .sheet-tabstoggle[value="hero"] ~ div.sheet-character,
.charsheet
.sheet-tabstoggle[value="notesAndMonsters"]
~ div.sheet-notesAndMonsters {
display: block;
}
.charsheet .sheet-character,
.charsheet .sheet-notesAndMonsters {
max-width: 1000px;
margin: 0 auto;
}
+208
View File
@@ -0,0 +1,208 @@
<input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="hero" />
<div class="tab-buttons">
<button type="action" name="act_hero" data-i18n="Hero">Hero</button>
<button type="action" name="act_notesAndMonsters" data-i18n="Notes/Monsters">Notes/Monsters</button>
</div>
<div class="sheet-character">
<div class="main-div">
<div class="main-top-content">
<div class="title-and-subtitle">
<span class="sheet-title" data-i18n="title">Adventure Sheet</span>
<span class="sheet-subtitle" data-i18n="subtitle">Fighting Fantasy by Steve Jackson and Ian Livingstone</span>
</div>
<div>
<details open>
<summary style="font-weight:bold; " data-i18n="hero-info">Hero Info</summary>
<div class="hero-info">
<div>
<label data-i18n="hero-name">Name <input type="text" name="attr_character_name"
spellcheck="false" /></label>
</div>
<div>
<label data-i18n="provisions">Provisions <input type="number" name="attr_remaining_provisions"
class="text-center">
</label>
</div>
<div>
<label data-i18n="goldCoins">Gold coins <input type="number" name="attr_gold_coins" class="text-center">
</label>
</div>
</div>
</details>
</div>
</div>
<div class="hero-stats-details">
<details open>
<summary style="font-weight:bold; " data-i18n="hero-stats">Hero Stats</summary>
<div class="hero-stats">
<div class="hero-skill">
<div class="hero-roll">
<label data-i18n="skill">
Skill </label>
<button type="roll" class="skill-roll-btn" name="skillroll" value="[[2d6+@{characterskill}]]"> </button>
</div>
<input type="text" name="attr_characterskill" maxlength="2" />
</div>
<div class="hero-stamina">
<label data-i18n="stamina">Stamina </label>
<input type="text" name="attr_characterstamina" maxlength="2" />
</div>
<div class="hero-luck">
<label data-i18n="luck">Luck </label>
<input type="text" name="attr_characterluck" maxlength="2" />
</div>
</div>
</details>
</div>
<hr>
<div class="sheet-sections">
<div class="hero-equipments-and-others">
<div class="equipments">
<div class="equipments-header">
<h3 data-i18n="equipments">Equipments/Items </h3>
</div>
<fieldset class="repeating_equipments">
<input type="text" name="attr_equipment" class="attr_equipment" spellcheck="false" />
</fieldset>
</div>
<div class="potions">
<label class="potions-header" data-i18n="potions">Potions</label>
<fieldset class="repeating_potions">
<input type="text" name="attr_potions" class="attr_potions" spellcheck="false" />
</fieldset>
</div>
</div>
<div class="hero-backstory-and-others">
<div class="backstory">
<label class="backstory-header" data-i18n="backstory">
Backstory
<textarea class="backstory-area" spellcheck="false">
</textarea>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="sheet-notesAndMonsters">
<div class="main-monster-div">
<div class="main-top-content">
<div class="title-and-subtitle">
<span class="sheet-title" data-i18n="title">Adventure Sheet</span>
<span class="sheet-subtitle" data-i18n="subtitle">Fighting Fantasy by Steve Jackson and Ian Livingstone</span>
</div>
<div>
<details open>
<summary style="font-weight:bold; " data-i18n="hero-notes">Hero Notes</summary>
<textarea spellcheck="false"></textarea>
</details>
</div>
<div class="monster-ecounters-details">
<details open>
<summary style="font-weight:bold; " data-i18n="monster-encounters">Encounters</summary>
<fieldset class="repeating_encounters">
<div class="monster-div">
<input type="text" data-i18n="monster name" placeholder="monster name here" name="attr_encounters"
class="attr_encounters monster-name" spellcheck="false">
<div class="monster-stats">
<div class="monster-stats-div">
<label data-i18n="skill">Skill</label>
<input type="text" maxlength="2" style="width: 60px; text-align:center">
</div>
<div class="monster-stats-div">
<label data-i18n="stamina">Stamina</label>
<input type="text" maxlength="2" style="width: 60px; text-align:center">
</div>
<div class="monster-stats-div">
<label data-i18n="attacks">Attacks</label>
<input type="text" maxlength="2" style="width: 60px; text-align:center">
</div>
</div>
</div>
</fieldset>
</details>
</div>
</div>
</div>
</div>
<script type="text/worker">
const buttonlist = ["hero","notesAndMonsters"];
buttonlist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
sheetTab: button
});
});
});
</script>
+9
View File
@@ -0,0 +1,9 @@
{
"html": "FightingFantasy.html",
"css": "FightingFantasy.css",
"authors": "Marcus Rangel - Ghostdancing",
"roll20userid": "10112633",
"preview": "FightinFantasySheetHeroPart.PNG",
"instructions": "Fighting Fantasy character sheet.",
"legacy": true
}
+21
View File
@@ -0,0 +1,21 @@
{
"Hero": "Hero",
"Notes/Monsters": "Notes/Monsters",
"title": "Adventure Sheet",
"subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone",
"hero-info": "Hero Info",
"hero-name": "Name <input type=\"text\" name=\"attr_character_name\" spellcheck=\"false\">",
"provisions": "Provisions <input type=\"number\" name=\"attr_remaining_provisions\" class=\"text-center\">\n ",
"goldCoins": "Gold coins <input type=\"number\" name=\"attr_gold_coins\" class=\"text-center\">\n ",
"hero-stats": "Hero Stats",
"skill": "Skill",
"stamina": "Stamina",
"luck": "Luck ",
"equipments": "Equipments/Items ",
"potions": "Potions",
"backstory": "\n Backstory\n <textarea class=\"backstory-area\" spellcheck=\"false\">\n </textarea>\n ",
"hero-notes": "Hero Notes",
"monster-encounters": "Encounters",
"monster name": "",
"attacks": "Attacks"
}
+3 -3
View File
@@ -2607,17 +2607,17 @@
.charsheet .oracle-table-2-column {
display: flex;
flex-flow: column wrap;
height: 48em;
height: 50em;
}
.charsheet .oracle-table-3-column {
display: flex;
flex-flow: column wrap;
height: 63em;
height: 65em;
}
.charsheet .oracle-table-4-column {
display: flex;
flex-flow: column wrap;
height: 93em;
height: 95em;
}
.charsheet .oracle-table-2-column-group {
display: flex;
@@ -173,13 +173,13 @@ span.oracle-result
padding-left 0.5em
.oracle-table-2-column
column-wrap(48em)
column-wrap(50em)
.oracle-table-3-column
column-wrap(63em)
column-wrap(65em)
.oracle-table-4-column
column-wrap(93em)
column-wrap(95em)
.oracle-table-2-column-group
display flex
+96 -7
View File
@@ -10265,7 +10265,9 @@ on('clicked:importKNPCG', () => {
const name = effects[cle].name.split(' ', length).join(' ').toLowerCase();
const value2 = eff[length] || 0;
switch (name) {
const uEff = name === 'ignore' || name === 'perce' || name === 'dégâts' ? `${name} ${eff[1]}` : name;
switch (uEff) {
case 'anathème':
newrowattrsW[`${path + newrowidW}_anatheme`] = '{{anatheme=Anathème}}';
break;
@@ -10358,7 +10360,7 @@ on('clicked:importKNPCG', () => {
newrowattrsW[`${path + newrowidW}_ignoreArmure`] = '{{ignoreArmure=Ignore Armure}}';
break;
case 'ignore champ de force':
case 'ignore CdF':
newrowattrsW[`${path + newrowidW}_ignoreCdF`] = '{{ignoreCdF=Ignore Champs de Force}}';
break;
@@ -17681,6 +17683,7 @@ for (let i = 0; i < rollMAImprovise; i += 1) {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
];
const arme = [];
@@ -17704,6 +17707,8 @@ for (let i = 0; i < rollMAImprovise; i += 1) {
let OD = 0;
const wraith = attrs.MADDjinnWraithActive;
const type = attrs.MAUtilisationArmeAI;
const mod = +attrs.jetModifDes;
const hasBonus = +attrs.bonusCarac;
@@ -17809,6 +17814,14 @@ for (let i = 0; i < rollMAImprovise; i += 1) {
// FIN GESTION DU STYLE
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
cBonus.push(+attrs[ODValue.discretion]);
bDegats.push(+attrs.discretion);
bDegats.push(+attrs[ODValue.discretion]);
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
if (cRoll.length === 0) { cRoll.push(0); }
if (bonus.length === 0) { bonus.push(0); }
@@ -18709,6 +18722,8 @@ rollDemon.forEach((button) => {
const base = roll[0];
let wraith;
let degats;
let violence;
let bDegats = 0;
@@ -18725,14 +18740,25 @@ rollDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
]);
wraith = attrs.MADDjinnWraithActive;
degats = attrs[roll[1]];
violence = attrs[roll[2]];
bDegats = +degats.split('+')[1];
bViolence = +violence.split('+')[1];
if (wraith !== '0') {
degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`;
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{effets=^{CDF-desactive-pendant} [[1D3]] ^{tours}}}`);
break;
@@ -18743,15 +18769,30 @@ rollDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
]);
wraith = attrs.MADDjinnWraithActive;
degats = attrs[roll[1]];
violence = attrs[roll[2]];
if (wraith !== '0') {
degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`;
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{degatsConditionnel=true}} {{violenceConditionnel=true}} {{antiAnatheme=${i18n_antiAnatheme}}} {{antiAnathemeCondition=${i18n_antiAnathemeCondition}}} {{effets=${i18n_antiVehicule}}}`);
break;
}
if (wraith !== '0') {
exec.push('{{special2=^{module-wraith} ^{active}}}');
}
const devaste = +attrs.devasterAnatheme;
const bourreau = +attrs.bourreauTenebres;
const equilibre = +attrs.equilibreBalance;
@@ -18815,6 +18856,8 @@ rollCombatDemon.forEach((button) => {
const cBonus = [];
let cOD = 0;
let wraith;
let degats;
let bDegats;
let violence;
@@ -18824,8 +18867,6 @@ rollCombatDemon.forEach((button) => {
let autresEffets;
let active;
exec.push(base);
switch (button) {
@@ -18843,12 +18884,17 @@ rollCombatDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
];
listAttrs = listAttrs.concat(listStyle);
attrs = await getAttrsAsync(listAttrs);
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -18913,6 +18959,14 @@ rollCombatDemon.forEach((button) => {
degats += getStyle.diceDegats;
violence += getStyle.diceViolence;
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
rollBonus.push(+attrs[ODValue.discretion]);
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`;
exec.push(jet);
@@ -18959,7 +19013,7 @@ rollCombatDemon.forEach((button) => {
attrs = await getAttrsAsync(listAttrs);
active = attrs.MADDjinnWraithActive;
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -18969,8 +19023,6 @@ rollCombatDemon.forEach((button) => {
C3 = attrs.caracteristiqueWraith3;
C4 = attrs.caracteristiqueWraith4;
if (active !== '0') { exec.push('{{special2=^{module-wraith} ^{active}}}'); }
attrsCarac = await getCarac(bCarac, C1, C2, C3, C4);
if (attrsCarac.C1) {
@@ -19043,12 +19095,17 @@ rollCombatDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
];
listAttrs = listAttrs.concat(listStyle);
attrs = await getAttrsAsync(listAttrs);
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -19113,6 +19170,14 @@ rollCombatDemon.forEach((button) => {
degats += getStyle.diceDegats;
violence += getStyle.diceViolence;
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
rollBonus.push(+attrs[ODValue.discretion]);
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`;
exec.push(jet);
@@ -19154,11 +19219,16 @@ rollCombatDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
];
listAttrs = listAttrs.concat(listStyle);
attrs = await getAttrsAsync(listAttrs);
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -19228,6 +19298,14 @@ rollCombatDemon.forEach((button) => {
exec.push(`{{mod=${mod}}}`);
}
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
rollBonus.push(+attrs[ODValue.discretion]);
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`;
exec.push(jet);
@@ -19275,6 +19353,10 @@ rollCombatDemon.forEach((button) => {
}
}
if (wraith !== '0') {
exec.push('{{special2=^{module-wraith} ^{active}}}');
}
const finalRoll = await startRoll(exec.join(' '));
const tJet = finalRoll.results.jet.result;
@@ -55044,6 +55126,9 @@ on('clicked:rollVehicule', async (info) => {
{{#vSystemes}}
<span class="full"><span data-i18n="systemes-inclus">Systemes inclus</span> ({{vSystemes}})</span>
{{/vSystemes}}
{{#vWraithA}}
<span class="full"><span data-i18n="wraith-inclus">Bonus du mode wraith inclus</span> ({{vWraithA}})</span>
{{/vWraithA}}
</div>
{{/jet}}
@@ -55074,6 +55159,10 @@ on('clicked:rollVehicule', async (info) => {
{{#vMStyleD}}
<span class="full"><span data-i18n="style-inclus">Style inclus</span> ({{vMStyleD}})</span>
{{/vMStyleD}}
{{#vWraithD}}
<span class="full"><span data-i18n="wraith-inclus">Bonus du mode wraith inclus</span> ({{vWraithD}})</span>
{{/vWraithD}}
</div>
{{/degats}}
{{#degatsConditionnel}}
@@ -61,6 +61,9 @@
{{#vSystemes}}
<span class="full"><span data-i18n="systemes-inclus">Systemes inclus</span> ({{vSystemes}})</span>
{{/vSystemes}}
{{#vWraithA}}
<span class="full"><span data-i18n="wraith-inclus">Bonus du mode wraith inclus</span> ({{vWraithA}})</span>
{{/vWraithA}}
</div>
{{/jet}}
@@ -91,6 +94,10 @@
{{#vMStyleD}}
<span class="full"><span data-i18n="style-inclus">Style inclus</span> ({{vMStyleD}})</span>
{{/vMStyleD}}
{{#vWraithD}}
<span class="full"><span data-i18n="wraith-inclus">Bonus du mode wraith inclus</span> ({{vWraithD}})</span>
{{/vWraithD}}
</div>
{{/degats}}
{{#degatsConditionnel}}
+4 -2
View File
@@ -3326,7 +3326,9 @@ on('clicked:importKNPCG', () => {
const name = effects[cle].name.split(' ', length).join(' ').toLowerCase();
const value2 = eff[length] || 0;
switch (name) {
const uEff = name === 'ignore' || name === 'perce' || name === 'dégâts' ? `${name} ${eff[1]}` : name;
switch (uEff) {
case 'anathème':
newrowattrsW[`${path + newrowidW}_anatheme`] = '{{anatheme=Anathème}}';
break;
@@ -3419,7 +3421,7 @@ on('clicked:importKNPCG', () => {
newrowattrsW[`${path + newrowidW}_ignoreArmure`] = '{{ignoreArmure=Ignore Armure}}';
break;
case 'ignore champ de force':
case 'ignore CdF':
newrowattrsW[`${path + newrowidW}_ignoreCdF`] = '{{ignoreCdF=Ignore Champs de Force}}';
break;
+85 -5
View File
@@ -304,6 +304,7 @@ for (let i = 0; i < rollMAImprovise; i += 1) {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
];
const arme = [];
@@ -327,6 +328,8 @@ for (let i = 0; i < rollMAImprovise; i += 1) {
let OD = 0;
const wraith = attrs.MADDjinnWraithActive;
const type = attrs.MAUtilisationArmeAI;
const mod = +attrs.jetModifDes;
const hasBonus = +attrs.bonusCarac;
@@ -432,6 +435,14 @@ for (let i = 0; i < rollMAImprovise; i += 1) {
// FIN GESTION DU STYLE
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
cBonus.push(+attrs[ODValue.discretion]);
bDegats.push(+attrs.discretion);
bDegats.push(+attrs[ODValue.discretion]);
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
if (cRoll.length === 0) { cRoll.push(0); }
if (bonus.length === 0) { bonus.push(0); }
@@ -1332,6 +1343,8 @@ rollDemon.forEach((button) => {
const base = roll[0];
let wraith;
let degats;
let violence;
let bDegats = 0;
@@ -1348,14 +1361,25 @@ rollDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
]);
wraith = attrs.MADDjinnWraithActive;
degats = attrs[roll[1]];
violence = attrs[roll[2]];
bDegats = +degats.split('+')[1];
bViolence = +violence.split('+')[1];
if (wraith !== '0') {
degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`;
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{effets=^{CDF-desactive-pendant} [[1D3]] ^{tours}}}`);
break;
@@ -1366,15 +1390,30 @@ rollDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
]);
wraith = attrs.MADDjinnWraithActive;
degats = attrs[roll[1]];
violence = attrs[roll[2]];
if (wraith !== '0') {
degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`;
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{degatsConditionnel=true}} {{violenceConditionnel=true}} {{antiAnatheme=${i18n_antiAnatheme}}} {{antiAnathemeCondition=${i18n_antiAnathemeCondition}}} {{effets=${i18n_antiVehicule}}}`);
break;
}
if (wraith !== '0') {
exec.push('{{special2=^{module-wraith} ^{active}}}');
}
const devaste = +attrs.devasterAnatheme;
const bourreau = +attrs.bourreauTenebres;
const equilibre = +attrs.equilibreBalance;
@@ -1438,6 +1477,8 @@ rollCombatDemon.forEach((button) => {
const cBonus = [];
let cOD = 0;
let wraith;
let degats;
let bDegats;
let violence;
@@ -1447,8 +1488,6 @@ rollCombatDemon.forEach((button) => {
let autresEffets;
let active;
exec.push(base);
switch (button) {
@@ -1466,12 +1505,17 @@ rollCombatDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
];
listAttrs = listAttrs.concat(listStyle);
attrs = await getAttrsAsync(listAttrs);
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -1536,6 +1580,14 @@ rollCombatDemon.forEach((button) => {
degats += getStyle.diceDegats;
violence += getStyle.diceViolence;
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
rollBonus.push(+attrs[ODValue.discretion]);
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`;
exec.push(jet);
@@ -1582,7 +1634,7 @@ rollCombatDemon.forEach((button) => {
attrs = await getAttrsAsync(listAttrs);
active = attrs.MADDjinnWraithActive;
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -1592,8 +1644,6 @@ rollCombatDemon.forEach((button) => {
C3 = attrs.caracteristiqueWraith3;
C4 = attrs.caracteristiqueWraith4;
if (active !== '0') { exec.push('{{special2=^{module-wraith} ^{active}}}'); }
attrsCarac = await getCarac(bCarac, C1, C2, C3, C4);
if (attrsCarac.C1) {
@@ -1666,12 +1716,17 @@ rollCombatDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
];
listAttrs = listAttrs.concat(listStyle);
attrs = await getAttrsAsync(listAttrs);
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -1736,6 +1791,14 @@ rollCombatDemon.forEach((button) => {
degats += getStyle.diceDegats;
violence += getStyle.diceViolence;
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
rollBonus.push(+attrs[ODValue.discretion]);
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`;
exec.push(jet);
@@ -1777,11 +1840,16 @@ rollCombatDemon.forEach((button) => {
'devasterAnatheme',
'bourreauTenebres',
'equilibreBalance',
'MADDjinnWraithActive',
'discretion',
`${ODValue.discretion}`,
];
listAttrs = listAttrs.concat(listStyle);
attrs = await getAttrsAsync(listAttrs);
wraith = attrs.MADDjinnWraithActive;
bCarac = attrs.bonusCarac;
mod = +attrs.jetModifDes;
@@ -1851,6 +1919,14 @@ rollCombatDemon.forEach((button) => {
exec.push(`{{mod=${mod}}}`);
}
if (wraith !== '0') {
cRoll.push(+attrs.discretion);
rollBonus.push(+attrs[ODValue.discretion]);
bDegats += +attrs.discretion + +attrs[ODValue.discretion];
exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`);
}
jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`;
exec.push(jet);
@@ -1898,6 +1974,10 @@ rollCombatDemon.forEach((button) => {
}
}
if (wraith !== '0') {
exec.push('{{special2=^{module-wraith} ^{active}}}');
}
const finalRoll = await startRoll(exec.join(' '));
const tJet = finalRoll.results.jet.result;
+1
View File
@@ -1217,6 +1217,7 @@
"missile-jericho":"Missile Jericho",
"mode-siege-tower":"Mode Siège Tower",
"module-wraith":"Module Wraith",
"wraith-inclus":"Bonus du mode wraith inclus",
"type-jet":"Type de jet",
"nanobrume":"Nanobrume",
"poings-soniques":"Poings soniques",
+2
View File
@@ -0,0 +1,2 @@
2022-05-02 V1
Release V1
+578
View File
@@ -0,0 +1,578 @@
/*
EDITED by Gorthian
Version 1.0
Letzte Änderung 2022-05-02
GitHub https://github.com/Gorthian/Roll20_NHKS_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/issues
*/
/* GRUNDLAGEN */
div.sheet-wrapper {
--sheet-bg : #ffffff;
--sheet-text-color : #000000;
}
p.sheet-nowrap {
white-space : nowrap;
}
/* GRIDS */
div.sheet-NHKS {
background-color : var(--sheet-bg);
color : var(--sheet-text-color);
display : grid;
grid-template-areas : "menu"
"content"
"footer"
}
div.sheet-menu {
display : inline;
grid-area : menu;
}
div.sheet-content {
display : grid;
grid-area : content;
}
div.sheet-footer {
display : grid;
grid-area : footer;
}
div.sheet-actor-sheet {
display : grid;
grid-template-columns : 35% 35% 30%;
grid-auto-rows : minmax(100px, auto);
align-items : start;
grid-template-areas : "attributes attributes skills"
"advantages movies skills"
"martialarts awards misc"
}
div.sheet-actor-attributes {
display : grid;
grid-area : attributes;
}
div.sheet-actor-skills {
display : grid;
grid-area : skills;
}
div.sheet-actor-advantages {
display : grid;
grid-area : advantages;
}
div.sheet-actor-movies {
display : grid;
grid-area : movies;
}
div.sheet-actor-martialarts {
display : grid;
grid-area : martialarts;
}
div.sheet-actor-awards {
display : grid;
grid-area : awards;
}
div.sheet-actor-misc {
display : grid;
grid-area : misc;
}
div.sheet-actor-attributes-content {
display : grid;
grid-template-columns : repeat(2, 50%);
grid-template-areas : "attributes-left attributes-right"
}
div.sheet-actor-attributes-left {
display : grid;
grid-area : attributes-left;
}
div.sheet-actor-attributes-right {
display : grid;
grid-area : attributes-right;
grid-template-columns : repeat(2, 50%);
grid-template-areas : "attr-hitpoints attr-melee-attack"
"attr-chipoints attr-melee-defense"
"attr-famepoints attr-ranged-attack"
"attr-awardpoints attr-melee-damage"
"attr-initiative attr-ranged-damage"
}
div.sheet-actor-attr-hitpoints {
display : inline;
grid-area : attr-hitpoints;
}
div.sheet-actor-attr-chipoints {
display : inline;
grid-area : attr-chipoints;
}
div.sheet-actor-attr-famepoints {
display : inline;
grid-area : attr-famepoints;
}
div.sheet-actor-attr-awardpoints {
display : inline;
grid-area : attr-awardpoints;
}
div.sheet-actor-attr-initiative {
display : inline;
grid-area : attr-initiative;
}
div.sheet-actor-attr-melee-attack {
display : inline;
grid-area : attr-melee-attack;
}
div.sheet-actor-attr-melee-defense {
display : inline;
grid-area : attr-melee-defense;
}
div.sheet-actor-attr-melee-damage {
display : inline;
grid-area : attr-melee-damage;
}
div.sheet-actor-attr-ranged-attack {
display : inline;
grid-area : attr-ranged-attack;
}
div.sheet-actor-attr-ranged-damage {
display : inline;
grid-area : attr-ranged-damage;
}
div.sheet-actor-attributes-values {
display : grid;
grid-template-columns : repeat(2, 50%);
grid-template-areas : "attr-kno attr-str"
"attr-col attr-sta"
"attr-chi attr-dex"
}
div.sheet-actor-attr-kno {
grid-area : attr-kno;
}
div.sheet-actor-attr-str {
grid-area : attr-str;
}
div.sheet-actor-attr-col {
grid-area : attr-col;
}
div.sheet-actor-attr-sta {
grid-area : attr-sta;
}
div.sheet-actor-attr-chi {
grid-area : attr-chi;
}
div.sheet-actor-attr-dex {
grid-area : attr-dex;
}
div.sheet-role-sheet {
display : grid;
grid-template-columns : repeat(2, 50%);
grid-template-areas : "role-misc role-stats"
"role-skills role-advantages"
}
div.sheet-role-stats {
display : grid;
grid-area : role-stats;
grid-template-columns : repeat(2, 50%);
grid-template-areas : "role-image role-image"
"role-hitpoints role-chipoints"
}
div.sheet-role-skills {
grid-area : role-skills;
}
div.sheet-role-advantages {
grid-area : role-advantages;
}
div.sheet-role-image {
grid-area : role-image;
text-align : center;
}
div.sheet-role-hitpoints {
grid-area : role-hitpoints;
text-align : center;
}
div.sheet-role-chipoints {
grid-area : role-chipoints;
text-align : center;
}
/* MENU & TABS */
div.sheet-wrapper {
--display-actor : block;
--display-role : none;
}
/* show the selected tab */
.sheet-tabstoggle[value="actor"] ~ div.sheet-wrapper {
--display-actor : block;
--display-role : none;
}
.sheet-tabstoggle[value="role"] ~ div.sheet-wrapper {
--display-actor : none;
--display-role : block;
}
div.sheet-actor{display:var(--display-actor)}
div.sheet-role{display:var(--display-role)}
div.sheet-menu button {
width : 30% ;
}
div.sheet-radio-set {
display : flex;
gap : 5px;
}
/* Movie Awards */
div.sheet-actor-movies div.sheet-radio-set input.sheet-radiobox {
order : 1;
border : 1px solid gold;
border-radius : 50%;
background : gold;
height : 2rem;
width : 2rem;
-webkit-appearance : none;
cursor : pointer;
z-index : 1;
}
div.sheet-actor-movies div.sheet-radio-set input.sheet-radiobox:checked {
opacity : 0;
z-index : 0;
position : absolute;
}
div.sheet-actor-movies div.sheet-radio-set input.sheet-radiobox:checked ~ .sheet-radiobox {
order : 3;
background-color : transparent;
}
div.sheet-actor-movies div.sheet-radio-set input.sheet-radiobox.sheet-reset {
order : 2;
background-color : gold;
}
/* Martial Arts */
div.sheet-actor-martialarts div.sheet-radio-set input.sheet-radiobox {
order : 1;
border : 1px solid black;
border-radius : 50%;
background : grey;
height : 2rem;
width : 2rem;
-webkit-appearance : none;
cursor : pointer;
z-index : 1;
}
div.sheet-actor-martialarts div.sheet-radio-set input.sheet-radiobox:checked {
opacity : 0;
z-index : 0;
position : absolute;
}
div.sheet-actor-martialarts div.sheet-radio-set input.sheet-radiobox:checked ~ .sheet-radiobox {
order : 3;
background-color : transparent;
}
div.sheet-actor-martialarts div.sheet-radio-set input.sheet-radiobox.sheet-reset {
order : 2;
background-color : grey;
}
/* Waffen */
div.sheet-weapon-box {
border : 1px solid black;
border-radius : 5px;
background-color : lightblue;
margin : 5px;
}
div.sheet-role-weapon-table div.sheet-weapon-description {
float : left;
text-align : left;
width : auto;
}
div.sheet-role-weapon-table div.sheet-weapon-attribute {
float : left;
width : 1.6em;
text-align : center;
}
div.sheet-clear-float {
clear : both;
}
div.sheet-weapon-attribute span:nth-child(2){
display : none;
}
div.sheet-weapon-attribute *:nth-child(1):hover ~span {
display : inline;
position : absolute;
border : 1px solid grey;
background-color : lightgrey;
}
/* DIVERSES */
div.sheet-actor-sheet h1 {
--h1-height : 1.5em;
width : 100%;
height : var(--h1-height);
background : linear-gradient(to right, black, black 90%, white);
color : white;
font-size : var(--h1-height);
font-weight : bold;
}
div.sheet-actor-sheet input, div.sheet-role-sheet input {
background : transparent;
border-style : none none solid none;
color : #000000;
}
div.sheet-actor-sheet textarea {
height : 30px;
width : 90%;
}
div.sheet-role-sheet textarea {
height : 60px;
width : 90%;
}
.sheet-label {
font-weight : bold;
}
.sheet-input-line .sheet-attr-short {
font-weight : bold;
font-size : 1.2em;
}
.sheet-input-line .sheet-attr-full {
font-weight : bold;
font-size : 0.5em;
}
.sheet-actor-attributes-right .sheet-input-line {
text-align : center;
}
.sheet-actor-attributes-right .sheet-input-line .sheet-attr-name, .sheet-role-stats .sheet-attr-name {
font-weight : bold;
font-size : 1.0em;
}
.sheet-actor-attributes-right .sheet-input-line .sheet-attr-desc {
font-weight : bold;
font-size : 0.7em;
}
.sheet-actor-attributes-right .sheet-input-line input {
width : 45%;
text-align : center;
}
.sheet-input-line {
display : inline-flex;
width : 95%;
}
.sheet-input-line .sheet-label {
display : inline-block;
}
.sheet-input-line input.sheet-attribute-value {
flex-grow : 1;
height : 100%;
text-align : center;
font-weight : bold;
font-size : 1.5em;
}
.sheet-actor-skills select {
width : 60px;
}
div.sheet-actor-skills * {
font-size : 0.95em;
}
div.sheet-skill-entry, div.sheet-combat-entry {
display : flex;
flex-direction : row;
justify-content : space-between;
padding : 0;
margin : 0;
}
div.sheet-skill-entry div, div.sheet-combat-entry div {
width : auto;
vertical-align : middle;
}
div.sheet-skill-name, div.sheet-combat-attack {
width : 100px;
text-align : left;
}
div.sheet-skill-entry div.sheet-skill-value, div.sheet-combat-entry div.sheet-combat-value {
width : 10%;
text-align : right;
}
div.sheet-skill-entry div.sheet-skill-attribute select {
width : 60px;
}
div.sheet-skill-entry button[type="action"], div.sheet-combat-entry button[type="action"] {
width : 100px;
}
/* Chrome, Safari, Edge, Opera */
input.sheet-no-arrows::-webkit-outer-spin-button,
input.sheet-no-arrows::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Firefox */
input[type=number].sheet-no-arrows {
-moz-appearance: textfield;
}
/* Allgemeine Buttons */
button[type="action"] {
width : 85%;
}
/* Hintergrundbilder */
div.sheet-actor-attributes-left {
background-image : url("https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/blob/main/images/standard/Schauspielerbogen_1_25_freigestellt.png?raw=true");
background-position : top left;
background-size : contain;
background-repeat : no-repeat;
}
div.sheet-actor {
background-image : url("https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/blob/main/images/standard/Schauspielerbogen_2_25_freigestellt.png?raw=true");
background-position : top right;
background-size : 70%;
background-repeat : no-repeat;
}
div.sheet-content {
background-image : url("https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/blob/main/images/standard/Schauspielerbogen_3_25_freigestellt.png?raw=true");
background-position : bottom;
background-size : contain;
background-repeat : no-repeat;
}
/* Roll Templates */
.sheet-rolltemplate-initiative .sheet-template-container,
.sheet-rolltemplate-skill .sheet-template-container,
.sheet-rolltemplate-attribute .sheet-template-container {
border : 1px solid lightgrey;
background : white;
background-image : url("https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/blob/main/images/standard/Schauspielerbogen_2_25_freigestellt.png?raw=true");
}
.sheet-rolltemplate-initiative .sheet-template-header,
.sheet-rolltemplate-skill .sheet-template-header,
.sheet-rolltemplate-attribute .sheet-template-header {
width : 100%;
background : linear-gradient(to right, black, black 90%, white);
color : white;
font-weight : bold;
}
.sheet-rolltemplate-initiative .sheet-template-row,
.sheet-rolltemplate-skill .sheet-template-row,
.sheet-rolltemplate-attribute .sheet-template-row {
padding : 3px;
display : grid;
grid-template-columns : 80% 20%;
grid-template-areas : "key value";
}
.sheet-rolltemplate-initiative .sheet-template-key,
.sheet-rolltemplate-skill .sheet-template-key,
.sheet-rolltemplate-attribute .sheet-template-key {
grid-area : key;
text-align : left;
font-weight : bold;
font-size : 0.95em;
}
.sheet-rolltemplate-initiative .sheet-template-value,
.sheet-rolltemplate-skill .sheet-template-value,
.sheet-rolltemplate-attribute .sheet-template-value {
grid-area : value;
text-align : left;
}
.sheet-rolltemplate-initiative .sheet-template-result,
.sheet-rolltemplate-skill .sheet-template-result,
.sheet-rolltemplate-attribute .sheet-template-result {
padding : 3px;
text-align : center;
font-weight : bold;
}
/* Schriftarten */
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap");
div {font-family: "Open Sans";}
div.sheet-NHKS h1 {font-family: "Bebas Neue";}
+1096
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

+2
View File
@@ -0,0 +1,2 @@
# Roll20_NHKS_CharacterSheet
Roll20 CharacterSheet for New Hong Kong Story
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

+9
View File
@@ -0,0 +1,9 @@
{
"html": "NHKS.html",
"css": "NHKS.css",
"authors": "Gorthian",
"roll20userid": "485178",
"preview": "NHKS.png",
"instructions": "Charakterbogen für New Hong Kong Story",
"legacy": true
}
+137
View File
@@ -0,0 +1,137 @@
{
"actor" : "Schauspieler",
"role" : "Rolle",
"attributes-and-descriptions" : "ATTRIBUTE & BESCHREIBUNG",
"skills" : "FERTIGKEITEN",
"advantages-and-disadvantages" : "VORTEILE & NACHTEILE",
"movies" : "FILME",
"martialarts" : "MARTIAL ARTS",
"awards" : "AWARDS",
"misc" : "SONSTIGES",
"name" : "Name",
"gender" : "Geschlecht",
"age" : "Alter",
"weight" : "Gewicht",
"size" : "Größe",
"nationality" : "Nationalität",
"stature" : "Statur",
"description" : "Beschreibung",
"knowledge-short" : "WIS",
"knowledge" : "Wissen",
"strength-short" : "STK",
"strength" : "Stärke",
"coolness-short" : "COL",
"coolness" : "Coolness",
"stamina-short" : "AUS",
"stamina" : "Ausdauer",
"chi-short" : "CHI",
"chi" : "Chi",
"dexterity-short" : "GES",
"dexterity" : "Geschick",
"hitpoints" : "TREFFERPUNKTE",
"hitpoints-desc" : "(Ausdauer + 4) x 10",
"chipoints" : "CHI-PUNKTE",
"chipoints-desc" : "Chi x 10",
"famepoints" : "STARRUHM-PUNKTE",
"famepoints-desc" : "",
"awardpoints" : "AWARD-PUNKTE",
"awardpoints-desc" : "",
"initiative" : "INITIATIVE",
"initiative-desc" : "Coolness",
"melee-attack" : "NAH. ANGRIFF",
"melee-attack-desc" : "(Stärke x 2 + Chi) / 3",
"melee-defense" : "NAH. VERTEIDIGUNG",
"melee-defense-desc" : "(Stärke + Geschick + Chi) / 3",
"melee-damage" : "NAH. SCHADEN",
"melee-damage-desc" : "Nahkampf-Schadensbonus",
"ranged-attack" : "FERN. ANGRIFF",
"ranged-attack-desc" : "(Geschick x 2 + Chi) / 3",
"ranged-damage" : "FERN. SCHADEN",
"ranged-damage-desc" : "Fernkampf-Schadensbonus",
"acrobatic" : "Akrobatik",
"athletic" : "Athletik",
"dodge" : "Ausweichen",
"boats" : "Boote lenken",
"persuade" : "Einschüchtern <br/>& Überreden",
"computers" : "Elektronik <br/>& Computer",
"firstaid" : "Erste Hile",
"extremesport" : "Extremsport",
"slideofhand" : "Fingerfertigkeit",
"aircrafts" : "Flugzeuge <br/>& Helikopter",
"vehicles" : "Gewöhnliche <br/>Fahrzeuge",
"improvisation" : "Improvisation",
"climbing" : "Klettern",
"contacts" : "Kontakte <br/>& Ortskenntnisse",
"mechanic" : "Mechanik",
"stealth" : "Schleichen",
"perception" : "Sinnesschärfe",
"languages" : "Sprachen",
"searching" : "Suchen",
"hiding" : "Verbergen",
"melee-small" : "Kleine Nahkampfwaffen",
"melee-medium" : "Mittelgroße Nahkampfwaffen",
"melee-big" : "Große Nahkampfwaffen",
"pistols" : "Pistolen & Maschinenpistolen",
"rifles" : "Gewehre",
"heavy-weapons" : "Schwere Waffen",
"melee-misc" : "Diverse Nahkampfwaffen",
"ranged-misc" : "Diverse Fernkampfwaffen",
"unarmed" : "Waffenloser Kampf",
"role-name" : "Filmrolle",
"movieplot" : "Filmplot",
"role-description" : "Aussehen",
"role-inventory" : "Ausrüstung",
"role-weapons" : "Waffen",
"role-skills" : "Rollenfertigkeiten",
"role-advantages" : "Vorteile",
"role-weapon-name" : "Name",
"role-weapon-attention" : "Achtung",
"role-weapon-attention-short" : "A",
"role-weapon-burst" : "Feuerstoß",
"role-weapon-burst-short" : "FS",
"role-weapon-flexible" : "Flexibel",
"role-weapon-flexible-short" : "FL",
"role-weapon-grib" : "Griffbonus",
"role-weapon-grib-short" : "GB",
"role-weapon-delicate" : "Heikel",
"role-weapon-delicate-short" : "H",
"role-weapon-reload" : "Laden",
"role-weapon-reload-short" : "L",
"role-weapon-martial" : "Martial Arts",
"role-weapon-martial-short" : "MA",
"role-weapon-strength" : "Mindeststärke",
"role-weapon-strength-short" : "MS",
"role-weapon-recoil" : "Rückstoß",
"role-weapon-recoil-short" : "R",
"role-weapon-painful" : "Schmerzhaft",
"role-weapon-painful-short" : "S",
"role-weapon-painful+" : "Sehr Schmerzhaft",
"role-weapon-painful+-short" : "S+",
"role-weapon-whip" : "Umwickeln",
"role-weapon-whip-short" : "U",
"role-weapon-defense" : "Verteidigungsbonus",
"role-weapon-defense-short" : "VB",
"role-weapon-throw" : "Wurfwaffe",
"role-weapon-throw-short" : "W",
"role-weapon-2handbonus" : "Zweihandbonus",
"role-weapon-2handbonus-short" : "ZB",
"role-weapon-2hand" : "Zweihhändig",
"role-weapon-2hand-short" : "ZH",
"role-weapon-twin" : "Zwillingswaffen",
"role-weapon-twin-short" : "Z",
"role-weapon-damage" : "Schaden",
"success" : "Erfolg",
"critical-success" : "Kritischer Erfolg",
"critical-success-to" : "Krit. Erfolg bis",
"failure" : "Fehlschlag",
"critical-failure" : "Kritischer Fehlschlag",
"critical-failure-from" : "Krit. Fehlschlag ab",
"roll" : "Wurf",
"target-value" : "Zielwert",
"main-role" : "Hauptrolle",
"supporting-role" : "Nebenrolle",
"rolltemplate-intiative-desc" : "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.",
"combat" : "KAMPF",
"parry" : "Parade",
"modifier" : "Modifikator"
}
+8 -8
View File
@@ -72,7 +72,7 @@ Palladium Megaverse© Character Sheet <br>
<td><input class="attribute" type="text" value="" name="attr_character_familyorigin" /></td>
</tr>
<tr>
<td><h5>Enviorment</h5></td>
<td><h5>Environment</h5></td>
<td><input class="attribute" type="text" value="" name="attr_character_enviorment" /></td>
</tr>
<tr>
@@ -80,7 +80,7 @@ Palladium Megaverse© Character Sheet <br>
<td><input class="attribute" type="text" value="" name="attr_character_languages" /></td>
</tr>
<tr>
<td><h5>Insanity, if any</h5></td>
<td><h5>Insanity (if any)</h5></td>
<td><input class="attribute" type="text" value="" name="attr_character_insanity" /></td>
</tr>
<tr>
@@ -272,8 +272,8 @@ Palladium Megaverse© Character Sheet <br>
<table style="width:75%">
<tr>
<td><h5>Weapon</h5></td>
<td><h5>STR/Tur</h5></td>
<td><h5>Aim/Brst</h5></td>
<td><h5><abbr title="Bonus to strike">Str</abbr>/<abbr title="Bonus to strike when thrown">Thr</abbr></h5></td>
<td><h5>Aim/Burst</h5></td>
<td><h5>Parry/Range</h5></td>
<td><h5>Payload/Rate</h5></td>
<td><h5>Damage</h5></td>
@@ -363,7 +363,7 @@ Palladium Megaverse© Character Sheet <br>
</tr>
<tr>
<td><div class="sheet-inventory-gear"><input class="sheet-input-center-aligned" type="text" value="" name="attr_gear_name" placeholder="Gear Name" /></div></td>
<td><div class="sheet-inventory-gear"><input class="sheet-input-center-aligned" type="text" value="" name="attr_gear_reference_" placeholder="Book and page numbere"/></div></td>
<td><div class="sheet-inventory-gear"><input class="sheet-input-center-aligned" type="text" value="" name="attr_gear_reference_" placeholder="Book and page number"/></div></td>
<td><div class="sheet-inventory-gear"><input class="sheet-input-center-aligned" type="text" value="" name="attr_gear_location" placeholder="Worn, pouch, bank, etc." /></div></td>
</tr>
</table>
@@ -508,7 +508,7 @@ Palladium Megaverse© Character Sheet <br>
<div class="sheet-tabbed-panel">
<div class="sheet-row-panel">
<input type="checkbox" name="attr_OCC-Skill-toggle" class="sheet-arrow" />
<h4>Occupational Class Skills</h4>
<h4>Occupational Character Class Skills</h4>
<div class="body">
<table style="width:90%">
<tr>
@@ -599,7 +599,7 @@ Palladium Megaverse© Character Sheet <br>
<div class="sheet-tabbed-panel">
<div class="sheet-row-panel">
<input type="checkbox" name="attr_ancient_weapon-toggle" class="sheet-arrow" />
<h4>Ancient Weapon Proficencies</h4>
<h4>Ancient Weapon Proficiencies</h4>
<div class="body">
<fieldset class="repeating_weaponancient">
<table style="width:75%">
@@ -997,7 +997,7 @@ Palladium Megaverse© Character Sheet <br>
<td><button type="roll" value="Save vs. Toxin: Lethal [[d20+@{save_toxin_lethal}]]" ></button></td>
</tr>
<tr>
<td><h5>Toxins: non-Lethal (16)</h5></td>
<td><h5>Toxins: Non-Lethal (16)</h5></td>
<td><input class="sheet-input-center-aligned" type="number" value="" name="attr_save_toxin_nonlethal" /></td>
<td><button type="roll" value="Save vs. Toxin: Non-Lethal [[d20+@{save_toxin_nonlethal}]]" ></button></td>
</tr>
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+4
View File
@@ -61,6 +61,8 @@
"ability-macros-current": "Ability macros to current",
"ability-menus": "Ability Menus",
"ability-name": "Ability Name",
"ability-notes": " Ability Notes",
"ability-notes-place": "Put notes about context-sensitive Ability bonuses here",
"ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1",
"ability-roll-template": "Ability Roll Template",
"ability-score": "Ability Score",
@@ -1069,6 +1071,7 @@
"improved": "Improved",
"improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives",
"in-special-abilities-section": "In list under Special Abilities below",
"include-ability-notes": "Include Ability Notes in roll",
"include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type",
"include-attack-totals": "Include Attack Totals?",
"include-attacks-?": "Include Attack?",
@@ -1460,6 +1463,7 @@
"opposition": "Opposition",
"opposition-school-example": "Cost double or prohibited",
"options": "Options",
"options-ability-title": "Show Ability Notes",
"options-attacks-accessible-title": "Use simple accessible template for attacks",
"options-attacks-attack-title": "Include Attack notes",
"options-attacks-cmb-image-title": "Include the CMB header image",
+1 -1
View File
@@ -16817,7 +16817,7 @@ const rollDogableAttack = async (rollPart, dmgType) => {
if(amount > attackRoll.results.result.dice.length/2) {
glitchComputed = 1;
if(attackRoll.results.result.dice.filter(x => x >= 5).length == 0) {
if(attackRoll.results.result.result == 0) {
glitchComputed = 2;
}
}
View File
+2
View File
@@ -0,0 +1,2 @@
# Roll20_Space1889_CharacterSheet
Roll20 CharacterSheet für Space 1889
+9
View File
@@ -0,0 +1,9 @@
{
"html": "space1889.html",
"css": "space1889.css",
"authors": "Gorthian",
"roll20userid": "485178",
"preview": "space1889.png",
"instructions": "Charakterbogen für Space 1889",
"legacy": true
}
+161
View File
@@ -0,0 +1,161 @@
/*
EDITED by Gorthian
Version 1.0
Letzte Änderung 2022-05-08
GitHub https://github.com/Gorthian/Roll20_Space1889_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/issues
*/
/* GRUNDLAGEN */
div.sheet-wrapper {
--sheet-bg : #ffffff;
--sheet-text-color : #000000;
--line-height : 30px;
}
.sheet-nowrap {
white-space : nowrap;
}
div.sheet-space1889 {
line-height : var(--line-height);
}
/* GRIDS */
div.sheet-space1889 {
background-color : var(--sheet-bg);
color : var(--sheet-text-color);
display : grid;
grid-template-areas : "content"
"footer"
}
div.sheet-content {
display : grid;
grid-area : content;
grid-template-columns : 50% 50%;
grid-template-areas : "basics basics"
"primary-attributes secondary-attributes"
"style health"
"skills skills"
"combat misc"
}
div.sheet-basics {
display : grid;
grid-area : basics;
}
div.sheet-basics span.sheet-label {
display : inline-block;
width : 30%;
}
div.sheet-primary-attributes {
display : grid;
grid-area : primary-attributes;
}
div.sheet-primary-attributes span.sheet-label {
display : inline-block;
width : 30%;
}
div.sheet-primary-attributes input {
display : inline-block;
}
div.sheet-secondary-attributes {
display : grid;
grid-area : secondary-attributes;
}
div.sheet-secondary-attributes span.sheet-label {
display : inline-block;
width : 30%;
}
div.sheet-style {
display : grid;
grid-area : style;
}
div.sheet-health {
display : grid;
grid-area : health;
}
div.sheet-skills {
display : grid;
grid-area : skills;
}
div.sheet-combat {
display : grid;
grid-area : combat;
}
div.sheet-misc {
display : grid;
grid-area : misc;
}
div.sheet-footer {
display : grid;
grid-area : footer;
}
/* LAYOUTS */
div.sheet-box {
border : 1px solid black;
border-radius : 10px;
background-color : lightgray;
padding : 5px;
margin : 5px;
}
div.sheet-skillentry {
display : flex;
}
div.sheet-weaponentry {
display : flex;
flex-wrap : wrap;
}
div.sheet-weaponattribute {
display : flex;
flex-direction : column;
justify-content : center;
text-align : center;
margin : 2px;
}
:is(div.sheet-weaponattribute, div.sheet-skillentry) select{
width : auto;
}
div.sheet-space1889 div.sheet-content :is(input, select, button) {
height : var(--line-height);
margin : 0px;
padding : 4px;
}
/* Chrome, Safari, Edge, Opera */
input:read-only:-webkit-outer-spin-button,
input:read-only::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Firefox */
input[type=number]:read-only {
-moz-appearance : textfield;
text-align : center;
}
+356
View File
@@ -0,0 +1,356 @@
<!--
EDITED by Gorthian
Version 1.0
Letzte Änderung 2022-05-0
GitHub https://github.com/Gorthian/Roll20_Space1889_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/issues
//-->
<!-- Sheet //-->
<div class="sheet-wrapper sheet-space1889">
<div class="sheet-content">
<div class="sheet-basics sheet-box">
<p><span class="sheet-label" data-i18n="name"></span><input type="text" name="attr_character_name" /></p>
<p><span class="sheet-label" data-i18n="archetype"></span><input type="text" name="attr_archetype" /></p>
<p><span class="sheet-label" data-i18n="motivation"></span><input type="text" name="attr_motivation" /></p>
</div>
<div class="sheet-primary-attributes sheet-box">
<h1><span data-i18n="primary-attributes"></h1>
<p><span class="sheet-label" data-i18n="constitution"></span><input type="number" name="attr_constitution" /><button type="roll" value="&{template:default} {{name=^{constitution} (@{character_name}) }} {{^{successes}=[[{(@{constitution}+@{constitution}+?{Mod|0})d6}>3]]}}" name="roll_constitution"></button></p>
<p><span class="sheet-label" data-i18n="dexterity"></span><input type="number" name="attr_dexterity" /><button type="roll" value="&{template:default} {{name=^{dexterity} (@{character_name}) }} {{^{successes}=[[{(@{dexterity}+@{dexterity}+?{Mod|0})d6}>3]]}}" name="roll_dexterity"></button></p>
<p><span class="sheet-label" data-i18n="strength"></span><input type="number" name="attr_strength" /><button type="roll" value="&{template:default} {{name=^{strength} (@{character_name}) }} {{^{successes}=[[{(@{strength}+@{strength}+?{Mod|0})d6}>3]]}}" name="roll_strength"></button></p>
<p><span class="sheet-label" data-i18n="charisma"></span><input type="number" name="attr_charisma" /><button type="roll" value="&{template:default} {{name=^{charisma} (@{character_name}) }} {{^{successes}=[[{(@{charisma}+@{charisma}+?{Mod|0})d6}>3]]}}" name="roll_charisma"></button></p>
<p><span class="sheet-label" data-i18n="intelligence"></span><input type="number" name="attr_intelligence" /><button type="roll" value="&{template:default} {{name=^{intelligence} (@{character_name}) }} {{^{successes}=[[{(@{intelligence}+@{intelligence}+?{Mod|0})d6}>3]]}}" name="roll_intelligence"></button></p>
<p><span class="sheet-label" data-i18n="willpower"></span><input type="number" name="attr_willpower" /><button type="roll" value="&{template:default} {{name=^{willpower} (@{character_name}) }} {{^{successes}=[[{(@{willpower}+@{willpower}+?{Mod|0})d6}>3]]}}" name="roll_willpower"></button></p>
</div>
<div class="sheet-secondary-attributes sheet-box">
<h1><span data-i18n="secondary-attributes"></h1>
<p><span class="sheet-label" data-i18n="size"></span><input type="number" name="attr_size-calc" readonly/><input type="number" name="attr_size-mod" /><input type="number" name="attr_size-sum" readonly/></p>
<p><span class="sheet-label" data-i18n="movement"></span><input type="number" name="attr_movement-calc" readonly/><input type="number" name="attr_movement-mod" /><input type="number" name="attr_movement-sum" readonly/></p>
<p><span class="sheet-label" data-i18n="perception"></span><input type="number" name="attr_perception-calc" readonly/><input type="number" name="attr_perception-mod" /><input type="number" name="attr_perception-sum" readonly/><button type="roll" value="&{template:default} {{name=^{perception} (@{character_name}) }} {{^{successes}=[[{(@{perception-sum}+?{Mod|0})d6}>3]]}}" name="roll_perception"></button></p>
<p><span class="sheet-label" data-i18n="initiative"></span><input type="number" name="attr_initiative-calc" readonly/><input type="number" name="attr_initiative-mod" /><input type="number" name="attr_initiative-sum" readonly/><button type="roll" value="&{template:default} {{name=^{initiative} (@{character_name}) }} {{^{successes}=[[{(@{initiative-sum}+?{Mod|0})d6}>3]]}}" name="roll_initiative"></button></p>
<p><span class="sheet-label" data-i18n="defense"></span><input type="number" name="attr_defense-calc" readonly/><input type="number" name="attr_defense-mod" /><input type="number" name="attr_defense-sum" readonly/><button type="roll" value="&{template:default} {{name=^{defense} (@{character_name}) }} {{^{successes}=[[{(@{defense-sum}+?{Mod|0})d6}>3]]}}" name="roll_defense"></button></p>
<p><span class="sheet-label" data-i18n="stunned"></span><input type="number" name="attr_stunned-calc" readonly/><input type="number" name="attr_stunned-mod" /><input type="number" name="attr_stunned-sum" readonly/></p>
</div>
<div class="sheet-style sheet-box">
<h1><span data-i18n="style"></h1>
<p><input type="number" name="attr_style" /></p>
</div>
<div class="sheet-health sheet-box">
<h1><span data-i18n="health"></h1>
<p><input type="number" name="attr_health_current" /> / <input type="number" name="attr_health_max" readonly/></p>
</div>
<div class="sheet-skills sheet-box">
<h1><span data-i18n="skills"></h1>
<fieldset class="repeating_skills">
<div class="sheet-skillentry">
<input type="text" name="attr_skill-name" value="" />
<select name="attr_skill-attribute">
<option value="constitution" data-i18n="constitution-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
<option value="strength" data-i18n="strength-short"></option>
<option value="charisma" data-i18n="charisma-short"></option>
<option value="intelligence" data-i18n="intelligence-short"></option>
<option value="willpower" data-i18n="willpower-short"></option>
</select>
+<input type="number" name="attr_skill-level" value="" />
=<input type="number" name="attr_skill-value" value="" readonly/>
(<input type="number" name="attr_skill-average" value="" readonly/>)
<button type="roll" value="&{template:default} {{name=@{skill-name} (@{character_name}) }} {{^{successes}=[[{(@{skill-value}+?{Mod|0})d6}>3]]}}" name="roll_skill"></button>
</div>
</fieldset>
</div>
<div class="sheet-combat">
<h1><span data-i18n="combat"></h1>
<fieldset class="repeating_weapons">
<div class="sheet-weaponentry sheet-box">
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="weapon"></span><input type="text" name="attr_weapon-name" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="damage"></span>
<select name="attr_weapon-damage">
<option value="lethal" data-i18n="lethal"></option>
<option value="nonlethal" data-i18n="nonlethal"></option>
</select>
</div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="modifier"></span><input type="number" name="attr_weapon-modifier" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="attack"></span><input type="number" name="attr_weapon-attack" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="average"></span><input type="number" name="attr_weapon-average" value"" readonly/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="range"></span><input type="number" name="attr_weapon-range" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="capacity"></span><input type="number" name="attr_weapon-capacity" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="firerate"></span><input type="number" name="attr_weapon-firerate" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="speed"></span><input type="number" name="attr_weapon-speed" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="weight"></span><input type="number" name="attr_weapon-weight" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="ammo"></span><input type="number" name="attr_weapon-ammo" value""/></div>
<div class="sheet-weaponattribute"><span class="sheet-label" data-i18n="note"></span><input type="text" name="attr_weapon-note" value=""></div>
<button type="roll" value="&{template:default} {{name=@{weapon-name} (@{character_name})}} {{^{successes}=[[{(@{weapon-attack}+@{weapon-modifier}+?{Mod|0})d6}>3]]}} {{^{damage}=^{@{weapon-damage}}}}" name="roll_skill"></button>
</div>
</fieldset>
</div>
<div class="sheet-misc">
<div class="sheet-box">
<h2><span data-i18n="talents"></span></h2>
<fieldset class="repeating_talents">
<input type="text" name="attr_talent-name" value="">
</fieldset>
</div>
<div class="sheet-box">
<h2><span data-i18n="ressources"></span></h2>
<fieldset class="repeating_ressources">
<input type="text" name="attr_ressources-name" value="">
</fieldset>
</div>
<div class="sheet-box">
<h2><span data-i18n="weaknesses"></span></h2>
<fieldset class="repeating_weaknesses">
<input type="text" name="attr_weakness-name" value="">
</fieldset>
</div>
</div>
</div>
<div class="sheet-footer">
Created by Gorthian
<br/>More Infos: https://github.com/Gorthian/Roll20_Space1889_CharacterSheet
</div>
</div>
<!-- SheetWorker //-->
<script type="text/worker">
/* Globale Variablen -- Start */
const aAttributes = ["constitution","dexterity","strength","charisma","intelligence","wilpower"];
const aSecondaryAttributes = ["size","movement","perception","initiative","defense","stunned"];
/* Event-Listener -- Start */
on("sheet:opened", function () {
recalcValues();
});
/* Änderungen an Attributen */
aAttributes.forEach(sAttribute => {
on(`change:${sAttribute}`, function() {
console.log("[CHANGE] " + sAttribute);
changedAttribute(sAttribute);
});
});
/* Änderungen an sekundären Attributen */
aSecondaryAttributes.forEach(sAttribute => {
on(`change:${sAttribute}-mod`, function() {
console.log("[CHANGE] " + sAttribute);
changedAttribute(sAttribute);
});
});
/* Änderungen an Talenten */
on("change:repeating_skills:skill-attribute change:repeating_skills:skill-level", function() {
console.log("[CHANGE] Skill");
changedSkill();
});
/* Änderungen an Waffenwerten */
on("change:repeating_weapons:weapon-attack", function() {
console.log("[CHANGE] Weapon");
changedWeapon();
});
/* Event-Listener -- Ende */
/* Funktionen -- Start */
function recalcValues() {
console.log("[recalcValues]");
aAttributes.forEach(sAttribute => {
changedAttribute(sAttribute);
});
};
function changedSkill() {
console.log("[changedSkill]");
getAttrs(["repeating_skills_skill-attribute","repeating_skills_skill-level"], function(values) {
let sAttribute = values["repeating_skills_skill-attribute"];
let iSkillLevel = parseInt(values["repeating_skills_skill-level"]||0);
getAttrs([sAttribute], function(values) {
let iAttributeValue = parseInt(values[sAttribute]||0);
let iSkillSum = iAttributeValue + iSkillLevel;
let iSkillAverage = Math.floor(iSkillSum/2);
aAttributes["repeating_skills_skill-value"] = iSkillSum;
aAttributes["repeating_skills_skill-average"] = iSkillAverage;
setAttrs(aAttributes);
});
});
}
function changedWeapon() {
console.log("[changedWeapon]");
getAttrs(["repeating_weapons_weapon-attack"], function(values) {
let iAttack = parseInt(values["repeating_weapons_weapon-attack"]||0);
let iAttackAverage = Math.floor(iAttack/2);
aAttributes["repeating_weapons_weapon-average"] = iAttackAverage;
setAttrs(aAttributes);
});
}
function changedAttribute(sAttribute) {
console.log("[changedAttribute] " + sAttribute);
getAttrs([sAttribute], function (values){
let iAttribute = parseInt(values[sAttribute]);
let aAttributes = {};
aAttributes[sAttribute] = iAttribute;
setAttrs(aAttributes);
switch (sAttribute) {
case "constitution":
recalcDefense();
recalcStunned();
recalcHealth();
break;
case "dexterity":
recalcMovement();
recalcInitiative();
recalcDefense();
break;
case "strength":
recalcMovement();
break;
case "charisma":
break;
case "intelligence":
recalcPerception();
recalcInitiative();
break;
case "willpower":
recalcPerception();
recalcHealth();
break;
case "size":
recalcSize();
recalcDefense();
recalcHealth();
break;
case "movement":
recalcMovement();
break;
case "perception":
recalcPerception();
break;
case "initiative":
recalcInitiative();
break;
case "defense":
recalcDefense();
break;
case "stunned":
recalcStunned();
break;
default:
}
});
}
function recalcSize() {
console.log("[recalcSize]");
getAttrs(["size-mod"], function (values){
let iSizeMod = parseInt(values["size-mod"]||0);
let iSizeSum = iSizeMod;
aAttributes["size-sum"] = iSizeSum;
setAttrs(aAttributes);
});
}
function recalcMovement() {
console.log("[recalcMovement]");
getAttrs(["strength","dexterity","movement-mod"], function (values){
let iStrength = parseInt(values["strength"]||0);
let iDexterity = parseInt(values["dexterity"]||0);
let iMovementMod = parseInt(values["movement-mod"]||0);
let iMovementCalc = iStrength + iDexterity;
let iMovementSum = iMovementCalc + iMovementMod;
aAttributes["movement-calc"] = iMovementCalc;
aAttributes["movement-sum"] = iMovementSum;
setAttrs(aAttributes);
});
}
function recalcPerception() {
console.log("[recalcPerception]");
getAttrs(["intelligence","willpower","perception-mod"], function (values){
let iIntelligence = parseInt(values["intelligence"]||0);
let iWillpower = parseInt(values["willpower"]||0);
let iPerceptionMod = parseInt(values["perception-mod"]||0);
let iPerceptionCalc = iIntelligence + iWillpower;
let iPerceptionSum = iPerceptionCalc + iPerceptionMod;
aAttributes["perception-calc"] = iPerceptionCalc;
aAttributes["perception-sum"] = iPerceptionSum;
setAttrs(aAttributes);
});
}
function recalcInitiative() {
console.log("[recalcInitiative]");
getAttrs(["intelligence","dexterity","initiative-mod"], function (values){
let iIntelligence = parseInt(values["intelligence"]||0);
let iDexterity = parseInt(values["dexterity"]||0);
let iInitiativeMod = parseInt(values["initiative-mod"]||0);
let iInitiativeCalc = iIntelligence + iDexterity;
let iInitiativeSum = iInitiativeCalc + iInitiativeMod;
aAttributes["initiative-calc"] = iInitiativeCalc;
aAttributes["initiative-sum"] = iInitiativeSum;
setAttrs(aAttributes);
});
}
function recalcDefense() {
console.log("[recalcDefense]");
getAttrs(["constitution","dexterity","size-sum","defense-mod"], function (values){
let iConstitution = parseInt(values["constitution"]||0);
let iDexterity = parseInt(values["dexterity"]||0);
let iSize = parseInt(values["size-sum"]||0);
let iDefenseMod = parseInt(values["defense-mod"]||0);
let iDefenseCalc = iConstitution + iDexterity - iSize;
let iDefenseSum = iDefenseCalc + iDefenseMod;
aAttributes["defense-calc"] = iDefenseCalc;
aAttributes["defense-sum"] = iDefenseSum;
setAttrs(aAttributes);
});
}
function recalcStunned() {
console.log("[recalcStunned]");
getAttrs(["constitution","stunned-mod"], function (values){
let iConstitution = parseInt(values["constitution"]||0);
let iStunnedMod = parseInt(values["stunned-mod"]||0);
let iStunnedCalc = iConstitution;
let iStunnedSum = iStunnedCalc + iStunnedMod;
aAttributes["stunned-calc"] = iStunnedCalc;
aAttributes["stunned-sum"] = iStunnedSum;
setAttrs(aAttributes);
});
}
function recalcHealth() {
console.log("[recalcHealth]");
getAttrs(["constitution","willpower","size-sum"], function (values){
let iConstitution = parseInt(values["constitution"]||0);
let iWillpower = parseInt(values["willpower"]||0);
let iSize = parseInt(values["size-sum"]||0);
let iHealth = iConstitution + iWillpower + iSize;
aAttributes["health_max"] = iHealth;
setAttrs(aAttributes);
});
}
/* Funktionen -- Ende */
</script>
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

+47
View File
@@ -0,0 +1,47 @@
{
"name" : "Name",
"archetype" : "Archetyp",
"motivation" : "Motivation",
"primary-attributes" : "Primäre Attribute",
"secondary-attributes" : "Sekundäre Attribute",
"style" : "Stil",
"health" : " Gesundheit",
"skills" : "Fertigkeiten",
"combat" : "Kampf",
"constitution" : "Konstitution",
"constitution-short" : "Kon",
"dexterity" : "Geschicklichkeit",
"dexterity-short" : "Ges",
"strength" : "Stärke",
"strength-short" : "Stä",
"charisma" : "Charisma",
"charisma-short" : "Cha",
"intelligence" : "Intelligenz",
"intelligence-short" : "Int",
"willpower" : "Willenskraft",
"willpower-short" : "Wil",
"size" : "Größe",
"movement" : "Bewegung",
"perception" : "Wahrnehmung",
"initiative" : "Initiative",
"defense" : "Abwehr",
"stunned" : "Betäubt",
"weapon" : "Waffe",
"damage" : "Schaden",
"modifier" : "Modifikator",
"attack" : "Angriffswert",
"average" : "Durchschnitt",
"range" : "Reichweite",
"capacity" : "Kapazität",
"firerate" : "Feuerrate",
"speed" : "Tempo",
"weight" : "Gewicht",
"ammo" : "Munition",
"note" : "Notiz",
"talents" : "Talente",
"ressources" : "Ressourcen",
"weaknesses" : "Schwächen",
"successes" : "Erfolge",
"lethal" : "Tödlich",
"nonlethal" : "Nicht tödlich"
}
+17 -17
View File
@@ -25,13 +25,13 @@
"weapon-type": "類型",
"weapon-damage": "傷害",
"weapon-load": "負載",
"weapon-injury": "致傷",
"weapon-fell": "F",
"weapon-fell-description": "Fell: Injury +2 (superior weapons: +4)",
"weapon-grievous": "G",
"weapon-grievous-description": "Grievous: Damage +1 (superior weapons: +2)",
"weapon-keen": "K",
"weapon-keen-description": "Keen: Piercing Blow if Feat die 9+ (superior weapons: 8+) or Gandalf Rune",
"weapon-injury": "致殘",
"weapon-fell": "兇殘",
"weapon-fell-description": "兇殘: 致殘值 +2 (卓越武器 +4)",
"weapon-grievous": "潰滅",
"weapon-grievous-description": "潰滅: 傷害 +1 (卓越武器 +2) ",
"weapon-keen": "鋒銳",
"weapon-keen-description": "鋒銳: 英雄骰擲出 9+ (卓越武器 8+) 或甘道夫符文會造成致命一擊。",
"weapon-called-shot": "Called Shot",
"special-abilities": "特殊能力",
"hope": "希望",
@@ -126,7 +126,7 @@
"rewards": "獎賞",
"virtues": "美德",
"progress-and-keepings": "Progress &amp; Holdings",
"fellowship-pool": "團隊",
"fellowship-pool": "團隊值",
"advancement-points": "升級值",
"experience": "經驗值",
"experience-description": "Experience is a measure of a character’s having been affected by or gained knowledge or skill through direct observation or participation over a period of time.",
@@ -155,7 +155,7 @@
"against-tn": "against TN",
"protection": "防護",
"protection-abbr": "防護",
"injury": "致傷",
"injury": "致殘",
"target-number": "目標值",
"attacks-with": "attacks with",
"attacks-with-a": "attacks with a",
@@ -201,12 +201,12 @@
"spears-description": "The SPEARS Combat Proficiency allows a hero to make and close combat attacks using a short spear or a spear, or to fight in close combat using a great spear.",
"swords-description": "The SWORDS Combat Proficiency enables a Player-hero to attack in close combat using short swords, swords, and long swords.",
"other-placeholder": "[Other]",
"close-fitting": "CF",
"close-fitting-description": "Close Fitting: Protection +2 (Ancient armour: +3)",
"cunning-make": "CM",
"cunning-make-description": "Cunning make: Load -2 (Ancient armour: -3)",
"reinforced": "RI",
"reinforced-description": "Reinforced: Parry +1 (Superior shield: +2)",
"close-fitting": "合身",
"close-fitting-description": "合身: 防護 +2 (遠古護甲 +3)",
"cunning-make": "輕便",
"cunning-make-description": "輕便: 負載 -2 (遠古護甲 -3)",
"reinforced": "加固",
"reinforced-description": "加固: 格擋 +1 (卓越盾牌 +2)",
"stance-attack-modifier": "攻擊調整",
"stance-attack-modifier-description": "Depending on stance the attack modifier will be forward:1/open:0/defensive:-1/rearward:0. This attack modifier is the default value for attack bonus dice. If a character is in defensive stance fighting against more then one adversary player can use the bonus dice query to set this to -2/-3 according to the number of adversaries. ",
"conditions-modifiers": "狀態 / 調整",
@@ -222,7 +222,7 @@
"stance-damage": "架式傷害:",
"custom-roll": "自訂檢定:",
"custom-tn": "TN:",
"custom-successdice": "成功:",
"custom-featdie": "英雄:",
"custom-successdice": "成功骰:",
"custom-featdie": "英雄骰:",
"custom-rollname-placeholder": "[Roll Text]"
}
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Sobornar",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bestechen",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Sobornar",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Subornation",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Sfondare",
"B&E": "Sfond.",
"BRIBERY": "Corrompere",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Carica del Berserker",
"CARDSHARP": "Baro (Carte)",
"CAREFUL-STRIKE": "Colpo Misurato",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Wtargnięcie z Włamaniem",
"B&E": "WzW",
"BRIBERY": "Przekupstwo",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserkerska Szarża",
"CARDSHARP": "Szuler",
"CAREFUL-STRIKE": "Cios Mierzony",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",
@@ -1035,6 +1035,7 @@
"BREAK-AND-ENTER": "Break & Enter",
"B&E": "B&E",
"BRIBERY": "Bribery",
"BRIBER": "Briber",
"BERSERK-CHARGE": "Berserk Charge",
"CARDSHARP": "Cardsharp",
"CAREFUL-STRIKE": "Careful Strike",

Some files were not shown because too many files have changed in this diff Show More