mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-31 04:02:29 +00:00
* initial upload * save 4e start * saving * save color updates * remove limits * update the colors * save changes * begin refactoring names * fix attribute changes * save progress. commlinks added * move attrs to match hero lab * hide the other sheets until they are converted * fix translation keys * update drain, update roll template * make d6 explode * save css upates * move stuff around, fix primary weapons, add skills, add program buttons * add spec to programs * save shadowrun progress * fix primary bug * update force in npc buttons * remove unit tests * add to core ratings * save preview images
3866 lines
253 KiB
HTML
3866 lines
253 KiB
HTML
|
|
<input name="attr_version" type="hidden" value="1"/>
|
|
<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 Awereness</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="Specalizations" 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="Specalizations" 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="Specalizations" type="text" title="@{repeating_language_${x}_specialization}"/>
|
|
</label>
|
|
<label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span>
|
|
<textarea name="attr_notes" value="" placeholder="Notes" title="@{repeating_language_${x}_notes}"></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="core pc-col"><div class="pc-row">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="corecombatinfo">Core Combat Info</h1>
|
|
<div class="right-tri">
|
|
|
|
</div></div>
|
|
<div class="border-box">
|
|
<div class="pc-box small-box core-combat">
|
|
<div class="row-long cc-arm">
|
|
<h2 data-i18n="primaryarmor">Primary Armor</h2>
|
|
<button type="roll" name="roll_soak" value="@{gm_toggle} &{template:rolls}{{header=^{soak}}}{{base=^{base}}}{{dice=[[((@{soak})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}} style="width: 32%;">
|
|
<span name="attr_armor_name" title="@{soak}"></span>
|
|
</button>
|
|
<h3 data-i18n="rating">Rating</h3>
|
|
<span name="attr_ballistic" title="@{ballistic}"></span>
|
|
<span>/</span>
|
|
<span name="attr_impact" title="@{impact}"></span>
|
|
<div class="armor-buttons">
|
|
<button type="roll" name="roll_defense" value="@{gm_toggle} &{template:rolls}{{header=^{defense}}}{{base=^{base}}}{{dice=[[((@{defense})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Defense Roll"><span class="pictos-custom" title="@{defense}">e</span></button>
|
|
<button type="roll" name="roll_ballistic" value="@{gm_toggle} &{template:rolls}{{header=^{ballistic}}}{{base=^{base}}}{{dice=[[((@{ballistic}+@{soak})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="pictos-custom" title="@{ballistic}">t</span></button>
|
|
<button type="roll" name="roll_impact" value="@{gm_toggle} &{template:rolls}{{header=^{impact}}}{{base=^{base}}}{{dice=[[((@{impact}+@{soak})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="text-capitalize pictos" title="@{impact}">J</span></button>
|
|
</div>
|
|
</div>
|
|
<div class="row-long cc-row">
|
|
<h2 data-i18n="primaryrangedweapon">Primary Ranged Weapon</h2>
|
|
<button type="roll" name="primary range" value="@{gm_toggle} &{template:rolls}{{header=@{primary_range_weapon}}}{{base=^{base}}}{{dice=[[((@{primary_range_weapon_skill}+@{primary_range_weapon_dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{primary_range_weapon_mode}, DV @{primary_range_weapon_damage}, AP @{primary_range_weapon_ap}}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Primary range weapon"><span name="attr_primary_range_weapon" title="@{primary_range_weapon}"></span></button>
|
|
<!-- Ammo removal button -->
|
|
<button name="act_shots_remove" type="action">4</button>
|
|
<button type="action" name="act_primary_ammo" title="Shots Fired">
|
|
<img alt="small handgun icon" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Shadowrun5thEdition/images/gun.png" /><span name="attr_shots_fired"></span>
|
|
</button>
|
|
<button name="act_shots_add" type="action">4</button>
|
|
</div>
|
|
<div class="cc-row">
|
|
<h3 data-i18n="dam">Dam</h3><span name="attr_primary_range_weapon_damage" title="@{primary_range_weapon_damage}"></span>
|
|
<h3 data-i18n="ap">AP</h3><span name="attr_primary_range_weapon_ap" title="@{primary_range_weapon_ap}"></span>
|
|
<h3 data-i18n="mode">Mode</h3><span name="attr_primary_range_weapon_mode" title="@{primary_range_weapon_mode}"></span>
|
|
<h3 data-i18n="rc">RC</h3><span name="attr_primary_range_weapon_recoil" title="@{primary_range_weapon_recoil}"></span>
|
|
<h3 data-i18n="ammo">Ammo</h3>
|
|
<span name="attr_primary_range_weapon_ammo" title="@{primary_range_weapon_ammo}"></span>
|
|
<span name="attr_primary_range_weapon_ammo_max" title="@{primary_range_weapon_ammo_max}"></span>
|
|
<button class="pictos" name="act_reload" type="action">0</button>
|
|
</div>
|
|
<div class="row-long cc-row">
|
|
<h2 data-i18n="primarymeleeweapon">Primary Melee Weapon</h2>
|
|
<button type="roll" name="primary melee" value="@{gm_toggle} &{template:rolls}{{header=@{primary_melee_weapon}}}{{base=^{base}}}{{dice=[[((@{primary_melee_weapon_skill}+@{primary_melee_weapon_dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=DV @{primary_melee_weapon_damage}, AP @{primary_melee_weapon_ap}, Reach @{primary_melee_weapon_reach}}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" title="Primary melee weapon"><span name="attr_primary_melee_weapon" title="@{primary_melee_weapon}"></span></button>
|
|
</div>
|
|
<div class="cc-row">
|
|
<h3 data-i18n="reach">Reach</h3><span name="attr_primary_melee_weapon_reach" title="@{primary_melee_weapon_reach}"></span>
|
|
<h3 data-i18n="dam">Dam</h3><span name="attr_primary_melee_weapon_damage" title="@{primary_melee_weapon_damage}"></span>
|
|
<h3 data-i18n="ap">AP</h3><span name="attr_primary_melee_weapon_ap" title="@{primary_melee_weapon_ap}"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ START OF THE CONDITION MONITOR ROW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
<div class="pc-row">
|
|
<div class="header right-header"><h1 data-i18n="conditionmonitor">Condition Monitor</h1><div class="right-tri"></div></div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box condition-box">
|
|
<input type="checkbox" class="settings-toggle" name="attr_flag_condition" checked="checked" title="Settings toggle" /><span>x</span>
|
|
<div class="settings">
|
|
<label data-i18n="conditionmonitormodifiers">Condition Monitor Modifiers (P/S): </label>
|
|
<input type="hidden" name="attr_physical" value="10" />
|
|
<input type="hidden" name="attr_stun" value="10" />
|
|
<input type="hidden" name="attr_physical_max" min="0" value="10" />
|
|
<input type="hidden" name="attr_stun_max" min="0" value="10" />
|
|
<input type="number" name="attr_physical_modifier" value="" placeholder="#" title="@{physical_modifier}" /><span> / </span>
|
|
<input type="number" name="attr_stun_modifier" value="" placeholder="#" title="@{stun_modifier}" /><br />
|
|
<input type="hidden" name="attr_overflow" value="3" />
|
|
<label data-i18n="overflowmodifier">Overflow Modifier</label><input type="number" name="attr_overflow_modifier" value="" placeholder="#" title="@{overflow_modifier}" /><br />
|
|
<label data-i18n="high pain tolerance">High Pain Tolerance</label>
|
|
|
|
<input type="number" name="attr_high_pain_tolerance" min="0" value="" placeholder="#" title="@{high_pain_tolerance}" /><br />
|
|
<label data-i18n="low pain tolerance">Low Pain Tolerance</label><input type="checkbox" name="attr_low_pain_tolerance" value="2" title="@{low_pain_tolerance}" /><br />
|
|
<label data-i18n="damage compensators">Damage Compensators (P/S): </label>
|
|
<input type="number" min="0" name="attr_damage_compensators_physical" value="" placeholder="#" title="@{damage_compensators_physical}" /><span> / </span>
|
|
<input type="number" min="0" name="attr_damage_compensators_stun" value="" placeholder="#" title="@{damage_compensators_stun}" />
|
|
</div>
|
|
<div class="display">
|
|
<div class="con-track">
|
|
<input type="hidden" name="attr_physical" value="0" />
|
|
<button type="action" name="act_cond_reset_physical" data-i18n="physicaldamagetrack">Physical Damage Track</button>
|
|
<div class="squares">
|
|
<input class="hex-hider" type="hidden" name="attr_physical_max" value="10" />
|
|
<input type="radio" name="attr_physical" value="1" /><span></span>
|
|
<input type="radio" name="attr_physical" value="2" /><span></span>
|
|
<input type="radio" name="attr_physical" value="3" /><span></span><div>-1</div>
|
|
<input type="radio" name="attr_physical" value="4" /><span></span>
|
|
<input type="radio" name="attr_physical" value="5" /><span></span>
|
|
<input type="radio" name="attr_physical" value="6" /><span></span><div>-2</div>
|
|
<input type="radio" name="attr_physical" value="7" /><span></span>
|
|
<input type="radio" name="attr_physical" value="8" /><span></span>
|
|
<input type="radio" name="attr_physical" value="9" /><span></span><div>-3</div>
|
|
<input type="radio" name="attr_physical" value="10" /><span></span>
|
|
<input type="radio" name="attr_physical" value="11" /><span></span>
|
|
<input type="radio" name="attr_physical" value="12" /><span></span><div>-4</div>
|
|
<input type="radio" name="attr_physical" value="13" /><span></span>
|
|
<input type="radio" name="attr_physical" value="14" /><span></span>
|
|
<input type="radio" name="attr_physical" value="15" /><span></span><div>-5</div>
|
|
<input type="radio" name="attr_physical" value="16" /><span></span>
|
|
<input type="radio" name="attr_physical" value="17" /><span></span>
|
|
<input type="radio" name="attr_physical" value="18" /><span></span><div>-6</div>
|
|
</div>
|
|
<div class="con-footer" title="@{overflow}">
|
|
<label data-i18n="overflow">Overflow</label><div class="attr-und"><span name="attr_overflow"></span></div>
|
|
</div>
|
|
</div>
|
|
<div class="con-track">
|
|
<input type="hidden" name="attr_stun" value="0" />
|
|
<button type="action" name="act_cond_reset_stun" data-i18n="stundamagetrack">Stun Damage Track</button>
|
|
<div class="squares">
|
|
<input class="hex-hider" type="hidden" name="attr_stun_max" value="10" />
|
|
<input type="radio" name="attr_stun" value="1" /><span></span>
|
|
<input type="radio" name="attr_stun" value="2" /><span></span>
|
|
<input type="radio" name="attr_stun" value="3" /><span></span><div>-1</div>
|
|
<input type="radio" name="attr_stun" value="4" /><span></span>
|
|
<input type="radio" name="attr_stun" value="5" /><span></span>
|
|
<input type="radio" name="attr_stun" value="6" /><span></span><div>-2</div>
|
|
<input type="radio" name="attr_stun" value="7" /><span></span>
|
|
<input type="radio" name="attr_stun" value="8" /><span></span>
|
|
<input type="radio" name="attr_stun" value="9" /><span></span><div>-3</div>
|
|
<input type="radio" name="attr_stun" value="10" /><span></span>
|
|
<input type="radio" name="attr_stun" value="11" /><span></span>
|
|
<input type="radio" name="attr_stun" value="12" /><span></span><div>-4</div>
|
|
<input type="radio" name="attr_stun" value="13" /><span></span>
|
|
<input type="radio" name="attr_stun" value="14" /><span></span>
|
|
<input type="radio" name="attr_stun" value="15" /><span></span><div>-5</div>
|
|
</div>
|
|
<div class="con-footer">
|
|
<span data-i18n="conditionfooter">For every 3 boxes of damage on any one damage track, the character takes a -1 Dice Pool modifier on tests; these modifiers are cumulative within and across damage tracks.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- ~~~~~~~~ End of Condition Monitor ~~~~~~~~ -->
|
|
<div class="quality-box">
|
|
<div class="header right-header">
|
|
<div class="header htab">
|
|
<input class="tab-switch" input="input" name="attr_quality_toggle" type="radio" value="quality" checked="checked"/>
|
|
<h1 data-i18n="qualities">Qualities</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="tab-switch" input="input" name="attr_quality_toggle" type="radio" value="martial"/>
|
|
<h1 data-i18n="martialarts">Martial Arts</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<input class="tab-switch" input="input" name="attr_quality_toggle" type="hidden" value="quality"/>
|
|
<div class="quality">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="quality">Quality</h2>
|
|
<h2 data-i18n="type">Type</h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_quality"><span class="eclipse" name="attr_quality"></span><span class="center" name="attr_type"></span>
|
|
<button class="pictos" name="quality_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{quality}}}{{desc=@{notes}}}">w</button>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<input name="attr_quality" placeholder="quality name" title="@{repeating_quality_${x}_quality}" type="text"/>
|
|
<select name="attr_type" title="@{repeating_quality_${x}_type}" value="p">
|
|
<option data-i18n="p" value="P" selected="selected">P</option>
|
|
<option data-i18n="n" value="N">N</option>
|
|
</select>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_quality_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="martial">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="technique">Technique</h2>
|
|
<h2 data-i18n="style">Style</h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_martial"><span class="eclipse" name="attr_technique"></span><span class="center" name="attr_style"></span>
|
|
<button class="pictos" name="technique_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{technique}}}{{desc=@{notes}}}">w</button>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<input name="attr_technique" placeholder="technique name" title="@{repeating_martial_${x}_technique}" type="text"/>
|
|
<input name="attr_style" placeholder="style name" title="@{repeating_martial_${x}_style}" type="text"/>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_martial_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="arms pc-col">
|
|
<div class="pc-row weapons">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="weapons">Weapons</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header right-header">
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="tab-switch" name="attr_weapon_type_toggle" type="radio" value="range" checked="checked"/>
|
|
<h1 data-i18n="ranged">Ranged</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="tab-switch" name="attr_weapon_type_toggle" type="radio" value="melee"/>
|
|
<h1 data-i18n="melee">Melee</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<input class="tab-switch" name="attr_weapon_type_toggle" type="hidden" value="range"/>
|
|
<div class="rows repeating-container weapon-range">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="weapon">Weapon</h2>
|
|
<h2 data-i18n="dam">Dam</h2>
|
|
<h2 data-i18n="ap">AP</h2>
|
|
<h2 data-i18n="mode">Mode</h2>
|
|
<h2 data-i18n="recoil">Recoil</h2>
|
|
<h2 data-i18n="ammo">Ammo</h2>
|
|
</div>
|
|
<fieldset class="repeating_range">
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<input class="flag-primary" name="attr_primary" type="hidden" value=""/>
|
|
<button name="roll_range_weapon" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{weapon}}}{{base=^{agility}}}{{dice=[[((@{skill}+@{dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{mode}, DV @{damage}, AP @{ap}}}"><span name="attr_weapon"></span></button><span class="center" name="attr_damage"></span><span class="center" name="attr_ap"></span>
|
|
<select name="attr_mode" title="@{mode}" value="BF">
|
|
<option data-i18n="bf" value="BF">BF</option>
|
|
<option data-i18n="fa" value="FA">FA</option>
|
|
<option data-i18n="sa" value="SA">SA</option>
|
|
<option data-i18n="ss" value="SS">SS</option>
|
|
<option data-i18n="other" value="Other">Other</option>
|
|
</select><span class="center" name="attr_recoil"></span><span class="center" name="attr_ammo"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="weapon" title="weapon">
|
|
<input name="attr_weapon" placeholder="Ares Predator" title="@{repeating_range_${x}_weapon}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="dam" title="dam">
|
|
<input name="attr_damage" placeholder="9P" title="@{repeating_range_${x}_damage}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="ap" title="ap">
|
|
<input name="attr_ap" placeholder="-2" title="@{repeating_range_${x}_ap}" type="text" value=""/>
|
|
</label>
|
|
<select name="attr_mode" title="@{mode}" value="BF">
|
|
<option data-i18n="bf" value="BF">BF</option>
|
|
<option data-i18n="fa" value="FA">FA</option>
|
|
<option data-i18n="sa" value="SA">SA</option>
|
|
<option data-i18n="ss" value="SS">SS</option>
|
|
<option data-i18n="other" value="Other">Other</option>
|
|
</select>
|
|
<label data-i18n-title="recoil" title="recoil">
|
|
<input name="attr_recoil" placeholder="+2" title="@{repeating_range_${x}_recoil}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="ammo" title="ammo">
|
|
<input name="attr_ammo" placeholder="15" title="@{repeating_range_${x}_ammo}" type="number" value=""/>
|
|
</label>
|
|
<div class="row">
|
|
<h3 data-i18n="modeoptions">Mode Options</h3>
|
|
<label data-i18n-title="modeoptions" title="Mode Options">
|
|
<input name="attr_mode_options" placeholder="SA/BF/FA" type="text" title="@{repeating_range_${x}_mode_options}}"/>
|
|
</label>
|
|
<h3 data-i18n="range">range</h3>
|
|
<label data-i18n-title="range" title="Range">
|
|
<input name="attr_range" placeholder="25/150/350/550" type="text" title=""/>
|
|
</label>
|
|
<h3 data-i18n="primary">primary</h3>
|
|
<label data-i18n-title="primary" title="Primary">
|
|
<input name="attr_primary" type="checkbox" title="@{repeating_range_${x}_primary}" value="primary"/>
|
|
</label>
|
|
</div>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">skill</h3>
|
|
<select name="attr_skill" title="@{repeating_range_${x}_skill}" value="@{firearms}">
|
|
<optgroup label="Combat Skills">Combat Skills
|
|
<option data-i18n="firearmsgroup" value="@{firearms}" selected="selected">Firearms Group</option>
|
|
<option data-i18n="automatics" value="@{automatics}">Automatics</option>
|
|
<option data-i18n="archery" value="@{Archery}">Archery</option>
|
|
<option data-i18n="exoticrange" value="0">Exotic Range</option>
|
|
<option data-i18n="heavyweapons" value="@{heavyweapons}">Heavy Weapons</option>
|
|
<option data-i18n="longarms" value="@{longarms}">Longarms</option>
|
|
<option data-i18n="pistols" value="@{pistols}">Pistols</option>
|
|
<option data-i18n="throwingweapons" value="@{throwingweapons}">Throwing Weapons</option>
|
|
</optgroup>
|
|
<optgroup label="Vehicle Skills">Vehicle Skills
|
|
<option data-i18n="gunnery" value="@{gunnery}">Gunnery</option>
|
|
</optgroup>
|
|
</select>
|
|
<h3 data-i18n="specialization">specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" value="2" title="@{repeating_range_${x}_specialization}" type="checkbox"/>
|
|
</label>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{repeating_range_${x}_dicepool_modifier}" type="number"/>
|
|
</label>
|
|
<input name="attr_skill" type="hidden" value=""/>
|
|
<div class="exotic-warning"><i data-i18n="exoticnote">Exotic weapons are not linked to a skill. Use Modifier input to set dicepool.</i></div>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_range_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows repeating-container weapon-melee">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="weapon">Weapon</h2>
|
|
<h2 data-i18n="dam">Dam</h2>
|
|
<h2 data-i18n="ap">AP</h2>
|
|
<h2 data-i18n="reach">Reach</h2>
|
|
</div>
|
|
<fieldset class="repeating_melee">
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<input class="flag-primary" name="attr_primary" type="hidden" value=""/>
|
|
<button name="roll_melee_weapon" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{weapon}}}{{base=^{agility}}}{{dice=[[((@{skill}+@{dicepool}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=DV @{damage}, AP @{ap}, Reach @{reach}}}"><span name="attr_weapon"></span></button><span class="center" name="attr_damage"></span><span class="center" name="attr_ap"></span><span class="center" name="attr_reach"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="weapon" title="weapon">
|
|
<input name="attr_weapon" placeholder="Katana" title="@{repeating_melee_${x}_weapon}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="dam" title="dam">
|
|
<input name="attr_damage" placeholder="5P" title="@{repeating_melee_${x}_damage}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="ap" title="ap">
|
|
<input name="attr_ap" placeholder="-3" title="@{repeating_melee_${x}_ap}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="reach" title="reach">
|
|
<input name="attr_reach" placeholder="1" title="@{repeating_melee_${x}_reach}" type="number" value=""/>
|
|
</label>
|
|
<h3 data-i18n="primary">primary</h3>
|
|
<label data-i18n-title="primary" title="Primary">
|
|
<input name="attr_primary" type="checkbox" title="@{repeating_melee_${x}_primary}" value="primary"/>
|
|
</label>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">skill</h3>
|
|
<select name="attr_skill" title="@{repeating_melee_${x}_skill}" value="@{closecombat}">
|
|
<optgroup label="Combat Skills">Combat Skills
|
|
<option data-i18n="closecombatgroup" value="@{closecombat}" selected="selected">Close Combat Group</option>
|
|
<option data-i18n="blades" value="@{blades}">Blades</option>
|
|
<option data-i18n="clubs" value="@{clubs}">Clubs</option>
|
|
<option data-i18n="exoticmelee" value="0">Blades</option>
|
|
<option data-i18n="unarmedcombat" value="@{unarmedcombat}">Unarmed Combat</option>
|
|
</optgroup>
|
|
<optgroup label="Vehicle Skills">Vehicle Skills
|
|
<option data-i18n="gunnery" value="@{gunnery}">Gunnery</option>
|
|
</optgroup>
|
|
</select>
|
|
<h3 data-i18n="specialization">specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" value="2" title="@{repeating_melee_${x}_specialization}" type="checkbox"/>
|
|
</label>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{repeating_melee_${x}_dicepool_modifier}" type="number"/>
|
|
</label>
|
|
<input name="attr_skill" type="hidden" value=""/>
|
|
<div class="exotic-warning"><i data-i18n="exoticnote">Exotic weapons are not linked to a skill. Use Modifier input to set dicepool.</i></div>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_melee_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pc-row armor">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="armor">Armor</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<div class="rows repeating-container">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="armor">armor</h2>
|
|
<h2 data-i18n="ballistic">ballistic</h2>
|
|
<h2 data-i18n="impact">impact</h2>
|
|
</div>
|
|
<fieldset class="repeating_armor">
|
|
<input class="flag-primary" name="attr_primary" type="hidden" value=""/>
|
|
<div class="primary eclipse"><span class="bold" name="attr_name"></span></div>
|
|
<button name="roll_ballistic" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{armor}}}{{dice=[[((@{ballistic}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span class="center" name="attr_ballistic"></span></button>
|
|
<button name="roll_impact" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{armor}}}{{dice=[[((@{impact}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span class="center" name="attr_impact"></span></button>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse">
|
|
<input type="hidden" name="attr_acid"/>
|
|
<button data-i18n="Acid Protection" name="roll_acid" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Acid Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{acid_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<input type="hidden" name="attr_cold"/>
|
|
<button data-i18n="Cold Protection" name="roll_cold" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Cold Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{cold_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<input type="hidden" name="attr_electrical"/>
|
|
<button data-i18n="Electrical Protection" name="roll_electrical" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Electrical Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{electrical_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<input type="hidden" name="attr_fire"/>
|
|
<button data-i18n="Fire Protection" name="roll_fire" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Fire Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{fire_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<input type="hidden" name="attr_falling"/>
|
|
<button data-i18n="Falling Protection" name="roll_falling" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Falling Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{falling_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<button data-i18n="Laser Protection" name="roll_laser" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Laser Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{radiation_modifier}+@{laser_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<button data-i18n="Gause Round Armor" name="roll_gause" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{Gause Round Armor}}}{{base=^{armor}}}{{dice=[[((@{ballistic}/2)+@{gause_modifier}+@{soak}+@{modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<div class="row"><span name="attr_notes"></span></div>
|
|
</div>
|
|
<div class="settings">
|
|
<label data-i18n-title="name" title="name">
|
|
<input name="attr_name" placeholder="Armor Jacket" title="@{@{repeating_armor_${x}_name}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="Ballistic">
|
|
<input name="attr_ballistic" placeholder="9" title="@{@{repeating_armor_${x}_ballistic}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="Impact">
|
|
<input name="attr_impact" placeholder="9" title="@{@{repeating_armor_${x}_impact}" type="text" value=""/>
|
|
</label>
|
|
<div class="row">
|
|
<h2 class="center" data-i18n="Acid">Acid</h2>
|
|
<h2 class="center" data-i18n="Cold">Cold</h2>
|
|
<h2 class="center" data-i18n="Elec">Elec</h2>
|
|
<h2 class="center" data-i18n="Fire">Fire</h2>
|
|
<h2 class="center" data-i18n="Radi">Radi</h2>
|
|
<h2 class="center" data-i18n="Laser">Laser</h2>
|
|
<h2 class="center" data-i18n="Gause">Gause</h2>
|
|
</div>
|
|
<div class="row">
|
|
<label class="protections" data-i18n-title="Acid">
|
|
<input name="attr_acid_modifier" placeholder="0" title="@{@{repeating_armor_${x}_acid_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<label class="protections" data-i18n-title="Cold">
|
|
<input name="attr_cold_modifier" placeholder="0" title="@{@{repeating_armor_${x}_cold_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<label class="protections" data-i18n-title="Electrical">
|
|
<input name="attr_electrical_modifier" placeholder="0" title="@{@{repeating_armor_${x}_electrical_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<label class="protections" data-i18n-title="Fire">
|
|
<input name="attr_fire_modifier" placeholder="0" title="@{@{repeating_armor_${x}_fire_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<label class="protections" data-i18n-title="Radiation">
|
|
<input name="attr_radiation_modifier" placeholder="0" title="@{@{repeating_armor_${x}_radiation_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<label class="protections" data-i18n-title="Laser Protection">
|
|
<input name="attr_laser_modifier" placeholder="0" title="@{@{repeating_armor_${x}_laser_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<label class="protections" data-i18n-title="Gause Round">
|
|
<input name="attr_gause_modifier" placeholder="0" title="@{@{repeating_armor_${x}_gause_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="row">
|
|
<h3 data-i18n="primary">primary</h3>
|
|
<label data-i18n-title="primary" title="Primary">
|
|
<input name="attr_primary" type="checkbox" title="@{repeating_armor_${x}_primary}" value="primary"/>
|
|
</label>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_modifier" placeholder="0" title="@{repeating_armor_${x}_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_armor_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="augs pc-col">
|
|
<div class="pc-row">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="augmentations">Augmentations</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="augmentations">Augmentations</h2>
|
|
<h2 data-i18n="rating">Rating</h2>
|
|
<h2 data-i18n="essence">Essence</h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_augementations"><span name="attr_augmentation"></span><span class="center" name="attr_rating"></span><span class="center" name="attr_essence"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="Augmentations" title="Augmentations">
|
|
<input name="attr_augmentation" placeholder="name" title="@{repeating_augementations_${x}_augmentation}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="Rating" title="Rating">
|
|
<input name="attr_rating" placeholder="0" title="@{repeating_augementations_${x}_rating}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="Essence" title="Essence">
|
|
<input name="attr_essence" placeholder="0" title="@{repeating_augementations_${x}_essence}" type="number" value=""/>
|
|
</label>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_augementations_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="gear pc-col">
|
|
<div class="pc-row">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="gear">gear</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="item">Item</h2>
|
|
<h2 data-i18n="rating">Rating</h2>
|
|
<h2 data-i18n="quantity">Quantity</h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_items"><span name="attr_item"></span><span class="center" name="attr_rating"></span><span class="center" name="attr_quantity"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="item" title="item">
|
|
<input name="attr_item" placeholder="Jammer" title="@{repeating_items_${x}_item}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="rating" title="rating">
|
|
<input name="attr_rating" placeholder="3" title="@{repeating_items_${x}_rating}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="quantity" title="quantity">
|
|
<input name="attr_quantity" placeholder="x3" title="@{repeating_items_${x}_quantity}" type="text" value=""/>
|
|
</label>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_items_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="magic pc-col">
|
|
<div class="pc-row spell-box">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="magic">Magic</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header right-header">
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="magic-toggle" name="attr_magic_toggle" title="@{magic_toggle}" type="radio" value="spells" checked="checked"/>
|
|
<h1 data-i18n="spells">Spells</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="magic-toggle" name="attr_magic_toggle" title="@{magic_toggle}" type="radio" value="preps"/>
|
|
<h1 data-i18n="prep">Prep...</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="magic-toggle" name="attr_magic_toggle" title="@{magic_toggle}" type="radio" value="rituals"/>
|
|
<h1 data-i18n="rituals">Rituals</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{drain}}}{{base=^{base}}}{{dice=[[((@{drain_attribute_1}+@{drain_attribute_2}+@{drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<select class="attribute-select" name="attr_drain_attribute_1" title="@{drain_attribute_1}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="logic" value="@{logic}" selected="selected">Logic</option>
|
|
<option data-i18n="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_drain_attribute_2" title="@{drain_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_drain_modifier" title="@{drain_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<input class="magic-toggle" name="attr_magic_toggle" type="hidden" value="spells"/>
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="spells">spells</h2>
|
|
<h2 data-i18n="type">type</h2>
|
|
<h2 data-i18n="range">range</h2>
|
|
<h2 data-i18n="duration">duration</h2>
|
|
<h2 data-i18n="drain">drain</h2>
|
|
</div>
|
|
<div class="magic-spells spellsForumlas">
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_spell">
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<button name="roll_spell}" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{magic}}}{{dice=[[((@{skill}+@{dicepool}+@{magic})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{combat_type} ?{Force|}}}{{drain=[[ceil(?{Force|}/2)+(@{drain})]]}}"><span name="attr_name"></span></button><span class="center" name="attr_type"></span><span class="center" name="attr_range"></span><span class="center" name="attr_duration"></span><span class="center" name="attr_drain"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox" checked="checked"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_name" placeholder="Fireball" title="@{repeating_spell_${x}_name}" type="text"/>
|
|
</label>
|
|
<select name="attr_type" title="@{repeating_spell_${x}_type}" value="physical">
|
|
<option data-i18n="mana" value="Mana">mana</option>
|
|
<option data-i18n="physical" value="Physical" selected="selected">physical</option>
|
|
</select>
|
|
<select name="attr_range" title="@{repeating_spell_${x}_range}" value="los">
|
|
<option data-i18n="los" value="LOS" selected="selected">los</option>
|
|
<option data-i18n="los (a)" value="LOS (A)">los (a)</option>
|
|
<option data-i18n="special" value="Special">special</option>
|
|
<option data-i18n="t" value="T">t</option>
|
|
<option data-i18n="t (a)" value="T (A)">t (a)</option>
|
|
</select>
|
|
<select name="attr_duration" title="@{repeating_spell_${x}_duration}" value="instant">
|
|
<option data-i18n="instant" value="Instant" selected="selected">instant</option>
|
|
<option data-i18n="permanent" value="Permanent">permanent</option>
|
|
<option data-i18n="special" value="Special">special</option>
|
|
<option data-i18n="sustained" value="Sustained">sustained</option>
|
|
</select>
|
|
<label data-i18n-title="drain" title="Drain">
|
|
<input name="attr_drain" placeholder="-1" title="@{repeating_spell_${x}_drain}" type="number"/>
|
|
</label>
|
|
<div class="row">
|
|
<h3 data-i18n="category">Category</h3>
|
|
<select name="attr_category" title="@{repeating_spell_${x}_category}" value="combat">
|
|
<option data-i18n="combat" value="Combat" selected="selected">combat</option>
|
|
<option data-i18n="detection" value="Detection">detection</option>
|
|
<option data-i18n="health" value="Health">health</option>
|
|
<option data-i18n="illusion" value="Illusion">illusion</option>
|
|
<option data-i18n="manipulation" value="Manipulation">manipulation</option>
|
|
</select>
|
|
<h3 data-i18n="combat">Combat</h3>
|
|
<select name="attr_combat_type" title="@{repeating_spell_${x}_combat_type}" value="force">
|
|
<option data-i18n="force" value="Force " selected="selected">force</option>
|
|
<option data-i18n="direct" value="Direct, Force ">direct</option>
|
|
<option data-i18n="indirect" value="Indirect, Force ?{Force|}, AP -">indirect</option>
|
|
</select>
|
|
<h3 data-i18n="damage">Damage</h3>
|
|
<label data-i18n-title="damage" title="Damage">
|
|
<input name="attr_damage" placeholder="P" title="@{repeating_spell_${x}_damage}" type="text"/>
|
|
</label>
|
|
</div>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">Skill</h3>
|
|
<select name="attr_skill" title="@{repeating_spell_${x}_skill}" value="@{spellcasting}">
|
|
<option data-i18n="sorcerygroup" value="@{sorcery}">sorcerygroup</option>
|
|
<option data-i18n="spellcasting" value="@{spellcasting}" selected="selected">spellcasting</option>
|
|
</select>
|
|
<h3 data-i18n="specialization">Specialization</h3>
|
|
<label data-i18n-title="specialization" title="Specialization">
|
|
<input name="attr_specialization" title="@{repeating_spell_${x}_specialization}" type="checkbox" value="2"/>
|
|
</label>
|
|
<h3 data-i18n="modifierdice">modifier dice</h3>
|
|
<label data-i18n-title="modifierdice" title="modifier dice">
|
|
<input name="attr_dicepool_modifier" placeholder="0" title="@{repeating_spell_${x}_dicepool_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_spell_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="magic-preps spellsForumlas">
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_preps">
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<button name="roll_preps}" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{magic}}}{{dice=[[((@{skill}+@{dicepool}+@{magic})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{combat_type} ?{Force|}}}{{drain=[[ceil(?{Force|}/2)+(@{drain})]]}}"><span name="attr_name"></span></button><span class="center" name="attr_type"></span><span class="center" name="attr_range"></span><span class="center" name="attr_duration"></span><span class="center" name="attr_drain"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox" checked="checked"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_name" placeholder="Fireball" title="@{repeating_preps_${x}_name}" type="text"/>
|
|
</label>
|
|
<select name="attr_type" title="@{repeating_preps_${x}_type}" value="physical">
|
|
<option data-i18n="mana" value="Mana">mana</option>
|
|
<option data-i18n="physical" value="Physical" selected="selected">physical</option>
|
|
</select>
|
|
<select name="attr_range" title="@{repeating_preps_${x}_range}" value="los">
|
|
<option data-i18n="los" value="LOS" selected="selected">los</option>
|
|
<option data-i18n="los (a)" value="LOS (A)">los (a)</option>
|
|
<option data-i18n="special" value="Special">special</option>
|
|
<option data-i18n="t" value="T">t</option>
|
|
<option data-i18n="t (a)" value="T (A)">t (a)</option>
|
|
</select>
|
|
<select name="attr_duration" title="@{repeating_preps_${x}_duration}" value="instant">
|
|
<option data-i18n="instant" value="Instant" selected="selected">instant</option>
|
|
<option data-i18n="permanent" value="Permanent">permanent</option>
|
|
<option data-i18n="special" value="Special">special</option>
|
|
<option data-i18n="sustained" value="Sustained">sustained</option>
|
|
</select>
|
|
<label data-i18n-title="drain" title="Drain">
|
|
<input name="attr_drain" placeholder="-1" title="@{repeating_preps_${x}_drain}" type="number"/>
|
|
</label>
|
|
<div class="row">
|
|
<h3 data-i18n="category">Category</h3>
|
|
<select name="attr_category" title="@{repeating_preps_${x}_category}" value="combat">
|
|
<option data-i18n="combat" value="Combat" selected="selected">combat</option>
|
|
<option data-i18n="detection" value="Detection">detection</option>
|
|
<option data-i18n="health" value="Health">health</option>
|
|
<option data-i18n="illusion" value="Illusion">illusion</option>
|
|
<option data-i18n="manipulation" value="Manipulation">manipulation</option>
|
|
</select>
|
|
<h3 data-i18n="combat">Combat</h3>
|
|
<select name="attr_combat_type" title="@{repeating_preps_${x}_combat_type}" value="force">
|
|
<option data-i18n="force" value="Force " selected="selected">force</option>
|
|
<option data-i18n="direct" value="Direct, Force ">direct</option>
|
|
<option data-i18n="indirect" value="Indirect, Force ?{Force|}, AP -">indirect</option>
|
|
</select>
|
|
<h3 data-i18n="damage">Damage</h3>
|
|
<label data-i18n-title="damage" title="Damage">
|
|
<input name="attr_damage" placeholder="P" title="@{repeating_preps_${x}_damage}" type="text"/>
|
|
</label>
|
|
</div>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">Skill</h3>
|
|
<select name="attr_skill" title="@{repeating_preps_${x}_skill}" value="@{enchanting}">
|
|
<option data-i18n="enchanting" value="@{enchanting}" selected="selected">enchanting</option>
|
|
</select>
|
|
<h3 data-i18n="specialization">Specialization</h3>
|
|
<label data-i18n-title="specialization" title="Specialization">
|
|
<input name="attr_specialization" title="@{repeating_preps_${x}_specialization}" type="checkbox" value="2"/>
|
|
</label>
|
|
<h3 data-i18n="modifierdice">modifier dice</h3>
|
|
<label data-i18n-title="modifierdice" title="modifier dice">
|
|
<input name="attr_dicepool_modifier" placeholder="0" title="@{repeating_preps_${x}_dicepool_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_preps_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows repeating-container prepared-preparations">
|
|
<h2 data-i18n="preperations"></h2>
|
|
<div class="row-long headers">
|
|
<h3 data-i18n="name"></h3>
|
|
<h3 data-i18n="force"></h3>
|
|
<h3 data-i18n="potency"></h3>
|
|
<h3 data-i18n="trigger"></h3>
|
|
</div>
|
|
<fieldset class="repeating_preperations">
|
|
<button name="roll_preparation" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{force}+@{potency})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}undefined"><span name="attr_name"></span></button><span class="center" name="attr_force"></span><span class="center" name="attr_potency"></span><span class="center" name="attr_trigger"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="name" title="name">
|
|
<input name="attr_name" placeholder="Name" title="@{repeating_preperations_${x}_name}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="force" title="force">
|
|
<input name="attr_force" placeholder="1" title="@{repeating_preperations_${x}_force}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="potency" title="potency">
|
|
<input name="attr_potency" placeholder="1" title="@{repeating_preperations_${x}_potency}" type="number" value=""/>
|
|
</label>
|
|
<select name="attr_trigger" title="@{repeating_preperations_${x}_trigger}" value="Command">
|
|
<optgroup label="Trigger">Trigger
|
|
<option data-i18n="command" value="Command">command</option>
|
|
<option data-i18n="contact" value="Contact" selected="selected">contact</option>
|
|
<option data-i18n="time" value="Time">time</option>
|
|
<option data-i18n="special" value="Special">special</option>
|
|
</optgroup>
|
|
</select>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_preperations_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="magic-rituals">
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_ritual">
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<button name="roll_ritual" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{skill}+@{dicepool}+@{magic})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Force ?{Force|}}}"><span name="attr_name"></span></button><span class="center" name="attr_type"></span><span class="center" name="attr_range"></span><span class="center" name="attr_duration"></span><span class="center" name="attr_drain"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="name" title="name">
|
|
<input name="attr_name" placeholder="Curse (MATERIAL LINK, SPELL)" title="@{@{repeating_undefined_${x}_name}" type="text"/>
|
|
</label>
|
|
<div class="rows">
|
|
<h3 data-i18n="skill">skill</h3>
|
|
<select name="attr_skill" title="@{@{repeating_undefined_${x}_skill}">
|
|
<option data-i18n="sorcerygroup" value="@{sorcery}">Sorcery Group</option>
|
|
<option data-i18n="ritualspellcasting" value="@{ritualspellcasting}" selected="selected">Ritual Spellcasting</option>
|
|
</select>
|
|
<h3 data-i18n="specialization">specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" title="@{@{repeating_undefined_${x}_specialization}" type="checkbox" value="2"/>
|
|
</label>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{@{repeating_undefined_${x}_dicepool_modifier}" type="number"/>
|
|
</label>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_ritual_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pc-row powers">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="adeptpowers">Adept Powers or Other Abilities</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{drain}}}{{base=^{base}}}{{dice=[[((@{drain_attribute_1}+@{drain_attribute_2}+@{drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<select class="attribute-select" name="attr_drain_attribute_1" title="@{drain_attribute_1}">
|
|
<option data-i18n="body" value="@{body}" selected="selected">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_drain_attribute_2" title="@{drain_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_drain_modifier" title="@{drain_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="name">Name</h2>
|
|
<h2 class="center" data-i18n="rating">Rating</h2>
|
|
</div>
|
|
<div class="rows repeating-container powers">
|
|
<fieldset class="repeating_powers"><span name="attr_name"></span><span class="center" name="attr_rating"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="name" title="name">
|
|
<input name="attr_name" placeholder="name" title="@{repeating_powers_${x}_name}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="rating" title="rating">
|
|
<input name="attr_rating" placeholder="rating" title="@{repeating_powers_${x}_rating}" type="number" value=""/>
|
|
</label>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_powers_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="matrix pc-col">
|
|
<div class="pc-row matrix-box">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="Commlinks">Commlinks</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<div class="commlinks rows repeating-container">
|
|
<fieldset class="repeating_commlinks">
|
|
<h2 class="text-capitalize" data-i18n="name"></h2>
|
|
<label data-i18n-title="name">
|
|
<input name="attr_name" placeholder="Commlink name" title="@{@{repeating_commlink_${x}_name}" type="text" value=""/>
|
|
</label>
|
|
<h2 class="text-capitalize" data-i18n="os"></h2>
|
|
<label data-i18n-title="os">
|
|
<input name="attr_os" placeholder="Commlink os" title="@{@{repeating_commlink_${x}_os}" type="text" value=""/>
|
|
</label>
|
|
<h2 class="text-capitalize" data-i18n="response"></h2>
|
|
<label data-i18n-title="response">
|
|
<input name="attr_response" placeholder="Commlink response" title="@{@{repeating_commlink_${x}_response}" type="text" value=""/>
|
|
</label>
|
|
<h2 class="text-capitalize" data-i18n="system"></h2>
|
|
<label data-i18n-title="system">
|
|
<input name="attr_system" placeholder="Commlink system" title="@{@{repeating_commlink_${x}_system}" type="text" value=""/>
|
|
</label>
|
|
<h2 class="text-capitalize" data-i18n="signal"></h2>
|
|
<label data-i18n-title="signal">
|
|
<input name="attr_signal" placeholder="Commlink signal" title="@{@{repeating_commlink_${x}_signal}" type="text" value=""/>
|
|
</label>
|
|
<h2 class="text-capitalize" data-i18n="firewall"></h2>
|
|
<label data-i18n-title="firewall">
|
|
<input name="attr_firewall" placeholder="Commlink firewall" title="@{@{repeating_commlink_${x}_firewall}" type="text" value=""/>
|
|
</label>
|
|
<div class="con-hex">
|
|
<input type="radio" name="attr_matrix" value="0"/>
|
|
<h2 data-i18n="conditionmonitor"></h2>
|
|
<input type="radio" name="attr_matrix" value="0"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="1"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="2"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="3"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="4"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="5"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="6"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="7"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="8"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="9"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="10"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="11"/><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix" value="12"/><span class="hexagon"></span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows repeating-container programs">
|
|
<h2 data-i18n="programs">Programs</h2>
|
|
<fieldset class="repeating_programs">
|
|
<input class="toggle" name="attr_program_on" type="checkbox" checked="checked"/><span class="pictos">Q</span>
|
|
<button class="pictos" name="roll_program" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{program}}}{{base=^{base}}}{{dice=[[((@{skill}+@{rating}+@{modifier}+@{specialization})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span class="eclipse" name="attr_program"></span></button>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<div class="col">
|
|
<label data-i18n-title="programs" title="programs">
|
|
<input name="attr_program" placeholder="Program name" title="@{repeating_programs_${x}_program}" type="text" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="col">
|
|
<h3 data-i18n="rating">rating</h3>
|
|
<label data-i18n-title="programs" title="programs">
|
|
<input name="attr_rating" placeholder="0" title="@{repeating_programs_${x}_rating}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="col">
|
|
<h3 data-i18n="skill">skill</h3>
|
|
<select name="attr_skill" title="@{repeating_programs_${x}_skill}" value="@{cracking}">
|
|
<optgroup label="Cracking Skills">Cracking Skills
|
|
<option data-i18n="crackinggroup" value="@{cracking}" selected="selected">Cracking Group</option>
|
|
<option data-i18n="cybercombat" value="@{cybercombat}">Cybercombat</option>
|
|
<option data-i18n="hacking" value="@{hacking}">Hacking</option>
|
|
<option data-i18n="electronicwarfare" value="@{electronicwarfare}">Electronic Warfare</option>
|
|
</optgroup>
|
|
<optgroup label="Electronic Skills">Electronic Skills
|
|
<option data-i18n="electronicsgroup" value="@{electronics}">Electronics Group</option>
|
|
<option data-i18n="computer" value="@{computer}">Computer</option>
|
|
<option data-i18n="datasearch" value="@{datasearch}">Data Search</option>
|
|
<option data-i18n="hardware" value="@{hardware}">Hardware</option>
|
|
<option data-i18n="software" value="@{software}">Software</option>
|
|
</optgroup>
|
|
</select>
|
|
</div>
|
|
<div class="col">
|
|
<h3 data-i18n="specialization">specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" value="2" title="@{repeating_programs_${x}_specialization}" type="checkbox"/>
|
|
</label>
|
|
</div>
|
|
<div class="col">
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_modifier" title="@{repeating_programs_${x}_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_programs_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pc-row">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="complex form">Complex Forms</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<button data-i18n="fade" name="roll_fade" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{fade}}}{{base=^{base}}}{{dice=[[((@{fade_attribute_1}+@{fade_attribute_2}+@{fade_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"></button>
|
|
<select class="attribute-select" name="attr_fade_attribute_1" title="@{fade_attribute_1}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}" selected="selected">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_fade_attribute_2" title="@{fade_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_fade_modifier" title="@{fade_modifier}" type="number" value="0"/>
|
|
</label>
|
|
<div class="rows repeating-container complex-forms">
|
|
<div class="row-long headers">
|
|
<h2 class="text-capitalize" data-i18n="complex form"></h2>
|
|
<h2 class="text-capitalize" data-i18n="target"></h2>
|
|
<h2 class="text-capitalize" data-i18n="duration"></h2>
|
|
<h2 class="text-capitalize" data-i18n="fade"></h2>
|
|
</div>
|
|
<fieldset class="repeating_forms">
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<button name="roll_complex_form" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{skill}+@{dicepool}+@{resonance})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Level ?{Level|}, Fade [[ceil(?{Level|}/2)+(@{fade})]]}}"><span name="attr_name"></span></button><span class="center eclipse" name="attr_c"></span><span class="center eclipse" name="attr_o"></span><span class="center eclipse" name="attr_m"></span><span class="center eclipse" name="attr_p"></span><span class="center eclipse" name="attr_l"></span><span class="center eclipse" name="attr_e"></span><span class="center eclipse" name="attr_x"></span><span class="center eclipse" name="attr_ "></span><span class="center eclipse" name="attr_f"></span><span class="center eclipse" name="attr_o"></span><span class="center eclipse" name="attr_r"></span><span class="center eclipse" name="attr_m"></span>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<label data-i18n-title="name" title="name">
|
|
<input name="attr_name" placeholder="name" title="@{repeating_forms_${x}_name}" type="text" value=""/>
|
|
</label>
|
|
<select name="attr_target" title="@{repeating_forms_${x}_target}" value="Device">
|
|
<option class="text-capitalize" data-i18n="device" value="device">device</option>
|
|
<option class="text-capitalize" data-i18n="file" value="file">file</option>
|
|
<option class="text-capitalize" data-i18n="host" value="host">host</option>
|
|
<option class="text-capitalize" data-i18n="ic" value="ic">ic</option>
|
|
<option class="text-capitalize" data-i18n="persona" value="persona">persona</option>
|
|
<option class="text-capitalize" data-i18n="self" value="self">self</option>
|
|
<option class="text-capitalize" data-i18n="sprite" value="sprite">sprite</option>
|
|
</select>
|
|
<select name="attr_duration" title="@{repeating_forms_${x}_duration}" value="Instant">
|
|
<option class="text-capitalize" data-i18n="extended" value="extended"></option>
|
|
<option class="text-capitalize" data-i18n="instant" value="instant"></option>
|
|
<option class="text-capitalize" data-i18n="permanent" value="permanent"></option>
|
|
<option class="text-capitalize" data-i18n="other" value="other"></option>
|
|
<option class="text-capitalize" data-i18n="sustained" value="sustained"></option>
|
|
</select>
|
|
<label data-i18n-title="fade" title="fade">
|
|
<input name="attr_fade" placeholder="-1" title="@{repeating_forms_${x}_fade}" type="number" value=""/>
|
|
</label>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">skill</h3>
|
|
<select name="attr_skill" title="@{repeating_forms_${x}_skill}" value="@{software}">
|
|
<option data-i18n="Electronics Group" value="@{electronics}">Electronics Group</option>
|
|
<option data-i18n="software" value="@{software}" selected="selected">Software</option>
|
|
</select>
|
|
<h3 data-i18n="specialization"></h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" value="2" title="@{repeating_forms_${x}_specialization}" type="checkbox"/>
|
|
</label>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{repeating_forms_${x}_dicepool_modifier}" type="number"/>
|
|
</label>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_forms_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="social pc-col">
|
|
<div class="pc-row">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="idslifestylecurrency"></h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box lifestyle">
|
|
<div class="pc-box small-box">
|
|
<div class="row-long">
|
|
<h3 data-i18n="primarylifestyle"></h3>
|
|
<input name="attr_primary_lifestyle" placeholder="Middle /w GRID subscription" style="width: 77%" title="@{primary_lifestyle}" type="text"/>
|
|
</div>
|
|
<div class="row-long">
|
|
<h3 data-i18n="nuyen"></h3>
|
|
<input type="text" name="attr_primary_nuyen" placeholder="$1,000 UCAS" style="width: 90%" title="@{primary_nuyen}"/>
|
|
</div>
|
|
<div class="row-long">
|
|
<h3 data-i18n="licenses"></h3>
|
|
<input type="text" name="attr_primary_licenses" placeholder="Technomancer, Pistols..." style="width: 87%" title="@{primary_licenses}"/>
|
|
</div>
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="fakeidsrelated"></h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_lifestyle"><span class="eclipse" name="attr_name"></span>
|
|
<button class="pictos" name="lifestyle_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{name}}}{{desc=^{relatedlifestyle} @{lifestyle} , ^{nuyen} @{funds}, ^{licenses} @{licenses}}}">w</button>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse">
|
|
<div class="rows">
|
|
<h3 data-i18n="relatedlifestyle"></h3><span name="attr_lifestyle"></span>
|
|
</div>
|
|
<div class="rows">
|
|
<h3 data-i18n="nuyen"></h3><span name="attr_funds"></span>
|
|
</div>
|
|
<div class="rows">
|
|
<h3 data-i18n="licenses"></h3><span name="attr_licenses"></span>
|
|
</div>
|
|
</div>
|
|
<div class="settings">
|
|
<h3 data-i18n="fakeid"></h3>
|
|
<input class="text-left" name="attr_name" placeholder="John Doe" title="@{repeating_lifestyle_${x}_name}" type="text"/>
|
|
<h3 data-i18n="relatedlifestyle"></h3>
|
|
<textarea name="attr_lifestyle" placeholder="Middle" title="@{repeating_lifestyle_${x}_lifestyle}"></textarea>
|
|
<h3 data-i18n="funds"></h3>
|
|
<textarea name="attr_funds" placeholder="$1,000 UCAS" title="@{repeating_lifestyle_${x}_funds}"></textarea>
|
|
<h3 data-i18n="licenses"></h3>
|
|
<textarea name="attr_licenses" placeholder="Technomancer, Pistols" title="@{repeating_lifestyle_${x}_licenses}"></textarea>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pc-row">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="contacts"></h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box contacts">
|
|
<div class="pc-box small-box">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="name">name</h2>
|
|
<h2 data-i18n="loyalty">loyalty</h2>
|
|
<h2 data-i18n="connection">connection</h2>
|
|
<h2 data-i18n="favor">favor</h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_contacts"><span class="eclipse" name="attr_name"></span><span class="center" name="attr_loyalty"></span><span class="center" name="attr_connection"></span><span class="center" name="attr_favors"></span>
|
|
<button class="pictos" name="ontact_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{name}}}{{desc=^{loyalty} @{loyalty} , ^{connection} @{connection}, ^{favor} @{favors}}}">w</button>
|
|
<input class="collapse-flag" name="attr_display_flag" type="checkbox"/><span class="pictos">i</span>
|
|
<input class="settings-flag" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<div class="collapse"><span name="attr_notes"></span></div>
|
|
<div class="settings">
|
|
<input type="text" name="attr_name" placeholder="Old Crow" title="@{repeating_contacts_${x}_name}"/>
|
|
<input type="number" name="attr_loyalty" min="1" placeholder="3" title="@{repeating_contacts_${x}_name}"/>
|
|
<input type="number" name="attr_connection" min="1" placeholder="8" title="@{repeating_contacts_${x}_name}"/>
|
|
<input type="number" name="attr_favors" placeholder="+2" title="@{repeating_contacts_${x}_name}"/>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_contacts_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><div class="vehicle pc-col">
|
|
<div class="pc-row">
|
|
<div class="header right-header"><h1 data-i18n="vehicle">Vehicle</h1><div class="right-tri"></div></div>
|
|
<div class="border-box repeat-box vehicle-box">
|
|
<div class="pc-box medium-box">
|
|
<fieldset class="repeating_vehicle">
|
|
<input type="hidden" class="settings-toggle" name="attr_flag" value="settings" />
|
|
<div class="settings">
|
|
<div>
|
|
<div class="row-long">
|
|
<label data-i18n="name">Name</label>
|
|
<input type="text" name="attr_name" placeholder="name" title="Vehicle name" />
|
|
<label data-i18n="handling">Handling</label>
|
|
<input type="hidden" name="attr_handling" />
|
|
<input type="number" name="attr_handling_base" placeholder="#" title="Handling base" />
|
|
<input type="number" name="attr_handling_modifier" placeholder="#" title="Handling modifier" />
|
|
<input type="number" name="attr_handling_temp" placeholder="#" title="Handling temp" />
|
|
<input type="hidden" name="attr_display_handling" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="acceleration">Acceleration</label>
|
|
<input type="hidden" name="attr_acceleration" />
|
|
<input type="number" name="attr_acceleration_base" placeholder="#" title="Acceleration base" />
|
|
<input type="number" name="attr_acceleration_modifier" placeholder="#" title="Acceleration modifier" />
|
|
<input type="number" name="attr_acceleration_temp" placeholder="#" title="Acceleration temp" />
|
|
<input type="hidden" name="attr_display_acceleration" placeholder="#" />
|
|
<label data-i18n="speed">Speed</label>
|
|
<input type="hidden" name="attr_speed" />
|
|
<input type="number" name="attr_speed_base" placeholder="#" title="Speed base" />
|
|
<input type="number" name="attr_speed_modifier" placeholder="#" title="Speed modifier" />
|
|
<input type="number" name="attr_speed_temp" placeholder="#" title="Speed temp" />
|
|
<input type="hidden" name="attr_display_speed" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="pilot">Pilot</label>
|
|
<input type="hidden" name="attr_pilot" />
|
|
<input type="number" name="attr_pilot_base" placeholder="#" title="Pilot base" />
|
|
<input type="number" name="attr_pilot_modifier" placeholder="#" title="Pilot modifier" />
|
|
<input type="number" name="attr_pilot_temp" placeholder="#" title="Pilot temp" />
|
|
<input type="hidden" name="attr_display_pilot" placeholder="#" />
|
|
<label data-i18n="body">Body</label>
|
|
<input type="hidden" name="attr_body" />
|
|
<input type="number" name="attr_body_base" placeholder="#" title="Body base" />
|
|
<input type="number" name="attr_body_modifier" placeholder="#" title="Body modifier" />
|
|
<input type="number" name="attr_body_temp" placeholder="#" title="Body temp" />
|
|
<input type="hidden" name="attr_display_body" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="armor">Armor</label>
|
|
<input type="hidden" name="attr_armor" />
|
|
<input type="number" name="attr_armor_base" placeholder="#" title="Amro base" />
|
|
<input type="number" name="attr_armor_modifier" placeholder="#" title="Armor modifier" />
|
|
<input type="number" name="attr_armor_temp" placeholder="#" title="Armor temp" />
|
|
<input type="hidden" name="attr_display_armor" placeholder="#" />
|
|
<label data-i18n="sensor">Sensor</label>
|
|
<input type="hidden" name="attr_sensor" />
|
|
<input type="number" name="attr_sensor_base" placeholder="#" title="Sensor base" />
|
|
<input type="number" name="attr_sensor_modifier" placeholder="#" title="Sensor modifier" />
|
|
<input type="number" name="attr_sensor_temp" placeholder="#" title="Sensor temp" />
|
|
<input type="hidden" name="attr_display_sensor" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<h3 data-i18n="base">Base</h3><h3 data-i18n="modifier">Modifier</h3>
|
|
<h3 data-i18n="temp">Temp</h3><h3 data-i18n="base">Base</h3>
|
|
<h3 data-i18n="modifier">Modifier</h3><h3 data-i18n="temp">Temp</h3>
|
|
</div>
|
|
<h3 data-i18n="notes">Notes</h3>
|
|
<textarea name="attr_notes" value="" placeholder="Notes"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="display">
|
|
<input class="display-flag" type="checkbox" name="attr_display_flag" />
|
|
<div class="row-long">
|
|
<div class="display-row" title="Vehicle">
|
|
<h3 data-i18n="vehicle">Vehicle</h3>
|
|
<div>
|
|
<span name="attr_name"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Handling">
|
|
<h3 data-i18n="handling">Handling</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_handling"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<div class="display-row" title="Acceleration">
|
|
<h3 data-i18n="acceleration">Acceleration</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_acceleration"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Speed">
|
|
<h3 data-i18n="speed">Speed</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_speed"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<div class="display-row" title="Pilot">
|
|
<h3 data-i18n="pilot">Pilot</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_pilot"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Body">
|
|
<h3 data-i18n="body">Body</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_body"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<div class="display-row" title="Armor">
|
|
<h3 data-i18n="armor">Armor</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_armor"></span>
|
|
</div>
|
|
</div>
|
|
<div class="display-row" title="Sensor">
|
|
<h3 data-i18n="sensor">Sensor</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_sensor"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="collapsable">
|
|
<div class="desc"><span name="attr_notes"></span></div>
|
|
</div>
|
|
</div>
|
|
<input class="settings-toggle" type='checkbox' name='attr_flag' value='settings' /><span class='pictos'>x</span>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="options pc-col">
|
|
<div class="pc-row">
|
|
<div class="header right-header"><h1 data-i18n="options">Options</h1><div class="right-tri"></div></div>
|
|
<div class="border-box">
|
|
<div class="pc-box">
|
|
<div class="op-col">
|
|
<div>
|
|
<h2 data-i18n="character">Character</h2><br />
|
|
<label data-i18n="mundane">Mundane</label><input class="character-type" type="checkbox" name="attr_flag_special" value="mundane" title="@{flag_special}" checked /><br />
|
|
<label data-i18n="awakened">Awakened</label><input class="character-type" type="checkbox" name="attr_flag_special" value="magic" title="@{flag_special}" /><br />
|
|
<label data-i18n="emerged">Emerged</label><input class="character-type" type="checkbox" name="attr_flag_special" value="resonance" title="@{flag_special}" />
|
|
</div>
|
|
<hr />
|
|
<div>
|
|
<h2 data-i18n="sheetselect">Sheet Select</h2><br />
|
|
<select name="attr_sheet_type" title="@{sheet_type}" value='pc'>
|
|
<option value="pc" data-i18n="pc" selected>PC</option>
|
|
<option value="grunt" data-i18n="grunt">grunt</option>
|
|
<!---<option value="host" data-i18n="host">Host</option>
|
|
<option value="sprite" data-i18n="sprite">Sprite</option>
|
|
<option value="vehicle" data-i18n="vehicle">Vehicle</option>-->
|
|
</select>
|
|
</div>
|
|
<hr />
|
|
</div>
|
|
<div class="op-col">
|
|
<div>
|
|
<h2 data-i18n="temporarymodifiers">Temporary Modifiers</h2><br />
|
|
<label data-i18n="defense">Defense</label><input type="number" name="attr_defense_temp" title="@{defense_temp}" /><input type="checkbox" name="attr_defense_temp_flag" value="on" checked />
|
|
<label data-i18n="soak">Soak</label><input type="number" name="attr_soak_temp" title="@{soak_temp}" /><input type="checkbox" name="attr_soak_temp_flag" value="on" checked />
|
|
<hr />
|
|
<label data-i18n="body">Body</label><input type="number" name="attr_body_temp" title="@{body_temp}" /><input type="checkbox" name="attr_body_temp_flag" value="on" checked />
|
|
<label data-i18n="agility">Agility</label><input type="number" name="attr_agility_temp" title="@{agility_temp}" /><input type="checkbox" name="attr_agility_temp_flag" value="on" checked />
|
|
<label data-i18n="reaction">Reaction</label><input type="number" name="attr_reaction_temp" title="@{reaction_temp}" /><input type="checkbox" name="attr_reaction_temp_flag" value="on" checked />
|
|
<label data-i18n="strength">Strength</label><input type="number" name="attr_strength_temp" title="@{strength_temp}" /><input type="checkbox" name="attr_strength_temp_flag" value="on" checked />
|
|
<label data-i18n="willpower">Willpower</label><input type="number" name="attr_willpower_temp" title="@{willpower_temp}" /><input type="checkbox" name="attr_willpower_temp_flag" value="on" checked />
|
|
<label data-i18n="logic">Logic</label><input type="number" name="attr_logic_temp" title="@{logic_temp}" /><input type="checkbox" name="attr_logic_temp_flag" value="on" checked />
|
|
<label data-i18n="intuition">Intuition</label><input type="number" name="attr_intuition_temp" title="@{intuition_temp}" /><input type="checkbox" name="attr_intuition_temp_flag" value="on" checked />
|
|
<label data-i18n="charisma">Charisma</label><input type="number" name="attr_charisma_temp" title="@{charisma_temp}" /><input type="checkbox" name="attr_charisma_temp_flag" value="on" checked />
|
|
<label data-i18n="magic">Magic</label><input type="number" name="attr_magic_temp" title="@{magic_temp}" /><input type="checkbox" name="attr_magic_temp_flag" value="on" checked />
|
|
<label data-i18n="resonance">Resonance</label><input type="number" name="attr_resonance_temp" title="@{resonance_temp}" /><input type="checkbox" name="attr_resonance_temp_flag" value="on" checked />
|
|
<hr />
|
|
<label data-i18n="initiative">Initiative</label><input type="number" name="attr_initiative_mod_temp" title="@{initiative_temp}" /><input type="checkbox" name="attr_initiative_temp_flag" value="on" checked />
|
|
<label data-i18n="Initiative Passes">Initiative Passes</label><input type="number" name="attr_initiative_passes_temp" title="@{initiative_passes_temp}" /><input type="checkbox" name="attr_initiative_passes_temp_flag" value="on" checked />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="npc">
|
|
<div class="tabs"><img alt="Shadowrun black and metallic logo" src="https://raw.githubusercontent.com/clevett/roll20-character-sheets/shadowrun4ev1/Shadowrun4thEdition/src/imgs/ShadowrunLogo.png"/>
|
|
<h2 data-i18n-title="/w GM">/w GM</h2>
|
|
<label class="switch" data-i18n-title="whisper rolls to gm" title="whisper rolls to gm">
|
|
<input class="whisper-toggle" name="attr_gm_toggle" type="checkbox" value="/w gm"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="wounds">wounds</h2>
|
|
<label class="switch" data-i18n-title="wounds" title="wounds">
|
|
<input class="whisper-toggle" name="attr_wounds_toggle" type="checkbox" value="@{wounds}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="modifiers">modifiers</h2>
|
|
<label class="switch" data-i18n-title="modifiers" title="modifiers">
|
|
<input class="whisper-toggle" name="attr_modifiers_toggle" type="checkbox" value="?{Modifiers +/-|0}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="edge">edge</h2>
|
|
<label class="switch" data-i18n-title="edge" title="edge">
|
|
<input class="whisper-toggle" name="attr_edge_toggle" type="checkbox" value="@{edge}"/><span class="slider"></span>
|
|
</label>
|
|
<button name="d6" title="Roll D6s" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{d6}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5)]]}}">L</button>
|
|
<select name="attr_sheet_type" title="Sheet Type" value="pc">
|
|
<option value="grunt" data-i18n="grunt">Grunt</option>
|
|
<option value="pc" data-i18n="pc" selected="selected">PC</option>
|
|
</select>
|
|
<input name="attr_stats_toggle" type="checkbox" value="settings" checked="checked"/><span class="pictos">y</span>
|
|
</div>
|
|
<input name="attr_stats_toggle" type="hidden" value="settings"/>
|
|
<div class="grunt attribute">
|
|
<button data-i18n="b" name="roll_body" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{body}}}{{base=^{base}}}{{dice=[[((@{body}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">b</button><span name="attr_display_body"></span>
|
|
<label class="settings" data-i18n-title="Body" title="Body">
|
|
<input name="attr_body_base" placeholder="3" title="@{body_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_body_modifier" placeholder="+" title="@{body_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="a" name="roll_agility" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{agility}}}{{base=^{base}}}{{dice=[[((@{agility}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">a</button><span name="attr_display_agility"></span>
|
|
<label class="settings" data-i18n-title="Agility" title="Agility">
|
|
<input name="attr_agility_base" placeholder="3" title="@{agility_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_agility_modifier" placeholder="+" title="@{agility_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="r" name="roll_reaction" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{reaction}}}{{base=^{base}}}{{dice=[[((@{reaction}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">r</button><span name="attr_display_reaction"></span>
|
|
<label class="settings" data-i18n-title="Reaction" title="Reaction">
|
|
<input name="attr_reaction_base" placeholder="3" title="@{reaction_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_reaction_modifier" placeholder="+" title="@{reaction_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="s" name="roll_strength" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{strength}}}{{base=^{base}}}{{dice=[[((@{strength}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">s</button><span name="attr_display_strength"></span>
|
|
<label class="settings" data-i18n-title="Strength" title="Strength">
|
|
<input name="attr_strength_base" placeholder="3" title="@{strength_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_strength_modifier" placeholder="+" title="@{strength_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="c" name="roll_charisma" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{charisma}}}{{base=^{base}}}{{dice=[[((@{charisma}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">c</button><span name="attr_display_charisma"></span>
|
|
<label class="settings" data-i18n-title="Charisma" title="Charisma">
|
|
<input name="attr_charisma_base" placeholder="3" title="@{charisma_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_charisma_modifier" placeholder="+" title="@{charisma_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="i" name="roll_intuition" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{intuition}}}{{base=^{base}}}{{dice=[[((@{intuition}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">i</button><span name="attr_display_intuition"></span>
|
|
<label class="settings" data-i18n-title="Intuition" title="Intuition">
|
|
<input name="attr_intuition_base" placeholder="3" title="@{intuition_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_intuition_modifier" placeholder="+" title="@{intuition_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="l" name="roll_logic" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{logic}}}{{base=^{base}}}{{dice=[[((@{logic}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">l</button><span name="attr_display_logic"></span>
|
|
<label class="settings" data-i18n-title="Logic" title="Logic">
|
|
<input name="attr_logic_base" placeholder="3" title="@{logic_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_logic_modifier" placeholder="+" title="@{logic_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="w" name="roll_willpower" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{willpower}}}{{base=^{base}}}{{dice=[[((@{willpower}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">w</button><span name="attr_display_willpower"></span>
|
|
<label class="settings" data-i18n-title="Willpower" title="Willpower">
|
|
<input name="attr_willpower_base" placeholder="3" title="@{willpower_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_willpower_modifier" placeholder="+" title="@{willpower_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="e" name="roll_edge" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{edge}}}{{base=^{base}}}{{dice=[[((@{edge}+@{attribute_roll})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">e</button><span name="attr_edge"></span>
|
|
<label class="settings" data-i18n-title="edge" title="edge">
|
|
<input name="attr_edge" placeholder="3" title="@{edge}" type="number" value="3"/>
|
|
</label>
|
|
<h1 data-i18n="ess">ess</h1><span name="attr_essence"></span>
|
|
<label class="settings" data-i18n-title="essence" title="essence">
|
|
<input name="attr_essence" placeholder="6" title="@{essence}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-magic" data-i18n="m">m</h1><span class="hide-magic" name="attr_magic"></span>
|
|
<label class="settings hide-magic" data-i18n-title="magic" title="magic">
|
|
<input name="attr_magic" placeholder="6" title="@{magic}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-magic" data-i18n="f">f</h1><span class="hide-magic" name="attr_force"></span>
|
|
<label class="settings hide-magic" data-i18n-title="force" title="force">
|
|
<input name="attr_force" placeholder="6" title="@{force}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-resonance" data-i18n="r">r</h1><span class="hide-resonance" name="attr_resonance"></span>
|
|
<label class="settings hide-resonance" data-i18n-title="resonance" title="resonance">
|
|
<input name="attr_resonance" placeholder="6" title="@{resonance}" type="number" value="6"/>
|
|
</label>
|
|
</div>
|
|
<div class="host attribute">
|
|
<button data-i18n="host_rating" name="roll_host_rating" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{host_rating}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{host_rating})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">host_rating</button><span name="attr_host_rating"></span>
|
|
<label class="settings" data-i18n-title="host_rating" title="Host Rating">
|
|
<input name="attr_host_rating" placeholder="5" title="@{host_rating}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="attack" name="roll_attack" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{attack}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{attack})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">attack</button><span name="attr_attack"></span>
|
|
<label class="settings" data-i18n-title="attack" title="Attack">
|
|
<input name="attr_attack" placeholder="5" title="@{attack}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="sleaze" name="roll_sleaze" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{sleaze}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{sleaze})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">sleaze</button><span name="attr_sleaze"></span>
|
|
<label class="settings" data-i18n-title="sleaze" title="Sleaze">
|
|
<input name="attr_sleaze" placeholder="6" title="@{sleaze}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="data_processing" name="roll_data_processing" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{data_processing}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{data_processing})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">data_processing</button><span name="attr_data_processing"></span>
|
|
<label class="settings" data-i18n-title="data_processing" title="Data Processing">
|
|
<input name="attr_data_processing" placeholder="7" title="@{data_processing}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="firewall" name="roll_firewall" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{firewall}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{firewall})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">firewall</button><span name="attr_firewall"></span>
|
|
<label class="settings" data-i18n-title="firewall" title="Firewall">
|
|
<input name="attr_firewall" placeholder="8" title="@{firewall}" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="vehicle attribute">
|
|
<h1 data-i18n="hand">Hand</h1><span name="attr_handling"></span>
|
|
<label class="settings" data-i18n-title="hand" title="Hand">
|
|
<input name="attr_handling" placeholder="3" title="@{handling}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="handoff">Hand (Off)</h1><span name="attr_handling_offroad"></span>
|
|
<label class="settings" data-i18n-title="handoff" title="Hand (Off)">
|
|
<input name="attr_handling_offroad" placeholder="3" title="@{handling_offroad}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="speed">Speed</h1><span name="attr_speed"></span>
|
|
<label class="settings" data-i18n-title="speed" title="Speed">
|
|
<input name="attr_speed" placeholder="3" title="@{speed}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="speedoff">Speed (Off)</h1><span name="attr_speed_offroad"></span>
|
|
<label class="settings" data-i18n-title="speedoff" title="Speed (Off)">
|
|
<input name="attr_speed_offroad" placeholder="3" title="@{speed_offroad}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="accel">Accel</h1><span name="attr_acceleration"></span>
|
|
<label class="settings" data-i18n-title="accel" title="Accel">
|
|
<input name="attr_acceleration" placeholder="3" title="@{acceleration}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="body">Body</h1><span name="attr_body"></span>
|
|
<label class="settings" data-i18n-title="body" title="Body">
|
|
<input name="attr_body" placeholder="3" title="@{body}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="pilot" name="roll_pilot" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{pilot}}}{{base=^{pilot}}}{{dice=[[((@{pilot}+@{pilot})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">pilot</button><span name="attr_pilot"></span>
|
|
<label class="settings" data-i18n-title="pilot" title="Pilot">
|
|
<input name="attr_pilot" placeholder="3" title="@{pilot}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="sensor">Sensor</h1><span name="attr_sensor"></span>
|
|
<label class="settings" data-i18n-title="sensor" title="Sensor">
|
|
<input name="attr_sensor" placeholder="3" title="@{sensor}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="seat">Seat</h1><span name="attr_seating"></span>
|
|
<label class="settings" data-i18n-title="seat" title="Seat">
|
|
<input name="attr_seating" placeholder="3" title="@{seating}" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="sprite attribute">
|
|
<button data-i18n="level" name="roll_level" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{level}}}{{base=^{level}}}{{dice=[[((@{level}+@{level})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">level</button><span name="attr_level"></span>
|
|
<label class="settings" data-i18n-title="level" title="Level">
|
|
<input name="attr_level" placeholder="5" title="@{level}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="attack" name="roll_attack" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{attack}}}{{base=^{level}}}{{dice=[[((@{level}+@{attack})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">attack</button><span name="attr_attack"></span>
|
|
<label class="settings" data-i18n-title="attack" title="Attack">
|
|
<input name="attr_attack" placeholder="5" title="@{attack}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="sleaze" name="roll_sleaze" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{sleaze}}}{{base=^{level}}}{{dice=[[((@{level}+@{sleaze})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">sleaze</button><span name="attr_sleaze"></span>
|
|
<label class="settings" data-i18n-title="sleaze" title="Sleaze">
|
|
<input name="attr_sleaze" placeholder="6" title="@{sleaze}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="data_processing" name="roll_data_processing" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{data_processing}}}{{base=^{level}}}{{dice=[[((@{level}+@{data_processing})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">data_processing</button><span name="attr_data_processing"></span>
|
|
<label class="settings" data-i18n-title="data_processing" title="Data Processing">
|
|
<input name="attr_data_processing" placeholder="7" title="@{data_processing}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="firewall" name="roll_firewall" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{firewall}}}{{base=^{level}}}{{dice=[[((@{level}+@{firewall})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">firewall</button><span name="attr_firewall"></span>
|
|
<label class="settings" data-i18n-title="firewall" title="Firewall">
|
|
<input name="attr_firewall" placeholder="8" title="@{firewall}" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="mid body">
|
|
<div class="column">
|
|
<h1 class="settings" data-i18n="bonuses">Bonuses</h1>
|
|
<input name="attr_pr" type="hidden" value=""/>
|
|
<div class="rows grunt">
|
|
<h2 data-i18n="pr">Professional Rating</h2><span name="attr_pr" style="margin-left: 2%;"></span>
|
|
<label class="settings" data-i18n-title="pr" title="Professional Rating">
|
|
<input name="attr_pr" title="@{pr}" type="number"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="initiative" name="Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{initiative}}}{{base=^{base}}}{{dice=[[((@{initiative_mod})+@{wounds_toggle}+@{modifiers_toggle})+(@{initiative_dice})d6cf0 &{tracker}]]}}">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><span class="settings tiny-span">=</span><span name="attr_display_initiative_mod"></span><span class="tiny-span">+</span><span name="attr_initiative_dice"></span><span class="tiny-span" 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}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{astralinitiative}}}{{base=^{base}}}{{dice=[[((@{astral_mod})+@{wounds_toggle}+@{modifiers_toggle})+(@{astral_dice})d6cf0 &{tracker}]]}}">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><span class="settings tiny-span">=</span><span name="attr_display_astral_mod"></span><span class="tiny-span">+</span><span name="attr_astral_dice"></span><span class="tiny-span" 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}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{matrixinitiative}}}{{base=^{base}}}{{dice=[[((@{matrix_mod})+@{wounds_toggle}+@{modifiers_toggle})+(@{matrix_dice})d6cf0 &{tracker}]]}}">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><span class="settings tiny-span">=</span><span name="attr_display_matrix_mod"></span><span class="tiny-span">+</span><span name="attr_matrix_dice"></span><span class="tiny-span" 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="Specalizations" 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="Specalizations" 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="Specalizations" 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="range">Range</h2>
|
|
<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>
|
|
<select name="attr_weapon_range" title="@{repeating_weapon_${x}_weapon_range}" value="range">
|
|
<option data-i18n="range" value="range" selected="selected">range</option>
|
|
<option data-i18n="melee" value="melee">melee</option>
|
|
</select>
|
|
<label data-i18n-title="dice" title="Dice">
|
|
<input name="attr_weapon_dice" placeholder="18" title="@{repeating_weapon_${x}_weapon_dice}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_weapon_name" placeholder="Ares Predator" title="@{repeating_weapon_${x}_weapon_name}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="type" title="Type">
|
|
<input name="attr_weapon_type" placeholder="Heavy Pistol" title="@{repeating_weapon_${x}_weapon_type}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="reach" title="Reach">
|
|
<input name="attr_weapon_reach" placeholder="0" title="@{repeating_weapon_${x}_weapon_reach}" type="number" value="0"/>
|
|
</label>
|
|
<label data-i18n-title="dam" title="Dam">
|
|
<input name="attr_weapon_dv" placeholder="9P" title="@{repeating_weapon_${x}_weapon_dv}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="ap" title="AP">
|
|
<input name="attr_weapon_ap" placeholder="-2" title="@{repeating_weapon_${x}_weapon_ap}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="modes" title="Modes">
|
|
<input name="attr_weapon_mode" placeholder="SA/BF/FA" title="@{repeating_weapon_${x}_weapon_mode}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="recoil" title="Recoil">
|
|
<input name="attr_weapon_recoil" placeholder="+2" title="@{repeating_weapon_${x}_weapon_recoil}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="ammo" title="Ammo">
|
|
<input name="attr_weapon_ammo" placeholder="15" title="@{repeating_weapon_${x}_weapon_ammo}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="notes" title="Notes">
|
|
<input name="attr_weapon_note" placeholder="w/ 3 clips of explosive rounds" title="@{repeating_weapon_${x}_weapon_note}" type="text" value=""/>
|
|
</label><span>(c)</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows grunt repeating spells hide-magic">
|
|
<h1 data-i18n="spells">Spells</h1>
|
|
<fieldset class="repeating_NPCspell">
|
|
<input name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<input name="attr_spell" type="hidden" value=""/><span name="attr_dice"></span>
|
|
<button name="roll_spell" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{category}, ^{force} ?{Force|}, Drain [[ceil(?{Force|}/2)+(@{drain})]]}}"><span name="attr_name"></span></button><span name="attr_spell"></span>
|
|
<div class="settings">
|
|
<input name="attr_category" type="hidden" value=""/>
|
|
<h2 data-i18n="category">Category</h2>
|
|
<h2 data-i18n="dice">Dice</h2>
|
|
<h2 data-i18n="name">Name</h2>
|
|
<h2 data-i18n="type">Type</h2>
|
|
<h2 data-i18n="range">Range</h2>
|
|
<h2 data-i18n="duration">Duration</h2>
|
|
<h2 data-i18n="drain">Drain</h2>
|
|
<h2 data-i18n="combat">Combat</h2>
|
|
<h2 data-i18n="dam">Dam</h2>
|
|
<select name="attr_category" title="@{repeating_NPCspell_${x}_category}" value="combat">
|
|
<option data-i18n="combat" value="Combat" selected="selected">combat</option>
|
|
<option data-i18n="detection" value="Detection">detection</option>
|
|
<option data-i18n="health" value="Health">health</option>
|
|
<option data-i18n="illusion" value="Illusion">illusion</option>
|
|
<option data-i18n="manipulation" value="Manipulation">manipulation</option>
|
|
</select>
|
|
<label data-i18n-title="dice" title="Dice">
|
|
<input name="attr_dice" placeholder="18" title="@{repeating_NPCspell_${x}_dice}" type="number"/>
|
|
</label>
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_name" placeholder="Fireball" title="@{repeating_NPCspell_${x}_name}" type="text"/>
|
|
</label>
|
|
<select name="attr_type" title="@{repeating_NPCspell_${x}_type}" value="P">
|
|
<option data-i18n="mana" value="M">mana</option>
|
|
<option data-i18n="physical" value="P">physical</option>
|
|
</select>
|
|
<select name="attr_range" title="@{repeating_NPCspell_${x}_range}" value="LOS">
|
|
<option data-i18n="los" value="LOS">los</option>
|
|
<option data-i18n="los (a)" value="LOS (A)">los (a)</option>
|
|
<option data-i18n="special" value="Special">special</option>
|
|
<option data-i18n="t" value="T">t</option>
|
|
<option data-i18n="t (a)" value="T (A)">t (a)</option>
|
|
</select>
|
|
<select name="attr_duration" title="@{repeating_NPCspell_${x}_duration}" value="Instant">
|
|
<option data-i18n="instant" value="Instant">instant</option>
|
|
<option data-i18n="permanent" value="Permanent">permanent</option>
|
|
<option data-i18n="special" value="Special">special</option>
|
|
<option data-i18n="sustained" value="Sustained">sustained</option>
|
|
</select>
|
|
<label data-i18n-title="drain" title="Drain">
|
|
<input name="attr_drain" placeholder="-1" title="@{repeating_NPCspell_${x}_drain}" type="number"/>
|
|
</label>
|
|
<select name="attr_combat_type" title="@{repeating_NPCspell_${x}_combat_type}" value="Force">
|
|
<option value="Force " selected="selected"></option>
|
|
<option data-i18n="direct" value="Direct, Force ">direct</option>
|
|
<option data-i18n="indirect" value="Indirect, Force ?{Force|}, AP -">indirect</option>
|
|
</select>
|
|
<label data-i18n-title="dam" title="Dam">
|
|
<input name="attr_damage" placeholder="P" title="@{repeating_NPCspell_${x}_damage}" type="text"/>
|
|
</label>
|
|
<label data-i18n-title="notes" title="Notes">
|
|
<input name="attr_note" placeholder="may start fires" title="@{repeating_NPCspell_${x}_note}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows grunt repeating forms hide-resonance">
|
|
<h1 data-i18n="complex form">Complex Forms</h1>
|
|
<fieldset class="repeating_form">
|
|
<input name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<input name="attr_form" type="hidden" value=""/><span name="attr_form_dice"></span>
|
|
<button name="roll_complex form" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=f@{orm_name}}}{{base=^{base}}}{{dice=[[((@{form_dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=?{Level|}, Fade [[?{Level|}+(@{form_fade})]]}}"><span name="attr_form_name"></span></button><span name="attr_form"></span>
|
|
<div class="settings">
|
|
<h2 data-i18n="dice">Dice</h2>
|
|
<h2 data-i18n="name">Name</h2>
|
|
<h2 data-i18n="target">Target</h2>
|
|
<h2 data-i18n="duration">Duration</h2>
|
|
<h2 data-i18n="fade">Fade</h2>
|
|
<label data-i18n-title="dice" title="Dice">
|
|
<input name="attr_form_dice" placeholder="18" title="@{repeating_form_${x}_form_dice}" type="number"/>
|
|
</label>
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_form_name" placeholder="Editor" title="@{repeating_form_${x}_form_name}" type="text"/>
|
|
</label>
|
|
<select name="attr_form_target" title="@{repeating_form_${x}_form_target}" value="device">
|
|
<option data-i18n="device" value="device" selected="selected">device</option>
|
|
<option data-i18n="file" value="file">file</option>
|
|
<option data-i18n="host" value="host">host</option>
|
|
<option data-i18n="ic" value="ic">ic</option>
|
|
<option data-i18n="persona" value="persona">persona</option>
|
|
<option data-i18n="self" value="self">self</option>
|
|
<option data-i18n="sprite" value="sprite">sprite</option>
|
|
</select>
|
|
<label data-i18n-title="duration" title="Duration">
|
|
<input name="attr_form_duration" placeholder="Permanent" title="@{repeating_form_${x}_form_duration}" type="text"/>
|
|
</label>
|
|
<label data-i18n-title="fade" title="Fade">
|
|
<input name="attr_form_fade" placeholder="+2" title="@{repeating_form_${x}_form_fade}" type="number"/>
|
|
</label>
|
|
<label data-i18n-title="notes" title="Notes">
|
|
<input name="attr_form_note" placeholder="edit files" title="@{repeating_form_${x}_form_note}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="footer">
|
|
<div><span data-i18n="copyrightfooter"></span><span>Version</span><span name="attr_version"></span></div><img alt="Emerald Productins, LLC" src="https://raw.githubusercontent.com/clevett/roll20-character-sheets/shadowrun4ev1/Shadowrun4thEdition/src/imgs/EProd_Emerald_Gloss.png"/>
|
|
</div>
|
|
<div class="rolltemplates">
|
|
<rolltemplate class="sheet-rolltemplate-rolls">
|
|
<div class="sheet-template-container">
|
|
<div class="sheet-template-header">{{#header}}
|
|
<h1>{{header}}</h1>{{/header}}
|
|
{{#base}}<span>{{base}}</span>{{/base}}
|
|
{{#rollLess() wound 0}}<span> ♦ </span><span data-i18n="wounds"></span>{{/rollLess() wound 0}}
|
|
{{#rollLess() mod 0}}<span> ♦ </span><span data-i18n="modifier"></span>{{/rollLess() mod 0}}
|
|
{{#rollGreater() mod 0}}<span> ♦ </span><span data-i18n="modifier"></span>{{/rollGreater() mod 0}}
|
|
{{#rollGreater() edge 0}}<span> ♦ </span><span data-i18n="edge"></span>{{/rollGreater() edge 0}}
|
|
</div>
|
|
<div class="sheet-template-body">{{#dice}}
|
|
<div class="sheet-template-row"><span class="inlinerollresult">{{dice}}</span></div>{{/dice}}
|
|
{{#desc}}
|
|
<div class="sheet-template-row"><span class="sheet-template-desc">
|
|
{{desc}}
|
|
{{#rollGreater() rea 0}}<span>,</span><span data-i18n="reach"></span>{{rea}}
|
|
{{/rollGreater() rea 0}}
|
|
{{#rollGreater() drain 1}}<span>,</span><span data-i18n="drain"></span>{{drain}}
|
|
{{/rollGreater() drain 1}}
|
|
{{#rollLess() drain 1}}<span>,</span><span data-i18n="drain-2"></span>{{drain}}
|
|
{{/rollLess() drain 1}}</span></div>{{/desc}}
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
</div><input type="hidden" name="attr_wounds" value="0" />
|
|
<input type="hidden" name="attr_explode_toggle" value="" />
|
|
<input type="hidden" name="attr_attribute_roll" value="" />
|
|
|
|
<input type="hidden" name="attr_armor_name" value="select a Primary in Arms" />
|
|
<input type="hidden" name="attr_impact" min="0" value="3" />
|
|
<input type="hidden" name="attr_ballistic" min="0" value="3" />
|
|
|
|
<input type="hidden" name="attr_primary_range_weapon" value="select a Primary in Arms" />
|
|
<input type="hidden" name="attr_primary_range_weapon_skill" />
|
|
<input type="hidden" name="attr_primary_range_weapon_damage" />
|
|
<input type="hidden" name="attr_primary_range_weapon_dicepool" />
|
|
<input type="hidden" name="attr_primary_range_weapon_ap" />
|
|
<input type="hidden" name="attr_primary_range_weapon_mode" />
|
|
<input type="hidden" name="attr_primary_range_weapon_recoil" />
|
|
<input type="hidden" name="attr_primary_range_weapon_ammo" />
|
|
<input type="hidden" name="attr_shots_fired" value="1" />
|
|
|
|
<input type="hidden" name="attr_primary_melee_weapon" value="select a Primary in Arms" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_skill" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_damage" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_dicepool" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_ap" />
|
|
<input type="hidden" name="attr_primary_melee_weapon_reach" />
|
|
|
|
<input type="hidden" name="attr_initiative_mod" value="6" />
|
|
<input type="hidden" name="attr_initiative_passes" min="1" max="5" value="1" />
|
|
<input type="hidden" name="attr_astral_initiative" max="0" value="0" />
|
|
<input type="hidden" name="attr_matrix_initiative" value="0" />
|
|
<input type="hidden" name="attr_walk" value="12" />
|
|
<input type="hidden" name="attr_run" value="24" />
|
|
<input type="hidden" name="attr_physical" value="0" />
|
|
<input type="hidden" name="attr_stun" value="0" />
|
|
<input type="hidden" name="attr_physical_max" min="0" value="10" />
|
|
<input type="hidden" name="attr_stun_max" min="0" value="10" />
|
|
<input type="hidden" name="attr_matrix" value="0" />
|
|
<input type="hidden" name="attr_matrix_max" min="8" value="10" />
|
|
<input type="hidden" name="attr_defense" value="6" />
|
|
|
|
<input type="hidden" name="attr_aeronauticsmechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_arcana" min="0" value="0" />
|
|
<input type="hidden" name="attr_archery" min="0" value="0" />
|
|
<input type="hidden" name="attr_armorer" min="0" value="0" />
|
|
<input type="hidden" name="attr_artificing" min="0" value="0" />
|
|
<input type="hidden" name="attr_artisan" min="0" value="0" />
|
|
<input type="hidden" name="attr_assensing" min="0" value="0" />
|
|
<input type="hidden" name="attr_astralcombat" min="0" value="0" />
|
|
<input type="hidden" name="attr_athletics" min="0" value="0" />
|
|
<input type="hidden" name="attr_automatics" min="0" min="0" value="0" />
|
|
<input type="hidden" name="attr_automotivemechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_banishing" min="0" value="0" />
|
|
<input type="hidden" name="attr_binding" min="0" value="0" />
|
|
<input type="hidden" name="attr_biotech" min="0" value="0" />
|
|
<input type="hidden" name="attr_blades" min="0" value="0" />
|
|
<input type="hidden" name="attr_chemistry" min="0" value="0" />
|
|
<input type="hidden" name="attr_closecombat" min="0" value="0" />
|
|
<input type="hidden" name="attr_clubs" min="0" value="0" />
|
|
<input type="hidden" name="attr_compiling" min="0" value="0" />
|
|
<input type="hidden" name="attr_computer" min="0" value="0" />
|
|
<input type="hidden" name="attr_con" min="0" value="0" />
|
|
<input type="hidden" name="attr_conjuring" min="0" value="0" />
|
|
<input type="hidden" name="attr_counterspelling" min="0" value="0" />
|
|
<input type="hidden" name="attr_cracking" min="0" value="0" />
|
|
<input type="hidden" name="attr_cybercombat" min="0" value="0" />
|
|
<input type="hidden" name="attr_cybertechnology" min="0" value="0" />
|
|
<input type="hidden" name="attr_decompiling" min="0" value="0" />
|
|
<input type="hidden" name="attr_demolitions" min="0" value="0" />
|
|
<input type="hidden" name="attr_disguise" min="0" value="0" />
|
|
<input type="hidden" name="attr_diving" min="0" value="0" />
|
|
<input type="hidden" name="attr_electronics" min="0" value="0" />
|
|
<input type="hidden" name="attr_electronicwarfare" min="0" value="0" />
|
|
<input type="hidden" name="attr_enchanting" min="0" value="0" />
|
|
<input type="hidden" name="attr_escapeartist" min="0" value="0" />
|
|
<input type="hidden" name="attr_etiquette" min="0" value="0" />
|
|
<input type="hidden" name="attr_exoticmelee" min="0" value="0" />
|
|
<input type="hidden" name="attr_exoticrange" min="0" value="0" />
|
|
<input type="hidden" name="attr_firearms" min="0" value="0" />
|
|
<input type="hidden" name="attr_firstaid" min="0" value="0" />
|
|
<input type="hidden" name="attr_flight" min="0" value="0" />
|
|
<input type="hidden" name="attr_forgery" min="0" value="0" />
|
|
<input type="hidden" name="attr_freefall" min="0" value="0" />
|
|
<input type="hidden" name="attr_gunnery" min="0" value="0" />
|
|
<input type="hidden" name="attr_gymnastics" min="0" value="0" />
|
|
<input type="hidden" name="attr_hacking" min="0" value="0" />
|
|
<input type="hidden" name="attr_hardware" min="0" value="0" />
|
|
<input type="hidden" name="attr_heavyweapons" min="0" value="0" />
|
|
<input type="hidden" name="attr_industrialmechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_influence" min="0" value="0" />
|
|
<input type="hidden" name="attr_instruction" min="0" value="0" />
|
|
<input type="hidden" name="attr_intimidation" min="0" value="0" />
|
|
<input type="hidden" name="attr_leadership" min="0" value="0" />
|
|
<input type="hidden" name="attr_locksmith" min="0" value="0" />
|
|
<input type="hidden" name="attr_longarms" min="0" value="0" />
|
|
<input type="hidden" name="attr_medicine" min="0" value="0" />
|
|
<input type="hidden" name="attr_nauticalmechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_navigation" min="0" value="0" />
|
|
<input type="hidden" name="attr_negotiation" min="0" value="0" />
|
|
<input type="hidden" name="attr_outdoors" min="0" value="0" />
|
|
<input type="hidden" name="attr_palming" min="0" value="0" />
|
|
<input type="hidden" name="attr_perception" min="0" value="0" />
|
|
<input type="hidden" name="attr_performance" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotaerospace" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotaircraft" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotexoticvehicle" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotgroundcraft" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotwalker" min="0" value="0" />
|
|
<input type="hidden" name="attr_pilotwatercraft" min="0" value="0" />
|
|
<input type="hidden" name="attr_pistols" min="0" value="0" />
|
|
<input type="hidden" name="attr_registering" min="0" value="0" />
|
|
<input type="hidden" name="attr_ritualspellcasting" min="0" value="0" />
|
|
<input type="hidden" name="attr_running" min="0" value="0" />
|
|
<input type="hidden" name="attr_sneaking" min="0" value="0" />
|
|
<input type="hidden" name="attr_software" min="0" value="0" />
|
|
<input type="hidden" name="attr_sorcery" min="0" value="0" />
|
|
<input type="hidden" name="attr_spellcasting" min="0" value="0" />
|
|
<input type="hidden" name="attr_stealth" min="0" value="0" />
|
|
<input type="hidden" name="attr_summoning" min="0" value="0" />
|
|
<input type="hidden" name="attr_survival" min="0" value="0" />
|
|
<input type="hidden" name="attr_swimming" min="0" value="0" />
|
|
<input type="hidden" name="attr_tasking" min="0" value="0" />
|
|
<input type="hidden" name="attr_throwingweapons" min="0" value="0" />
|
|
<input type="hidden" name="attr_tracking" min="0" value="0" />
|
|
<input type="hidden" name="attr_unarmedcombat" min="0" value="0" />
|
|
|
|
<input type="hidden" name="attr_dodge" min="0" value="0" />
|
|
<input type="hidden" name="attr_infiltration" min="0" value="0" />
|
|
<input type="hidden" name="attr_shadowing" min="0" value="0" />
|
|
<input type="hidden" name="attr_datasearch" min="0" value="0" />
|
|
<script type="text/worker">
|
|
|
|
const sheetAttributes = {
|
|
attributes: ['body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition', 'charisma', 'edge'],
|
|
translationsAttributes: ['attribute', 'body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition', 'charisma', 'edge', 'none'],
|
|
repeating: ['quality', 'martial', 'items', 'range', 'melee', 'armor', 'spell', 'preps', 'ritual', 'powers', 'forms', 'vehicle', 'augementations', 'lifestyle', 'contacts', 'programs'],
|
|
repeatingSkills: ['active', 'knowledge', 'language'],
|
|
tabs: [`core`, `arms`, `augs`, `gear`, `magic`, `matrix`, `social`, `vehicle`, `options`],
|
|
woundCalculation: ['high_pain_tolerance', 'low_pain_tolerance', 'damage_compensators_physical', 'damage_compensators_stun', 'stun', 'physical'],
|
|
|
|
calculatedAttributes: ['body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition','charisma','magic', 'resonance', 'attack', 'sleaze', 'data_processing', 'firewall'],
|
|
|
|
initiative: ['reaction', 'intuition', 'initiative_modifier', 'initiative_temp', 'initiative_temp_flag'],
|
|
initiative_passes: ['initiative_passes_base', 'initiative_passes_modifier', 'initiative_passes_temp', 'initiative_passes_temp_flag'],
|
|
astral_initiative: ['intuition', 'astral_initiative_modifier'],
|
|
matrix_initiative: [],
|
|
|
|
derivedAttributes: ['memory', 'composure', 'defense', 'soak', 'overflow', 'judge_intentions', 'lift_carry'],
|
|
lift_carry: ['body', 'strength', 'lift_carry_modifier'],
|
|
overflow: ['body', 'overflow_modifier'],
|
|
soak: ['body', 'soak_modifier', 'soak_temp', `soak_temp_flag`],
|
|
defense: ['reaction', 'defense_modifier', 'defense_temp', `defense_temp_flag`],
|
|
judge_intentions: ['charisma', 'intuition', 'judge_intentions_modifier'],
|
|
composure: ['charisma', 'willpower', 'composure_modifier'],
|
|
memory: ['logic', 'willpower', 'memory_modifier'],
|
|
|
|
conditionTracks: ['stun', 'physical', 'matrix'],
|
|
physical: ['physical_modifier', 'body', 'sheet_type', 'flag_drone'],
|
|
stun: ['stun_modifier', 'willpower'],
|
|
matrix: ['matrix_modifier', 'device_rating'],
|
|
|
|
stunCharacters: ['grunt', 'pc'],
|
|
physicalCharacters: ['grunt', 'pc', 'vehicle'],
|
|
matrixCharacters: ['vehicle', 'host', 'sprite'],
|
|
matrixAttributes: ['attack', 'sleaze', 'data_processing', 'firewall'],
|
|
|
|
weaponTypes: ['range', 'melee'],
|
|
rangeAttributes: ['dicepool', 'weapon', 'damage', 'ap', 'skill', 'ammo', 'mode', 'recoil'],
|
|
meleeAttributes: ['dicepool', 'weapon', 'damage', 'ap', 'skill', 'reach'],
|
|
|
|
spellTypes: ['spell', 'preps', 'ritual', 'forms'],
|
|
|
|
armorAttributes: ['name', 'impact', 'ballistic', 'modifier'],
|
|
armorSoak: ['modifier', 'rating'],
|
|
armorProtections: ['impact', 'acid', 'electrical', 'cold', 'fire', 'falling']
|
|
}
|
|
|
|
class PrimaryWeapon {
|
|
constructor(type) {
|
|
this[`primary_${type}_weapon`] = 'select a Primary in Arms',
|
|
this[`primary_${type}_weapon_skill`] = type === 'range' ? '@{firearms}' : '@{closecombat}',
|
|
this[`primary_${type}_weapon_damage`] = '',
|
|
this[`primary_${type}_weapon_dicepool`] = '',
|
|
this[`primary_${type}_weapon_ap`] = ''
|
|
}
|
|
}
|
|
|
|
class PrimaryRangeWeapon extends PrimaryWeapon {
|
|
constructor(type) {
|
|
super(type)
|
|
this[`primary_${type}_weapon_mode`] = '',
|
|
this[`primary_${type}_weapon_recoil`] = '',
|
|
this[`primary_${type}_weapon_ammo`] = '',
|
|
this[`primary_${type}_weapon_ammo_max`] = ''
|
|
}
|
|
}
|
|
|
|
class PrimaryMeleeWeapon extends PrimaryWeapon {
|
|
constructor(type) {
|
|
super(type)
|
|
this[`primary_${type}_weapon_reach`] = ''
|
|
}
|
|
}
|
|
|
|
class PrimaryArmor {
|
|
constructor(name) {
|
|
this.armor_name = name || 'select a Primary in Arms',
|
|
this.soak = 0,
|
|
this.soak_modifier = 0,
|
|
this.armor_rating = 0,
|
|
this.acid_modifier = 0,
|
|
this.cold_modifier = 0,
|
|
this.fire_modifier = 0,
|
|
this.radiation_modifier = 0,
|
|
this.electrical_modifier = 0
|
|
}
|
|
}
|
|
|
|
const processingFunctions = {
|
|
convertIntegerNegative: number => number > 0 ? -Math.abs(number) : number,
|
|
convertIntegersNegatives: numbers => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = processingFunctions.convertIntegerNegative(value);
|
|
}
|
|
return numbers
|
|
},
|
|
|
|
findRepeatingField: trigger => trigger.split('_')[1],
|
|
//Roll20 does not allow for Promises
|
|
//getAttributes: array => new Promise((resolve, reject) => array ? getAttrs(array, v => resolve(v)) : reject(errorMessage('Function failed'))),
|
|
getReprowid: trigger => {
|
|
const split = trigger.split('_');
|
|
return `${split[0]}_${split[1]}_${split[2]}`
|
|
},
|
|
|
|
getReprowAttribute: key => {
|
|
const getReprowid = processingFunctions.getReprowid(key)
|
|
return key.split(`${getReprowid}_`)[1]
|
|
},
|
|
|
|
getTranslations: translationKeys => {
|
|
let translations = {}
|
|
translationKeys.forEach(key => translations[`${key}`] = getTranslationByKey(key))
|
|
return translations
|
|
},
|
|
|
|
parseInteger: string => parseInt(string) || 0,
|
|
parseIntegers: numbers => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = parseInt(value) || 0;
|
|
}
|
|
return numbers
|
|
},
|
|
|
|
setAttributes: (update, silent) => silent && typeof update === 'object' ? setAttrs(update, {silent:true}) : typeof update === 'object' ? setAttrs(update) : console.error(`${update} is not an object`),
|
|
|
|
sliceAttr: attribute => attribute.slice(2, -1),
|
|
|
|
sumIntegers: numbers => numbers.reduce((a,b) => a + b, 0),
|
|
|
|
shadowrun: {
|
|
addRepRow: (repRowID, attributeList) => {
|
|
let weaponAttributeWithRepeatingRow = []
|
|
attributeList.forEach(weaponAttribute => weaponAttributeWithRepeatingRow.push(`${repRowID}_${weaponAttribute}`))
|
|
return weaponAttributeWithRepeatingRow
|
|
},
|
|
attributeFactory: attrs => {
|
|
attrs = processingFunctions.shadowrun.findFlagInKeys(attrs) ? processingFunctions.shadowrun.processTempFlags(attrs) : attrs
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
attrs = processingFunctions.shadowrun.calculateBonuses(attrs)
|
|
attrs.total = processingFunctions.sumIntegers(Object.values(attrs))
|
|
attrs.base = attrs.total - attrs.bonus
|
|
return attrs
|
|
},
|
|
conditionFactory: attrs => {
|
|
attrs.attribute = processingFunctions.shadowrun.determineConditionAttribute(attrs)
|
|
attrs.base = processingFunctions.shadowrun.determineConditionBase(attrs.sheet_type, attrs.flag_drone)
|
|
attrs.modifier = attrs[processingFunctions.shadowrun.findModifierInKeys(attrs)]
|
|
Object.keys(attrs).forEach(key => !['attribute', 'base', 'modifier'].includes(key) ? delete attrs[key] : false)
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
return attrs
|
|
},
|
|
contructRepeatingWeaponAttributes: (repRowID, type) => {
|
|
const attributeList = processingFunctions.shadowrun.determineWeaponAttributesByType(type)
|
|
const constructedWeaponAttributes = processingFunctions.shadowrun.addRepRow(repRowID, attributeList)
|
|
return constructedWeaponAttributes
|
|
},
|
|
buildDisplay: (base, bonus) => bonus === 0 ? base : `${base} (${base + bonus})`,
|
|
calculateBonuses: attrs => {
|
|
attrs.bonus = 0
|
|
for (let [key, value] of Object.entries(attrs)) {
|
|
if (key.includes('modifier') || key.includes('temp')) {
|
|
attrs.bonus += value
|
|
delete attrs[key]
|
|
}
|
|
}
|
|
return attrs
|
|
},
|
|
calculateConditionTracks: conditionInts => Math.ceil(conditionInts.attribute/2) + conditionInts.base + conditionInts.modifier,
|
|
calculateRunSpeed: (agility, modifier) => 25 + modifier,
|
|
calculateWalkSpeed:(agility, modifier) => 10 + modifier,
|
|
calculateWounds: attrs => {
|
|
const divisor = attrs.low_pain_tolerance === 2 ? attrs.low_pain_tolerance : 3;
|
|
const highPain = attrs.high_pain_tolerance >= 1 ? attrs.high_pain_tolerance : 0;
|
|
let sum = 0;
|
|
|
|
["stun", "physical"].forEach(attr => {
|
|
const damageCompensator = attrs[`damage_compensators_${attr}`] || 0
|
|
let dividend = Math.max(attrs[`${attr}`] - (highPain + damageCompensator), 0)
|
|
sum -= Math.floor(dividend / divisor) || 0
|
|
})
|
|
return sum
|
|
},
|
|
convertSkillSelectToHiddenSkill: skillName => {
|
|
let skill = skillName.toLowerCase()
|
|
skill = skill.includes('group') ? skill.slice(0, -6) : skill
|
|
skill = skill.includes(" ") ? skill.replace(/ /g,"") : skill
|
|
return skill
|
|
},
|
|
determineConditionBase: (type, drone) => drone && drone === 'drone' ? 6 : type === 'vehicle' ? 12 : 8,
|
|
determineConditionAttribute: attrs => attrs.willpower ? attrs.willpower : attrs.body ? attrs.body : attrs.device_rating ? attrs.device_rating : 0,
|
|
determineWeaponAttributesByType: weaponType => weaponType === 'range' ? sheetAttributes.rangeAttributes : sheetAttributes.meleeAttributes,
|
|
determineExplodingEdge: newValue => newValue === `@{edge}` ? "!" : "",
|
|
findFlagInKeys: attrs => Object.keys(attrs).find(key => key.includes('_flag')),
|
|
findModifierInKeys: attrs => Object.keys(attrs).find(key => key.includes('_modifier')),
|
|
processTempFlags: attrs => {
|
|
try {
|
|
const tempFlag = processingFunctions.shadowrun.findFlagInKeys(attrs)
|
|
const attrName = tempFlag.split('_temp_flag')[0]
|
|
attrs[`${tempFlag}`] === 'on' ? false : delete attrs[`${attrName}_temp`];
|
|
delete attrs[`${tempFlag}`];
|
|
return attrs
|
|
} catch (error) {
|
|
console.error(error)
|
|
}
|
|
},
|
|
resetRepeatingFieldsPrimaries: (repeatingSection, repRowID) => {
|
|
getSectionIDs(repeatingSection, ids => {
|
|
let attributesWithIDs = [];
|
|
let update = {};
|
|
ids.forEach(id => attributesWithIDs.push(`${repeatingSection}_${id}_primary`))
|
|
attributesWithIDs.forEach(attribute => !attribute.includes(repRowID) ? update[attribute] = 0 : false)
|
|
setAttrs(update);
|
|
})
|
|
},
|
|
shotsFired: (shots, trigger) => shots > 0 && trigger.includes('remove') ? shots -= 1 : trigger.includes('add') ? shots += 1 : shots,
|
|
resetPrimaryArmor: () => {
|
|
const resetPrimary = new PrimaryArmor()
|
|
let update = {}
|
|
for (let [key, value] of Object.entries(resetPrimary)) {
|
|
update[key] = value
|
|
}
|
|
return update
|
|
},
|
|
resetPrimaryWeapon: type => {
|
|
const resetPrimary = type === 'range' ? new PrimaryRangeWeapon(type) : new PrimaryMeleeWeapon(type)
|
|
let update = {}
|
|
for (let [key, value] of Object.entries(resetPrimary)) {
|
|
update[key] = value
|
|
}
|
|
return update
|
|
},
|
|
updatePrimaryArmor: attrs => {
|
|
let update = {}
|
|
|
|
for (let [key, value] of Object.entries(attrs)) {
|
|
const repRowID = processingFunctions.getReprowid(key)
|
|
if (key.includes('name')) {
|
|
update['armor_name'] = attrs[`${repRowID}_name`]
|
|
} else if (key.includes('impact')) {
|
|
update['impact'] = value
|
|
} else if (key.includes('modifier')) {
|
|
update['soak_modifier'] = value
|
|
} else {
|
|
update[`ballistic`] = value
|
|
}
|
|
}
|
|
|
|
return update
|
|
},
|
|
updatePrimaryWeapons: attrs => {
|
|
let update = {}
|
|
for (let [key, value] of Object.entries(attrs)) {
|
|
const type = processingFunctions.findRepeatingField(key)
|
|
const weaponAttribute = processingFunctions.getReprowAttribute(key)
|
|
const primaryAttributeName = key.includes('weapon') ? `primary_${type}_weapon` : `primary_${type}_weapon_${weaponAttribute}`
|
|
update[primaryAttributeName] = value
|
|
|
|
if (key.includes('ammo')) {
|
|
update[`${primaryAttributeName}_max`] = value
|
|
}
|
|
}
|
|
return update
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//for Mocha Unit Texting
|
|
//module.exports = processingFunctions;
|
|
|
|
//Edge toggle to include ! for exploding dice
|
|
const edgeToggle = newValue => {
|
|
processingFunctions.setAttributes({
|
|
explode_toggle: processingFunctions.shadowrun.determineExplodingEdge(newValue)
|
|
})
|
|
}
|
|
|
|
const updateHostAttributes = newValue => {
|
|
newValue = processingFunctions.parseInteger(newValue)
|
|
processingFunctions.setAttributes({
|
|
matrix_max: 8 + Math.ceil(newValue/2),
|
|
ic_attack: Math.min(newValue + newValue)
|
|
})
|
|
}
|
|
|
|
const updateSpriteConditionTrack = newValue => {
|
|
newValue = processingFunctions.parseInteger(newValue)
|
|
processingFunctions.setAttributes({
|
|
matrix_max: 8 + Math.ceil(newValue/2)
|
|
})
|
|
}
|
|
|
|
//ALSO COVER COMPLEX FORMS
|
|
const updateSpellsDicepool = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
getAttrs([`${repRowID}_specialization`, `${repRowID}_dicepool_modifier`], attrs => {
|
|
attrs = processingFunctions.parseIntegers(attrs)
|
|
processingFunctions.setAttributes({
|
|
[`${repRowID}_dicepool`]: processingFunctions.sumIntegers(Object.values(attrs))
|
|
})
|
|
})
|
|
}
|
|
|
|
const resetNpcCondition = () => setAttributes({physical: 0, stun: 0, matrix: 0})
|
|
|
|
const updatePrimary = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
getAttrs([`${repRowID}_primary`], attrs => {
|
|
if (attrs[`${repRowID}_primary`] === 'primary') {
|
|
let update = {}
|
|
|
|
if (repRowID.includes('armor')) {
|
|
update = processingFunctions.shadowrun.updatePrimaryArmor({[eventinfo.triggerName]: eventinfo.newValue})
|
|
} else {
|
|
update = processingFunctions.shadowrun.updatePrimaryWeapons({[eventinfo.triggerName]: eventinfo.newValue})
|
|
}
|
|
|
|
processingFunctions.setAttributes(update)
|
|
}
|
|
})
|
|
}
|
|
|
|
const updateRepeatingArmorPrimary = eventinfo => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
if (eventinfo.newValue === undefined) {
|
|
return false
|
|
} else if (eventinfo.newValue === 'primary') {
|
|
const constructedArmorAttributes = processingFunctions.shadowrun.addRepRow(repRowID, sheetAttributes.armorAttributes)
|
|
getAttrs(constructedArmorAttributes, attrs => {
|
|
const update = processingFunctions.shadowrun.updatePrimaryArmor(attrs)
|
|
processingFunctions.setAttributes(update)
|
|
})
|
|
processingFunctions.shadowrun.resetRepeatingFieldsPrimaries(`repeating_armor`, repRowID)
|
|
} else {
|
|
const update = processingFunctions.shadowrun.resetPrimaryArmor()
|
|
processingFunctions.setAttributes(update)
|
|
}
|
|
}
|
|
|
|
const updateRepeatingWeaponPrimary = (eventinfo, type) => {
|
|
const repRowID = processingFunctions.getReprowid(eventinfo.triggerName)
|
|
if (eventinfo.newValue === undefined) {
|
|
return false
|
|
} else if (eventinfo.newValue === 'primary') {
|
|
const constructedWeaponAttributes = processingFunctions.shadowrun.contructRepeatingWeaponAttributes(repRowID, type)
|
|
getAttrs(constructedWeaponAttributes, attrs => {
|
|
const update = processingFunctions.shadowrun.updatePrimaryWeapons(attrs)
|
|
processingFunctions.setAttributes(update)
|
|
})
|
|
processingFunctions.shadowrun.resetRepeatingFieldsPrimaries(`repeating_${type}`, repRowID)
|
|
} else {
|
|
const update = 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})
|
|
})
|
|
}
|
|
|
|
|
|
//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 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 */
|
|
//This function checks changes to repeating_armor and updates the Primary Armor if needed
|
|
on("change:repeating_armor", (eventInfo) => {
|
|
const source = eventInfo.sourceAttribute;
|
|
const newV = eventInfo.newValue;
|
|
const arm = ["repeating_armor"];
|
|
const armors = [`${arm}_name`, `${arm}_rating`, `${arm}_acid_modifier`, `${arm}_electrical_modifier`, `${arm}_laser_modifier`, `${arm}_gause_round_modifier`, `${arm}_cold_modifier`,`${arm}_fire_modifier`, `${arm}_radiation_modifier`, `${arm}_dicepool_modifier`];
|
|
|
|
//Check if the event was related to the primary flag & armor is set to primary
|
|
if (source.includes('primary') && newV === 'primary') {
|
|
//Get attributes from the repeating_armor
|
|
getAttrs(armors, (v) => {
|
|
let update = {};
|
|
//Update the hidden static Primary Armor attributes with the repeating_armor attributes
|
|
_.each(armors, (armor) => {
|
|
const name = (armor.includes("name") || armor.includes("rating")) ? armor.split("repeating_")[1] : armor.split(`${arm}_`)[1];
|
|
update[`${name}`] = v[`${armor}`];
|
|
});
|
|
|
|
setAttrs(update);
|
|
});
|
|
|
|
//Set the other repeating_armor primary flags to 0 aka unchecked
|
|
getSectionIDs(`${arm}`, function(ids) {
|
|
let IDs = [];
|
|
let update = {};
|
|
|
|
for(var i=0; i < ids.length; i++) {
|
|
IDs.push(`${arm}_` + ids[i] + "_primary");
|
|
};
|
|
|
|
IDs.forEach(id => {
|
|
if (id != source) {
|
|
update[`${id}`] = 0;
|
|
};
|
|
});
|
|
|
|
setAttrs(update);
|
|
});
|
|
//Check if the event was for a relevant Primary Armor attribute
|
|
} else if (source.includes('name') || source.includes('rating') || source.includes('dicepool') || source.includes('acid') || source.includes('cold') || source.includes('electrical') || source.includes('fire') || source.includes('radiation')) {
|
|
//Get the primary flag attribute for this armor. Also get the repeating_armor attribute we'll need for an update, doing it now is more efficient.
|
|
getAttrs([`${arm}_primary`, `${source}`], (v) => {
|
|
//Check if this armor is the designated Primary Armor.
|
|
if (v[`${arm}_primary`] === 'primary') {
|
|
let update = {};
|
|
//Apply the repeating_armor attribute to its static counterpart
|
|
switch (true) {
|
|
case /name/.test(source) : update["armor_name"] = v[`${source}`]; break;
|
|
case /rating/.test(source) : update["armor_rating"] = v[`${source}`]; break;
|
|
case /dicepool/.test(source) : update["soak"] = v[`${source}`]; break;
|
|
case /acid/.test(source) : update["acid"] = v[`${source}`]; break;
|
|
case /cold/.test(source) : update["cold"] = v[`${source}`]; break;
|
|
case /electrical/.test(source): update["electrical"] = v[`${source}`]; break;
|
|
case /fire/.test(source) : update["fire"] = v[`${source}`]; break;
|
|
case /radiation/.test(source) : update["radiation"] = v[`${source}`]; break;
|
|
default: console.log(`Source ${source} was invalid`);}
|
|
|
|
setAttrs(update);
|
|
};
|
|
});
|
|
} else {
|
|
console.log("CHANGE NOT RELEVENT Primary Armor");
|
|
};
|
|
});
|
|
|
|
|
|
//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 => {
|
|
console.log(`%c Shadowrun 5th Edition versioning, ${version}`, "color: darkblue; font-weight:bold");
|
|
|
|
switch(true) {
|
|
case version < 1:
|
|
console.log(`%c Shadowrun 5th Edition versioning, ${version}`, "color: darkblue; font-weight:bold");
|
|
//onepointthreefive()
|
|
//setAttrs({version: 1.35}, () => versioning(1.35))
|
|
break;
|
|
default:
|
|
console.log(`%c Shadowrun 5th 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 => updateRepeatingWeaponPrimary(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 => updateRepeatingArmorPrimary(eventinfo))
|
|
|
|
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> |