Merge pull request #10681 from jaculpiii/ShadowrunSixthWorld-v.52

Shadowrun Sixth World v.52 Bugfix + New Feature
This commit is contained in:
Nic Bradley
2022-06-14 10:25:45 -07:00
committed by GitHub
4 changed files with 526 additions and 368 deletions
+3
View File
@@ -1,5 +1,8 @@
Change Log
==============================================
**2022-06-08 ** v.52 Chuz (James Culp)
Bugfix - The query for the reason the D6 is being rollw wasn't showing in the roll template.
New Feature - Added an Effects tab in the Attributes Pane. This is where a runner can track what effects they commonly have, handy for mages that always cast Increase Attribute, or drug using street sams for example. This also includes the Modifications advanced feature (**USE AT YOUR OWN RISK**) that turns on and off with the toggles.
**2022-03-15 ** v.51 Chuz (James Culp)
Bugfix - Sprites -> update power/skills now updated when sprite type or level are changed.
Bugfix - NPCs had a maximum essence of 6, HMHVV victims can have >6 essence.
+69 -3
View File
@@ -760,6 +760,70 @@ div.matrix-device .matrixFirewall {
/***** EFFECTS *****/
.pc div.attributes-effects div.repitem {
display: grid;
grid-template-columns: 1.5em auto 5em 5em 1em 1em; }
.pc div.attributes-effects div.headers {
display: grid;
grid-template-columns: 2em auto 5em 5em 1em 1em; }
.pc div.attributes-effects div.repitem .settings {
grid-column: 1 / 7;
display: grid;
grid-template-columns: 1.2em auto 5em 5em 1em 1em; }
.pc div.attributes-effects div.repitem label[data-i18n-title='notes'],
.pc div.attributes-effects div.repitem h3[data-i18n='notes'],
.pc div.attributes-effects div.repitem div.collapse,
.pc div.attributes-effects div.repitem label[data-i18n-title='modifications'],
.pc div.attributes-effects div.repitem h3[data-i18n='modifications'] {
grid-column: 1 / 7; }
.pc div.attributes-effects div.repitem input.collapse-flag {
grid-area: 1 / 5 / 1 / 6; }
.pc div.attributes-effects div.repitem input.collapse-flag + span.pictos, .pc div.attributes-effects div.repitem .settings-toggle input[type='checkbox'].collapse-flag + span, .settings-toggle .pc div.attributes-effects div.repitem input[type='checkbox'].collapse-flag + span,
.pc div.attributes-effects div.repitem .settings-flag input[type='checkbox'].collapse-flag + span,
.settings-flag .pc div.attributes-effects div.repitem input[type='checkbox'].collapse-flag + span, .pc div.attributes-effects div.repitem .flag-primary + div > input.collapse-flag + span, .pc div.attributes-effects div.repitem .repcontrol input.collapse-flag + span.repcontrol_edit:after, .repcontrol .pc div.attributes-effects div.repitem input.collapse-flag + span.repcontrol_edit:after,
.pc div.attributes-effects div.repitem .repcontrol input.collapse-flag + span.repcontrol_add:after,
.repcontrol .pc div.attributes-effects div.repitem input.collapse-flag + span.repcontrol_add:after, .pc div.attributes-effects div.repitem .itemcontrol input.collapse-flag + span.repcontrol_del, .itemcontrol .pc div.attributes-effects div.repitem input.collapse-flag + span.repcontrol_del {
grid-area: 1 / 5 / 1 / 6; }
.pc div.attributes-effects div.repitem input.settings-flag,
.pc div.attributes-effects div.repitem input.settings-flag + span.pictos,
.pc div.attributes-effects div.repitem .settings-toggle input[type='checkbox'].settings-flag + span,
.settings-toggle .pc div.attributes-effects div.repitem input[type='checkbox'].settings-flag + span,
.pc div.attributes-effects div.repitem .settings-flag input[type='checkbox'].settings-flag + span,
.settings-flag .pc div.attributes-effects div.repitem input[type='checkbox'].settings-flag + span,
.pc div.attributes-effects div.repitem .flag-primary + div > input.settings-flag + span,
.pc div.attributes-effects div.repitem .repcontrol input.settings-flag + span.repcontrol_edit:after,
.repcontrol .pc div.attributes-effects div.repitem input.settings-flag + span.repcontrol_edit:after,
.pc div.attributes-effects div.repitem .repcontrol input.settings-flag + span.repcontrol_add:after,
.repcontrol .pc div.attributes-effects div.repitem input.settings-flag + span.repcontrol_add:after,
.pc div.attributes-effects div.repitem .itemcontrol input.settings-flag + span.repcontrol_del,
.itemcontrol .pc div.attributes-effects div.repitem input.settings-flag + span.repcontrol_del {
grid-area: 1 / 6 / 1 / 7; }
/* Active Button */
#SR6WE div.repcontainer div.repitem input[name^='attr_active'] {
top: 0;
margin: 7px 0px 0px 5px; }
#SR6WE div.repcontainer div.repitem input[name^='attr_active']:not(:checked) + span.pictos {
top: 0;
height: 15px;
padding: 0px 16px 20px 4px;
border-radius: 10px;
color: red;
border: red solid 1px;
opacity: 1 !important;}
#SR6WE div.repcontainer div.repitem input[name^='attr_active']:checked + span.pictos {
top: 0;
height: 15px;
padding: 0px 4px 20px 4px;
border-radius: 10px;
box-shadow: green 0px 1px 5px 2px;
color: green; }
/***** SKILLS *****/
.pc div.skill-box h2:nth-of-type(1n+2) {
text-align: center; }
@@ -797,9 +861,9 @@ div.matrix-device .matrixFirewall {
.pc div.skill-box div.row-long h3:nth-of-type(1n+2) {
text-align: center; }
/*** Skills ***/
.pc div.skill-box div.skills-active div.repitem {
grid-template-columns: 1fr 3em 3em 5em 1em 1em; }
/*** SKILLS ***/
.pc div.skill-box div.skills-active div.repitem {
grid-template-columns: 1fr 3em 3em 5em 1em 1em; }
.pc div.skill-box div.skills-active div.repitem label[data-i18n-title='notes'],
.pc div.skill-box div.skills-active div.repitem h3[data-i18n='notes'],
.pc div.skill-box div.skills-active div.repitem div.collapse {
@@ -4153,6 +4217,7 @@ width: 100% !important; }
.optional-flag[value='0'] + .attr-header,
.category + div,
.category + div + div, .npc, .pc, .arms, .augs, .core, .gear, .options, .social, .vehicle, .notes, .rolls,
.attributes-active, .attributes-effects,
.skills-active, .skills-knowledge, .skills-language,
.magic-spells, .magic-preps, .magic-rituals,
.powers-adept, .powers-meta, .powers-conjuring,
@@ -4212,6 +4277,7 @@ input[name='attr_weapon_range'][value='melee'] ~ span {
display: none !important; }
.display-flag:checked ~ .collapsible .desc,
.attributes-toggle[value='attributes'] ~ .attributes-active, .attributes-toggle[value='effects'] ~ .attributes-effects,
.skills-toggle[value='active'] ~ .skills-active, .skills-toggle[value='knowledge'] ~ .skills-knowledge, .skills-toggle[value='language'] ~ .skills-language,
.magic-toggle[value='spells'] ~ .magic-spells, .magic-toggle[value='preps'] ~ .magic-preps, .magic-toggle[value='rituals'] ~ .magic-rituals,
.powers-toggle[value='adept'] ~ .powers-adept, .powers-toggle[value='meta'] ~ .powers-meta, .powers-toggle[value='conjuring'] ~ .powers-conjuring,
+453 -365
View File
@@ -155,337 +155,397 @@
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ START OF ATTRIBUTES ROW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<div class="pc-row">
<div class="header"><div class="triangle"></div>
<h1 data-i18n="attributes">Attributes</h1></div>
<div class="header left-header">
<div class="header htab">
<div class="triangle"></div>
<input class="attributes-toggle" name="attr_attributes_toggle" title="@{attributes_toggle}" type="radio" value="effects"/>
<h1>Effects</h1>
<div class="right-tri"></div>
</div>
<div class="header htab">
<div class="triangle"></div>
<input class="attributes-toggle" name="attr_attributes_toggle" title="@{attributes_toggle}" type="radio" value="attributes"/>
<h1 data-i18n="attributes">Attributes</h1>
</div>
</div>
<div class="border-box">
<div class="pc-box medium-box attr-box">
<input type="checkbox" class="settings-toggle" name="attr_flag_attribute" checked="checked" title="Settings toggle" /><span>x</span>
<div class="attr-col attr-col-left">
<!-- ~~:+: Body :+:~~ -->
<input type="hidden" name="attr_body" value="" />
<button class="btn ui-draggable" name="act_body" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{body}}}{{dice=[[(@{body}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}"><span class="red" data-i18n="body">Body</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_body_base" value="1" placeholder="3" title="@{body_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_body_modifier" value="" placeholder="0" title="@{body_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_body" title="@{body}"></span>
</div>
<div class="display"><span name="attr_display_body" title="@{body}"></span></div>
</div>
<!-- ~~:+: Agility :+:~~ -->
<input type="hidden" name="attr_agility" value="" />
<button name="act_agility" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{agility}}}{{dice=[[(@{agility}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span class="red" data-i18n="agility">Agility</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_agility_base" value="1" placeholder="3" title="@{agility_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_agility_modifier" value="" placeholder="0" title="@{agility_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_agility" title="@{agility}"></span>
</div>
<div class="display"><span name="attr_display_agility" title="@{agility}"></span></div>
</div>
<!-- ~~:+: Reaction :+:~~ -->
<input type="hidden" name="attr_reaction" value="" />
<button name="act_reaction" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{reaction}}}{{dice=[[(@{reaction}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span class="red" data-i18n="reaction">Reaction</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_reaction_base" value="1" placeholder="3" title="@{reaction_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_reaction_modifier" value="" placeholder="0" title="@{reaction_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_reaction" title="@{reaction}"></span>
</div>
<div class="display"><span name="attr_display_reaction" title="@{reaction}"></span></div>
</div>
<!-- ~~:+: Strength :+:~~ -->
<input type="hidden" name="attr_strength" value="" />
<button name="act_strength" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{strength}}}{{dice=[[(@{strength}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span class="red" data-i18n="strength">Strength</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_strength_base" value="1" placeholder="3" title="@{strength_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_strength_modifier" value="" placeholder="0" title="@{strength_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_strength" title="@{strength}"></span>
</div>
<div class="display"><span name="attr_display_strength" title="@{strength}"></span></div>
</div>
<!-- ~~:+: Willpower :+:~~ -->
<input type="hidden" name="attr_willpower" value="" />
<button name="act_willpower" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{willpower}}}{{dice=[[(@{willpower}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="willpower">Willpower</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_willpower_base" value="1" placeholder="3" title="@{willpower_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_willpower_modifier" value="" placeholder="0" title="@{willpower_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_willpower" title="@{willpower}"></span>
</div>
<div class="display"><span name="attr_display_willpower" title="@{willpower}"></span></div>
</div>
<!-- ~~:+: Logic :+:~~ -->
<input type="hidden" name="attr_logic" value="" />
<button name="act_logic" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{logic}}}{{dice=[[(@{logic}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="logic">Logic</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_logic_base" value="1" placeholder="3" title="@{logic_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_logic_modifier" value="" placeholder="0" title="@{logic_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_logic" title="@{logic}"></span>
</div>
<div class="display"><span name="attr_display_logic" title="@{logic}"></span></div>
</div>
<!-- ~~:+: Intuition :+:~~ -->
<input type="hidden" name="attr_intuition" value="" />
<button name="act_intuition" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{intuition}}}{{dice=[[(@{intuition}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="intuition">Intuition</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_intuition_base" value="1" placeholder="3" title="@{intuition_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_intuition_modifier" value="" placeholder="0" title="@{intuition_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_intuition" title="@{intuition}"></span>
</div>
<div class="display"><span name="attr_display_intuition" title="@{intuition}"></span></div>
</div>
<!-- ~~:+: Charisma :+:~~ -->
<input type="hidden" name="attr_charisma" value="" />
<button name="act_charisma" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{charisma}}}{{dice=[[(@{charisma}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="charisma">Charisma</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_charisma_base" value="1" placeholder="3" title="@{charisma_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_charisma_modifier" value="" placeholder="0" title="@{charisma_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_charisma" title="@{charisma}"></span>
</div>
<div class="display"><span name="attr_display_charisma" title="@{charisma}"></span></div>
</div>
<!-- ~~:+: Edge :+:~~ -->
<button name="act_edge" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{edge}}}{{dice=[[(@{edge}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="edge">Edge</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_edge" value="1" placeholder="3" title="@{edge}" />
</div>
<div class="display"><span name="attr_edge" title="@{edge}"></span></div>
</div>
<div class="edg-hex" style="width: 100%;">
<input class="edge-zero" type="hidden" name="attr_edge_hex" value="0"/>
<input class="hex-hider" type="hidden" name="attr_edge_max" value="7"/>
<input type="hidden" name="attr_edge_hex_max" value="7"/>
<input type="checkbox" name="attr_edge_hex" value="1" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="2" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="3" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="4" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="5" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="6" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="7" /><span class="hexagon"></span>
</div>
</div>
<div class="attr-col attr-col-right">
<!-- ~~:+: Magic or Resonance :+:~~ -->
<input type="hidden" name="attr_display_magic" value="" />
<input type="hidden" name="attr_magic_max" value="6" />
<input type="hidden" name="attr_display_resonance" value="" />
<label data-i18n="magicres">Magic/Resonance</label>
<div class="attr-und">
<div class="settings">
<div class="hide-magic">
<input type="number" name="attr_magic_base" placeholder="0" title="@{magic_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_magic_modifier" placeholder="0" title="@{magic_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_magic" title="@{magic}"></span>
<input class="attributes-toggle" name="attr_attributes_toggle" title="@{attributes_toggle}" type="hidden" value="attributes"/>
<div class="attributes-active">
<div class="pc-box medium-box attr-box">
<input type="checkbox" class="settings-toggle" name="attr_flag_attribute" checked="checked" title="Settings toggle" /><span>x</span>
<div class="attr-col attr-col-left">
<!-- ~~:+: Body :+:~~ -->
<input type="hidden" name="attr_body" value="" />
<button class="btn ui-draggable" name="act_body" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{body}}}{{dice=[[(@{body}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}"><span class="red" data-i18n="body">Body</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_body_base" value="1" placeholder="3" title="@{body_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_body_modifier" value="" placeholder="0" title="@{body_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_body" title="@{body}"></span>
</div>
<div class="hide-resonance">
<input type="number" name="attr_resonance_base" placeholder="0" title="@{resonance_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_resonance_modifier" placeholder="0" title="@{resonance_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_resonance" title="@{resonance}"></span>
<div class="display"><span name="attr_display_body" title="@{body}"></span></div>
</div>
<!-- ~~:+: Agility :+:~~ -->
<input type="hidden" name="attr_agility" value="" />
<button name="act_agility" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{agility}}}{{dice=[[(@{agility}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span class="red" data-i18n="agility">Agility</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_agility_base" value="1" placeholder="3" title="@{agility_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_agility_modifier" value="" placeholder="0" title="@{agility_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_agility" title="@{agility}"></span>
</div>
<div class="display"><span name="attr_display_agility" title="@{agility}"></span></div>
</div>
<!-- ~~:+: Reaction :+:~~ -->
<input type="hidden" name="attr_reaction" value="" />
<button name="act_reaction" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{reaction}}}{{dice=[[(@{reaction}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span class="red" data-i18n="reaction">Reaction</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_reaction_base" value="1" placeholder="3" title="@{reaction_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_reaction_modifier" value="" placeholder="0" title="@{reaction_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_reaction" title="@{reaction}"></span>
</div>
<div class="display"><span name="attr_display_reaction" title="@{reaction}"></span></div>
</div>
<!-- ~~:+: Strength :+:~~ -->
<input type="hidden" name="attr_strength" value="" />
<button name="act_strength" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{strength}}}{{dice=[[(@{strength}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span class="red" data-i18n="strength">Strength</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_strength_base" value="1" placeholder="3" title="@{strength_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_strength_modifier" value="" placeholder="0" title="@{strength_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_strength" title="@{strength}"></span>
</div>
<div class="display"><span name="attr_display_strength" title="@{strength}"></span></div>
</div>
<!-- ~~:+: Willpower :+:~~ -->
<input type="hidden" name="attr_willpower" value="" />
<button name="act_willpower" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{willpower}}}{{dice=[[(@{willpower}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="willpower">Willpower</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_willpower_base" value="1" placeholder="3" title="@{willpower_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_willpower_modifier" value="" placeholder="0" title="@{willpower_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_willpower" title="@{willpower}"></span>
</div>
<div class="display"><span name="attr_display_willpower" title="@{willpower}"></span></div>
</div>
<!-- ~~:+: Logic :+:~~ -->
<input type="hidden" name="attr_logic" value="" />
<button name="act_logic" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{logic}}}{{dice=[[(@{logic}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="logic">Logic</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_logic_base" value="1" placeholder="3" title="@{logic_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_logic_modifier" value="" placeholder="0" title="@{logic_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_logic" title="@{logic}"></span>
</div>
<div class="display"><span name="attr_display_logic" title="@{logic}"></span></div>
</div>
<!-- ~~:+: Intuition :+:~~ -->
<input type="hidden" name="attr_intuition" value="" />
<button name="act_intuition" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{intuition}}}{{dice=[[(@{intuition}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="intuition">Intuition</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_intuition_base" value="1" placeholder="3" title="@{intuition_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_intuition_modifier" value="" placeholder="0" title="@{intuition_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_intuition" title="@{intuition}"></span>
</div>
<div class="display"><span name="attr_display_intuition" title="@{intuition}"></span></div>
</div>
<!-- ~~:+: Charisma :+:~~ -->
<input type="hidden" name="attr_charisma" value="" />
<button name="act_charisma" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{charisma}}}{{dice=[[(@{charisma}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="charisma">Charisma</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_charisma_base" value="1" placeholder="3" title="@{charisma_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_charisma_modifier" value="" placeholder="0" title="@{charisma_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_charisma" title="@{charisma}"></span>
</div>
<div class="display"><span name="attr_display_charisma" title="@{charisma}"></span></div>
</div>
<!-- ~~:+: Edge :+:~~ -->
<button name="act_edge" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{edge}}}{{dice=[[(@{edge}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="edge">Edge</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_edge" value="1" placeholder="3" title="@{edge}" />
</div>
<div class="display"><span name="attr_edge" title="@{edge}"></span></div>
</div>
<div class="edg-hex" style="width: 100%;">
<input class="edge-zero" type="hidden" name="attr_edge_hex" value="0"/>
<input class="hex-hider" type="hidden" name="attr_edge_max" value="7"/>
<input type="hidden" name="attr_edge_hex_max" value="7"/>
<input type="checkbox" name="attr_edge_hex" value="1" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="2" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="3" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="4" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="5" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="6" /><span class="hexagon"></span>
<input type="checkbox" name="attr_edge_hex" value="7" /><span class="hexagon"></span>
</div>
</div>
<div class="attr-col attr-col-right">
<!-- ~~:+: Magic or Resonance :+:~~ -->
<input type="hidden" name="attr_display_magic" value="" />
<input type="hidden" name="attr_magic_max" value="6" />
<input type="hidden" name="attr_display_resonance" value="" />
<label data-i18n="magicres">Magic/Resonance</label>
<div class="attr-und">
<div class="settings">
<div class="hide-magic">
<input type="number" name="attr_magic_base" placeholder="0" title="@{magic_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_magic_modifier" placeholder="0" title="@{magic_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_magic" title="@{magic}"></span>
</div>
<div class="hide-resonance">
<input type="number" name="attr_resonance_base" placeholder="0" title="@{resonance_base}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_resonance_modifier" placeholder="0" title="@{resonance_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_display_resonance" title="@{resonance}"></span>
</div>
</div>
<div class="display">
<div class="hide-magic"><span name="attr_display_magic" title="@{magic}"></span></div>
<div class="hide-resonance"><span name="attr_display_resonance" title="@{resonance}"></span></div>
</div>
</div>
<div class="display">
<div class="hide-magic"><span name="attr_display_magic" title="@{magic}"></span></div>
<div class="hide-resonance"><span name="attr_display_resonance" title="@{resonance}"></span></div>
<!-- ~~:+: Initiative :+:~~ -->
<input type="hidden" name="attr_initiative_base" value="0" />
<input type="hidden" name="attr_initiative_dice_mod" value="1" />
<input type="hidden" name="attr_initiative_dice" value="1" />
<button class="attr-ini" name="act_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{initiative}}}{{dice=[[ceil([[(@{initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{initiative_dice} + @{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="attr-ini red" data-i18n="initiative">Initiative</span></button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_initiative_mod" value="0" placeholder="0" title="@{initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_initiative_dice_mod" value="0" min="0" max="4" placeholder="mod" title="@{initiative_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_display_initiative_base"></span><span class="tiny-span"> + </span>
<span name="attr_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
<div class="display">
<span name="attr_display_initiative_base" title="@{display_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_initiative_dice" title="@{initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
</div>
</div>
<!-- ~~:+: Initiative :+:~~ -->
<input type="hidden" name="attr_initiative_base" value="0" />
<input type="hidden" name="attr_initiative_dice_mod" value="1" />
<input type="hidden" name="attr_initiative_dice" value="1" />
<button class="attr-ini" name="act_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{initiative}}}{{dice=[[ceil([[(@{initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{initiative_dice} + @{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="attr-ini red" data-i18n="initiative">Initiative</span></button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_initiative_mod" value="0" placeholder="0" title="@{initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_initiative_dice_mod" value="0" min="0" max="4" placeholder="mod" title="@{initiative_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_display_initiative_base"></span><span class="tiny-span"> + </span>
<span name="attr_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
<!-- ~~:+: Astral Initative :+:~~ -->
<input type="hidden" name="attr_astral_initiative_base" value="0" />
<input type="hidden" name="attr_astral_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_astral_initiative_dice" value="2" />
<div class="hide-magic" style="width: 100% !important">
<button class="attr-ini" name="act_astral_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{astral} ^{initiative}}}{{dice=[[ceil([[(@{astral_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{astral_initiative_dice} + @{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="astralini">Astral Ini</span>
<span class="attr-ini red init-display" data-i18n="astralinitiative">Astral Initiative</span>
</button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_astral_initiative_mod" value="0" placeholder="modifier" title="@{astral_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_astral_initiative_dice_mod" value="0" min="0" max="3" placeholder="modifier" title="@{astral_initiative_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_display_astral_initiative_base" title="@{display_astral_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_astral_initiative_dice" title="@{astral_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
<div class="display">
<span name="attr_display_astral_initiative_base" title="@{display_astral_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_astral_initiative_dice" title="@{astral_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
</div>
</div>
<div class="display">
<span name="attr_display_initiative_base" title="@{display_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_initiative_dice" title="@{initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
</div>
<!-- ~~:+: Astral Initative :+:~~ -->
<input type="hidden" name="attr_astral_initiative_base" value="0" />
<input type="hidden" name="attr_astral_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_astral_initiative_dice" value="2" />
<div class="hide-magic" style="width: 100% !important">
<button class="attr-ini" name="act_astral_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{astral} ^{initiative}}}{{dice=[[ceil([[(@{astral_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{astral_initiative_dice} + @{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="astralini">Astral Ini</span>
<span class="attr-ini red init-display" data-i18n="astralinitiative">Astral Initiative</span>
<!-- ~~:+: Matrix Initative :+:~~ -->
<input type="hidden" name="attr_matrix_initiative_base" value="0" />
<input type="hidden" name="attr_matrix_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_matrix_initiative_dice" value="0" />
<button class="attr-ini" name="act_matrix_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{matrixinitiative}}}{{dice=[[ceil([[(@{matrix_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{matrix_initiative_dice}+@{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="matrixinit">Matrix AR Ini</span>
<span class="attr-ini red init-display" data-i18n="matrixinitiative">Matrix AR Initiative</span>
</button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_astral_initiative_mod" value="0" placeholder="modifier" title="@{astral_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_astral_initiative_dice_mod" value="0" min="0" max="3" placeholder="modifier" title="@{astral_initiative_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_display_astral_initiative_base" title="@{display_astral_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_astral_initiative_dice" title="@{astral_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<input type="number" name="attr_matrix_initiative_mod" value="0" placeholder="0" title="@{matrix_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_matrix_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{matrix_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_matrix_initiative_base" title="@{matrix_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_matrix_initiative_dice" title="@{matrix_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
<div class="display">
<span name="attr_display_astral_initiative_base" title="@{display_astral_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_astral_initiative_dice" title="@{astral_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<span name="attr_matrix_initiative_base" title="@{matrix_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_matrix_initiative_dice" title="@{matrix_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
</div>
</div>
<!-- ~~:+: Matrix Initative :+:~~ -->
<input type="hidden" name="attr_matrix_initiative_base" value="0" />
<input type="hidden" name="attr_matrix_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_matrix_initiative_dice" value="0" />
<button class="attr-ini" name="act_matrix_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{matrixinitiative}}}{{dice=[[ceil([[(@{matrix_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{matrix_initiative_dice}+@{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="matrixinit">Matrix AR Ini</span>
<span class="attr-ini red init-display" data-i18n="matrixinitiative">Matrix AR Initiative</span>
</button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_matrix_initiative_mod" value="0" placeholder="0" title="@{matrix_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_matrix_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{matrix_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_matrix_initiative_base" title="@{matrix_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_matrix_initiative_dice" title="@{matrix_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<!-- ~~:+: Cold Sim VR Initative :+:~~ -->
<input type="hidden" name="attr_cold_sim_initiative_base" value="0" />
<input type="hidden" name="attr_cold_sim_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_cold_sim_initiative_dice" />
<button class="attr-ini" name="act_cold_sim_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{coldsiminitiative}}}{{dice=[[ceil([[(@{cold_sim_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{cold_sim_initiative_dice}+@{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="coldsiminit">Cold Sim Init</span>
<span class="attr-ini red init-display" data-i18n="coldsiminitiative">Cold Sim VR Initiative</span>
</button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_cold_sim_initiative_mod" value="0" placeholder="0" title="@{cold_sim_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_cold_sim_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{cold_sim_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_cold_sim_initiative_base" title="@{cold_sim_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_cold_sim_initiative_dice" title="@{cold_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
<div class="display">
<span name="attr_cold_sim_initiative_base" title="@{cold_sim_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_cold_sim_initiative_dice" title="@{cold_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
</div>
<div class="display">
<span name="attr_matrix_initiative_base" title="@{matrix_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_matrix_initiative_dice" title="@{matrix_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<!-- ~~:+: Hot Sim VR Initative :+:~~ -->
<input type="hidden" name="attr_hot_sim_initiative_base" value="0" />
<input type="hidden" name="attr_hot_sim_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_hot_sim_initiative_dice" value="0" />
<button class="attr-ini" name="act_hot_sim_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{hotsiminitiative}}}{{dice=[[ceil([[(@{hot_sim_initiative_base}+@{modifiers_toggle})+(1d6cf0+ (@{hot_sim_initiative_dice}+@{wounds_toggle}-1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="hotsiminit">Hot Sim Init</span>
<span class="attr-ini red init-display" data-i18n="hotsiminitiative">Hot Sim VR Initiative</span>
</button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_hot_sim_initiative_mod" value="0" placeholder="0" title="@{hot_sim_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_hot_sim_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{hot_sim_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_hot_sim_initiative_base" title="@{hot_sim_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_hot_sim_initiative_dice" title="@{hot_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
<div class="display">
<span name="attr_hot_sim_initiative_base" title="@{hot_sim_base}"></span><span class="tiny-span"> + </span>
<span name="attr_hot_sim_initiative_dice" title="@{hot_sim_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
</div>
</div>
</div>
<!-- ~~:+: Cold Sim VR Initative :+:~~ -->
<input type="hidden" name="attr_cold_sim_initiative_base" value="0" />
<input type="hidden" name="attr_cold_sim_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_cold_sim_initiative_dice" />
<button class="attr-ini" name="act_cold_sim_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{coldsiminitiative}}}{{dice=[[ceil([[(@{cold_sim_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{cold_sim_initiative_dice}+@{wounds_toggle} - 1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="coldsiminit">Cold Sim Init</span>
<span class="attr-ini red init-display" data-i18n="coldsiminitiative">Cold Sim VR Initiative</span>
</button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_cold_sim_initiative_mod" value="0" placeholder="0" title="@{cold_sim_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_cold_sim_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{cold_sim_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_cold_sim_initiative_base" title="@{cold_sim_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_cold_sim_initiative_dice" title="@{cold_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<!-- ~~:+: Composure :+:~~ -->
<input type="hidden" name="attr_composure" value="" />
<button name="act_composure" data-i18n-title="Willpower + Charisma" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{composure}}}{{dice=[[(@{composure}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="composure">Composure</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_composure_modifier" placeholder="0" title="@{composure_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_composure" title="@{composure}"></span>
</div>
<div class="display">
<span name="attr_composure" title="@{composure}"></span>
</div>
</div>
<div class="display">
<span name="attr_cold_sim_initiative_base" title="@{cold_sim_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_cold_sim_initiative_dice" title="@{cold_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<!-- ~~:+: Judge Intentions :+:~~ -->
<input type="hidden" name="attr_judge_intentions" value="" />
<button name="act_judge_intentions" data-i18n-title="Willpower + Intuition" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{judgeintentions}}}{{dice=[[(@{judge_intentions}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="judgeintentions">Judge Intentions</span>
</button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_judge_intentions_modifier" placeholder="0" title="@{judge_intentions_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_judge_intentions" title="@{judge_intentions}"></span>
</div>
<div class="display">
<span name="attr_judge_intentions" title="@{judge_intentions}"></span>
</div>
</div>
</div>
<!-- ~~:+: Hot Sim VR Initative :+:~~ -->
<input type="hidden" name="attr_hot_sim_initiative_base" value="0" />
<input type="hidden" name="attr_hot_sim_initiative_dice_mod" value="0" />
<input type="hidden" name="attr_hot_sim_initiative_dice" value="0" />
<button class="attr-ini" name="act_hot_sim_initiative" type="action" value="@{gm_toggle} &{template:rolls}{{combat_paralysis=[[@{combat_paralysis}]]}}{{header=@{character_name}}}{{base=^{hotsiminitiative}}}{{dice=[[ceil([[(@{hot_sim_initiative_base}+@{modifiers_toggle})+(1d6cf0+ (@{hot_sim_initiative_dice}+@{wounds_toggle}-1)d6cf0)]] @{combat_paralysis_initiative_mod}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
<span class="attr-ini red init-settings" data-i18n="hotsiminit">Hot Sim Init</span>
<span class="attr-ini red init-display" data-i18n="hotsiminitiative">Hot Sim VR Initiative</span>
</button>
<div class="attr-und attr-ini">
<div class="settings">
<input type="number" name="attr_hot_sim_initiative_mod" value="0" placeholder="0" title="@{hot_sim_initiative_mod}" /><span class="tiny-span"> + </span>
<input type="number" name="attr_hot_sim_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{hot_sim_dice_mod}" />
<span class="tiny-span"> = </span>
<span name="attr_hot_sim_initiative_base" title="@{hot_sim_initiative_base}"></span><span class="tiny-span"> + </span>
<span name="attr_hot_sim_initiative_dice" title="@{hot_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<!-- ~~:+: Memory :+:~~ -->
<input type="hidden" name="attr_memory" value="" />
<button name="act_memory" data-i18n-title="Logic + Intuition" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{memory}}}{{dice=[[(@{memory}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="memory">Memory</span>
</button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_memory_modifier" placeholder="0" title="@{memory_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_memory" title="@{memory}"></span>
</div>
<div class="display">
<span name="attr_memory" title="@{memory}"></span>
</div>
</div>
<div class="display">
<span name="attr_hot_sim_initiative_base" title="@{hot_sim_base}"></span><span class="tiny-span"> + </span>
<span name="attr_hot_sim_initiative_dice" title="@{hot_sim_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
<!-- ~~:+: Social Rating :+:~~ -->
<input type="hidden" name="attr_social_rating" value="" />
<button type="action" name="act_social_rating" data-i18n-title="social_rating_desc" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{social_rating}}}{{rating=@{social_rating}}}">
<span data-i18n="social_rating">Social Rating</span>
</button>
<div class="attr-und">
<div class="settings">
<span name="attr_social_rating" title="@{social_rating}"></span>
</div>
<div class="display">
<span name="attr_social_rating" title="@{social_rating}"></span>
</div>
</div>
</div>
<!-- ~~:+: Composure :+:~~ -->
<input type="hidden" name="attr_composure" value="" />
<button name="act_composure" data-i18n-title="Willpower + Charisma" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{composure}}}{{dice=[[(@{composure}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}"><span data-i18n="composure">Composure</span></button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_composure_modifier" placeholder="0" title="@{composure_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_composure" title="@{composure}"></span>
<!-- ~~:+: Lift & Carry :+:~~ -->
<input type="hidden" name="attr_lift_carry" value="" />
<button name="act_lift_carry" data-i18n-title="Body + Willpower" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{liftcarry}}}{{dice=[[(@{lift_carry}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="liftcarry">Lift & Carry</span>
</button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_lift_carry_modifier" placeholder="0" title="@{lift_carry_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_lift_carry" title="@{lift_carry}"></span>
</div>
<div class="display">
<span name="attr_lift_carry" title="@{lift_carry}"></span>
</div>
</div>
<div class="display">
<span name="attr_composure" title="@{composure}"></span>
</div>
</div>
<!-- ~~:+: Judge Intentions :+:~~ -->
<input type="hidden" name="attr_judge_intentions" value="" />
<button name="act_judge_intentions" data-i18n-title="Willpower + Intuition" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{judgeintentions}}}{{dice=[[(@{judge_intentions}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="judgeintentions">Judge Intentions</span>
</button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_judge_intentions_modifier" placeholder="0" title="@{judge_intentions_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_judge_intentions" title="@{judge_intentions}"></span>
</div>
<div class="display">
<span name="attr_judge_intentions" title="@{judge_intentions}"></span>
</div>
</div>
<!-- ~~:+: Memory :+:~~ -->
<input type="hidden" name="attr_memory" value="" />
<button name="act_memory" data-i18n-title="Logic + Intuition" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{memory}}}{{dice=[[(@{memory}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="memory">Memory</span>
</button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_memory_modifier" placeholder="0" title="@{memory_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_memory" title="@{memory}"></span>
</div>
<div class="display">
<span name="attr_memory" title="@{memory}"></span>
</div>
</div>
<!-- ~~:+: Social Rating :+:~~ -->
<input type="hidden" name="attr_social_rating" value="" />
<button type="action" name="act_social_rating" data-i18n-title="social_rating_desc" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{social_rating}}}{{rating=@{social_rating}}}">
<span data-i18n="social_rating">Social Rating</span>
</button>
<div class="attr-und">
<div class="settings">
<span name="attr_social_rating" title="@{social_rating}"></span>
</div>
<div class="display">
<span name="attr_social_rating" title="@{social_rating}"></span>
</div>
</div>
<!-- ~~:+: Lift & Carry :+:~~ -->
<input type="hidden" name="attr_lift_carry" value="" />
<button name="act_lift_carry" data-i18n-title="Body + Willpower" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{liftcarry}}}{{dice=[[(@{lift_carry}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="liftcarry">Lift & Carry</span>
</button>
<div class="attr-und">
<div class="settings">
<input type="number" name="attr_lift_carry_modifier" placeholder="0" title="@{lift_carry_modifier}" /><span class="tiny-span"> = </span>
<span class="totals" name="attr_lift_carry" title="@{lift_carry}"></span>
</div>
<div class="display">
<span name="attr_lift_carry" title="@{lift_carry}"></span>
</div>
</div>
<!-- ~~:+: Walk & Run :+:~~ -->
<label data-i18n="movement">Movement</label>
<div class="attr-und">
<div class="settings">
<input style="width: 1.75em !important;" type="number" name="attr_move_speed" value="10" placeholder="10" title="@{move_speed}" />
<span class="tiny-span">/</span>
<input style="width: 1.75em !important;" type="number" name="attr_sprint_speed" value="15" placeholder="15" title="@{sprint_speed}" />
<span class="tiny-span">+</span>
<input style="width: 1.5em !important;" type="number" name="attr_sprint_modifier" value="1" title="@{sprint_modifier}" />
</div>
<div class="display">
<button name="act_sprint" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=@{sprint_speed}+(Athletics+Agility hits * @{sprint_modifier})}}{{dice=[[@{sprint_speed}+((@{athletics}+@{agility}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle} * @{sprint_modifier})]] meters}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="sprint">Sprint</span>
</button>
<!-- ~~:+: Walk & Run :+:~~ -->
<label data-i18n="movement">Movement</label>
<div class="attr-und">
<div class="settings">
<input style="width: 1.75em !important;" type="number" name="attr_move_speed" value="10" placeholder="10" title="@{move_speed}" />
<span class="tiny-span">/</span>
<input style="width: 1.75em !important;" type="number" name="attr_sprint_speed" value="15" placeholder="15" title="@{sprint_speed}" />
<span class="tiny-span">+</span>
<input style="width: 1.5em !important;" type="number" name="attr_sprint_modifier" value="1" title="@{sprint_modifier}" />
</div>
<div class="display">
<button name="act_sprint" type="action" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=@{sprint_speed}+(Athletics+Agility hits * @{sprint_modifier})}}{{dice=[[@{sprint_speed}+((@{athletics}+@{agility}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle} * @{sprint_modifier})]] meters}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}]]}}{{wilddie_dice=[[0]]}}">
<span data-i18n="sprint">Sprint</span>
</button>
</div>
</div>
</div>
</div>
</div><!-- ~~~~~~~~ End of PC Attributes~~~~~~~~ -->
<div class="attributes-effects">
<div class="pc-box medium-box attr-box">
<div class="rows repeating-container">
<div class="row-long headers">
<span></span>
<h2 data-i18n="name">Name</h2>
<h2 data-i18n="duration">Duration</h2>
<h2 data-i18n="source">Source</h2>
</span></span>
</span></span>
</div>
<fieldset class="repeating_effects">
<input class="settings-flag" name="attr_flag" type="hidden" value="settings"/>
<div class="buttons">
<input class="toggle" name="attr_active" value="on" type="checkbox" checked="checked"/>
<span class="pictos powerbutton">2</span>
</div>
<span name="attr_name" title="@{repeating_effects_${x}_name}"></span>
<span class="text-align-center" name="attr_duration" title="@{repeating_effects_${x}_duration}"></span>
<span class="text-align-center" name="attr_source" title="@{repeating_effects_${x}_source}"></span>
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
<div class="collapse"><span name="attr_notes"></span></div>
<div class="settings">
</span>&nbsp;</span>
<input type="text" name="attr_name" value="" placeholder="" title="Effect Name" />
<input type="text" name="attr_duration" value="" placeholder="" title="Duration" />
<input type="text" name="attr_source" value="" placeholder="" title="Source" />
</span></span>
</span></span>
<label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span>
<textarea name="attr_notes" placeholder="Notes" title="{repeating_effects_${x}_notes}"></textarea>
</label>
<label data-i18n-title="modifications" title="modifications"><span data-i18n="modifications">Modifications</span>
<textarea name="attr_modifications" placeholder="Modifications" title="{repeating_effects_${x}_modifications}"></textarea>
</label>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div><!-- ~~~~~~~~ End of PC Attributes~~~~~~~~ -->
</div><!-- ~~~~~~~~ End of PC Effects ~~~~~~~~ -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ START OF Knowledge/Skills ROW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<div class="pc-row">
<div class="header left-header">
<div class="header htab">
@@ -685,32 +745,32 @@
<div class="op-col">
<div>
<h2 data-i18n="temporarymodifiers">Temporary Modifiers</h2><br />
<label data-i18n="defense">Defense</label><input type="number" name="attr_defense_temp" title="@{defense_temp}" /><input type="checkbox" name="attr_defense_temp_flag" value="on" checked />
<label data-i18n="soak">Soak</label><input type="number" name="attr_soak_temp" title="@{soak_temp}" /><input type="checkbox" name="attr_soak_temp_flag" value="on" checked />
<label data-i18n="defense">Defense</label><input type="number" name="attr_defense_temp" title="@{defense_temp}" value="0" /><input type="checkbox" name="attr_defense_temp_flag" value="on" checked />
<label data-i18n="soak">Soak</label><input type="number" name="attr_soak_temp" title="@{soak_temp}" value="0" /><input type="checkbox" name="attr_soak_temp_flag" value="on" checked />
<hr />
<label data-i18n="body">Body</label><input type="number" name="attr_body_temp" title="@{body_temp}" /><input type="checkbox" name="attr_body_temp_flag" value="on" checked />
<label data-i18n="agility">Agility</label><input type="number" name="attr_agility_temp" title="@{agility_temp}" /><input type="checkbox" name="attr_agility_temp_flag" value="on" checked />
<label data-i18n="reaction">Reaction</label><input type="number" name="attr_reaction_temp" title="@{reaction_temp}" /><input type="checkbox" name="attr_reaction_temp_flag" value="on" checked />
<label data-i18n="strength">Strength</label><input type="number" name="attr_strength_temp" title="@{strength_temp}" /><input type="checkbox" name="attr_strength_temp_flag" value="on" checked />
<label data-i18n="willpower">Willpower</label><input type="number" name="attr_willpower_temp" title="@{willpower_temp}" /><input type="checkbox" name="attr_willpower_temp_flag" value="on" checked />
<label data-i18n="logic">Logic</label><input type="number" name="attr_logic_temp" title="@{logic_temp}" /><input type="checkbox" name="attr_logic_temp_flag" value="on" checked />
<label data-i18n="intuition">Intuition</label><input type="number" name="attr_intuition_temp" title="@{intuition_temp}" /><input type="checkbox" name="attr_intuition_temp_flag" value="on" checked />
<label data-i18n="charisma">Charisma</label><input type="number" name="attr_charisma_temp" title="@{charisma_temp}" /><input type="checkbox" name="attr_charisma_temp_flag" value="on" checked />
<label data-i18n="magic">Magic</label><input type="number" name="attr_magic_temp" title="@{magic_temp}" /><input type="checkbox" name="attr_magic_temp_flag" value="on" checked />
<label data-i18n="resonance">Resonance</label><input type="number" name="attr_resonance_temp" title="@{resonance_temp}" /><input type="checkbox" name="attr_resonance_temp_flag" value="on" checked />
<label data-i18n="body">Body</label><input type="number" name="attr_body_temp" title="@{body_temp}" value="0" /><input type="checkbox" name="attr_body_temp_flag" value="on" checked />
<label data-i18n="agility">Agility</label><input type="number" name="attr_agility_temp" title="@{agility_temp}" value="0" /><input type="checkbox" name="attr_agility_temp_flag" value="on" checked />
<label data-i18n="reaction">Reaction</label><input type="number" name="attr_reaction_temp" title="@{reaction_temp}" value="0" /><input type="checkbox" name="attr_reaction_temp_flag" value="on" checked />
<label data-i18n="strength">Strength</label><input type="number" name="attr_strength_temp" title="@{strength_temp}" value="0" /><input type="checkbox" name="attr_strength_temp_flag" value="on" checked />
<label data-i18n="willpower">Willpower</label><input type="number" name="attr_willpower_temp" title="@{willpower_temp}" value="0" /><input type="checkbox" name="attr_willpower_temp_flag" value="on" checked />
<label data-i18n="logic">Logic</label><input type="number" name="attr_logic_temp" title="@{logic_temp}" value="0" /><input type="checkbox" name="attr_logic_temp_flag" value="on" checked />
<label data-i18n="intuition">Intuition</label><input type="number" name="attr_intuition_temp" title="@{intuition_temp}" value="0" /><input type="checkbox" name="attr_intuition_temp_flag" value="on" checked />
<label data-i18n="charisma">Charisma</label><input type="number" name="attr_charisma_temp" title="@{charisma_temp}" value="0" /><input type="checkbox" name="attr_charisma_temp_flag" value="on" checked />
<label data-i18n="magic">Magic</label><input type="number" name="attr_magic_temp" title="@{magic_temp}" value="0" /><input type="checkbox" name="attr_magic_temp_flag" value="on" checked />
<label data-i18n="resonance">Resonance</label><input type="number" name="attr_resonance_temp" title="@{resonance_temp}" value="0" /><input type="checkbox" name="attr_resonance_temp_flag" value="on" checked />
<hr />
<label data-i18n="initiative">Initiative</label><input type="number" name="attr_initiative_temp" title="@{initiative_temp}" /><input type="checkbox" name="attr_initiative_temp_flag" value="on" checked />
<label data-i18n="initiativedice">Initiative Dice</label><input type="number" name="attr_initiative_dice_temp" title="@{initiative_dice_temp}" /><input type="checkbox" name="attr_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="initiative">Initiative</label><input type="number" name="attr_initiative_temp" title="@{initiative_temp}" value="0" /><input type="checkbox" name="attr_initiative_temp_flag" value="on" checked />
<label data-i18n="initiativedice">Initiative Dice</label><input type="number" name="attr_initiative_dice_temp" title="@{initiative_dice_temp}" value="0" /><input type="checkbox" name="attr_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="astralinitiative">Astral Initiative</label><input type="number" name="attr_astral_initiative_temp" title="@{astral_initiative_temp}" /><input type="checkbox" name="attr_astral_initiative_temp_flag" value="on" checked />
<label data-i18n="astralinitiativedice">Initiative Dice</label><input type="number" name="attr_astral_initiative_dice_temp" title="@{astral_initiative_dice_temp}" /><input type="checkbox" name="attr_astral_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="astralinitiative">Astral Initiative</label><input type="number" name="attr_astral_initiative_temp" title="@{astral_initiative_temp}" value="0" /><input type="checkbox" name="attr_astral_initiative_temp_flag" value="on" checked />
<label data-i18n="astralinitiativedice">Initiative Dice</label><input type="number" name="attr_astral_initiative_dice_temp" title="@{astral_initiative_dice_temp}" value="0" /><input type="checkbox" name="attr_astral_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="matrixinitiative">Matrix Initiative</label><input type="number" name="attr_matrix_initiative_temp" title="@{matrix_initiative_temp}" /><input type="checkbox" name="attr_matrix_initiative_temp_flag" value="on" checked />
<label data-i18n="matrixinitiativedice">Matrix Initiative Dice</label><input type="number" name="attr_matrix_initiative_dice_temp" title="@{matrix_initiative_dice_temp}" /><input type="checkbox" name="attr_matrix_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="coldsiminitiative">Cold Sim VR Initiative</label><input type="number" name="attr_cold_sim_initiative_temp" title="@{cold_sim_initiative_temp}" /><input type="checkbox" name="attr_cold_sim_initiative_temp_flag" value="on" checked />
<label data-i18n="coldsiminitiativedice">Cold Sim VR Initiative Dice</label><input type="number" name="attr_cold_sim_initiative_dice_temp" title="@{cold_sim_initiative_dice_temp}" /><input type="checkbox" name="attr_cold_sim_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="hotsiminitiative">Hot Sim VR Initiative</label><input type="number" name="attr_hot_sim_initiative_temp" title="@{hot_sim_initiative_temp}" /><input type="checkbox" name="attr_hot_sim_initiative_temp_flag" value="on" checked />
<label data-i18n="hotsiminitiativedice">Hot Sim VR Initiative Dice</label><input type="number" name="attr_hot_sim_initiative_dice_temp" title="@{hot_sim_initiative_dice_temp}" /><input type="checkbox" name="attr_hot_sim_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="matrixinitiative">Matrix Initiative</label><input type="number" name="attr_matrix_initiative_temp" title="@{matrix_initiative_temp}" value="0" /><input type="checkbox" name="attr_matrix_initiative_temp_flag" value="on" checked />
<label data-i18n="matrixinitiativedice">Matrix Initiative Dice</label><input type="number" name="attr_matrix_initiative_dice_temp" title="@{matrix_initiative_dice_temp}" value="0" /><input type="checkbox" name="attr_matrix_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="coldsiminitiative">Cold Sim VR Initiative</label><input type="number" name="attr_cold_sim_initiative_temp" title="@{cold_sim_initiative_temp}" value="0" /><input type="checkbox" name="attr_cold_sim_initiative_temp_flag" value="on" checked />
<label data-i18n="coldsiminitiativedice">Cold Sim VR Initiative Dice</label><input type="number" name="attr_cold_sim_initiative_dice_temp" title="@{cold_sim_initiative_dice_temp}" value="0" /><input type="checkbox" name="attr_cold_sim_initiative_dice_temp_flag" value="on" checked />
<label data-i18n="hotsiminitiative">Hot Sim VR Initiative</label><input type="number" name="attr_hot_sim_initiative_temp" title="@{hot_sim_initiative_temp}" value="0" /><input type="checkbox" name="attr_hot_sim_initiative_temp_flag" value="on" checked />
<label data-i18n="hotsiminitiativedice">Hot Sim VR Initiative Dice</label><input type="number" name="attr_hot_sim_initiative_dice_temp" title="@{hot_sim_initiative_dice_temp}" value="0" /><input type="checkbox" name="attr_hot_sim_initiative_dice_temp_flag" value="on" checked />
</div>
</div>
@@ -5471,7 +5531,7 @@
<input type="hidden" name="attr_resist_pain" value="0" />
<input type="hidden" name="attr_damage_compensator" value="0" />
<input type="hidden" name="attr_sheet_version" value="0.51">
<input type="hidden" name="attr_sheet_version" value="0.52">
<input type="hidden" name="attr_data_version" value="0">
<script type="text/worker">
@@ -5699,7 +5759,7 @@ on("change:repeating_spell:notes change:repeating_npcspell:notes change:repeatin
*************************************************************/
// Roll Button Definitions
const rollButtons = {
d6: "@{gm_toggle} &{template:rolls-computed}{{header=@{character_name}}}{{base=?{Roll Reason?|d6}}}{{dice=[[(?{d6s|0}d6>5cs>5cf<[[(1+@{bad_luck})]]?{Exploding 6's?|N, |Y,!})]]}}{{wilddie=[[@{wild_die}]]}}{{glitch=[[0]]}}{{wilddie_dice=[[0]]}}{{dicepool=[[0]]}}{{misses=[[0]]}}{{hits=[[0]]}}{{fours=[[0]]}}{{rerolls=@{rerolls}}}{{header=@{character_name}}}{{base=^{d6}}}",
d6: "@{gm_toggle} &{template:rolls-computed}{{header=@{character_name}}}{{base=?{Roll Reason?|d6}}}{{dice=[[(?{d6s|0}d6>5cs>5cf<[[(1+@{bad_luck})]]?{Exploding 6's?|N, |Y,!})]]}}{{wilddie=[[@{wild_die}]]}}{{glitch=[[0]]}}{{wilddie_dice=[[0]]}}{{dicepool=[[0]]}}{{misses=[[0]]}}{{hits=[[0]]}}{{fours=[[0]]}}{{rerolls=@{rerolls}}}{{header=@{character_name}}}}",
// d6: "@{gm_toggle} &{template:rolls-computed}{{header=@{character_name}}}{{base=?{Roll Reason?|d6}}}{{dice=[[(?{d6s|0}d6>5cs>5cf<[[(1+@{bad_luck})]]?{Exploding 6's?|N, |Y,!})]]}}{{wilddie=[[@{wild_die}]]}}{{glitch=[[0]]}}{{wilddie_dice=[[0]]}}{{dicepool=[[0]]}}",
bump_fours: "@{gm_toggle} &{template:rolls-computed}{{header=@{character_name}}}{{base=^{bump4s}}}{{desc=Bumping ?{How many?|-#-} fours to fives. +?{How many?} hits, -[[?{How many?} * 2]] Edge}}",
reroll: "@{gm_toggle} &{template:rolls-computed}{{dice=[[(?{Reroll how many?|-#-}d6>5cs>5cf<[[(1+@{bad_luck})]])]]}}{{dicepool=[[0]]}}{{header=@{character_name}}}{{base=^{rerolling} ?{Reroll how many?|-#-} ^{dice}}}",
@@ -6201,7 +6261,8 @@ console.log("total_hits: "+total_hits);
* - This allows custom attribute overrides *
* via the 'Modifications' inputs *
*******************************************/
on("change:repeating_quality:modifications remove:repeating_quality change:repeating_augmentations:modifications remove:repeating_augmentations change:repeating_items:modifications remove:repeating_items change:repeating_devices:modifications remove:repeating_devices change:repeating_programs:modifications change:repeating_programs:powered_on remove:repeating_programs change:repeating_echoes:modifications remove:repeating_echoes change:repeating_forms:modifications remove:repeating_forms change:repeating_powers:modifications remove:repeating_powers change:repeating_metamagic remove:repeating_metamagic", (eventInfo) => {
//"
on("change:repeating_quality:modifications remove:repeating_quality change:repeating_augmentations:modifications remove:repeating_augmentations change:repeating_items:modifications remove:repeating_items change:repeating_devices:modifications remove:repeating_devices change:repeating_programs:modifications change:repeating_programs:powered_on remove:repeating_programs change:repeating_echoes:modifications remove:repeating_echoes change:repeating_forms:modifications remove:repeating_forms change:repeating_powers:modifications remove:repeating_powers change:repeating_metamagic remove:repeating_metamagic change:repeating_effects remove:repeating_effects change:repeating_effects:active", (eventInfo) => {
var allowed_modifiers = [
'body_modifier', 'agility_modifier', 'reaction_modifier', 'strength_modifier', 'willpower_modifier', 'logic_modifier', 'intuition_modifier', 'charisma_modifier',
'magic_modifier', 'resonance_modifier',
@@ -6211,39 +6272,45 @@ on("change:repeating_quality:modifications remove:repeating_quality change:repea
'attack_modifier', 'sleaze_modifier', 'data_processing_modifier', 'firewall_modifier', 'matrix_defense_rating_modifier',
'combat_paralysis'
];
var attrsToGet = ['enable_modifiers', 'enable_unrestricted_modifiers'];
var prog = /(.+)_modifications$/.exec(eventInfo.triggerName);
if(prog && prog[1] && eventInfo.triggerName.includes("powered_on")) {
attrsToGet.push(`${prog[1]}_powered_on`);
console.log(eventInfo);
repName = /(.+-[^_]+)_(.*)$/.exec(eventInfo.triggerName);
if(! repName) {
repName = eventInfo.triggerName;
} else {
prog = [];
repName = repName[1];
}
var rep_prog = /(.+)_powered_on$/.exec(eventInfo.triggerName);
if(eventInfo.triggerName.endsWith("_powered_on")) {
attrsToGet.push(`${rep_prog[1]}_modifications`);
}
var attrsToGet = ['enable_modifiers', 'enable_unrestricted_modifiers', `${repName}_powered_on`, `${repName}_active`, `${repName}_modifications`];
getAttrs(attrsToGet, (v) => {
if(v.enable_modifiers != "1") {
return;
}
if(prog && prog[1] && v[`${prog[1]}_powered_on`] !== "on") {
console.log(v);
// If we're using either powered_on or active buttons we need to make sure the toggle is on for one of them
// and we only do this if the modifications itself was changed
if(eventInfo.sourceAttribute.includes("modifications") && (v[`${repName}_powered_on`] !== "on" && v[`${repName}_active`] !== "on")) {
return;
}
if(rep_prog && v[`${rep_prog[1]}_modifications`]) {
// If the change was triggered by a power_on or active toggle changing
// we need to update our newValue and previousValue appropriately to apply or remove the effect
if(eventInfo.sourceAttribute.includes("powered_on") || eventInfo.sourceAttribute.includes("active")) {
if(eventInfo.newValue === "on") {
eventInfo.previousValue = '';
eventInfo.newValue = v[`${rep_prog[1]}_modifications`];
eventInfo.newValue = v[`${repName}_modifications`];
} else {
eventInfo.newValue = '';
eventInfo.previousValue = v[`${rep_prog[1]}_modifications`];
eventInfo.previousValue = v[`${repName}_modifications`];
}
}
if(eventInfo.removedInfo) {
eventInfo.previousValue = eventInfo.removedInfo[`${eventInfo.sourceAttribute}_modifications`];
eventInfo.newValue = '';
@@ -6257,7 +6324,6 @@ on("change:repeating_quality:modifications remove:repeating_quality change:repea
var oldParts = (eventInfo.previousValue) ? eventInfo.previousValue.split(/\s*,\s*/) : [];
var newParts = (eventInfo.newValue) ? eventInfo.newValue.split(/\s*,\s*/) : [];
var op = {},
np = {},
mods = {},
@@ -6267,27 +6333,37 @@ on("change:repeating_quality:modifications remove:repeating_quality change:repea
oldParts.forEach(e => {
parts = e.split(/\s*:\s*/);
mods.old[parts[0]] = parts[1];
if(mods.old[parts[0]]) {
mods.old[parts[0]] += parseInt(parts[1]);
} else {
mods.old[parts[0]] = parseInt(parts[1]);
}
(typeof keys[parts[0]] === 'undefined') ? keys[parts[0]] = 1 : keys[parts[0]]++;
})
newParts.forEach(e => {
parts = e.split(/\s*:\s*/);
mods.new[parts[0]] = parts[1];
if(mods.new[parts[0]]) {
mods.new[parts[0]] += parseInt(parts[1]);
} else {
mods.new[parts[0]] = parseInt(parts[1]);
}
(typeof keys[parts[0]] === 'undefined') ? keys[parts[0]] = 1 : keys[parts[0]]++;
})
Object.keys(keys).forEach(k => {
if(! allowed_modifiers.includes(k) && v[`enable_unrestricted_modifiers`] != 1) {
console.log('Unrestricted Modifiers not enabled, tried to update ('+k+') which is not whitelisted');
} else if(k !== "0" && k !== "on") {
console.log("k: "+k+"\nold: "+mods.old[k]+"\nnew: "+mods.new[k]);
update_attribute({
'key': k,
'old': mods.old[k],
'new': mods.new[k]
});
if(mods.old[k] == mods.new[k]) {
// Nothing changed, skipping
} else {
if(! allowed_modifiers.includes(k) && v[`enable_unrestricted_modifiers`] != 1) {
console.log('Unrestricted Modifiers not enabled, tried to update ('+k+') which is not whitelisted');
} else if(k !== "0" && k !== "on") {
update_attribute({
'key': k,
'old': mods.old[k],
'new': mods.new[k]
});
}
}
})
@@ -6299,12 +6375,27 @@ console.log("k: "+k+"\nold: "+mods.old[k]+"\nnew: "+mods.new[k]);
var update_attribute = (attr) => {
getAttrs([`${attr.key}`], (v) => {
if(v[`${attr.key}`]) {
if(v[`${attr.key}`] !== 'NaN') {
currentV = /([+-]*\d+)(.*)/.exec(v[`${attr.key}`]);
} else {
v[`${attr.key}`] = 0;
currentV = [0, 0, ''];
}
// Sanity checking because js freaks out on undefined or NaN values when you try to do math with them
if(! v[`${attr.key}`]) {
v[`${attr.key}`] = 0;
}
if(! currentV) {
currentV = [0, 0, ''];
}
if(! attr.new) {
attr.new = 0;
}
if(! attr.old) {
attr.old = 0;
}
var newV = 0;
// the mod was removed, undo the old value
@@ -6323,13 +6414,11 @@ var update_attribute = (attr) => {
newV = parseInt(v[`${attr.key}`]) + parseInt(diff)
}
console.log(attr.key);
console.log("newV: "+newV+"\ncurrentV: "+currentV[2]);
setAttrs({
[`${attr.key}`]: newV + currentV[2]
});
});
};
@@ -6337,19 +6426,18 @@ console.log("newV: "+newV+"\ncurrentV: "+currentV[2]);
var modify_value = (params) => {
var diff = 0;
var re = /([+-]*)(\d+)/;
console.log(params);
var oldV = re.exec(params[0]);
var newV = re.exec(params[1]);
console.log("oldV: "+oldV+"\nnewV: "+newV);
if(parseInt(oldV[0]) > parseInt(newV[0])) { // oldV is higher, we are subtracting
// subtracting
diff = -1 * (parseInt(oldV[0]) - parseInt(newV[0]));
console.log("subtracting: "+diff);
} else if(parseInt(oldV[0]) < parseInt(newV[0])) { // newV is higher, we are adding
// adding
diff = parseInt(newV[0]) - parseInt(oldV[0]);
console.log("adding: "+diff);
} else { // they are equal
// no change diff still 0;
console.log("no change: "+diff);
}
return diff;
+1
View File
@@ -493,6 +493,7 @@
"sprint": "Sprint",
"sprite": "Sprite",
"sprites": "Sprites",
"source": "Source",
"ss": "SS",
"standard": "Standard",
"stealth": "Stealth",