5217 lines
302 KiB
HTML
5217 lines
302 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">
|
|
<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">
|
|
<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 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 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 data-i18n="specialization">specialization</span>
|
|
<input name="attr_spec" placeholder="specialization" type="text" title="specialization"/>
|
|
</label>
|
|
<label data-i18n-title="expertise" title="expertise"> <span 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=^{soak}}}{{base=^{body}}}{{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=^{attack}}}{{base=^{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}" /><spam> + </spam>
|
|
<input type="number" name="attr_attack_modifier" min="0" value="" placeholder="0" title="@{attack_modifier}" /><spam> + </spam>
|
|
<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="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=^{sleaze}}}{{base=^{base}}}{{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}" /><spam> + </spam>
|
|
<input type="number" name="attr_sleaze_modifier" min="0" value="" placeholder="0" title="@{sleaze_modifier}" /><spam> + </spam>
|
|
<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="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=^{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}]]}}{{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}" /><spam> + </spam>
|
|
<input type="number" name="attr_data_processing_modifier" min="0" value="" placeholder="0" title="@{data_processing_modifier}" /><spam> + </spam>
|
|
<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="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=^{firewall}}}{{base=^{base}}}{{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}" /><spam> + </spam>
|
|
<input type="number" name="attr_firewall_modifier" min="0" value="" placeholder="0" title="@{firewall_modifier}" /><spam> + </spam>
|
|
<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="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>
|
|
|
|
|
|
|
|
<div class="pc-row techno-see">
|
|
<div class="header right-header">
|
|
<h1 data-i18n="complexforms">Complex Forms</h1>
|
|
<div class="right-tri"></div>
|
|
</div>
|
|
<div class="border-box">
|
|
<div class="pc-box medium-box complex-forms-rolls">
|
|
<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>
|
|
</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 />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<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>
|
|
<div class="tabs">
|
|
<img alt="Shadowrun black and metallic logo" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Shadowrun5thEdition/images/ShadowrunLogo.png"/>
|
|
|
|
|
|
<h2 data-i18n-title="/w GM">/w GM</h2>
|
|
<label class="switch" data-i18n-title="whisper rolls to gm" title="whisper rolls to gm">
|
|
<input class="whisper-toggle" name="attr_gm_toggle" type="checkbox" value="/w gm"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="wounds">wounds</h2>
|
|
<label class="switch" data-i18n-title="wounds" title="wounds">
|
|
<input class="whisper-toggle" name="attr_wounds_toggle" type="checkbox" value="@{wounds}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="modifiers">modifiers</h2>
|
|
<label class="switch" data-i18n-title="modifiers" title="modifiers">
|
|
<input class="whisper-toggle" name="attr_modifiers_toggle" type="checkbox" value="?{Modifiers +/-|0}"/><span class="slider"></span>
|
|
</label>
|
|
<h2 data-i18n-title="edge">edge</h2>
|
|
<label class="switch" data-i18n-title="edge" title="edge">
|
|
<input class="whisper-toggle" name="attr_edge_toggle" type="checkbox" value="@{edge}"/><span class="slider"></span>
|
|
</label>
|
|
<button name="d6" title="Roll D6s" type="roll" value="@{gm_toggle} &{template:rolls}{{header=^{d6}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5)]]}}">L</button>
|
|
<select name="attr_sheet_type" title="Sheet Type">
|
|
<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>
|
|
<input name="attr_stats_toggle" type="checkbox" value="settings" checked="checked"/><span class="pictos">y</span>
|
|
</div>
|
|
<input name="attr_stats_toggle" type="hidden" value="settings"/>
|
|
<div class="grunt attribute">
|
|
<button data-i18n="b" name="roll_body" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{body}}}{{base=^{base}}}{{dice=[[((@{body})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">b</button><span name="attr_display_body"></span>
|
|
<label class="settings" data-i18n-title="Body" title="Body">
|
|
<input name="attr_body_base" placeholder="3" title="@{body_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_body_modifier" placeholder="+" title="@{body_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="a" name="roll_agility" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{agility}}}{{base=^{base}}}{{dice=[[((@{agility})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">a</button><span name="attr_display_agility"></span>
|
|
<label class="settings" data-i18n-title="Agility" title="Agility">
|
|
<input name="attr_agility_base" placeholder="3" title="@{agility_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_agility_modifier" placeholder="+" title="@{agility_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="r" name="roll_reaction" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{reaction}}}{{base=^{base}}}{{dice=[[((@{reaction})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">r</button><span name="attr_display_reaction"></span>
|
|
<label class="settings" data-i18n-title="Reaction" title="Reaction">
|
|
<input name="attr_reaction_base" placeholder="3" title="@{reaction_base}" type="number" value="3"/>
|
|
</label>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_reaction_modifier" placeholder="+" title="@{reaction_modifier}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="s" name="roll_strength" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{strength}}}{{base=^{base}}}{{dice=[[((@{strength})+@{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="w" name="roll_willpower" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{willpower}}}{{base=^{base}}}{{dice=[[((@{willpower})+@{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="l" name="roll_logic" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{logic}}}{{base=^{base}}}{{dice=[[((@{logic})+@{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="i" name="roll_intuition" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{intuition}}}{{base=^{base}}}{{dice=[[((@{intuition})+@{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="c" name="roll_charisma" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{charisma}}}{{base=^{base}}}{{dice=[[((@{charisma})+@{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="e" name="roll_edge" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{edge}}}{{base=^{base}}}{{dice=[[((@{edge})+@{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="m">m</h1><span class="hide-magic" name="attr_magic"></span>
|
|
<label class="settings hide-magic" data-i18n-title="magic" title="magic">
|
|
<input name="attr_magic" placeholder="6" title="@{magic}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-magic" data-i18n="f">f</h1><span class="hide-magic" name="attr_force"></span>
|
|
<label class="settings hide-magic" data-i18n-title="force" title="force">
|
|
<input name="attr_force" placeholder="6" title="@{force}" type="number" value="6"/>
|
|
</label>
|
|
<h1 class="hide-resonance" data-i18n="r">r</h1><span class="hide-resonance" name="attr_resonance"></span>
|
|
<label class="settings hide-resonance" data-i18n-title="resonance" title="resonance">
|
|
<input name="attr_resonance" placeholder="6" title="@{resonance}" type="number" value="6"/>
|
|
</label>
|
|
</div>
|
|
<div class="host attribute">
|
|
<button data-i18n="host_rating" name="roll_host_rating" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{host_rating}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{host_rating})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">host_rating</button><span name="attr_host_rating"></span>
|
|
<label class="settings" data-i18n-title="host_rating" title="Host Rating">
|
|
<input name="attr_host_rating" placeholder="5" title="@{host_rating}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="attack" name="roll_attack" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{attack}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{attack})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">attack</button><span name="attr_attack"></span>
|
|
<label class="settings" data-i18n-title="attack" title="Attack">
|
|
<input name="attr_attack" placeholder="5" title="@{attack}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="sleaze" name="roll_sleaze" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{sleaze}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{sleaze})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">sleaze</button><span name="attr_sleaze"></span>
|
|
<label class="settings" data-i18n-title="sleaze" title="Sleaze">
|
|
<input name="attr_sleaze" placeholder="6" title="@{sleaze}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="data_processing" name="roll_data_processing" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{data_processing}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{data_processing})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">data_processing</button><span name="attr_data_processing"></span>
|
|
<label class="settings" data-i18n-title="data_processing" title="Data Processing">
|
|
<input name="attr_data_processing" placeholder="7" title="@{data_processing}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="firewall" name="roll_firewall" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{firewall}}}{{base=^{host_rating}}}{{dice=[[((@{host_rating}+@{firewall})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">firewall</button><span name="attr_firewall"></span>
|
|
<label class="settings" data-i18n-title="firewall" title="Firewall">
|
|
<input name="attr_firewall" placeholder="8" title="@{firewall}" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="vehicle attribute">
|
|
<h1 data-i18n="hand">Hand</h1><span name="attr_handling"></span>
|
|
<label class="settings" data-i18n-title="hand" title="Hand">
|
|
<input name="attr_handling" placeholder="3" title="@{handling}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="handoff">Hand (Off)</h1><span name="attr_handling_offroad"></span>
|
|
<label class="settings" data-i18n-title="handoff" title="Hand (Off)">
|
|
<input name="attr_handling_offroad" placeholder="3" title="@{handling_offroad}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="speed">Speed</h1><span name="attr_speed"></span>
|
|
<label class="settings" data-i18n-title="speed" title="Speed">
|
|
<input name="attr_speed" placeholder="3" title="@{speed}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="speedoff">Speed (Off)</h1><span name="attr_speed_offroad"></span>
|
|
<label class="settings" data-i18n-title="speedoff" title="Speed (Off)">
|
|
<input name="attr_speed_offroad" placeholder="3" title="@{speed_offroad}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="accel">Accel</h1><span name="attr_acceleration"></span>
|
|
<label class="settings" data-i18n-title="accel" title="Accel">
|
|
<input name="attr_acceleration" placeholder="3" title="@{acceleration}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="body">Body</h1><span name="attr_body"></span>
|
|
<label class="settings" data-i18n-title="body" title="Body">
|
|
<input name="attr_body" placeholder="3" title="@{body}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="pilot" name="roll_pilot" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{pilot}}}{{base=^{pilot}}}{{dice=[[((@{pilot}+@{pilot})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">pilot</button><span name="attr_pilot"></span>
|
|
<label class="settings" data-i18n-title="pilot" title="Pilot">
|
|
<input name="attr_pilot" placeholder="3" title="@{pilot}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="sensor">Sensor</h1><span name="attr_sensor"></span>
|
|
<label class="settings" data-i18n-title="sensor" title="Sensor">
|
|
<input name="attr_sensor" placeholder="3" title="@{sensor}" type="number" value=""/>
|
|
</label>
|
|
<h1 data-i18n="seat">Seat</h1><span name="attr_seating"></span>
|
|
<label class="settings" data-i18n-title="seat" title="Seat">
|
|
<input name="attr_seating" placeholder="3" title="@{seating}" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="sprite attribute">
|
|
<button data-i18n="level" name="roll_level" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{level}}}{{base=^{level}}}{{dice=[[((@{level}+@{level})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">level</button><span name="attr_level"></span>
|
|
<label class="settings" data-i18n-title="level" title="Level">
|
|
<input name="attr_level" placeholder="5" title="@{level}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="attack" name="roll_attack" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{attack}}}{{base=^{level}}}{{dice=[[((@{level}+@{attack})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">attack</button><span name="attr_attack"></span>
|
|
<label class="settings" data-i18n-title="attack" title="Attack">
|
|
<input name="attr_attack" placeholder="5" title="@{attack}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="sleaze" name="roll_sleaze" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{sleaze}}}{{base=^{level}}}{{dice=[[((@{level}+@{sleaze})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">sleaze</button><span name="attr_sleaze"></span>
|
|
<label class="settings" data-i18n-title="sleaze" title="Sleaze">
|
|
<input name="attr_sleaze" placeholder="6" title="@{sleaze}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="data_processing" name="roll_data_processing" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{data_processing}}}{{base=^{level}}}{{dice=[[((@{level}+@{data_processing})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">data_processing</button><span name="attr_data_processing"></span>
|
|
<label class="settings" data-i18n-title="data_processing" title="Data Processing">
|
|
<input name="attr_data_processing" placeholder="7" title="@{data_processing}" type="number" value=""/>
|
|
</label>
|
|
<button data-i18n="firewall" name="roll_firewall" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{firewall}}}{{base=^{level}}}{{dice=[[((@{level}+@{firewall})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">firewall</button><span name="attr_firewall"></span>
|
|
<label class="settings" data-i18n-title="firewall" title="Firewall">
|
|
<input name="attr_firewall" placeholder="8" title="@{firewall}" type="number" value=""/>
|
|
</label>
|
|
</div>
|
|
<div class="mid body">
|
|
<div class="column">
|
|
<h1 class="settings" data-i18n="bonuses">Bonuses</h1>
|
|
<input name="attr_pr" type="hidden" value=""/>
|
|
<div class="rows grunt">
|
|
<h2 data-i18n="pr">Professional Rating</h2><span name="attr_pr" style="margin-left: 2%;"></span>
|
|
<label class="settings" data-i18n-title="pr" title="Professional Rating">
|
|
<input name="attr_pr" title="@{pr}" type="number"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="initiative" name="Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{initiative}}}{{base=^{base}}}{{dice=[[((@{initiative_mod})+@{wounds_toggle}+@{modifiers_toggle})+(@{initiative_dice})d6cf0 &{tracker}]]}}">Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_initiative_modifier" placeholder="0" title="@{initiative_modifier}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="modifierdice" title="Modifier Dice">
|
|
<input min="0" max="4" name="attr_initiative_dice_modifier" placeholder="0" title="@{initiative_dice_modifier}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_display_initiative_mod"></span><span class="tiny-span">+</span><span name="attr_initiative_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="rows grunt hide-magic">
|
|
<button data-i18n="astralinitiative" name="Astral Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{astralinitiative}}}{{base=^{base}}}{{dice=[[((@{astral_mod})+@{wounds_toggle}+@{modifiers_toggle})+(@{astral_dice})d6cf0 &{tracker}]]}}">Astral Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_astral_mod_modifier" placeholder="0" title="@{astral_modifier}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="modifierdice" title="Modifier Dice">
|
|
<input min="0" max="4" name="attr_astral_dice_modifier" placeholder="0" title="@{astral_dice_modifier}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_display_astral_mod"></span><span class="tiny-span">+</span><span name="attr_astral_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="rows grunt vehicle sprite host">
|
|
<button data-i18n="matrixinitiative" name="Matrix Initiative" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{matrixinitiative}}}{{base=^{base}}}{{dice=[[((@{matrix_mod})+@{wounds_toggle}+@{modifiers_toggle})+(@{matrix_dice})d6cf0 &{tracker}]]}}">Matrix Initiative</button>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_matrix_mod_modifier" placeholder="0" title="@{matrix_modifier}" type="number" value="0"/>
|
|
</label><span class="settings">+</span>
|
|
<label class="settings" data-i18n-title="modifierdice" title="Modifier Dice">
|
|
<input min="0" max="4" name="attr_matrix_dice_modifier" placeholder="0" title="@{matrix_dice_modifier}" type="number" value="0"/>
|
|
</label><span class="settings" data-i18n="d6">d6</span><span class="settings tiny-span">=</span><span name="attr_matrix_mod"></span><span class="tiny-span">+</span><span name="attr_matrix_dice"></span><span class="tiny-span" data-i18n="d6">d6</span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<h2 data-i18n="movement">Movement</h2>
|
|
<label class="settings" data-i18n-title="walk modifier" title="walk modifier">
|
|
<input name="attr_walk_modifier" placeholder="0" title="@{walk_modifier}" type="number" value="0"/>
|
|
</label><span class="settings"> / </span>
|
|
<label class="settings" data-i18n-title="run modifier" title="run modifier">
|
|
<input name="attr_run_modifier" placeholder="0" title="@{run_modifier}" type="number" value="0"/>
|
|
</label><span class="settings"> / + </span>
|
|
<label class="settings" data-i18n-title="movement modifier" title="movement modifier">
|
|
<input name="attr_movement_mod_modifier" placeholder="2" title="@{movement_mod_modifier}" type="number" value="2"/>
|
|
</label><span class="settings"></span><span class="settings tiny-span">=</span><span name="attr_walk" title="@{walk}"></span><span> / </span><span name="attr_run" title="@{run}"></span><span> / + </span><span name="attr_movement_mod" title="@{movement_mod}"></span><span></span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<button data-i18n="conditionmonitorps" name="act_cond_reset" type="action">Condition Monitor (P/S)</button>
|
|
<label class="settings" data-i18n-title="physicalbonus" title="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="stunbonus" title="stunbonus">
|
|
<input name="attr_stun_modifier" placeholder="0" title="@{stun_modifier}" type="number" value="0"/>
|
|
</label><span class="settings tiny-span">=</span><span name="attr_physical" title="@{physical_modifier}"></span><span>/</span><span name="attr_stun" title="@{stun_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="conditionmonitorm" name="act_cond_reset" type="action">Condition Monitor (M)</button><span name="attr_matrix"></span>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<h2 data-i18n="physical">val</h2>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_physical_limit_modifier" placeholder="0" title="@{physical_limit_modifier}" type="number" value="0"/>
|
|
</label><span class="settings tiny-span">=</span><span name="attr_physical_limit" title="@{physical_limit}"></span>
|
|
<h2 data-i18n="mental">val</h2>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_mental_limit_modifier" placeholder="0" title="@{mental_limit_modifier}" type="number" value="0"/>
|
|
</label><span class="settings tiny-span">=</span><span name="attr_mental_limit" title="@{mental_limit}"></span>
|
|
<h2 data-i18n="social">val</h2>
|
|
<label class="settings" data-i18n-title="modifier" title="modifier">
|
|
<input name="attr_social_limit_modifier" placeholder="0" title="@{social_limit_modifier}" type="number" value="0"/>
|
|
</label><span class="settings tiny-span">=</span><span name="attr_social_limit" title="@{social_limit}"></span>
|
|
</div>
|
|
<div class="rows grunt pain-tolerance">
|
|
<h2 data-i18n="paintolerance">Pain Tolerance</h2>
|
|
<label class="settings" data-i18n-title="paintolerance" title="paintolerance">
|
|
<input name="attr_pain_tolerance" min="-1" max="3" placeholder="0" title="@{pain_tolerance}" type="number" value="0"/>
|
|
</label><em><span data-i18n="painfooter">Low Pain Tolernace adds a -1 and High Pain Tolerance adds a +1 per rank.</span></em>
|
|
</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">
|
|
<h1 class="settings" data-i18n="modifier">Modifier</h1>
|
|
<div class="rows">
|
|
<button data-i18n="armorrating" name="roll_armorrating" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{armorrating}}}{{base=base}}{{dice=[[((@{armor_rating})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">armorrating</button>
|
|
<label class="settings" data-i18n-title="armorrating" title="armorrating">
|
|
<input name="attr_armor_rating" placeholder="9" title="@{armor_rating}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="defense" name="roll_defense" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{defense}}}{{base=base}}{{dice=[[((@{defense})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">defense</button>
|
|
<label class="settings" data-i18n-title="defense" title="defense">
|
|
<input name="attr_defense_modifier" placeholder="9" title="@{defense_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="soak" name="roll_soak" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{soak}}}{{base=base}}{{dice=[[((@{soak}+@{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 class="settings tiny-span">=</span><span name="attr_soak"></span>
|
|
</div>
|
|
<div class="rows">
|
|
<button data-i18n="chemprotection" name="roll_chemprotection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{chemprotection}}}{{base=base}}{{dice=[[((@{soak}+@{chem_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">chemprotection</button>
|
|
<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">
|
|
<button data-i18n="coldprotection" name="roll_coldprotection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{coldprotection}}}{{base=base}}{{dice=[[((@{soak}+@{cold_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">coldprotection</button>
|
|
<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">
|
|
<button data-i18n="elecprotection" name="roll_elecprotection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{elecprotection}}}{{base=base}}{{dice=[[((@{soak}+@{elec_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">elecprotection</button>
|
|
<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">
|
|
<button data-i18n="fireprotection" name="roll_fireprotection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{fireprotection}}}{{base=base}}{{dice=[[((@{soak}+@{fire_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">fireprotection</button>
|
|
<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 class="rows">
|
|
<button data-i18n="radiationprotection" name="roll_radiationprotection" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=^{radiationprotection}}}{{base=base}}{{dice=[[((@{soak}+@{radiation_modifier})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}">radiationprotection</button>
|
|
<label class="settings" data-i18n-title="radiationprotection" title="radiationprotection">
|
|
<input name="attr_radiation_modifier" placeholder="0" title="@{radiation_modifier}" type="number" value="0"/>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<!--/- OPTIONS-->
|
|
<div class="column">
|
|
<div class="rows">
|
|
<h1 class="settings" data-i18n="options">Options</h1>
|
|
</div>
|
|
<div class="rows grunt">
|
|
<label class="settings" data-i18n-title="mundane" title="mundane">
|
|
<input class="character-type" name="attr_flag_special" title="@{flag_special}" type="radio" value="mundane"/>
|
|
<h2 data-i18n="mundane">key</h2>
|
|
</label>
|
|
<label class="settings" data-i18n-title="awakened" title="awakened">
|
|
<input class="character-type" name="attr_flag_special" title="@{flag_special}" type="radio" value="magic"/>
|
|
<h2 data-i18n="awakened">key</h2>
|
|
</label>
|
|
<label class="settings" data-i18n-title="emerged" title="emerged">
|
|
<input class="character-type" name="attr_flag_special" title="@{flag_special}" type="radio" value="resonance"/>
|
|
<h2 data-i18n="emerged">key</h2>
|
|
</label>
|
|
</div>
|
|
<div class="rows host grunt vehicle">
|
|
<label class="settings" title="Matrix Device">
|
|
<input class="character-type" name="attr_flag_matrix" title="@{flag_matrix}" type="checkbox" value="matrix"/>
|
|
<h2>Matrix Device</h2>
|
|
</label>
|
|
</div>
|
|
<div class="rows vehicle">
|
|
<label class="settings" title="Drone">
|
|
<input class="character-type" name="attr_flag_drone" title="@{flag_drone}" type="checkbox" value="drone"/>
|
|
<h2>Drone</h2>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="end body">
|
|
<input name="attr_quality" type="hidden" value=""/>
|
|
<div class="textrow grunt">
|
|
<h1 data-i18n="quality">key</h1><span name="attr_quality"></span>
|
|
<label class="settings" data-i18n-title="quality" title="Qualities">
|
|
<textarea name="attr_quality" placeholder="Qualities" title="@{quality}"></textarea>
|
|
</label>
|
|
</div>
|
|
<input name="attr_augmentations" type="hidden" value=""/>
|
|
<div class="textrow grunt">
|
|
<h1 data-i18n="augmentations">key</h1><span name="attr_augmentations"></span>
|
|
<label class="settings" data-i18n-title="augmentations" title="Augmentations">
|
|
<textarea name="attr_augmentations" placeholder="Augmentations" title="@{augmentations}"></textarea>
|
|
</label>
|
|
</div>
|
|
<input name="attr_gear" type="hidden" value=""/>
|
|
<div class="textrow grunt vehicle">
|
|
<h1 data-i18n="gear">key</h1><span name="attr_gear"></span>
|
|
<label class="settings" data-i18n-title="gear" title="Gear">
|
|
<textarea name="attr_gear" placeholder="Gear" title="@{gear}"></textarea>
|
|
</label>
|
|
</div>
|
|
<input name="attr_programs" type="hidden" value=""/>
|
|
<div class="textrow vehicle">
|
|
<h1 data-i18n="programs">key</h1><span name="attr_programs"></span>
|
|
<label class="settings" data-i18n-title="programs" title="Programs">
|
|
<textarea name="attr_programs" placeholder="Programs" title="@{programs}"></textarea>
|
|
</label>
|
|
</div>
|
|
<input name="attr_modifications" type="hidden" value=""/>
|
|
<div class="textrow vehicle">
|
|
<h1 data-i18n="modifications">key</h1><span name="attr_modifications"></span>
|
|
<label class="settings" data-i18n-title="modifications" title="Modifications">
|
|
<textarea name="attr_modifications" placeholder="Modifications" title="@{modifications}"></textarea>
|
|
</label>
|
|
</div>
|
|
<input name="attr_powers" type="hidden" value=""/>
|
|
<div class="textrow grunt hide-magic">
|
|
<h1 data-i18n="powers">key</h1><span name="attr_powers"></span>
|
|
<label class="settings" data-i18n-title="powers" title="Powers">
|
|
<textarea name="attr_powers" placeholder="Powers" title="@{powers}"></textarea>
|
|
</label>
|
|
</div>
|
|
<input name="attr_weakness" type="hidden" value=""/>
|
|
<div class="textrow grunt hide-magic">
|
|
<h1 data-i18n="weakness">key</h1><span name="attr_weakness"></span>
|
|
<label class="settings" data-i18n-title="weakness" title="Weakness">
|
|
<textarea name="attr_weakness" placeholder="Weakness" title="@{weakness}"></textarea>
|
|
</label>
|
|
</div>
|
|
<div class="textrow grunt hide-magic">
|
|
<input name="attr_initiate" type="hidden" value=""/>
|
|
<h1 data-i18n="initiate">key</h1><span name="attr_initiate"></span>
|
|
<label class="settings" data-i18n-title="initiate" title="Initiate">
|
|
<input name="attr_initiate" placeholder="initiate" type="number" title="@{initiate}"/>
|
|
</label><br/><span name="attr_metamagic"></span>
|
|
<label class="settings" data-i18n-title="metamagic" title="metamagic">
|
|
<textarea name="attr_metamagic" placeholder="metamagic" title="@{metamagic}"></textarea>
|
|
</label>
|
|
</div>
|
|
<div class="textrow grunt hide-resonance">
|
|
<input name="attr_submersion" type="hidden" value=""/>
|
|
<h1 data-i18n="submersion">key</h1><span name="attr_submersion"></span>
|
|
<label class="settings" data-i18n-title="submersion" title="Submersion">
|
|
<input name="attr_submersion" placeholder="submersion" type="number" title="@{submersion}"/>
|
|
</label><br/><span name="attr_echos"></span>
|
|
<label class="settings" data-i18n-title="echos" title="echos">
|
|
<textarea name="attr_echos" placeholder="echos" title="@{echos}"></textarea>
|
|
</label>
|
|
</div>
|
|
<div class="rows grunt repeating inline-repeating">
|
|
<h1 data-i18n="skills">skills</h1>
|
|
<fieldset class="repeating_active">
|
|
<input name="attr_display_rating" type="hidden"/>
|
|
<input name="attr_display_specialization" type="hidden" value=""/>
|
|
<input name="attr_display_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_display"></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}, @{display_limit}}}"><span name="attr_display_specialization"></span></button><span name="attr_display_rating"></span>
|
|
<div class="settings">
|
|
<h2 data-i18n="skill">Skill</h2>
|
|
<h2 data-i18n="rating">Rating</h2>
|
|
<h2 data-i18n="ratingmodifier">Rating Modifier</h2>
|
|
<h2 data-i18n="attribute">Attribute</h2>
|
|
<h2 data-i18n="limit">Limit</h2>
|
|
<select class="skill-select" name="attr_skill" title="@{repeating_active_${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_active_${x}_rating}" type="number"/>
|
|
</label>
|
|
<label data-i18n-title="ratingmodifier" title="Rating Modifier">
|
|
<input name="attr_rating_modifier" min="0" placeholder="0" title="@{repeating_active_${x}_rating_modifier}" type="number"/>
|
|
</label>
|
|
<select class="attribute-select" name="attr_attribute" title="@{repeating_active_${x}_attribute}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}" selected="selected">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="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>
|
|
<select class="limit-select" name="attr_limit" title="@{repeating_active_${x}_limit}" value="physical_limit">
|
|
<option value="none">-</option>
|
|
<option data-i18n="mental" value="@{mental_limit}">Mental</option>
|
|
<option data-i18n="physical" value="@{physical_limit}" selected="selected">Physical</option>
|
|
<option data-i18n="social" value="@{social_limit}">Social</option>
|
|
<option data-i18n="attack" value="@{attack}">Attack</option>
|
|
<option data-i18n="data_processing" value="@{data_processing}">Data Processing</option>
|
|
<option data-i18n="firewall" value="@{firewall}">Firewall</option>
|
|
<option data-i18n="sleaze" value="@{sleaze}">Sleaze</option>
|
|
</select>
|
|
<h2 class="full-row" data-i18n="specialization">specialization</h2>
|
|
<label class="full-row" data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" placeholder="Specalizations" title="@{repeating_active_${x}_specialization}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows grunt repeating inline-repeating">
|
|
<h1 data-i18n="knowledgeskills">knowledgeskills</h1>
|
|
<fieldset class="repeating_knowledge">
|
|
<input name="attr_display_rating" type="hidden"/>
|
|
<input name="attr_display_specialization" type="hidden" value=""/>
|
|
<input name="attr_display_limit" type="hidden" value="Mental"/>
|
|
<input name="attr_display_attribute" type="hidden" value="Logic"/>
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<button 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_display"></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}, @{display_limit}}}"><span name="attr_display_specialization"></span></button><span name="attr_display_rating"></span>
|
|
<div class="settings">
|
|
<h2 data-i18n="skill">Skill</h2>
|
|
<h2 data-i18n="rating">Rating</h2>
|
|
<h2 data-i18n="ratingmodifier">Rating Modifier</h2>
|
|
<h2 data-i18n="attribute">Attribute</h2>
|
|
<h2 data-i18n="limit">Limit</h2>
|
|
<label data-i18n-title="skill" title="skill">
|
|
<input name="attr_skill" placeholder="knowledge" title="@{repeating_knowledge_${x}_skill}" type="text"/>
|
|
</label>
|
|
<label data-i18n-title="rating" title="rating">
|
|
<input name="attr_rating" min="0" placeholder="0" title="@{repeating_knowledge_${x}_rating}" type="number"/>
|
|
</label>
|
|
<label data-i18n-title="ratingmodifier" title="Rating Modifier">
|
|
<input name="attr_rating_modifier" min="0" placeholder="0" title="@{repeating_knowledge_${x}_rating_modifier}" type="number"/>
|
|
</label>
|
|
<select class="attribute-select" name="attr_attribute" title="@{repeating_knowledge_${x}_attribute}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="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>
|
|
<select class="limit-select" name="attr_limit" title="@{repeating_knowledge_${x}_limit}" value="physical_limit">
|
|
<option value="none">-</option>
|
|
<option data-i18n="mental" value="@{mental_limit}" selected="selected">Mental</option>
|
|
<option data-i18n="physical" value="@{physical_limit}">Physical</option>
|
|
<option data-i18n="social" value="@{social_limit}">Social</option>
|
|
<option data-i18n="attack" value="@{attack}">Attack</option>
|
|
<option data-i18n="data_processing" value="@{data_processing}">Data Processing</option>
|
|
<option data-i18n="firewall" value="@{firewall}">Firewall</option>
|
|
<option data-i18n="sleaze" value="@{sleaze}">Sleaze</option>
|
|
</select>
|
|
<h2 class="full-row" data-i18n="specialization">specialization</h2>
|
|
<label class="full-row" data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" placeholder="Specalizations" title="@{repeating_knowledge_${x}_specialization}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows grunt repeating inline-repeating">
|
|
<h1 data-i18n="languageskills">languageskills</h1>
|
|
<fieldset class="repeating_language">
|
|
<input name="attr_display_rating" type="hidden"/>
|
|
<input name="attr_display_specialization" type="hidden" value=""/>
|
|
<input name="attr_display_limit" type="hidden" value="Social"/>
|
|
<input name="attr_display_attribute" type="hidden" value="Charisma"/>
|
|
<input name="attr_dicepool" type="hidden" value="0"/>
|
|
<input class="toggle" name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<button 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_display"></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}, @{display_limit}}}"><span name="attr_display_specialization"></span></button><span name="attr_display_rating"></span>
|
|
<div class="settings">
|
|
<h2 data-i18n="skill">Skill</h2>
|
|
<h2 data-i18n="rating">Rating</h2>
|
|
<h2 data-i18n="ratingmodifier">Rating Modifier</h2>
|
|
<h2 data-i18n="attribute">Attribute</h2>
|
|
<h2 data-i18n="limit">Limit</h2>
|
|
<label data-i18n-title="skill" title="skill">
|
|
<input name="attr_skill" placeholder="language" title="@{repeating_language_${x}_skill}" type="text"/>
|
|
</label>
|
|
<label data-i18n-title="rating" title="rating">
|
|
<input name="attr_rating" min="0" placeholder="0" title="@{repeating_language_${x}_rating}" type="number"/>
|
|
</label>
|
|
<label data-i18n-title="ratingmodifier" title="Rating Modifier">
|
|
<input name="attr_rating_modifier" min="0" placeholder="0" title="@{repeating_language_${x}_rating_modifier}" type="number"/>
|
|
</label>
|
|
<select class="attribute-select" name="attr_attribute" title="@{repeating_language_${x}_attribute}">
|
|
<option data-i18n="body" value="@{body}">Body</option>
|
|
<option data-i18n="agility" value="@{agility}">Agility</option>
|
|
<option data-i18n="reaction" value="@{reaction}">Reaction</option>
|
|
<option data-i18n="strength" value="@{strength}">Strength</option>
|
|
<option data-i18n="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}" selected="selected">Charisma</option>
|
|
<option data-i18n="magic" value="@{magic}">Magic</option>
|
|
<option data-i18n="resonance" value="@{resonance}">Resonance</option>
|
|
</select>
|
|
<select class="limit-select" name="attr_limit" title="@{repeating_language_${x}_limit}" value="physical_limit">
|
|
<option value="none">-</option>
|
|
<option data-i18n="mental" value="@{mental_limit}">Mental</option>
|
|
<option data-i18n="physical" value="@{physical_limit}">Physical</option>
|
|
<option data-i18n="social" value="@{social_limit}" selected="selected">Social</option>
|
|
<option data-i18n="attack" value="@{attack}">Attack</option>
|
|
<option data-i18n="data_processing" value="@{data_processing}">Data Processing</option>
|
|
<option data-i18n="firewall" value="@{firewall}">Firewall</option>
|
|
<option data-i18n="sleaze" value="@{sleaze}">Sleaze</option>
|
|
</select>
|
|
<h2 class="full-row" data-i18n="specialization">specialization</h2>
|
|
<label class="full-row" data-i18n-title="specialization" title="specialization">
|
|
<input name="attr_specialization" placeholder="Specalizations" title="@{repeating_language_${x}_specialization}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows sprite repeating inline-repeating">
|
|
<h1 data-i18n="skills">skills</h1>
|
|
<fieldset class="repeating_active">
|
|
<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}+@{level})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span name="attr_display"></span></button>
|
|
<div class="settings">
|
|
<h2 class="full-row" data-i18n="skill">Skill</h2>
|
|
<select class="skill-select" name="attr_skill" title="@{repeating_active_${x}_skill}"> <option value="Computer" data-i18n="computer">Computer</option>
|
|
<option value="Cybercombat" data-i18n="cybercombat">Cybercombat</option>
|
|
<option value="Electronic Warfare" data-i18n="eletronicwarfare">Electronic Warfare</option>
|
|
<option value="Hacking" data-i18n="hacking">Hacking</option>
|
|
<option value="Hardware" data-i18n="hardware">Hardware</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}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{power}}}{{base=^{level}}}{{dice=[[((@{level}+@{level})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span name="attr_power"></span></button>
|
|
<div class="settings">
|
|
<h2 class="full-row" data-i18n="power">power</h2>
|
|
<label class="full-row" data-i18n-title="power" title="power">
|
|
<input name="attr_power" placeholder="power" title="@{repeating_powers_${x}_power} power name" type="text"/>
|
|
</label>
|
|
<h2 class="full-row" data-i18n="notes">Notes</h2>
|
|
<label class="full-row" data-i18n-title="notes" title="notes">
|
|
<textarea 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=@{weapon_type}}}{{base=^{base}}}{{dice=[[((@{weapon_dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=ACC @{weapon_acc}, DV @{weapon_dv}, AP @{weapon_ap}}}{{rea=[[@{weapon_reach}]]}}"><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="reach">Reach</h2>
|
|
<h2 data-i18n="acc">ACC</h2>
|
|
<h2 data-i18n="dam">Dam</h2>
|
|
<h2 data-i18n="ap">AP</h2>
|
|
<h2 data-i18n="modes">Modes</h2>
|
|
<h2 data-i18n="recoil">Recoil</h2>
|
|
<h2 data-i18n="ammo">Ammo</h2>
|
|
<select name="attr_weapon_range" title="@{repeating_weapon_${x}_weapon_range}" value="range">
|
|
<option data-i18n="range" value="range" selected="selected">range</option>
|
|
<option data-i18n="melee" value="melee">melee</option>
|
|
</select>
|
|
<label data-i18n-title="dice" title="Dice">
|
|
<input name="attr_weapon_dice" placeholder="18" title="@{repeating_weapon_${x}_weapon_dice}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="name" title="Name">
|
|
<input name="attr_weapon_name" placeholder="Ares Predator" title="@{repeating_weapon_${x}_weapon_name}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="type" title="Type">
|
|
<input name="attr_weapon_type" placeholder="Heavy Pistol" title="@{repeating_weapon_${x}_weapon_type}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="reach" title="Reach">
|
|
<input name="attr_weapon_reach" placeholder="0" title="@{repeating_weapon_${x}_weapon_reach}" type="number" value="0"/>
|
|
</label>
|
|
<label data-i18n-title="acc" title="ACC">
|
|
<input name="attr_weapon_acc" placeholder="5" title="@{repeating_weapon_${x}_weapon_acc}" 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="ap" title="AP">
|
|
<input name="attr_weapon_ap" placeholder="-2" title="@{repeating_weapon_${x}_weapon_ap}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="modes" title="Modes">
|
|
<input name="attr_weapon_mode" placeholder="SA/BF/FA" title="@{repeating_weapon_${x}_weapon_mode}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="recoil" title="Recoil">
|
|
<input name="attr_weapon_recoil" placeholder="+2" title="@{repeating_weapon_${x}_weapon_recoil}" type="text" value=""/>
|
|
</label>
|
|
<label data-i18n-title="ammo" title="Ammo">
|
|
<input name="attr_weapon_ammo" placeholder="15" title="@{repeating_weapon_${x}_weapon_ammo}" type="number" value=""/>
|
|
</label>
|
|
<label data-i18n-title="notes" title="Notes">
|
|
<input name="attr_weapon_note" placeholder="w/ 3 clips of explosive rounds" title="@{repeating_weapon_${x}_weapon_note}" type="text" value=""/>
|
|
</label><span>(c)</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows grunt repeating spells hide-magic">
|
|
<h1 data-i18n="spells">Spells</h1>
|
|
<fieldset class="repeating_NPCspell">
|
|
<input name="attr_flag" title="Settings toggle" type="checkbox" checked="checked"/><span class="pictos">x</span>
|
|
<input name="attr_spell" type="hidden" value=""/><span name="attr_dice"></span>
|
|
<button name="roll_spell" type="roll" value="@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}{{header=@{name}}}{{base=^{base}}}{{dice=[[((@{dice})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}{{desc=@{category}?{Force|}, 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 value="Force " selected="selected"></option>
|
|
<option data-i18n="direct" value="Direct, Force ">direct</option>
|
|
<option data-i18n="indirect" value="Indirect, Force ?{Force|}, AP -">indirect</option>
|
|
</select>
|
|
<label data-i18n-title="dam" title="Dam">
|
|
<input name="attr_damage" placeholder="P" title="@{repeating_NPCspell_${x}_damage}" type="text"/>
|
|
</label>
|
|
<label data-i18n-title="notes" title="Notes">
|
|
<input name="attr_note" placeholder="may start fires" title="@{repeating_NPCspell_${x}_note}" type="text"/>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="rows grunt repeating forms hide-resonance">
|
|
<h1 data-i18n="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=Intrusion Countermeasures}}{{base=^{base}}}{{dice=[[((@{IC_attack})+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}"><span name="attr_IC_name"></span></button><span name="attr_IC"></span>
|
|
<div class="settings">
|
|
<h2 data-i18n="name">Name</h2>
|
|
<h2 data-i18n="ic limit">IC Limit</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_limit" title="@{repeating_IC_${x}_limit}" value="attack">
|
|
<option data-i18n="attack" value="Attack" selected="selected">attack</option>
|
|
<option data-i18n="data_processing" value="Data Processing">data_processing</option>
|
|
</select>
|
|
<select name="attr_IC_attribute" title="@{repeating_IC_${x}_attribute}" value="willpower">
|
|
<option data-i18n="willpower" value="Willpower" selected="selected">willpower</option>
|
|
<option data-i18n="intuition" value="Intuition">intuition</option>
|
|
<option data-i18n="logic" value="Logic">logic</option>
|
|
</select>
|
|
<select name="attr_IC_matrix" title="@{repeating_IC_${x}_matrix}" value="firewall">
|
|
<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>
|
|
<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="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="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="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="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>
|
|
</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" /><script type="text/worker">
|
|
|
|
//Sheet workers
|
|
on("sheet:opened", function() {
|
|
const version = '0.24';
|
|
console.log(`%c Shadowrun 6th World v`+version, "color: blue; font-weight:bold");
|
|
|
|
getAttrs(['sheet_type'], (v) => {
|
|
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: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", "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 mod = init_mod + dev;
|
|
|
|
const dice_mod = parseInt(v.matrix_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;
|
|
|
|
let update = {};
|
|
|
|
matrix_dice = 1;
|
|
cold_sim_dice = 2;
|
|
hot_sim_dice = 3;
|
|
|
|
switch(v.sheet_type) {
|
|
case 'pc':
|
|
matrix_tot = rea + int + mod + tmp;
|
|
matrix_dice = 1 + dice_mod + dice_tmp;
|
|
cold_sim_tot = int + dat + mod + tmp;
|
|
cold_sim_dice = 2 + dice_mod + dice_tmp;
|
|
hot_sim_tot = int + dat + mod + tmp;
|
|
hot_sim_dice = 3 + dice_mod + 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':
|
|
matrix_tot = dat + lev;
|
|
cold_sim_tot = dat +lev + pil;
|
|
hot_sim_tot = dat +lev + pil;
|
|
break;
|
|
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});
|
|
});
|
|
});
|
|
});
|
|
*/
|
|
|
|
// 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>
|