New section now holds Complex Forms tab and submersion tab Added Submersion tab with Resist Fade button (for compiling), submersion level, echoes and sprites
5604 lines
317 KiB
HTML
5604 lines
317 KiB
HTML
<div id='SR6WE'>
|
|
<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">
|
|
<img class="shadowrun-logo" alt="Shadowrun sixth edition logo" src="https://s3.amazonaws.com/files.d20.io/images/204802539/QInmmma8HvUBA90c8e8H8Q/max.png?1614545502"/>
|
|
<div class="tabs">
|
|
<div class="header-names">
|
|
<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>
|
|
</div>
|
|
<div class="header-toggles">
|
|
<span> </span>
|
|
<h2 data-i18n-title="whispergm">/w GM</h2>
|
|
<label class="switch" data-i18n-title="whispergm" 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="dicepoolmodifiers">Modifiers</h2>
|
|
<label class="switch" data-i18n-title="dicepoolmodifiers" title="Dicepool Modifiers">
|
|
<input class="whisper-toggle" name="attr_modifiers_toggle" type="checkbox" value="?{Modifiers +/-|0}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="addedgetodicepool">Edge</h2>
|
|
<label class="switch" data-i18n-title="addedgetodicepool" title="Add Edge to your dice pool and exploding 6's">
|
|
<input class="whisper-toggle" name="attr_edge_toggle" type="checkbox" value="@{edge}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="wilddie">Wild Die</h2>
|
|
<label class="switch" data-i18n-title="wilddie" title="Roll a single wild die">
|
|
<input class="whisper-toggle" name="attr_wild_die" type="checkbox" value="1"/><span class="slider"></span>
|
|
</label>
|
|
<span> </span>
|
|
</div>
|
|
<div class="header-navtabs">
|
|
<input name="attr_tab" type="hidden" value="core"/>
|
|
<h1> </h1>
|
|
<button name="d6" title="Roll D6s" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5?{Exploding 6's?|N, |Y,!})]]}}{{wilddie=[[?{Wild Die?|N,0|Y,1}d6]]}}">L</button>
|
|
<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>
|
|
</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_character_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="reputation">Reputation</h2><input type="number" name="attr_reputation" placeholder="#" title="@{reputation}" />
|
|
<h2 data-i18n="heat">Heat</h2><input type="number" name="attr_heat" placeholder="#" title="@{heat}" />
|
|
<h2 data-i18n="nuyen">¥</h2><input type="number" name="attr_nuyen" placeholder="0" title="@{nuyen}" />
|
|
</div>
|
|
<div class="row-long pd-kar">
|
|
<h2 data-i18n="karma">Karma</h2><input style="width: 2em;" type="number" name="attr_karma" placeholder="#" title="@{karma}" />
|
|
<h2 data-i18n="total karma">Total Karma</h2><input style="width: 2em;" type="number" name="attr_total_karma" placeholder="#" title="@{total_karma}" />
|
|
</div>
|
|
<div class="row-long pd-kar">
|
|
<h2 data-i18n="essence">Base Essence</h2><input disabled="disabled" style="width: 1.5em !important;" type="number" step="0.01" min="0.00" name="attr_essence_base" value="6" title="@{essence_base}" /> + <h2 data-i18n="essencemodifier">Modifier</h2><input style="width: 3em !important;" type="number" step="0.01" min="-6.00" name="attr_essence_mod" placeholder="0" title="@{essence_mod}" /> - <h2 data-i18n="augmentations">Augmentations</h2><span name="attr_aug_essence_cost" title="@{aug_essence_cost}"></span> = <h2 data-i18n="currentessence">Current Essence</h2><span name="attr_essence" title="@{essence}"><span>
|
|
</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="" />
|
|
<button type="roll" name="body" value="@{gm_toggle} &{template:rolls}{{header=^{body}}}{{base=^{attributes}}}{{dice=[[(@{body}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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="" />
|
|
<button type="roll" name="agility" value="@{gm_toggle} &{template:rolls}{{header=^{agility}}}{{base=^{attributes}}}{{dice=[[(@{agility}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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="" />
|
|
<button type="roll" name="reaction" value="@{gm_toggle} &{template:rolls}{{header=^{reaction}}}{{base=^{attributes}}}{{dice=[[(@{reaction}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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="" />
|
|
<button type="roll" name="strength" value="@{gm_toggle} &{template:rolls}{{header=^{strength}}}{{base=^{attributes}}}{{dice=[[(@{strength}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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>
|
|
<!-- ~~:+: Willpower :+:~~ -->
|
|
<input type="hidden" name="attr_willpower" value="" />
|
|
<button type="roll" name="willpower" value="@{gm_toggle} &{template:rolls}{{header=^{willpower}}}{{base=^{attributes}}}{{dice=[[(@{willpower}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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>
|
|
<!-- ~~:+: Logic :+:~~ -->
|
|
<input type="hidden" name="attr_logic" value="" />
|
|
<button type="roll" name="logic" value="@{gm_toggle} &{template:rolls}{{header=^{logic}}}{{base=^{attributes}}}{{dice=[[(@{logic}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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>
|
|
<!-- ~~:+: Intuition :+:~~ -->
|
|
<input type="hidden" name="attr_intuition" value="" />
|
|
<button type="roll" name="intuition" value="@{gm_toggle} &{template:rolls}{{header=^{intuition}}}{{base=^{attributes}}}{{dice=[[(@{intuition}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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>
|
|
<!-- ~~:+: Charisma :+:~~ -->
|
|
<input type="hidden" name="attr_charisma" value="" />
|
|
<button type="roll" name="charisma" value="@{gm_toggle} &{template:rolls}{{header=^{charisma}}}{{base=^{attributes}}}{{dice=[[(@{charisma}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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>
|
|
<!-- ~~:+: Edge :+:~~ -->
|
|
<button type="roll" name="edge" value="@{gm_toggle} &{template:rolls}{{header=^{edge}}}{{base=^{attributes}}}{{dice=[[(@{edge}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"><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="width: 100%;">
|
|
<input class="edge-zero"type="hidden" name="attr_edge_hex" value="0"/>
|
|
<input class="hex-hider"type="hidden" name="attr_edge_max" value="7"/>
|
|
<input type="checkbox" name="attr_edge_hex" value="1" /><span class="hexagon"></span>
|
|
<input type="checkbox" name="attr_edge_hex" value="2" /><span class="hexagon"></span>
|
|
<input type="checkbox" name="attr_edge_hex" value="3" /><span class="hexagon"></span>
|
|
<input type="checkbox" name="attr_edge_hex" value="4" /><span class="hexagon"></span>
|
|
<input type="checkbox" name="attr_edge_hex" value="5" /><span class="hexagon"></span>
|
|
<input type="checkbox" name="attr_edge_hex" value="6" /><span class="hexagon"></span>
|
|
<input type="checkbox" name="attr_edge_hex" value="7" /><span class="hexagon"></span>
|
|
</div>
|
|
</div>
|
|
<div class="attr-col attr-col-right">
|
|
<!-- ~~:+: Magic or Resonance :+:~~ -->
|
|
<input type="hidden" name="attr_display_magic" value="" />
|
|
<input type="hidden" name="attr_magic_max" value="6" />
|
|
<input type="hidden" name="attr_display_resonance" value="" />
|
|
<label data-i18n="magicres">Magic/Resonance</label>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<div class="hide-magic">
|
|
<input type="number" name="attr_magic_base" placeholder="0" title="@{magic_base}" /><span class="tiny-span"> + </span>
|
|
<input type="number" name="attr_magic_modifier" placeholder="0" title="@{magic_modifier}" /><span class="tiny-span"> = </span>
|
|
<span class="totals" name="attr_display_magic" title="@{magic}" /></span>
|
|
</div>
|
|
<div class="hide-resonance">
|
|
<input type="number" name="attr_resonance_base" placeholder="0" title="@{resonance_base}" /><span class="tiny-span"> + </span>
|
|
<input type="number" name="attr_resonance_modifier" placeholder="0" title="@{resonance_modifier}" /><span class="tiny-span"> = </span>
|
|
<span class="totals" name="attr_display_resonance" title="@{resonance}" /></span>
|
|
</div>
|
|
</div>
|
|
<div class="display">
|
|
<div class="hide-magic"><span name="attr_display_magic" title="@{magic}"></span></div>
|
|
<div class="hide-resonance"><span name="attr_display_resonance" title="@{resonance}"></span></div>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Initiative :+:~~ -->
|
|
<input type="hidden" name="attr_initiative_base" value="0" />
|
|
<input type="hidden" name="attr_initiative_dice_mod" value="1" min="1" max="5" />
|
|
<input type="hidden" name="attr_initiative_dice" value="1" min="1" max="5" />
|
|
<button class="attr-ini" name="initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{initiative}}}{{base=^{initiative}}}{{dice=[[(@{initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{initiative_dice} + @{wounds_toggle} - 1)d6cf0) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}"><span class="attr-ini red" data-i18n="initiative">Initiative</span></button>
|
|
<div class="attr-und attr-ini">
|
|
<div class="settings">
|
|
<input type="number" name="attr_initiative_mod" value="0" placeholder="0" title="@{initiative_mod}" /><span class="tiny-span"> + </span>
|
|
<input type="number" name="attr_initiative_dice_mod" value="0" min="0" max="4" placeholder="mod" title="@{initiative_dice_mod}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_display_initiative_base"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_display_initiative_base" title="@{display_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_initiative_dice" title="@{initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Astral Initative :+:~~ -->
|
|
<input type="hidden" name="attr_astral_initiative_base" value="0" />
|
|
<input type="hidden" name="attr_astral_initiative_dice_mod" value="0" />
|
|
<input type="hidden" name="attr_astral_initiative_dice" value="2" max="5" />
|
|
<div class="hide-magic" style="width: 100% !important">
|
|
<button class="attr-ini" name="astral_initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{astral}}}{{base=^{initiative}}}{{dice=[[(@{astral_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{astral_initiative_dice} + @{wounds_toggle} - 1)d6cf0) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
|
|
<span class="attr-ini red init-settings" data-i18n="astralini">Astral Ini</span>
|
|
<span class="attr-ini red init-display" data-i18n="astralinitiative">Astral Initiative</span>
|
|
</button>
|
|
<div class="attr-und attr-ini">
|
|
<div class="settings">
|
|
<input type="number" name="attr_astral_initiative_mod" value="0" placeholder="modifier" title="@{astral_initiative_mod}" /><span class="tiny-span"> + </span>
|
|
<input type="number" name="attr_astral_initiative_dice_mod" value="0" min="0" max="3" placeholder="modifier" title="@{astral_initiative_dice_mod}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_display_astral_initiative_base" title="@{display_astral_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_astral_initiative_dice" title="@{astral_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_display_astral_initiative_base" title="@{display_astral_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_astral_initiative_dice" title="@{astral_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Matrix Initative :+:~~ -->
|
|
<input type="hidden" name="attr_matrix_initiative_base" value="0" />
|
|
<input type="hidden" name="attr_matrix_initiative_dice_mod" value="0" />
|
|
<input type="hidden" name="attr_matrix_initiative_dice" max="5" />
|
|
<button class="attr-ini" name="matrix_initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{matrixinitiative}}}{{base=^{base}}}{{dice=[[(@{matrix_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{matrix_initiative_dice}+@{wounds_toggle} - 1)d6cf0) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
|
|
<span class="attr-ini red init-settings" data-i18n="matrixinit">Matrix AR Ini</span>
|
|
<span class="attr-ini red init-display" data-i18n="matrixinitiative">Matrix AR Initiative</span>
|
|
</button>
|
|
<div class="attr-und attr-ini">
|
|
<div class="settings">
|
|
<input type="number" name="attr_matrix_initiative_mod" value="0" placeholder="0" title="@{matrix_initiative_mod}" /><span class="tiny-span"> + </span>
|
|
<input type="number" name="attr_matrix_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{matrix_dice_mod}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_matrix_initiative_base" title="@{matrix_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_matrix_initiative_dice" title="@{matrix_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_matrix_initiative_base" title="@{matrix_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_matrix_initiative_dice" title="@{matrix_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Cold Sim VR Initative :+:~~ -->
|
|
<input type="hidden" name="attr_cold_sim_initiative_base" value="0" />
|
|
<input type="hidden" name="attr_cold_sim_initiative_dice_mod" value="0" />
|
|
<input type="hidden" name="attr_cold_sim_initiative_dice" max="5" />
|
|
<button class="attr-ini" name="cold_sim_initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{coldsiminitiative}}}{{base=^{base}}}{{dice=[[(@{cold_sim_initiative_base}+@{modifiers_toggle})+(1d6cf0 + (@{cold_sim_initiative_dice}+@{wounds_toggle} - 1)d6cf0) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
|
|
<span class="attr-ini red init-settings" data-i18n="coldsiminit">Cold Sim Init</span>
|
|
<span class="attr-ini red init-display" data-i18n="coldsiminitiative">Cold Sim VR Initiative</span>
|
|
</button>
|
|
<div class="attr-und attr-ini">
|
|
<div class="settings">
|
|
<input type="number" name="attr_cold_sim_initiative_mod" value="0" placeholder="0" title="@{cold_sim_initiative_mod}" /><span class="tiny-span"> + </span>
|
|
<input type="number" name="attr_cold_sim_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{cold_sim_dice_mod}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_cold_sim_initiative_base" title="@{cold_sim_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_cold_sim_initiative_dice" title="@{cold_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_cold_sim_initiative_base" title="@{cold_sim_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_cold_sim_initiative_dice" title="@{cold_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Hot Sim VR Initative :+:~~ -->
|
|
<input type="hidden" name="attr_hot_sim_initiative_base" value="0" />
|
|
<input type="hidden" name="attr_hot_sim_initiative_dice_mod" value="0" />
|
|
<input type="hidden" name="attr_hot_sim_initiative_dice" max="5" />
|
|
<button class="attr-ini" name="hot_sim_initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{hotsiminitiative}}}{{base=^{base}}}{{dice=[[(@{hot_sim_initiative_base}+@{modifiers_toggle})+(1d6cf0+ (@{hot_sim_initiative_dice}+@{wounds_toggle}-1)d6cf0) &{tracker}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}">
|
|
<span class="attr-ini red init-settings" data-i18n="hotsiminit">Hot Sim Init</span>
|
|
<span class="attr-ini red init-display" data-i18n="hotsiminitiative">Hot Sim VR Initiative</span>
|
|
</button>
|
|
<div class="attr-und attr-ini">
|
|
<div class="settings">
|
|
<input type="number" name="attr_hot_sim_initiative_mod" value="0" placeholder="0" title="@{hot_sim_initiative_mod}" /><span class="tiny-span"> + </span>
|
|
<input type="number" name="attr_hot_sim_initiative_dice_mod" value="0" min="0" max="5" placeholder="0" title="@{hot_sim_dice_mod}" />
|
|
<span class="tiny-span"> = </span>
|
|
<span name="attr_hot_sim_initiative_base" title="@{hot_sim_initiative_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_hot_sim_initiative_dice" title="@{hot_sim_initiative_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_hot_sim_initiative_base" title="@{hot_sim_base}"></span><span class="tiny-span"> + </span>
|
|
<span name="attr_hot_sim_initiative_dice" title="@{hot_sim_dice}"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: 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}]]}}}{{wilddie=[[@{wild_die}d6]]}}"><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}]]}}{{wilddie=[[@{wild_die}d6]]}}">
|
|
<span data-i18n="judgeintentions">Judge Intentions</span>
|
|
</button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_judge_intentions_modifier" placeholder="0" title="@{judge_intentions_modifier}" /><span class="tiny-span"> = </span>
|
|
<span class="totals" name="attr_judge_intentions" title="@{judge_intentions}" /></span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_judge_intentions" title="@{judge_intentions}"></span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Memory :+:~~ -->
|
|
<input type="hidden" name="attr_memory" value="" />
|
|
<button 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}]]}}{{wilddie=[[@{wild_die}d6]]}}">
|
|
<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>
|
|
<!-- ~~:+: 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}]]}}{{wilddie=[[@{wild_die}d6]]}}">
|
|
<span data-i18n="liftcarry">Lift & Carry</span>
|
|
</button>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input type="number" name="attr_lift_carry_modifier" placeholder="0" title="@{lift_carry_modifier}" /><span class="tiny-span"> = </span>
|
|
<span class="totals" name="attr_lift_carry" title="@{lift_carry}" /></span>
|
|
</div>
|
|
<div class="display">
|
|
<span name="attr_lift_carry" title="@{lift_carry}"></span>
|
|
</div>
|
|
</div>
|
|
<!-- ~~:+: Walk & Run :+:~~ -->
|
|
<label data-i18n="movement">Movement</label>
|
|
<div class="attr-und">
|
|
<div class="settings">
|
|
<input style="width: 2em !important;" type="number" name="attr_move_speed" value="10" placeholder="10" title="@{move_speed}" />
|
|
<span class="tiny-span">/</span>
|
|
<input style="width: 2em !important;" type="number" name="attr_sprint_speed" value="15" placeholder="15" title="@{sprint_speed}" />
|
|
</div>
|
|
<div class="display">
|
|
<button type="roll" name="sprint" value="@{gm_toggle} &{template:rolls}{{header=^{sprint}}}{{base=^{base} @{sprint_speed}+(Athletics+Agility)}}{{dice=[[@{sprint_speed}+((@{athletics}+@{agility}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle})]] meters}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">
|
|
<span data-i18n="sprint">Sprint</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- ~~~~~~~~ End of PC Attributes~~~~~~~~ -->
|
|
|
|
<div class="pc-row">
|
|
<div class="header left-header">
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="skills-toggle" name="attr_skills_toggle" title="@{skills_toggle}" type="radio" value="knowledge"/>
|
|
<h1>Knowledge</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="skills-toggle" name="attr_skills_toggle" title="@{skills_toggle}" type="radio" value="active" checked="checked"/>
|
|
<h1>Skills</h1>
|
|
</div>
|
|
</div>
|
|
<div class="border-box skill-box">
|
|
<div class="pc-box medium-box">
|
|
<input class="skills-toggle" name="attr_skills_toggle" type="hidden" value="active"/>
|
|
|
|
|
|
<div class="skills-active">
|
|
<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="mod">Mod</h2>
|
|
<h2 data-i18n="attribute">Attribute</h2>
|
|
</div>
|
|
<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=@{character_name}}}{{base=^{default} = @{default_display} - 1}}{{dice=[[((@{default_attribute}+@{unskilled_mod}+-1)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">default</button><span class="text-align-center">-1</span>
|
|
<input name="attr_unskilled_mod" min="0" placeholder="0" type="number" step="1" value="0" title="attr_unskilled_mod"/>
|
|
<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="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
</div>
|
|
<fieldset class="repeating_skills">
|
|
<input name="attr_display_rating" type="hidden"/>
|
|
<input name="attr_display_spec" type="hidden" value=""/>
|
|
<input name="attr_display_expert" type="hidden" value=""/>
|
|
<input name="attr_display_attribute" type="hidden" value="Agility"/>
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<input class="settings-flag" name="attr_flag" type="hidden" value="settings" title="undefined_flag}"/>
|
|
<div class="buttons">
|
|
<button name="roll_skill" class="skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=@{name}}}{{dice=[[((@{rating}+@{attribute}+@{mod})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_name"></span></button>
|
|
<span class="skill-button-hider" name="attr_spec">hideme</span><button name="roll_skill" class="skill_spec" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=@{name} +2 (Spec: @{display_spec})}}{{dice=[[((@{rating}+@{attribute}+@{mod}+2)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Spec: @{spec}\n@{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span class="skill_spec" name="attr_display_spec"></span></button>
|
|
<span class="skill-button-hider" name="attr_expert">hideme</span><button name="roll_skill" class="skill_expert" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=@{name} +3 (Expert: @{display_expert})}}{{dice=[[((@{rating}+@{attribute}+@{mod}+3)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Expertise: @{expert}\n@{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span class="skill_expert" name="attr_display_expert"></span></button>
|
|
</div>
|
|
<span class="text-align-center" name="attr_rating" title="@{repeating_skills_${x}_rating}"></span>
|
|
<input name="attr_mod" min="0" placeholder="0" type="number" step="1" value="0" title="mod"/>
|
|
<select class="attribute-select" name="attr_attribute" title="undefined_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="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<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_name" title="name">
|
|
<option value="Astral" data-i18n="astral">Astral</option>
|
|
<option value="Athletics" data-i18n="athletics">Athletics</option>
|
|
<option value="Biotech" data-i18n="biotech">Biotech</option>
|
|
<option value="Close Combat" data-i18n="closecombat">Close Combat</option>
|
|
<option value="Con" data-i18n="con">Con</option>
|
|
<option value="Conjuring" data-i18n="conjuring">Conjuring</option>
|
|
<option value="Cracking" data-i18n="cracking">Cracking</option>
|
|
<option value="Electronics" data-i18n="electronics">Electronics</option>
|
|
<option value="Enchanting" data-i18n="enchanting">Enchanting</option>
|
|
<option value="Engineering" data-i18n="engineering">Engineering</option>
|
|
<option value="Exotic Weapons" data-i18n="exoticweapon">Exotic Weapons</option>
|
|
<option value="Firearms" data-i18n="firearms">Firearms</option>
|
|
<option value="Influence" data-i18n="influence">Influence</option>
|
|
<option value="Outdoors" data-i18n="outdoors">Outdoors</option>
|
|
<option value="Perception" data-i18n="perception">Perception</option>
|
|
<option value="Piloting" data-i18n="piloting">Piloting</option>
|
|
<option value="Sorcery" data-i18n="sorcery">Sorcery</option>
|
|
<option value="Stealth" data-i18n="stealth">Stealth</option>
|
|
<option value="Tasking" data-i18n="tasking">Tasking</option>
|
|
<option value="Language" data-i18n="language">Language</option>
|
|
<option value="Knowledge" data-i18n="knowledge">Knowledge</option>
|
|
</select>
|
|
<label data-i18n-title="rating" title="rating">
|
|
<input name="attr_rating" min="0" placeholder="0" type="number" title="rating"/>
|
|
</label>
|
|
<label data-i18n-title="mod" title="mod">
|
|
<input name="attr_mod" min="0" placeholder="0" step="1" value="0" type="number" title="mod"/>
|
|
</label>
|
|
<select class="attribute-select" name="attr_attribute" title="undefined_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="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<label data-i18n-title="specialization" title="specialization"> <span class="skill_spec" data-i18n="specialization">specialization</span>
|
|
<input name="attr_spec" placeholder="specialization" type="text" title="specialization"/>
|
|
</label>
|
|
<label data-i18n-title="expertise" title="expertise"> <span class="skill_expert" data-i18n="expertise">Expertise</span>
|
|
<input name="attr_expert" placeholder="expertise" type="text" title="expertise"/>
|
|
</label>
|
|
<label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span>
|
|
<textarea name="attr_notes" value="" placeholder="Notes" title="undefined_notes}"></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="skills-knowledge">
|
|
<div class="rows repeating-container">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="knowledge">Knowledge</h2>
|
|
<h2 data-i18n="type">Type</h2>
|
|
</div>
|
|
<fieldset class="repeating_knowledges">
|
|
<span name="attr_name"></span>
|
|
<span class="center" name="attr_type"></span>
|
|
<input class="settings-flag" name="attr_flag" type="hidden" value="settings" title="undefined_flag}"/>
|
|
<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" value="" placeholder="" title="Knowledge / Language Name" />
|
|
<select class="center" data-i18n-title="type" name="attr_type" value="active" title="skill_type">
|
|
<option data-i18n="knowledge" value="Knowledge">Knowledge</option>
|
|
<option data-i18n="language" value="Language">Language</option>
|
|
</select>
|
|
<label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span>
|
|
<textarea name="attr_notes" value="" placeholder="Notes" title="undefined_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">
|
|
<div class="armor-info">
|
|
<button type="roll" name="roll_dr" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{defense} ^{rating}}}{{rating=@{armor_rating}}}">
|
|
<span class="center"><span data-i18n="dr">DR</span> <span name="attr_armor_rating"></span></span>
|
|
</button>
|
|
<div> </div>
|
|
<button type="roll" name="roll_defense" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{defense} = ^{reaction} + ^{intuition}}}{{dice=[[((@{reaction} + @{intuition})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">
|
|
<span class="center" name="defense" title="@{defense}">Defense</span>
|
|
</button>
|
|
<div> </div>
|
|
<button type="roll" name="roll_soak" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=^{soak} ^{damage}}}{{dice=[[((@{body})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}">
|
|
<span class="center" name="soak" title="@{soak}">Soak Damage</span>
|
|
</button>
|
|
<div> </div>
|
|
</div>
|
|
<div class="armor-resists">
|
|
<h2 data-i18n="resists">Resists</h2>
|
|
<span class="armor-resist" title="@{resist_chem_total}"><span class="pictos3 chem">d</span><span class="chem"> Chem </span><span class="armor-resist-value" name="attr_resist_chem_total"></span></span>
|
|
<span class="armor-resist" title="@{resist_cold_total}"><span class='pictos cold'>b</span><span class="cold"> Cold </span><span class="armor-resist-value" name="attr_resist_cold_total"></span></span>
|
|
<span class="armor-resist" title="@{resist_elec_total}"><span class='pictos elec'>e</span><span class="elec"> Elec </span><span class="armor-resist-value" name="attr_resist_elec_total"></span></span>
|
|
<span class="armor-resist" title="@{resist_fire_total}"><span class="pictos3 fire">j</span><span class="fire"> Fire </span><span class="armor-resist-value" name="attr_resist_fire_total"></span></span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span> </span>
|
|
</div>
|
|
<div class="row-long cc-row primary-range">
|
|
<h2 data-i18n="primaryrangedweapon">Primary Ranged Weapon</h2>
|
|
<h2> </h2>
|
|
<h2 class="center" data-i18n="pool">Pool</h2>
|
|
<h2 class="center" data-i18n="dam">Dam</h2>
|
|
<h2 class="center" data-i18n="c">C</h2>
|
|
<h2 class="center" data-i18n="n">N</h2>
|
|
<h2 class="center" data-i18n="m">M</h2>
|
|
<h2 class="center" data-i18n="f">F</h2>
|
|
<h2 class="center" data-i18n="e">E</h2>
|
|
</div>
|
|
<div class="cc-row primary-range">
|
|
<button name="roll_range_weapon" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{primary_range_weapon}}}{{base=^{agility}}}{{dice=[[((@{primary_range_weapon_rating}+@{primary_range_weapon_spec}+@{primary_range_weapon_expert}+@{primary_range_weapon_dicepool_modifier}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Mode @{primary_range_weapon_mode}, Damage @{primary_range_weapon_damage}, Skill @{primary_range_weapon_skill}, Dicepool @{primary_range_weapon_dicepool}, Spec @{primary_range_weapon_spec}, Expert @{primary_range_weapon_expert}, Agility @{agility}, Wounds @{wounds_toggle}, Modifiers @{modifiers_toggle}, Edge @{edge_toggle}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_primary_range_weapon" title="@{primary_range_weapon}"></span></button>
|
|
<span> </span>
|
|
<span class="center" name="attr_primary_range_weapon_dicepool"></span>
|
|
<span class="center" name="attr_primary_range_weapon_damage"></span>
|
|
<span class="center" name="attr_primary_range_weapon_close"></span>
|
|
<span class="center" name="attr_primary_range_weapon_near"></span>
|
|
<span class="center" name="attr_primary_range_weapon_medium"></span>
|
|
<span class="center" name="attr_primary_range_weapon_far"></span>
|
|
<span class="center" name="attr_primary_range_weapon_extreme"></span>
|
|
</div>
|
|
<div class="row-long cc-row primary-range-row2">
|
|
<select name="attr_primary_range_weapon_mode" title="@{primary_range_weapon_mode}">
|
|
<option data-i18n="singleshot" value="SS" selected="selected">Single Shot</option>
|
|
<option data-i18n="semiauto" value="SA">Semi-Auto</option>
|
|
<option data-i18n="burstfire" value="BF">Burst Fire</option>
|
|
<option data-i18n="fullauto" value="FA">Full Auto</option>
|
|
<option data-i18n="other" value="Other">Other</option>
|
|
</select>
|
|
<span> </span>
|
|
<!-- 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>
|
|
<span> </span>
|
|
<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>
|
|
<span> </span>
|
|
</div>
|
|
<div class="row-long cc-row primary-melee">
|
|
<h2 data-i18n="primarymeleeweapon">Primary Melee Weapon</h2>
|
|
<h2> </h2>
|
|
<h2 class="center" data-i18n="pool">Pool</h2>
|
|
<h2 class="center" data-i18n="dam">Dam</h2>
|
|
<h2 class="center" data-i18n="c" title="Close 0-3">C</h2>
|
|
<h2 class="center" data-i18n="n" title="Near 4-50">N</h2>
|
|
<h2 class="center" data-i18n="m" title="Medium 51-250">M</h2>
|
|
<h2 class="center" data-i18n="f" title="Far 251-500">F</h2>
|
|
<h2 class="center" data-i18n="e" title="Extreme 500+">E</h2>
|
|
</div>
|
|
<div class="cc-row primary-melee">
|
|
<button name="roll_melee_weapon" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{primary_melee_weapon_weapon}}}{{base=^{agility}}}{{dice=[[((@{primary_melee_weapon_rating}+@{primary_melee_weapon_spec}+@{primary_melee_weapon_expert}+@{primary_melee_weapon_dicepool_modifier}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=DV @{primary_melee_weapon_damage}, Skill: @{primary_melee_weapon_skill}, Close Combat: @{Close Combat}, Rating: @{primary_melee_weapon_rating}, Spec: @{primary_melee_weapon_spec}, Expert: @{primary_melee_weapon_expert}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_primary_melee_weapon_weapon"></span></button>
|
|
<span> </span>
|
|
<span class="center" name="attr_primary_melee_weapon_dicepool" title="@{primary_melee_weapon_dicepool}"></span>
|
|
<span class="center" name="attr_primary_melee_weapon_damage" title="@{primary_melee_weapon_damage}"></span>
|
|
<span class="center" name="attr_primary_melee_weapon_close" title="@{primary_melee_weapon_close}"></span>
|
|
<span class="center" name="attr_primary_melee_weapon_near" title="@{primary_melee_weapon_near}"></span>
|
|
<span class="center" name="attr_primary_melee_weapon_medium" title="@{primary_melee_weapon_medium}"></span>
|
|
<span class="center" name="attr_primary_melee_weapon_far" title="@{primary_melee_weapon_far}"></span>
|
|
<span class="center" name="attr_primary_melee_weapon_extreme" title="@{primary_melee_weapon_extreme}"></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="paintolerance">Pain Tolerance</label>
|
|
<select name="attr_pain_tolerance">
|
|
<option value="+1" data-i18n="highpaintolerance">
|
|
<option value="0" data-i18n="none" selected="selected">
|
|
<option value="-1" data-i18n="lowpaintolerance">
|
|
</select>
|
|
<div class="con-footer">
|
|
<span data-i18n="painfooter">Low Pain Tolerance doubles wound modifiers and High Pain Tolerance lowers the modifier to wound modifiers by 1 per level.</span>
|
|
</div>
|
|
</div>
|
|
<div class="display">
|
|
<div class="con-track">
|
|
<input type="hidden" name="attr_physical_damage" 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_damage" value="1" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="2" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="3" /><span></span><div>-1</div>
|
|
<input type="radio" name="attr_physical_damage" value="4" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="5" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="6" /><span></span><div>-2</div>
|
|
<input type="radio" name="attr_physical_damage" value="7" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="8" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="9" /><span></span><div>-3</div>
|
|
<input type="radio" name="attr_physical_damage" value="10" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="11" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="12" /><span></span><div>-4</div>
|
|
<input type="radio" name="attr_physical_damage" value="13" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="14" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="15" /><span></span><div>-5</div>
|
|
<input type="radio" name="attr_physical_damage" value="16" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" value="17" /><span></span>
|
|
<input type="radio" name="attr_physical_damage" 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_damage" 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_damage" value="1" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="2" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="3" /><span></span><div>-1</div>
|
|
<input type="radio" name="attr_stun_damage" value="4" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="5" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="6" /><span></span><div>-2</div>
|
|
<input type="radio" name="attr_stun_damage" value="7" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="8" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="9" /><span></span><div>-3</div>
|
|
<input type="radio" name="attr_stun_damage" value="10" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="11" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="12" /><span></span><div>-4</div>
|
|
<input type="radio" name="attr_stun_damage" value="13" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" value="14" /><span></span>
|
|
<input type="radio" name="attr_stun_damage" 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="rtg">RTG</h2>
|
|
<h2 data-i18n="type">Type</h2>
|
|
<h2> </h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_quality">
|
|
<span name="attr_quality"></span>
|
|
<span class="center" name="attr_rating"></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"/>
|
|
<label data-i18n-title="rating" title="@{repeating_quality_${x}_rating}">
|
|
<input name="attr_rating" min="" placeholder="-" type="number" title="@{repeating_quality_${x}_rating}"/>
|
|
</label>
|
|
<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>
|
|
<h3 data-i18n="modifications">modifications</h3>
|
|
<label data-i18n-title="modifications" title="modifications">
|
|
<textarea name="attr_modifications" placeholder="Mechanic: +/- mod" title="@{repeating_quality_${x}_modifications}" 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 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=@{character_name}}}{{base=@{style} - @{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="pool">Pool</h2>
|
|
<h2 data-i18n="dam">Dam</h2>
|
|
<h2 data-i18n="c">C</h2>
|
|
<h2 data-i18n="n">N</h2>
|
|
<h2 data-i18n="m">M</h2>
|
|
<h2 data-i18n="f">F</h2>
|
|
<h2 data-i18n="e">E</h2>
|
|
<h2 data-i18n="mode">Mode</h2>
|
|
<h2 data-i18n="ammo">Ammo</h2>
|
|
</div>
|
|
<fieldset class="repeating_range">
|
|
<input title="@{repeating_range_${x}_rating}" name="attr_rating" type="hidden" value="0" />
|
|
<input name="attr_skill" type="hidden" value=""/>
|
|
<input class="flag-primary" name="attr_primary" type="hidden" value=""/>
|
|
<input class="flag-primary" name="attr_additional" 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=[[((@{rating}+@{spec}+@{expert}+@{dicepool_modifier}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Mode @{mode}, Damage @{damage}, Skill @{skill}, Dicepool @{dicepool}, Spec @{spec}, Expert @{expert}, Agility @{agility}, Wounds @{wounds_toggle}, Modifiers @{modifiers_toggle}, Edge @{edge_toggle}, Notes @{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_weapon"></span></button>
|
|
<span class="center" name="attr_dicepool"></span>
|
|
<span class="center" name="attr_damage"></span>
|
|
<span class="center" name="attr_close"></span>
|
|
<span class="center" name="attr_near"></span>
|
|
<span class="center" name="attr_medium"></span>
|
|
<span class="center" name="attr_far"></span>
|
|
<span class="center" name="attr_extreme"></span>
|
|
<select name="attr_mode" title="@{mode}" value="BF">
|
|
<option data-i18n="ss" value="SS">SS</option>
|
|
<option data-i18n="sa" value="SA">SA</option>
|
|
<option data-i18n="bf" value="BF">BF</option>
|
|
<option data-i18n="fa" value="FA">FA</option>
|
|
<option data-i18n="other" value="Other">Other</option>
|
|
</select>
|
|
<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="pool" title="pool">
|
|
<input name="attr_dicepool" placeholder="" title="@{repeating_range_${x}_dicepool}" 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="c" title="Close">
|
|
<input name="attr_close" placeholder="-" title="@{repeating_range_${x}_close}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="n" title="Near">
|
|
<input name="attr_near" placeholder="-" title="@{repeating_range_${x}_near}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="m" title="Medium">
|
|
<input name="attr_medium" placeholder="-" title="@{repeating_range_${x}_medium}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="f" title="Far">
|
|
<input name="attr_far" placeholder="-" title="@{repeating_range_${x}_far}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="e" title="Extreme">
|
|
<input name="attr_extreme" placeholder="-" title="@{repeating_range_${x}_extreme}" type="text" value=""/>
|
|
</label>
|
|
<select name="attr_mode" title="@{mode}" value="SS">
|
|
<option data-i18n="ss" value="SS">SS</option>
|
|
<option data-i18n="sa" value="SA">SA</option>
|
|
<option data-i18n="bf" value="BF">BF</option>
|
|
<option data-i18n="fa" value="FA">FA</option>
|
|
<option data-i18n="other" value="Other">Other</option>
|
|
</select>
|
|
<label data-i18n-title="ammo" title="ammo">
|
|
<input name="attr_ammo" placeholder="15" title="@{repeating_range_${x}_ammo}" type="number" value=""/>
|
|
</label>
|
|
<span></span>
|
|
<span></span>
|
|
<div class="row">
|
|
<h3 data-i18n="firingmodes">Firing Modes</h3>
|
|
<label data-i18n-title="modeoptions" title="Mode Options">
|
|
<input name="attr_firing_modes" placeholder="SA/BF/FA" type="text" title="@{repeating_range_${x}_firing_modes}}"/>
|
|
</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>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{repeating_range_${x}_dicepool_modifier}" placeholder='0' type="number"/>
|
|
</label>
|
|
</div>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">skill</h3>
|
|
<select name="attr_skill" title="@{repeating_range_${x}_skill}" value="@{firearms}">
|
|
<option data-i18n="firearms" value="Firearms" selected="selected">Firearms</option>
|
|
<option data-i18n="exoticweapons" value="Exotic Weapons">Exotic Weapons</option>
|
|
<option data-i18n="athletics" value="Athletics">Athletics</option>
|
|
</select>
|
|
<h3 data-i18n="specialization">specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_spec" value="2" title="@{repeating_range_${x}_spec}" type="checkbox"/>
|
|
</label>
|
|
<h3 data-i18n="expertise">expertise</h3>
|
|
<label data-i18n-title="expertise" title="expertise">
|
|
<input name="attr_expert" value="3" title="@{repeating_range_${x}_expert}" type="checkbox"/>
|
|
</label>
|
|
<input name="attr_skill" type="hidden" value=""/>
|
|
<input name="attr_rating" 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="pool">Pool</h2>
|
|
<h2 data-i18n="dam">Dam</h2>
|
|
<h2 data-i18n="c" title="Close 0-3">C</h2>
|
|
<h2 data-i18n="n" title="Near 4-50">N</h2>
|
|
<h2 data-i18n="m" title="Medium 51-250">M</h2>
|
|
<h2 data-i18n="f" title="Far 251-500">F</h2>
|
|
<h2 data-i18n="e" title="Extreme 500+">E</h2>
|
|
</div>
|
|
<fieldset class="repeating_melee">
|
|
<input title="@{repeating_melee_${x}_rating}" name="attr_rating" type="hidden" value="0" />
|
|
<input name="attr_skill" type="hidden" value=""/>
|
|
<input class="flag-primary" name="attr_primary" type="hidden" value=""/>
|
|
<input class="flag-primary" name="attr_additional" 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=[[((@{rating}+@{spec}+@{expert}+@{dicepool_modifier}+@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=DV @{damage}, Skill: @{skill}, Close Combat: @{Close Combat}, Rating: @{rating}, Spec: @{spec}, Expert: @{expert}, Notes: @{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_weapon"></span></button>
|
|
<span class="center" name="attr_dicepool"></span>
|
|
<span class="center" name="attr_damage"></span>
|
|
<span class="center" name="attr_close"></span>
|
|
<span class="center" name="attr_near"></span>
|
|
<span class="center" name="attr_medium"></span>
|
|
<span class="center" name="attr_far"></span>
|
|
<span class="center" name="attr_extreme"></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="pool" title="pool">
|
|
<input name="attr_dicepool" placeholder="0d6" title="@{repeating_melee_${x}_dicepool}" 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="close" title="Close 0-3">
|
|
<input name="attr_close" placeholder="-" title="@{repeating_melee_${x}_close}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="near" title="Near 4-50">
|
|
<input name="attr_near" placeholder="-" title="@{repeating_melee_${x}_near}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="medium" title="Medium 51-250">
|
|
<input name="attr_medium" placeholder="-" title="@{repeating_melee_${x}_medium}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="far" title="Far 251-500">
|
|
<input name="attr_far" placeholder="-" title="@{repeating_melee_${x}_far}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="extreme" title="Extreme 500+">
|
|
<input name="attr_extreme" placeholder="-" title="@{repeating_melee_${x}_extreme}" type="text" value=""/>
|
|
</label>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">skill</h3>
|
|
<select name="attr_skill" title="@{repeating_melee_${x}_skill}">
|
|
<option data-i18n="closecombat" value="Close Combat" selected="selected">Close Combat</option>
|
|
<option data-i18n="athletics" value="Athletics">Athletics</option>
|
|
<option data-i18n="exoticmelee" value="0">Exotic Weapons</option>
|
|
</select>
|
|
<h3 data-i18n="specialization">specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_spec" value="2" title="@{repeating_melee_${x}_spec}" type="checkbox"/>
|
|
</label>
|
|
<h3 data-i18n="expertise">expertise</h3>
|
|
<label data-i18n-title="expertise" title="expertise">
|
|
<input name="attr_expert" value="3" title="@{repeating_melee_${x}_expert}" type="checkbox"/>
|
|
</label>
|
|
<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>
|
|
<div class="row">
|
|
<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>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{repeating_melee_${x}_dicepool_modifier}" placeholder='0' 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_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="dr">DR</h2>
|
|
<h2 data-i18n="chem">Chem</h2>
|
|
<h2 data-i18n="cold">Cold</h2>
|
|
<h2 data-i18n="elec">Elec</h2>
|
|
<h2 data-i18n="fire">Fire</h2>
|
|
</div>
|
|
<fieldset class="repeating_armor">
|
|
<input class="flag-primary" name="attr_primary" type="hidden" value=""/>
|
|
<span name="attr_name"></span>
|
|
<span class="center" name="attr_rating"></span>
|
|
<span class="center" name="attr_chem"></span></button>
|
|
<span class="center" name="attr_cold"></span></button>
|
|
<span class="center" name="attr_elec"></span></button>
|
|
<span class="center" name="attr_fire"></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">
|
|
<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="rating" title="rating">
|
|
<input name="attr_rating" placeholder="12" title="@{repeating_armor_${x}_rating}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="chemical" title="chemical">
|
|
<input name="attr_chem" placeholder="0" title="@{repeating_armor_${x}_chem}" type="number" value="0" min="0" step="1"/>
|
|
</label>
|
|
<label data-i18n-title="cold" title="cold">
|
|
<input name="attr_cold" placeholder="0" title="@{repeating_armor_${x}_cold}" type="number" value="0" min="0" step="1"/>
|
|
</label>
|
|
<label data-i18n-title="elec" title="elec">
|
|
<input name="attr_elec" placeholder="0" title="@{repeating_armor_${x}_elec}" type="number" value="0" min="0" step="1"/>
|
|
</label>
|
|
<label data-i18n-title="fire" title="fire">
|
|
<input name="attr_fire" placeholder="0" title="@{repeating_armor_${x}_fire}" type="number" value="0" min="0" step="1"/>
|
|
</label>
|
|
<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="cumulative">cumulative</h3>
|
|
<label data-i18n-title="cumulative" title="Cumulative">
|
|
<input name="attr_cumulative" type="checkbox" title="@{repeating_armor_${x}_cumulative}" value="cumulative"/>
|
|
</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="esscost">Ess Cost</h2>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<fieldset class="repeating_augmentations"><span name="attr_augmentation"></span><span class="center" name="attr_rating"></span><span class="center" name="attr_essence_cost"></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_augmentations_${x}_augmentation}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="Rating" title="Rating">
|
|
<input name="attr_rating" placeholder="0" title="@{repeating_augmentations_${x}_rating}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="Essence" title="Essence">
|
|
<input class="augmentation_essence" name="attr_essence_cost" placeholder="0" title="@{repeating_augmentations_${x}_essence_cost}" type="number" step='0.01' value=""/>
|
|
</label>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_augmentations_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
<h3 data-i18n="modifications">modifications</h3>
|
|
<label data-i18n-title="modifications" title="modifications">
|
|
<textarea name="attr_modifications" placeholder="Mechanic: +/- mod" title="@{repeating_augmentations_${x}_modifications}" 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>
|
|
<h3 data-i18n="modifications">modifications</h3>
|
|
<label data-i18n-title="modifications" title="modifications">
|
|
<textarea name="attr_modifications" placeholder="Attribute: +/- mod" title="@{repeating_items_${x}_modifications}" 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">
|
|
<input class="magic-toggle" name="attr_magic_toggle" type="hidden" value="spells"/>
|
|
|
|
<div class="magic-spells spellsFormulas">
|
|
<div class="row-long">
|
|
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{spell} ^{drain}}}{{dice=[[((@{spell_drain_attribute_1}+@{spell_drain_attribute_2}+@{spell_drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"></button>
|
|
<select class="attribute-select" name="attr_spell_drain_attribute_1" title="@{spell_drain_attribute_1}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}" selected="selected">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_spell_drain_attribute_2" title="@{spell_drain_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_spell_drain_modifier" title="@{spell_drain_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="rows repeating-container">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="spell">Spell</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>
|
|
<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=@{category} ^{magic}}}{{effecttype=@{effect_type}}}{{dice=[[((@{skill}+@{magic}+@{dicepool_modifier}+@{specialization}+@{expertise})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{ampup=[[?{Amp Up|0|1|2|3|4|5|6|7|8|9|10}]]}}{{increasearea=[[?{Increase Area|0m,0|2m,1|4m,2|6m,3|8m,4|10m,5|12m,5|14m,6|16m,8|18m,9|20m,10}*2]]}}{{drain=[[?{Amp Up}*2+?{Increase Area}+(@{drain})]]}}{{desc=@{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><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="sustained" value="Sustained">Sustained</option>
|
|
<option data-i18n="limited" value="Limited">Limited</option>
|
|
<option data-i18n="permanent" value="Permanent">Permanent</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="effecttype">Effect Type</h3>
|
|
<select name="attr_effect_type" title="@{repeating_spell_${x}_effect_type}" value="">
|
|
<option data-i18n="none" value="" selected="selected">None</option>
|
|
<option data-i18n="directcombat" value="Direct Combat">Direct Combat</option>
|
|
<option data-i18n="directcombatarea" value="Direct Combat">Direct Combat, Area</option>
|
|
<option data-i18n="indirectcombat" value="Indirect Combat">Indirect Combat</option>
|
|
<option data-i18n="indirectcombatarea" value="Indirect Combat">Indirect Combat, Area</option>
|
|
<option data-i18n="singlesense" value="Single-Sense">Single-Sense</option>
|
|
<option data-i18n="multisense" value="Multi-Sense">Multi-Sense</option>
|
|
</select>
|
|
</div>
|
|
<div class="row">
|
|
<h3 data-i18n="skill">Skill</h3>
|
|
<select name="attr_skill" title="@{repeating_spell_${x}_skill}" value="@{spellcasting}">
|
|
<option data-i18n="conjuring" value="@{conjuring}" selected="selected">Conjuring</option>
|
|
<option data-i18n="enchanting" value="@{enchanting}">Enchanting</option>
|
|
<option data-i18n="sorcery" value="@{sorcery}">Sorcery</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="expertise">Expertise</h3>
|
|
<label data-i18n-title="expertise" title="Expertise">
|
|
<input name="attr_expertise" title="@{repeating_spell_${x}_expertise}" type="checkbox" value="3"/>
|
|
</label>
|
|
</div>
|
|
<div class="row">
|
|
<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}"/>
|
|
</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 spellsFormulas">
|
|
<div class="row-long">
|
|
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{preparation} ^{drain}}}{{dice=[[((@{spell_drain_attribute_1}+@{spell_drain_attribute_2}+@{spell_drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"></button>
|
|
<select class="attribute-select" name="attr_spell_drain_attribute_1" title="@{spell_drain_attribute_1}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}" selected="selected">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_spell_drain_attribute_2" title="@{spell_drain_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_spell_drain_modifier" title="@{spell_drain_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows repeating-container prepared-preparations">
|
|
<div class="row-long headers">
|
|
<h3 data-i18n="preparation">preparation</h3>
|
|
<h3 data-i18n="magic">magic</h3>
|
|
<h3 data-i18n="potency">potency</h3>
|
|
<h3 data-i18n="trigger">trigger</h3>
|
|
</div>
|
|
<fieldset class="repeating_preparations">
|
|
<button name="roll_preparation" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{magic}+@{potency}+@{expert}+@{spec})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_name"></span></button>
|
|
<span class="center" name="attr_magic"></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_preparations_${x}_name}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="magic" title="magic">
|
|
<input name="attr_magic" placeholder="1" title="@{repeating_preparations_${x}_magic}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="potency" title="potency">
|
|
<input name="attr_potency" placeholder="1" title="@{repeating_preparations_${x}_potency}" type="number" value=""/>
|
|
</label>
|
|
<select name="attr_trigger" title="@{repeating_preparations_${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>
|
|
<div class="row">
|
|
<h3 data-i18n="specialization">Specialization</h3>
|
|
<label data-i18n-title="specialization" title="Specialization">
|
|
<input name="attr_spec" title="@{repeating_preparations_${x}_specialization}" type="checkbox" value="2"/>
|
|
</label>
|
|
<h3 data-i18n="expertise">Expertise</h3>
|
|
<label data-i18n-title="expertise" title="Expertise">
|
|
<input name="attr_expert" title="@{repeating_preparations_${x}_expertise}" type="checkbox" value="3"/>
|
|
</label>
|
|
</div>
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_preparations_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="magic-rituals">
|
|
<div class="row-long">
|
|
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{ritual} ^{drain}}}{{dice=[[((@{spell_drain_attribute_1}+@{spell_drain_attribute_2}+@{spell_drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"></button>
|
|
<select class="attribute-select" name="attr_spell_drain_attribute_1" title="@{spell_drain_attribute_1}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}" selected="selected">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_spell_drain_attribute_2" title="@{spell_drain_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_spell_drain_modifier" title="@{spell_drain_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows repeating-container">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="ritual">Ritual</h2>
|
|
<h2 class="center" data-i18n="threshold">Threshold</h2>
|
|
</div>
|
|
<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=Sorcery + Magic + Teamwork Hits}}{{dice=[[((@{skill}+@{magic}+@{spec}+@{expert}+@{dicepool_modifier}+?{Teamwork test hits?|})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Threshold: @{threshold}, Teamwork Test Hits: ?{Teamwork test hits?|}\nNotes:@{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_name"></span></button>
|
|
<span class="center" name="attr_threshold"></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="Ritual Name" title="@{@{repeating_undefined_${x}_name}" type="text"/>
|
|
</label>
|
|
<label data-i18n-title="threshold" title="threshold">
|
|
<input name="attr_threshold" title="@{@{repeating_ritual_${x}_threshold}" type="number" value="1" step="1"/>
|
|
</label>
|
|
<div class="row">
|
|
<input type="hidden" name="attr_skill" value="@{sorcery}">
|
|
<h3 data-i18n="specialization">Specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_spec" title="@{@{repeating_ritual_${x}_spec}" type="checkbox" value="2"/>
|
|
</label>
|
|
<h3 data-i18n="expertise">Expertise</h3>
|
|
<label data-i18n-title="expertise" title="expertise">
|
|
<input name="attr_expert" title="@{@{repeating_ritual_${x}_expert}" type="checkbox" value="3"/>
|
|
</label>
|
|
<h3 data-i18n="mod">mod</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{@{repeating_ritual_${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-box">
|
|
<div class="header right-header">
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="powers-toggle" name="attr_powers_toggle" title="@{powers_toggle}" type="radio" value="adept" checked="checked"/>
|
|
<h1 data-i18n="adept">Adept</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="powers-toggle" name="attr_powers_toggle" title="@{powers_toggle}" type="radio" value="conjuring"/>
|
|
<h1 data-i18n="conjuring">Conjuring</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="powers-toggle" name="attr_powers_toggle" title="@{powers_toggle}" type="radio" value="meta"/>
|
|
<h1 data-i18n="meta">Meta</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<input class="powers-toggle" name="attr_powers_toggle" type="hidden" value="adept"/>
|
|
|
|
<div class="powers-adept">
|
|
<div class="row-long">
|
|
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{adept} ^{power} ^{drain}}}{{dice=[[((@{adept_drain_attribute_1}+@{adept_drain_attribute_2}+@{adept_drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"></button>
|
|
<select class="attribute-select" name="attr_adept_drain_attribute_1" title="@{adept_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="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_adept_drain_attribute_2" title="@{adept_drain_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_adept_drain_modifier" title="@{adept_drain_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="name">Power</h2>
|
|
<h2 class="center" data-i18n="level">Level</h2>
|
|
<h2 class="center" data-i18n="act">Act</h2>
|
|
</div>
|
|
<div class="rows repeating-container powers">
|
|
<fieldset class="repeating_powers">
|
|
<span name="attr_name"></span>
|
|
<span class="center" name="attr_rating"></span>
|
|
<span class="center" name="attr_activation"></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>
|
|
<label data-i18n-title="activation" title="activation">
|
|
<select class="attribute-select" name="attr_activation" title="@{repeating_powers_${x}_activation}">
|
|
<option data-i18n="major" value="Major">Major</option>
|
|
<option data-i18n="minor" value="Minor">Minor</option>
|
|
<option data-i18n="passive" value="Passive">Passive</option>
|
|
</select>
|
|
</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>
|
|
<h3 data-i18n="modifications">modifications</h3>
|
|
<label data-i18n-title="modifications" title="modifications">
|
|
<textarea name="attr_modifications" placeholder="Attribute: +/- mod" title="@{repeating_items_${x}_modifications}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="powers-conjuring">
|
|
<div class="row-long">
|
|
<button data-i18n="drain" name="roll_drain" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{conjuring} ^{drain}}}{{dice=[[((@{conjuring_drain_attribute_1}+@{conjuring_drain_attribute_2}+@{conjuring_drain_modifier})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}"></button>
|
|
<select class="attribute-select" name="attr_conjuring_drain_attribute_1" title="@{conjuring_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="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select><span>+</span>
|
|
<select class="attribute-select" name="attr_conjuring_drain_attribute_2" title="@{conjuring_drain_attribute_2}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="willpower" value="@{willpower}" selected="selected">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_conjuring_drain_modifier" title="@{conjuring_drain_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="spirit">Spirit</h2>
|
|
<h2 class="center" data-i18n="force">Force</h2>
|
|
</div>
|
|
<div class="rows repeating-container conjuration">
|
|
<fieldset class="repeating_conjurations">
|
|
<button name="roll_conjuring" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{conjuring} @{spirit}\nForce @{force}}}{{dice=[[((@{conjuring}+@{magic}+@{dicepool_modifier}+@{spec}+@{expert})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{notes}}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_spirit"></span></button>
|
|
<span class="center" name="attr_force"></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="spirit" title="spirit">
|
|
<input name="attr_spirit" placeholder="spirit" title="@{repeating_conjurations_${x}_spirit}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="force" title="force">
|
|
<input name="attr_force" placeholder="force" title="@{repeating_conjurations_${x}_force}" type="number" value=""/>
|
|
</label>
|
|
|
|
<div class="row">
|
|
<input type="hidden" name="attr_skill" value="@{conjuring}">
|
|
<h3 data-i18n="specialization">Specialization</h3>
|
|
<label data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_spec" title="@{repeating_conjurations_${x}_spec}" type="checkbox" value="2"/>
|
|
</label>
|
|
<h3 data-i18n="expertise">Expertise</h3>
|
|
<label data-i18n-title="expertise" title="expertise">
|
|
<input name="attr_expert" title="@{repeating_conjurations_${x}_expert}" type="checkbox" value="3"/>
|
|
</label>
|
|
<h3 data-i18n="mod">mod</h3>
|
|
<label data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_dicepool_modifier" title="@{repeating_conjurations_${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_conjurations_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="powers-meta">
|
|
<div class="row-long mage-setup">
|
|
<select class='mage-type' name='attr_mage_type' title='@{mage_type}'>
|
|
<option data-i18n="mage" value="Mage" selected="selected">Mage</option>
|
|
<option data-i18n="adept" value="Adept">Adept</option>
|
|
<option data-i18n="mysticadept" value="Mystic Adept">Mystic Adept</option>
|
|
</select>
|
|
<h3 data-i18n="initiategrade">Initiate Grade</h3>
|
|
<label data-i18n-title="initiategrade" title="initiategrade">
|
|
<input name="attr_initiate_grade" placeholder="-" title="@{initiate_grade}" type="number" min="0" step="1" value="">
|
|
</label>
|
|
<h2 class="magic-aspect" data-i18n-title="aspect" title="aspect">Aspect</h2>
|
|
<select class="magic-aspect" name='attr_aspect' title='@{aspect}'>
|
|
<option data-i18n="non-aspected" value="Non-Aspected">Non-Aspected</option>
|
|
<option data-i18n="sorcery" value="Sorcery">Sorcery</option>
|
|
<option data-i18n="conjuring" value="Conjuring">Conjuring</option>
|
|
<option data-i18n="enchanting" value="Enchanting">Enchanting</option>
|
|
</select>
|
|
<br>
|
|
<h2 data-i18n="tradition">Tradition</h2>
|
|
<label data-i18n-title="tradition" title="tradition">
|
|
<select name='attr_tradition' title='@{tradition}'>
|
|
<option data-i18n="hermeticism" value="Hermeticism">Hermeticism</option>
|
|
<option data-i18n="shamanism" value="Shamanism">Shamanism</option>
|
|
</select>
|
|
</label>
|
|
<h2 data-i18n="magicar">Magic AR</h2>
|
|
<input type="hidden" name="attr_magic_ar" value="0">
|
|
<span name="attr_magic_ar"></span>
|
|
</div>
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="metamagic">Metamagic</h2>
|
|
<h2 class="center" data-i18n="level">Level</h2>
|
|
</div>
|
|
<div class="rows repeating-container metamagic">
|
|
<fieldset class="repeating_metamagic">
|
|
<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>
|
|
<h3 data-i18n="modifications">modifications</h3>
|
|
<label data-i18n-title="modifications" title="modifications">
|
|
<textarea name="attr_modifications" placeholder="Attribute: +/- mod" title="@{repeating_items_${x}_modifications}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="matrix pc-col">
|
|
<div class="pc-row matrix-box">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="persona">Persona</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<div class="cyberdeck">
|
|
<div class="row-long row-matrix-combat-stats">
|
|
<input type="hidden" name="attr_matrix_device_rating" value="0">
|
|
<input type="hidden" name="attr_matrix_defense_rating" value="0">
|
|
<input type="hidden" name="attr_matrix_attack_rating" value="0">
|
|
<input type="hidden" name="attr_matrix_device_initiative_bonus" value="0">
|
|
<input type="hidden" name="attr_matrix_device_essence_cost" value="0">
|
|
<span> </span>
|
|
<label><button type="roll" class="techno-hide" name="roll_matrix_device_rating" value="&{template:rolls}{{header=@{character_name}}}{{base=Matrix Device Rating}}{{rating=@{matrix_device_rating}}}" title="Matrix Device Rating"><span data-i18n="devicerating">Device Rating</span><span name='attr_matrix_device_rating'></span></button></label>
|
|
<span> </span>
|
|
<label><button type="roll" name="roll_matrix_attack_rating" value="&{template:rolls}{{header=@{character_name}}}{{base=Matrix Attack Rating}}{{rating=[[(@{attack}+@{sleaze})]]}}{{desc=Attack + Sleaze}}" title="Matrix Attack Rating"><span data-i18n="attackrating">Attack Rating</span><span name='attr_matrix_attack_rating'></span></button></label>
|
|
<span> </span>
|
|
<label><button type="roll" name="roll_matrix_defense_rating" value="&{template:rolls}{{header=@{character_name}}}{{base=Matrix Defense Rating}}{{rating=[[@{matrix_defense_rating}]]}}{{desc=Data Processing + Firewall}}" title="Matrix Defense Rating"><span data-i18n="defenserating">Defense Rating</span><span name='attr_matrix_defense_rating'></span></button></label>
|
|
<span> </span>
|
|
</div>
|
|
<div class="row-long technomancer-attributes techno-see">
|
|
<span> </span>
|
|
<label data-i18n="attributearray">Attribute Array</label>
|
|
<input type="number" name="attr_attack_base" step="1" min="0" value="" placeholder="A" />
|
|
<input type="number" name="attr_sleaze_base" step="1" min="0" value="" placeholder="S" />
|
|
<input type="number" name="attr_data_processing_base" step="1" min="0" value="" placeholder="D" />
|
|
<input type="number" name="attr_firewall_base" step="1" min="0" value="" placeholder="F" />
|
|
<span> </span>
|
|
</div>
|
|
<div class="row-long">
|
|
<h3 data-i18n="total">Total</h3>
|
|
<h3 data-i18n="temp">Temp</h3>
|
|
<h3 data-i18n="modifier">modifier</h3>
|
|
<h3 data-i18n="base">Base</h3>
|
|
<h3 data-i18n="baseslider">Base slider</h3>
|
|
<br />
|
|
<label><button type="roll" name="roll_matrix_attack" value="&{template:rolls}{{header=@{character_name}}}{{base=^{matrix} ^{attack}}}{{dice=[[(@{attack}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}" title="Roll attack" data-i18n="attack">Attack</button></label>
|
|
<div class="matrix-tot" title="@{attack}" ><span name="attr_attack"></span></div><span> = </span>
|
|
<input type="number" name="attr_attack_temp" min="0" value="" placeholder="0" title="@{attack_temp}" /> +
|
|
<input type="number" name="attr_attack_modifier" min="0" value="" placeholder="0" title="@{attack_modifier}" /> +
|
|
<input type="number" name="attr_attack_base" min="0" value="" placeholder="7" title="@{attack_base}" />
|
|
<div class="device-attr">
|
|
<div class="matrix-bubble matrixAttack">
|
|
<input type="radio" name="attr_attack_base" value="0" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="1" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="2" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="3" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="4" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="5" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="6" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="7" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="8" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="9" /><span></span>
|
|
<input type="radio" name="attr_attack_base" value="10" /><span></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<label><button type="roll" name="roll_matrix_sleaze" value="&{template:rolls}{{header=@{character_name}}}{{base=^{matrix} ^{sleaze}}}{{dice=[[(@{sleaze}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}" title="Roll sleaze" data-i18n="sleaze">Sleaze</button></label>
|
|
<div class="matrix-tot" title="@{sleaze}" ><span name="attr_sleaze"></span></div><span> = </span>
|
|
<input type="number" name="attr_sleaze_temp" min="0" value="" placeholder="0" title="@{sleaze_temp}" /> +
|
|
<input type="number" name="attr_sleaze_modifier" min="0" value="" placeholder="0" title="@{sleaze_modifier}" /> +
|
|
<input type="number" name="attr_sleaze_base" min="0" value="" placeholder="6" title="@{sleaze_base}" />
|
|
<div class="device-attr">
|
|
<div class="matrix-bubble matrixSleaze">
|
|
<input type="radio" name="attr_sleaze_base" value="0" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="1" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="2" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="3" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="4" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="5" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="6" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="7" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="8" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="9" /><span></span>
|
|
<input type="radio" name="attr_sleaze_base" value="10" /><span></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<label><button type="roll" name="roll_matrix_data_processing" value="&{template:rolls}{{header=@{character_name}}}{{base=^{matrix} ^{data_processing}}}{{dice=[[(@{data_processing}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}" title="Roll data processing" data-i18n="dataproc">Data Proc.</button></label>
|
|
<div class="matrix-tot" title="@{data_processing}" ><span name="attr_data_processing"></span></div><span> = </span>
|
|
<input type="number" name="attr_data_processing_temp" min="0" alue="" placeholder="0" title="@{data_processing_temp}" /> +
|
|
<input type="number" name="attr_data_processing_modifier" min="0" value="" placeholder="0" title="@{data_processing_modifier}" /> +
|
|
<input type="number" name="attr_data_processing_base" min="0" value="" placeholder="5" title="@{data_processing_base}" />
|
|
<div class="device-attr">
|
|
<div class="matrix-bubble matrixData">
|
|
<input type="radio" name="attr_data_processing_base" value="0" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="1" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="2" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="3" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="4" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="5" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="6" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="7" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="8" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="9" /><span></span>
|
|
<input type="radio" name="attr_data_processing_base" value="10" /><span></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<label><button type="roll" name="roll_matrix_firewall" value="&{template:rolls}{{header=@{character_name}}}{{base=^{matrix} ^{firewall}}}{{dice=[[(@{firewall}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}" title="Roll firewall" data-i18n="firewall">Firewall</button></label>
|
|
<div class="matrix-tot" title="@{firewall}" ><span name="attr_firewall"></span></div><span> = </span>
|
|
<input type="number" name="attr_firewall_temp" min="0" value="" placeholder="0" title="@{firewall_temp}" /> +
|
|
<input type="number" name="attr_firewall_modifier" min="0" value="" placeholder="0" title="@{firewall_modifier}" /> +
|
|
<input type="number" name="attr_firewall_base" min="0" value="" placeholder="4" title="@{firewall_base}" />
|
|
<div class="device-attr">
|
|
<div class="matrix-bubble matrixFirewall">
|
|
<input type="radio" name="attr_firewall_base" value="0" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="1" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="2" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="3" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="4" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="5" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="6" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="7" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="8" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="9" /><span></span>
|
|
<input type="radio" name="attr_firewall_base" value="10" /><span></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="con-hex techno-hide">
|
|
<input type="hidden" name="attr_condition_monitor_link" value="">
|
|
<input type="hidden" name="attr_matrix_hex_max" value="12">
|
|
<input type="radio" name="attr_matrix_hex" value="0" /><h2 data-i18n="conditionmonitor">Condition Monitor</h2>
|
|
<input type="radio" name="attr_matrix_hex" value="1" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="2" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="3" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="4" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="5" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="6" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="7" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="8" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="9" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="10" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="11" /><span class="hexagon"></span>
|
|
<input type="radio" name="attr_matrix_hex" value="12" /><span class="hexagon"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div> </div>
|
|
|
|
<div class="rows repeating-container devices">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="device">Device</h2>
|
|
<h2 data-i18n="rtg">RTG</h2>
|
|
<h2 data-i18n="primary">Primary</h2>
|
|
<h2> </h2>
|
|
<h2> </h2>
|
|
</div>
|
|
<fieldset class="repeating_devices">
|
|
<span name="attr_device"></span>
|
|
<span name="attr_device_rating"></span>
|
|
<span name="attr_primary_device"></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="persona-attribute-buttons techno-hide">
|
|
<div class="row3">
|
|
<span> </span>
|
|
<span>
|
|
<input type="checkbox" name="attr_attack_primary" value="1">
|
|
<button name="attack"><span data-i18n="attack">Attack</span> <span name="attr_attack"></span></nobr></button>
|
|
</span>
|
|
|
|
<span>
|
|
<input type="checkbox" name="attr_sleaze_primary" value="1">
|
|
<button name="sleaze"><span data-i18n="sleaze"></span> <span name="attr_sleaze"></span></button>
|
|
</span>
|
|
|
|
<span>
|
|
<input type="checkbox" name="attr_data_processing_primary" value="1">
|
|
<button name="dataproc"><span data-i18n="dataproc"></span> <span name="attr_data_processing"></span></button>
|
|
</span>
|
|
|
|
<span>
|
|
<input type="checkbox" name="attr_firewall_primary" value="1">
|
|
<button name="firewall"><span data-i18n="firewall"></span> <span name="attr_firewall"></span></button>
|
|
</span>
|
|
<span> </span>
|
|
</div>
|
|
</div>
|
|
<div class="collapse">
|
|
<span name="attr_notes"></span>
|
|
</div>
|
|
<div class="settings">
|
|
<div class="rows">
|
|
<div class="row1">
|
|
<label data-i18n-title="device" title="device">
|
|
<input name="attr_device" title="@{repeating_devices_${x}_device}" type="text" value="" placeholder="Fairlight Excalibur"/>
|
|
</label>
|
|
<label data-i18n-title="devicerating" title="devicerating">
|
|
<input name="attr_device_rating" placeholder="6" title="@{repeating_devices_${x}_device_rating}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="primary" title="primary">
|
|
<input type="checkbox" name="attr_primary_device" title="@{repeating_devices_${x}_primary_device}" value="1">
|
|
</label>
|
|
</div>
|
|
<div class="row2">
|
|
<span> </span>
|
|
<h3 data-i18n="devicetype">Device Type</h3>
|
|
<label data-i18n-title="devicetype" title="Device Type">
|
|
<select name="attr_type" title="@{repeating_devices_${x}_device}">
|
|
<option data-i18n="commlink" value="Commlink">Commlink</option>
|
|
<option data-i18n="cyberdeck" value="Cyberdeck">Cyberdeck</option>
|
|
<option data-i18n="cyberjack" value="Cyberjack">Cyberjack</option>
|
|
<option data-i18n="commandconsole" value="Command Console">Command Console</option>
|
|
</select>
|
|
</label>
|
|
<span> </span>
|
|
<h3 data-i18n="activeprogramslots">Program Slots</h3>
|
|
<label data-i18n-title="activeprogramslots" title="Program Slots">
|
|
<input type="text" name="attr_active_program_slots" value="" title="@{repeating_devices_${x}_active_program_slots" type="number" step="1" value="0">
|
|
</label>
|
|
<span> </span>
|
|
</div>
|
|
<div class="row3">
|
|
<span> </span>
|
|
<label data-i18n-title="attack" title="attack">
|
|
<span data-i18n="attack"></span>
|
|
<input type="number" name="attr_attack" value="" placeholder="9" title="@{repeating_devices_${x}_attack" type="number" step="1">
|
|
</label>
|
|
<label data-i18n-title="sleaze" title="Sleaze">
|
|
<span data-i18n="sleaze"></span>
|
|
<input type="number" name="attr_sleaze" value="" placeholder="9" title="@{repeating_devices_${x}_sleaze" type="number" step="1">
|
|
</label>
|
|
<label data-i18n-title="dataproc" title="Data Proc">
|
|
<span data-i18n="dataproc"></span>
|
|
<input type="number" name="attr_data_processing" value="" placeholder="9" title="@{repeating_devices_${x}_data_processing" type="number" step="1">
|
|
</label>
|
|
<label data-i18n-title="firewall" title="Firewall">
|
|
<span data-i18n="firewall"></span>
|
|
<input type="number" name="attr_firewall" value="" placeholder="9" title="@{repeating_devices_${x}_firewall" type="number" step="1">
|
|
</label>
|
|
<span> </span>
|
|
</div>
|
|
<div class="row4">
|
|
<span> </span>
|
|
<h3 data-i18n="matrixinitiativebonus">Matrix Initiative Bonus</h3>
|
|
<label data-i18n-title="matrixinitiativebonus" title="Matrix Initiative Bonus">
|
|
<input type="number" name="attr_matrix_initiative_bonus" value="" title="@{repeating_devices_${x}_matrix_initiative_bonus" type="number" step="1">
|
|
</label>
|
|
<span> </span>
|
|
<h3 data-i18n="essencecost">Essence Cost</h3>
|
|
<label data-i18n-title="essencecost" title="Essence Cost">
|
|
<input type="number" name="attr_essence_cost" value="" title="@{repeating_devices_${x}_essence_cost" type="number" step=".01">
|
|
</label>
|
|
<span> </span>
|
|
</div>
|
|
<div class="row-condition-monitor">
|
|
<span> </span>
|
|
<h3 data-i18n="conditionmonitor">Current Condition Monitor</h3>
|
|
<label data-i18n-title="conditionmonitor" title="conditionmonitor">
|
|
<input type="number" name="attr_condition_monitor" value="" title="@{repeating_devices_${x}_condition_monitor}" type="number" step="1">
|
|
</label>
|
|
<span> </span>
|
|
<h3 data-i18n="conditionmonitormax">Condition Monitor Max</h3>
|
|
<label data-i18n-title="conditionmonitormax" title="conditionmonitormax">
|
|
<input type="number" name="attr_condition_monitor_max" value="" title="@{repeating_devices_${x}_condition_monitor_max}" type="number" step="1">
|
|
</label>
|
|
<span> </span>
|
|
</div>
|
|
<div class="row5">
|
|
<h3 data-i18n="notes">notes</h3>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_notes" placeholder="Notes" title="@{repeating_devices_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
<div class="row5">
|
|
<h3 data-i18n="modifiers">modifiers</h3>
|
|
<label data-i18n-title="modifiers" title="modifiers">
|
|
<textarea name="attr_modifiers" placeholder="Attribute: +/-mod" title="@{repeating_devices_${x}_modifiers}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</div> <!-- end rows -->
|
|
|
|
</fieldset>
|
|
</div>
|
|
|
|
|
|
<div class="rows repeating-container programs">
|
|
<h2 data-i18n="programs">Programs</h2>
|
|
<fieldset class="repeating_programs">
|
|
<span name="attr_program"></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="programs" title="programs">
|
|
<input name="attr_program" placeholder="Program name" title="@{repeating_programs_${x}_program}" 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_programs_${x}_notes}" type="text" value=""></textarea>
|
|
</label>
|
|
<h3 data-i18n="modifiers">modifiers</h3>
|
|
<label data-i18n-title="modifiers" title="modifiers">
|
|
<textarea name="attr_modifiers" placeholder="Attribute: +/-mod" title="@{repeating_programs_${x}_modifiers}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- Technomancer -->
|
|
<div class="pc-row techno techno-see">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="technomancer">Technomancer</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header right-header">
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="techno-toggle" name="attr_techno_toggle" title="@{techno_toggle}" type="radio" value="complexforms"/>
|
|
<h1 data-i18n="complexforms">Complex Forms</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="header htab">
|
|
<div class="triangle"></div>
|
|
<input class="techno-toggle" name="attr_techno_toggle" title="@{techno_toggle}" type="radio" value="submersion"/>
|
|
<h1 data-i18n="submersion">Submersion</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box">
|
|
<input class="techno-toggle" name="attr_techno_toggle" type="hidden" value="complexforms"/>
|
|
<div class="complex-forms-rolls complexforms">
|
|
<input type="hidden" name="attr_complex_form_attack_rating" value="0">
|
|
<button type="roll" name="roll_complex_forms_attack_rating" value="&{template:rolls}{{header=@{character_name}}}{{base=Complex Form Attack Rating}}{{rating=[[@{electronics}+@{resonance}]]}}{{desc=Electronics + Resonance}}" title="Complex Form Attack Rating"><span data-i18n="attackrating">Attack Rating</span><span name='attr_complex_form_attack_rating'></span></button>
|
|
<button data-i18n="resistfade" name="roll_fade" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{resistfade}}}{{dice=[[(@{willpower}+@{logic}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}{{desc=Willpower + Logic}}"></button>
|
|
<div class="rows repeating-container complex-forms">
|
|
<div class="row-long headers">
|
|
<h2 data-i18n="complexform">Complex Form</h2>
|
|
<h2 data-i18n="duration">Duration</h2>
|
|
<h2 data-i18n="fade">Fade</h2>
|
|
</div>
|
|
<fieldset class="repeating_forms">
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<span class='hide-roll-button' name='attr_skill'></span><span class='show-name' name='attr_name'></span><button name="roll_complex_form" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{complexform} @{name}}}{{dice=[[((@{skill}+@{resonance}+@{dicepool_modifier}+@{spec}+@{expert})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{notes}}}{{fade=[[@{fade}]]}}{{wilddie=[[@{wild_die}d6]]}}"><span name="attr_name"></span></button>
|
|
<span class="center" name="attr_duration"></span>
|
|
<span class="center" name="attr_fade"></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_duration" title="@{repeating_forms_${x}_duration}" value="Instant">
|
|
<option data-i18n="instant" value="Instant">Instant</option>
|
|
<option data-i18n="sustained" value="Sustained">Sustained</option>
|
|
<option data-i18n="permanent" value="Permanent">Permanent</option>
|
|
<option data-i18n="other" value="Other">Other</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="noroll" value="">No Roll</option>
|
|
<option data-i18n="cracking" value="@{cracking}">Cracking</option>
|
|
<option data-i18n="electronics" value="@{electronics}">Electronics</option>
|
|
<option data-i18n="tasking" value="@{tasking}">Tasking</option>
|
|
<option data-i18n="other" value="@{other}">Other</option>
|
|
</select>
|
|
<h3 data-i18n="specialization">Specialization</h3>
|
|
<label data-i18n-title="specialization" title="Specialization">
|
|
<input name="attr_spec" value="2" title="@{repeating_forms_${x}_spec}" type="checkbox"/>
|
|
</label>
|
|
<h3 data-i18n="expertise">Expertise</h3>
|
|
<label data-i18n-title="expertise" title="Expertise">
|
|
<input name="attr_expert" value="3" title="@{repeating_forms_${x}_expert}" type="checkbox"/>
|
|
</label>
|
|
</div>
|
|
<div class="row">
|
|
<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 class="complex-forms-rolls submersion">
|
|
<input class="techno-toggle" name="attr_techno_toggle" type="hidden" value="submersion"/>
|
|
<div class="pc-row submersion-headers">
|
|
<button data-i18n="resistfade" name="roll_fade" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{resistfade} ^{compiling}}}{{dice=[[(@{willpower}+@{charisma}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{wilddie=[[@{wild_die}d6]]}}{{desc=Willpower + Charisma}}"></button>
|
|
<span> </span>
|
|
<h2 data-i18n="submersionlevel">Submersion Level</h2>
|
|
<label data-i18n-title="submersionlevel" title="Submersion Level">
|
|
<input name="submersion_level" value="0" title="@{submersion_level}" type="number" min='0' step='1'>
|
|
</label>
|
|
</div>
|
|
|
|
|
|
<div class="rows">
|
|
<h1 data-i18n="echos">Echos</h1>
|
|
</div>
|
|
<div class="rows repeating-container echoes">
|
|
<fieldset class="repeating_echoes">
|
|
<span name="attr_echo"></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="echo" title="Echo">
|
|
<input name="attr_echo" type="text" title="Echo">
|
|
</label>
|
|
<label data-i18n-title="notes" title="Notes"><span data-i18n="notes">Notes</span>
|
|
<textarea name="attr_notes" value="" placeholder="Notes" title="@{repeating_echos_${x}_notes}"></textarea>
|
|
</label>
|
|
<label data-i18n-title="modifiers" title="modifiers"><span data-i18n="modifiers">modifiers</span>
|
|
<textarea name="attr_modifiers" value="" placeholder="modifiers" title="@{repeating_echos_${x}_modifiers}"></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div> </div>
|
|
|
|
<div class="rows">
|
|
<h1 data-i18n="sprites">Sprites</h1>
|
|
</div>
|
|
<div class="rows repeating-container sprites">
|
|
<div class="pc-row headers">
|
|
<span> </span>
|
|
<h2 data-i18n="lvl">Lvl</h2>
|
|
<h2 data-i18n="type">Type</h2>
|
|
<h2 data-i18n="tasks">Tasks</h2>
|
|
<span> </span>
|
|
<span> </span>
|
|
<span> </span>
|
|
</div>
|
|
<fieldset class="repeating_sprites">
|
|
<span> </span>
|
|
<span name="attr_level"></span>
|
|
<span name="attr_type"></span>
|
|
<span name="attr_tasks"></span>
|
|
<span> </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="level" title="Level">
|
|
<input name="attr_level" title="@{repeating_sprites_${x}_level}" type="number" min='0' step='1' value=''>
|
|
</label>
|
|
<label data-i18n-title="tasks" title="Tasks">
|
|
<select name="attr_type" title="@{repeating_sprites_${x}_type}">
|
|
<option data-i18n="couriersprite" value="Courier">Courier</option>
|
|
<option data-i18n="cracksprite" value="Crack">Crack</option>
|
|
<option data-i18n="datasprite" value="Data">Data</option>
|
|
<option data-i18n="faultsprite" value="Fault">Fault</option>
|
|
<option data-i18n="machinesprite" value="Machine">Machine</option>
|
|
<option data-i18n="other" value="Other">Other</option>
|
|
</select>
|
|
</label>
|
|
<label data-i18n-title="tasks" title="@{repeating_sprites_${x}_tasks}">
|
|
<input name="attr_tasks" type="number" title="@{repeating_sprites_${x}_tasks}" min='0' step='1' value=''>
|
|
</label>
|
|
<span> </span>
|
|
<label data-i18n-title="notes" title="Notes"><span data-i18n="notes">Notes</span>
|
|
<textarea name="attr_notes" value="" placeholder="Notes" title="@{repeating_sprites_${x}_notes}"></textarea>
|
|
</label>
|
|
<label data-i18n-title="modifiers" title="modifiers"><span data-i18n="modifiers">Modifiers</span>
|
|
<textarea name="attr_modifiers" value="" placeholder="modifiers" title="@{repeating_sprites_${x}_modifiers}"></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="social pc-col">
|
|
<div class="pc-row"><!-- ~~~~~~~~ Start of Lifestyles Row ~~~~~~~~ -->
|
|
<div class="header right-header">
|
|
<h1 data-i18n="idslifestylecurrency">IDs/Lifestyles/Currency</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box repeat-box lifestyle">
|
|
<div class="pc-box small-box social-box">
|
|
<div class="row-long">
|
|
<h3 data-i18n="nuyen">Nuyen</h3>
|
|
<input type="text" name="attr_nuyen" placeholder="-" title="@{nuyen}" />
|
|
</div>
|
|
<div class="row-long">
|
|
|
|
</div>
|
|
<div class="row-long sins-headers">
|
|
<h3 data-i18n="sinname">SIN Name</h3>
|
|
<h3 data-i18n="rtg">RTG</h3>
|
|
<h3 data-i18n="lifestylelicensesnotes" class="center">Lifestyle / Licenses / Notes</h3>
|
|
</div>
|
|
<fieldset class="repeating_lifestyle">
|
|
<input type="hidden" class="settings-toggle" name="attr_flag" value="settings" />
|
|
<div class="settings">
|
|
<div>
|
|
<h3 data-i18n="fakeid">Fake ID</h3>
|
|
<input type="text" name="attr_name" placeholder="SIN Name" title="SIN Name">
|
|
<h3 data-i18n="rating">Rating</h3>
|
|
<input type="number" name="attr_rating" placeholder="1" title="Rating">
|
|
<h3 data-i18n="relatedlifestyle">Related Lifestyle</h3>
|
|
<textarea name="attr_lifestyle" placeholder="Middle" title="Related lifestyle"></textarea>
|
|
<h3 data-i18n="licenses">Licenses</h3>
|
|
<textarea name="attr_licenses" placeholder="Technomancer, Pistols" title="Licenses"></textarea>
|
|
<h3 data-i18n="notes">Notes</h3>
|
|
<textarea name="attr_notes" placeholder="Notes" title="Notes"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="display">
|
|
<input class="display-flag" type="checkbox" name="attr_display_flag" />
|
|
<div class="display-row" title="SIN Name">
|
|
<span name="attr_name"></span>
|
|
<span class="center" name="attr_rating"></span>
|
|
</div>
|
|
<div class="collapsable">
|
|
<span class="desc-lifestyle" name="attr_lifestyle"></span>
|
|
<span class="desc-lifestyle" name="attr_licenses"></span>
|
|
<span class="desc-lifestyle" name="attr_notes"></span>
|
|
</div>
|
|
</div>
|
|
<button class="pictos settings-button" name="act_lifestyle" type="action">x</button>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- ~~~~~~~~ End of Lifestyle Row ~~~~~~~~ -->
|
|
|
|
<!-- ~~~~~~~~ Start Contacts Row ~~~~~~~~ -->
|
|
<div class="pc-row">
|
|
<div class="header right-header"><h1 data-i18n="contacts">Contacts</h1><div class="right-tri"></div></div>
|
|
<div class="border-box repeat-box contacts">
|
|
<div class="pc-box small-box">
|
|
<div class="row-long">
|
|
<h3 data-i18n="name">Name</h3><h3 data-i18n="loyalty">Loyalty</h3><h3 data-i18n="influence">Influence</h3><h3 data-i18n="favor">Favor</h3>
|
|
</div>
|
|
<fieldset class="repeating_contacts">
|
|
<input type="hidden" class="settings-toggle" name="attr_flag" value="settings" />
|
|
<div class="settings">
|
|
<div>
|
|
<input type="text" name="attr_name" placeholder="Contact Name" title="Contact name" />
|
|
<input type="number" name="attr_loyalty" min="1" placeholder="1" title="Loyalty" />
|
|
<input type="number" name="attr_influence" min="1" placeholder="1" title="Influence" />
|
|
<input type="number" name="attr_favors" placeholder="-" title="Favors" />
|
|
<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="display-row" title="Contact name"><span name="attr_display"></span></div>
|
|
<div class="display-row" title="Loyalty"><span name="attr_loyalty"></span></div>
|
|
<div class="display-row" title="Influence"><span name="attr_influence"></span></div>
|
|
<div class="display-row" title="Favors"><span name="attr_favors"></span></div>
|
|
<div class="collapsable">
|
|
<div class="desc" title="Notes"><span name="attr_notes"></span></div>
|
|
</div>
|
|
</div>
|
|
<button class="pictos settings-button" name="act_contacts" type="action">x</button>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div><!-- ~~~~~~~~ End of Contacts row ~~~~~~~~ -->
|
|
</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 style="width: 10%;" data-i18n="vehicle">Vehicle</label>
|
|
<input style="width: 30%;" type="text" name="attr_name" placeholder="name" title="Vehicle name" />
|
|
<span> </span>
|
|
<span> </span>
|
|
<span> </span>
|
|
<span> </span>
|
|
<span> </span>
|
|
<label data-i18n="type" style="width: 10%; text-align: right;">Type</label>
|
|
<select class="attribute-select" style="width: 30%" name="attr_type" title="@{repeating_vehicle_${x}_type}">
|
|
<option data-i18n="bike" value="Bike">Bike</option>
|
|
<option data-i18n="car" value="Car">Car</option>
|
|
<option data-i18n="truck" value="Truck">Truck</option>
|
|
<option data-i18n="van" value="Van">van</option>
|
|
<option data-i18n="boat" value="Boat">Boat</option>
|
|
<option data-i18n="submarine" value="Submarine">Submarine</option>
|
|
<option data-i18n="fixedwingaircraft" value="Fixed Wing Aircraft">Fixed Wing Aircraft</option>
|
|
<option data-i18n="rotorcraft" value="Rotorcraft">Rotorcraft</option>
|
|
<option data-i18n="vtolvstol" value="VTOL/VSTOL">VTOL/VSTOL</option>
|
|
<option data-i18n="microdrone" value="Microdrone">Microdrone</option>
|
|
<option data-i18n="minidrone" value="Minidrone">Minidrone</option>
|
|
<option data-i18n="smalldrone" value="Small Drone">Small Drone</option>
|
|
<option data-i18n="mediumdrone" value="Medium Drone">Medium Drone</option>
|
|
<option data-i18n="largedrone" value="Large Drone">Large Drone</option>
|
|
<option data-i18n="other" value="Other">Other</option>
|
|
</select>
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="handling">Handling</label>
|
|
<input type="hidden" name="attr_handling" />
|
|
<input type="number" name="attr_handling_onroad" placeholder="On" title="Handling On-Road" />
|
|
<input type="number" name="attr_handling_offroad" placeholder="Off" title="Handling Off-Road" />
|
|
<input type="number" name="attr_handling_modifier" placeholder="Mod" title="Handling Temp Modifier" />
|
|
<input type="hidden" name="attr_display_handling" placeholder="#" />
|
|
<input type="hidden" name="attr_seats" />
|
|
<label data-i18n="seats" style="width: 14%;" >Seats</label>
|
|
<input type="number" name="attr_seats" placeholder="#" title="# Seats" />
|
|
</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="Base" title="Acceleration Base" />
|
|
<input type="number" name="attr_acceleration_modifier" placeholder="Mod" title="Acceleration Modifier" />
|
|
<input type="hidden" name="attr_display_acceleration" placeholder="#" />
|
|
<span> </span>
|
|
<label data-i18n="speed">Speed</label>
|
|
<input type="hidden" name="attr_speed" />
|
|
<input type="number" name="attr_speed_base" placeholder="Base" title="Speed Interval" />
|
|
<input type="number" name="attr_speed_modifier" placeholder="Mod" title="Speed Modifier" />
|
|
<input type="number" name="attr_speed_max" placeholder="Max" title="Speed Max" />
|
|
<input type="hidden" name="attr_display_speed" placeholder="#" />
|
|
</div>
|
|
<div class="row-long">
|
|
<label data-i18n="body">Body</label>
|
|
<input type="hidden" name="attr_body" />
|
|
<input type="number" name="attr_body_base" placeholder="Base" title="Body Base" />
|
|
<input type="number" name="attr_body_modifier" placeholder="Mod" title="Body Modifier" />
|
|
<span> </span>
|
|
<input type="hidden" name="attr_display_body" placeholder="#" />
|
|
<label data-i18n="armor">Armor</label>
|
|
<input type="hidden" name="attr_armor" />
|
|
<input type="number" name="attr_armor_base" placeholder="Base" title="Armor Base" />
|
|
<input type="number" name="attr_armor_modifier" placeholder="Mod" title="Armor Modifier" />
|
|
<span> </span>
|
|
<input type="hidden" name="attr_display_armor" 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="Base" title="Pilot Base" />
|
|
<input type="number" name="attr_pilot_modifier" placeholder="Mod" title="Pilot Modifier" />
|
|
<span> </span>
|
|
<input type="hidden" name="attr_display_pilot" placeholder="#" />
|
|
<label data-i18n="sensor">Sensor</label>
|
|
<input type="hidden" name="attr_sensor" />
|
|
<input type="number" name="attr_sensor_base" placeholder="Base" title="Sensor Base" />
|
|
<input type="number" name="attr_sensor_modifier" placeholder="Mod" title="Sensor Modifier" />
|
|
<span> </span>
|
|
<input type="hidden" name="attr_display_sensor" placeholder="#" />
|
|
</div>
|
|
<h3 data-i18n="notes">Notes</h3>
|
|
<textarea name="attr_notes" value="" placeholder="Notes"></textarea>
|
|
</div>
|
|
<div><br><br></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="Type">
|
|
<h3 data-i18n="type">Type</h3>
|
|
<div>
|
|
<span name="attr_type"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row-long">
|
|
<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 class="display-row" title="Seats">
|
|
<h3 data-i18n="seats">Seats</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_seats"></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="Body">
|
|
<h3 data-i18n="body">Body</h3>
|
|
<div class="vehicle-stat">
|
|
<span name="attr_display_body"></span>
|
|
</div>
|
|
</div>
|
|
<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>
|
|
<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="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>
|
|
<button class="pictos settings-button" name="act_vehicle" type="action">x</button>
|
|
</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="technomancer">Technomancer</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}">
|
|
<option value="pc" data-i18n="pc">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>
|
|
</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_temp" title="@{initiative_temp}" /><input type="checkbox" name="attr_initiative_temp_flag" value="on" checked />
|
|
<label data-i18n="initiativedice">Initiative Dice</label><input type="number" name="attr_initiative_dice_temp" title="@{initiative_dice_temp}" /><input type="checkbox" name="attr_initiative_dice_temp_flag" value="on" checked />
|
|
|
|
<label data-i18n="astralinitiative">Astral Initiative</label><input type="number" name="attr_astral_initiative_temp" title="@{astral_initiative_temp}" /><input type="checkbox" name="attr_astral_initiative_temp_flag" value="on" checked />
|
|
<label data-i18n="astralinitiativedice">Initiative Dice</label><input type="number" name="attr_astral_initiative_dice_temp" title="@{astral_initiative_dice_temp}" /><input type="checkbox" name="attr_astral_initiative_dice_temp_flag" value="on" checked />
|
|
|
|
<label data-i18n="matrixinitiative">Matrix Initiative</label><input type="number" name="attr_matrix_initiative_temp" title="@{matrix_initiative_temp}" /><input type="checkbox" name="attr_matrix_initiative_temp_flag" value="on" checked />
|
|
<label data-i18n="matrixinitiativedice">Matrix Initiative Dice</label><input type="number" name="attr_matrix_initiative_dice_temp" title="@{matrix_initiative_dice_temp}" /><input type="checkbox" name="attr_matrix_initiative_dice_temp_flag" value="on" checked />
|
|
<label data-i18n="coldsiminitiative">Cold Sim VR Initiative</label><input type="number" name="attr_cold_sim_initiative_temp" title="@{cold_sim_initiative_temp}" /><input type="checkbox" name="attr_cold_sim_initiative_temp_flag" value="on" checked />
|
|
<label data-i18n="coldsiminitiativedice">Cold Sim VR Initiative Dice</label><input type="number" name="attr_cold_sim_initiative_dice_temp" title="@{cold_sim_initiative_dice_temp}" /><input type="checkbox" name="attr_cold_sim_initiative_dice_temp_flag" value="on" checked />
|
|
<label data-i18n="hotsiminitiative">Hot Sim VR Initiative</label><input type="number" name="attr_hot_sim_initiative_temp" title="@{hot_sim_initiative_temp}" /><input type="checkbox" name="attr_hot_sim_initiative_temp_flag" value="on" checked />
|
|
<label data-i18n="hotsiminitiativedice">Hot Sim VR Initiative Dice</label><input type="number" name="attr_hot_sim_initiative_dice_temp" title="@{hot_sim_initiative_dice_temp}" /><input type="checkbox" name="attr_hot_sim_initiative_dice_temp_flag" value="on" checked />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- NPC SHEET -->
|
|
<div class="npc">
|
|
<div>
|
|
<h1 style="color: red;">THIS IS COMPLETELY UNTESTED AND ROLLS ARE INCORRECT. DATA WILL BE CHANGING AS IT IS EDITED. USE KNOWING THE DATA WILL BE LOST.</h1>
|
|
</div>
|
|
<img class="shadowrun-logo" alt="Shadowrun sixth edition logo" src="https://s3.amazonaws.com/files.d20.io/images/204802539/QInmmma8HvUBA90c8e8H8Q/max.png?1614545502"/>
|
|
<input name="attr_stats_toggle" type="hidden" value=""/>
|
|
<div class="tabs border-box">
|
|
<div class="pc-box">
|
|
<div class="header-nav">
|
|
<input name="attr_stats_toggle" type="checkbox" value="settings" checked="checked"/>
|
|
<span class="pictos">y</span>
|
|
<select name="attr_sheet_type" title="Sheet Type">
|
|
<option value="pc" data-i18n="pc">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>
|
|
<select class="sprite" name="attr_sprite_type" title="Sprite Type">
|
|
<option value="Courier" data-i18n="couriersprite"></option>
|
|
<option value="Crack" data-i18n="cracksprite"></option>
|
|
<option value="Data" data-i18n="datasprite"></option>
|
|
<option value="Fault" data-i18n="faultsprite"></option>
|
|
<option value="Machine" data-i18n="machinesprite"></option>
|
|
<option value="Other" data-i18n="other"></option>
|
|
</select>
|
|
<span class="grunt host vehicle"> </span>
|
|
<span> </span>
|
|
</div>
|
|
<div class="header-toggles pc-box">
|
|
<span> </span>
|
|
<button name="d6" title="Roll D6s" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{d6}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5)]]}}">L</button>
|
|
<h2 data-i18n-title="whispergm">/w GM</h2>
|
|
<label class="switch" data-i18n-title="whispergm" 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="dicepoolmodifiers">Modifiers</h2>
|
|
<label class="switch" data-i18n-title="dicepoolmodifiers" title="Dicepool Modifiers">
|
|
<input class="whisper-toggle" name="attr_modifiers_toggle" type="checkbox" value="?{Modifiers +/-|0}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="addedgetodicepool">Edge</h2>
|
|
<label class="switch" data-i18n-title="addedgetodicepool" title="Add Edge to your dice pool and exploding 6's">
|
|
<input class="whisper-toggle" name="attr_edge_toggle" type="checkbox" value="@{edge}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="wilddie">Wild Die</h2>
|
|
<label class="switch" data-i18n-title="wilddie" title="Roll a single wild die">
|
|
<input class="whisper-toggle" name="attr_wild_die" type="checkbox" value="1"/><span class="slider"></span>
|
|
</label>
|
|
<span> </span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="border-box">
|
|
<div class="grunt attribute pc-box">
|
|
<button data-i18n="body" name="roll_body" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{body}}}{{dice=[[((@{body})+@{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="agility" name="roll_agility" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{agility}}}{{dice=[[((@{agility})+@{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="reaction" name="roll_reaction" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{reaction}}}{{dice=[[((@{reaction})+@{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="strength" name="roll_strength" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{strength}}}{{dice=[[((@{strength})+@{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="willpower" name="roll_willpower" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{willpower}}}{{dice=[[((@{willpower})+@{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="logic" name="roll_logic" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{logic}}}{{dice=[[((@{logic})+@{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="intuition" name="roll_intuition" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{intuition}}}{{dice=[[((@{intuition})+@{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="charisma" name="roll_charisma" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{charisma}}}{{dice=[[((@{charisma})+@{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="edge" name="roll_edge" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{edge}}}{{dice=[[((@{edge})+@{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" step='0.01' min='-6.00' max='6.00' value="6"/>
|
|
</label>
|
|
<h1 class="hide-magic" data-i18n="magic">m</h1><span class="hide-magic" name="attr_magic"></span>
|
|
<label class="hide-magic" data-i18n-title="magic" title="magic">
|
|
<input name="attr_magic" placeholder="6" title="@{magic}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-spirit" data-i18n="magic">m</h1><span class="hide-spirit" name="attr_magic"></span>
|
|
<label class="hide-spirit" data-i18n-title="magic" title="magic">
|
|
<input name="attr_magic" placeholder="0" title="@{magic}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-spirit" data-i18n="force">f</h1><span class="hide-spirit" name="attr_force"></span>
|
|
<label class="hide-spirit" data-i18n-title="force" title="force">
|
|
<input name="attr_force" placeholder="0" title="@{force}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-resonance" data-i18n="resonance">r</h1><span class="hide-resonance" name="attr_resonance"></span>
|
|
<label class="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 pc-box">
|
|
<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 pc-box">
|
|
<h1 data-i18n="hand">Hand</h1><span name="attr_handling"></span>
|
|
<label class="settings" data-i18n-title="hand" title="Handling">
|
|
<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="Handling (Offroad)">
|
|
<input name="attr_handling_offroad" placeholder="3" title="@{handling_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="interval">Interval</h1><span name="attr_interval"></span>
|
|
<label class="settings" data-i18n-title="interval" title="Speed Interval">
|
|
<input name="attr_interval" placeholder="3" title="@{interval}" type="number" value=""/>
|
|
</label>
|
|
<input name='attr_speed' type='hidden' value='0'>
|
|
<h1 data-i18n="maxspeed">Max Speed</h1><span name="attr_speed_max"></span>
|
|
<label class="settings" data-i18n-title="maxspeed" title="Max Speed">
|
|
<input name="attr_speed_max" placeholder="3" title="@{speed_max}" 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>
|
|
<h1 data-i18n="armor">Armor</h1><span name="attr_armor"></span>
|
|
<label class="settings" data-i18n-title="armor" title="Armor">
|
|
<input name="attr_armor" placeholder="3" title="@{armor}" 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 pc-box">
|
|
<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>
|
|
<h1 data-i18n="tasks">Tasks</h1><span name="attr_tasks"></span>
|
|
<label class="settings" data-i18n-title="tasks" title="Tasks">
|
|
<input name="attr_tasks" placeholder="0" title="@{tasks}" 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>
|
|
<button data-i18n="resonance" name="roll_resonance" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{resonance}}}{{dice=[[((@{resonance})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">resonance</button><span name="attr_resonance"></span>
|
|
<label class="settings" data-i18n-title="resonance" title="resonance">
|
|
<input name="attr_resonance" placeholder="8" title="@{resonance}" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="mid body">
|
|
<div class="column">
|
|
|
|
<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 vehicle sprite host">
|
|
<h2 data-i18n="actions">Actions</h2>
|
|
<label class="settings" data-i18n-title="majoractions" title="Major Actions">
|
|
<span data-i18n="a">A</span><input name="attr_major_actions" placeholder="1" title="@{major_actions}" type="number" value="1"/>
|
|
</label>
|
|
<span class="settings">, </span>
|
|
<label class="settings" data-i18n-title="minoractions" title="Minor Actions">
|
|
<span data-i18n="i">I</span><input min="0" name="attr_minor_actions" placeholder="2" title="@{minor_actions}" type="number" value="2"/>
|
|
</label>
|
|
<span data-i18n="a">A</span><span name="attr_major_actions"></span><span class="tiny-span">, </span><span data-i18n="i">I</span><span name="attr_minor_actions"></span>
|
|
</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=@{character_name}}}{{base=^{initiative}}}{{dice=[[((@{initiative_base})+@{wounds_toggle}+@{modifiers_toggle})+(@{initiative_dice})d6cf0 &{tracker}]]}}">Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_initiative_base" placeholder="0" title="@{initiative_base}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="initiativedice" title="Initiative Dice">
|
|
<input min="0" max="4" name="attr_initiative_dice" placeholder="0" title="@{initiative_dice}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_display_initiative_base"></span><span class="tiny-span">+</span><span name="attr_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="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=@{character_name}}}{{base=^{astralinitiative}}}{{dice=[[((@{astral_initiative_base})+@{wounds_toggle}+@{modifiers_toggle})+(@{astral_initiative_dice})d6cf0 &{tracker}]]}}">Astral Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_astral_initiative_base" placeholder="0" title="@{astral_initiative_base}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="astral_initiative_dice" title="Astral Initiative Dice">
|
|
<input min="0" max="4" name="attr_astral_initiative_dice" placeholder="0" title="@{astral_initiative_dice}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_display_astral_initiative_base"></span><span class="tiny-span">+</span><span name="attr_astral_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="matrixinitiative" name="Matrix Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{matrixinitiative}}}{{dice=[[((@{matrix_initiative_base})+@{wounds_toggle}+@{modifiers_toggle})+(@{matrix_initiative_dice})d6cf0 &{tracker}]]}}">Matrix Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_matrix_initiative_base" placeholder="0" title="@{matrix_initiative_base}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="matrix_initiative_dice" title="Matrix Initiative Dice">
|
|
<input min="0" max="4" name="attr_matrix_initiative_dice" placeholder="0" title="@{matrix_initiative_dice}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_matrix_initiative_base"></span><span class="tiny-span">+</span><span name="attr_matrix_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="coldsiminitiative" name="Cold Sim Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{coldsiminitiative}}}{{dice=[[((@{cold_sim_initiative_base})+@{wounds_toggle}+@{modifiers_toggle})+(@{cold_sim_initiative_dice})d6cf0 &{tracker}]]}}">Cold Sim Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_cold_sim_initiative_base" placeholder="0" title="@{cold_sim_initiative_base}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="coldsiminitiativedice" title="Cold Sim Initiative Dice">
|
|
<input min="0" max="4" name="attr_cold_sim_initiative_dice" placeholder="0" title="@{cold_sim_initiative_dice}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_cold_sim_initiative_base"></span><span class="tiny-span">+</span><span name="attr_cold_sim_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="rows grunt vehicle sprite host">
|
|
<button data-i18n="hotsiminitiative" name="Hot Sim Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{hotsiminitiative}}}{{dice=[[((@{hot_sim_initiative_base})+@{wounds_toggle}+@{modifiers_toggle})+(@{hot_sim_initiative_dice})d6cf0 &{tracker}]]}}">Hot Sim Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_hot_sim_initiative_base" placeholder="0" title="@{hot_sim_initiative_base}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="hotsiminitiativedice" title="Hot Sim Initiative Dice">
|
|
<input min="0" max="4" name="attr_hot_sim_initiative_dice" placeholder="0" title="@{hot_sim_initiative_dice}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_hot_sim_initiative_base"></span><span class="tiny-span">+</span><span name="attr_hot_sim_initiative_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="move speed" title="Move Speed">
|
|
<input name="attr_move_speed" placeholder="0" title="@{move_speed}" type="number" value="10"/>
|
|
</label><span class="settings"> / </span>
|
|
<label class="settings" data-i18n-title="sprint speed" title="Sprint Speed">
|
|
<input name="attr_sprint_speed" placeholder="0" title="@{sprint_speed}" type="number" value="0"/>
|
|
</label><span class="settings"> / + </span>
|
|
<label class="settings" data-i18n-title="sprint modifier" title="Sprint Modifier">
|
|
<input name="attr_sprint_modifier" placeholder="2" title="@{sprint_modifier}" type="number" value="1"/>
|
|
</label><span class="settings"></span><span class="settings tiny-span">=</span><span name="attr_move_speed" title="@{move_speed}"></span><span> / </span><span name="attr_sprint_speed" title="@{sprint_speed}"></span><span> / + </span><span name="attr_sprint_modifier" title="@{sprint_modifier}"></span><span></span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="conditionmonitor" name="act_cond_reset" type="action">Condition Monitor</button>
|
|
<label class="settings" data-i18n-title="conditionmonitor" title="Condition Monitor">
|
|
<input name="attr_physical" placeholder="0" title="@{physical}" type="number" value=""/>
|
|
</label>
|
|
<span class="settings tiny-span">=</span><span name="attr_physical" title="@{physical_modifier}"></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="physicalbonus">
|
|
<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="matrixbonus">
|
|
<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" title="@{physical_modifier}"></span><span>/</span><span name="attr_matrix" title="@{matrix_modifier}"></span>
|
|
</div>
|
|
<div class="rows host sprite">
|
|
<button data-i18n="conditionmonitor" name="act_cond_reset" type="action">Condition Monitor</button><span name="attr_matrix"></span>
|
|
</div>
|
|
<div class="rows vehicle">
|
|
<div class="rows">
|
|
<h2 data-i18n="data_processing">key</h2>
|
|
<label class="settings" data-i18n-title="data_processing" title="data_processing">
|
|
<input name="attr_data_processing" min="0" placeholder="0" title="@{data_processing}" type="number" value=""/>
|
|
</label><span class="settings tiny-span">=</span><span name="attr_data_processing"></span>
|
|
</div>
|
|
<div class="rows">
|
|
<h2 data-i18n="firewall">key</h2>
|
|
<label class="settings" data-i18n-title="firewall" title="firewall">
|
|
<input name="attr_firewall" min="0" placeholder="0" title="@{firewall}" type="number" value=""/>
|
|
</label><span class="settings tiny-span">=</span><span name="attr_firewall"></span>
|
|
</div>
|
|
<div class="rows">
|
|
<h2 data-i18n="devicerating">key</h2>
|
|
<label class="settings" data-i18n-title="devicerating" title="devicerating">
|
|
<input name="attr_device_rating" min="0" placeholder="0" title="@{device_rating}" type="number" value=""/>
|
|
</label><span class="settings tiny-span">=</span><span name="attr_device_rating"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="column">
|
|
|
|
<div class="rows">
|
|
<button data-i18n="defenserating" name="roll_dr" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defenserating}}}{{rating=@{defense_rating}}}">defenserating</button>
|
|
<label class="settings" data-i18n-title="ddefenserating" title="defenserating">
|
|
<input name="attr_defense_rating" placeholder="9" title="@{defense_rating}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="defense" name="roll_defense" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defense} = ^{reaction} + ^{intuition}}}{{dice=[[((@{reaction}+@{intuition}+@{defense_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">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 class="rows vehicle">
|
|
<button data-i18n="defense" name="roll_defense" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defense} = ^{pilot} + ^{evasion}}}{{dice=[[((?{Pilot Rating?| No Pilot, @{pilot}| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10}+?{Evasion Autosoft Rating?| No Evasion Autosoft, 0| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10}+@{defense_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">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 class="rows host">
|
|
<button data-i18n="defense" name="roll_defense" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{defense} = ^{data_processing} + ^{firewall}}}{{dice=[[((@{data_processing}+@{firewall}+@{defense_modifier})+@{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 class="rows grunt vehicle">
|
|
<button data-i18n="soak" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{damage}}}{{dice=[[(@{body}+@{soak_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">soak</button>
|
|
<label class="settings" data-i18n-title="soak" title="soak">
|
|
<input name="attr_soak_modifier" placeholder="0" title="@{soak_modifier}" type="number" value="0"/>
|
|
</label><span name="attr_soak_modifier"></span>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="soakmatrix" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{matrix} ^{damage} = ^{firewall}}}{{dice=[[(@{firewall}+@{soak_matrix_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">soak matrix</button>
|
|
<label class="settings" data-i18n-title="soakmatrix" title="soak">
|
|
<input name="attr_soak_matrix_modifier" placeholder="0" title="@{soak_matrix_modifier}" type="number" value="0"/>
|
|
</label><span name="attr_soak_matrix_modifier"></span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="soakbiofeedback" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{soak} ^{biofeedback} ^{damage} = ^{willpower}}}{{dice=[[(@{willpower}+@{soak_biofeedback_modifier}+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">soak biofeedback</button>
|
|
<label class="settings" data-i18n-title="soakbiofeedback" title="soak">
|
|
<input name="attr_soak_biofeedback_modifier" placeholder="0" title="@{soak_biofeedback_modifier}" type="number" value="0"/>
|
|
</label><span name="attr_soak_biofeedback_modifier"></span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<span class="pictos3 chem">d</span><span class="chem"> Chem </span>
|
|
<label class="settings" data-i18n-title="chemprotection" title="chemprotection">
|
|
<input name="attr_chem_modifier" placeholder="0" title="@{chem_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<span class="pictos cold">b</span><span class="cold"> Cold </span>
|
|
<label class="settings" data-i18n-title="coldprotection" title="coldprotection">
|
|
<input name="attr_cold_modifier" placeholder="0" title="@{cold_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<span class="pictos elec">e</span><span class="elec"> Elec </span>
|
|
<label class="settings" data-i18n-title="elecprotection" title="elecprotection">
|
|
<input name="attr_elec_modifier" placeholder="0" title="@{elec_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<span class="pictos3 fire">j</span><span class="fire"> Fire </span>
|
|
<label class="settings" data-i18n-title="fireprotection" title="fireprotection">
|
|
<input name="attr_fire_modifier" placeholder="0" title="@{fire_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</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="archetype" title="Archetype">
|
|
<h2 data-i18n="archetype">Archetype</h2>
|
|
<select name="attr_flag_special">
|
|
<option value="mundane" data-i18n="mundane" selected="selected">
|
|
<option value="magic" data-i18n="awakened">
|
|
<option value="spirit" data-i18n="spirit">
|
|
<option value="resonance" data-i18n="technomancer">
|
|
</select>
|
|
</label>
|
|
|
|
<label class="settings" data-i18n-title="paintolerance" title="Pain Tolerance">
|
|
<h2 data-i18n="paintolerance">Pain Tolerance</h2>
|
|
<select name="attr_pain_tolerance">
|
|
<option value="+1" data-i18n="highpaintolerance">
|
|
<option value="0" data-i18n="none" selected="selected">
|
|
<option value="-1" data-i18n="lowpaintolerance">
|
|
</select>
|
|
</label>
|
|
|
|
</div>
|
|
<div class="rows host grunt vehicle">
|
|
<label class="settings" title="Has Matrix Device">
|
|
<input class="character-type" name="attr_flag_matrix" title="@{flag_matrix}" type="checkbox" value="matrix"/>
|
|
<h2 data-i18n="hasmatrixdevice">Has Matrix Device</h2>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<label class="settings" title="Grunt Group">
|
|
<input class="grunt-group-member" name="attr_grunt_group_member" title="@{grunt_group_member}" type="checkbox" value="grunt_group_member"/>
|
|
<h2 data-i18n="gruntgroupmember"></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="qualities">Qualities</h1>
|
|
<span name="attr_quality"></span><br>
|
|
<label class="settings" data-i18n-title="quality" title="Qualities">
|
|
<textarea class="full-row" 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">Augmentations</h1>
|
|
<span name="attr_augmentations"></span><br>
|
|
<label class="settings" data-i18n-title="augmentations" title="Augmentations">
|
|
<textarea class="full-row" 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">Gear</h1>
|
|
<span name="attr_gear"></span><br>
|
|
<label class="settings" data-i18n-title="gear" title="Gear">
|
|
<textarea class="full-row" 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">Programs</h1>
|
|
<span name="attr_programs"></span><br>
|
|
<label class="settings" data-i18n-title="programs" title="Programs">
|
|
<textarea class="full-row" 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">Modifications</h1>
|
|
<span name="attr_modifications"></span><br>
|
|
<label class="settings" data-i18n-title="modifications" title="Modifications">
|
|
<textarea class="full-row" 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">Powers</h1>
|
|
<span name="attr_powers"></span><br>
|
|
<label class="settings" data-i18n-title="powers" title="Powers">
|
|
<textarea class="full-row" name="attr_powers" placeholder="Powers" title="@{powers}"></textarea>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="textrow grunt hide-magic">
|
|
<input name="attr_initiate" type="hidden" value=""/>
|
|
<h1 data-i18n="initiation">Initiation</h1>
|
|
<span name="attr_initiate"></span><br>
|
|
<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 class="full-row" 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 class="full-row" 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_skills">
|
|
<input name="attr_display_rating" type="hidden"/>
|
|
<input name="attr_specialization" type="hidden" value=""/>
|
|
<input name="attr_expertise" type="hidden" value=""/>
|
|
<input name="attr_display_limit" type="hidden" value="Physical"/>
|
|
<input name="attr_display_attribute" type="hidden" value="Agility"/>
|
|
<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 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=@{display_limit}}}"><span name="attr_skill"></span></button>
|
|
<button 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 class="skill_spec" name="attr_specialization"></span></button>
|
|
<button name="roll_expertise" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[((@{dicepool}+@{attribute}+3)+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=Expert: @{expertise}}}"><span class="skill_expert" name="attr_expertise"></span></button><span class="tiny">, </span>
|
|
<div class="settings">
|
|
<h2 data-i18n="skill">Skill</h2>
|
|
<h2 data-i18n="rating">Rating</h2>
|
|
<h2 data-i18n="mod">Mod</h2>
|
|
<h2 data-i18n="attribute">Attribute</h2>
|
|
<select class="skill-select" name="attr_skill" title="@{repeating_skills_${x}_skill}" value="Close Combat Group"><option value="Astral Combat" data-i18n="Astral">Astral</option>
|
|
<option value="Astral" data-i18n="astral">Astral</option>
|
|
<option value="Athletics" data-i18n="athletics">Athletics</option>
|
|
<option value="Biotech" data-i18n="biotech">Biotech</option>
|
|
<option value="Close Combat" data-i18n="closecombat">Close Combat</option>
|
|
<option value="Con" data-i18n="con">Con</option>
|
|
<option value="Conjuring" data-i18n="conjuring">Conjuring</option>
|
|
<option value="Cracking" data-i18n="cracking">Cracking</option>
|
|
<option value="Electronics" data-i18n="electronics">Electronics</option>
|
|
<option value="Enchanting" data-i18n="enchanting">Enchanting</option>
|
|
<option value="Engineering" data-i18n="engineering">Engineering</option>
|
|
<option value="Exotic Weapons" data-i18n="exoticweapon">Exotic Weapons</option>
|
|
<option value="Firearms" data-i18n="firearms">Firearms</option>
|
|
<option value="Influence" data-i18n="influence">Influence</option>
|
|
<option value="Outdoors" data-i18n="outdoors">Outdoors</option>
|
|
<option value="Perception" data-i18n="perception">Perception</option>
|
|
<option value="Piloting" data-i18n="piloting">Piloting</option>
|
|
<option value="Sorcery" data-i18n="sorcery">Sorcery</option>
|
|
<option value="Stealth" data-i18n="stealth">Stealth</option>
|
|
<option value="Tasking" data-i18n="tasking">Tasking</option>
|
|
</select>
|
|
<label data-i18n-title="rating" title="rating">
|
|
<input name="attr_rating" min="0" placeholder="0" title="@{repeating_skills_${x}_rating}" type="number"/>
|
|
</label>
|
|
<label data-i18n-title="ratingmodifier" title="Rating Modifier">
|
|
<input name="attr_rating_modifier" min="0" placeholder="0" title="@{repeating_skills_${x}_rating_modifier}" type="number"/>
|
|
</label>
|
|
<select class="attribute-select" name="attr_attribute" title="@{repeating_skills_${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="willpower" value="@{willpower}">Willpower</option>
|
|
<option data-i18n="logic" value="@{logic}">Logic</option>
|
|
<option data-i18n="intuition" value="@{intuition}">Intuition</option>
|
|
<option data-i18n="charisma" value="@{charisma}">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<h2 class="full-row skill_spec" data-i18n="specialization">Specialization (+2)</h2>
|
|
<label class="full-row" data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" placeholder="Specalizations" title="@{repeating_skills_${x}_specialization}" type="text"/>
|
|
</label>
|
|
<h2 class="full-row skill_expert" data-i18n="expertise">Expertise (+3)</h2>
|
|
<label class="full-row" data-i18n-title="expertise" title="expertise">
|
|
<input name="attr_expertise" placeholder="Expertise" title="@{repeating_skills_${x}_expertise}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
|
|
<div class="rows grunt repeating inline-repeating">
|
|
<h1 data-i18n="knowledge">knowledge</h1><br>
|
|
<fieldset class="repeating_knowledge">
|
|
<input class="toggle red" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<button name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=@{name} (@{type})}}{{desc=@{notes}}}"><span name="attr_name"></span></button>
|
|
<div class="settings">
|
|
<h2 data-i18n="skill">Skill</h2>
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_name" placeholder="Name" title="@{repeating_knowledge_${x}_name}" type="text"/>
|
|
</label>
|
|
<label data-i18n-title="type" title="Type">
|
|
<select class="center" data-i18n-title="type" name="attr_type" value="active" title="skill_type">
|
|
<option data-i18n="knowledge" value="Knowledge">Knowledge</option>
|
|
<option data-i18n="language" value="Language">Language</option>
|
|
</select>
|
|
</label>
|
|
<label data-i18n-title="notes" title="notes"><span data-i18n="notes">Notes</span>
|
|
<textarea class="full-row" name="attr_notes" value="" placeholder="Notes" title="undefined_notes}"></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
|
|
<div class="rows sprite repeating inline-repeating">
|
|
<h1 data-i18n="skills">skills</h1>
|
|
<fieldset class="repeating_skills">
|
|
<input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<button name="roll_skill" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{skill}}}{{base=^{level}}}{{dice=[[((@{level})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span name="attr_skill"></span></button>
|
|
<div class="settings">
|
|
<h2 class="full-row" data-i18n="skill">Skill</h2>
|
|
<select class="skill-select" name="attr_skill" title="@{repeating_skills_${x}_skill}">
|
|
<option value="Cracking" data-i18n="cracking"></option>
|
|
<option value="Electronics" data-i18n="electronics"></option>
|
|
<option value="Engineering" data-i18n="engineering"></option>
|
|
</select>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="rows sprite repeating inline-repeating">
|
|
<h1 data-i18n="powers">Powers</h1>
|
|
<fieldset class="repeating_powers">
|
|
<input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<button name="roll_power" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{character_name}}}{{base=@{name}}}{{desc=@{notes}}}"><span name="attr_name"></span></button>
|
|
<div class="settings">
|
|
<h2 class="full-row" data-i18n="name">name</h2>
|
|
<label data-i18n-title="name" title="name">
|
|
<input name="attr_name" placeholder="name" title="@{repeating_powers_${x}_name}" type="text"/>
|
|
</label>
|
|
<h2 class="full-row" data-i18n="notes">Notes</h2>
|
|
<label class="full-row" data-i18n-title="notes" title="notes">
|
|
<textarea class="full-row" name="attr_notes" placeholder="Powers notes" title="@{repeating_powers_${x}_notes}" value=""></textarea>
|
|
</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=@{character_name}}}{{base=@{weapon_type}}}{{dice=[[((@{weapon_dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=DV @{weapon_dv}}}"><span name="attr_weapon_name"></span></button><span name="attr_weapon"></span>
|
|
<div class="settings">
|
|
<input name="attr_weapon_range" type="hidden" value="range"/>
|
|
<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="dam">Dam</h2>
|
|
<h2 data-i18n="modes">Modes</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="dam" title="Dam">
|
|
<input name="attr_weapon_dv" placeholder="9P" title="@{repeating_weapon_${x}_weapon_dv}" type="text" 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="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=@{character_name}}}{{base=@{name}}}{{dice=[[((@{dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{category}?{Force|}, Drain [[?{Force|}+(@{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 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="complexform">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 class="rows host repeating ic">
|
|
<h1 data-i18n="intrusioncountermeasures">Intrusion Countermeasures</h1>
|
|
<fieldset class="repeating_IC">
|
|
<input name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<input name="attr_IC" type="hidden" value=""/>
|
|
<button name="roll_IC" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{character_name}}}{{base=^{ic}: @{IC_name}}}{{dice=[[((@{IC_attack})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=vs. @{IC_attribute}+@{IC_matrix}}}"><span name="attr_IC_name"></span></button><span name="attr_IC"></span>
|
|
<div class="settings">
|
|
<h2 data-i18n="name">Name</h2>
|
|
<h2 data-i18n="defense attribute">Defense Attribute</h2>
|
|
<h2 data-i18n="defense matrix attribute">Defense Matrix Attribute</h2>
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_IC_name" placeholder="Black" title="@{repeating_IC_${x}_name}" type="text"/>
|
|
</label>
|
|
<select name="attr_IC_attribute" title="@{repeating_IC_${x}_attribute}">
|
|
<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>
|
|
</select>
|
|
<select name="attr_IC_matrix" title="@{repeating_IC_${x}_matrix}">
|
|
<option data-i18n="attack" value="Attack">attack</option>
|
|
<option data-i18n="sleaze" value="Sleaze">sleaze</option>
|
|
<option data-i18n="data_processing" value="Data Processing">data_processing</option>
|
|
<option data-i18n="firewall" value="Firewall" selected="selected">firewall</option>
|
|
</select>
|
|
<label data-i18n-title="notes" title="Notes">
|
|
<input name="attr_IC_note" placeholder="deploy the ic" title="@{repeating_IC_${x}_note}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="textrow host slaved-devices">
|
|
<h1 data-i18n="slaveddevices">Slaved Devices</h1><br>
|
|
<span name='attr_slaved_devices'></span>
|
|
<label class="settings" data-i18n-title="slaveddevices" title="Slaved Devices">
|
|
<textarea class="full-row" name="attr_slaved_devices" placeholder="Cameras, door locks, elevator controls..." title="@{slaved_devices}"></textarea>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="textrow host sculpting">
|
|
<h1 data-i18n="sculpting">Sculpting</h1><br>
|
|
<span name='attr_sculpting'></span>
|
|
<label class="settings" data-i18n-title="sculpting" title="Sculpting">
|
|
<textarea class="full-row" name="attr_sculpting" placeholder="In VR, the host is designed to look like a large black pyramid..." title="@{sculpting}"></textarea>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="textrow host security-procedures">
|
|
<h1 data-i18n="securityprocedures">Security Procedures</h1><br>
|
|
<span name='attr_security_procedures'></span>
|
|
<label class="settings" data-i18n-title="securityprocedures" title="Security Procedures">
|
|
<textarea class="full-row" name="attr_security_procedures" placeholder="Patrol IC running at all times, Once alarmed, the host launches IC in this order..." title="@{security_procedures}"></textarea>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="textrow host pay-data">
|
|
<h1 data-i18n="paydata">Pay Data</h1><br>
|
|
<span name='attr_pay_data'></span>
|
|
<label class="settings" data-i18n-title="paydata" title="Pay Data">
|
|
<textarea class="full-row" name="attr_pay_data" placeholder="Housekeeping codes worth 500nuyen if sold within a week..." title="@{pay_data}"></textarea>
|
|
</label>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<input name="attr_flag_matrix" type="hidden" value=""/>
|
|
<div class="matrix body matrix-device">
|
|
<div class="rows">
|
|
<h1 data-i18n="matrixdevice">Matrix Device</h1>
|
|
<label data-i18n-title="device" title="device">
|
|
<input name="attr_device_name" placeholder="Sony CIY-720" type="text"/>
|
|
</label>
|
|
<button data-i18n="devicerating" name="device rating" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=Matrix Resistance}}{{base=^{base}}}{{dice=[[((@{device_rating}+@{firewall})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}" type="roll">Device Rating</button>
|
|
<label class="round" data-i18n-title="devicerating" title="devicerating">
|
|
<input name="attr_device_rating" placeholder="4" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="attack" name="Attack" value="&{template:rolls}{{header=^{attack}}}{{base=^{base}}}{{dice=[[(@{attack}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" type="roll">Attack</button>
|
|
<div class="matrix-bubble matrixAttack">
|
|
<input name="attr_attack" value="0" type="radio"/><span></span>
|
|
<input name="attr_attack" value="1" type="radio"/><span></span>
|
|
<input name="attr_attack" value="2" type="radio"/><span></span>
|
|
<input name="attr_attack" value="3" type="radio"/><span></span>
|
|
<input name="attr_attack" value="4" type="radio"/><span></span>
|
|
<input name="attr_attack" value="5" type="radio"/><span></span>
|
|
<input name="attr_attack" value="6" type="radio"/><span></span>
|
|
<input name="attr_attack" value="7" type="radio"/><span></span>
|
|
<input name="attr_attack" value="8" type="radio"/><span></span>
|
|
<input name="attr_attack" value="9" type="radio"/><span></span>
|
|
<input name="attr_attack" value="10" type="radio"/><span></span>
|
|
<input name="attr_attack" value="11" type="radio"/><span></span>
|
|
<input name="attr_attack" value="12" type="radio"/><span></span>
|
|
<input name="attr_attack" value="13" type="radio"/><span></span>
|
|
<input name="attr_attack" value="14" type="radio"/><span></span>
|
|
<input name="attr_attack" value="15" type="radio"/><span></span>
|
|
<input name="attr_attack" value="16" type="radio"/><span></span>
|
|
<input name="attr_attack" value="17" type="radio"/><span></span>
|
|
<input name="attr_attack" value="18" type="radio"/><span></span>
|
|
<input name="attr_attack" value="19" type="radio"/><span></span>
|
|
<input name="attr_attack" value="20" type="radio"/><span></span>
|
|
</div>
|
|
<label class="round" data-i18n-title="attack" title="attack">
|
|
<input name="attr_attack" placeholder="4" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="sleaze" name="Sleaze" value="&{template:rolls}{{header=^{sleaze}}}{{base=^{base}}}{{dice=[[(@{sleaze}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" type="roll">Sleaze</button>
|
|
<div class="matrix-bubble matrixSleaze">
|
|
<input name="attr_sleaze" value="0" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="1" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="2" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="3" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="4" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="5" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="6" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="7" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="8" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="9" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="10" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="11" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="12" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="13" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="14" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="15" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="16" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="17" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="18" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="19" type="radio"/><span></span>
|
|
<input name="attr_sleaze" value="20" type="radio"/><span></span>
|
|
</div>
|
|
<label class="round" data-i18n-title="sleaze" title="sleaze">
|
|
<input name="attr_sleaze" placeholder="4" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="data_processing" name="Data Processing" value="&{template:rolls}{{header=^{data_processing}}}{{base=^{base}}}{{dice=[[(@{data_processing}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" type="roll">Data Processing</button>
|
|
<div class="matrix-bubble matrixData">
|
|
<input name="attr_data_processing" value="0" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="1" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="2" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="3" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="4" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="5" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="6" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="7" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="8" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="9" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="10" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="11" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="12" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="13" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="14" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="15" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="16" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="17" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="18" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="19" type="radio"/><span></span>
|
|
<input name="attr_data_processing" value="20" type="radio"/><span></span>
|
|
</div>
|
|
<label class="round" data-i18n-title="data_processing" title="data_processing">
|
|
<input name="attr_data_processing" placeholder="4" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="firewall" name="Firewall" value="&{template:rolls}{{header=^{firewall}}}{{base=^{base}}}{{dice=[[(@{firewall}+(?{Attribute|Willpower,@{willpower}|Logic,@{logic}|Intuition,@{intuition}})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}" type="roll">Firewall</button>
|
|
<div class="matrix-bubble matrixFirewall">
|
|
<input name="attr_firewall" value="0" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="1" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="2" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="3" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="4" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="5" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="6" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="7" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="8" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="9" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="10" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="11" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="12" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="13" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="14" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="15" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="16" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="17" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="18" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="19" type="radio"/><span></span>
|
|
<input name="attr_firewall" value="20" type="radio"/><span></span>
|
|
</div>
|
|
<label class="round" data-i18n-title="firewall" title="firewall">
|
|
<input name="attr_firewall" placeholder="4" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="rows repeating">
|
|
<h1 data-i18n="programs">Programs</h1>
|
|
<fieldset class="repeating_programs">
|
|
<input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<input class="toggle" name="attr_program_on" type="checkbox" checked="checked"/><span class="pictos">Q</span>
|
|
<button name="roll_program" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{program}}}{{desc=@{program_note}}}"><span name="attr_program"></span></button><span name="attr_program_note"></span>
|
|
<div class="settings">
|
|
<h2 data-i18n="name">name</h2>
|
|
<label data-i18n-title="name" title="name">
|
|
<input name="attr_program" placeholder="Program Name" title="@{repeating_programs_${x}_program}" type="text" value=""/>
|
|
</label>
|
|
<h2 data-i18n="notes">notes</h2>
|
|
<label data-i18n-title="notes" title="notes">
|
|
<textarea name="attr_program_note" placeholder="Program Description" title="@{repeating_programs_${x}_program_note}" type="text" value=""></textarea>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="footer">
|
|
<div>
|
|
<span data-i18n="copyrightfooter">The Topps Company, Inc. has sole ownership of the names, logo, artwork, marks, photographs, sounds, audio, video and/or any proprietary material used in influence with the game Shadowrun. The Topps Company, Inc. has granted permission to use such names, logos, artwork, marks and/or any proprietary materials for promotional and informational purposes on its website but does not endorse, and is not affiliated with any official capacity whatsoever.
|
|
</span>
|
|
<span>Version </span><span name="attr_version"></span>
|
|
</div>
|
|
<!-- <img src="https://raw.githubusercontent.com/clevett/SheetTemplate/master/images/EProd_Emerald_Gloss.png" /> -->
|
|
</div>
|
|
|
|
|
|
<div class="rolltemplates">
|
|
<!--Roll Template for rolling without Focus-->
|
|
<rolltemplate class="rolltemplate-rolls">
|
|
<div class="template-body">
|
|
<div class="template-header">
|
|
{{#header}}{{header}}{{/header}}{{#spec}}<span> ({{spec}})</span>{{/spec}}<br />
|
|
{{#arm}}<span>{{arm}}</span>{{/arm}}
|
|
{{#base}}<span>{{base}}</span>{{/base}}
|
|
{{#rollLess() wound 0}}<span> & </span><span data-i18n="wounds">Wounds</span>{{/rollLess() wound 0}}
|
|
{{#rollLess() mod 0}}<span> & </span><span data-i18n="modifier">Modifier</span>{{/rollLess() mod 0}}
|
|
{{#rollGreater() mod 0}}<span> & </span><span data-i18n="modifier">Modifier</span>{{/rollGreater() mod 0}}
|
|
{{#rollGreater() edge 0}}<span> & </span><span data-i18n="edge">Edge</span>{{/rollGreater() edge 0}}
|
|
{{#effecttype}}<br /><span>{{effecttype}}</span>{{/effecttype}}
|
|
</div>
|
|
{{#dice}}<div class="template-row">Hits: {{dice}}</div>{{/dice}}
|
|
{{#rollGreater() wilddie 0}}
|
|
<div class="template-row">Wild Die Rolled! {{wilddie}}<br>
|
|
{{#rollLess() wilddie 2}}
|
|
<div class="template-row"><span class="red">Remove all 5s!</span></div>
|
|
{{/rollLess() wilddie 2}}
|
|
{{#rollBetween() wilddie 2 4}}
|
|
<div class="template-row">No Change!</div>
|
|
{{/rollBetween() wilddie 2 4}}
|
|
{{#rollGreater() wilddie 4}}
|
|
<div class="template-row green"><span class="green">+3 Hits!</span></div>
|
|
{{/rollGreater() wilddie 4}}
|
|
</div>
|
|
{{/rollGreater() wilddie 0}}
|
|
{{#rating}}<div class="template-row">{{rating}}</div>{{/rating}}
|
|
{{#ampup}}{{#rollGreater() ampup 0}}
|
|
<div class="template-row">
|
|
<span class="template-desc">Amp Up: {{ampup}}</span>
|
|
</div>
|
|
{{/rollGreater() ampup 0}}{{/ampup}}
|
|
{{#drain}}{{#rollGreater() drain 0}}
|
|
<div class="template-row">
|
|
<span class="template-desc">Drain: {{drain}}</span>
|
|
</div>
|
|
{{/rollGreater() drain 0}}{{/drain}}
|
|
{{#increasearea}}{{#rollGreater() increasearea 0}}
|
|
<div class="template-row">
|
|
<span class="template-desc">Increase Area: {{increasearea}}m</span>
|
|
</div>
|
|
{{/rollGreater() increasearea 0}}{{/increasearea}}
|
|
{{#fade}}{{#rollGreater() fade 0}}
|
|
<div class="template-row">
|
|
<span class="template-desc">Fade: {{fade}}</span>
|
|
</div>
|
|
{{/rollGreater() fade 0}}{{/fade}}
|
|
{{#desc}}
|
|
<div class="template-row">
|
|
<span class="template-desc">
|
|
{{desc}}
|
|
{{#rollGreater() rea 0}}, <span data-i18n="reach">Reach<span> {{rea}}{{/rollGreater() rea 0}}
|
|
{{#rollLess() drain 2}}, <span data-i18n="drain-2">Drain 2<span>{{/rollLess() drain 2}}
|
|
</span>
|
|
</div>
|
|
{{/desc}}
|
|
{{#opp}}<div class="template-row">{{opp}}</div>{{/opp}}
|
|
</div>
|
|
</rolltemplate>
|
|
<!--Roll Template for rolling without Focus-->
|
|
<rolltemplate class="sheet-rolltemplate-rolls">
|
|
<div class="sheet-template-body">
|
|
<div class="sheet-template-header">
|
|
{{#header}}{{header}}{{/header}}{{#spec}}<span> ({{spec}})</span>{{/spec}}<br />
|
|
{{#arm}}<span>{{arm}}</span>{{/arm}}
|
|
{{#base}}<span>{{base}}</span>{{/base}}
|
|
{{#rollLess() wound 0}}<span> & </span><span data-i18n="wounds">Wounds</span>{{/rollLess() wound 0}}
|
|
{{#rollLess() mod 0}}<span> & </span><span data-i18n="modifier">Modifier</span>{{/rollLess() mod 0}}
|
|
{{#rollGreater() mod 0}}<span> & </span><span data-i18n="modifier">Modifier</span>{{/rollGreater() mod 0}}
|
|
{{#rollGreater() edge 0}}<span> & </span><span data-i18n="edge">Edge</span>{{/rollGreater() edge 0}}
|
|
{{#effecttype}}<br /><span>{{effecttype}}</span>{{/effecttype}}
|
|
</div>
|
|
{{#dice}}<div class="sheet-template-row">Hits: {{dice}}</div>{{/dice}}
|
|
{{#rollGreater() wilddie 0}}
|
|
<div class="sheet-template-row">Wild Die Rolled! {{wilddie}}<br>
|
|
{{#rollLess() wilddie 2}}
|
|
<div class="sheet-template-row"><span class="sheet-red">Remove all 5s!</span></div>
|
|
{{/rollLess() wilddie 2}}
|
|
{{#rollBetween() wilddie 2 4}}
|
|
<div class="sheet-template-row">No Change!</div>
|
|
{{/rollBetween() wilddie 2 4}}
|
|
{{#rollGreater() wilddie 4}}
|
|
<div class="sheet-template-row green"><span class="sheet-green">+3 Hits!</span></div>
|
|
{{/rollGreater() wilddie 4}}
|
|
</div>
|
|
{{/rollGreater() wilddie 0}}
|
|
{{#rating}}<div class="sheet-template-row">{{rating}}</div>{{/rating}}
|
|
{{#ampup}}{{#rollGreater() ampup 0}}
|
|
<div class="sheet-template-row">
|
|
<span class="sheet-template-desc">Amp Up: {{ampup}}</span>
|
|
</div>
|
|
{{/rollGreater() ampup 0}}{{/ampup}}
|
|
{{#drain}}{{#rollGreater() drain 0}}
|
|
<div class="sheet-template-row">
|
|
<span class="sheet-template-desc">Drain: {{drain}}</span>
|
|
</div>
|
|
{{/rollGreater() drain 0}}{{/drain}}
|
|
{{#increasearea}}{{#rollGreater() increasearea 0}}
|
|
<div class="sheet-template-row">
|
|
<span class="sheet-template-desc">Increase Area: {{increasearea}}m</span>
|
|
</div>
|
|
{{/rollGreater() increasearea 0}}{{/increasearea}}
|
|
{{#fade}}{{#rollGreater() fade 0}}
|
|
<div class="sheet-template-row">
|
|
<span class="sheet-template-desc">Fade: {{fade}}</span>
|
|
</div>
|
|
{{/rollGreater() fade 0}}{{/fade}}
|
|
{{#desc}}
|
|
<div class="sheet-template-row">
|
|
<span class="sheet-template-desc">
|
|
{{desc}}
|
|
{{#rollGreater() rea 0}}, <span data-i18n="reach">Reach<span> {{rea}}{{/rollGreater() rea 0}}
|
|
{{#rollLess() drain 2}}, <span data-i18n="drain-2">Drain 2<span>{{/rollLess() drain 2}}
|
|
</span>
|
|
</div>
|
|
{{/desc}}
|
|
{{#opp}}<div class="sheet-template-row">{{opp}}</div>{{/opp}}
|
|
</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_soak" min="0" value="3" />
|
|
<input type="hidden" name="attr_armor" min="0" value="3" />
|
|
<input type="hidden" name="attr_chem_protection" min="0" value="3" />
|
|
<input type="hidden" name="attr_cold_protection" min="0" value="3" />
|
|
<input type="hidden" name="attr_elec_protection" min="0" value="3" />
|
|
<input type="hidden" name="attr_fire_protection" min="0" value="3" />
|
|
<input type="hidden" name="attr_radiation_protection" 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_acc" />
|
|
<input type="hidden" name="attr_primary_range_weapon_ap" />
|
|
<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_acc" />
|
|
<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="0" />
|
|
<input type="hidden" name="attr_initiative_dice" min="1" max="5" value="1" />
|
|
<input type="hidden" name="attr_astral_mod" value="6" />
|
|
<input type="hidden" name="attr_astral_dice" max="5" value="2" />
|
|
<input type="hidden" name="attr_matrix_mod" value="0" />
|
|
<input type="hidden" name="attr_matrix_dice" max="5" />
|
|
<input type="hidden" name="attr_matrix_dice_mod" value="0" />
|
|
<input type="hidden" name="attr_cold_sim_mod" value="0" />
|
|
<input type="hidden" name="attr_cold_sim_dice" max="5" />
|
|
<input type="hidden" name="attr_cold_sim_dice_mod" value="0" />
|
|
<input type="hidden" name="attr_hot_sim_mod" value="0" />
|
|
<input type="hidden" name="attr_hot_sim_dice" max="5" />
|
|
<input type="hidden" name="attr_hot_sim_dice_mod" 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="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="hidden" name="attr_matrix" value="10" />
|
|
<input type="hidden" name="attr_matrix_max" min="8" value="10" />
|
|
<input type="hidden" name="attr_defense" value="6" />
|
|
|
|
<input type="hidden" name="attr_acting" min="0" value="0" />
|
|
<input type="hidden" name="attr_aeronauticsmechanic" min="0" value="0" />
|
|
<input type="hidden" name="attr_alchemy" min="0" value="0" />
|
|
<input type="hidden" name="attr_animalhandling" 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_biotechnology" 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_disenchanting" 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_engineering" 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_impersonation" 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_pilot" 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_sheet_version" value="0.26">
|
|
|
|
<script type="text/worker">
|
|
//Sheet workers
|
|
on("sheet:opened", function() {
|
|
getAttrs(['sheet_type', 'sheet_version'], (v) => {
|
|
console.log(`%c Shadowrun 6th World v${v['sheet_version']}`, "color: blue; font-weight:bold");
|
|
console.log(`%c Sheet Type: ${v['sheet_type']}`, "color: red; font-weight:bold");
|
|
});
|
|
});
|
|
|
|
|
|
on("clicked:shots_remove clicked:shots_add", (eventinfo) => {
|
|
getAttrs([`shots_fired`], (v) => {
|
|
let shots = parseInt(v[`shots_fired`]) || 0;
|
|
const trigger = eventinfo.triggerName;
|
|
setAttrs({
|
|
shots_fired: (shots > 0 && trigger.includes("remove")) ? shots -= 1 : trigger.includes("add") ? shots += 1 : shots
|
|
});
|
|
});
|
|
});
|
|
|
|
on("clicked:primary_ammo", (eventinfo) => {
|
|
getAttrs([`primary_range_weapon_ammo`, `shots_fired`], (v) => {
|
|
let ammo = parseInt(v[`primary_range_weapon_ammo`]) || 0;
|
|
const shots = parseInt(v[`shots_fired`]) || 0;
|
|
setAttrs({
|
|
primary_range_weapon_ammo: ammo -= shots
|
|
});
|
|
});
|
|
});
|
|
|
|
on("change:primary_range_weapon_mode", (eventinfo) => {
|
|
var mode = eventinfo.newValue;
|
|
var rounds = 1;
|
|
|
|
switch(mode) {
|
|
case "FA":
|
|
rounds = 10;
|
|
break;
|
|
case "BF":
|
|
rounds = 4;
|
|
break;
|
|
case "SA":
|
|
rounds = 2;
|
|
break;
|
|
case "SS":
|
|
default:
|
|
rounds = 1;
|
|
}
|
|
|
|
setAttrs({
|
|
shots_fired: rounds
|
|
});
|
|
});
|
|
|
|
on("clicked:reload", (eventinfo) => {
|
|
getAttrs([`primary_range_weapon_ammo_max`], (v) => {
|
|
const reload = parseInt(v[`primary_range_weapon_ammo_max`]) || 0;
|
|
setAttrs({
|
|
primary_range_weapon_ammo: reload
|
|
});
|
|
});
|
|
});
|
|
|
|
["active", "knowledge", "language"].forEach((attr) => {
|
|
on(`clicked:repeating_${attr}:skill`, (eventinfo) => {
|
|
settingsToggle(eventinfo);
|
|
});
|
|
});
|
|
|
|
["quality", "martial", "items", "range", "melee", "armor", "spell", "preps", "ritual", "powers", "forms", "vehicle", "augementations", "lifestyle", "contacts", "programs"].forEach((attr) => {
|
|
on(`clicked:repeating_${attr}:${attr}`, (eventinfo) => {
|
|
settingsToggle(eventinfo);
|
|
});
|
|
});
|
|
|
|
const settingsToggle = (eventinfo) => {
|
|
const split = eventinfo.sourceAttribute.split("_");
|
|
const source = `${split[0]}_${split[1]}_${split[2]}`;
|
|
getAttrs([`${source}_flag`], (v) => {
|
|
setAttrs({
|
|
[`${source}_flag`]: (v[`${source}_flag`] === "settings") ? "display" : "settings"
|
|
});
|
|
});
|
|
};
|
|
|
|
[`core`, `arms`, `augs`, `gear`, `magic`, `matrix`, `social`, `vehicle`, `options`].forEach(attr => {
|
|
on(`clicked:tab_${attr}`, () => {
|
|
setAttrs({tab: attr});
|
|
});
|
|
});
|
|
|
|
//Watch for Updates and Run the needed functions
|
|
on("change:agility change:walk_modifier change:run_modifier", () => {
|
|
});
|
|
|
|
on("change:body change:strength change:lift_carry_modifier", (eventinfo) => {
|
|
const source = eventinfo.sourceAttribute;
|
|
update_common_rolls(["body", "willpower", "lift_carry_modifier"]);
|
|
|
|
//ONLY RUN ON BODY CHANGE
|
|
if (source.includes("body")) {
|
|
update_common_rolls(["body", "body", "overflow_modifier"]);
|
|
update_common_rolls(["body", "armor_rating", "soak_modifier", "soak_temp", `soak_temp_flag`]);
|
|
update_track("physical");
|
|
};
|
|
});
|
|
|
|
on("change:reaction change:intuition", (eventinfo) => {
|
|
const source = eventinfo.sourceAttribute;
|
|
update_common_rolls(["reaction", "intuition", "defense_modifier", "defense_temp", `defense_temp_flag`]);
|
|
update_initiative();
|
|
|
|
//ONLY RUN ON INTUITION CHANGE
|
|
(source.includes("intuition")) ? update_common_rolls(["willpower", "intuition", "judge_intentions_modifier"]) : false;
|
|
});
|
|
|
|
on("change:willpower", () => {
|
|
update_common_rolls(["charisma", "willpower", "composure_modifier"]);
|
|
update_common_rolls(["body", "willpower", "lift_carry_modifier"]);
|
|
update_track("stun");
|
|
});
|
|
|
|
on("change:logic change:memory_modifier", (eventinfo) => {
|
|
const source = eventinfo.sourceAttribute;
|
|
update_common_rolls(["logic", "intuition", "memory_modifier"]);
|
|
});
|
|
|
|
on("change:intuition change:memory_modifier", (eventinfo) => {
|
|
const source = eventinfo.sourceAttribute;
|
|
update_common_rolls(["logic", "intuition", "memory_modifier"]);
|
|
});
|
|
|
|
on("change:charisma change:composure_modifier change:judge_intentions_modifier", (eventinfo) => {
|
|
const source = eventinfo.sourceAttribute;
|
|
//CHARISMA & COMPOSURE UPDATE COMPOSURE
|
|
(source.includes("charisma") || source.includes("composure")) ? update_common_rolls(["charisma", "willpower", "composure_modifier"]) : false;
|
|
//CHARISMA & JUDGE INTENTIONS UPDATE JUDGE INTENTIONS
|
|
(source.includes("charisma") || source.includes("judge")) ? update_common_rolls(["willpower", "intuition", "judge_intentions_modifier"]) : false;
|
|
});
|
|
|
|
on("change:essence", () => {
|
|
// This shouldn't be manually changed by the player it's a calculated value. See the update_essence function.
|
|
});
|
|
|
|
on("change:physical_modifier change:flag_drone", () => {
|
|
update_track("physical");
|
|
});
|
|
|
|
on("change:stun_modifier", () => {
|
|
update_track("stun");
|
|
});
|
|
|
|
|
|
on("change:defense_modifier change:defense_temp change:defense_temp_flag", () => {
|
|
update_common_rolls(["reaction", "intuition", "defense_modifier", "defense_temp", `defense_temp_flag`]);
|
|
});
|
|
|
|
on("change:armor_rating change:soak_modifier change:soak_temp change:soak_temp_flag", () => {
|
|
update_common_rolls(["body", "armor_rating", "soak_modifier", "soak_temp", `soak_temp_flag`]);
|
|
});
|
|
|
|
on("change:pain_tolerance", () => {
|
|
update_wounds();
|
|
});
|
|
|
|
// Update the name of the attribute used when rolling Unskilled Skill Use
|
|
on("change:default_attribute", (eventinfo) => {
|
|
var new_attr = eventinfo.newValue;
|
|
|
|
// newValue will be something like "@{attribute_name}" so we cut out the @{ and } and capitalize the first letter
|
|
setAttrs({
|
|
'default_display': new_attr.charAt(2).toUpperCase() + new_attr.slice(3, -1)
|
|
});
|
|
});
|
|
|
|
//Calculate ATTRIBUTES
|
|
['body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition','charisma','magic', 'resonance'].forEach(attr => {
|
|
// Attach listener
|
|
on(`change:${attr}_base change:${attr}_modifier change:${attr}_temp change:${attr}_temp_flag`, () => {
|
|
// Load attribute values
|
|
getAttrs([`${attr}_base`, `${attr}_modifier`, `${attr}_temp`, `${attr}_temp_flag`], (v) => {
|
|
// Do some math to calculate the total
|
|
const bas = parseInt(v[`${attr}_base`]) || 0;
|
|
const mod = parseInt(v[`${attr}_modifier`]) || 0;
|
|
const tem = (v[`${attr}_temp_flag`] === "on") ? parseInt(v[`${attr}_temp`]) || 0 : 0;
|
|
const bon = mod + tem;
|
|
const stat = bas + bon;
|
|
|
|
// Update the finalized total
|
|
setAttrs({
|
|
[attr]: stat,
|
|
[`display_${attr}`]: bon === 0 ? bas : `${bas} (${stat})`
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
// Update the essence count (6 - aug_mods - calculated augmentation costs = total)
|
|
var update_essence = () => {
|
|
let ess = 6;
|
|
let aug_ess_cost = 0;
|
|
|
|
getSectionIDs("augmentations", (ids) => {
|
|
_.each(ids, (id) => {
|
|
getAttrs([`repeating_augmentations_${id}_essence_cost`], (aug_ess) => {
|
|
aug_ess_cost += aug_ess[`repeating_augmentations_${id}_essence_cost`];
|
|
setAttrs({
|
|
aug_essence_cost: parseFloat(aug_ess_cost).toFixed(2)
|
|
});
|
|
|
|
ess -= aug_ess[`repeating_augmentations_${id}_essence_cost`];
|
|
setAttrs({
|
|
essence: parseFloat(ess).toFixed(2)
|
|
});
|
|
});
|
|
});
|
|
|
|
getAttrs(['essence_mod', 'magic', 'matrix_device_essence_cost'], (a) => {
|
|
var em = 0;
|
|
if(! isNaN(a['essence_mod']) && a['essence_mod'] !== '') {
|
|
em = a['essence_mod'];
|
|
}
|
|
ess += parseFloat(em);
|
|
|
|
ess -= parseFloat(a['matrix_device_essence_cost']) || 0;
|
|
|
|
// Trying to update magic as essence drops but it's not a simple process will revisit later
|
|
// var magic = 0;
|
|
// if(! isNaN(a['magic']) && a['magic'] !== '') {
|
|
// magic = a['magic'];
|
|
// }
|
|
|
|
setAttrs({
|
|
essence: parseFloat(ess).toFixed(2)
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
|
|
//This function watches for changes to augmentations and updates recalculates essence
|
|
on("change:essence_mod remove:repeating_augmentations change:repeating_augmentations:essence_cost change:matrix_device_essence_cost", (eventInfo) => {
|
|
update_essence();
|
|
});
|
|
|
|
|
|
// Catch changes to magic, tradition, logic or charisma to update magic AR
|
|
on("change:magic change:tradition change:logic change: charisma", (eventinfo) => {
|
|
getAttrs(["magic", "tradition", "logic", "charisma"], (v) => {
|
|
var magic_ar = v.magic;
|
|
|
|
switch(v.tradition) {
|
|
case "Hermeticism":
|
|
magic_ar += v.logic;
|
|
break;
|
|
case "Shamanism":
|
|
magic_ar += v.charisma;
|
|
break;
|
|
default:
|
|
magic_ar = 0;
|
|
break;
|
|
}
|
|
|
|
setAttrs({
|
|
'magic_ar': magic_ar
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
/********************************************************/
|
|
/* MATRIX TAB SHEET WORKERS */
|
|
/********************************************************/
|
|
//This function watches for changes to repeating_devices and updates the ASDF and Device Rating as needed
|
|
on("change:repeating_devices remove:repeating_devices", (eventInfo) => {
|
|
const source = eventInfo.sourceAttribute;
|
|
const newV = eventInfo.newValue;
|
|
|
|
// sum repeating device matrix initiative bonuses and essence costs
|
|
getSectionIDs('devices', function(ids) {
|
|
var matrix_bonus = 0;
|
|
var essence_cost = 0;
|
|
|
|
ids.forEach(id => {
|
|
getAttrs([`repeating_devices_${id}_matrix_initiative_bonus`, `repeating_devices_${id}_essence_cost`], (a) => {
|
|
matrix_bonus += parseInt(a[`repeating_devices_${id}_matrix_initiative_bonus`]) || 0;
|
|
essence_cost += parseFloat(a[`repeating_devices_${id}_essence_cost`]) || 0;
|
|
|
|
setAttrs({
|
|
matrix_device_initiative_bonus: matrix_bonus,
|
|
matrix_device_essence_cost: essence_cost
|
|
});
|
|
});
|
|
});
|
|
|
|
// If the device list is empty update these to 0 which triggers recalculations.
|
|
if(ids.length == 0) {
|
|
setAttrs({
|
|
matrix_device_initiative_bonus: 0,
|
|
matrix_device_essence_cost: 0,
|
|
matrix_device_rating: 0
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
// Get a bunch of attributes (device rating, primary, ASDF, condition monitor, condition monitor max)
|
|
getAttrs(['attr_matrix_con', 'attr_condition_monitor_link', 'repeating_device_device', 'repeating_device_device_rating', 'repeating_device_primary_device', 'repeating_device_attack', 'repeating_device_attack_primary', 'repeating_device_sleaze', 'repeating_device_sleaze_primary', 'repeating_device_data_processing', 'repeating_device_data_processing_primary', 'repeating_device_firewall', 'repeating_device_firewall_primary', 'repeating_device_condition_monitor', 'repeating_device_condition_monitor_max', 'repeating_device_matrix_initiative_bonus'], (v) => {
|
|
var toUpdate = {};
|
|
|
|
// Check if the event was related to the primary flag being turned on (we'll need to recalculate
|
|
if(source.includes('primary_device') && newV == '1') {
|
|
// Update the attr_matrix_device_rating
|
|
toUpdate['matrix_device_rating'] = v['repeating_device_device_rating'] || 0;
|
|
|
|
// Update condition_monitor_link with the full id of this device
|
|
toUpdate['condition_monitor_link'] = eventInfo.triggerName;
|
|
|
|
// Update matrix_hex with the new condition
|
|
toUpdate['matrix_hex'] = v['repeating_device_condition_monitor'] || 0;
|
|
|
|
// Update matrix_hex with the new condition
|
|
toUpdate['matrix_hex_max'] = v['repeating_device_condition_monitor_max'] || 0;
|
|
|
|
// Uncheck 'primary' from other devices
|
|
getSectionIDs('devices', function(ids) {
|
|
var updates = {};
|
|
ids.forEach(id => {
|
|
if('repeating_devices_'+id != eventInfo.triggerName) {
|
|
updates[`repeating_devices_${id}_primary_device`] = 0;
|
|
}
|
|
});
|
|
setAttrs(updates);
|
|
});
|
|
}
|
|
|
|
/* When the device rating changes so should the Condition Monitor Max ONLY IF they haven't entered something there already*/
|
|
if(source.includes('device_rating')) {
|
|
if(! v['repeating_device_condition_monitor_max']) {
|
|
var device_condition_monitor_max = 8 + Math.ceil(v['repeating_device_device_rating'] / 2)
|
|
toUpdate[`${eventInfo.triggerName}_condition_monitor_max`] = device_condition_monitor_max;
|
|
|
|
if(typeof(v['repeating_device_condition_monitor']) == 'undefined') {
|
|
toUpdate[`${eventInfo.triggerName}_condition_monitor`] = device_condition_monitor_max;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* If they changed the device's condition monitor update the hexes ONLY IF THIS IS THE PRIMARY DEVICE */
|
|
if(source.includes('condition_monitor') && v['repeating_device_primary_device'] == '1') {
|
|
// Update matrix_hex with the new condition
|
|
toUpdate['matrix_hex'] = v['repeating_device_condition_monitor'] || 0;
|
|
}
|
|
|
|
/* If they changed an attribute
|
|
If the attribute from this device is used by the persona
|
|
Update the persona attribute as well
|
|
*/
|
|
['attack', 'sleaze', 'data_processing', 'firewall'].forEach(attr => {
|
|
if(source.includes(`${attr}`)) {
|
|
// one of the attrs changed, is it the primary for the persona?
|
|
if(v[`repeating_device_${attr}_primary`] == '1') {
|
|
toUpdate[`${attr}_base`] = v[`repeating_device_${attr}`] || 0;
|
|
}
|
|
|
|
|
|
if(source.includes(`${attr}_primary`) && newV == '1') {
|
|
// If they selected the button uncheck the attribute button from other devices
|
|
getSectionIDs('devices', function(ids) {
|
|
var updates = {};
|
|
ids.forEach(id => {
|
|
if('repeating_devices_'+id != eventInfo.triggerName) {
|
|
updates[`repeating_devices_${id}_${attr}_primary`] = 0;
|
|
}
|
|
});
|
|
setAttrs(updates);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
// update everything in toUpdate
|
|
setAttrs(toUpdate);
|
|
|
|
});
|
|
});
|
|
|
|
on("change:attack change:sleaze", (eventInfo) => {
|
|
getAttrs(['attack', 'sleaze'], (v) => {
|
|
const attack = v['attack'] || 0;
|
|
const sleaze = v['sleaze'] || 0;
|
|
setAttrs({
|
|
matrix_attack_rating: parseInt(attack + sleaze)
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
on("change:data_processing change:firewall", (eventInfo) => {
|
|
getAttrs(['data_processing', 'firewall'], (v) => {
|
|
const data_processing = v['data_processing'] || 0;
|
|
const firewall = v['firewall'] || 0;
|
|
setAttrs({
|
|
matrix_defense_rating: parseInt(data_processing + firewall)
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
on("change:willpower change:logic change:intuition change:charisma change:flag_special", (eventInfo) => {
|
|
getAttrs(['willpower', 'logic', 'intuition', 'charisma', 'flag_special'], (v) => {
|
|
if(v['flag_special'] == 'resonance') {
|
|
setAttrs({
|
|
attack_base: v['charisma'],
|
|
sleaze_base: v['intuition'],
|
|
data_processing_base: v['logic'],
|
|
firewall_base: v['willpower'],
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
/* condition monitor hex change updates device condition monitor */
|
|
on("change:matrix_hex", (eventInfo) => {
|
|
getAttrs(['matrix_hex', 'condition_monitor_link'], (v) => {
|
|
setAttrs({
|
|
[`${v['condition_monitor_link']}_condition_monitor`]: v['matrix_hex']
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
/* Complex Forms Sheetworkers */
|
|
on("change:electronics change:resonance", (eventinfo) => {
|
|
console.log(eventinfo);
|
|
getAttrs(['electronics', 'resonance'], (v) => {
|
|
var complex_forms_attack_rating = parseInt(v['electronics']) || 0;
|
|
complex_forms_attack_rating += parseInt(v['resonance']) || 0;
|
|
|
|
setAttrs({
|
|
'complex_form_attack_rating': complex_forms_attack_rating
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
//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}_chem_modifier`, `${arm}_elec_modifier`, `${arm}_cold_modifier`,`${arm}_fire_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('chem') || source.includes('cold') || source.includes('elec') || source.includes('fire')) {
|
|
//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_modifier"] = v[`${source}`];
|
|
break;
|
|
case /chem/.test(source) :
|
|
update["chem_modifier"] = v[`${source}`];
|
|
break;
|
|
case /cold/.test(source) :
|
|
update["cold_modifier"] = v[`${source}`];
|
|
break;
|
|
case /elec/.test(source):
|
|
update["elec_modifier"] = v[`${source}`];
|
|
break;
|
|
case /fire/.test(source) :
|
|
update["fire_modifier"] = v[`${source}`];
|
|
break;
|
|
default:
|
|
console.log(`Source ${source} was invalid`);
|
|
}
|
|
|
|
setAttrs(update);
|
|
};
|
|
});
|
|
}
|
|
|
|
|
|
// Update DR and resists on Core Combat Info -> Armor section
|
|
getSectionIDs("armor", function(ids) {
|
|
// Update rating and resist totals
|
|
let ratingTot = 0,
|
|
chemTot = 0,
|
|
coldTot = 0,
|
|
elecTot = 0,
|
|
fireTot = 0;
|
|
|
|
getAttrs(['body'], (v) => {
|
|
ratingTot = v['body'];
|
|
});
|
|
|
|
ids.forEach(id => {
|
|
var armorFields = [`${arm}_${id}_rating`, `${arm}_${id}_chem`, `${arm}_${id}_cold`, `${arm}_${id}_elec`, `${arm}_${id}_fire`, `${arm}_${id}_primary`, `${arm}_${id}_cumulative`];
|
|
getAttrs(armorFields, (af) => {
|
|
if(af[`${arm}_${id}_primary`] != 0 || af[`${arm}_${id}_cumulative`] != 0) {
|
|
ratingTot += parseInt(af[`${arm}_${id}_rating`]);
|
|
}
|
|
|
|
chemTot += parseInt(af[`${arm}_${id}_chem`]);
|
|
coldTot += parseInt(af[`${arm}_${id}_cold`]);
|
|
elecTot += parseInt(af[`${arm}_${id}_elec`]);
|
|
fireTot += parseInt(af[`${arm}_${id}_fire`]);
|
|
|
|
setAttrs({
|
|
'armor_rating': ratingTot,
|
|
'resist_cold_total': coldTot,
|
|
'resist_chem_total': chemTot,
|
|
'resist_elec_total': elecTot,
|
|
'resist_fire_total': fireTot,
|
|
});
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// COMMON ROLLS: MEMORY, JUDGE INTENTIONS, COMPOSURE, LIFT & CARRY, OVERFLOW, DEFENSE, & SOAK ROLLS
|
|
const update_common_rolls = (attrs) => {
|
|
getAttrs(attrs, (v) => {
|
|
const found = attrs.find((mod) => { return mod.includes("_modifier") });
|
|
const name = found.split("_modifier")[0];
|
|
let numbers = [];
|
|
|
|
//DEFENSE & SOAK HAVE TWO EXTRA ATTRIBUTES. TEMP IS NEEDED BUT ONLY IF THE FLAG IS CHECKED IN SETTINGS
|
|
const array = (name === "defense" || name === "soak") ? (v[`${name}_temp_flag`] === "on") ? attrs.splice(0, 4) : attrs.splice(0, 3) : attrs;
|
|
|
|
_.each(array, (attr) => {
|
|
numbers.push(parseInt(v[`${attr}`]) || 0);
|
|
});
|
|
const add = (a, b) => a + b, sum = numbers.reduce(add);
|
|
|
|
setAttrs({[`${name}`]: sum});
|
|
});
|
|
};
|
|
|
|
|
|
|
|
//Update condition tracks
|
|
const update_track = (track) => {
|
|
let attrs = [`${track}_modifier`, `${track}_damage`];
|
|
(track === "stun") ? attrs.push("willpower") : attrs.push("body", "sheet_type", "flag_drone");
|
|
|
|
getAttrs(attrs, (v) =>{
|
|
const attr1 = attrs[2], stat1 = parseInt(v[`${attr1}`]) || 0; //Willpower or Body
|
|
const mod = parseInt(v[`${track}_modifier`]) || 0;
|
|
const dam = parseInt(v[`${track}_damage`]) || 0;
|
|
let update = {};
|
|
|
|
if (track === "stun" || v["sheet_type"] === "pc" || v["sheet_type"] === "grunt") {
|
|
tot = Math.ceil(stat1/2) + 8 + mod;
|
|
} else if (v["sheet_type"] === "vehicle" && v["flag_drone"] === "drone") {
|
|
tot = (Math.ceil(stat1/2) + 6 + mod);
|
|
} else if (v["sheet_type"] === "vehicle") {
|
|
tot = (Math.ceil(stat1/2) + 12 + mod);
|
|
} else {
|
|
tot = 0; //Sprites don't have Stun or Physical track
|
|
};
|
|
|
|
const current = (dam != 0) ? tot - dam : tot;
|
|
|
|
update[`${track}`] = current;
|
|
update[`${track}_max`] = tot;
|
|
|
|
setAttrs(update, {silent:true});
|
|
});
|
|
};
|
|
|
|
|
|
|
|
//Calculate Device Rating Track
|
|
on("change:device_rating change:matrix_modifier", () => {
|
|
getAttrs(["device_rating","matrix_modifier","matrix"], (v) =>{
|
|
const dev = parseInt(v.device_rating) || 0, mod = parseInt(v.matrix_modifier) || 0;
|
|
const dam = parseInt(v.matrix) || 0;
|
|
const tot = Math.ceil(dev/2) + 8 + mod;
|
|
const current = (dam > 0) ? dam : tot;
|
|
|
|
setAttrs({matrix: current});
|
|
setAttrs({matrix_max: tot});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
//Convert physical into the physical damage track boxes and reverse
|
|
['physical', 'stun'].forEach(attr => {
|
|
on(`change:${attr} change:${attr}_damage`, (eventinfo) => {
|
|
getAttrs([`${attr}`, `${attr}_damage`, `${attr}_max`], (v) => {
|
|
const stat = parseInt(v[`${attr}`]) || 0, dam = parseInt(v[`${attr}_damage`]) || 0, max = parseInt(v[`${attr}_max`]) || 0, source = eventinfo.sourceAttribute;
|
|
const wou = (source === `${attr}`) ? max - stat : max - dam;
|
|
|
|
if (source === `${attr}`) {
|
|
(dam === wou) ? false : ((stat < max && dam != wou) ? setAttrs({[`${attr}_damage`]: wou}, {silent: true}) : setAttrs({[`${attr}_damage`]: 0}, {silent: true}));
|
|
} else {
|
|
(stat === wou) ? false : setAttrs({[`${attr}`]: wou}, {silent: true});
|
|
};
|
|
|
|
update_wounds();
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
const update_wounds = () => {
|
|
getAttrs(["stun_damage", "physical_damage", "pain_tolerance"], (v) => {
|
|
const stu = parseInt(v.stun_damage) || 0, phy = parseInt(v.physical_damage) || 0, pai = parseInt(v.pain_tolerance) || 0;
|
|
pMod = (phy > 0) ? (Math.floor(phy/3)) : 0;
|
|
sMod = (stu > 0) ? (Math.floor(stu/3)) : 0;
|
|
|
|
wou = Math.floor(-(pMod) + -(sMod));
|
|
if(pai < 0) {
|
|
wou = wou * 2;
|
|
} else if(pai > 0 && wou < 0) {
|
|
wou = wou + 1;
|
|
}
|
|
|
|
setAttrs({wounds: wou});
|
|
});
|
|
};
|
|
|
|
|
|
|
|
// Trigger initiative updates
|
|
['initiative_mod', 'initiative_dice_mod', 'initiative_dice', 'initiative_temp', 'initiative_temp_flag', 'initiative_dice_temp', 'initiative_dice_temp_flag'].forEach(attr => {
|
|
on(`change:${attr}`, (eventinfo) => {
|
|
update_initiative();
|
|
});
|
|
});
|
|
|
|
//Calculate Initiative
|
|
var update_initiative = () => {
|
|
getAttrs(["reaction", "intuition", "initiative_mod", "initiative_temp", "initiative_temp_flag", "initiative_dice_mod", "initiative_dice_temp", "initiative_dice_temp_flag"], (v) => {
|
|
const rea = parseInt(v.reaction) || 0;
|
|
const int = parseInt(v.intuition) || 0;
|
|
const mod = parseInt(v.initiative_mod) || 0;
|
|
const tmp = (v.initiative_temp_flag === "on") ? parseInt(v.initiative_temp) || 0 : 0;
|
|
const bas = rea + int;
|
|
const tot = rea + int + mod + tmp;
|
|
|
|
const dice_mod = parseInt(v.initiative_dice_mod) || 0;
|
|
const dice_tmp = (v.initiative_dice_temp_flag === "on") ? parseInt(v.initiative_dice_temp) || 0 : 0;
|
|
const dice_tot = 1 + dice_mod + dice_tmp;
|
|
|
|
|
|
let update = {};
|
|
update["initiative_base"] = tot;
|
|
update["display_initiative_base"] = (mod != 0 || tmp != 0) ? `${bas} (${tot})` : bas;
|
|
update["initiative_dice"] = dice_tot;
|
|
setAttrs(update);
|
|
});
|
|
};
|
|
|
|
|
|
|
|
// Trigger astral initiative updates
|
|
['astral_initiative_mod', 'astral_initiative_dice_mod', 'astral_initiative_dice', 'astral_initiative_temp', 'astral_initiative_temp_flag', 'astral_initiative_dice_temp', 'astral_initiative_dice_temp_flag'].forEach(attr => {
|
|
on(`change:${attr}`, (eventinfo) => {
|
|
update_astral_initiative();
|
|
});
|
|
});
|
|
|
|
//Calculate Astral Initiative
|
|
var update_astral_initiative = () => {
|
|
getAttrs(["intuition", "logic", "astral_initiative_mod", "astral_initiative_temp", "astral_initiative_temp_flag", "astral_initiative_dice_mod", "astral_initiative_dice_temp", "astral_initiative_dice_temp_flag"], (v) => {
|
|
const int = parseInt(v.intuition) || 0;
|
|
const log = parseInt(v.logic) || 0;
|
|
const mod = parseInt(v.astral_initiative_mod) || 0;
|
|
const tmp = (v.astral_initiative_temp_flag === "on") ? parseInt(v.astral_initiative_temp) || 0 : 0;
|
|
const bas = int + log;
|
|
const tot = int + log + mod + tmp;
|
|
|
|
const dice_mod = parseInt(v.astral_initiative_dice_mod) || 0;
|
|
const dice_tmp = (v.astral_initiative_dice_temp_flag === "on") ? parseInt(v.astral_initiative_dice_temp) || 0 : 0;
|
|
const dice_tot = 2 + dice_mod + dice_tmp;
|
|
|
|
|
|
let update = {};
|
|
update["astral_initiative_base"] = tot;
|
|
update["display_astral_initiative_base"] = (mod != 0 || tmp != 0) ? `${bas} (${tot})` : bas;
|
|
update["astral_initiative_dice"] = dice_tot;
|
|
setAttrs(update);
|
|
});
|
|
};
|
|
|
|
|
|
|
|
//Calculate Matrix Initiatve.
|
|
on("change:host_rating change:data_processing change:pilot change:intuition change:reaction change:level change:matrix_initiative_mod change:matrix_initiative_dice_mod change:matrix_initiative_temp change:matrix_initiative_temp_flag change:matrix_initiative_dice_temp change:matrix_initiative_dice_temp_flag change:cold_sim_initiative_mod change:cold_sim_initiative_dice_mod change:cold_sim_initiative_temp change:cold_sim_initiative_temp_flag change:cold_sim_initiative_dice_temp change:cold_sim_initiative_dice_temp_flag change:hot_sim_initiative_mod change:hot_sim_initiative_dice_mod change:hot_sim_initiative_temp change:hot_sim_initiative_temp_flag change:hot_sim_initiative_dice_temp change:hot_sim_initiative_dice_temp_flag change:matrix_device_initiative_bonus", () => {
|
|
getAttrs(["sheet_type", "data_processing", "pilot", "intuition", "reaction", "host_rating", "level", "matrix_initiative_mod", "matrix_initiative_dice_mod", "matrix_initiative_temp", "matrix_initiative_temp_flag", "matrix_initiative_dice_temp", "matrix_initiative_dice_temp_flag", "cold_sim_initiative_mod", "cold_sim_initiative_dice_mod", "cold_sim_initiative_temp", "cold_sim_initiative_temp_flag", "cold_sim_initiative_dice_temp", "cold_sim_initiative_dice_temp_flag", "hot_sim_initiative_mod", "hot_sim_initiative_dice_mod", "hot_sim_initiative_temp", "hot_sim_initiative_temp_flag", "hot_sim_initiative_dice_temp", "hot_sim_initiative_dice_temp_flag", "matrix_device_initiative_bonus"], (v) => {
|
|
const dat = parseInt(v.data_processing) || 0;
|
|
const pil = parseInt(v.pilot) || 0;
|
|
const int = parseInt(v.intuition) || 0;
|
|
const rea = parseInt(v.reaction) || 0;
|
|
const hos = parseInt(v.host_rating) || 0;
|
|
const lev = parseInt(v.level) || 0;
|
|
const dev = parseInt(v.matrix_device_initiative_bonus) || 0;
|
|
|
|
const init_mod = parseInt(v.matrix_initiative_mod) || 0;
|
|
const cold_sim_init_mod = parseInt(v.cold_sim_initiative_mod) || 0;
|
|
const hot_sim_init_mod = parseInt(v.hot_sim_initiative_mod) || 0;
|
|
|
|
const dice_mod = parseInt(v.matrix_initiative_dice_mod) || 0;
|
|
const cold_sim_dice_mod = parseInt(v.cold_sim_initiative_dice_mod) || 0;
|
|
const hot_sim_dice_mod = parseInt(v.hot_sim_initiative_dice_mod) || 0;
|
|
|
|
const tmp = (v.matrix_initiative_temp_flag === "on") ? parseInt(v.matrix_initiative_temp) || 0 : 0;
|
|
const dice_tmp = (v.matrix_initiative_dice_temp_flag === "on") ? parseInt(v.matrix_initiative_dice_temp) || 0 : 0;
|
|
const cold_tmp = (v.cold_sim_initiative_temp_flag === "on") ? parseInt(v.cold_sim_initiative_temp) || 0 : 0;
|
|
const cold_dice_tmp = (v.cold_sim_initiative_dice_temp_flag === "on") ? parseInt(v.cold_sim_initiative_dice_temp) || 0 : 0;
|
|
const hot_tmp = (v.hot_sim_initiative_temp_flag === "on") ? parseInt(v.hot_sim_initiative_temp) || 0 : 0;
|
|
const hot_dice_tmp = (v.hot_sim_initiative_dice_temp_flag === "on") ? parseInt(v.hot_sim_initiative_dice_temp) || 0 : 0;
|
|
|
|
let update = {};
|
|
|
|
matrix_dice = 1;
|
|
cold_sim_dice = 2;
|
|
hot_sim_dice = 3;
|
|
|
|
switch(v.sheet_type) {
|
|
case 'pc':
|
|
matrix_tot = rea + int + dev + init_mod + tmp;
|
|
matrix_dice = matrix_dice + dice_mod + dice_tmp;
|
|
cold_sim_tot = int + dat + dev + cold_sim_init_mod + cold_tmp;
|
|
cold_sim_dice = cold_sim_dice + cold_sim_dice_mod + cold_dice_tmp;
|
|
hot_sim_tot = int + dat + dev + hot_sim_init_mod + hot_tmp;
|
|
hot_sim_dice = hot_sim_dice + hot_sim_dice_mod + hot_dice_tmp;
|
|
break;
|
|
case 'vehicle':
|
|
matrix_tot = dat + pil;
|
|
cold_sim_tot = dat + pil;
|
|
hot_sim_tot = dat + pil;
|
|
break;
|
|
case 'host':
|
|
hot_sim_tot = dat + dat;
|
|
cold_sim_tot = hot_sim_tot;
|
|
matrix_tot = hot_sim_tot;
|
|
break;
|
|
case 'sprite':
|
|
/* Handled when sprite_type and level are changed */
|
|
return;
|
|
default:
|
|
matrix_tot = rea + int;
|
|
cold_sim_tot = int + dat;
|
|
hot_sim_tot = int + dat;
|
|
break;
|
|
}
|
|
|
|
update["matrix_initiative_base"] = matrix_tot;
|
|
update["matrix_initiative_dice"] = matrix_dice;
|
|
|
|
update["cold_sim_initiative_base"] = cold_sim_tot;
|
|
update["cold_sim_initiative_dice"] = cold_sim_dice;
|
|
|
|
update["hot_sim_initiative_base"] = hot_sim_tot;
|
|
update["hot_sim_initiative_dice"] = hot_sim_dice;
|
|
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
|
|
|
|
|
|
//Edge toggle to include ! for exploding dice
|
|
on("change:edge_toggle", () => {
|
|
getAttrs(["edge_toggle"], (v) =>{
|
|
edg = (v.edge_toggle != 0) ? "!" : "";
|
|
|
|
setAttrs({explode_toggle: edg});
|
|
});
|
|
});
|
|
|
|
//Calculate Reset Condition Track
|
|
on("clicked:cond_reset", () => {
|
|
getAttrs(["sheet_type","physical_max","stun_max", "matrix_max"], (v) => {
|
|
var phy = parseInt(v.physical_max) || 0;
|
|
var stun = parseInt(v.stun_max) || 0;
|
|
var mat = parseInt(v.matrix_max) || 0;
|
|
let update = {};
|
|
|
|
if (v.sheet_type === "grunt" || v.sheet_type === "pc") {
|
|
update["physical"] = phy;
|
|
update["stun"] = stun;
|
|
} else if (v.sheet_type === "sprite") {
|
|
update["matrix"] = mat;
|
|
} else if (v.sheet_type === "vehicle") {
|
|
update["physical"] = phy;
|
|
update["matrix"] = mat;
|
|
} else {
|
|
return "Not a grunt or vehicle";
|
|
};
|
|
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
|
|
on("clicked:cond_reset_physical clicked:cond_reset_stun", (eventinfo) => {
|
|
const attr = eventinfo.triggerName.split("_")[2];
|
|
setAttrs({
|
|
[`${attr}_damage`] : 0
|
|
});
|
|
});
|
|
|
|
|
|
//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}_acc`, `${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('acc', 'ACC'),
|
|
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('acc', 'ACC'),
|
|
b('dv', 'DV'),
|
|
b('ap', 'AP', true),
|
|
b('note')
|
|
];
|
|
default: return [
|
|
b('type'),
|
|
b('acc', 'ACC'),
|
|
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})`
|
|
});
|
|
});
|
|
});
|
|
|
|
//IC Attack Dice & Condition Track
|
|
on("change:host_rating", () => {
|
|
getAttrs(["host_rating"], (v) => {
|
|
var hos = parseInt(v.host_rating) || 0;
|
|
var tot = 8 + Math.ceil(hos/2);
|
|
var atk = Math.min(hos + hos);
|
|
|
|
setAttrs({matrix: tot});
|
|
setAttrs({ic_attack: atk});
|
|
});
|
|
});
|
|
|
|
//Sprite Condition Track
|
|
on("change:level", () => {
|
|
getAttrs(["level"], (v) => {
|
|
var lev = parseInt(v.level) || 0;
|
|
var tot = 8 + Math.ceil(lev/2);
|
|
|
|
setAttrs({matrix: tot});
|
|
});
|
|
});
|
|
|
|
|
|
on("change:repeating_skills:name", (eventInfo) => {
|
|
const skill = eventInfo.newValue;
|
|
const prefix = eventInfo.triggerName.replace('_name', '');
|
|
|
|
switch(skill) {
|
|
case 'Athletics':
|
|
case 'Close Combat':
|
|
case 'Exotic Weapons':
|
|
case 'Firearms':
|
|
case 'Stealth':
|
|
setAttrs({[`${prefix}_attribute`]: '@{agility}'});
|
|
break;
|
|
case 'Con':
|
|
case 'Influence':
|
|
setAttrs({[`${prefix}_attribute`]: '@{charisma}'});
|
|
break;
|
|
case 'Astral':
|
|
case 'Outdoors':
|
|
case 'Perception':
|
|
setAttrs({[`${prefix}_attribute`]: '@{intuition}'});
|
|
break;
|
|
case 'Biotech':
|
|
case 'Cracking':
|
|
case 'Electronics':
|
|
case 'Engineering':
|
|
setAttrs({[`${prefix}_attribute`]: '@{logic}'});
|
|
break;
|
|
case 'Conjuring':
|
|
case 'Enchanting':
|
|
case 'Sorcery':
|
|
setAttrs({[`${prefix}_attribute`]: '@{magic}'});
|
|
break;
|
|
case 'Piloting':
|
|
setAttrs({[`${prefix}_attribute`]: '@{reaction}'});
|
|
break;
|
|
case 'Tasking':
|
|
setAttrs({[`${prefix}_attribute`]: '@{resonance}'});
|
|
break;
|
|
default:
|
|
setAttrs({[`${prefix}_attribute`]: '@{agility}'});
|
|
break;
|
|
}
|
|
});
|
|
|
|
|
|
|
|
//REFACTORED Skills
|
|
['repeating_skills','repeating_active','repeating_knowledge','repeating_language'].forEach(field => {
|
|
on(`change:${field}`, (eventinfo) => {
|
|
const source = eventinfo.sourceAttribute;
|
|
const type = eventinfo.sourceType;
|
|
|
|
if (source.includes("rating")) {
|
|
getAttrs([`${field}_rating`, `${field}_rating_modifier`, `${field}_name`], (v) => {
|
|
const bas = parseInt(v[`${field}_rating`]) || 0;
|
|
const mod = parseInt(v[`${field}_rating_modifier`]) || 0;
|
|
const tot = bas + mod;
|
|
const skill = v[`${field}_name`] || '';
|
|
|
|
// Update repeating melee weapon skill and rating values
|
|
getSectionIDs("melee", function(ids) {
|
|
for(var i = 0; i < ids.length; i++) {
|
|
let skillIdName = "repeating_melee_" + ids[i] + "_skill";
|
|
let skillRating = "repeating_melee_" + ids[i] + "_rating";
|
|
getAttrs([skillIdName], (v2) => {
|
|
if(v2[skillIdName] == v[`${field}_name`]) {
|
|
setAttrs({
|
|
[skillRating]: bas
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
// Update repeating range weapon skill and rating values
|
|
getSectionIDs("range", function(ids) {
|
|
for(var i = 0; i < ids.length; i++) {
|
|
let skillIdName = "repeating_range_" + ids[i] + "_skill";
|
|
let skillRating = "repeating_range_" + ids[i] + "_rating";
|
|
getAttrs([skillIdName], (v2) => {
|
|
if(v2[skillIdName] == v[`${field}_name`]) {
|
|
setAttrs({
|
|
[skillRating]: bas
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
setAttrs({
|
|
[`${field}_dicepool`]: tot,
|
|
[`${field}_rating`]: bas,
|
|
[`${field}_display_rating`]: (mod === 0) ? bas : `${bas} (${tot})`,
|
|
[skill]: bas
|
|
});
|
|
});
|
|
} else if (source.includes("attribute") && type === "player") {
|
|
getAttrs([`${source}`], (v) => {
|
|
const attribute = v[`${source}`].slice(2, -1);
|
|
const translation = getTranslationByKey(`${attribute}`);
|
|
setAttrs({
|
|
[`${field}_display_attribute`]: translation
|
|
});
|
|
});
|
|
} else if (source.includes("spec") && type === "player") {
|
|
getAttrs([`${source}`], (v) => {
|
|
const bas = v[`${source}`];
|
|
const size = bas.length;
|
|
let display = (size >= 0 && size <= 15) ? `${bas}` : "(" + bas.slice(0, 15) + "...)";
|
|
setAttrs({
|
|
[`${field}_display_spec`]: display
|
|
});
|
|
});
|
|
} else if (source.includes("expert") && type === "player") {
|
|
getAttrs([`${source}`], (v) => {
|
|
const bas = v[`${source}`];
|
|
const size = bas.length;
|
|
let display = (size >= 0 && size <= 15) ? `${bas}` : "(" + bas.slice(0, 15) + "...)";
|
|
setAttrs({
|
|
[`${field}_display_expert`]: display
|
|
});
|
|
});
|
|
} else if (source.includes("skill")) {
|
|
getAttrs([`${source}`], (v) => {
|
|
const bas = v[`${source}`];
|
|
const size = bas.length;
|
|
let display = (size > 0 && size <= 20) ? bas : (size > 20 ) ? bas.slice(0, 20) + "..." : " ";
|
|
setAttrs({
|
|
[`${field}_display`]: display
|
|
});
|
|
});
|
|
} else if (source.includes("dicepool")) {
|
|
getAttrs([`${source}`, `${field}_skill`], (v) => {
|
|
const skill = v[`${field}_skill`];
|
|
let lowercase = skill.toLowerCase();
|
|
let removeGroup = (lowercase.includes("group")) ? lowercase.slice(0, -6) : lowercase;
|
|
let skillSet = (removeGroup.includes(" ")) ? removeGroup.replace(/ /g,"") : removeGroup;
|
|
setAttrs({
|
|
[`${skillSet}`]: v[`${source}`]
|
|
});
|
|
});
|
|
} else {
|
|
console.log(`Change to ${field} did not set attr`);
|
|
};
|
|
});
|
|
});
|
|
|
|
|
|
|
|
//REFACTORED Range & MELEE UPDATES
|
|
['repeating_range','repeating_melee'].forEach(weap => {
|
|
on(`change:${weap}`, (eventInfo) => {
|
|
const source = eventInfo.sourceAttribute;
|
|
const newV = eventInfo.newValue;
|
|
const type = weap.slice(-5);
|
|
|
|
getAttrs([`${weap}_dicepool_modifier`, `${weap}_spec`, `${weap}_expert`, `${weap}_skill`], (v) => {
|
|
const mod = parseInt(v[`${weap}_dicepool_modifier`]) || 0;
|
|
const spec = parseInt(v[`${weap}_spec`]) || 0;
|
|
const expert = parseInt(v[`${weap}_expert`]) || 0;
|
|
const skill = v[`${weap}_skill`] || '';
|
|
|
|
getAttrs([`${skill}`], (s) => {
|
|
rating = s[`${skill}`];
|
|
|
|
const tot = mod + spec + expert + rating;
|
|
|
|
setAttrs({
|
|
[`${weap}_rating`]: s[`${skill}`],
|
|
[`${weap}_dicepool`]: tot
|
|
});
|
|
});
|
|
});
|
|
|
|
if (source.includes('primary')) {
|
|
if (newV === 'primary') {
|
|
//Shared attributes names.
|
|
let array = ["dicepool", "dicepool_modifier", "weapon", "damage", "skill", "rating", "close", "near", "medium", "far", "extreme", "spec", "expert"];
|
|
|
|
//Add the range or melee specific ones
|
|
if(type === "range") {
|
|
array.push("ammo", "ammo_max", "mode");
|
|
}
|
|
if(type === "melee") {
|
|
|
|
}
|
|
|
|
|
|
//Add the repeating section to the begining of each attribute
|
|
let attrs = [];
|
|
for(var i=0; i < array.length; i++) {
|
|
attrs.push(`${weap}_` + array[i]);
|
|
};
|
|
|
|
getAttrs(attrs, (v) => {
|
|
let update = {};
|
|
//Primary weapon name does not follow the naming scheme.
|
|
update[`primary_${type}_weapon`] = v[`${weap}_weapon`];
|
|
|
|
_.each(array, (value) => {
|
|
if (value != undefined || value != "weapon") {
|
|
update[`primary_${type}_weapon_${value}`] = (value === "ammo_max") ? v[`${weap}_ammo`] : v[`${weap}_${value}`];
|
|
};
|
|
});
|
|
|
|
setAttrs(update);
|
|
});
|
|
|
|
//Set the other repeating_weapon primary flags to 0 aka unchecked
|
|
getSectionIDs(`${weap}`, function(ids) {
|
|
let IDs = [];
|
|
let update = {};
|
|
|
|
for(var i=0; i < ids.length; i++) {
|
|
IDs.push(`${weap}_` + ids[i] + "_primary");
|
|
};
|
|
|
|
IDs.forEach(id => {
|
|
if (id != source) {
|
|
update[`${id}`] = 0;
|
|
};
|
|
});
|
|
|
|
setAttrs(update);
|
|
});
|
|
};
|
|
} else if (source.includes('dicepool') || source.includes('weapon') || source.includes('damage') || source.includes('skill') || source.includes('rating') || source.includes('ammo') || source.includes('mode') || source.includes('close') || source.includes('near') || source.includes('medium') || source.includes('far') || source.includes('extreme')) {
|
|
getAttrs([`${weap}_primary`, `${source}`], (v) => {
|
|
if (v[`${weap}_primary`] === 'primary') {
|
|
let update = {};
|
|
//This whole process needs refactored in the future. Its working for now.
|
|
if (source.includes('ammo')) {
|
|
update[`primary_${type}_weapon_ammo`] = v[`${source}`];
|
|
update[`primary_${type}_weapon_ammo_max`] = v[`${source}`];
|
|
} else {
|
|
console.log(eventInfo);
|
|
};
|
|
|
|
setAttrs(update);
|
|
};
|
|
});
|
|
} else {
|
|
console.log("Change was not relevant.");
|
|
};
|
|
});
|
|
});
|
|
|
|
|
|
|
|
//PC SPELLS/PREPS/RITUALS
|
|
['repeating_spell','repeating_preps','repeating_ritual'].forEach(field => {
|
|
// Attach listener
|
|
on(`change:${field}`, (eventInfo) => {
|
|
const source = eventInfo.sourceAttribute;
|
|
if (source.includes("dicepool") || source.includes("specialization")) {
|
|
getAttrs([`${field}_spec`, `${field}_dicepool_modifier`], (v) => {
|
|
const spec = parseInt(v[`${field}_spec`]) || 0;
|
|
const mod = parseInt(v[`${field}_dicepool_modifier`]) || 0;
|
|
const tot = spec + mod;
|
|
|
|
setAttrs({
|
|
[`${field}_dicepool`]: tot
|
|
});
|
|
});
|
|
} else {
|
|
console.log(`Change to ${field} did not set attr`);
|
|
};
|
|
});
|
|
});
|
|
|
|
//Repeating contacts for PC sheet
|
|
on("change:repeating_contacts", () => {
|
|
getAttrs(["repeating_contacts_name"], (v) => {
|
|
const name = (v.repeating_contacts_name);
|
|
|
|
((name).length > 0 && (name).length <= 30) ? setAttrs({repeating_contacts_display: (name)}) :
|
|
((name).length > 30) ? setAttrs({repeating_contacts_display: (name).slice(0, 30) + "..."}) :
|
|
setAttrs({repeating_contacts_display: " "});
|
|
});
|
|
});
|
|
|
|
|
|
//Cyberdeck Calculations
|
|
['attack', 'sleaze', 'data_processing', 'firewall'].forEach(attr => {
|
|
on(`change:${attr}_base change:${attr}_modifier change:${attr}_temp`, () => {
|
|
update_common_rolls([`${attr}_base`, `${attr}_modifier`, `${attr}_temp`]);
|
|
});
|
|
});
|
|
|
|
|
|
|
|
on("change:repeating_vehicle", (eventinfo) => {
|
|
const id = eventinfo.triggerName;
|
|
|
|
getAttrs([`${id}_handling_onroad`, `${id}_handling_offroad`, `${id}_handling_modifier`, `${id}_acceleration_base`, `${id}_acceleration_modifier`, `${id}_speed_base`, `${id}_speed_modifier`, `${id}_speed_max`, `${id}_armor_base`, `${id}_armor_modifier`, `${id}_body_base`, `${id}_body_modifier`, `${id}_pilot_base`, `${id}_pilot_modifier`, `${id}_sensor_base`, `${id}_sensor_modifier`, `${id}_seats`], (v) => {
|
|
Object.keys(v).forEach(k => {
|
|
if(isNaN(parseInt(v[`${k}`]))) {
|
|
v[`${k}`] = 0;
|
|
}
|
|
});
|
|
|
|
var handling = parseInt(v[`${id}_handling_onroad`]) + parseInt(v[`${id}_handling_modifier`]);
|
|
if(v[`${id}_handling_offroad`] != 0) {
|
|
handling = handling + ' (' + v[`${id}_handling_offroad`] + ')';
|
|
}
|
|
|
|
var speed = parseInt(v[`${id}_speed_base`]) + parseInt(v[`${id}_speed_modifier`]);
|
|
speed = speed + ' (' + v[`${id}_speed_max`] + ')';
|
|
|
|
setAttrs({
|
|
"repeating_vehicle_display_handling": handling,
|
|
"repeating_vehicle_display_speed": speed,
|
|
"repeating_vehicle_display_acceleration": parseInt(v[`${id}_acceleration_base`]) + parseInt(v[`${id}_acceleration_modifier`]),
|
|
"repeating_vehicle_display_body": parseInt(v[`${id}_body_base`]) + parseInt(v[`${id}_body_modifier`]),
|
|
"repeating_vehicle_display_armor": parseInt(v[`${id}_armor_base`]) + parseInt(v[`${id}_armor_modifier`]),
|
|
"repeating_vehicle_display_pilot": parseInt(v[`${id}_pilot_base`]) + parseInt(v[`${id}_pilot_modifier`]),
|
|
"repeating_vehicle_display_sensor": parseInt(v[`${id}_sensor_base`]) + parseInt(v[`${id}_sensor_modifier`])
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
/*
|
|
['acceleration', 'armor', 'body', 'data_processing', 'handling_onroad', 'handling_offroad', 'pilot', 'sensor','speed'].forEach(attr => {
|
|
// Attach listener
|
|
on(`change:repeating_vehicle:${attr}_base change:repeating_vehicle:${attr}_modifier change:repeating_vehicle:${attr}_temp change:repeating_vehicle:${attr}_max`, () => {
|
|
// Load attribute values
|
|
getAttrs([`repeating_vehicle_${attr}_base`, `repeating_vehicle_${attr}_modifier`, `repeating_vehicle_${attr}_temp`, `repeating_vehicle_${attr}_max`], (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 max = parseInt(v[`repeating_vehicle_${attr}_max`]) || 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});
|
|
});
|
|
});
|
|
});
|
|
*/
|
|
|
|
|
|
|
|
/******************/
|
|
/* Sprite Scripts */
|
|
/******************/
|
|
on("change:sprite_type change:level", (eventInfo) => {
|
|
getAttrs(['level', 'sprite_type'], (v) => {
|
|
var level = parseInt(v.level);
|
|
var attack = 1,
|
|
sleaze = 1,
|
|
dataproc = 1,
|
|
firewall = 1,
|
|
resonance = 1,
|
|
hot_base = 1,
|
|
hot_dice = 1;
|
|
var skills = ['Electronics', 'Cracking'];
|
|
var powers = [];
|
|
|
|
switch(v.sprite_type) {
|
|
case 'Courier':
|
|
attack = level;
|
|
sleaze = level + 3;
|
|
dataproc = level + 1;
|
|
firewall = level + 2;
|
|
resonance = level;
|
|
hot_base = (level * 2) + 1;
|
|
hot_dice = 4;
|
|
powers = ['Cookie', 'Hash'];
|
|
break;
|
|
case 'Crack':
|
|
attack = level;
|
|
sleaze = level + 3;
|
|
dataproc = level + 2;
|
|
firewall = level + 1;
|
|
resonance = level;
|
|
hot_base = (level * 2) + 2;
|
|
hot_dice = 4;
|
|
powers = ['Phantom', 'Suppression'];
|
|
break;
|
|
case 'Data':
|
|
attack = (level - 1) || 1;
|
|
sleaze = level;
|
|
dataproc = level + 4;
|
|
firewall = level + 1;
|
|
resonance = level;
|
|
hot_base = (level * 2) + 4;
|
|
hot_dice = 4;
|
|
powers = ['Camouflage', 'Watermark'];
|
|
break;
|
|
case 'Fault':
|
|
attack = level + 3;
|
|
sleaze = level;
|
|
dataproc = level + 1;
|
|
firewall = level + 2;
|
|
resonance = level;
|
|
hot_base = (level * 2) + 1;
|
|
hot_dice = 4;
|
|
powers = ['Electron Storm', 'Trap'];
|
|
break;
|
|
case 'Machine':
|
|
attack = level + 1;
|
|
sleaze = level;
|
|
dataproc = level + 3;
|
|
firewall = level + 2;
|
|
resonance = level;
|
|
hot_base = (level * 2) + 3;
|
|
hot_dice = 4;
|
|
skills = ['Electronics', 'Engineering'];
|
|
powers = ['Diagnostics', 'Override', 'Stability'];
|
|
break;
|
|
default:
|
|
attack = level;
|
|
sleaze = level;
|
|
dataproc = level;
|
|
firewall = level;
|
|
resonance = level;
|
|
hot_base = (level * 2) + 1;
|
|
hot_dice = 4;
|
|
break;
|
|
}
|
|
|
|
setAttrs({
|
|
'attack': attack,
|
|
'sleaze': sleaze,
|
|
'data_processing': dataproc,
|
|
'firewall': firewall,
|
|
'resonance': resonance,
|
|
'hot_sim_initiative_base': hot_base,
|
|
'hot_sim_initiative_dice': hot_dice
|
|
});
|
|
|
|
|
|
// Check if there are already skills
|
|
getSectionIDs(['repeating_skills'], function (ids) {
|
|
// if there are any skills already set up let's not mess with them
|
|
// the GM / player may have them how they want them.
|
|
if(ids.length == 0) {
|
|
skills.forEach(skill => {
|
|
// make a new repeatingRowID
|
|
var newId = generateRowID();
|
|
|
|
setAttrs({
|
|
[`repeating_skills_${newId}_skill`]: skill,
|
|
[`repeating_skills_${newId}_level`]: level,
|
|
[`repeating_skills_${newId}_flag`]: 0
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
// Some notes for the powers, we don't want to infringe copyrights so we'll point to the Core Rule Book page,
|
|
// They can type whatever they want in later
|
|
var notes = {
|
|
'Camouflage': 'CRB pg.194',
|
|
'Cookie': 'CRB pg.194',
|
|
'Diagnostics': 'CRB pg.194',
|
|
'Electron Storm': 'CRB pg.194',
|
|
'Hash': 'CRB pg.194',
|
|
'Overdrive': 'CRB pg.194',
|
|
'Phantom': 'CRB pg.194',
|
|
'Stability': 'CRB pg.194',
|
|
'Suppression': 'CRB pg.194',
|
|
'Trap': 'CRB pg.194',
|
|
'Watermark': 'CRB pg.195'
|
|
};
|
|
|
|
// Check if there are already powers
|
|
getSectionIDs(['repeating_powers'], function (ids) {
|
|
// if there are any powers already set up let's not mess with them
|
|
// the GM / player may have them how they want them.
|
|
if(ids.length == 0) {
|
|
powers.forEach(power => {
|
|
// make a new repeatingRowID
|
|
var newId = generateRowID();
|
|
|
|
setAttrs({
|
|
[`repeating_powers_${newId}_name`]: power,
|
|
[`repeating_powers_${newId}_notes`]: notes[power],
|
|
[`repeating_powers_${newId}_flag`]: 0
|
|
});
|
|
});
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
/****************************/
|
|
/* CHARACTERMANCER IMPORTER */
|
|
/****************************/
|
|
on("clicked:import_launch", (eventinfo) => {
|
|
startCharactermancer("importer");
|
|
});
|
|
|
|
on("page:importer", () => {
|
|
setAttrs({builder: "Chummer"});
|
|
setCharmancerText({
|
|
"directions" : chummerDirections
|
|
});
|
|
});
|
|
|
|
on("clicked:import", () => {
|
|
const mancerData = getCharmancerData();
|
|
const mancerValues = mancerData["importer"].values;
|
|
let applyEnabled = true;
|
|
let setText = {};
|
|
|
|
// Verify the user entered a JSON in the textarea. If not, provide user feedabck.
|
|
if (mancerValues.jsonData) {
|
|
const parsedData = JSON.parse(mancerValues.jsonData) || false;
|
|
setText[`import-feedback`] = "";
|
|
// There is a value in the textarea! Check to see if its a valid JSON. Provide users feeadback
|
|
if (parsedData) {
|
|
setText[`import-feedback`] += `<p class="feedback">A valid JSON was imported for ${mancerValues.builder}.</p>`
|
|
// Send the parsed data to the selected importer or let users know something went wrong
|
|
if (mancerValues.builder && mancerValues.builder === "Chummer") {
|
|
if (parsedData.characters && parsedData.characters.character) {
|
|
importChummer(parsedData.characters.character);
|
|
} else {
|
|
setText[`import-feedback`] += `<p class="warning">Parsed JSON is missing character data.</p>`;
|
|
applyEnabled = false
|
|
}
|
|
} else if (mancerValues.builder && mancerValues.builder === "Hero Lab") {
|
|
importHeroLab();
|
|
setText[`import-feedback`] += `<p class="warning">Coming Soon....</p>`;
|
|
} else {
|
|
setText[`import-feedback`] += `<p class="warning">A character builder was not selected. Try changing your selection then change it back if needed.</p>`;
|
|
applyEnabled = false
|
|
}
|
|
} else {
|
|
setText[`import-feedback`] += `<p class="warning"><span>The text imported is not a valid JSON. Verify the JSON is formatted correctly. Check the format at,</span> JSONLint.com.</p>`;
|
|
applyEnabled = false
|
|
};
|
|
} else {
|
|
setText[`import-feedback`] = `<p class="warning">No information was entered in the JSON text area.</p>`;
|
|
applyEnabled = false
|
|
};
|
|
|
|
let buttonStatus = (applyEnabled) ? "" : "disabled";
|
|
setText[`finish-button`] = `<button class="finish" type="finish" value="apply" data-i18n="apply" ${buttonStatus}>Apply</button>`;
|
|
|
|
setCharmancerText(setText);
|
|
});
|
|
|
|
const chummerDirections = `<ol>
|
|
<li>In Chummer mark your character as created</li>
|
|
<li>Go to File -> Export -> Export JSON</li>
|
|
<li>Copy the JSON in the file</li>
|
|
<li>Paste it into the textfield below</li>
|
|
<li>Click the Import button</li>
|
|
<li>Review the data. Use the checkbox <strong>Show Hidden Inputs</strong> to fix data.</li>
|
|
<li>Click Apply to <u>overwrite</u> information on the character sheet</li>
|
|
</ol>`;
|
|
|
|
const herolabDirections = `
|
|
<ol>
|
|
<li>Download the file "HLtoRoll20Export.hl" from: https://drive.google.com/file/d/0B3E3jkp51s8aRmpTU1NMRjRIVkk/view</li>
|
|
<li>Double click the file. Hero Lab will import it automatically now.</li>
|
|
<li>Load a character</li>
|
|
<li>Go to File/Save Custom Output and select the "Roll20 Export"</li>
|
|
<li>Save the file. It should open automatically in your browser</li>
|
|
<li>Follow the directions.</li>
|
|
</ol>`;
|
|
|
|
on("change:builder", (eventinfo) => {
|
|
let setText = {};
|
|
setText[`directions`] = (eventinfo.newValue === "Chummer") ? chummerDirections : herolabDirections;
|
|
setCharmancerText(setText);
|
|
});
|
|
|
|
const clean = () => {
|
|
['active', 'knowledge', 'language', 'quality', 'martial', 'range', 'melee', 'weapon', 'armor', 'augementations', 'items', 'NPCspell', 'spell', 'rituals', 'preps', 'powers', 'contacts', 'vehicle', 'lifestyle', "programs", "forms"].forEach(group => {
|
|
getSectionIDs(`repeating_${group}`, (ids) => {
|
|
ids.forEach((id) => {
|
|
removeRepeatingRow(`repeating_${group}_${id}`);
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
|
|
|
|
//USEFUL FUNCTIONS
|
|
const capitialize = (string) => {
|
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
};
|
|
|
|
const addFeedback = (attribute, value) => {
|
|
return `<p class="feedback"><strong>${capitialize(attribute)}:</strong> ${value} </p>`
|
|
};
|
|
|
|
const alphabatizeKeys = (unsortedJSON) => {
|
|
let alphabeticalKeys = {};
|
|
Object.keys(unsortedJSON).sort().forEach((key) => {
|
|
alphabeticalKeys[key] = unsortedJSON[key];
|
|
});
|
|
return alphabeticalKeys
|
|
};
|
|
|
|
const getValInParen = (value) => {
|
|
return value.split("(")[1].split(")")[0];
|
|
};
|
|
|
|
const getArray = (array) => {
|
|
return Array.isArray(array) ? array : [ array ];
|
|
};
|
|
|
|
const getSplitNum = (value) => {
|
|
return value.split("/")[0];
|
|
}
|
|
|
|
|
|
mylog = function(msg) {
|
|
let d = new Date();
|
|
let lines = new Error().stack.split("\n");
|
|
log(d.toUTCString() + " " + lines[2].trim() + " " + msg);
|
|
}
|
|
</script>
|
|
</div>
|