Grunt sheet changes

Grunt/Spirit sheet Added Magic AR beside Drain roll button
Grunt sheet added Direct Magic and Indirect Magic defense roll buttons and rearranged things a little.
This commit is contained in:
James C (aka Chuz)
2021-09-17 13:16:45 -04:00
parent 3f34ccd323
commit 06d17c9dc4
4 changed files with 97 additions and 72 deletions
+3
View File
@@ -1,5 +1,8 @@
Change Log
==============================================
**2021-09-21 ** v.42 Chuz (James Culp)
Grunt/Spirit sheet Added Magic AR beside Drain roll button
Grunt sheet added Direct Magic and Indirect Magic defense roll buttons and rearranged things a little.
**2021-09-08 ** v.41 Chuz (James Culp)
Bugfix - Drone/Vehicle Initiative should have been normal Initiative but Pilot * 2 + 4d6.
Bugfix - Grunt template was applying wounds to Soak rolls.
@@ -3208,7 +3208,7 @@ input[name="attr_stats_toggle"][value="settings"] ~ .body .toggle-display {
margin-top: -20px;
min-height: 800px;
padding: 10px 10px;
width: 720px; }
width: 760px; }
.npc button {
background: rgb(231, 230, 229);
color: #464041; }
@@ -3390,7 +3390,7 @@ input[name="attr_stats_toggle"][value="settings"] ~ .body .toggle-display {
grid-row: 4; }
#SR6WE .npc div.mid {
grid-template-columns: 50% 25% 1fr;
grid-template-columns: auto auto 25%;
width: 100%; }
.npc div.mid div.column {
+90 -70
View File
@@ -688,7 +688,7 @@
</div>
<div class="magic-defense">
<div>&nbsp;</div>
<button type="roll" name="roll_magic_dr" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{magic} ^{attack} ^{rating}}}{{rating=@{magic_ar}}}">
<button type="roll" name="roll_magic_ar" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{magic} ^{attack} ^{rating}}}{{rating=@{magic_ar}}}">
<span class="center"><span data-i18n="magicar">Magic AR</span> <span name="attr_magic_ar"></span></span>
</button>
<div>&nbsp;</div>
@@ -3567,7 +3567,10 @@
<div class="mid body">
<div class="column">
<!-- INITIATIVE/ACTIONS -->
<div class="rows">
<h1 data-i18n="init_actions">Initiative / Actions</h1>
</div>
<input name="attr_pr" type="hidden" value=""/>
<div class="rows grunt">
<h2 data-i18n="pr">Professional Rating</h2><span name="attr_pr" style="margin-left: 2%;"></span>
@@ -3697,27 +3700,71 @@
<div class="column">
<div class="rows sprite host">
<button data-i18n="attackrating" name="roll_ar" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{attackrating} = ^{attack} + ^{sleaze}}}{{rating=[[@{attack}+@{sleaze}]]}}">attackrating</button> <span name="attr_matrix_attack_rating"></span>
</div>
<div class="rows sprite host">
<button data-i18n="defenserating" name="roll_dr" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defenserating} = ^{data_processing} + ^{firewall}}}{{rating=[[@{data_processing}+@{firewall}]]}}{{wilddie=[[@{wild_die}d6]]}}">defenserating</button> <span name="attr_matrix_defense_rating"></span>
<!-- DEFENSES -->
<div class="rows">
<h1 data-i18n="defenses">Defenses</h1>
</div>
<div class="rows grunt spirit">
<button data-i18n="defenserating" name="roll_dr" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defenserating}}}{{rating=@{defense_rating}}}">defenserating</button>
<label class="settings" data-i18n-title="ddefenserating" title="defenserating">
<button type="roll" name="roll_direct_magic_defense" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{direct} ^{magic} ^{defense}}}{{dice=[[((@{willpower}+@{intuition})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{desc=Willpower + Intuition}}{{wilddie=[[@{wild_die}d6]]}}">
<span class="center"><span class="center" data-i18n="directmagicdefense">Direct Magic Defense</span></span>
</button>
<button type="roll" name="roll_indirect_magic_defense" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{indirect} ^{magic} ^{defense}}}{{dice=[[((@{reaction}+@{willpower})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{desc=Reaction + Willpower}}{{wilddie=[[@{wild_die}d6]]}}">
<span class="center"><span class="center" data-i18n="indirectmagicdefense">Indirect Magic Defense</span></span>
</button>
</div>
<div class="rows grunt spirit">
<button name="roll_dr" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defenserating}}}{{rating=@{defense_rating}}}">
<span class="center"><span data-i18n="dr">DR</span> <span name="attr_defense_rating"></span></span>
</button>
<label class="settings" data-i18n-title="defenserating" title="defenserating">
<input name="attr_defense_rating" placeholder="9" title="@{defense_rating}" type="number" value="0"/>
</label>
<span class="toggle-display"><span name="attr_defense_rating"></span></span>
</div>
<div class="rows grunt spirit">
<button data-i18n="defense" name="roll_defense" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defense} = ^{reaction} + ^{intuition}}}{{dice=[[(@{reaction}+@{intuition}+@{defense_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">defense</button>
<label class="settings" data-i18n-title="defense" title="defense">
<input name="attr_defense_modifier" placeholder="9" title="@{defense_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_defense_modifier"></span></span>
<button data-i18n="soak" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{damage}}}{{dice=[[(@{body}+@{soak_modifier}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">soak</button>
<label class="settings" data-i18n-title="soak" title="soak">
<input name="attr_soak_modifier" placeholder="0" title="@{soak_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_soak_modifier"></span></span>
</div>
<div class="rows grunt">
<button data-i18n="soakmatrix" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{matrix} ^{damage} = ^{firewall}}}{{dice=[[(@{firewall}+@{soak_matrix_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">soak matrix</button>
<label class="settings" data-i18n-title="soakmatrix" title="soak">
<input name="attr_soak_matrix_modifier" placeholder="0" title="@{soak_matrix_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_soak_matrix_modifier"></span></span>
<button data-i18n="soakbiofeedback" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{biofeedback} ^{damage} = ^{willpower}}}{{dice=[[(@{willpower}+@{soak_biofeedback_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">soak biofeedback</button>
<label class="settings" data-i18n-title="soakbiofeedback" title="soak">
<input name="attr_soak_biofeedback_modifier" placeholder="0" title="@{soak_biofeedback_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_soak_biofeedback_modifier"></span></span>
</div>
<div class="rows grunt">
<span class="pictos3 chem">d</span><span class="chem"> Chem </span> <span name="attr_chem_total"></span>
<label class="settings" data-i18n-title="chemprotection" title="chemprotection">
<input name="attr_chem_modifier" placeholder="0" title="@{chem_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_chem_modifier"></span></span>
<span class="pictos cold">b</span><span class="cold"> Cold </span> <span name="attr_cold_total"></span>
<label class="settings" data-i18n-title="coldprotection" title="coldprotection">
<input name="attr_cold_modifier" placeholder="0" title="@{cold_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_cold_modifier"></span></span>
</div>
<div class="rows grunt">
<span class="pictos elec">e</span><span class="elec"> Elec </span> <span name="attr_elec_total"></span>
<label class="settings" data-i18n-title="elecprotection" title="elecprotection">
<input name="attr_elec_modifier" placeholder="0" title="@{elec_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_elec_modifier"></span></span>
<span class="pictos3 fire">j</span><span class="fire"> Fire </span> <span name="attr_fire_total"></span>
<label class="settings" data-i18n-title="fireprotection" title="fireprotection">
<input name="attr_fire_modifier" placeholder="0" title="@{fire_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_fire_modifier"></span></span>
</div>
<div class="rows vehicle">
<button data-i18n="defense" name="roll_defense" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defense} = ^{pilot} + ^{evasion}}}{{dice=[[((?{Pilot Rating?| No Pilot, @{pilot}| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10}+?{Evasion Autosoft Rating?| No Evasion Autosoft, 0| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10}+@{defense_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">defense</button>
@@ -3733,54 +3780,25 @@
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_defense_modifier"></span></span>
</div>
<div class="rows grunt spirit vehicle">
<div class="rows vehicle">
<button data-i18n="soak" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{damage}}}{{dice=[[(@{body}+@{soak_modifier}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">soak</button>
<label class="settings" data-i18n-title="soak" title="soak">
<input name="attr_soak_modifier" placeholder="0" title="@{soak_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_soak_modifier"></span></span>
</div>
<div class="rows grunt vehicle">
<div class="rows vehicle">
<button data-i18n="soakmatrix" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{matrix} ^{damage} = ^{firewall}}}{{dice=[[(@{firewall}+@{soak_matrix_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">soak matrix</button>
<label class="settings" data-i18n-title="soakmatrix" title="soak">
<input name="attr_soak_matrix_modifier" placeholder="0" title="@{soak_matrix_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_soak_matrix_modifier"></span></span>
</div>
<div class="rows grunt">
<button data-i18n="soakbiofeedback" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{biofeedback} ^{damage} = ^{willpower}}}{{dice=[[(@{willpower}+@{soak_biofeedback_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">soak biofeedback</button>
<label class="settings" data-i18n-title="soakbiofeedback" title="soak">
<input name="attr_soak_biofeedback_modifier" placeholder="0" title="@{soak_biofeedback_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span class="tiny">+</span><span name="attr_soak_biofeedback_modifier"></span></span>
<div class="rows sprite host">
<button data-i18n="attackrating" name="roll_ar" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{attackrating} = ^{attack} + ^{sleaze}}}{{rating=[[@{attack}+@{sleaze}]]}}">attackrating</button> <span name="attr_matrix_attack_rating"></span>
</div>
<div class="rows grunt">
<span class="pictos3 chem">d</span><span class="chem"> Chem </span> <span name="attr_chem_total"></span>
<label class="settings" data-i18n-title="chemprotection" title="chemprotection">
<input name="attr_chem_modifier" placeholder="0" title="@{chem_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_chem_modifier"></span></span>
</div>
<div class="rows grunt">
<span class="pictos cold">b</span><span class="cold"> Cold </span> <span name="attr_cold_total"></span>
<label class="settings" data-i18n-title="coldprotection" title="coldprotection">
<input name="attr_cold_modifier" placeholder="0" title="@{cold_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_cold_modifier"></span></span>
</div>
<div class="rows grunt">
<span class="pictos elec">e</span><span class="elec"> Elec </span> <span name="attr_elec_total"></span>
<label class="settings" data-i18n-title="elecprotection" title="elecprotection">
<input name="attr_elec_modifier" placeholder="0" title="@{elec_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_elec_modifier"></span></span>
</div>
<div class="rows grunt">
<span class="pictos3 fire">j</span><span class="fire"> Fire </span> <span name="attr_fire_total"></span>
<label class="settings" data-i18n-title="fireprotection" title="fireprotection">
<input name="attr_fire_modifier" placeholder="0" title="@{fire_modifier}" type="number" value="0"/>
</label>
<span class="toggle-display"> <span name="attr_fire_modifier"></span></span>
<div class="rows sprite host">
<button data-i18n="defenserating" name="roll_dr" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defenserating} = ^{data_processing} + ^{firewall}}}{{rating=[[@{data_processing}+@{firewall}]]}}{{wilddie=[[@{wild_die}d6]]}}">defenserating</button> <span name="attr_matrix_defense_rating"></span>
</div>
</div>
@@ -3788,7 +3806,7 @@
<!-- OPTIONS -->
<div class="column">
<div class="rows">
<h1 class="settings" data-i18n="options">Options</h1>
<h1 data-i18n="options">Options</h1>
</div>
<div class="rows grunt">
<label class="settings" data-i18n-title="archetype" title="Archetype">
@@ -3815,13 +3833,13 @@
</label>
</div>
<div class="rows grunt spirit">
<label class="settings" title="Grunt Group">
<label title="Grunt Group">
<input class="grunt-group-member" name="attr_grunt_group_member" title="@{grunt_group_member}" type="checkbox" value="grunt_group_member"/>
<h2 data-i18n="gruntgroupmember">Grunt Group Member</h2>
</label>
</div>
<div class="rows grunt spirit">
<label class="settings" title="Grunt Count">
<label title="Grunt Count">
<h2 data-i18n="number_grunts"># Grunts</h2>
<input class="grunt-group-count" name="attr_grunt_group_count" title="@{grunt_group_count}" type="number" min='0' value="0"/>
</label>
@@ -4323,30 +4341,18 @@
<div class="rows grunt repeating-container spells hide-magic">
<h1 data-i18n="spells">Spells</h1>
<div class="row-long">
<button type="roll" name="roll_magic_ar" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{magic} ^{attack} ^{rating}}}{{rating=@{magic_ar}}}">
<span class="center"><span data-i18n="magicar">Magic AR</span> <span name="attr_magic_ar"></span></span>
</button>
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{spell} ^{drain}}}{{dice=[[((@{spell_drain_attribute_1}+@{spell_drain_attribute_2}+@{spell_drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"></button>
<select class="attribute-select" name="attr_spell_drain_attribute_1" title="@{spell_drain_attribute_1}">
<option data-i18n="body" value="@{body}">Body</option>
<option data-i18n="agility" value="@{agility}">Agility</option>
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
<option data-i18n="strength" value="@{strength}">Strength</option>
<option data-i18n="willpower" value="@{willpower}">Willpower</option>
<option data-i18n="logic" value="@{logic}" selected="selected">Logic</option>
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
<option data-i18n="magic" value="@{magic}">Magic</option>
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
</select><span>+</span>
<select class="attribute-select" name="attr_spell_drain_attribute_2" title="@{spell_drain_attribute_2}">
<option data-i18n="body" value="@{body}">Body</option>
<option data-i18n="agility" value="@{agility}">Agility</option>
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
<option data-i18n="strength" value="@{strength}">Strength</option>
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
<option data-i18n="logic" value="@{logic}">Logic</option>
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
<option data-i18n="magic" value="@{magic}">Magic</option>
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
</select>
<h3 data-i18n="modifier">modifier</h3>
<label data-i18n-title="modifier" title="modifier">
@@ -5252,7 +5258,7 @@
<input type="hidden" name="attr_combat_paralysis_initiative_mod" value="" />
<input type="hidden" name="attr_bad_luck" value="1" />
<input type="hidden" name="attr_sheet_version" value="0.41">
<input type="hidden" name="attr_sheet_version" value="0.42">
<input type="hidden" name="attr_data_version" value="0">
<script type="text/worker">
@@ -5986,10 +5992,24 @@ on("change:essence_mod remove:repeating_augmentations change:repeating_augmentat
// Catch changes to magic, tradition, logic or charisma to update magic AR
on("change:magic change:tradition change:logic change: charisma", (eventInfo) => {
getAttrs(["magic", "tradition", "logic", "intuition", "charisma"], (v) => {
on("change:magic change:tradition change:logic change: charisma change:spell_drain_attribute_1 change:spell_drain_attribute_2", (eventInfo) => {
getAttrs(["sheet_type", "magic", "tradition", "logic", "intuition", "charisma", "spell_drain_attribute_1", "spell_drain_attribute_2"], (v) => {
var magic_ar = v.magic;
// do magic_ar different for grunts and spirits
if(v.sheet_type === 'grunt' || v.sheet_type === 'spirit') {
var drain_attr = v.spell_drain_attribute_2;
drain_attr = drain_attr.replace("@{", "");
drain_attr = drain_attr.replace("}", "");
magic_ar = parseInt(v.magic) + parseInt(v[`${drain_attr}`]);
setAttrs({
'magic_ar': magic_ar
});
return;
}
switch(v.tradition) {
case "Hermeticism (Logic)":
case "Hermeticism":
+2
View File
@@ -127,6 +127,7 @@
"decompiling": "Decompiling",
"default": "Unskilled Skill Use",
"defense": "Defense",
"defenses": "Defenses",
"defenserating": "Defense Rating",
"defense attribute": "Defense Attribute",
"defense matrix attribute": "Defense Matrix Attribute",
@@ -249,6 +250,7 @@
"indirectmagicdefense": "Indirect Magic Defense",
"influence": "Influence",
"init": "Init",
"init_actions": "Initiative / Actions",
"initiate": "Initiate",
"initiation": "Initiation",
"initiategrade": "Initiate Grade",