mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 11:42:29 +00:00
Minor Fix for NPC Weapon section that is in the wrong order. Not skilled enough to fix the UI overlaps in the area.
1746 lines
223 KiB
HTML
1746 lines
223 KiB
HTML
<input name="attr_version" type="hidden" value="1.04"/><input class="sheet_type" name="attr_sheet_type" type="hidden" value="pc"/><input class="character-type" name="attr_flag_special" type="hidden" value="mundane"/><div class="pc"><div class="tabs"><img alt="Shadowrun" src="https://raw.githubusercontent.com/clevett/roll20-character-sheets/shadowrun4ev1/Shadowrun4thEdition/src/imgs/ShadowrunLogo.png"/><h1 data-i18n="character">Character</h1><label data-i18n-title="character name" title="character name"><input type="text" name="attr_character_name" placeholder="Character name" title="@{character_name}"/></label><h1 data-i18n="player">Player</h1><label data-i18n-title="player name" title="player name"><input type="text" name="attr_player_name" placeholder="Player name" title="@{player_name}"/></label><h2 data-i18n-title="/w GM">/w GM</h2><label class="switch" data-i18n-title="whisper rolls to gm" title="whisper rolls to gm"><input class="whisper-toggle" name="attr_gm_toggle" type="checkbox" value="/w gm"/><span class="slider"></span></label><h2 data-i18n-title="wounds">wounds</h2><label class="switch" data-i18n-title="wounds" title="wounds"><input class="whisper-toggle" name="attr_wounds_toggle" type="checkbox" value="@{wounds}"/><span class="slider"></span></label><h2 data-i18n-title="modifiers">modifiers</h2><label class="switch" data-i18n-title="modifiers" title="modifiers"><input class="whisper-toggle" name="attr_modifiers_toggle" type="checkbox" value="?{Modifiers +/-|0}"/><span class="slider"></span></label><h2 data-i18n-title="edge">edge</h2><label class="switch" data-i18n-title="edge" title="edge"><input class="whisper-toggle" name="attr_edge_toggle" type="checkbox" value="@{edge}"/><span class="slider"></span></label><button name="d6" title="Roll D6s" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{d6}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5@{explode_toggle})]]}}">L</button><input name="attr_tab" type="hidden" value="options"/><button class="pictos" name="act_tab_options" title="@{tab}" type="action">y</button><button data-i18n="core" name="act_tab_core" type="action" title="@{tab}">core</button><button data-i18n="arms" name="act_tab_arms" type="action" title="@{tab}">arms</button><button data-i18n="augs" name="act_tab_augs" type="action" title="@{tab}">augs</button><button data-i18n="gear" name="act_tab_gear" type="action" title="@{tab}">gear</button><button data-i18n="magic" name="act_tab_magic" type="action" title="@{tab}">magic</button><button data-i18n="matrix" name="act_tab_matrix" type="action" title="@{tab}">matrix</button><button data-i18n="social" name="act_tab_social" type="action" title="@{tab}">social</button><button data-i18n="vehicle" name="act_tab_vehicle" type="action" title="@{tab}">vehicle</button></div><input class="options_toggle" name="attr_tab" type="hidden" value="options"/><div class="static pc-col">
|
|
<div class="pc-row core-info">
|
|
<div class="header"><div class="triangle"></div><h1 data-i18n="personal">Personal Data</h1></div>
|
|
<div class="border-box">
|
|
<div class="pc-box small-box">
|
|
<div class="row-long pd-nam">
|
|
<h2 data-i18n="namealias">NAME/PRIMARY ALIAS</h2><input type="text" name="attr_name" placeholder="name" title="@{name}" />
|
|
</div>
|
|
<div class="row-long pd-meta">
|
|
<h2 data-i18n="metatype">Metatype</h2><input type="text" name="attr_metatype" placeholder="metatype" title="@{metatype}" />
|
|
<h2 data-i18n="ethnicity">Ethnicity</h2><input type="text" name="attr_ethnicity" placeholder="ethnicity" title="@{ethnicity}" />
|
|
</div>
|
|
<div class="row-long pd-age">
|
|
<h2 data-i18n="age">Age</h2><input type="text" name="attr_age" placeholder="age" title="@{age}" />
|
|
<h2 data-i18n="sex">Sex</h2><input type="text" name="attr_sex" placeholder="sex" title="@{sex}" />
|
|
<h2 data-i18n="height-u">Height</h2><input type="text" name="attr_height" placeholder="height" title="@{height}" >
|
|
<h2 data-i18n="weight">Weight</h2><input type="text" name="attr_weight" placeholder="weight" title="@{weight}" />
|
|
</div>
|
|
<div class="row-long pd-rep">
|
|
<h2 data-i18n="streetcred">Street Cred</h2><input type="number" name="attr_street_cred" placeholder="#" title="@{street_cred}" />
|
|
<h2 data-i18n="notoriety">Notoriety</h2><input type="number" name="attr_notoriety" placeholder="#" title="@{notoriety}" />
|
|
<h2 data-i18n="publicawareness">Public Awareness</h2><input type="number" name="attr_public_awareness" placeholder="#" title="@{public_awareness}" />
|
|
</div>
|
|
<div class="row-long pd-kar">
|
|
<h2 data-i18n="karma">Karma</h2><input type="number" name="attr_karma" placeholder="#" title="@{karma}" />
|
|
<h2 data-i18n="totalkarma">Total Karma</h2><input type="number" name="attr_total_karma" placeholder="#" title="@{total_karma}" />
|
|
<h2 data-i18n="misc">Misc</h2><input type="text" name="attr_misc" placeholder="misc" title="@{misc}" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ START OF ATTRIBUTES ROW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
<div class="pc-row">
|
|
<div class="header"><div class="triangle"></div><h1 data-i18n="attributes">Attributes</h1></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="0" />
|
|
<button type="roll" name="body" value="@{gm_toggle} &{template:rolls}{{header=^{body}}}{{base=^{attributes}}}{{dice=[[(@{body}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="red" data-i18n="body">Body</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_body_base" value="" 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="0" />
|
|
<button type="roll" name="agility" value="@{gm_toggle} &{template:rolls}{{header=^{agility}}}{{base=^{attributes}}}{{dice=[[(@{agility}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="red" data-i18n="agility">Agility</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_agility_base" value="" 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="0" />
|
|
<button type="roll" name="reaction" value="@{gm_toggle} &{template:rolls}{{header=^{reaction}}}{{base=^{attributes}}}{{dice=[[(@{reaction}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="red" data-i18n="reaction">Reaction</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_reaction_base" value="" 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="0" />
|
|
<button type="roll" name="strength" value="@{gm_toggle} &{template:rolls}{{header=^{strength}}}{{base=^{attributes}}}{{dice=[[(@{strength}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="red" data-i18n="strength">Strength</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_strength_base" value="" 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>
|
|
<!-- ~~:+: Charisma :+:~~ -->
|
|
<input type="hidden" name="attr_charisma" value="0" />
|
|
<button type="roll" name="charisma" value="@{gm_toggle} &{template:rolls}{{header=^{charisma}}}{{base=^{attributes}}}{{dice=[[(@{charisma}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span data-i18n="charisma">Charisma</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_charisma_base" value="" 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>
|
|
<!-- ~~:+: Intuition :+:~~ -->
|
|
<input type="hidden" name="attr_intuition" value="0" />
|
|
<button type="roll" name="intuition" value="@{gm_toggle} &{template:rolls}{{header=^{intuition}}}{{base=^{attributes}}}{{dice=[[(@{intuition}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span data-i18n="intuition">Intuition</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_intuition_base" value="" 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>
|
|
<!-- ~~:+: Logic :+:~~ -->
|
|
<input type="hidden" name="attr_logic" value="0" />
|
|
<button type="roll" name="logic" value="@{gm_toggle} &{template:rolls}{{header=^{logic}}}{{base=^{attributes}}}{{dice=[[(@{logic}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span data-i18n="logic">Logic</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_logic_base" value="" 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>
|
|
<!-- ~~:+: Willpower :+:~~ -->
|
|
<input type="hidden" name="attr_willpower" value="0" />
|
|
<button type="roll" name="willpower" value="@{gm_toggle} &{template:rolls}{{header=^{willpower}}}{{base=^{attributes}}}{{dice=[[(@{willpower}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span data-i18n="willpower">Willpower</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_willpower_base" value="" 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>
|
|
<!-- ~~:+: Edge :+:~~ -->
|
|
<button type="roll" name="edge" value="@{gm_toggle} &{template:rolls}{{header=^{edge}}}{{base=^{attributes}}}{{dice=[[(@{edge}+(@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span data-i18n="edge">Edge</span></button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_edge" placeholder="3" title="@{edge}" />
|
|
</div>
|
|
<div class="display"><span name="attr_edge" title="@{edge}"></span></div>
|
|
</div>
|
|
<div class="edg-hex" style='margin-top: 5%;'>
|
|
<input class="edge-zero"type="hidden" name="attr_edge_hex" value="0"/>
|
|
<input class="hex-hider"type="hidden" name="attr_edge" value="1"/>
|
|
<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>
|
|
<input type="checkbox" name="attr_edge_hex" value="8" /><span class="hexagon"></span>
|
|
</div>
|
|
</div>
|
|
<div class="attr-col attr-col-right">
|
|
<!-- ~~:+: Essence :+:~~ -->
|
|
<label data-i18n="essence">Essence</label>
|
|
<div class="attr-und">
|
|
<div class="settings"><input type="text" min="0" name="attr_essence" placeholder="6" title="@{essence}" /></div>
|
|
<div class="display"><span name="attr_essence" title="@{essence}"></span></div>
|
|
</div>
|
|
<!-- ~~:+: Magic or Resonance :+:~~ -->
|
|
<input type="hidden" name="attr_magic" value="3" />
|
|
<input type="hidden" name="attr_resonance" value="3" />
|
|
<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>
|
|
<!-- ~~:+: Initiative :+:~~ -->
|
|
<input type="hidden" name="attr_initiative" value="6" />
|
|
<button class="attr-ini" name="initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{initiative}}}{{base=^{base}}}{{dice=[[((@{initiative}+@{modifiers_toggle})d6>5cf0)+(@{initiative})+(@{wounds_toggle}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}">
|
|
<span class="attr-ini red" data-i18n="initiative">Initiative</span>
|
|
</button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_initiative_modifier" value="0" placeholder="0" title="@{initiative_modifier}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_display_initiative" title="@{initiative}"></span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_display_initiative" title="@{initiative}"></span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Initiative Pass :+:~~ -->
|
|
<input type="hidden" name="attr_initiative_passes_base" value="1" />
|
|
<input type="hidden" name="attr_initiative_passes" value="1" min="1" />
|
|
<label class="attr-ini red" data-i18n="Initiative Passes">Initiative Passes</label>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_initiative_passes_modifier" value="1" placeholder="1" title="@{initiative_passes_modifier}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_display_initiative_passes" title="@{initiative_passes}"></span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_display_initiative_passes" title="@{initiative_passes}"></span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Matrix Initative :+:~~ -->
|
|
<input type="hidden" name="attr_matrix_initiative" value="6" />
|
|
<button class="attr-ini" name="initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{matrixinitiative}}}{{base=^{base}}}{{dice=[[((@{matrix_initiative}+@{modifiers_toggle})d6>5cf0)+(@{matrix_initiative})+(@{wounds_toggle}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}">
|
|
<span class="attr-ini red" data-i18n="matrixinitiative"></span>
|
|
</button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_matrix_initiative_modifier" value="0" placeholder="0" title="@{matrix_initiative_modifier}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_display_matrix_initiative" title="@{matrix_initiative}"></span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_display_matrix_initiative" title="@{matrix_initiative}"></span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Astral Initative :+:~~ -->
|
|
<input type="hidden" name="attr_astral_initiative" value="6" />
|
|
<button class="attr-ini" name="initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{astralinitiative}}}{{base=^{base}}}{{dice=[[((@{astral_initiative}+@{modifiers_toggle})d6>5cf0)+(@{astral_initiative})+(@{wounds_toggle}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}">
|
|
<span class="attr-ini red" data-i18n="astralinitiative"></span>
|
|
</button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_astral_initiative_modifier" value="0" placeholder="0" title="@{astral_initiative_modifier}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_display_astral_initiative" title="@{astral_initiative}"></span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_display_astral_initiative" title="@{astral_initiative}"></span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Composure :+:~~ -->
|
|
<input type="hidden" name="attr_composure" value="" />
|
|
<button type="roll" name="composure" value="@{gm_toggle} &{template:rolls}{{header=^{composure}}}{{base=^{base}}}{{dice=[[(@{composure}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}}"><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>
|
|
<!-- ~~:+: Judge Intentions :+:~~ -->
|
|
<input type="hidden" name="attr_judge_intentions" value="" />
|
|
<button type="roll" name="judge intentions" value="@{gm_toggle} &{template:rolls}{{header=^{judgeintentions}}}{{base=^{base}}}{{dice=[[(@{judge_intentions}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
|
|
<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>
|
|
<!-- ~~:+: Lift & Carry :+:~~ -->
|
|
<input type="hidden" name="attr_lift_carry" value="" />
|
|
<button type="roll" name="lift & carry" value="@{gm_toggle} &{template:rolls}{{header=^{liftcarry}}}{{base=^{base}}}{{dice=[[(@{lift_carry}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
|
|
<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>
|
|
<!-- ~~:+: Memory :+:~~ -->
|
|
<input type="hidden" name="attr_memory" value="" />
|
|
<button type="roll" name="memory" value="@{gm_toggle} &{template:rolls}{{header=^{memory}}}{{base=^{base}}}{{dice=[[(@{memory}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
|
|
<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>
|
|
<!-- ~~:+: Walk & Run :+:~~ -->
|
|
<input type="hidden" name="attr_walk" value="12" />
|
|
<input type="hidden" name="attr_run" value="24" />
|
|
<label data-i18n="movement">Movement</label>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_walk_modifier" value="" placeholder="0" title="@{walk_modifier}" /><span class="tiny-span"> / </span>
|
|
<input type="number" name="attr_run_modifier" value="" placeholder="0" title="@{run_modifier}" /><span class="tiny-span"> / +</span>
|
|
<input type="number" name="attr_movement_mod" value="2" placeholder="2" title="@{movement_mod}" />
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_walk" title="@{walk}"></span><span> / </span>
|
|
<span name="attr_run" title="@{run}"></span><span> / +</span>
|
|
<span name="attr_movement_mod" title="@{movement_mod}"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- ~~~~~~~~ End of PC Attributes~~~~~~~~ -->
|
|
<div class="pc-row"><div class="header"><div class="header htab"><div class="triangle"></div><input class="tab-switch" name="attr_skill_toggle" title="Active skills" type="radio" value="active"/><h1 data-i18n="active">active..</h1><div class="right-tri"></div></div><div class="header htab"><div class="triangle"></div><input class="tab-switch" name="attr_skill_toggle" title="Knowledge skills" type="radio" value="knowledge"/><h1 data-i18n="know">know..</h1><div class="right-tri"></div></div><div class="header htab"><div class="triangle"></div><input class="tab-switch" name="attr_skill_toggle" title="Language skills" type="radio" value="language"/><h1 data-i18n="lang">lang..</h1><div class="right-tri"></div></div><div class="triangle"></div><h1 data-i18n="skills">Skills</h1></div><div class="border-box skill-box"><div class="pc-box medium-box"><div class="rows repeating-container"><div class="row-long headers"><h2 data-i18n="skill">Skill</h2><h2 data-i18n="rtg">RTG</h2><h2 data-i18n="attribute">Attribute</h2></div></div><input class="tab-switch" name="attr_skill_toggle" type="hidden" value="active"/><div class="skills-active"><div class="rows repeating-container"><div class="row-long"><input name="attr_default_display" type="hidden" value="Agility"/><button data-i18n="default" name="roll_default" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{default}}}{{base=@{default_display}}}{{dice=[[((@{default_attribute}+-1)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">default</button><span class="text-align-center">-</span><select class="attribute-select" name="attr_default_attribute" title="Skill attribute"><option data-i18n="body" value="@{body}">Body</option><option data-i18n="agility" value="@{agility}" selected="selected">Agility</option><option data-i18n="reaction" value="@{reaction}">Reaction</option><option data-i18n="strength" value="@{strength}">Strength</option><option data-i18n="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}">Resonance</option></select></div><fieldset class="repeating_active"><input name="attr_display_rating" type="hidden"/><input name="attr_specialization" type="hidden" value=""/><input name="attr_display_attribute" type="hidden" value="Agility"/><input name="attr_dicepool" type="hidden" value="0"/><input name="attr_display_skill" type="hidden" value=""/><input class="settings-flag" name="attr_flag" type="hidden" value="settings" title="@{repeating_active_${x}_flag}"/><div class="buttons"><button class="eclipse" name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=}}"><span name="attr_display_skill"></span></button><button class="eclipse" name="roll_specialization" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute}+2)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Spec: @{specialization}}}"><span name="attr_specialization"></span></button></div><span class="text-align-center" name="attr_display_rating" title="@{repeating_active_${x}_display_rating}"></span><select class="attribute-select" name="attr_attribute" title="@{repeating_active_${x}_attribute}"><option data-i18n="body" value="@{body}">Body</option><option data-i18n="agility" value="@{agility}" selected="selected">Agility</option><option data-i18n="reaction" value="@{reaction}">Reaction</option><option data-i18n="strength" value="@{strength}">Strength</option><option data-i18n="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}">Resonance</option></select><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"><select class="skill-select" name="attr_skill" value="Close Combat Group" title="@{repeating_active_${x}_skill}"><option class="option-headers" disabled="true" data-i18n="combatskills">Combat Skills</option>
|
|
<option class="option-groups" value="Close Combat Group" data-i18n="closecombatgroup">Close Combat Group</option>
|
|
<option class="option-groups" value="Firearms Group" data-i18n="firearmsgroup">Firearms Group</option>
|
|
<option value="Archery" data-i18n="archery">Archery</option>
|
|
<option value="Automatics" data-i18n="automatics">Automatics</option>
|
|
<option value="Blades" data-i18n="blades">Blades</option>
|
|
<option value="Clubs" data-i18n="clubs">Clubs</option>
|
|
<option value="Dodge" data-i18n="dodge">Dodge</option>
|
|
<option value="Exotic Melee" data-i18n="exoticmelee">Exotic Melee</option>
|
|
<option value="Exotic Range" data-i18n="exoticrange">Exotic Range</option>
|
|
<option value="Heavy Weapons" data-i18n="heavyweapons">Heavy Weapons</option>
|
|
<option value="Longarms" data-i18n="longarms">Longarms</option>
|
|
<option value="Pistols" data-i18n="pistols">Pistols</option>
|
|
<option value="Throwing Weapons" data-i18n="throwingweapons">Throwing Weapons</option>
|
|
<option value="Unarmed Combat" data-i18n="unarmedcombat">Unarmed Combat</option>
|
|
<option class="option-headers" disabled="true" data-i18n="physicalskills">Physical Skills</option>
|
|
<option class="option-groups" value="Athletics Group" data-i18n="athleticsgroup">Athletics Group</option>
|
|
<option class="option-groups" value="Outdoors Group" data-i18n="outdoorsgroup">Outdoors Group</option>
|
|
<option class="option-groups" value="Stealth Group" data-i18n="stealthgroup">Stealth Group</option>
|
|
<option value="Climbing" data-i18n="climbing">Climbing</option>
|
|
<option value="Disguise" data-i18n="disguise">Disguise</option>
|
|
<option value="Diving" data-i18n="diving">Diving</option>
|
|
<option value="Escape Artist" data-i18n="escapeartist">Escape Artist</option>
|
|
<option value="Flight" data-i18n="flight">Flight</option>
|
|
<option value="Free Fall" data-i18n="freefall">Free Fall</option>
|
|
<option value="Gymnastics" data-i18n="gymnastics">Gymnastics</option>
|
|
<option value="infiltration" data-i18n="infiltration">Infiltration</option>
|
|
<option value="Navigation" data-i18n="navigation">Navigation</option>
|
|
<option value="Palming" data-i18n="palming">Palming</option>
|
|
<option value="Parachuting" data-i18n="parachuting">Parachuting</option>
|
|
<option value="Perception" data-i18n="perception">Perception</option>
|
|
<option value="Running" data-i18n="running">Running</option>
|
|
<option value="Shadowing" data-i18n="shadowing">Shadowing</option>
|
|
<option value="Survival" data-i18n="survival">Survival</option>
|
|
<option value="Swimming" data-i18n="swimming">Swimming</option>
|
|
<option value="Tracking" data-i18n="tracking">Tracking</option>
|
|
<option class="option-headers" disabled="true" data-i18n="socialskills">Social Skills</option>
|
|
<option class="option-groups" value="Influence Group" data-i18n="influencegroup">Influence Group</option>
|
|
<option value="Con" data-i18n="con">Con</option>
|
|
<option value="Etiquette" data-i18n="etiquette">Etiquette</option>
|
|
<option value="Instruction" data-i18n="instruction">Instruction</option>
|
|
<option value="Intimidation" data-i18n="intimidation">Intimidation</option>
|
|
<option value="Leadership" data-i18n="leadership">Leadership</option>
|
|
<option value="Negotiation" data-i18n="negotiation">Negotiation</option>
|
|
<option class="option-headers" disabled="true" data-i18n="magicalskills">Magical Skills</option>
|
|
<option class="option-groups" value="Conjuring Group" data-i18n="conjuringgroup">Conjuring Group</option>
|
|
<option class="option-groups" value="Sorcery Group" data-i18n="sorcerygroup">Sorcery Group</option>
|
|
<option value="Arcana" data-i18n="arcana">Arcana</option>
|
|
<option value="Assensing" data-i18n="assensing">Assensing</option>
|
|
<option value="Astral Combat" data-i18n="astralcombat">Astral Combat</option>
|
|
<option value="Banishing" data-i18n="banishing">Banishing</option>
|
|
<option value="Binding" data-i18n="binding">Binding</option>
|
|
<option value="Counterspelling" data-i18n="counterspelling">Counterspelling</option>
|
|
<option value="Enchanting" data-i18n="enchanting">Enchanting</option>
|
|
<option value="Ritual Spellcasting" data-i18n="ritualspellcasting">Ritual Spellcasting</option>
|
|
<option value="Spellcasting" data-i18n="spellcasting">Spellcasting</option>
|
|
<option value="Summoning" data-i18n="summoning">Summoning</option>
|
|
<option class="option-headers" disabled="true" data-i18n="resonanceskills">Resonance Skills</option>
|
|
<option class="option-groups" value="Tasking Group" data-i18n="taskinggroup">Tasking Group</option>
|
|
<option value="Compiling" data-i18n="compiling">Compiling</option>
|
|
<option value="Decompiling" data-i18n="decompiling">Decompiling</option>
|
|
<option value="Registering" data-i18n="registering">Registering</option>
|
|
<option class="option-headers" disabled="true" data-i18n="technicalskills">Technical Skills</option>
|
|
<option class="option-groups" value="Biotech Group" data-i18n="biotechgroup">Biotech Group</option>
|
|
<option class="option-groups" value="Cracking Group" data-i18n="crackinggroup">Cracking Group</option>
|
|
<option class="option-groups" value="Electronics Group" data-i18n="electronicsgroup">Electronics Group</option>
|
|
<option class="option-groups" value="Mechanical Group" data-i18n="mechanicalgroup">Mechanical Group</option>
|
|
<option value="Aeronautics Mechanic" data-i18n="aeronauticsmechanic">Aeronautics Mechanic</option>
|
|
<option value="Armorer" data-i18n="armorer">Armorer</option>
|
|
<option value="Artisan" data-i18n="artisan">Artisan</option>
|
|
<option value="Automotive Mechanic" data-i18n="automotivemechanic">Automotive Mechanic</option>
|
|
<option value="Chemistry" data-i18n="chemistry">Chemistry</option>
|
|
<option value="Computer" data-i18n="computer">Computer</option>
|
|
<option value="Cybercombat" data-i18n="cybercombat">Cybercombat</option>
|
|
<option value="Cybertechnology" data-i18n="cybertechnology">Cybertechnology</option>
|
|
<option value="Data Search" data-i18n="datasearch">Data Search</option>
|
|
<option value="Demolitions" data-i18n="demolitions">Demolitions</option>
|
|
<option value="Electronic Warfare" data-i18n="electronicwarfare">Electronic Warfare</option>
|
|
<option value="First Aid" data-i18n="firstaid">First Aid</option>
|
|
<option value="Forgery" data-i18n="forgery">Forgery</option>
|
|
<option value="Hacking" data-i18n="hacking">Hacking</option>
|
|
<option value="Hardware" data-i18n="hardware">Hardware</option>
|
|
<option value="Industrial Mechanic" data-i18n="industrialmechanic">Industrial Mechanic</option>
|
|
<option value="Locksmith" data-i18n="locksmith">Locksmith</option>
|
|
<option value="Medicine" data-i18n="medicine">Medicine</option>
|
|
<option value="Nautical Mechanic" data-i18n="nauticalmechanic">Nautical Mechanic</option>
|
|
<option value="Software" data-i18n="software">Software</option>
|
|
<option value="Gunnery" data-i18n="gunnery">Gunnery</option>
|
|
<option value="Pilot Aerospace" data-i18n="pilotaerospace">Pilot Aerospace</option>
|
|
<option value="Pilot Aircraft" data-i18n="pilotaircraft">Pilot Aircraft</option>
|
|
<option value="Pilot Anthroform" data-i18n="pilotanthroform">Pilot Anthroform</option>
|
|
<option value="Pilot Exotic Vehicle" data-i18n="pilotexoticvehicle">Pilot Exotic Vehicle</option>
|
|
<option value="Pilot Ground Craft" data-i18n="pilotgroundcraft">Pilot Ground Craft</option>
|
|
<option value="Pilot Watercraft" data-i18n="pilotwatercraft">Pilot Watercraft</option>
|
|
</select><label data-i18n-title="rating" title="rating"><input name="attr_rating" min="0" placeholder="0" type="number" title="@{repeating_active_${x}_rating}"/></label><label data-i18n-title="ratingmodifier" title="Rating Modifier"><span data-i18n="ratingmodifier">Rating Modifier</span><input name="attr_rating_modifier" placeholder="0" type="number" title="@{repeating_active_${x}_rating_modifier}"/></label><label data-i18n-title="specialization" title="specialization"> <span data-i18n="specialization">specialization</span><input name="attr_specialization" placeholder="specializations" type="text" title="@{repeating_active_${x}_specialization}"/></label><label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span><textarea name="attr_notes" value="" placeholder="Notes" title="@{repeating_active_${x}_notes}"></textarea></label></div></fieldset></div></div><div class="skills-know"><div class="rows repeating-container"><fieldset class="repeating_knowledge"><input name="attr_display_rating" type="hidden"/><input name="attr_specialization" type="hidden" value=""/><input name="attr_display_attribute" type="hidden" value="Logic"/><input name="attr_dicepool" type="hidden" value="0"/><input class="settings-flag" name="attr_flag" type="hidden" value="settings" title="@{repeating_knowledge_${x}_flag}"/><div class="buttons"><button class="eclipse" name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=}}"><span name="attr_skill"></span></button><button class="eclipse" name="roll_specialization" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute}+2)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Spec: @{specialization}}}"><span name="attr_specialization"></span></button></div><span class="text-align-center" name="attr_display_rating" title="@{repeating_knowledge_${x}_display_rating}"></span><select class="attribute-select" name="attr_attribute" title="@{repeating_knowledge_${x}_attribute}"><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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}" selected="selected">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}">Resonance</option></select><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"><label data-i18n-title="skill" title="skill"><input name="attr_skill" placeholder="knowledge" type="text" title="@{repeating_knowledge_${x}_skill}"/></label><label data-i18n-title="rating" title="rating"><input name="attr_rating" min="0" placeholder="0" type="number" title="@{repeating_knowledge_${x}_rating}"/></label><label data-i18n-title="ratingmodifier" title="Rating Modifier"><span data-i18n="ratingmodifier">Rating Modifier</span><input name="attr_rating_modifier" placeholder="0" type="number" title="@{repeating_knowledge_${x}_rating_modifier}"/></label><label data-i18n-title="specialization" title="specialization"> <span data-i18n="specialization">specialization</span><input name="attr_specialization" placeholder="specializations" type="text" title="@{repeating_knowledge_${x}_specialization}"/></label><label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span><textarea name="attr_notes" value="" placeholder="Notes" title="@{repeating_knowledge_${x}_notes}"></textarea></label></div></fieldset></div></div><div class="skills-lang"><div class="rows repeating-container"><fieldset class="repeating_language"><input name="attr_display_rating" type="hidden"/><input name="attr_specialization" type="hidden" value=""/><input name="attr_display_attribute" type="hidden" value="Charisma"/><input name="attr_dicepool" type="hidden" value="0"/><input class="settings-flag" name="attr_flag" type="hidden" value="settings" title="@{repeating_language_${x}_flag}"/><div class="buttons"><button class="eclipse" name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=}}"><span name="attr_skill"></span></button><button class="eclipse" name="roll_specialization" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute}+2)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Spec: @{specialization}}}"><span name="attr_specialization"></span></button></div><span class="text-align-center" name="attr_display_rating" title="@{repeating_language_${x}_display_rating}"></span><select class="attribute-select" name="attr_attribute" title="@{repeating_language_${x}_attribute}"><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="charisma" value="@{charisma}" selected="selected">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}">Resonance</option></select><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"><label data-i18n-title="skill" title="skill"><input name="attr_skill" placeholder="language" type="text" title="@{repeating_language_${x}_skill}"/></label><label data-i18n-title="rating" title="rating"><input name="attr_rating" min="0" placeholder="0" type="number" title="@{repeating_language_${x}_rating}"/></label><label data-i18n-title="ratingmodifier" title="Rating Modifier"><span data-i18n="ratingmodifier">Rating Modifier</span><input name="attr_rating_modifier" placeholder="0" type="number" title="@{repeating_language_${x}_rating_modifier}"/></label><label data-i18n-title="specialization" title="specialization"> <span data-i18n="specialization">specialization</span><input name="attr_specialization" placeholder="specializations" type="text" title="@{repeating_language_${x}_specialization}"/></label><label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span><textarea name="attr_notes" value="" placeholder="Notes" title="@{repeating_language_${x}_notes}"></textarea></label></div></fieldset></div></div></div></div></div></div><div class="core pc-col"><div class="pc-row">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="corecombatinfo">Core Combat Info</h1>
|
|
<div class="right-tri">
|
|
|
|
</div></div>
|
|
<div class="border-box">
|
|
<div class="pc-box small-box core-combat">
|
|
<div class="row-long cc-arm">
|
|
<h2 data-i18n="primaryarmor">Primary Armor</h2>
|
|
<button type="roll" name="roll_soak" value="@{gm_toggle} &{template:rolls}{{header=^{soak}}}{{base=^{base}}}{{dice=[[((@{soak})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}} style="width: 32%;">
|
|
<span name="attr_armor_name" title="@{soak}"></span>
|
|
</button>
|
|
<h3 data-i18n="rating">Rating</h3>
|
|
<span name="attr_ballistic" title="@{ballistic}"></span>
|
|
<span>/</span>
|
|
<span name="attr_impact" title="@{impact}"></span>
|
|
<div class="armor-buttons">
|
|
<button type="roll" name="roll_defense" value="@{gm_toggle} &{template:rolls}{{header=^{defense}}}{{base=^{base}}}{{dice=[[((@{defense})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Defense Roll"><span class="pictos-custom" title="@{defense}">e</span></button>
|
|
<button type="roll" name="roll_ballistic" value="@{gm_toggle} &{template:rolls}{{header=^{ballistic}}}{{base=^{base}}}{{dice=[[((@{ballistic}+@{soak})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="pictos-custom" title="@{ballistic}">t</span></button>
|
|
<button type="roll" name="roll_impact" value="@{gm_toggle} &{template:rolls}{{header=^{impact}}}{{base=^{base}}}{{dice=[[((@{impact}+@{soak})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="text-capitalize pictos" title="@{impact}">J</span></button>
|
|
</div>
|
|
</div>
|
|
<div class="row-long cc-row">
|
|
<h2 data-i18n="primaryrangedweapon">Primary Ranged Weapon</h2>
|
|
<button type="roll" name="primary range" value="@{gm_toggle} &{template:rolls}{{header=@{primary_range_weapon}}}{{base=^{base}}}{{dice=[[((@{primary_range_weapon_skill}+@{primary_range_weapon_dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{primary_range_weapon_mode}, DV @{primary_range_weapon_damage}, AP @{primary_range_weapon_ap}}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Primary range weapon"><span name="attr_primary_range_weapon" title="@{primary_range_weapon}"></span></button>
|
|
<!-- Ammo removal button -->
|
|
<button name="act_shots_remove" type="action">4</button>
|
|
<button type="action" name="act_primary_ammo" title="Shots Fired">
|
|
<img alt="small handgun icon" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Shadowrun5thEdition/images/gun.png" /><span name="attr_shots_fired"></span>
|
|
</button>
|
|
<button name="act_shots_add" type="action">4</button>
|
|
</div>
|
|
<div class="cc-row">
|
|
<h3 data-i18n="dam">Dam</h3><span name="attr_primary_range_weapon_damage" title="@{primary_range_weapon_damage}"></span>
|
|
<h3 data-i18n="ap">AP</h3><span name="attr_primary_range_weapon_ap" title="@{primary_range_weapon_ap}"></span>
|
|
<h3 data-i18n="mode">Mode</h3><span name="attr_primary_range_weapon_mode" title="@{primary_range_weapon_mode}"></span>
|
|
<h3 data-i18n="rc">RC</h3><span name="attr_primary_range_weapon_recoil" title="@{primary_range_weapon_recoil}"></span>
|
|
<h3 data-i18n="ammo">Ammo</h3>
|
|
<span name="attr_primary_range_weapon_ammo" title="@{primary_range_weapon_ammo}"></span>
|
|
<span name="attr_primary_range_weapon_ammo_max" title="@{primary_range_weapon_ammo_max}"></span>
|
|
<button class="pictos" name="act_reload" type="action">0</button>
|
|
</div>
|
|
<div class="row-long cc-row">
|
|
<h2 data-i18n="primarymeleeweapon">Primary Melee Weapon</h2>
|
|
<button type="roll" name="primary melee" value="@{gm_toggle} &{template:rolls}{{header=@{primary_melee_weapon}}}{{base=^{base}}}{{dice=[[((@{primary_melee_weapon_skill}+@{primary_melee_weapon_dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=DV @{primary_melee_weapon_damage}, AP @{primary_melee_weapon_ap}, Reach @{primary_melee_weapon_reach}}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Primary melee weapon"><span name="attr_primary_melee_weapon" title="@{primary_melee_weapon}"></span></button>
|
|
</div>
|
|
<div class="cc-row">
|
|
<h3 data-i18n="reach">Reach</h3><span name="attr_primary_melee_weapon_reach" title="@{primary_melee_weapon_reach}"></span>
|
|
<h3 data-i18n="dam">Dam</h3><span name="attr_primary_melee_weapon_damage" title="@{primary_melee_weapon_damage}"></span>
|
|
<h3 data-i18n="ap">AP</h3><span name="attr_primary_melee_weapon_ap" title="@{primary_melee_weapon_ap}"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ START OF THE CONDITION MONITOR ROW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
<div class="pc-row">
|
|
<div class="header right-header"><h1 data-i18n="conditionmonitor">Condition Monitor</h1><div class="right-tri"></div></div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box condition-box">
|
|
<input type="checkbox" class="settings-toggle" name="attr_flag_condition" checked="checked" title="Settings toggle" /><span>x</span>
|
|
<div class="settings">
|
|
<label data-i18n="conditionmonitormodifiers">Condition Monitor Modifiers (P/S): </label>
|
|
<input type="hidden" name="attr_physical" value="10" />
|
|
<input type="hidden" name="attr_stun" value="10" />
|
|
<input type="hidden" name="attr_physical_max" min="0" value="10" />
|
|
<input type="hidden" name="attr_stun_max" min="0" value="10" />
|
|
<input type="number" name="attr_physical_modifier" value="" placeholder="#" title="@{physical_modifier}" /><span> / </span>
|
|
<input type="number" name="attr_stun_modifier" value="" placeholder="#" title="@{stun_modifier}" /><br />
|
|
<input type="hidden" name="attr_overflow" value="3" />
|
|
<label data-i18n="overflowmodifier">Overflow Modifier</label><input type="number" name="attr_overflow_modifier" value="" placeholder="#" title="@{overflow_modifier}" /><br />
|
|
<label data-i18n="high pain tolerance">High Pain Tolerance</label>
|
|
|
|
<input type="number" name="attr_high_pain_tolerance" min="0" value="" placeholder="#" title="@{high_pain_tolerance}" /><br />
|
|
<label data-i18n="low pain tolerance">Low Pain Tolerance</label><input type="checkbox" name="attr_low_pain_tolerance" value="2" title="@{low_pain_tolerance}" /><br />
|
|
<label data-i18n="damage compensators">Damage Compensators (P/S): </label>
|
|
<input type="number" min="0" name="attr_damage_compensators_physical" value="" placeholder="#" title="@{damage_compensators_physical}" /><span> / </span>
|
|
<input type="number" min="0" name="attr_damage_compensators_stun" value="" placeholder="#" title="@{damage_compensators_stun}" />
|
|
</div>
|
|
<div class="display">
|
|
<div class="con-track">
|
|
<input type="hidden" name="attr_physical" value="0" />
|
|
<button type="action" name="act_cond_reset_physical" data-i18n="physicaldamagetrack">Physical Damage Track</button>
|
|
<div class="squares">
|
|
<input class="hex-hider" type="hidden" name="attr_physical_max" value="10" />
|
|
<input type="radio" name="attr_physical" value="1" /><span></span>
|
|
<input type="radio" name="attr_physical" value="2" /><span></span>
|
|
<input type="radio" name="attr_physical" value="3" /><span></span><div>-1</div>
|
|
<input type="radio" name="attr_physical" value="4" /><span></span>
|
|
<input type="radio" name="attr_physical" value="5" /><span></span>
|
|
<input type="radio" name="attr_physical" value="6" /><span></span><div>-2</div>
|
|
<input type="radio" name="attr_physical" value="7" /><span></span>
|
|
<input type="radio" name="attr_physical" value="8" /><span></span>
|
|
<input type="radio" name="attr_physical" value="9" /><span></span><div>-3</div>
|
|
<input type="radio" name="attr_physical" value="10" /><span></span>
|
|
<input type="radio" name="attr_physical" value="11" /><span></span>
|
|
<input type="radio" name="attr_physical" value="12" /><span></span><div>-4</div>
|
|
<input type="radio" name="attr_physical" value="13" /><span></span>
|
|
<input type="radio" name="attr_physical" value="14" /><span></span>
|
|
<input type="radio" name="attr_physical" value="15" /><span></span><div>-5</div>
|
|
<input type="radio" name="attr_physical" value="16" /><span></span>
|
|
<input type="radio" name="attr_physical" value="17" /><span></span>
|
|
<input type="radio" name="attr_physical" value="18" /><span></span><div>-6</div>
|
|
</div>
|
|
<div class="con-footer" title="@{overflow}">
|
|
<label data-i18n="overflow">Overflow</label><div class="attr-und"><span name="attr_overflow"></span></div>
|
|
</div>
|
|
</div>
|
|
<div class="con-track">
|
|
<input type="hidden" name="attr_stun" value="0" />
|
|
<button type="action" name="act_cond_reset_stun" data-i18n="stundamagetrack">Stun Damage Track</button>
|
|
<div class="squares">
|
|
<input class="hex-hider" type="hidden" name="attr_stun_max" value="10" />
|
|
<input type="radio" name="attr_stun" value="1" /><span></span>
|
|
<input type="radio" name="attr_stun" value="2" /><span></span>
|
|
<input type="radio" name="attr_stun" value="3" /><span></span><div>-1</div>
|
|
<input type="radio" name="attr_stun" value="4" /><span></span>
|
|
<input type="radio" name="attr_stun" value="5" /><span></span>
|
|
<input type="radio" name="attr_stun" value="6" /><span></span><div>-2</div>
|
|
<input type="radio" name="attr_stun" value="7" /><span></span>
|
|
<input type="radio" name="attr_stun" value="8" /><span></span>
|
|
<input type="radio" name="attr_stun" value="9" /><span></span><div>-3</div>
|
|
<input type="radio" name="attr_stun" value="10" /><span></span>
|
|
<input type="radio" name="attr_stun" value="11" /><span></span>
|
|
<input type="radio" name="attr_stun" value="12" /><span></span><div>-4</div>
|
|
<input type="radio" name="attr_stun" value="13" /><span></span>
|
|
<input type="radio" name="attr_stun" value="14" /><span></span>
|
|
<input type="radio" name="attr_stun" value="15" /><span></span><div>-5</div>
|
|
</div>
|
|
<div class="con-footer">
|
|
<span data-i18n="conditionfooter">For every 3 boxes of damage on any one damage track, the character takes a -1 Dice Pool modifier on tests; these modifiers are cumulative within and across damage tracks.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- ~~~~~~~~ End of Condition Monitor ~~~~~~~~ --><div class="quality-box"><div class="header right-header"><div class="header htab"><input class="tab-switch" input="input" name="attr_quality_toggle" type="radio" value="quality" checked="checked"/><h1 data-i18n="qualities">Qualities</h1><div class="right-tri"></div></div><div class="header htab"><div class="triangle"></div><input class="tab-switch" input="input" name="attr_quality_toggle" type="radio" value="martial"/><h1 data-i18n="martialarts">Martial Arts</h1><div class="right-tri"></div></div></div><div class="border-box"><div class="pc-box medium-box"><input class="tab-switch" input="input" name="attr_quality_toggle" type="hidden" value="quality"/><div class="quality"><div class="row-long headers"><h2 data-i18n="quality">Quality</h2><h2 data-i18n="type">Type</h2></div><div class="rows repeating-container"><fieldset class="repeating_quality"><span class="eclipse" name="attr_quality"></span><span class="center" name="attr_type"></span><button class="pictos" name="quality_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{quality}}}{{desc=@{notes}}}">w</button><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"><input name="attr_quality" placeholder="quality name" title="@{repeating_quality_${x}_quality}" type="text"/><select name="attr_type" title="@{repeating_quality_${x}_type}" value="p"><option data-i18n="p" value="P" selected="selected">P</option><option data-i18n="n" value="N">N</option></select><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_quality_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div><div class="martial"><div class="row-long headers"><h2 data-i18n="technique">Technique</h2><h2 data-i18n="style">Style</h2></div><div class="rows repeating-container"><fieldset class="repeating_martial"><span class="eclipse" name="attr_technique"></span><span class="center" name="attr_style"></span><button class="pictos" name="technique_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{technique}}}{{desc=@{notes}}}">w</button><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"><input name="attr_technique" placeholder="technique name" title="@{repeating_martial_${x}_technique}" type="text"/><input name="attr_style" placeholder="style name" title="@{repeating_martial_${x}_style}" type="text"/><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_martial_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div></div><div class="arms pc-col"><div class="pc-row weapons"><div class="header right-header"><h1 data-i18n="weapons">Weapons</h1><div class="right-tri"></div></div><div class="header right-header"><div class="header htab"><div class="triangle"></div><input class="tab-switch" name="attr_weapon_type_toggle" type="radio" value="range" checked="checked"/><h1 data-i18n="ranged">Ranged</h1><div class="right-tri"></div></div><div class="header htab"><div class="triangle"></div><input class="tab-switch" name="attr_weapon_type_toggle" type="radio" value="melee"/><h1 data-i18n="melee">Melee</h1><div class="right-tri"></div></div></div><div class="border-box"><div class="pc-box medium-box"><input class="tab-switch" name="attr_weapon_type_toggle" type="hidden" value="range"/><div class="rows repeating-container weapon-range"><div class="row-long headers"><h2 data-i18n="weapon">Weapon</h2><h2 data-i18n="dam">Dam</h2><h2 data-i18n="ap">AP</h2><h2 data-i18n="mode">Mode</h2><h2 data-i18n="recoil">Recoil</h2><h2 data-i18n="ammo">Ammo</h2></div><fieldset class="repeating_range"><input name="attr_dicepool" type="hidden" value="0"/><input class="flag-primary" name="attr_primary" type="hidden" value=""/><button name="roll_range_weapon" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{weapon}}}{{base=^{agility}}}{{dice=[[((@{skill}+@{dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{mode}, DV @{damage}, AP @{ap}}}"><span name="attr_weapon"></span></button><span class="center" name="attr_damage"></span><span class="center" name="attr_ap"></span><select name="attr_mode" title="@{mode}" value="BF"><option data-i18n="bf" value="BF">BF</option><option data-i18n="fa" value="FA">FA</option><option data-i18n="sa" value="SA">SA</option><option data-i18n="ss" value="SS">SS</option><option data-i18n="other" value="Other">Other</option></select><span class="center" name="attr_recoil"></span><span class="center" name="attr_ammo"></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"><label data-i18n-title="weapon" title="weapon"><input name="attr_weapon" placeholder="Ares Predator" title="@{repeating_range_${x}_weapon}" type="text" value=""/></label><label data-i18n-title="dam" title="dam"><input name="attr_damage" placeholder="9P" title="@{repeating_range_${x}_damage}" type="text" value=""/></label><label data-i18n-title="ap" title="ap"><input name="attr_ap" placeholder="-2" title="@{repeating_range_${x}_ap}" type="text" value=""/></label><select name="attr_mode" title="@{mode}" value="BF"><option data-i18n="bf" value="BF">BF</option><option data-i18n="fa" value="FA">FA</option><option data-i18n="sa" value="SA">SA</option><option data-i18n="ss" value="SS">SS</option><option data-i18n="other" value="Other">Other</option></select><label data-i18n-title="recoil" title="recoil"><input name="attr_recoil" placeholder="+2" title="@{repeating_range_${x}_recoil}" type="number" value=""/></label><label data-i18n-title="ammo" title="ammo"><input name="attr_ammo" placeholder="15" title="@{repeating_range_${x}_ammo}" type="number" value=""/></label><div class="row"><h3 data-i18n="modeoptions">Mode Options</h3><label data-i18n-title="modeoptions" title="Mode Options"><input name="attr_mode_options" placeholder="SA/BF/FA" type="text" title="@{repeating_range_${x}_mode_options}}"/></label><h3 data-i18n="range">range</h3><label data-i18n-title="range" title="Range"><input name="attr_range" placeholder="25/150/350/550" type="text" title=""/></label><h3 data-i18n="primary">primary</h3><label data-i18n-title="primary" title="Primary"><input name="attr_primary" type="checkbox" title="@{repeating_range_${x}_primary}" value="primary"/></label></div><div class="row"><h3 data-i18n="skill">skill</h3><select name="attr_skill" title="@{repeating_range_${x}_skill}" value="@{firearms}"><optgroup label="Combat Skills">Combat Skills<option data-i18n="firearmsgroup" value="@{firearms}" selected="selected">Firearms Group</option><option data-i18n="automatics" value="@{automatics}">Automatics</option><option data-i18n="archery" value="@{Archery}">Archery</option><option data-i18n="exoticrange" value="0">Exotic Range</option><option data-i18n="heavyweapons" value="@{heavyweapons}">Heavy Weapons</option><option data-i18n="longarms" value="@{longarms}">Longarms</option><option data-i18n="pistols" value="@{pistols}">Pistols</option><option data-i18n="throwingweapons" value="@{throwingweapons}">Throwing Weapons</option></optgroup><optgroup label="Vehicle Skills">Vehicle Skills<option data-i18n="gunnery" value="@{gunnery}">Gunnery</option></optgroup></select><h3 data-i18n="specialization">specialization</h3><label data-i18n-title="specialization" title="specialization"><input name="attr_specialization" value="2" title="@{repeating_range_${x}_specialization}" type="checkbox"/></label><h3 data-i18n="modifier">modifier</h3><label data-i18n-title="modifier" title="modifier"><input name="attr_dicepool_modifier" title="@{repeating_range_${x}_dicepool_modifier}" type="number"/></label><input name="attr_skill" type="hidden" value=""/><div class="exotic-warning"><i data-i18n="exoticnote">Exotic weapons are not linked to a skill. Use Modifier input to set dicepool.</i></div></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_range_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div><div class="rows repeating-container weapon-melee"><div class="row-long headers"><h2 data-i18n="weapon">Weapon</h2><h2 data-i18n="dam">Dam</h2><h2 data-i18n="ap">AP</h2><h2 data-i18n="reach">Reach</h2></div><fieldset class="repeating_melee"><input name="attr_dicepool" type="hidden" value="0"/><input class="flag-primary" name="attr_primary" type="hidden" value=""/><button name="roll_melee_weapon" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{weapon}}}{{base=^{agility}}}{{dice=[[((@{skill}+@{dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=DV @{damage}, AP @{ap}, Reach @{reach}}}"><span name="attr_weapon"></span></button><span class="center" name="attr_damage"></span><span class="center" name="attr_ap"></span><span class="center" name="attr_reach"></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"><label data-i18n-title="weapon" title="weapon"><input name="attr_weapon" placeholder="Katana" title="@{repeating_melee_${x}_weapon}" type="text" value=""/></label><label data-i18n-title="dam" title="dam"><input name="attr_damage" placeholder="5P" title="@{repeating_melee_${x}_damage}" type="text" value=""/></label><label data-i18n-title="ap" title="ap"><input name="attr_ap" placeholder="-3" title="@{repeating_melee_${x}_ap}" type="text" value=""/></label><label data-i18n-title="reach" title="reach"><input name="attr_reach" placeholder="1" title="@{repeating_melee_${x}_reach}" type="number" value=""/></label><h3 data-i18n="primary">primary</h3><label data-i18n-title="primary" title="Primary"><input name="attr_primary" type="checkbox" title="@{repeating_melee_${x}_primary}" value="primary"/></label><div class="row"><h3 data-i18n="skill">skill</h3><select name="attr_skill" title="@{repeating_melee_${x}_skill}" value="@{closecombat}"><optgroup label="Combat Skills">Combat Skills<option data-i18n="closecombatgroup" value="@{closecombat}" selected="selected">Close Combat Group</option><option data-i18n="blades" value="@{blades}">Blades</option><option data-i18n="clubs" value="@{clubs}">Clubs</option><option data-i18n="exoticmelee" value="0">Blades</option><option data-i18n="unarmedcombat" value="@{unarmedcombat}">Unarmed Combat</option></optgroup><optgroup label="Vehicle Skills">Vehicle Skills<option data-i18n="gunnery" value="@{gunnery}">Gunnery</option></optgroup></select><h3 data-i18n="specialization">specialization</h3><label data-i18n-title="specialization" title="specialization"><input name="attr_specialization" value="2" title="@{repeating_melee_${x}_specialization}" type="checkbox"/></label><h3 data-i18n="modifier">modifier</h3><label data-i18n-title="modifier" title="modifier"><input name="attr_dicepool_modifier" title="@{repeating_melee_${x}_dicepool_modifier}" type="number"/></label><input name="attr_skill" type="hidden" value=""/><div class="exotic-warning"><i data-i18n="exoticnote">Exotic weapons are not linked to a skill. Use Modifier input to set dicepool.</i></div></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_melee_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div><div class="pc-row armor"><div class="header right-header"><h1 data-i18n="armor">Armor</h1><div class="right-tri"></div></div><div class="border-box"><div class="pc-box medium-box"><div class="rows repeating-container"><div class="row-long headers"><h2 data-i18n="armor">armor</h2><h2 data-i18n="ballistic">ballistic</h2><h2 data-i18n="impact">impact</h2></div><fieldset class="repeating_armor"><input class="flag-primary" name="attr_primary" type="hidden" value=""/><div class="primary eclipse"><span class="bold" name="attr_name"></span></div><button name="roll_ballistic" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{armor}}}{{dice=[[((@{ballistic}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span class="center" name="attr_ballistic"></span></button><button name="roll_impact" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{armor}}}{{dice=[[((@{impact}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span class="center" name="attr_impact"></span></button><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"><input type="hidden" name="attr_acid"/><button data-i18n="Acid Protection" name="roll_acid" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Acid Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{acid_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><input type="hidden" name="attr_cold"/><button data-i18n="Cold Protection" name="roll_cold" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Cold Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{cold_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><input type="hidden" name="attr_electrical"/><button data-i18n="Electrical Protection" name="roll_electrical" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Electrical Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{electrical_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><input type="hidden" name="attr_fire"/><button data-i18n="Fire Protection" name="roll_fire" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Fire Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{fire_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><input type="hidden" name="attr_falling"/><button data-i18n="Falling Protection" name="roll_falling" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Falling Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{falling_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><button data-i18n="Laser Protection" name="roll_laser" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Laser Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{radiation_modifier}+@{laser_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><button data-i18n="Gause Round Armor" name="roll_gause" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Gause Round Armor}}}{{base=^{armor}}}{{dice=[[((@{ballistic}/2)+@{gause_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><div class="row"><span name="attr_notes"></span></div></div><div class="settings"><label data-i18n-title="name" title="name"><input name="attr_name" placeholder="Armor Jacket" title="@{@{repeating_armor_${x}_name}" type="text" value=""/></label><label data-i18n-title="Ballistic"><input name="attr_ballistic" placeholder="9" title="@{@{repeating_armor_${x}_ballistic}" type="text" value=""/></label><label data-i18n-title="Impact"><input name="attr_impact" placeholder="9" title="@{@{repeating_armor_${x}_impact}" type="text" value=""/></label><div class="row"><h2 class="center" data-i18n="Acid">Acid</h2><h2 class="center" data-i18n="Cold">Cold</h2><h2 class="center" data-i18n="Elec">Elec</h2><h2 class="center" data-i18n="Fire">Fire</h2><h2 class="center" data-i18n="Radi">Radi</h2><h2 class="center" data-i18n="Laser">Laser</h2><h2 class="center" data-i18n="Gause">Gause</h2></div><div class="row"><label class="protections" data-i18n-title="Acid"><input name="attr_acid_modifier" placeholder="0" title="@{@{repeating_armor_${x}_acid_modifier}" type="number" value="0"/></label><label class="protections" data-i18n-title="Cold"><input name="attr_cold_modifier" placeholder="0" title="@{@{repeating_armor_${x}_cold_modifier}" type="number" value="0"/></label><label class="protections" data-i18n-title="Electrical"><input name="attr_electrical_modifier" placeholder="0" title="@{@{repeating_armor_${x}_electrical_modifier}" type="number" value="0"/></label><label class="protections" data-i18n-title="Fire"><input name="attr_fire_modifier" placeholder="0" title="@{@{repeating_armor_${x}_fire_modifier}" type="number" value="0"/></label><label class="protections" data-i18n-title="Radiation"><input name="attr_radiation_modifier" placeholder="0" title="@{@{repeating_armor_${x}_radiation_modifier}" type="number" value="0"/></label><label class="protections" data-i18n-title="Laser Protection"><input name="attr_laser_modifier" placeholder="0" title="@{@{repeating_armor_${x}_laser_modifier}" type="number" value="0"/></label><label class="protections" data-i18n-title="Gause Round"><input name="attr_gause_modifier" placeholder="0" title="@{@{repeating_armor_${x}_gause_modifier}" type="number" value="0"/></label></div><div class="row"><h3 data-i18n="primary">primary</h3><label data-i18n-title="primary" title="Primary"><input name="attr_primary" type="checkbox" title="@{repeating_armor_${x}_primary}" value="primary"/></label><h3 data-i18n="modifier">modifier</h3><label data-i18n-title="modifier" title="modifier"><input name="attr_modifier" placeholder="0" title="@{repeating_armor_${x}_modifier}" type="number" value="0"/></label></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_armor_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div><div class="augs pc-col"><div class="pc-row"><div class="header right-header"><h1 data-i18n="augmentations">Augmentations</h1><div class="right-tri"></div></div><div class="border-box"><div class="pc-box medium-box"><div class="row-long headers"><h2 data-i18n="augmentations">Augmentations</h2><h2 data-i18n="rating">Rating</h2><h2 data-i18n="essence">Essence</h2></div><div class="rows repeating-container"><fieldset class="repeating_augementations"><span name="attr_augmentation"></span><span class="center" name="attr_rating"></span><span class="center" name="attr_essence"></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"><label data-i18n-title="Augmentations" title="Augmentations"><input name="attr_augmentation" placeholder="name" title="@{repeating_augementations_${x}_augmentation}" type="text" value=""/></label><label data-i18n-title="Rating" title="Rating"><input name="attr_rating" placeholder="0" title="@{repeating_augementations_${x}_rating}" type="number" value=""/></label><label data-i18n-title="Essence" title="Essence"><input name="attr_essence" placeholder="0" title="@{repeating_augementations_${x}_essence}" type="number" value=""/></label><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_augementations_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div><div class="gear pc-col"><div class="pc-row"><div class="header right-header"><h1 data-i18n="gear">gear</h1><div class="right-tri"></div></div><div class="border-box"><div class="pc-box medium-box"><div class="row-long headers"><h2 data-i18n="item">Item</h2><h2 data-i18n="rating">Rating</h2><h2 data-i18n="quantity">Quantity</h2></div><div class="rows repeating-container"><fieldset class="repeating_items"><span name="attr_item"></span><span class="center" name="attr_rating"></span><span class="center" name="attr_quantity"></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"><label data-i18n-title="item" title="item"><input name="attr_item" placeholder="Jammer" title="@{repeating_items_${x}_item}" type="text" value=""/></label><label data-i18n-title="rating" title="rating"><input name="attr_rating" placeholder="3" title="@{repeating_items_${x}_rating}" type="text" value=""/></label><label data-i18n-title="quantity" title="quantity"><input name="attr_quantity" placeholder="x3" title="@{repeating_items_${x}_quantity}" type="text" value=""/></label><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_items_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div><div class="magic pc-col"><div class="pc-row spell-box"><div class="header right-header"><h1 data-i18n="magic">Magic</h1><div class="right-tri"></div></div><div class="header right-header"><div class="header htab"><div class="triangle"></div><input class="magic-toggle" name="attr_magic_toggle" title="@{magic_toggle}" type="radio" value="spells" checked="checked"/><h1 data-i18n="spells">Spells</h1><div class="right-tri"></div></div><div class="header htab"><div class="triangle"></div><input class="magic-toggle" name="attr_magic_toggle" title="@{magic_toggle}" type="radio" value="preps"/><h1 data-i18n="prep">Prep...</h1><div class="right-tri"></div></div><div class="header htab"><div class="triangle"></div><input class="magic-toggle" name="attr_magic_toggle" title="@{magic_toggle}" type="radio" value="rituals"/><h1 data-i18n="rituals">Rituals</h1><div class="right-tri"></div></div></div><div class="border-box"><div class="pc-box medium-box"><button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{drain}}}{{base=^{base}}}{{dice=[[((@{drain_attribute_1}+@{drain_attribute_2}+@{drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><select class="attribute-select" name="attr_drain_attribute_1" title="@{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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}" selected="selected">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</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_drain_attribute_2" title="@{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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</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"><input name="attr_drain_modifier" title="@{drain_modifier}" type="number" value="0"/></label><input class="magic-toggle" name="attr_magic_toggle" type="hidden" value="spells"/><div class="row-long headers"><h2 data-i18n="spells">spells</h2><h2 data-i18n="type">type</h2><h2 data-i18n="range">range</h2><h2 data-i18n="duration">duration</h2><h2 data-i18n="drain">drain</h2></div><div class="magic-spells spellsForumlas"><div class="rows repeating-container"><fieldset class="repeating_spell"><input name="attr_dicepool" type="hidden" value="0"/><button name="roll_spell}" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{magic}}}{{dice=[[((@{skill}+@{dicepool}+@{magic})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{combat_type} ?{Force|}}}{{drain=[[ceil(?{Force|}/2)+(@{drain})]]}}"><span name="attr_name"></span></button><span class="center" name="attr_type"></span><span class="center" name="attr_range"></span><span class="center" name="attr_duration"></span><span class="center" name="attr_drain"></span><input class="collapse-flag" name="attr_display_flag" type="checkbox" checked="checked"/><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"><label data-i18n-title="name" title="Name"><input name="attr_name" placeholder="Fireball" title="@{repeating_spell_${x}_name}" type="text"/></label><select name="attr_type" title="@{repeating_spell_${x}_type}" value="physical"><option data-i18n="mana" value="Mana">mana</option><option data-i18n="physical" value="Physical" selected="selected">physical</option></select><select name="attr_range" title="@{repeating_spell_${x}_range}" value="los"><option data-i18n="los" value="LOS" selected="selected">los</option><option data-i18n="los (a)" value="LOS (A)">los (a)</option><option data-i18n="special" value="Special">special</option><option data-i18n="t" value="T">t</option><option data-i18n="t (a)" value="T (A)">t (a)</option></select><select name="attr_duration" title="@{repeating_spell_${x}_duration}" value="instant"><option data-i18n="instant" value="Instant" selected="selected">instant</option><option data-i18n="permanent" value="Permanent">permanent</option><option data-i18n="special" value="Special">special</option><option data-i18n="sustained" value="Sustained">sustained</option></select><label data-i18n-title="drain" title="Drain"><input name="attr_drain" placeholder="-1" title="@{repeating_spell_${x}_drain}" type="number"/></label><div class="row"><h3 data-i18n="category">Category</h3><select name="attr_category" title="@{repeating_spell_${x}_category}" value="combat"><option data-i18n="combat" value="Combat" selected="selected">combat</option><option data-i18n="detection" value="Detection">detection</option><option data-i18n="health" value="Health">health</option><option data-i18n="illusion" value="Illusion">illusion</option><option data-i18n="manipulation" value="Manipulation">manipulation</option></select><h3 data-i18n="combat">Combat</h3><select name="attr_combat_type" title="@{repeating_spell_${x}_combat_type}" value="force"><option data-i18n="force" value="Force " selected="selected">force</option><option data-i18n="direct" value="Direct, Force ">direct</option><option data-i18n="indirect" value="Indirect, Force ?{Force|}, AP -">indirect</option></select><h3 data-i18n="damage">Damage</h3><label data-i18n-title="damage" title="Damage"><input name="attr_damage" placeholder="P" title="@{repeating_spell_${x}_damage}" type="text"/></label></div><div class="row"><h3 data-i18n="skill">Skill</h3><select name="attr_skill" title="@{repeating_spell_${x}_skill}" value="@{spellcasting}"><option data-i18n="sorcerygroup" value="@{sorcery}">sorcerygroup</option><option data-i18n="spellcasting" value="@{spellcasting}" selected="selected">spellcasting</option></select><h3 data-i18n="specialization">specialization</h3><label data-i18n-title="specialization" title="specialization"><input name="attr_specialization" title="@{repeating_spell_${x}_specialization}" type="checkbox" value="2"/></label><h3 data-i18n="modifierdice">modifier dice</h3><label data-i18n-title="modifierdice" title="modifier dice"><input name="attr_dicepool_modifier" placeholder="0" title="@{repeating_spell_${x}_dicepool_modifier}" type="number" value="0"/></label></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_spell_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div><div class="magic-preps spellsForumlas"><div class="rows repeating-container"><fieldset class="repeating_preps"><input name="attr_dicepool" type="hidden" value="0"/><button name="roll_preps}" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{magic}}}{{dice=[[((@{skill}+@{dicepool}+@{magic})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{combat_type} ?{Force|}}}{{drain=[[ceil(?{Force|}/2)+(@{drain})]]}}"><span name="attr_name"></span></button><span class="center" name="attr_type"></span><span class="center" name="attr_range"></span><span class="center" name="attr_duration"></span><span class="center" name="attr_drain"></span><input class="collapse-flag" name="attr_display_flag" type="checkbox" checked="checked"/><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"><label data-i18n-title="name" title="Name"><input name="attr_name" placeholder="Fireball" title="@{repeating_preps_${x}_name}" type="text"/></label><select name="attr_type" title="@{repeating_preps_${x}_type}" value="physical"><option data-i18n="mana" value="Mana">mana</option><option data-i18n="physical" value="Physical" selected="selected">physical</option></select><select name="attr_range" title="@{repeating_preps_${x}_range}" value="los"><option data-i18n="los" value="LOS" selected="selected">los</option><option data-i18n="los (a)" value="LOS (A)">los (a)</option><option data-i18n="special" value="Special">special</option><option data-i18n="t" value="T">t</option><option data-i18n="t (a)" value="T (A)">t (a)</option></select><select name="attr_duration" title="@{repeating_preps_${x}_duration}" value="instant"><option data-i18n="instant" value="Instant" selected="selected">instant</option><option data-i18n="permanent" value="Permanent">permanent</option><option data-i18n="special" value="Special">special</option><option data-i18n="sustained" value="Sustained">sustained</option></select><label data-i18n-title="drain" title="Drain"><input name="attr_drain" placeholder="-1" title="@{repeating_preps_${x}_drain}" type="number"/></label><div class="row"><h3 data-i18n="category">Category</h3><select name="attr_category" title="@{repeating_preps_${x}_category}" value="combat"><option data-i18n="combat" value="Combat" selected="selected">combat</option><option data-i18n="detection" value="Detection">detection</option><option data-i18n="health" value="Health">health</option><option data-i18n="illusion" value="Illusion">illusion</option><option data-i18n="manipulation" value="Manipulation">manipulation</option></select><h3 data-i18n="combat">Combat</h3><select name="attr_combat_type" title="@{repeating_preps_${x}_combat_type}" value="force"><option data-i18n="force" value="Force " selected="selected">force</option><option data-i18n="direct" value="Direct, Force ">direct</option><option data-i18n="indirect" value="Indirect, Force ?{Force|}, AP -">indirect</option></select><h3 data-i18n="damage">Damage</h3><label data-i18n-title="damage" title="Damage"><input name="attr_damage" placeholder="P" title="@{repeating_preps_${x}_damage}" type="text"/></label></div><div class="row"><h3 data-i18n="skill">Skill</h3><select name="attr_skill" title="@{repeating_preps_${x}_skill}" value="@{enchanting}"><option data-i18n="enchanting" value="@{enchanting}" selected="selected">enchanting</option></select><h3 data-i18n="specialization">specialization</h3><label data-i18n-title="specialization" title="specialization"><input name="attr_specialization" title="@{repeating_preps_${x}_specialization}" type="checkbox" value="2"/></label><h3 data-i18n="modifierdice">modifier dice</h3><label data-i18n-title="modifierdice" title="modifier dice"><input name="attr_dicepool_modifier" placeholder="0" title="@{repeating_preps_${x}_dicepool_modifier}" type="number" value="0"/></label></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_preps_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div><div class="rows repeating-container prepared-preparations"><h2 data-i18n="preperations"></h2><div class="row-long headers"><h3 data-i18n="name"></h3><h3 data-i18n="force"></h3><h3 data-i18n="potency"></h3><h3 data-i18n="trigger"></h3></div><fieldset class="repeating_preperations"><button name="roll_preparation" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{force}+@{potency})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}undefined"><span name="attr_name"></span></button><span class="center" name="attr_force"></span><span class="center" name="attr_potency"></span><span class="center" name="attr_trigger"></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"><label data-i18n-title="name" title="name"><input name="attr_name" placeholder="Name" title="@{repeating_preperations_${x}_name}" type="text" value=""/></label><label data-i18n-title="force" title="force"><input name="attr_force" placeholder="1" title="@{repeating_preperations_${x}_force}" type="number" value=""/></label><label data-i18n-title="potency" title="potency"><input name="attr_potency" placeholder="1" title="@{repeating_preperations_${x}_potency}" type="number" value=""/></label><select name="attr_trigger" title="@{repeating_preperations_${x}_trigger}" value="Command"><optgroup label="Trigger">Trigger<option data-i18n="command" value="Command">command</option><option data-i18n="contact" value="Contact" selected="selected">contact</option><option data-i18n="time" value="Time">time</option><option data-i18n="special" value="Special">special</option></optgroup></select><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_preperations_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div><div class="magic-rituals"><div class="rows repeating-container"><fieldset class="repeating_ritual"><input name="attr_dicepool" type="hidden" value="0"/><button name="roll_ritual" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{skill}+@{dicepool}+@{magic})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Force ?{Force|}}}"><span name="attr_name"></span></button><span class="center" name="attr_type"></span><span class="center" name="attr_range"></span><span class="center" name="attr_duration"></span><span class="center" name="attr_drain"></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"><label data-i18n-title="name" title="name"><input name="attr_name" placeholder="Curse (MATERIAL LINK, SPELL)" title="@{@{repeating_undefined_${x}_name}" type="text"/></label><div class="rows"><h3 data-i18n="skill">skill</h3><select name="attr_skill" title="@{@{repeating_undefined_${x}_skill}"><option data-i18n="sorcerygroup" value="@{sorcery}">Sorcery Group</option><option data-i18n="ritualspellcasting" value="@{ritualspellcasting}" selected="selected">Ritual Spellcasting</option></select><h3 data-i18n="specialization">specialization</h3><label data-i18n-title="specialization" title="specialization"><input name="attr_specialization" title="@{@{repeating_undefined_${x}_specialization}" type="checkbox" value="2"/></label><h3 data-i18n="modifier">modifier</h3><label data-i18n-title="modifier" title="modifier"><input name="attr_dicepool_modifier" title="@{@{repeating_undefined_${x}_dicepool_modifier}" type="number"/></label></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_ritual_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div><div class="pc-row powers"><div class="header right-header"><h1 data-i18n="adeptpowers">Adept Powers or Other Abilities</h1><div class="right-tri"></div></div><div class="border-box"><div class="pc-box medium-box"><button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{drain}}}{{base=^{base}}}{{dice=[[((@{drain_attribute_1}+@{drain_attribute_2}+@{drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><select class="attribute-select" name="attr_drain_attribute_1" title="@{drain_attribute_1}"><option data-i18n="body" value="@{body}" selected="selected">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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</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_drain_attribute_2" title="@{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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</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"><input name="attr_drain_modifier" title="@{drain_modifier}" type="number" value="0"/></label><div class="row-long headers"><h2 data-i18n="name">Name</h2><h2 class="center" data-i18n="rating">Rating</h2></div><div class="rows repeating-container powers"><fieldset class="repeating_powers"><span name="attr_name"></span><span class="center" name="attr_rating"></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"><label data-i18n-title="name" title="name"><input name="attr_name" placeholder="name" title="@{repeating_powers_${x}_name}" type="text" value=""/></label><label data-i18n-title="rating" title="rating"><input name="attr_rating" placeholder="rating" title="@{repeating_powers_${x}_rating}" type="number" value=""/></label><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_powers_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div><div class="matrix pc-col"><div class="pc-row matrix-box"><div class="header right-header"><h1 data-i18n="Commlinks">Commlinks</h1><div class="right-tri"></div></div><div class="border-box"><div class="pc-box medium-box"><div class="commlinks rows repeating-container"><fieldset class="repeating_commlinks"><h2 class="text-capitalize" data-i18n="name"></h2><label data-i18n-title="name"><input name="attr_name" placeholder="Commlink name" title="@{@{repeating_commlink_${x}_name}" type="text" value=""/></label><h2 class="text-capitalize" data-i18n="os"></h2><label data-i18n-title="os"><input name="attr_os" placeholder="Commlink os" title="@{@{repeating_commlink_${x}_os}" type="text" value=""/></label><h2 class="text-capitalize" data-i18n="response"></h2><label data-i18n-title="response"><input name="attr_response" placeholder="Commlink response" title="@{@{repeating_commlink_${x}_response}" type="text" value=""/></label><h2 class="text-capitalize" data-i18n="system"></h2><label data-i18n-title="system"><input name="attr_system" placeholder="Commlink system" title="@{@{repeating_commlink_${x}_system}" type="text" value=""/></label><h2 class="text-capitalize" data-i18n="signal"></h2><label data-i18n-title="signal"><input name="attr_signal" placeholder="Commlink signal" title="@{@{repeating_commlink_${x}_signal}" type="text" value=""/></label><h2 class="text-capitalize" data-i18n="firewall"></h2><label data-i18n-title="firewall"><input name="attr_firewall" placeholder="Commlink firewall" title="@{@{repeating_commlink_${x}_firewall}" type="text" value=""/></label><div class="con-hex"><input type="radio" name="attr_matrix" value="0"/><h2 data-i18n="conditionmonitor"></h2><input type="radio" name="attr_matrix" value="0"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="1"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="2"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="3"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="4"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="5"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="6"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="7"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="8"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="9"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="10"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="11"/><span class="hexagon"></span><input type="radio" name="attr_matrix" value="12"/><span class="hexagon"></span></div></fieldset></div><div class="rows repeating-container programs"><h2 data-i18n="programs">Programs</h2><fieldset class="repeating_programs"><input class="toggle" name="attr_program_on" type="checkbox" checked="checked"/><span class="pictos">Q</span><button class="pictos" name="roll_program" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{program}}}{{base=^{base}}}{{dice=[[((@{skill}+@{rating}+@{modifier}+@{specialization})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span class="eclipse" name="attr_program"></span></button><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"><div class="col"><label data-i18n-title="programs" title="programs"><input name="attr_program" placeholder="Program name" title="@{repeating_programs_${x}_program}" type="text" value=""/></label></div><div class="col"><h3 data-i18n="rating">rating</h3><label data-i18n-title="programs" title="programs"><input name="attr_rating" placeholder="0" title="@{repeating_programs_${x}_rating}" type="number" value="0"/></label></div><div class="col"><h3 data-i18n="skill">skill</h3><select name="attr_skill" title="@{repeating_programs_${x}_skill}" value="@{cracking}"><optgroup label="Cracking Skills">Cracking Skills<option data-i18n="crackinggroup" value="@{cracking}" selected="selected">Cracking Group</option><option data-i18n="cybercombat" value="@{cybercombat}">Cybercombat</option><option data-i18n="hacking" value="@{hacking}">Hacking</option><option data-i18n="electronicwarfare" value="@{electronicwarfare}">Electronic Warfare</option></optgroup><optgroup label="Electronic Skills">Electronic Skills<option data-i18n="electronicsgroup" value="@{electronics}">Electronics Group</option><option data-i18n="computer" value="@{computer}">Computer</option><option data-i18n="datasearch" value="@{datasearch}">Data Search</option><option data-i18n="hardware" value="@{hardware}">Hardware</option><option data-i18n="software" value="@{software}">Software</option></optgroup></select></div><div class="col"><h3 data-i18n="specialization">specialization</h3><label data-i18n-title="specialization" title="specialization"><input name="attr_specialization" value="2" title="@{repeating_programs_${x}_specialization}" type="checkbox"/></label></div><div class="col"><h3 data-i18n="modifier">modifier</h3><label data-i18n-title="modifier" title="modifier"><input name="attr_modifier" title="@{repeating_programs_${x}_modifier}" type="number" value="0"/></label></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_programs_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div><div class="pc-row"><div class="header right-header"><h1 data-i18n="complex form">Complex Forms</h1><div class="right-tri"></div></div><div class="border-box"><div class="pc-box medium-box"><button data-i18n="fade" name="roll_fade" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{fade}}}{{base=^{base}}}{{dice=[[((@{fade_attribute_1}+@{fade_attribute_2}+@{fade_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button><select class="attribute-select" name="attr_fade_attribute_1" title="@{fade_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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}" selected="selected">Resonance</option></select><span>+</span><select class="attribute-select" name="attr_fade_attribute_2" title="@{fade_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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</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"><input name="attr_fade_modifier" title="@{fade_modifier}" type="number" value="0"/></label><div class="rows repeating-container complex-forms"><div class="row-long headers"><h2 class="text-capitalize" data-i18n="complex form"></h2><h2 class="text-capitalize" data-i18n="target"></h2><h2 class="text-capitalize" data-i18n="duration"></h2><h2 class="text-capitalize" data-i18n="fade"></h2></div><fieldset class="repeating_forms"><input name="attr_dicepool" type="hidden" value="0"/><button name="roll_complex_form" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{skill}+@{dicepool}+@{resonance})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Level ?{Level|}, Fade [[ceil(?{Level|}/2)+(@{fade})]]}}"><span name="attr_name"></span></button><span class="center eclipse" name="attr_c"></span><span class="center eclipse" name="attr_o"></span><span class="center eclipse" name="attr_m"></span><span class="center eclipse" name="attr_p"></span><span class="center eclipse" name="attr_l"></span><span class="center eclipse" name="attr_e"></span><span class="center eclipse" name="attr_x"></span><span class="center eclipse" name="attr_ "></span><span class="center eclipse" name="attr_f"></span><span class="center eclipse" name="attr_o"></span><span class="center eclipse" name="attr_r"></span><span class="center eclipse" name="attr_m"></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"><label data-i18n-title="name" title="name"><input name="attr_name" placeholder="name" title="@{repeating_forms_${x}_name}" type="text" value=""/></label><select name="attr_target" title="@{repeating_forms_${x}_target}" value="Device"><option class="text-capitalize" data-i18n="device" value="device">device</option><option class="text-capitalize" data-i18n="file" value="file">file</option><option class="text-capitalize" data-i18n="host" value="host">host</option><option class="text-capitalize" data-i18n="ic" value="ic">ic</option><option class="text-capitalize" data-i18n="persona" value="persona">persona</option><option class="text-capitalize" data-i18n="self" value="self">self</option><option class="text-capitalize" data-i18n="sprite" value="sprite">sprite</option></select><select name="attr_duration" title="@{repeating_forms_${x}_duration}" value="Instant"><option class="text-capitalize" data-i18n="extended" value="extended"></option><option class="text-capitalize" data-i18n="instant" value="instant"></option><option class="text-capitalize" data-i18n="permanent" value="permanent"></option><option class="text-capitalize" data-i18n="other" value="other"></option><option class="text-capitalize" data-i18n="sustained" value="sustained"></option></select><label data-i18n-title="fade" title="fade"><input name="attr_fade" placeholder="-1" title="@{repeating_forms_${x}_fade}" type="number" value=""/></label><div class="row"><h3 data-i18n="skill">skill</h3><select name="attr_skill" title="@{repeating_forms_${x}_skill}" value="@{software}"><option data-i18n="Electronics Group" value="@{electronics}">Electronics Group</option><option data-i18n="software" value="@{software}" selected="selected">Software</option></select><h3 data-i18n="specialization"></h3><label data-i18n-title="specialization" title="specialization"><input name="attr_specialization" value="2" title="@{repeating_forms_${x}_specialization}" type="checkbox"/></label><h3 data-i18n="modifier">modifier</h3><label data-i18n-title="modifier" title="modifier"><input name="attr_dicepool_modifier" title="@{repeating_forms_${x}_dicepool_modifier}" type="number"/></label></div><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_forms_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div><div class="social pc-col"><div class="pc-row"><div class="header right-header"><h1 data-i18n="idslifestylecurrency"></h1><div class="right-tri"></div></div><div class="border-box lifestyle"><div class="pc-box small-box"><div class="row-long"><h3 data-i18n="primarylifestyle"></h3><input name="attr_primary_lifestyle" placeholder="Middle /w GRID subscription" style="width: 77%" title="@{primary_lifestyle}" type="text"/></div><div class="row-long"><h3 data-i18n="nuyen"></h3><input type="text" name="attr_primary_nuyen" placeholder="$1,000 UCAS" style="width: 90%" title="@{primary_nuyen}"/></div><div class="row-long"><h3 data-i18n="licenses"></h3><input type="text" name="attr_primary_licenses" placeholder="Technomancer, Pistols..." style="width: 87%" title="@{primary_licenses}"/></div><div class="row-long headers"><h2 data-i18n="fakeidsrelated"></h2></div><div class="rows repeating-container"><fieldset class="repeating_lifestyle"><span class="eclipse" name="attr_name"></span><button class="pictos" name="lifestyle_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{name}}}{{desc=^{relatedlifestyle} @{lifestyle} , ^{nuyen} @{funds}, ^{licenses} @{licenses}}}">w</button><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"><div class="rows"><h3 data-i18n="relatedlifestyle"></h3><span name="attr_lifestyle"></span></div><div class="rows"><h3 data-i18n="nuyen"></h3><span name="attr_funds"></span></div><div class="rows"><h3 data-i18n="licenses"></h3><span name="attr_licenses"></span></div></div><div class="settings"><h3 data-i18n="fakeid"></h3><input class="text-left" name="attr_name" placeholder="John Doe" title="@{repeating_lifestyle_${x}_name}" type="text"/><h3 data-i18n="relatedlifestyle"></h3><textarea name="attr_lifestyle" placeholder="Middle" title="@{repeating_lifestyle_${x}_lifestyle}"></textarea><h3 data-i18n="funds"></h3><textarea name="attr_funds" placeholder="$1,000 UCAS" title="@{repeating_lifestyle_${x}_funds}"></textarea><h3 data-i18n="licenses"></h3><textarea name="attr_licenses" placeholder="Technomancer, Pistols" title="@{repeating_lifestyle_${x}_licenses}"></textarea></div></fieldset></div></div></div></div><div class="pc-row"><div class="header right-header"><h1 data-i18n="contacts"></h1><div class="right-tri"></div></div><div class="border-box contacts"><div class="pc-box small-box"><div class="row-long headers"><h2 data-i18n="name">name</h2><h2 data-i18n="loyalty">loyalty</h2><h2 data-i18n="connection">connection</h2><h2 data-i18n="favor">favor</h2></div><div class="rows repeating-container"><fieldset class="repeating_contacts"><span class="eclipse" name="attr_name"></span><span class="center" name="attr_loyalty"></span><span class="center" name="attr_connection"></span><span class="center" name="attr_favors"></span><button class="pictos" name="ontact_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{name}}}{{desc=^{loyalty} @{loyalty} , ^{connection} @{connection}, ^{favor} @{favors}}}">w</button><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"><input type="text" name="attr_name" placeholder="Old Crow" title="@{repeating_contacts_${x}_name}"/><input type="number" name="attr_loyalty" min="1" placeholder="3" title="@{repeating_contacts_${x}_name}"/><input type="number" name="attr_connection" min="1" placeholder="8" title="@{repeating_contacts_${x}_name}"/><input type="number" name="attr_favors" placeholder="+2" title="@{repeating_contacts_${x}_name}"/><h3 data-i18n="notes">notes</h3><label data-i18n-title="notes" title="notes"><textarea name="attr_notes" placeholder="Notes" title="@{repeating_contacts_${x}_notes}" type="text" value=""></textarea></label></div></fieldset></div></div></div></div></div><div class="vehicle pc-col">
|
|
<div class="pc-row">
|
|
<div class="header right-header"><h1 data-i18n="vehicle">Vehicle</h1><div class="right-tri"></div></div>
|
|
<div class="border-box repeat-box vehicle-box">
|
|
<div class="pc-box medium-box">
|
|
<fieldset class="repeating_vehicle">
|
|
<input type="hidden" class="settings-toggle" name="attr_flag" value="settings" />
|
|
<div class="settings">
|
|
<div>
|
|
<div class="row-long">
|
|
<label data-i18n="name">Name</label>
|
|
<input type="text" name="attr_name" placeholder="name" title="Vehicle name" />
|
|
<label data-i18n="handling">Handling</label>
|
|
<input type="hidden" name="attr_handling" />
|
|
<input type="number" name="attr_handling_base" placeholder="#" title="Handling base" />
|
|
<input type="number" name="attr_handling_modifier" placeholder="#" title="Handling modifier" />
|
|
<input type="number" name="attr_handling_temp" placeholder="#" title="Handling temp" />
|
|
<input type="hidden" name="attr_display_handling" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="acceleration">Acceleration</label>
|
|
<input type="hidden" name="attr_acceleration" />
|
|
<input type="number" name="attr_acceleration_base" placeholder="#" title="Acceleration base" />
|
|
<input type="number" name="attr_acceleration_modifier" placeholder="#" title="Acceleration modifier" />
|
|
<input type="number" name="attr_acceleration_temp" placeholder="#" title="Acceleration temp" />
|
|
<input type="hidden" name="attr_display_acceleration" placeholder="#" />
|
|
<label data-i18n="speed">Speed</label>
|
|
<input type="hidden" name="attr_speed" />
|
|
<input type="number" name="attr_speed_base" placeholder="#" title="Speed base" />
|
|
<input type="number" name="attr_speed_modifier" placeholder="#" title="Speed modifier" />
|
|
<input type="number" name="attr_speed_temp" placeholder="#" title="Speed temp" />
|
|
<input type="hidden" name="attr_display_speed" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="pilot">Pilot</label>
|
|
<input type="hidden" name="attr_pilot" />
|
|
<input type="number" name="attr_pilot_base" placeholder="#" title="Pilot base" />
|
|
<input type="number" name="attr_pilot_modifier" placeholder="#" title="Pilot modifier" />
|
|
<input type="number" name="attr_pilot_temp" placeholder="#" title="Pilot temp" />
|
|
<input type="hidden" name="attr_display_pilot" placeholder="#" />
|
|
<label data-i18n="body">Body</label>
|
|
<input type="hidden" name="attr_body" />
|
|
<input type="number" name="attr_body_base" placeholder="#" title="Body base" />
|
|
<input type="number" name="attr_body_modifier" placeholder="#" title="Body modifier" />
|
|
<input type="number" name="attr_body_temp" placeholder="#" title="Body temp" />
|
|
<input type="hidden" name="attr_display_body" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="armor">Armor</label>
|
|
<input type="hidden" name="attr_armor" />
|
|
<input type="number" name="attr_armor_base" placeholder="#" title="Amro base" />
|
|
<input type="number" name="attr_armor_modifier" placeholder="#" title="Armor modifier" />
|
|
<input type="number" name="attr_armor_temp" placeholder="#" title="Armor temp" />
|
|
<input type="hidden" name="attr_display_armor" placeholder="#" />
|
|
<label data-i18n="sensor">Sensor</label>
|
|
<input type="hidden" name="attr_sensor" />
|
|
<input type="number" name="attr_sensor_base" placeholder="#" title="Sensor base" />
|
|
<input type="number" name="attr_sensor_modifier" placeholder="#" title="Sensor modifier" />
|
|
<input type="number" name="attr_sensor_temp" placeholder="#" title="Sensor temp" />
|
|
<input type="hidden" name="attr_display_sensor" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<h3 data-i18n="base">Base</h3><h3 data-i18n="modifier">Modifier</h3>
|
|
<h3 data-i18n="temp">Temp</h3><h3 data-i18n="base">Base</h3>
|
|
<h3 data-i18n="modifier">Modifier</h3><h3 data-i18n="temp">Temp</h3>
|
|
</div>
|
|
<h3 data-i18n="notes">Notes</h3>
|
|
<textarea name="attr_notes" value="" placeholder="Notes"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="display">
|
|
<input class="display-flag" type="checkbox" name="attr_display_flag" />
|
|
<div class="row-long">
|
|
<div class="display-row" title="Vehicle">
|
|
<h3 data-i18n="vehicle">Vehicle</h3>
|
|
<div>
|
|
<span name="attr_name"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Handling">
|
|
<h3 data-i18n="handling">Handling</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_handling"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<div class="display-row" title="Acceleration">
|
|
<h3 data-i18n="acceleration">Acceleration</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_acceleration"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Speed">
|
|
<h3 data-i18n="speed">Speed</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_speed"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<div class="display-row" title="Pilot">
|
|
<h3 data-i18n="pilot">Pilot</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_pilot"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Body">
|
|
<h3 data-i18n="body">Body</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_body"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<div class="display-row" title="Armor">
|
|
<h3 data-i18n="armor">Armor</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_armor"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Sensor">
|
|
<h3 data-i18n="sensor">Sensor</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_sensor"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="collapsable">
|
|
<div class="desc"><span name="attr_notes"></span></div>
|
|
</div>
|
|
</div>
|
|
<input class="settings-toggle" type='checkbox' name='attr_flag' value='settings' /><span class='pictos'>x</span>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="options pc-col">
|
|
<div class="pc-row">
|
|
<div class="header right-header"><h1 data-i18n="options">Options</h1><div class="right-tri"></div></div>
|
|
<div class="border-box">
|
|
<div class="pc-box">
|
|
<div class="op-col">
|
|
<div>
|
|
<h2 data-i18n="character">Character</h2><br />
|
|
<label data-i18n="mundane">Mundane</label><input class="character-type" type="checkbox" name="attr_flag_special" value="mundane" title="@{flag_special}" checked /><br />
|
|
<label data-i18n="awakened">Awakened</label><input class="character-type" type="checkbox" name="attr_flag_special" value="magic" title="@{flag_special}" /><br />
|
|
<label data-i18n="emerged">Emerged</label><input class="character-type" type="checkbox" name="attr_flag_special" value="resonance" title="@{flag_special}" />
|
|
</div>
|
|
<hr />
|
|
<div>
|
|
<h2 data-i18n="sheetselect">Sheet Select</h2><br />
|
|
<select name="attr_sheet_type" title="@{sheet_type}" value='pc'>
|
|
<option value="pc" data-i18n="pc" selected>PC</option>
|
|
<option value="grunt" data-i18n="grunt">grunt</option>
|
|
<!---<option value="host" data-i18n="host">Host</option>
|
|
<option value="sprite" data-i18n="sprite">Sprite</option>
|
|
<option value="vehicle" data-i18n="vehicle">Vehicle</option>-->
|
|
</select>
|
|
</div>
|
|
<hr />
|
|
</div>
|
|
<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 />
|
|
<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 />
|
|
<hr />
|
|
<label data-i18n="initiative">Initiative</label><input type="number" name="attr_initiative_mod_temp" title="@{initiative_temp}" /><input type="checkbox" name="attr_initiative_temp_flag" value="on" checked />
|
|
<label data-i18n="Initiative Passes">Initiative Passes</label><input type="number" name="attr_initiative_passes_temp" title="@{initiative_passes_temp}" /><input type="checkbox" name="attr_initiative_passes_temp_flag" value="on" checked />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div></div><div class="npc"><div class="tabs"><img alt="Shadowrun black and metallic logo" src="https://raw.githubusercontent.com/clevett/roll20-character-sheets/shadowrun4ev1/Shadowrun4thEdition/src/imgs/ShadowrunLogo.png"/><h2 data-i18n-title="/w GM">/w GM</h2><label class="switch" data-i18n-title="whisper rolls to gm" title="whisper rolls to gm"><input class="whisper-toggle" name="attr_gm_toggle" type="checkbox" value="/w gm"/><span class="slider"></span></label><h2 data-i18n-title="wounds">wounds</h2><label class="switch" data-i18n-title="wounds" title="wounds"><input class="whisper-toggle" name="attr_wounds_toggle" type="checkbox" value="@{wounds}"/><span class="slider"></span></label><h2 data-i18n-title="modifiers">modifiers</h2><label class="switch" data-i18n-title="modifiers" title="modifiers"><input class="whisper-toggle" name="attr_modifiers_toggle" type="checkbox" value="?{Modifiers +/-|0}"/><span class="slider"></span></label><h2 data-i18n-title="edge">edge</h2><label class="switch" data-i18n-title="edge" title="edge"><input class="whisper-toggle" name="attr_edge_toggle" type="checkbox" value="@{edge}"/><span class="slider"></span></label><button name="d6" title="Roll D6s" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{d6}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5)]]}}">L</button><select name="attr_sheet_type" title="Sheet Type" value="pc"><option value="grunt" data-i18n="grunt">Grunt</option><option value="pc" data-i18n="pc" selected="selected">PC</option></select><input name="attr_stats_toggle" type="checkbox" value="settings" checked="checked"/><span class="pictos">y</span></div><input name="attr_stats_toggle" type="hidden" value="settings"/><div class="grunt attribute"><button data-i18n="b" name="roll_body" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{body}}}{{base=^{base}}}{{dice=[[((@{body}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">b</button><span name="attr_display_body"></span><label class="settings" data-i18n-title="Body" title="Body"><input name="attr_body_base" placeholder="3" title="@{body_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_body_modifier" placeholder="+" title="@{body_modifier}" type="number" value=""/></label><button data-i18n="a" name="roll_agility" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{agility}}}{{base=^{base}}}{{dice=[[((@{agility}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">a</button><span name="attr_display_agility"></span><label class="settings" data-i18n-title="Agility" title="Agility"><input name="attr_agility_base" placeholder="3" title="@{agility_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_agility_modifier" placeholder="+" title="@{agility_modifier}" type="number" value=""/></label><button data-i18n="r" name="roll_reaction" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{reaction}}}{{base=^{base}}}{{dice=[[((@{reaction}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">r</button><span name="attr_display_reaction"></span><label class="settings" data-i18n-title="Reaction" title="Reaction"><input name="attr_reaction_base" placeholder="3" title="@{reaction_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_reaction_modifier" placeholder="+" title="@{reaction_modifier}" type="number" value=""/></label><button data-i18n="s" name="roll_strength" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{strength}}}{{base=^{base}}}{{dice=[[((@{strength}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">s</button><span name="attr_display_strength"></span><label class="settings" data-i18n-title="Strength" title="Strength"><input name="attr_strength_base" placeholder="3" title="@{strength_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_strength_modifier" placeholder="+" title="@{strength_modifier}" type="number" value=""/></label><button data-i18n="c" name="roll_charisma" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{charisma}}}{{base=^{base}}}{{dice=[[((@{charisma}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">c</button><span name="attr_display_charisma"></span><label class="settings" data-i18n-title="Charisma" title="Charisma"><input name="attr_charisma_base" placeholder="3" title="@{charisma_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_charisma_modifier" placeholder="+" title="@{charisma_modifier}" type="number" value=""/></label><button data-i18n="i" name="roll_intuition" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{intuition}}}{{base=^{base}}}{{dice=[[((@{intuition}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">i</button><span name="attr_display_intuition"></span><label class="settings" data-i18n-title="Intuition" title="Intuition"><input name="attr_intuition_base" placeholder="3" title="@{intuition_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_intuition_modifier" placeholder="+" title="@{intuition_modifier}" type="number" value=""/></label><button data-i18n="l" name="roll_logic" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{logic}}}{{base=^{base}}}{{dice=[[((@{logic}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">l</button><span name="attr_display_logic"></span><label class="settings" data-i18n-title="Logic" title="Logic"><input name="attr_logic_base" placeholder="3" title="@{logic_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_logic_modifier" placeholder="+" title="@{logic_modifier}" type="number" value=""/></label><button data-i18n="w" name="roll_willpower" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{willpower}}}{{base=^{base}}}{{dice=[[((@{willpower}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">w</button><span name="attr_display_willpower"></span><label class="settings" data-i18n-title="Willpower" title="Willpower"><input name="attr_willpower_base" placeholder="3" title="@{willpower_base}" type="number" value="3"/></label><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_willpower_modifier" placeholder="+" title="@{willpower_modifier}" type="number" value=""/></label><button data-i18n="e" name="roll_edge" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{edge}}}{{base=^{base}}}{{dice=[[((@{edge}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">e</button><span name="attr_edge"></span><label class="settings" data-i18n-title="edge" title="edge"><input name="attr_edge" placeholder="3" title="@{edge}" type="number" value="3"/></label><h1 data-i18n="ess">ess</h1><span name="attr_essence"></span><label class="settings" data-i18n-title="essence" title="essence"><input name="attr_essence" placeholder="6" title="@{essence}" type="number" value="6"/></label><h1 class="hide-magic" data-i18n="m">m</h1><span class="hide-magic" name="attr_magic"></span><label class="settings hide-magic" data-i18n-title="magic" title="magic"><input name="attr_magic" placeholder="6" title="@{magic}" type="number" value="6"/></label><h1 class="hide-magic" data-i18n="f">f</h1><span class="hide-magic" name="attr_force"></span><label class="settings hide-magic" data-i18n-title="force" title="force"><input name="attr_force" placeholder="6" title="@{force}" type="number" value="6"/></label><h1 class="hide-resonance" data-i18n="r">r</h1><span class="hide-resonance" name="attr_resonance"></span><label class="settings hide-resonance" data-i18n-title="resonance" title="resonance"><input name="attr_resonance" placeholder="6" title="@{resonance}" type="number" value="6"/></label></div><div class="host attribute"><button data-i18n="host_rating" name="roll_host_rating" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{host_rating}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{host_rating})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">host_rating</button><span name="attr_host_rating"></span><label class="settings" data-i18n-title="host_rating" title="Host Rating"><input name="attr_host_rating" placeholder="5" title="@{host_rating}" type="number" value=""/></label><button data-i18n="attack" name="roll_attack" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{attack}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{attack})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">attack</button><span name="attr_attack"></span><label class="settings" data-i18n-title="attack" title="Attack"><input name="attr_attack" placeholder="5" title="@{attack}" type="number" value=""/></label><button data-i18n="sleaze" name="roll_sleaze" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{sleaze}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{sleaze})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">sleaze</button><span name="attr_sleaze"></span><label class="settings" data-i18n-title="sleaze" title="Sleaze"><input name="attr_sleaze" placeholder="6" title="@{sleaze}" type="number" value=""/></label><button data-i18n="data_processing" name="roll_data_processing" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{data_processing}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{data_processing})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">data_processing</button><span name="attr_data_processing"></span><label class="settings" data-i18n-title="data_processing" title="Data Processing"><input name="attr_data_processing" placeholder="7" title="@{data_processing}" type="number" value=""/></label><button data-i18n="firewall" name="roll_firewall" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{firewall}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{firewall})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">firewall</button><span name="attr_firewall"></span><label class="settings" data-i18n-title="firewall" title="Firewall"><input name="attr_firewall" placeholder="8" title="@{firewall}" type="number" value=""/></label></div><div class="vehicle attribute"><h1 data-i18n="hand">Hand</h1><span name="attr_handling"></span><label class="settings" data-i18n-title="hand" title="Hand"><input name="attr_handling" placeholder="3" title="@{handling}" type="number" value=""/></label><h1 data-i18n="handoff">Hand (Off)</h1><span name="attr_handling_offroad"></span><label class="settings" data-i18n-title="handoff" title="Hand (Off)"><input name="attr_handling_offroad" placeholder="3" title="@{handling_offroad}" type="number" value=""/></label><h1 data-i18n="speed">Speed</h1><span name="attr_speed"></span><label class="settings" data-i18n-title="speed" title="Speed"><input name="attr_speed" placeholder="3" title="@{speed}" type="number" value=""/></label><h1 data-i18n="speedoff">Speed (Off)</h1><span name="attr_speed_offroad"></span><label class="settings" data-i18n-title="speedoff" title="Speed (Off)"><input name="attr_speed_offroad" placeholder="3" title="@{speed_offroad}" type="number" value=""/></label><h1 data-i18n="accel">Accel</h1><span name="attr_acceleration"></span><label class="settings" data-i18n-title="accel" title="Accel"><input name="attr_acceleration" placeholder="3" title="@{acceleration}" type="number" value=""/></label><h1 data-i18n="body">Body</h1><span name="attr_body"></span><label class="settings" data-i18n-title="body" title="Body"><input name="attr_body" placeholder="3" title="@{body}" type="number" value=""/></label><button data-i18n="pilot" name="roll_pilot" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{pilot}}}{{base=^{pilot}}}{{dice=[[((@{pilot}+@{pilot})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">pilot</button><span name="attr_pilot"></span><label class="settings" data-i18n-title="pilot" title="Pilot"><input name="attr_pilot" placeholder="3" title="@{pilot}" type="number" value=""/></label><h1 data-i18n="sensor">Sensor</h1><span name="attr_sensor"></span><label class="settings" data-i18n-title="sensor" title="Sensor"><input name="attr_sensor" placeholder="3" title="@{sensor}" type="number" value=""/></label><h1 data-i18n="seat">Seat</h1><span name="attr_seating"></span><label class="settings" data-i18n-title="seat" title="Seat"><input name="attr_seating" placeholder="3" title="@{seating}" type="number" value=""/></label></div><div class="sprite attribute"><button data-i18n="level" name="roll_level" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{level}}}{{base=^{level}}}{{dice=[[((@{level}+@{level})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">level</button><span name="attr_level"></span><label class="settings" data-i18n-title="level" title="Level"><input name="attr_level" placeholder="5" title="@{level}" type="number" value=""/></label><button data-i18n="attack" name="roll_attack" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{attack}}}{{base=^{level}}}{{dice=[[((@{level}+@{attack})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">attack</button><span name="attr_attack"></span><label class="settings" data-i18n-title="attack" title="Attack"><input name="attr_attack" placeholder="5" title="@{attack}" type="number" value=""/></label><button data-i18n="sleaze" name="roll_sleaze" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{sleaze}}}{{base=^{level}}}{{dice=[[((@{level}+@{sleaze})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">sleaze</button><span name="attr_sleaze"></span><label class="settings" data-i18n-title="sleaze" title="Sleaze"><input name="attr_sleaze" placeholder="6" title="@{sleaze}" type="number" value=""/></label><button data-i18n="data_processing" name="roll_data_processing" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{data_processing}}}{{base=^{level}}}{{dice=[[((@{level}+@{data_processing})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">data_processing</button><span name="attr_data_processing"></span><label class="settings" data-i18n-title="data_processing" title="Data Processing"><input name="attr_data_processing" placeholder="7" title="@{data_processing}" type="number" value=""/></label><button data-i18n="firewall" name="roll_firewall" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{firewall}}}{{base=^{level}}}{{dice=[[((@{level}+@{firewall})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">firewall</button><span name="attr_firewall"></span><label class="settings" data-i18n-title="firewall" title="Firewall"><input name="attr_firewall" placeholder="8" title="@{firewall}" type="number" value=""/></label></div><div class="mid body"><div class="column"><h1 class="settings" data-i18n="bonuses">Bonuses</h1><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><label class="settings" data-i18n-title="pr" title="Professional Rating"><input name="attr_pr" title="@{pr}" type="number"/></label></div><div class="rows grunt"><button data-i18n="initiative" name="Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{initiative}}}{{base=^{base}}}{{dice=[[((@{reaction}+@{intuition}+@{initiative_dice_modifier})d6>5cf0)+(@{initiative})+(@{wounds_toggle}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}">Initiative</button><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_initiative_mod_modifier" placeholder="0" title="@{initiative_modifier}" type="number" value="0"/></label><span class="settings">+</span><label class="settings" data-i18n-title="modifierdice" title="Modifier Dice"><input min="0" max="4" name="attr_initiative_dice_modifier" placeholder="0" title="@{initiative_dice_modifier}" type="number" value="0"/></label><span class="settings" data-i18n="d6">d6</span></div><div class="rows grunt hide-magic"><button data-i18n="astralinitiative" name="Astral Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{astralinitiative}}}{{base=^{base}}}{{dice=[[((@{astral_initiative}+@{modifiers_toggle})d6>5cf0)+(@{astral_initiative})+(@{wounds_toggle}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}">Astral Initiative</button><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_astral_mod_modifier" placeholder="0" title="@{astral_modifier}" type="number" value="0"/></label><span class="settings">+</span><label class="settings" data-i18n-title="modifierdice" title="Modifier Dice"><input min="0" max="4" name="attr_astral_dice_modifier" placeholder="0" title="@{astral_dice_modifier}" type="number" value="0"/></label><span class="settings" data-i18n="d6">d6</span></div><div class="rows grunt vehicle sprite host"><button data-i18n="matrixinitiative" name="Matrix Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{matrixinitiative}}}{{base=^{base}}}{{dice=[[((@{matrix_initiative}+@{modifiers_toggle})d6>5cf0)+(@{matrix_initiative})+(@{wounds_toggle}) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}">Matrix Initiative</button><label class="settings" data-i18n-title="modifier" title="modifier"><input name="attr_matrix_mod_modifier" placeholder="0" title="@{matrix_modifier}" type="number" value="0"/></label><span class="settings">+</span><label class="settings" data-i18n-title="modifierdice" title="Modifier Dice"><input min="0" max="4" name="attr_matrix_dice_modifier" placeholder="0" title="@{matrix_dice_modifier}" type="number" value="0"/></label><span class="settings" data-i18n="d6">d6</span></div><div class="rows grunt"><h2 data-i18n="movement">Movement</h2><label class="settings" data-i18n-title="walk modifier" title="walk modifier"><input name="attr_walk_modifier" placeholder="0" title="@{walk_modifier}" type="number" value="0"/></label><span class="settings"> / </span><label class="settings" data-i18n-title="run modifier" title="run modifier"><input name="attr_run_modifier" placeholder="0" title="@{run_modifier}" type="number" value="0"/></label><span class="settings"> / + </span><label class="settings" data-i18n-title="movement modifier" title="movement modifier"><input name="attr_movement_mod_modifier" placeholder="2" title="@{movement_mod_modifier}" type="number" value="2"/></label><span class="settings"></span><span class="settings tiny-span">=</span><span name="attr_walk" title="@{walk}"></span><span> / </span><span name="attr_run" title="@{run}"></span><span> / + </span><span name="attr_movement_mod" title="@{movement_mod}"></span><span></span></div><div class="rows grunt"><button data-i18n="conditionmonitorps" name="act_cond_reset" type="action">Condition Monitor (P/S)</button><label class="settings" data-i18n-title="physicalbonus" title="physical bonus"><input name="attr_physical_modifier" placeholder="0" title="@{physical_modifier}" type="number" value="0"/></label><span class="settings">/</span><label class="settings" data-i18n-title="stunbonus" title="stun bonus"><input name="attr_stun_modifier" placeholder="0" title="@{stun_modifier}" type="number" value="0"/></label><span class="settings tiny-span">=</span><span name="attr_physical_max" title="@{physical_max}"></span><span>/</span><span name="attr_stun_max" title="@{stun_max}"></span></div><div class="rows vehicle"><button data-i18n="conditionmonitorpm" name="act_cond_reset" type="action">Condition Monitor (P/M)</button><label class="settings" data-i18n-title="physicalbonus" title="physical bonus"><input name="attr_physical_modifier" placeholder="0" title="@{physical_modifier}" type="number" value="0"/></label><span class="settings">/</span><label class="settings" data-i18n-title="matrixbonus" title="matrix bonus"><input name="attr_matrix_modifier" placeholder="0" title="@{matrix_modifier}" type="number" value="0"/></label><span class="settings tiny-span">=</span><span name="attr_physical_max" title="@{physical_max}"></span><span>/</span><span name="attr_matrix_max" title="@{matrix_max}"></span></div><div class="rows host sprite"><button data-i18n="conditionmonitorm" name="act_cond_reset" type="action">Condition Monitor (M)</button><span name="attr_matrix_max"></span></div><div class="grunt pain-tolerance"><div class="rows settings"><h2 data-i18n="high pain tolerance"></h2><label data-i18n-title="high pain tolerance"><input type="number" name="attr_high_pain_tolerance" min="0" value="" placeholder="#" title="@{high_pain_tolerance}"/></label></div><div class="rows settings"><h2 data-i18n="low pain tolerance"></h2><label data-i18n-title="low pain tolerance"><input type="checkbox" name="attr_low_pain_tolerance" value="2" title="@{low_pain_tolerance}"/></label></div><div class="rows settings"><h2 data-i18n="damage compensators"></h2><label data-i18n-title="damage compensators physical"><input type="number" min="0" name="attr_damage_compensators_physical" value="" placeholder="1" title="@{damage_compensators_physical}"/></label><span>/</span><label data-i18n-title="damage compensators stun"><input type="number" min="0" name="attr_damage_compensators_stun" value="" placeholder="2" title="@{damage_compensators_stun}"/></label></div></div><div class="rows"><h2 data-i18n="soak">soak</h2><label class="settings" data-i18n-title="soak"><input name="attr_soak_modifier" placeholder="0" title="@{soak_modifier}" type="number" value="0"/></label><span class="settings tiny-span">=</span><span name="attr_soak_modifier"></span></div><div class="rows"><button data-i18n="defense" name="roll_defense" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{defense}}}{{base=base}}{{dice=[[((@{defense})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">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></div></div><div class="column"><h1 class="settings" data-i18n="modifier">Modifier</h1><div class="rows"><button data-i18n="ballistic" name="roll_ballistic" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{ballistic}}}{{base=base}}{{dice=[[((@{ballistic}+@{soak})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">ballistic</button><label class="settings" data-i18n-title="ballistic"><input name="attr_ballistic" placeholder="9" title="@{ballistic}" type="number" value="0"/></label></div><div class="rows"><button data-i18n="impact" name="roll_impact" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{impact}}}{{base=base}}{{dice=[[((@{impact}+@{soak})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">impact</button><label class="settings" data-i18n-title="impact"><input name="attr_impact" placeholder="9" title="@{impact}" type="number" value="0"/></label></div><div class="rows"><button data-i18n="Acid Protection" name="roll_Acid Protection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Acid Protection}}}{{base=base}}{{dice=[[(((@{impact}/2)+@{Acid_modifier}+@{soak})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">Acid Protection</button><label class="protections" data-i18n-title="Acid"><input name="attr_acid_modifier" placeholder="0" title="@{@{repeating_armor_${x}_acid_modifier}" type="number" value="0"/></label></div><div class="rows"><button data-i18n="Cold Protection" name="roll_Cold Protection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Cold Protection}}}{{base=base}}{{dice=[[(((@{impact}/2)+@{Cold_modifier}+@{soak})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">Cold Protection</button><label class="protections" data-i18n-title="Cold"><input name="attr_cold_modifier" placeholder="0" title="@{@{repeating_armor_${x}_cold_modifier}" type="number" value="0"/></label></div><div class="rows"><button data-i18n="Electrical Protection" name="roll_Electrical Protection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Electrical Protection}}}{{base=base}}{{dice=[[(((@{impact}/2)+@{Electrical_modifier}+@{soak})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">Electrical Protection</button><label class="protections" data-i18n-title="Electrical"><input name="attr_electrical_modifier" placeholder="0" title="@{@{repeating_armor_${x}_electrical_modifier}" type="number" value="0"/></label></div><div class="rows"><button data-i18n="Fire Protection" name="roll_Fire Protection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Fire Protection}}}{{base=base}}{{dice=[[(((@{impact}/2)+@{Fire_modifier}+@{soak})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">Fire Protection</button><label class="protections" data-i18n-title="Fire"><input name="attr_fire_modifier" placeholder="0" title="@{@{repeating_armor_${x}_fire_modifier}" type="number" value="0"/></label></div><div class="rows"><button data-i18n="Radiation Protection" name="roll_Radiation Protection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Radiation Protection}}}{{base=base}}{{dice=[[(((@{impact}/2)+@{Radiation_modifier}+@{soak})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">Radiation Protection</button><label class="protections" data-i18n-title="Radiation"><input name="attr_radiation_modifier" placeholder="0" title="@{@{repeating_armor_${x}_radiation_modifier}" type="number" value="0"/></label></div></div><!--/- OPTIONS--><div class="column"><div class="rows"><h1 class="settings" data-i18n="options">Options</h1></div><div class="rows grunt"><label class="settings" data-i18n-title="mundane" title="mundane"><input class="character-type" name="attr_flag_special" title="@{flag_special}" type="radio" value="mundane"/><h2 data-i18n="mundane">key</h2></label><label class="settings" data-i18n-title="awakened" title="awakened"><input class="character-type" name="attr_flag_special" title="@{flag_special}" type="radio" value="magic"/><h2 data-i18n="awakened">key</h2></label><label class="settings" data-i18n-title="emerged" title="emerged"><input class="character-type" name="attr_flag_special" title="@{flag_special}" type="radio" value="resonance"/><h2 data-i18n="emerged">key</h2></label></div><div class="rows vehicle"><label class="settings" title="Drone"><input class="character-type" name="attr_flag_drone" title="@{flag_drone}" type="checkbox" value="drone"/><h2>Drone</h2></label></div></div></div><div class="end body"><input name="attr_quality" type="hidden" value=""/><div class="textrow grunt"><h1 data-i18n="quality">key</h1><span name="attr_quality"></span><label class="settings" data-i18n-title="quality" title="Qualities"><textarea name="attr_quality" placeholder="Qualities" title="@{quality}"></textarea></label></div><input name="attr_augmentations" type="hidden" value=""/><div class="textrow grunt"><h1 data-i18n="augmentations">key</h1><span name="attr_augmentations"></span><label class="settings" data-i18n-title="augmentations" title="Augmentations"><textarea name="attr_augmentations" placeholder="Augmentations" title="@{augmentations}"></textarea></label></div><input name="attr_gear" type="hidden" value=""/><div class="textrow grunt vehicle"><h1 data-i18n="gear">key</h1><span name="attr_gear"></span><label class="settings" data-i18n-title="gear" title="Gear"><textarea name="attr_gear" placeholder="Gear" title="@{gear}"></textarea></label></div><input name="attr_programs" type="hidden" value=""/><div class="textrow vehicle"><h1 data-i18n="programs">key</h1><span name="attr_programs"></span><label class="settings" data-i18n-title="programs" title="Programs"><textarea name="attr_programs" placeholder="Programs" title="@{programs}"></textarea></label></div><input name="attr_modifications" type="hidden" value=""/><div class="textrow vehicle"><h1 data-i18n="modifications">key</h1><span name="attr_modifications"></span><label class="settings" data-i18n-title="modifications" title="Modifications"><textarea name="attr_modifications" placeholder="Modifications" title="@{modifications}"></textarea></label></div><input name="attr_powers" type="hidden" value=""/><div class="textrow grunt hide-magic"><h1 data-i18n="powers">key</h1><span name="attr_powers"></span><label class="settings" data-i18n-title="powers" title="Powers"><textarea name="attr_powers" placeholder="Powers" title="@{powers}"></textarea></label></div><input name="attr_weakness" type="hidden" value=""/><div class="textrow grunt hide-magic"><h1 data-i18n="weakness">key</h1><span name="attr_weakness"></span><label class="settings" data-i18n-title="weakness" title="Weakness"><textarea name="attr_weakness" placeholder="Weakness" title="@{weakness}"></textarea></label></div><div class="textrow grunt hide-magic"><input name="attr_initiate" type="hidden" value=""/><h1 data-i18n="initiate">key</h1><span name="attr_initiate"></span><label class="settings" data-i18n-title="initiate" title="Initiate"><input name="attr_initiate" placeholder="initiate" type="number" title="@{initiate}"/></label><br/><span name="attr_metamagic"></span><label class="settings" data-i18n-title="metamagic" title="metamagic"><textarea name="attr_metamagic" placeholder="metamagic" title="@{metamagic}"></textarea></label></div><div class="textrow grunt hide-resonance"><input name="attr_submersion" type="hidden" value=""/><h1 data-i18n="submersion">key</h1><span name="attr_submersion"></span><label class="settings" data-i18n-title="submersion" title="Submersion"><input name="attr_submersion" placeholder="submersion" type="number" title="@{submersion}"/></label><br/><span name="attr_echos"></span><label class="settings" data-i18n-title="echos" title="echos"><textarea name="attr_echos" placeholder="echos" title="@{echos}"></textarea></label></div><div class="rows grunt repeating inline-repeating"><h1 data-i18n="skills">skills</h1><fieldset class="repeating_active"><input name="attr_display_rating" type="hidden"/><input name="attr_specialization" type="hidden" value=""/><input name="attr_display_attribute" type="hidden" value="Agility"/><input name="attr_dicepool" type="hidden" value="0"/><input name="attr_display_skill" type="hidden" value=""/><input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span><button class="eclipse" name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=}}"><span name="attr_display_skill"></span></button><button class="eclipse" name="roll_specialization" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute}+2)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Spec: @{specialization}}}"><span name="attr_specialization"></span></button><span name="attr_display_rating"></span><div class="settings"><h2 data-i18n="skill">Skill</h2><h2 data-i18n="rating">Rating</h2><h2 data-i18n="ratingmodifier">Rating Modifier</h2><h2 data-i18n="attribute">Attribute</h2><select class="skill-select" name="attr_skill" title="@{repeating_active_${x}_skill}" value="Close Combat Group"><option class="option-headers" disabled="true" data-i18n="combatskills">Combat Skills</option>
|
|
<option class="option-groups" value="Close Combat Group" data-i18n="closecombatgroup">Close Combat Group</option>
|
|
<option class="option-groups" value="Firearms Group" data-i18n="firearmsgroup">Firearms Group</option>
|
|
<option value="Archery" data-i18n="archery">Archery</option>
|
|
<option value="Automatics" data-i18n="automatics">Automatics</option>
|
|
<option value="Blades" data-i18n="blades">Blades</option>
|
|
<option value="Clubs" data-i18n="clubs">Clubs</option>
|
|
<option value="Dodge" data-i18n="dodge">Dodge</option>
|
|
<option value="Exotic Melee" data-i18n="exoticmelee">Exotic Melee</option>
|
|
<option value="Exotic Range" data-i18n="exoticrange">Exotic Range</option>
|
|
<option value="Heavy Weapons" data-i18n="heavyweapons">Heavy Weapons</option>
|
|
<option value="Longarms" data-i18n="longarms">Longarms</option>
|
|
<option value="Pistols" data-i18n="pistols">Pistols</option>
|
|
<option value="Throwing Weapons" data-i18n="throwingweapons">Throwing Weapons</option>
|
|
<option value="Unarmed Combat" data-i18n="unarmedcombat">Unarmed Combat</option>
|
|
<option class="option-headers" disabled="true" data-i18n="physicalskills">Physical Skills</option>
|
|
<option class="option-groups" value="Athletics Group" data-i18n="athleticsgroup">Athletics Group</option>
|
|
<option class="option-groups" value="Outdoors Group" data-i18n="outdoorsgroup">Outdoors Group</option>
|
|
<option class="option-groups" value="Stealth Group" data-i18n="stealthgroup">Stealth Group</option>
|
|
<option value="Climbing" data-i18n="climbing">Climbing</option>
|
|
<option value="Disguise" data-i18n="disguise">Disguise</option>
|
|
<option value="Diving" data-i18n="diving">Diving</option>
|
|
<option value="Escape Artist" data-i18n="escapeartist">Escape Artist</option>
|
|
<option value="Flight" data-i18n="flight">Flight</option>
|
|
<option value="Free Fall" data-i18n="freefall">Free Fall</option>
|
|
<option value="Gymnastics" data-i18n="gymnastics">Gymnastics</option>
|
|
<option value="infiltration" data-i18n="infiltration">Infiltration</option>
|
|
<option value="Navigation" data-i18n="navigation">Navigation</option>
|
|
<option value="Palming" data-i18n="palming">Palming</option>
|
|
<option value="Parachuting" data-i18n="parachuting">Parachuting</option>
|
|
<option value="Perception" data-i18n="perception">Perception</option>
|
|
<option value="Running" data-i18n="running">Running</option>
|
|
<option value="Shadowing" data-i18n="shadowing">Shadowing</option>
|
|
<option value="Survival" data-i18n="survival">Survival</option>
|
|
<option value="Swimming" data-i18n="swimming">Swimming</option>
|
|
<option value="Tracking" data-i18n="tracking">Tracking</option>
|
|
<option class="option-headers" disabled="true" data-i18n="socialskills">Social Skills</option>
|
|
<option class="option-groups" value="Influence Group" data-i18n="influencegroup">Influence Group</option>
|
|
<option value="Con" data-i18n="con">Con</option>
|
|
<option value="Etiquette" data-i18n="etiquette">Etiquette</option>
|
|
<option value="Instruction" data-i18n="instruction">Instruction</option>
|
|
<option value="Intimidation" data-i18n="intimidation">Intimidation</option>
|
|
<option value="Leadership" data-i18n="leadership">Leadership</option>
|
|
<option value="Negotiation" data-i18n="negotiation">Negotiation</option>
|
|
<option class="option-headers" disabled="true" data-i18n="magicalskills">Magical Skills</option>
|
|
<option class="option-groups" value="Conjuring Group" data-i18n="conjuringgroup">Conjuring Group</option>
|
|
<option class="option-groups" value="Sorcery Group" data-i18n="sorcerygroup">Sorcery Group</option>
|
|
<option value="Arcana" data-i18n="arcana">Arcana</option>
|
|
<option value="Assensing" data-i18n="assensing">Assensing</option>
|
|
<option value="Astral Combat" data-i18n="astralcombat">Astral Combat</option>
|
|
<option value="Banishing" data-i18n="banishing">Banishing</option>
|
|
<option value="Binding" data-i18n="binding">Binding</option>
|
|
<option value="Counterspelling" data-i18n="counterspelling">Counterspelling</option>
|
|
<option value="Enchanting" data-i18n="enchanting">Enchanting</option>
|
|
<option value="Ritual Spellcasting" data-i18n="ritualspellcasting">Ritual Spellcasting</option>
|
|
<option value="Spellcasting" data-i18n="spellcasting">Spellcasting</option>
|
|
<option value="Summoning" data-i18n="summoning">Summoning</option>
|
|
<option class="option-headers" disabled="true" data-i18n="resonanceskills">Resonance Skills</option>
|
|
<option class="option-groups" value="Tasking Group" data-i18n="taskinggroup">Tasking Group</option>
|
|
<option value="Compiling" data-i18n="compiling">Compiling</option>
|
|
<option value="Decompiling" data-i18n="decompiling">Decompiling</option>
|
|
<option value="Registering" data-i18n="registering">Registering</option>
|
|
<option class="option-headers" disabled="true" data-i18n="technicalskills">Technical Skills</option>
|
|
<option class="option-groups" value="Biotech Group" data-i18n="biotechgroup">Biotech Group</option>
|
|
<option class="option-groups" value="Cracking Group" data-i18n="crackinggroup">Cracking Group</option>
|
|
<option class="option-groups" value="Electronics Group" data-i18n="electronicsgroup">Electronics Group</option>
|
|
<option class="option-groups" value="Mechanical Group" data-i18n="mechanicalgroup">Mechanical Group</option>
|
|
<option value="Aeronautics Mechanic" data-i18n="aeronauticsmechanic">Aeronautics Mechanic</option>
|
|
<option value="Armorer" data-i18n="armorer">Armorer</option>
|
|
<option value="Artisan" data-i18n="artisan">Artisan</option>
|
|
<option value="Automotive Mechanic" data-i18n="automotivemechanic">Automotive Mechanic</option>
|
|
<option value="Chemistry" data-i18n="chemistry">Chemistry</option>
|
|
<option value="Computer" data-i18n="computer">Computer</option>
|
|
<option value="Cybercombat" data-i18n="cybercombat">Cybercombat</option>
|
|
<option value="Cybertechnology" data-i18n="cybertechnology">Cybertechnology</option>
|
|
<option value="Data Search" data-i18n="datasearch">Data Search</option>
|
|
<option value="Demolitions" data-i18n="demolitions">Demolitions</option>
|
|
<option value="Electronic Warfare" data-i18n="electronicwarfare">Electronic Warfare</option>
|
|
<option value="First Aid" data-i18n="firstaid">First Aid</option>
|
|
<option value="Forgery" data-i18n="forgery">Forgery</option>
|
|
<option value="Hacking" data-i18n="hacking">Hacking</option>
|
|
<option value="Hardware" data-i18n="hardware">Hardware</option>
|
|
<option value="Industrial Mechanic" data-i18n="industrialmechanic">Industrial Mechanic</option>
|
|
<option value="Locksmith" data-i18n="locksmith">Locksmith</option>
|
|
<option value="Medicine" data-i18n="medicine">Medicine</option>
|
|
<option value="Nautical Mechanic" data-i18n="nauticalmechanic">Nautical Mechanic</option>
|
|
<option value="Software" data-i18n="software">Software</option>
|
|
<option value="Gunnery" data-i18n="gunnery">Gunnery</option>
|
|
<option value="Pilot Aerospace" data-i18n="pilotaerospace">Pilot Aerospace</option>
|
|
<option value="Pilot Aircraft" data-i18n="pilotaircraft">Pilot Aircraft</option>
|
|
<option value="Pilot Anthroform" data-i18n="pilotanthroform">Pilot Anthroform</option>
|
|
<option value="Pilot Exotic Vehicle" data-i18n="pilotexoticvehicle">Pilot Exotic Vehicle</option>
|
|
<option value="Pilot Ground Craft" data-i18n="pilotgroundcraft">Pilot Ground Craft</option>
|
|
<option value="Pilot Watercraft" data-i18n="pilotwatercraft">Pilot Watercraft</option>
|
|
</select><label data-i18n-title="rating" title="rating"><input name="attr_rating" min="0" placeholder="0" title="@{repeating_active_${x}_rating}" type="number"/></label><label data-i18n-title="ratingmodifier" title="Rating Modifier"><input name="attr_rating_modifier" min="0" placeholder="0" title="@{repeating_active_${x}_rating_modifier}" type="number"/></label><select class="attribute-select" name="attr_attribute" title="@{repeating_active_${x}_attribute}"><option data-i18n="body" value="@{body}">Body</option><option data-i18n="agility" value="@{agility}" selected="selected">Agility</option><option data-i18n="reaction" value="@{reaction}">Reaction</option><option data-i18n="strength" value="@{strength}">Strength</option><option data-i18n="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}">Resonance</option></select><h2 class="full-row" data-i18n="specialization">specialization</h2><label class="full-row" data-i18n-title="specialization" title="specialization"> <input name="attr_specialization" placeholder="specializations" title="@{repeating_active_${x}_specialization}" type="text"/></label></div></fieldset></div><div class="rows grunt repeating inline-repeating"><h1 data-i18n="knowledgeskills">knowledgeskills</h1><fieldset class="repeating_knowledge"><input name="attr_display_rating" type="hidden"/><input name="attr_specialization" type="hidden" value=""/><input name="attr_display_attribute" type="hidden" value="Logic"/><input name="attr_dicepool" type="hidden" value="0"/><input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span><button class="eclipse" name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=}}"><span name="attr_skill"></span></button><button class="eclipse" name="roll_specialization" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute}+2)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Spec: @{specialization}}}"><span name="attr_specialization"></span></button><span name="attr_display_rating"></span><div class="settings"><h2 data-i18n="skill">Skill</h2><h2 data-i18n="rating">Rating</h2><h2 data-i18n="ratingmodifier">Rating Modifier</h2><h2 data-i18n="attribute">Attribute</h2><label data-i18n-title="skill" title="skill"><input name="attr_skill" placeholder="knowledge" title="@{repeating_knowledge_${x}_skill}" type="text"/></label><label data-i18n-title="rating" title="rating"><input name="attr_rating" min="0" placeholder="0" title="@{repeating_knowledge_${x}_rating}" type="number"/></label><label data-i18n-title="ratingmodifier" title="Rating Modifier"><input name="attr_rating_modifier" min="0" placeholder="0" title="@{repeating_knowledge_${x}_rating_modifier}" type="number"/></label><select class="attribute-select" name="attr_attribute" title="@{repeating_knowledge_${x}_attribute}"><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="charisma" value="@{charisma}">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}" selected="selected">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}">Resonance</option></select><h2 class="full-row" data-i18n="specialization">specialization</h2><label class="full-row" data-i18n-title="specialization" title="specialization"> <input name="attr_specialization" placeholder="specializations" title="@{repeating_knowledge_${x}_specialization}" type="text"/></label></div></fieldset></div><div class="rows grunt repeating inline-repeating"><h1 data-i18n="languageskills">languageskills</h1><fieldset class="repeating_language"><input name="attr_display_rating" type="hidden"/><input name="attr_specialization" type="hidden" value=""/><input name="attr_display_attribute" type="hidden" value="Charisma"/><input name="attr_dicepool" type="hidden" value="0"/><input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span><button class="eclipse" name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=}}"><span name="attr_skill"></span></button><button class="eclipse" name="roll_specialization" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute}+2)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Spec: @{specialization}}}"><span name="attr_specialization"></span></button><span name="attr_display_rating"></span><div class="settings"><h2 data-i18n="skill">Skill</h2><h2 data-i18n="rating">Rating</h2><h2 data-i18n="ratingmodifier">Rating Modifier</h2><h2 data-i18n="attribute">Attribute</h2><label data-i18n-title="skill" title="skill"><input name="attr_skill" placeholder="language" title="@{repeating_language_${x}_skill}" type="text"/></label><label data-i18n-title="rating" title="rating"><input name="attr_rating" min="0" placeholder="0" title="@{repeating_language_${x}_rating}" type="number"/></label><label data-i18n-title="ratingmodifier" title="Rating Modifier"><input name="attr_rating_modifier" min="0" placeholder="0" title="@{repeating_language_${x}_rating_modifier}" type="number"/></label><select class="attribute-select" name="attr_attribute" title="@{repeating_language_${x}_attribute}"><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="charisma" value="@{charisma}" selected="selected">Charisma</option><option data-i18n="intuition" value="@{intuition}">Intuition</option><option data-i18n="logic" value="@{logic}">Logic</option><option data-i18n="willpower" value="@{willpower}">Willpower</option><option data-i18n="magic" value="@{magic}">Magic</option><option data-i18n="resonance" value="@{resonance}">Resonance</option></select><h2 class="full-row" data-i18n="specialization">specialization</h2><label class="full-row" data-i18n-title="specialization" title="specialization"> <input name="attr_specialization" placeholder="specializations" title="@{repeating_language_${x}_specialization}" type="text"/></label></div></fieldset></div><div class="rows grunt vehicle repeating weapons"><h1 data-i18n="weapons">Weapons</h1><fieldset class="repeating_weapon"><input name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span><input name="attr_weapon" type="hidden" value=""/><span name="attr_weapon_dice"></span><button name="roll_weapon" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{weapon_type}}}{{base=^{base}}}{{dice=[[((@{weapon_dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc= DV @{weapon_dv}, AP @{weapon_ap}}}{{rea=[[@{weapon_reach}]]}}"><span name="attr_weapon_name"></span></button><span name="attr_weapon"></span><input name="attr_weapon_range" type="hidden" value="range"/><div class="settings"><h2 data-i18n="dice">Dice</h2><h2 data-i18n="name">Name</h2><h2 data-i18n="type">Type</h2><h2 data-i18n="reach">Reach</h2><h2 data-i18n="dam">Dam</h2><h2 data-i18n="ap">AP</h2><h2 data-i18n="modes">Modes</h2><h2 data-i18n="recoil">Recoil</h2><h2 data-i18n="ammo">Ammo</h2><h2 data-i18n="range">Range</h2><select name="attr_weapon_range" title="@{repeating_weapon_${x}_weapon_range}" value="range"><option data-i18n="range" value="range" selected="selected">range</option><option data-i18n="melee" value="melee">melee</option></select><label data-i18n-title="dice" title="Dice"><input name="attr_weapon_dice" placeholder="18" title="@{repeating_weapon_${x}_weapon_dice}" type="number" value=""/></label><label data-i18n-title="name" title="Name"><input name="attr_weapon_name" placeholder="Ares Predator" title="@{repeating_weapon_${x}_weapon_name}" type="text" value=""/></label><label data-i18n-title="type" title="Type"><input name="attr_weapon_type" placeholder="Heavy Pistol" title="@{repeating_weapon_${x}_weapon_type}" type="text" value=""/></label><label data-i18n-title="reach" title="Reach"><input name="attr_weapon_reach" placeholder="0" title="@{repeating_weapon_${x}_weapon_reach}" type="number" value="0"/></label><label data-i18n-title="dam" title="Dam"><input name="attr_weapon_dv" placeholder="9P" title="@{repeating_weapon_${x}_weapon_dv}" type="text" value=""/></label><label data-i18n-title="ap" title="AP"><input name="attr_weapon_ap" placeholder="-2" title="@{repeating_weapon_${x}_weapon_ap}" type="number" value=""/></label><label data-i18n-title="modes" title="Modes"><input name="attr_weapon_mode" placeholder="SA/BF/FA" title="@{repeating_weapon_${x}_weapon_mode}" type="text" value=""/></label><label data-i18n-title="recoil" title="Recoil"><input name="attr_weapon_recoil" placeholder="+2" title="@{repeating_weapon_${x}_weapon_recoil}" type="text" value=""/></label><label data-i18n-title="ammo" title="Ammo"><input name="attr_weapon_ammo" placeholder="15" title="@{repeating_weapon_${x}_weapon_ammo}" type="number" value=""/></label><label data-i18n-title="notes" title="Notes"><input name="attr_weapon_note" placeholder="w/ 3 clips of explosive rounds" title="@{repeating_weapon_${x}_weapon_note}" type="text" value=""/></label><span>(c)</span></div></fieldset></div><div class="rows grunt repeating spells hide-magic"><h1 data-i18n="spells">Spells</h1><fieldset class="repeating_NPCspell"><input name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span><input name="attr_spell" type="hidden" value=""/><span name="attr_dice"></span><button name="roll_spell" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{category}, ^{force} ?{Force|}, Drain [[ceil(?{Force|}/2)+(@{drain})]]}}"><span name="attr_name"></span></button><span name="attr_spell"></span><div class="settings"><input name="attr_category" type="hidden" value=""/><h2 data-i18n="category">Category</h2><h2 data-i18n="dice">Dice</h2><h2 data-i18n="name">Name</h2><h2 data-i18n="type">Type</h2><h2 data-i18n="range">Range</h2><h2 data-i18n="duration">Duration</h2><h2 data-i18n="drain">Drain</h2><h2 data-i18n="combat">Combat</h2><h2 data-i18n="dam">Dam</h2><select name="attr_category" title="@{repeating_NPCspell_${x}_category}" value="combat"><option data-i18n="combat" value="Combat" selected="selected">combat</option><option data-i18n="detection" value="Detection">detection</option><option data-i18n="health" value="Health">health</option><option data-i18n="illusion" value="Illusion">illusion</option><option data-i18n="manipulation" value="Manipulation">manipulation</option></select><label data-i18n-title="dice" title="Dice"><input name="attr_dice" placeholder="18" title="@{repeating_NPCspell_${x}_dice}" type="number"/></label><label data-i18n-title="name" title="Name"><input name="attr_name" placeholder="Fireball" title="@{repeating_NPCspell_${x}_name}" type="text"/></label><select name="attr_type" title="@{repeating_NPCspell_${x}_type}" value="P"><option data-i18n="mana" value="M">mana</option><option data-i18n="physical" value="P">physical</option></select><select name="attr_range" title="@{repeating_NPCspell_${x}_range}" value="LOS"><option data-i18n="los" value="LOS">los</option><option data-i18n="los (a)" value="LOS (A)">los (a)</option><option data-i18n="special" value="Special">special</option><option data-i18n="t" value="T">t</option><option data-i18n="t (a)" value="T (A)">t (a)</option></select><select name="attr_duration" title="@{repeating_NPCspell_${x}_duration}" value="Instant"><option data-i18n="instant" value="Instant">instant</option><option data-i18n="permanent" value="Permanent">permanent</option><option data-i18n="special" value="Special">special</option><option data-i18n="sustained" value="Sustained">sustained</option></select><label data-i18n-title="drain" title="Drain"><input name="attr_drain" placeholder="-1" title="@{repeating_NPCspell_${x}_drain}" type="number"/></label><select name="attr_combat_type" title="@{repeating_NPCspell_${x}_combat_type}" value="Force"><option value="Force " selected="selected"></option><option data-i18n="direct" value="Direct, Force ">direct</option><option data-i18n="indirect" value="Indirect, Force ?{Force|}, AP -">indirect</option></select><label data-i18n-title="dam" title="Dam"><input name="attr_damage" placeholder="P" title="@{repeating_NPCspell_${x}_damage}" type="text"/></label><label data-i18n-title="notes" title="Notes"><input name="attr_note" placeholder="may start fires" title="@{repeating_NPCspell_${x}_note}" type="text"/></label></div></fieldset></div><div class="rows grunt repeating forms hide-resonance"><h1 data-i18n="complex form">Complex Forms</h1><fieldset class="repeating_form"><input name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span><input name="attr_form" type="hidden" value=""/><span name="attr_form_dice"></span><button name="roll_complex form" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=f@{orm_name}}}{{base=^{base}}}{{dice=[[((@{form_dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=?{Level|}, Fade [[?{Level|}+(@{form_fade})]]}}"><span name="attr_form_name"></span></button><span name="attr_form"></span><div class="settings"><h2 data-i18n="dice">Dice</h2><h2 data-i18n="name">Name</h2><h2 data-i18n="target">Target</h2><h2 data-i18n="duration">Duration</h2><h2 data-i18n="fade">Fade</h2><label data-i18n-title="dice" title="Dice"><input name="attr_form_dice" placeholder="18" title="@{repeating_form_${x}_form_dice}" type="number"/></label><label data-i18n-title="name" title="Name"><input name="attr_form_name" placeholder="Editor" title="@{repeating_form_${x}_form_name}" type="text"/></label><select name="attr_form_target" title="@{repeating_form_${x}_form_target}" value="device"><option data-i18n="device" value="device" selected="selected">device</option><option data-i18n="file" value="file">file</option><option data-i18n="host" value="host">host</option><option data-i18n="ic" value="ic">ic</option><option data-i18n="persona" value="persona">persona</option><option data-i18n="self" value="self">self</option><option data-i18n="sprite" value="sprite">sprite</option></select><label data-i18n-title="duration" title="Duration"><input name="attr_form_duration" placeholder="Permanent" title="@{repeating_form_${x}_form_duration}" type="text"/></label><label data-i18n-title="fade" title="Fade"><input name="attr_form_fade" placeholder="+2" title="@{repeating_form_${x}_form_fade}" type="number"/></label><label data-i18n-title="notes" title="Notes"><input name="attr_form_note" placeholder="edit files" title="@{repeating_form_${x}_form_note}" type="text"/></label></div></fieldset></div></div></div><div class="footer"><div><span data-i18n="copyrightfooter"></span><span>Version</span><span name="attr_version"></span></div><img alt="Emerald Productins, LLC" src="https://raw.githubusercontent.com/clevett/roll20-character-sheets/shadowrun4ev1/Shadowrun4thEdition/src/imgs/EProd_Emerald_Gloss.png"/></div><div class="rolltemplates"><rolltemplate class="sheet-rolltemplate-rolls"><div class="sheet-template-container"><div class="sheet-template-header">{{#header}}<h1>{{header}}</h1>{{/header}}
|
|
{{#base}}<span>{{base}}</span>{{/base}}
|
|
{{#rollLess() wound 0}}<span> ♦ </span><span data-i18n="wounds"></span>{{/rollLess() wound 0}}
|
|
{{#rollLess() mod 0}}<span> ♦ </span><span data-i18n="modifier"></span>{{/rollLess() mod 0}}
|
|
{{#rollGreater() mod 0}}<span> ♦ </span><span data-i18n="modifier"></span>{{/rollGreater() mod 0}}
|
|
{{#rollGreater() edge 0}}<span> ♦ </span><span data-i18n="edge"></span>{{/rollGreater() edge 0}}</div><div class="sheet-template-body">{{#dice}}<div class="sheet-template-row"><span class="inlinerollresult">{{dice}}</span></div>{{/dice}}
|
|
{{#desc}}<div class="sheet-template-row"><span class="sheet-template-desc"> {{desc}}
|
|
{{#rollGreater() rea 0}}<span>,</span><span data-i18n="reach"></span>{{rea}}
|
|
{{/rollGreater() rea 0}}
|
|
{{#rollGreater() drain 1}}<span>,</span><span data-i18n="drain"></span>{{drain}}
|
|
{{/rollGreater() drain 1}}
|
|
{{#rollLess() drain 1}}<span>,</span><span data-i18n="drain-2"></span>{{drain}}
|
|
{{/rollLess() drain 1}}</span></div>{{/desc}}</div></div></rolltemplate></div><input type="hidden" name="attr_wounds" value="0" />
|
|
<input type="hidden" name="attr_explode_toggle" value="" />
|
|
<input type="hidden" name="attr_attribute_roll" value="" />
|
|
|
|
<input type="hidden" name="attr_armor_name" value="select a Primary in Arms" />
|
|
<input type="hidden" name="attr_impact" min="0" value="3" />
|
|
<input type="hidden" name="attr_ballistic" min="0" value="3" />
|
|
|
|
<input type="hidden" name="attr_primary_range_weapon" value="select a Primary in Arms" />
|
|
<input type="hidden" name="attr_primary_range_weapon_skill" />
|
|
<input type="hidden" name="attr_primary_range_weapon_damage" />
|
|
<input type="hidden" name="attr_primary_range_weapon_dicepool" />
|
|
<input type="hidden" name="attr_primary_range_weapon_ap" />
|
|
<input type="hidden" name="attr_primary_range_weapon_mode" />
|
|
<input type="hidden" name="attr_primary_range_weapon_recoil" />
|
|
<input type="hidden" name="attr_primary_range_weapon_ammo" />
|
|
<input type="hidden" name="attr_shots_fired" value="1" />
|
|
|
|
<input type="hidden" name="attr_primary_melee_weapon" value="select a Primary in Arms" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_skill" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_damage" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_dicepool" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_ap" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_reach" />
|
|
|
|
<input type="hidden" name="attr_initiative_mod" value="6" />
|
|
<input type="hidden" name="attr_initiative_passes" min="1" max="5" value="1" />
|
|
<input type="hidden" name="attr_astral_initiative" max="0" value="0" />
|
|
<input type="hidden" name="attr_matrix_initiative" value="0" />
|
|
<input type="hidden" name="attr_walk" value="12" />
|
|
<input type="hidden" name="attr_run" value="24" />
|
|
<input type="hidden" name="attr_physical" value="0" />
|
|
<input type="hidden" name="attr_stun" value="0" />
|
|
<input type="hidden" name="attr_physical_max" min="0" value="10" />
|
|
<input type="hidden" name="attr_stun_max" min="0" value="10" />
|
|
<input type="hidden" name="attr_matrix" value="0" />
|
|
<input type="hidden" name="attr_matrix_max" min="8" value="10" />
|
|
<input type="hidden" name="attr_defense" value="6" />
|
|
|
|
<input type="hidden" name="attr_aeronauticsmechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_arcana" min="0" value="0" />
|
|
<input type="hidden" name="attr_archery" min="0" value="0" />
|
|
<input type="hidden" name="attr_armorer" min="0" value="0" />
|
|
<input type="hidden" name="attr_artificing" min="0" value="0" />
|
|
<input type="hidden" name="attr_artisan" min="0" value="0" />
|
|
<input type="hidden" name="attr_assensing" min="0" value="0" />
|
|
<input type="hidden" name="attr_astralcombat" min="0" value="0" />
|
|
<input type="hidden" name="attr_athletics" min="0" value="0" />
|
|
<input type="hidden" name="attr_automatics" min="0" min="0" value="0" />
|
|
<input type="hidden" name="attr_automotivemechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_banishing" min="0" value="0" />
|
|
<input type="hidden" name="attr_binding" min="0" value="0" />
|
|
<input type="hidden" name="attr_biotech" min="0" value="0" />
|
|
<input type="hidden" name="attr_blades" min="0" value="0" />
|
|
<input type="hidden" name="attr_chemistry" min="0" value="0" />
|
|
<input type="hidden" name="attr_closecombat" min="0" value="0" />
|
|
<input type="hidden" name="attr_clubs" min="0" value="0" />
|
|
<input type="hidden" name="attr_compiling" min="0" value="0" />
|
|
<input type="hidden" name="attr_computer" min="0" value="0" />
|
|
<input type="hidden" name="attr_con" min="0" value="0" />
|
|
<input type="hidden" name="attr_conjuring" min="0" value="0" />
|
|
<input type="hidden" name="attr_counterspelling" min="0" value="0" />
|
|
<input type="hidden" name="attr_cracking" min="0" value="0" />
|
|
<input type="hidden" name="attr_cybercombat" min="0" value="0" />
|
|
<input type="hidden" name="attr_cybertechnology" min="0" value="0" />
|
|
<input type="hidden" name="attr_decompiling" min="0" value="0" />
|
|
<input type="hidden" name="attr_demolitions" min="0" value="0" />
|
|
<input type="hidden" name="attr_disguise" min="0" value="0" />
|
|
<input type="hidden" name="attr_diving" min="0" value="0" />
|
|
<input type="hidden" name="attr_electronics" min="0" value="0" />
|
|
<input type="hidden" name="attr_electronicwarfare" min="0" value="0" />
|
|
<input type="hidden" name="attr_enchanting" min="0" value="0" />
|
|
<input type="hidden" name="attr_escapeartist" min="0" value="0" />
|
|
<input type="hidden" name="attr_etiquette" min="0" value="0" />
|
|
<input type="hidden" name="attr_exoticmelee" min="0" value="0" />
|
|
<input type="hidden" name="attr_exoticrange" min="0" value="0" />
|
|
<input type="hidden" name="attr_firearms" min="0" value="0" />
|
|
<input type="hidden" name="attr_firstaid" min="0" value="0" />
|
|
<input type="hidden" name="attr_flight" min="0" value="0" />
|
|
<input type="hidden" name="attr_forgery" min="0" value="0" />
|
|
<input type="hidden" name="attr_freefall" min="0" value="0" />
|
|
<input type="hidden" name="attr_gunnery" min="0" value="0" />
|
|
<input type="hidden" name="attr_gymnastics" min="0" value="0" />
|
|
<input type="hidden" name="attr_hacking" min="0" value="0" />
|
|
<input type="hidden" name="attr_hardware" min="0" value="0" />
|
|
<input type="hidden" name="attr_heavyweapons" min="0" value="0" />
|
|
<input type="hidden" name="attr_industrialmechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_influence" min="0" value="0" />
|
|
<input type="hidden" name="attr_instruction" min="0" value="0" />
|
|
<input type="hidden" name="attr_intimidation" min="0" value="0" />
|
|
<input type="hidden" name="attr_leadership" min="0" value="0" />
|
|
<input type="hidden" name="attr_locksmith" min="0" value="0" />
|
|
<input type="hidden" name="attr_longarms" min="0" value="0" />
|
|
<input type="hidden" name="attr_medicine" min="0" value="0" />
|
|
<input type="hidden" name="attr_nauticalmechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_navigation" min="0" value="0" />
|
|
<input type="hidden" name="attr_negotiation" min="0" value="0" />
|
|
<input type="hidden" name="attr_outdoors" min="0" value="0" />
|
|
<input type="hidden" name="attr_palming" min="0" value="0" />
|
|
<input type="hidden" name="attr_perception" min="0" value="0" />
|
|
<input type="hidden" name="attr_performance" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotaerospace" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotaircraft" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotexoticvehicle" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotgroundcraft" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotwalker" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotwatercraft" min="0" value="0" />
|
|
<input type="hidden" name="attr_pistols" min="0" value="0" />
|
|
<input type="hidden" name="attr_registering" min="0" value="0" />
|
|
<input type="hidden" name="attr_ritualspellcasting" min="0" value="0" />
|
|
<input type="hidden" name="attr_running" min="0" value="0" />
|
|
<input type="hidden" name="attr_sneaking" min="0" value="0" />
|
|
<input type="hidden" name="attr_software" min="0" value="0" />
|
|
<input type="hidden" name="attr_sorcery" min="0" value="0" />
|
|
<input type="hidden" name="attr_spellcasting" min="0" value="0" />
|
|
<input type="hidden" name="attr_stealth" min="0" value="0" />
|
|
<input type="hidden" name="attr_summoning" min="0" value="0" />
|
|
<input type="hidden" name="attr_survival" min="0" value="0" />
|
|
<input type="hidden" name="attr_swimming" min="0" value="0" />
|
|
<input type="hidden" name="attr_tasking" min="0" value="0" />
|
|
<input type="hidden" name="attr_throwingweapons" min="0" value="0" />
|
|
<input type="hidden" name="attr_tracking" min="0" value="0" />
|
|
<input type="hidden" name="attr_unarmedcombat" min="0" value="0" />
|
|
|
|
<input type="hidden" name="attr_dodge" min="0" value="0" />
|
|
<input type="hidden" name="attr_infiltration" min="0" value="0" />
|
|
<input type="hidden" name="attr_shadowing" min="0" value="0" />
|
|
<input type="hidden" name="attr_datasearch" min="0" value="0" /><script type="text/worker">
|
|
const sheetAttributes = {
|
|
attributes: ['body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition', 'charisma', 'edge'],
|
|
translationsAttributes: ['attribute', 'body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition', 'charisma', 'edge', 'none'],
|
|
repeating: ['quality', 'martial', 'items', 'range', 'melee', 'armor', 'spell', 'preps', 'ritual', 'powers', 'forms', 'vehicle', 'augementations', 'lifestyle', 'contacts', 'programs'],
|
|
repeatingSkills: ['active', 'knowledge', 'language'],
|
|
tabs: [`core`, `arms`, `augs`, `gear`, `magic`, `matrix`, `social`, `vehicle`, `options`],
|
|
woundCalculation: ['high_pain_tolerance', 'low_pain_tolerance', 'damage_compensators_physical', 'damage_compensators_stun', 'stun', 'physical'],
|
|
|
|
calculatedAttributes: ['body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition','charisma','magic', 'resonance', 'attack', 'sleaze', 'data_processing', 'firewall'],
|
|
|
|
initiative: ['reaction', 'intuition', 'initiative_modifier', 'initiative_temp', 'initiative_temp_flag'],
|
|
initiative_passes: ['initiative_passes_base', 'initiative_passes_modifier', 'initiative_passes_temp', 'initiative_passes_temp_flag'],
|
|
astral_initiative: ['intuition', 'astral_initiative_modifier'],
|
|
matrix_initiative: [],
|
|
|
|
derivedAttributes: ['memory', 'composure', 'defense', 'soak', 'overflow', 'judge_intentions', 'lift_carry'],
|
|
lift_carry: ['body', 'strength', 'lift_carry_modifier'],
|
|
overflow: ['body', 'overflow_modifier'],
|
|
soak: ['body', 'soak_modifier', 'soak_temp', `soak_temp_flag`],
|
|
defense: ['reaction', 'defense_modifier', 'defense_temp', `defense_temp_flag`],
|
|
judge_intentions: ['charisma', 'intuition', 'judge_intentions_modifier'],
|
|
composure: ['charisma', 'willpower', 'composure_modifier'],
|
|
memory: ['logic', 'willpower', 'memory_modifier'],
|
|
|
|
conditionTracks: ['stun', 'physical', 'matrix'],
|
|
physical: ['physical_modifier', 'body', 'sheet_type', 'flag_drone'],
|
|
stun: ['stun_modifier', 'willpower'],
|
|
matrix: ['matrix_modifier', 'device_rating'],
|
|
|
|
stunCharacters: ['grunt', 'pc'],
|
|
physicalCharacters: ['grunt', 'pc', 'vehicle'],
|
|
matrixCharacters: ['vehicle', 'host', 'sprite'],
|
|
matrixAttributes: ['attack', 'sleaze', 'data_processing', 'firewall'],
|
|
|
|
weaponTypes: ['range', 'melee'],
|
|
rangeAttributes: ['dicepool', 'weapon', 'damage', 'ap', 'skill', 'ammo', 'mode', 'recoil'],
|
|
meleeAttributes: ['dicepool', 'weapon', 'damage', 'ap', 'skill', 'reach'],
|
|
|
|
spellTypes: ['spell', 'preps', 'ritual', 'forms'],
|
|
|
|
armorAttributes: ['name', 'impact', 'ballistic', 'modifier'],
|
|
armorSoak: ['modifier', 'rating'],
|
|
armorProtections: ['impact', 'acid', 'electrical', 'cold', 'fire', 'falling']
|
|
}
|
|
|
|
class PrimaryWeapon {
|
|
constructor(type) {
|
|
this[`primary_${type}_weapon`] = 'select a Primary in Arms',
|
|
this[`primary_${type}_weapon_skill`] = type === 'range' ? '@{firearms}' : '@{closecombat}',
|
|
this[`primary_${type}_weapon_damage`] = '',
|
|
this[`primary_${type}_weapon_dicepool`] = '',
|
|
this[`primary_${type}_weapon_ap`] = ''
|
|
}
|
|
}
|
|
|
|
class PrimaryRangeWeapon extends PrimaryWeapon {
|
|
constructor(type) {
|
|
super(type)
|
|
this[`primary_${type}_weapon_mode`] = '',
|
|
this[`primary_${type}_weapon_recoil`] = '',
|
|
this[`primary_${type}_weapon_ammo`] = '',
|
|
this[`primary_${type}_weapon_ammo_max`] = ''
|
|
}
|
|
}
|
|
|
|
class PrimaryMeleeWeapon extends PrimaryWeapon {
|
|
constructor(type) {
|
|
super(type)
|
|
this[`primary_${type}_weapon_reach`] = ''
|
|
}
|
|
}
|
|
|
|
class PrimaryArmor {
|
|
constructor(name) {
|
|
this.armor_name = name || 'select a Primary in Arms',
|
|
this.soak = 0,
|
|
this.soak_modifier = 0,
|
|
this.armor_rating = 0,
|
|
this.acid_modifier = 0,
|
|
this.cold_modifier = 0,
|
|
this.fire_modifier = 0,
|
|
this.radiation_modifier = 0,
|
|
this.electrical_modifier = 0
|
|
}
|
|
}
|
|
|
|
const processingFunctions = {
|
|
convertIntegerNegative: number => number > 0 ? -Math.abs(number) : number,
|
|
convertIntegersNegatives: numbers => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = processingFunctions.convertIntegerNegative(value);
|
|
}
|
|
return numbers
|
|
},
|
|
|
|
findRepeatingField: trigger => trigger.split('_')[1],
|
|
//Roll20 does not allow for Promises
|
|
//getAttributes: array => new Promise((resolve, reject) => array ? getAttrs(array, v => resolve(v)) : reject(errorMessage('Function failed'))),
|
|
getReprowid: trigger => {
|
|
const split = trigger.split('_');
|
|
return `${split[0]}_${split[1]}_${split[2]}`
|
|
},
|
|
|
|
getReprowAttribute: key => {
|
|
const getReprowid = processingFunctions.getReprowid(key)
|
|
return key.split(`${getReprowid}_`)[1]
|
|
},
|
|
|
|
getTranslations: translationKeys => {
|
|
let translations = {}
|
|
translationKeys.forEach(key => translations[`${key}`] = getTranslationByKey(key))
|
|
return translations
|
|
},
|
|
|
|
parseInteger: string => parseInt(string) || 0,
|
|
parseIntegers: numbers => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = parseInt(value) || 0;
|
|
}
|
|
return numbers
|
|
},
|
|
|
|
setAttributes: (update, silent) => silent && typeof update === 'object' ? setAttrs(update, {silent:true}) : typeof update === 'object' ? setAttrs(update) : console.error(`${update} is not an object`),
|
|
|
|
sliceAttr: attribute => attribute.slice(2, -1),
|
|
|
|
sumIntegers: numbers => numbers.reduce((a,b) => a + b, 0),
|
|
|
|
shadowrun: {
|
|
addRepRow: (repRowID, attributeList) => {
|
|
let weaponAttributeWithRepeatingRow = []
|
|
attributeList.forEach(weaponAttribute => weaponAttributeWithRepeatingRow.push(`${repRowID}_${weaponAttribute}`))
|
|
return weaponAttributeWithRepeatingRow
|
|
},
|
|
attributeFactory: attrs => {
|
|
attrs = processingFunctions.shadowrun.findFlagInKeys(attrs) ? processingFunctions.shadowrun.processTempFlags(attrs) : attrs
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
attrs = processingFunctions.shadowrun.calculateBonuses(attrs)
|
|
attrs.total = processingFunctions.sumIntegers(Object.values(attrs))
|
|
attrs.base = attrs.total - attrs.bonus
|
|
return attrs
|
|
},
|
|
conditionFactory: attrs => {
|
|
attrs.attribute = processingFunctions.shadowrun.determineConditionAttribute(attrs)
|
|
attrs.base = processingFunctions.shadowrun.determineConditionBase(attrs.sheet_type, attrs.flag_drone)
|
|
attrs.modifier = attrs[processingFunctions.shadowrun.findModifierInKeys(attrs)]
|
|
Object.keys(attrs).forEach(key => !['attribute', 'base', 'modifier'].includes(key) ? delete attrs[key] : false)
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
return attrs
|
|
},
|
|
contructRepeatingWeaponAttributes: (repRowID, type) => {
|
|
const attributeList = processingFunctions.shadowrun.determineWeaponAttributesByType(type)
|
|
const constructedWeaponAttributes = processingFunctions.shadowrun.addRepRow(repRowID, attributeList)
|
|
return constructedWeaponAttributes
|
|
},
|
|
buildDisplay: (base, bonus) => bonus === 0 ? base : `${base} (${base + bonus})`,
|
|
calculateBonuses: attrs => {
|
|
attrs.bonus = 0
|
|
for (let [key, value] of Object.entries(attrs)) {
|
|
if (key.includes('modifier') || key.includes('temp')) {
|
|
attrs.bonus += value
|
|
delete attrs[key]
|
|
}
|
|
}
|
|
return attrs
|
|
},
|
|
calculateConditionTracks: conditionInts => Math.ceil(conditionInts.attribute/2) + conditionInts.base + conditionInts.modifier,
|
|
calculateRunSpeed: (agility, modifier) => 25 + modifier,
|
|
calculateWalkSpeed:(agility, modifier) => 10 + modifier,
|
|
calculateWounds: attrs => {
|
|
const divisor = attrs.low_pain_tolerance === 2 ? attrs.low_pain_tolerance : 3;
|
|
const highPain = attrs.high_pain_tolerance >= 1 ? attrs.high_pain_tolerance : 0;
|
|
let sum = 0;
|
|
|
|
["stun", "physical"].forEach(attr => {
|
|
const damageCompensator = attrs[`damage_compensators_${attr}`] || 0
|
|
let dividend = Math.max(attrs[`${attr}`] - (highPain + damageCompensator), 0)
|
|
sum -= Math.floor(dividend / divisor) || 0
|
|
})
|
|
return sum
|
|
},
|
|
convertSkillSelectToHiddenSkill: skillName => {
|
|
let skill = skillName.toLowerCase()
|
|
skill = skill.includes('group') ? skill.slice(0, -6) : skill
|
|
skill = skill.includes(" ") ? skill.replace(/ /g,"") : skill
|
|
return skill
|
|
},
|
|
determineConditionBase: (type, drone) => drone && drone === 'drone' ? 6 : type === 'vehicle' ? 12 : 8,
|
|
determineConditionAttribute: attrs => attrs.willpower ? attrs.willpower : attrs.body ? attrs.body : attrs.device_rating ? attrs.device_rating : 0,
|
|
determineWeaponAttributesByType: weaponType => weaponType === 'range' ? sheetAttributes.rangeAttributes : sheetAttributes.meleeAttributes,
|
|
determineExplodingEdge: newValue => newValue === `@{edge}` ? "!" : "",
|
|
findFlagInKeys: attrs => Object.keys(attrs).find(key => key.includes('_flag')),
|
|
findModifierInKeys: attrs => Object.keys(attrs).find(key => key.includes('_modifier')),
|
|
processTempFlags: attrs => {
|
|
try {
|
|
const tempFlag = processingFunctions.shadowrun.findFlagInKeys(attrs)
|
|
const attrName = tempFlag.split('_temp_flag')[0]
|
|
attrs[`${tempFlag}`] === 'on' ? false : delete attrs[`${attrName}_temp`];
|
|
delete attrs[`${tempFlag}`];
|
|
return attrs
|
|
} catch (error) {
|
|
console.error(error)
|
|
}
|
|
},
|
|
resetRepeatingFieldsPrimaries: (repeatingSection, repRowID) => {
|
|
getSectionIDs(repeatingSection, ids => {
|
|
let attributesWithIDs = [];
|
|
let update = {};
|
|
ids.forEach(id => attributesWithIDs.push(`${repeatingSection}_${id}_primary`))
|
|
attributesWithIDs.forEach(attribute => !attribute.includes(repRowID) ? update[attribute] = 0 : false)
|
|
setAttrs(update);
|
|
})
|
|
},
|
|
shotsFired: (shots, trigger) => shots > 0 && trigger.includes('remove') ? shots -= 1 : trigger.includes('add') ? shots += 1 : shots,
|
|
resetPrimaryArmor: () => {
|
|
const resetPrimary = new PrimaryArmor()
|
|
let update = {}
|
|
for (let [key, value] of Object.entries(resetPrimary)) {
|
|
update[key] = value
|
|
}
|
|
return update
|
|
},
|
|
resetPrimaryWeapon: type => {
|
|
const resetPrimary = type === 'range' ? new PrimaryRangeWeapon(type) : new PrimaryMeleeWeapon(type)
|
|
let update = {}
|
|
for (let [key, value] of Object.entries(resetPrimary)) {
|
|
update[key] = value
|
|
}
|
|
return update
|
|
},
|
|
updatePrimaryArmor: attrs => {
|
|
let update = {}
|
|
|
|
for (let [key, value] of Object.entries(attrs)) {
|
|
const repRowID = processingFunctions.getReprowid(key)
|
|
if (key.includes('name')) {
|
|
update['armor_name'] = attrs[`${repRowID}_name`]
|
|
} else if (key.includes('impact')) {
|
|
update['impact'] = value
|
|
} else if (key.includes('modifier')) {
|
|
update['soak_modifier'] = value
|
|
} else {
|
|
update[`ballistic`] = value
|
|
}
|
|
}
|
|
|
|
return update
|
|
},
|
|
updatePrimaryWeapons: attrs => {
|
|
let update = {}
|
|
for (let [key, value] of Object.entries(attrs)) {
|
|
const type = processingFunctions.findRepeatingField(key)
|
|
const weaponAttribute = processingFunctions.getReprowAttribute(key)
|
|
const primaryAttributeName = key.includes('weapon') ? `primary_${type}_weapon` : `primary_${type}_weapon_${weaponAttribute}`
|
|
update[primaryAttributeName] = value
|
|
|
|
if (key.includes('ammo')) {
|
|
update[`${primaryAttributeName}_max`] = value
|
|
}
|
|
}
|
|
return update
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//for Mocha Unit Texting
|
|
//module.exports = processingFunctions;
|
|
|
|
//Edge toggle to include ! for exploding dice
|
|
const edgeToggle = newValue => {
|
|
processingFunctions.setAttributes({
|
|
explode_toggle: processingFunctions.shadowrun.determineExplodingEdge(newValue)
|
|
})
|
|
}
|
|
|
|
const updateHostAttributes = newValue => {
|
|
newValue = processingFunctions.parseInteger(newValue)
|
|
processingFunctions.setAttributes({
|
|
matrix_max: 8 + Math.ceil(newValue/2),
|
|
ic_attack: Math.min(newValue + newValue)
|
|
})
|
|
}
|
|
|
|
const updateSpriteConditionTrack = newValue => {
|
|
newValue = processingFunctions.parseInteger(newValue)
|
|
processingFunctions.setAttributes({
|
|
matrix_max: 8 + Math.ceil(newValue/2)
|
|
})
|
|
}
|
|
|
|
//ALSO COVER COMPLEX FORMS
|
|
const updateSpellsDicepool = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
getAttrs([`${repRowID}_specialization`, `${repRowID}_dicepool_modifier`], attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
processingFunctions.setAttributes({
|
|
[`${repRowID}_dicepool`]: processingFunctions.sumIntegers(Object.values(attrs))
|
|
})
|
|
})
|
|
}
|
|
|
|
const resetNpcCondition = () => setAttributes({physical: 0, stun: 0, matrix: 0})
|
|
|
|
const updatePrimary = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
getAttrs([`${repRowID}_primary`], attrs => {
|
|
if (attrs[`${repRowID}_primary`] === 'primary') {
|
|
let update = {}
|
|
|
|
if (repRowID.includes('armor')) {
|
|
update = processingFunctions.shadowrun.updatePrimaryArmor({[eventinfo.triggerName]: eventinfo.newValue})
|
|
} else {
|
|
update = processingFunctions.shadowrun.updatePrimaryWeapons({[eventinfo.triggerName]: eventinfo.newValue})
|
|
}
|
|
|
|
processingFunctions.setAttributes(update)
|
|
}
|
|
})
|
|
}
|
|
|
|
const updateRepeatingPrimary = (eventinfo, type) => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
if (eventinfo.newValue === undefined) {
|
|
return false
|
|
} else if (eventinfo.newValue === 'primary') {
|
|
const constructedAttributes = type === 'armor' ? processingFunctions.shadowrun.addRepRow(repRowID, sheetAttributes.armorAttributes) : processingFunctions.shadowrun.contructRepeatingWeaponAttributes(repRowID, type);
|
|
|
|
//get the attributes to update primary
|
|
getAttrs(constructedAttributes, attrs => {
|
|
const update = type === 'armor' ? processingFunctions.shadowrun.updatePrimaryArmor(attrs) : processingFunctions.shadowrun.updatePrimaryWeapons(attrs);
|
|
processingFunctions.setAttributes(update)
|
|
})
|
|
|
|
//Reset all the other primaries
|
|
processingFunctions.shadowrun.resetRepeatingFieldsPrimaries(`repeating_${type}`, repRowID)
|
|
} else {
|
|
const update = type === 'armor' ? processingFunctions.shadowrun.resetPrimaryArmor() : processingFunctions.shadowrun.resetPrimaryWeapon(type);
|
|
processingFunctions.setAttributes(update)
|
|
}
|
|
}
|
|
|
|
const updateRepeatingWeaponDicepool = trigger => {
|
|
const repRowID = processingFunctions.getReprowid(trigger)
|
|
getAttrs([`${repRowID}_dicepool_modifier`, `${repRowID}_specialization`], attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
processingFunctions.setAttributes({
|
|
[`${repRowID}_dicepool`]: processingFunctions.sumIntegers(Object.values(attrs))
|
|
})
|
|
})
|
|
}
|
|
|
|
const updateRepeatingSkillDicepool = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
getAttrs([`${repRowID}_skill`], attrs => {
|
|
let skill = processingFunctions.shadowrun.convertSkillSelectToHiddenSkill(attrs[`${repRowID}_skill`])
|
|
processingFunctions.setAttributes({
|
|
[`${skill}`]: eventinfo.newValue
|
|
})
|
|
})
|
|
}
|
|
|
|
const updateRepeatingSkillName = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
const translationKey = eventinfo.newValue.replace(/ /g, '').toLowerCase()
|
|
const translation = getTranslationByKey(translationKey);
|
|
processingFunctions.setAttributes({
|
|
[`${repRowID}_display_skill`]: translation
|
|
})
|
|
}
|
|
|
|
const updateRepeatingSkillAttribute = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
const translationKey = processingFunctions.sliceAttr(eventinfo.newValue)
|
|
const translation = getTranslationByKey(translationKey);
|
|
processingFunctions.setAttributes({
|
|
[`${repRowID}_display_attribute`]: translation
|
|
})
|
|
}
|
|
|
|
const updateRepeatingSkillRating = trigger => {
|
|
const repRowID = processingFunctions.getReprowid(trigger)
|
|
getAttrs([`${repRowID}_rating`, `${repRowID}_rating_modifier`], attrs => {
|
|
attrs = processingFunctions.shadowrun.attributeFactory(attrs)
|
|
processingFunctions.setAttributes({
|
|
[`${repRowID}_dicepool`]: attrs.total,
|
|
[`${repRowID}_display_rating`]: processingFunctions.shadowrun.buildDisplay(attrs.base, attrs.bonus)
|
|
})
|
|
})
|
|
}
|
|
|
|
const updateWounds = () => {
|
|
getAttrs(sheetAttributes.woundCalculation, attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
const sum = processingFunctions.shadowrun.calculateWounds(attrs)
|
|
processingFunctions.setAttributes({wounds: sum})
|
|
})
|
|
}
|
|
|
|
const updateConditionTracks= conditionTrack => {
|
|
getAttrs(sheetAttributes[conditionTrack], attrs => {
|
|
attrs = processingFunctions.shadowrun.conditionFactory(attrs)
|
|
const conditionTotal = processingFunctions.shadowrun.calculateConditionTracks(attrs)
|
|
processingFunctions.setAttributes({[`${conditionTrack}_max`]: conditionTotal}, true)
|
|
})
|
|
}
|
|
|
|
const translations = () => {
|
|
const attributes = sheetAttributes.translationsAttributes
|
|
const translations = processingFunctions.getTranslations(attributes)
|
|
let attribute_roll = `?{${translations.attribute}`
|
|
delete translations.attribute
|
|
for (let [key, value] of Object.entries(translations)) {
|
|
attribute_roll += key !== 'none' ? `|${value},@{${key}}` : `|${value},0}`
|
|
}
|
|
processingFunctions.setAttributes({attribute_roll: attribute_roll})
|
|
}
|
|
|
|
const updateShotsFired = trigger => {
|
|
getAttrs([`shots_fired`], attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
const shots = processingFunctions.shadowrun.shotsFired(attrs.shots_fired, trigger)
|
|
processingFunctions.setAttributes({shots_fired: shots})
|
|
});
|
|
}
|
|
|
|
const updateAmmoWithShotsFired = () => {
|
|
getAttrs([`primary_range_weapon_ammo`, `shots_fired`], attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
attrs.shots_fired = processingFunctions.convertIntegerNegative(attrs.shots_fired)
|
|
processingFunctions.setAttributes({primary_range_weapon_ammo: processingFunctions.sumIntegers(Object.values(attrs))})
|
|
});
|
|
}
|
|
|
|
const updateAmmoWithMax = () => {
|
|
getAttrs([`primary_range_weapon_ammo_max`], attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
processingFunctions.setAttributes({primary_range_weapon_ammo: attrs.primary_range_weapon_ammo_max})
|
|
});
|
|
}
|
|
|
|
const updateTab = attr => processingFunctions.setAttributes({tab: attr})
|
|
|
|
const updateAttributes = (array, attribute) => {
|
|
getAttrs(array, attrs => {
|
|
attrs = processingFunctions.shadowrun.attributeFactory(attrs)
|
|
processingFunctions.setAttributes({
|
|
[attribute]: attrs.total,
|
|
[`display_${attribute}`]: attrs.base === attrs.total ? attrs.base : `${attrs.base} (${attrs.total})`
|
|
})
|
|
})
|
|
}
|
|
|
|
const updateMovement = () => {
|
|
getAttrs(['agility', 'walk_modifier', 'run_modifier'], attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
processingFunctions.setAttributes({
|
|
walk: processingFunctions.shadowrun.calculateWalkSpeed(attrs.agility, attrs.walk_modifier),
|
|
run: processingFunctions.shadowrun.calculateRunSpeed(attrs.agility, attrs.run_modifier)
|
|
})
|
|
})
|
|
}
|
|
|
|
const updateDerivedAttribute = derivedAttribute => {
|
|
getAttrs(sheetAttributes[derivedAttribute], attrs => {
|
|
attrs = processingFunctions.shadowrun.attributeFactory(attrs)
|
|
processingFunctions.setAttributes({[derivedAttribute]: attrs.total})
|
|
})
|
|
}
|
|
|
|
const updateInitiativeDice = () => {
|
|
getAttrs(['reaction', 'intuition', "initiative_dice_modifier", "edge_toggle", "initiative_dice_temp", "initiative_dice_temp_flag"], values => {
|
|
const edgeFlag = values.edge_toggle === "@{edge}" ? true : false;
|
|
const temp = parseInt(values.initiative_dice_temp) || 0;
|
|
const bonus = parseInt(values.initiative_dice_modifier) || 0;
|
|
processingFunctions.setAttributes({
|
|
initiative_dice: edgeFlag ? 5 : Math.min(bonus+temp+1,5)
|
|
})
|
|
})
|
|
}
|
|
|
|
//Calculate Astral Initiatve
|
|
const updateAstralInitiative = () => {
|
|
getAttrs(["intuition", "astral_initiative_modifier"], v => {
|
|
v = processingFunctions.parseIntegers(v);
|
|
const base = v.intuition * 2, bonus = v.astral_initiative_modifier, total = base + bonus;
|
|
|
|
setAttrs({
|
|
["astral_initiative"]: total,
|
|
["display_astral_initiative"]: bonus === 0 ? base : `${base} (${total})`
|
|
});
|
|
});
|
|
};
|
|
|
|
const updateAstralInitiativeDice = () => {
|
|
getAttrs(["astral_dice_modifier", "edge_toggle"], v => {
|
|
const edgeFlag = v.edge_toggle === "@{edge}" ? true : false;
|
|
const bonus = parseInt(v.astral_dice_modifier) || 0;
|
|
|
|
setAttrs({
|
|
astral_dice: edgeFlag ? 5 : Math.min(bonus+3,5)
|
|
})
|
|
})
|
|
}
|
|
|
|
const resetConditionTrack = eventinfo => {
|
|
const attr = eventinfo.triggerName.split("_").pop()
|
|
processingFunctions.setAttributes({
|
|
[`${attr}`] : 0
|
|
})
|
|
}
|
|
|
|
//Calculate Matrix Initiatve.
|
|
const updateMatrixInitiative = () => {
|
|
getAttrs(["sheet_type", "data_processing", "pilot", "intuition", "matrix_mod_modifier", "host_rating", "level", "matrix_dice_modifier", "edge_toggle"], v => {
|
|
const sheetType = v.sheet_type;
|
|
const edgeFlag = v.edge_toggle === "@{edge}" ? true : false;
|
|
|
|
v = processingFunctions.parseIntegers(v);
|
|
|
|
let base = v.data_processing;
|
|
base += sheetType === "sprite" ? v.level : sheetType === "vehicle" ? v.pilot : sheetType === "host" ? v.host_rating : v.intuition;
|
|
|
|
const total = base + v.matrix_mod_modifier;
|
|
|
|
setAttrs({
|
|
["matrix_mod"]: total,
|
|
["matrix_dice"]: sheetType === "grunt" && edgeFlag ? 5 : sheetType === "grunt" && !edgeFlag ? 4 + v.matrix_dice_modifier : 4,
|
|
["display_matrix_mod"]: v.matrix_mod_modifier === 0 ? base : `${base} (${total})`
|
|
})
|
|
})
|
|
}
|
|
|
|
//Setting the Default attribute name for default skill
|
|
const updateDefaultAttribute = newValue => {
|
|
getAttrs(["default_display"], value => {
|
|
const display = value.default_display
|
|
let update = {};
|
|
|
|
//This sets a hidden input with the Attribute name so the roll template can use it to indicate what attribute was rolled
|
|
const attribute = processingFunctions.sliceAttr(newValue)
|
|
const translation = getTranslationByKey(`${attribute}`)
|
|
if (translation != display) {
|
|
processingFunctions.setAttributes({default_display: translation})
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
/* OLD SCRIPTS */
|
|
|
|
//Weapon displays set into an Array
|
|
// Builder function to display details properly
|
|
// Note that since undefined are falsey if there's no label or sign we can leave the parameters blank
|
|
function repeatingStringBuilder(v, keyBase) {
|
|
return function(key, label, sign) {
|
|
// fetch the attr from v checking if it has a value
|
|
const val = v[`${keyBase}${key}`];
|
|
if (!val) return '';
|
|
|
|
// Apply the sign if needed
|
|
const disp = sign && val > 0 ? `+${val}` : val;
|
|
|
|
// Apply label if needed
|
|
return label ? `${label} ${disp}` : disp;
|
|
}
|
|
}
|
|
|
|
on("change:repeating_weapon", () => {
|
|
const source = "repeating_weapon_weapon";
|
|
getAttrs([`${source}_range`, `${source}_type`, `${source}_reach`, `${source}_dv`, `${source}_ap`, `${source}_mode`, `${source}_rc`, `${source}_ammo`, `${source}_note`, `${source}_primary`], (v) => {
|
|
// Local builder putting the needed variables into scope for repeatingStringBuilder
|
|
const b = repeatingStringBuilder(v, `${source}_`);
|
|
// Determine fields to display and in their proper order and formatting
|
|
// Anonymous function is purely stylistic and adds more overhead than just a simple switch/case. Personally I find the function looks cleaner and hides any internal scope that might conflict with outside
|
|
const display = (() => {
|
|
// 0 for weapon_range is a ranged weapon. A 1 is a melee weapon.
|
|
switch(v.repeating_weapon_weapon_range) {
|
|
case '0':
|
|
// Not a fan of how ammo has to be handled. Could potentially be placed in the repeatingStringBuilder if used more often for other change:repeating functions as some sort of suffix parameter
|
|
const ammo = b('amm');
|
|
return [
|
|
b('type'),
|
|
b('dv', 'DV'),
|
|
b('ap', 'AP', true),
|
|
b('mode'),
|
|
b('rc', 'RC'),
|
|
ammo ? `${ammo} (c)` : '',
|
|
b('note')
|
|
];
|
|
case '1': return [
|
|
b('type'),
|
|
b('reach', 'Reach', true),
|
|
b('dv', 'DV'),
|
|
b('ap', 'AP', true),
|
|
b('note')
|
|
];
|
|
default: return [
|
|
b('type'),
|
|
b('dv', 'DV'),
|
|
b('ap', 'AP', true),
|
|
b('note')
|
|
];
|
|
}
|
|
})()
|
|
// Remove all empty strings
|
|
.filter(s => s)
|
|
// Concat all the strings and add comma between
|
|
.join(', ');
|
|
|
|
let update = {};
|
|
update[`${source}`] = `[${display}]`;
|
|
|
|
// Finally wrap square brackets around the weapon display
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
|
|
|
|
//Spell displays set into an Array
|
|
on("change:repeating_NPCspell", () => {
|
|
getAttrs(["repeating_NPCspell_combat_type", "repeating_NPCspell_type", "repeating_NPCspell_range", "repeating_NPCspell_damage", "repeating_NPCspell_duration", "repeating_NPCspell_drain", "repeating_NPCspell_note"], (v) =>{
|
|
const com = v.repeating_NPCspell_combat_type;
|
|
const typ = `Type ${v.repeating_NPCspell_type}, `;
|
|
const ran = `${v.repeating_NPCspell_range}, `;
|
|
const dam = `Damage ${v.repeating_NPCspell_damage}, `;
|
|
const dur = `Duration ${v.repeating_NPCspell_duration}, `;
|
|
const not = `, ${v.repeating_NPCspell_note}`;
|
|
const dra = v.repeating_NPCspell_drain;
|
|
|
|
const drain = (dra > 0) ? `F+${dra} ` : (dra < 0) ? `F${dra} ` :"F ";
|
|
const info = `[${typ}${ran}${dam}${dur}${drain}${not}]`;
|
|
|
|
display = (com === "Direct, Force ") ? ` (Direct) ${info}` :
|
|
(com === "Indirect, Force ?{Force|}, AP -") ? ` (Indirect) ${info}` : `${info}`;
|
|
setAttrs({repeating_NPCspell_spell: display});
|
|
});
|
|
});
|
|
|
|
//Complex Form displays set into an Array
|
|
on("change:repeating_form", () => {
|
|
getAttrs(["repeating_form_form_duration", "repeating_form_form_target", "repeating_form_form_fade", "repeating_form_form_note", ], (v) =>{
|
|
const tar = `Target ${v.repeating_form_form_target}, `;
|
|
const dur = `Duration ${v.repeating_form_form_duration}, `;
|
|
const not = `, ${v.repeating_form_form_note}` || '';
|
|
const fad = (v.repeating_form_form_fade > 0) ? `L+${v.repeating_form_form_fade}` :
|
|
(v.repeating_form_form_fade < 0) ? `L${v.repeating_form_form_fade}` : "L";
|
|
|
|
setAttrs({
|
|
repeating_form_form: ` [${tar}${dur}${fad}${not}]`
|
|
});
|
|
});
|
|
});
|
|
|
|
//IC displays are set into an Array
|
|
on("change:repeating_IC", () => {
|
|
getAttrs(["attack", "data_processing", "repeating_IC_IC_limit", "repeating_IC_IC_attribute", "repeating_IC_IC_matrix", "repeating_IC_IC_note"], (v) =>{
|
|
const att = parseInt(v.attack) || 0;
|
|
const data = parseInt(v.data_processing) || 0;
|
|
const attr = v.repeating_IC_IC_attribute;
|
|
const mat = v.repeating_IC_IC_matrix;
|
|
const not = v.repeating_IC_IC_note;
|
|
|
|
setAttrs({
|
|
repeating_IC_IC: (v.repeating_IC_IC_limit === "@{data_processing}") ? ` ([${data}] vs. ${attr} + ${mat}, ${not})` : `([${att}] vs. ${attr} + ${mat}, ${not})`
|
|
});
|
|
});
|
|
});
|
|
|
|
['acceleration', 'armor', 'body', 'data_processing', 'handling', 'pilot', 'sensor','speed'].forEach(attr => {
|
|
// Attach listener
|
|
on(`change:repeating_vehicle:${attr}_base change:repeating_vehicle:${attr}_modifier change:repeating_vehicle:${attr}_temp`, () => {
|
|
// Load attribute values
|
|
getAttrs([`repeating_vehicle_${attr}_base`, `repeating_vehicle_${attr}_modifier`, `repeating_vehicle_${attr}_temp`], (v) => {
|
|
// Do some math to calculate the total
|
|
const bas = parseInt(v[`repeating_vehicle_${attr}_base`]) || 0;
|
|
const mod = parseInt(v[`repeating_vehicle_${attr}_modifier`]) || 0;
|
|
const tem = parseInt(v[`repeating_vehicle_${attr}_temp`]) || 0;
|
|
const bon = mod + tem;
|
|
const stat = bas + bon;
|
|
|
|
// Update the finalized total
|
|
setAttrs({
|
|
[attr]: stat,
|
|
[`repeating_vehicle_display_${attr}`]: bon === 0 ? bas : `${bas} (${stat})`
|
|
}, {silent: true});
|
|
});
|
|
});
|
|
});
|
|
const versioning = version => {
|
|
const versionLog = version => console.log(`%c Shadowrun 4th Edition versioning, ${version}`, "color: darkblue; font-weight:bold");
|
|
|
|
switch(true) {
|
|
case version < 1.01:
|
|
// versionLog(version)
|
|
// onepointone()
|
|
// setAttrs({ version: 1.01 }, () => versioning(1.01))
|
|
break;
|
|
default:
|
|
console.log(`%c Shadowrun 4th Edition is update to date. Version ${version}`, "color: green; font-weight:bold");
|
|
}
|
|
};
|
|
|
|
on('sheet:opened', () => {
|
|
//-getAttrs(['version'], v => { versioning(parseFloat(v.version) || 1); });
|
|
translations();
|
|
});
|
|
|
|
on('clicked:shots_remove clicked:shots_add', eventinfo => updateShotsFired(eventinfo.triggerName))
|
|
|
|
on('clicked:primary_ammo', () => updateAmmoWithShotsFired())
|
|
|
|
on('clicked:reload', () => updateAmmoWithMax())
|
|
|
|
sheetAttributes.tabs.forEach(attr => on(`clicked:tab_${attr}`, () => updateTab(attr)))
|
|
|
|
on('change:agility change:walk_modifier change:run_modifier', () => updateMovement())
|
|
|
|
sheetAttributes.calculatedAttributes.forEach(attribute => {
|
|
const attributeArray = [`${attribute}_base`, `${attribute}_modifier`, `${attribute}_temp`, `${attribute}_temp_flag`]
|
|
attributeArray.forEach(attr => on(`change:${attr}`, () => updateAttributes(attributeArray, attribute)))
|
|
});
|
|
|
|
sheetAttributes.initiative.forEach(attr => on(`change:${attr}`, () => updateAttributes(sheetAttributes.initiative, 'initiative')))
|
|
|
|
sheetAttributes.initiative_passes.forEach(attr => on(`change:${attr}`, () => updateAttributes(sheetAttributes.initiative_passes, 'initiative_passes')))
|
|
|
|
sheetAttributes.astral_initiative.forEach(attr => on(`change:${attr}`, () => updateAstralInitiative()))
|
|
|
|
sheetAttributes.derivedAttributes.forEach(derivedAttribute => {
|
|
sheetAttributes[derivedAttribute].forEach(attr => on(`change:${attr}`, () => updateDerivedAttribute(derivedAttribute)))
|
|
})
|
|
|
|
sheetAttributes.conditionTracks.forEach(conditionTrack => {
|
|
sheetAttributes[conditionTrack].forEach(attr => on(`change:${attr}`, () => updateConditionTracks(conditionTrack)))
|
|
})
|
|
|
|
sheetAttributes.woundCalculation.forEach(attr => on(`change:${attr}`, () => updateWounds()))
|
|
|
|
sheetAttributes.repeatingSkills.forEach(field => {
|
|
on(`change:repeating_${field}:rating change:repeating_${field}:rating_modifier`, eventinfo => updateRepeatingSkillRating(eventinfo.triggerName))
|
|
on(`change:repeating_${field}:attribute`, eventinfo => updateRepeatingSkillAttribute(eventinfo))
|
|
on(`change:repeating_${field}:dicepool`, eventinfo => updateRepeatingSkillDicepool(eventinfo))
|
|
})
|
|
|
|
sheetAttributes.weaponTypes.forEach(type => {
|
|
on(`change:repeating_${type}:dicepool_modifier change:repeating_${type}:specialization`, eventinfo => updateRepeatingWeaponDicepool(eventinfo.triggerName))
|
|
on(`change:repeating_${type}:primary`, eventinfo => updateRepeatingPrimary(eventinfo, type))
|
|
})
|
|
|
|
sheetAttributes.rangeAttributes.forEach(attr => on(`change:repeating_range:${attr}`, eventinfo => updatePrimary(eventinfo)))
|
|
|
|
sheetAttributes.meleeAttributes.forEach(attr => on(`change:repeating_melee:${attr}`, eventinfo => updatePrimary(eventinfo)))
|
|
|
|
sheetAttributes.armorAttributes.forEach(attr => on(`change:repeating_armor:${attr}`, eventinfo => updatePrimary(eventinfo)))
|
|
|
|
on("change:repeating_armor:primary", eventinfo => updateRepeatingPrimary(eventinfo, 'armor'))
|
|
|
|
on(`change:repeating_active:skill`, eventinfo => updateRepeatingSkillName(eventinfo))
|
|
|
|
on('clicked:cond_reset_physical clicked:cond_reset_stun', eventinfo => resetConditionTrack(eventinfo))
|
|
|
|
on('change:edge_toggle', eventinfo => edgeToggle(eventinfo.newValue))
|
|
|
|
on('change:device_rating change:matrix_modifier', () => updateMatrixMaximum())
|
|
|
|
on('change:intuition change:astral_mod_modifier', () => updateAstralInitiative())
|
|
|
|
on('change:initiative_passes_modifier change:edge_toggle change:initiative_passes_temp change:initiative_passes_temp_flag', () => updateInitiativeDice())
|
|
|
|
on('change:astral_dice_modifier change:edge_toggle', () => updateAstralInitiativeDice())
|
|
|
|
on('change:host_rating change:data_processing change:pilot change:intuition change:matrix_initiative_modifier change:level change:matrix_dice_modifier change:edge_toggle', () => updateMatrixInitiative())
|
|
|
|
on("clicked:cond_reset", () => resetNpcCondition());
|
|
|
|
sheetAttributes.spellTypes.forEach(type => on(`change:repeating_${type}:dicepool_modifier change:repeating_${type}:specialization`, eventinfo => updateSpellsDicepool(eventinfo)))
|
|
|
|
on("change:level", eventinfo => updateSpriteConditionTrack(eventinfo.newValue))
|
|
|
|
on("change:host_rating", eventinfo => updateHostAttributes(eventinfo.newValue))
|
|
|
|
on("change:default_attribute", eventinfo => updateDefaultAttribute(eventinfo.newValue))
|
|
|
|
</script>
|