mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 11:42:29 +00:00
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=[[floor(?{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=[[floor(?{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 [[floor(?{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>
|