Files
2026-03-25 23:17:52 +01:00

2702 lines
138 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- Custom Character Sheet for BenjaminGold282 -->
<!-- Made by Spirito, www.spirito.fr, Spirito#6973, spirito35220@gmail.com -->
<link href="moonshine.css" rel="stylesheet"/>
<!-- ----------------------- ROLL TEMPLATES ----------------------------- -->
<rolltemplate class="sheet-rolltemplate-moonshine">
{{^description}}
<!-- ----------------------------- -->
<div id="Header-Bloc1">
<!-- ----------------------------- -->
<div class="sheet-template-header sheet-bloc-header">
{{#specialities}}<span class="sheet-headerstyle1">{{name}} ♦ ({{check}})</span>{{/specialities}}
<!-- ----------------------------- -->
{{^specialities}}<span class="sheet-headerstyle1">{{name}}</span>{{/specialities}}
<!-- ----------------------------- -->
{{^specialities}}<span class="sheet-headerstyle2">{{charactername}} ♦ {{categorie}}</span>{{/specialities}}
<!-- ----------------------------- -->
{{#specialities}}<span class="sheet-headerstyle2">{{prereq1}} + {{prereq2}}</span>{{/specialities}}
<!-- ----------------------------- -->
</div>
<!-- ----------------------------- -->
</div>
<!-- ----------------------------- -->
<!-- ----------------------------- -->
<div id="Display Roll - Bloc 3">
{{#type}}
<div class="sheet-blocgeneral sheet-template-rolls" id="Display Rolls">
<!-- ----------------------------- -->
{{#rollTotal() type 1}}
<div class="sheet-roll">{{roll}}</div>
{{#mod}}<div class="sheet-roll-detail sheet-roll-detail2">
<div class="sheet-roll">{{roll1}}</div>
<div class="sheet-roll">+{{mod}}</div>
</div>{{/mod}}
{{/rollTotal() type 1}}
<!-- ----------------------------- -->
{{#rollTotal() type 2}}
<div class="sheet-roll">{{roll}}</div>
{{#mod}}<div class="sheet-roll-detail">{{/mod}}
{{^mod}}<div class="sheet-roll-detail sheet-roll-detail3">{{/mod}}
{{#rollLess() roll1 roll2}} {{#rollLess() roll1 roll3}}
<!-- roll1 est le plus petit -->
{{#rollLess() roll2 roll3}}
<!-- roll1 < roll2 < roll3 -->
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll sheet-allgrey">{{roll3}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/rollLess() roll2 roll3}}
{{#^rollLess() roll2 roll3}}
<!-- roll1 < roll3 < roll2 -->
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll sheet-allgrey">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/^rollLess() roll2 roll3}}
{{/rollLess() roll1 roll3}}
{{#^rollLess() roll1 roll3}}
<!-- roll3 < roll1 < roll2 -->
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll sheet-allgrey">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/^rollLess() roll1 roll3}}
{{/rollLess() roll1 roll2}}
{{#^rollLess() roll1 roll2}}
{{#rollLess() roll2 roll3}}
{{#rollLess() roll1 roll3}}
<!-- roll2 < roll1 < roll3 -->
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll sheet-allgrey">{{roll3}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/rollLess() roll1 roll3}}
{{#^rollLess() roll1 roll3}}
<!-- roll2 < roll3 < roll1 -->
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll sheet-allgrey">{{roll1}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/^rollLess() roll1 roll3}}
{{/rollLess() roll2 roll3}}
{{#^rollLess() roll2 roll3}}
{{#rollLess() roll1 roll2}}
<!-- roll3 < roll1 < roll2 -->
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll sheet-allgrey">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/rollLess() roll1 roll2}}
{{#^rollLess() roll1 roll2}}
<!-- roll3 < roll2 < roll1 -->
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll sheet-allgrey">{{roll1}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/^rollLess() roll1 roll2}}
{{/^rollLess() roll2 roll3}}
{{/^rollLess() roll1 roll2}}
</div>
{{/rollTotal() type 2}}
<!-- ----------------------------- -->
<!-- ----------------------------- -->
{{#rollTotal() type 3}}
<div class="sheet-roll">{{roll}}</div>
{{#mod}}<div class="sheet-roll-detail sheet-roll-detail3">{{/mod}}
{{^mod}}<div class="sheet-roll-detail sheet-roll-detail2">{{/mod}}
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
</div>
{{/rollTotal() type 3}}
<!-- ----------------------------- -->
<!-- ----------------------------- -->
{{#rollTotal() type 4}}
<div class="sheet-roll">{{roll}}</div>
{{#mod}}<div class="sheet-roll-detail">{{/mod}}
{{^mod}}<div class="sheet-roll-detail sheet-roll-detail3">{{/mod}}
{{#rollLess() roll1 roll2}} {{#rollLess() roll1 roll3}}
<!-- roll1 est le plus petit -->
{{#rollLess() roll2 roll3}}
<!-- roll1 < roll2 < roll3 -->
<div class="sheet-roll sheet-allgrey">{{roll1}},</div>
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll3}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/rollLess() roll2 roll3}} {{#^rollLess() roll2 roll3}}
<!-- roll1 < roll3 < roll2 -->
<div class="sheet-roll sheet-allgrey">{{roll1}},</div>
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll2 roll3}} {{/rollLess() roll1 roll3}} {{#^rollLess() roll1 roll3}}
<!-- roll3 < roll1 < roll2 -->
<div class="sheet-roll sheet-allgrey">{{roll3}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll1 roll3}} {{/rollLess() roll1 roll2}} {{#^rollLess() roll1 roll2}} {{#rollLess() roll2 roll3}} {{#rollLess() roll1 roll3}}
<!-- roll2 < roll1 < roll3 -->
<div class="sheet-roll sheet-allgrey">{{roll2}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll3}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/rollLess() roll1 roll3}} {{#^rollLess() roll1 roll3}}
<!-- roll2 < roll3 < roll1 -->
<div class="sheet-roll sheet-allgrey">{{roll2}},</div>
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll1}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll1 roll3}} {{/rollLess() roll2 roll3}} {{#^rollLess() roll2 roll3}} {{#rollLess() roll1 roll2}}
<!-- roll3 < roll1 < roll2 -->
<div class="sheet-roll sheet-allgrey">{{roll3}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/rollLess() roll1 roll2}} {{#^rollLess() roll1 roll2}}
<!-- roll3 < roll2 < roll1 -->
<div class="sheet-roll sheet-allgrey">{{roll3}},</div>
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll1}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll1 roll2}} {{/^rollLess() roll2 roll3}} {{/^rollLess() roll1 roll2}}
</div>
{{/rollTotal() type 4}}
<!-- ----------------------------- -->
<!-- ----------------------------- -->
{{#rollTotal() type 5}}
<div class="sheet-roll">{{roll}}</div>
<!-- ----------------------------- -->
{{#mod}}<div class="sheet-roll-detail">{{/mod}}
{{^mod}}<div class="sheet-roll-detail sheet-roll-detail3">{{/mod}}
<!-- ----------------------------- -->
{{#rollLess() roll1 roll2}} {{#rollLess() roll1 roll3}} {{#rollLess() roll2 roll3}}
<!-- roll1 < roll2 < roll3 -->
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll3}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}
{{/rollLess() roll2 roll3}} {{#^rollLess() roll2 roll3}}
<!-- roll1 < roll3 < roll2 -->
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll2 roll3}} {{/rollLess() roll1 roll3}} {{#^rollLess() roll1 roll3}}
<!-- roll3 < roll1 < roll2 -->
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll1 roll3}} {{/rollLess() roll1 roll2}} {{#^rollLess() roll1 roll2}} {{#rollLess() roll2 roll3}} {{#rollLess() roll1 roll3}}
<!-- roll2 < roll1 < roll3 -->
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll3}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/rollLess() roll1 roll3}} {{#^rollLess() roll1 roll3}}
<!-- roll2 < roll3 < roll1 -->
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll1}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll1 roll3}} {{/rollLess() roll2 roll3}} {{#^rollLess() roll2 roll3}} {{#rollLess() roll1 roll2}}
<!-- roll3 < roll1 < roll2 -->
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll1}},</div>
<div class="sheet-roll">{{roll2}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/rollLess() roll1 roll2}} {{#^rollLess() roll1 roll2}}
<!-- roll3 < roll2 < roll1 -->
<div class="sheet-roll">{{roll3}},</div>
<div class="sheet-roll">{{roll2}},</div>
<div class="sheet-roll">{{roll1}}</div>
{{#mod}}<div class="sheet-roll">+{{mod}}</div>{{/mod}}{{/^rollLess() roll1 roll2}} {{/^rollLess() roll2 roll3}} {{/^rollLess() roll1 roll2}}
</div>
{{/rollTotal() type 5}}
<!-- ----------------------------- -->
{{#button}}
<div class="sheet-extra-button">{{button}}</div>
{{/button}}
</div>
{{/type}}
{{#desc}}
<div class="sheet-template-rolls" id="DESCRIPTION 1">
<div class="sheet-description"><b data-i18n="description-label">Description</b> : {{desc}}</div>
</div>
{{/desc}}
</div>
<!-- ----------------------------- -->
{{/description}}
<!-- ----------------------------- -->
<!-- ----------------------------- -->
<!-- ----------------------------- -->
{{#damage}}
<div class="sheet-template-rolls" id="DAMAGES">
<span class="sheet-headerstyle1 sheet-headerstyle1special">DMG {{#resilience}}({{resilience}}){{/resilience}}</span>
<div class="sheet-roll-detail sheet-roll-detail5">{{damage}}</div>
</div>
{{/damage}}
<!-- ----------------------------- -->
<!-- ----------------------------- -->
{{#description}}
<div class="sheet-template-rolls" id="DESCRIPTION 2">
<div class="sheet-description"><b data-i18n="description-label">Description</b> : {{description}}</div>
</div>
{{/description}}
<!-- ----------------------------- -->
<!-- ----------------------------- -->
{{#rollTotal() specialisactive 1}}
<div class="sheet-template-rolls" id="DESCRIPTION 2">
<div class="sheet-description"><b data-i18n="special-label">Special</b> : {{special}}</div>
</div>
{{/rollTotal() specialisactive 1}}
<!-- ----------------------------- -->
</div></div></div></div></rolltemplate>
<div class="sheet-charsheet" style="margin-top: 10px">
<!-- -->
<div class="sheet-main-main">
<div class="sheet-standardbox">
<div class="sheet-oneline">
<!-- -->
<div class="sheet-main-header-logo">
</div>
<!-- -->
<div class="sheet-main-header-privacy">
<div class="sheet-button-holder">
<input checked="" class="input-colored1" id="public" name="attr_global-privacy-status" type="radio" value=" "/>
<label class="sheet-globalprivacy" data-i18n="public-label" for="public">Public</label>
</div>
<div class="sheet-button-holder">
<input class="input-colored2" id="to-me" name="attr_global-privacy-status" type="radio" value="/me"/>
<label class="sheet-globalprivacy" data-i18n="private-label" for="to-me">Private</label>
</div>
<div class="sheet-button-holder">
<input class="input-colored2" id="to-gm" name="attr_global-privacy-status" type="radio" value="/w gm"/>
<label class="sheet-globalprivacy" data-i18n="to-gm-label" for="to-gm">To GM</label>
</div>
</div>
<!-- -->
<!-- -->
<div class="sheet-main-top-informations">
<h4 data-i18n="name-label">Name</h4>
<h4 data-i18n="concept-label">Concept</h4>
<h4 data-i18n="player-label">Player</h4>
<!-- -->
<div class="sheet-standardbox sheet-standardbox1">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container3 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration3-item"></div>
<div class="sheet-decoration0-item"></div>
<div class="sheet-decoration3-item"></div>
</div>
</div>
<input class="sheet-inputchar2" name="attr_character_name" type="text" value=""/>
</div>
</div>
<!-- -->
<div class="sheet-standardbox sheet-standardbox1">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container3 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration3-item"></div>
<div class="sheet-decoration0-item"></div>
<div class="sheet-decoration3-item"></div>
</div>
</div>
<input class="sheet-inputchar2" name="attr_character_concept" type="text" value=""/>
</div>
</div>
<!-- -->
<div class="sheet-standardbox sheet-standardbox1">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container3 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration3-item"></div>
<div class="sheet-decoration0-item"></div>
<div class="sheet-decoration3-item"></div>
</div>
</div>
<input class="sheet-inputchar2" name="attr_character_player" type="text" value=""/>
</div>
</div>
<!-- -->
</div>
<!-- -->
<div class="sheet-main-top-informations2">
<!-- -->
<div class="sheet-healthtitle sheet-online">
<h1 data-i18n="health-label">Health</h1>
<div class="sheet-triplecolumn">
<h4 data-i18n="cur-label">Cur.</h4>
<h4> </h4>
<h4 data-i18n="max-label">Max</h4>
</div>
</div>
<div class="sheet-unwindtitle sheet-online">
<h1 data-i18n="unwind-label">Unwind</h1>
<h4> </h4>
</div>
<div class="sheet-energytitle sheet-online">
<h1 data-i18n="energy-label">Energy</h1>
<div class="sheet-triplecolumn">
<h4 data-i18n="cur-label">Cur.</h4>
<h4> </h4>
<h4 data-i18n="max-label">Max</h4>
</div>
</div>
<!-- -->
<div class="sheet-healthbloc sheet-standardbox sheet-standardbox1">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container3 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration0-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration0-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
</div>
<input class="sheet-inputchar" name="attr_hp" type="number" value="0"/>
<h4>/</h4>
<input class="sheet-inputchar" name="attr_hp_max" type="number" value="0"/>
</div>
<input class="sheet-inputmod sheet-hidden" name="attr_hp_mod" type="number" value="0"/>
</div>
<!-- -->
<div class="sheet-unwindbloc sheet-standardbox sheet-standardbox1">
<div class="sheet-oneline sheet-online">
<div class="sheet-decoration-container sheet-decoration-container2 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration2-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration2-item"></div>
</div>
</div>
<select class="sheet-inputchar" name="attr_unwind">
<option selected="">-</option>
<option data-i18n="mental-label">Mental</option>
<option data-i18n="physical-label">Physical</option>
<option data-i18n="social-label">Social</option>
</select>
</div>
</div>
<!-- -->
<div class="sheet-energybloc sheet-standardbox sheet-standardbox1">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container3 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration0-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration0-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
</div>
<input class="sheet-inputchar" name="attr_energy" type="number" value="0"/>
<h4>/</h4>
<input class="sheet-inputchar" name="attr_energy_max" type="number" value="0"/>
</div>
<input class="sheet-inputmod sheet-hidden" name="attr_energy_mod" type="number" value="0"/>
</div>
<!-- -->
<div class="sheet-healthsubtitle sheet-online">
<h4 data-i18n="grit-stealth-label">Grit + Stealth</h4>
</div>
<div class="sheet-unwindsubtitle sheet-online"></div>
<div class="sheet-energysubtitle sheet-online">
<h4 data-i18n="focus-charm-label">Focus + Charm</h4>
</div>
<!-- -->
</div>
<!-- -->
<!-- -->
<!-- CHARACTERISTICS -->
<div class="sheet-main-characteristics">
<!-- -->
<h1 data-i18n="grit-label">Grit</h1>
<h1 data-i18n="stealth-label">Stealth</h1>
<h1 data-i18n="focus-label">Focus</h1>
<h1 data-i18n="charm-label">Charm</h1>
<!-- -->
<div class="sheet-backgroundbox">
<div class="sheet-decoration-container sheet-fullspan">
<div class="sheet-decoration-left">
<div class="sheet-decoration3-item"></div>
</div>
<div class="sheet-decoration-right">
<div class="sheet-decoration3-item"></div>
</div>
</div>
<div class="sheet-oneline">
<input class="sheet-inputchar sheet-core" data-i18n-placeholder="text-placeholder" name="attr_grit" placeholder="-" type="text"/>
</div>
</div>
<!-- -->
<div class="sheet-backgroundbox">
<div class="sheet-decoration-container sheet-fullspan">
<div class="sheet-decoration-left">
<div class="sheet-decoration3-item"></div>
</div>
<div class="sheet-decoration-right">
<div class="sheet-decoration3-item"></div>
</div>
</div>
<div class="sheet-oneline">
<input class="sheet-inputchar sheet-core" data-i18n-placeholder="text-placeholder" name="attr_stealth" placeholder="-" type="text"/>
</div>
</div>
<!-- -->
<div class="sheet-backgroundbox">
<div class="sheet-decoration-container sheet-fullspan">
<div class="sheet-decoration-left">
<div class="sheet-decoration3-item"></div>
</div>
<div class="sheet-decoration-right">
<div class="sheet-decoration3-item"></div>
</div>
</div>
<div class="sheet-oneline">
<input class="sheet-inputchar sheet-core" data-i18n-placeholder="text-placeholder" name="attr_focus" placeholder="-" type="text"/>
</div>
</div>
<!-- -->
<div class="sheet-backgroundbox">
<div class="sheet-decoration-container sheet-fullspan">
<div class="sheet-decoration-left">
<div class="sheet-decoration3-item"></div>
</div>
<div class="sheet-decoration-right">
<div class="sheet-decoration3-item"></div>
</div>
</div>
<div class="sheet-oneline">
<input class="sheet-inputchar sheet-core" data-i18n-placeholder="text-placeholder" name="attr_charm" placeholder="-" type="text"/>
</div>
</div>
<h4 class="sheet-core-reverse"><span class="sheet-totalpointcore" name="attr_totalpointscore"></span></h4>
<!-- -->
</div>
<!-- -->
<div class="sheet-barsverticales-global">
<div class="sheet-barsverticales-container">
<div class="sheet-barsverticales-item"></div>
<div class="sheet-barsverticales-item"></div>
<div class="sheet-barsverticales-item"></div>
<div class="sheet-barsverticales-item"></div>
</div>
<div class="sheet-asset-container">
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
</div>
<!-- SKILLS -->
<div class="sheet-main-skills-section">
<div class="sheet-doublecolumn">
<h1 data-i18n="skills-label">Skills</h1>
<h5>1 / 2 / 3 / 9</h5>
</div>
<div class="sheet-standardbox sheet-standardbox3">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
</div>
<!-- -->
<!-- Première sous-section : Athletics, Force, Intimidate, Resilience -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-athletics" type="text" value=""/>
<button class="sheet-button-attack" name="roll_athletics" type="roll" value="@{roll-athletics}"></button>
<h4 data-i18n="athletics-label">Athletics</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_athletics_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_athletics_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_athletics_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_athletics_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_athletics_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_athletics_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_athletics_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-force" type="text" value=""/>
<button class="sheet-button-attack" name="roll_force" type="roll" value="@{roll-force}"></button>
<h4 data-i18n="force-label">Force</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_force_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_force_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_force_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_force_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_force_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_force_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_force_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-intimidate" type="text" value=""/>
<button class="sheet-button-attack" name="roll_intimidate" type="roll" value="@{roll-intimidate}"></button>
<h4 data-i18n="intimidate-label">Intimidate</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_intimidate_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_intimidate_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_intimidate_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_intimidate_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_intimidate_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_intimidate_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_intimidate_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-resilience" type="text" value=""/>
<button class="sheet-button-attack" name="roll_resilience" type="roll" value="@{roll-resilience}"></button>
<h4 data-i18n="resilience-label">Resilience</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_resilience_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_resilience_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_resilience_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_resilience_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_resilience_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_resilience_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_resilience_roll" type="text" value="1d12"/>
</div>
</div>
<!-- Deuxième sous-section : Disguise, Evade, Smuggle, Sneak -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-disguise" type="text" value=""/>
<button class="sheet-button-attack" name="roll_disguise" type="roll" value="@{roll-disguise}"></button>
<h4 data-i18n="disguise-label">Disguise</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_disguise_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_disguise_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_disguise_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_disguise_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_disguise_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_disguise_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_disguise_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-evade" type="text" value=""/>
<button class="sheet-button-attack" name="roll_evade" type="roll" value="@{roll-evade}"></button>
<h4 data-i18n="evade-label">Evade</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_evade_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_evade_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_evade_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_evade_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_evade_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_evade_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_evade_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-smuggle" type="text" value=""/>
<button class="sheet-button-attack" name="roll_smuggle" type="roll" value="@{roll-smuggle}"></button>
<h4 data-i18n="smuggle-label">Smuggle</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_smuggle_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_smuggle_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_smuggle_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_smuggle_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_smuggle_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_smuggle_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_smuggle_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-sneak" type="text" value=""/>
<button class="sheet-button-attack" name="roll_sneak" type="roll" value="@{roll-sneak}"></button>
<h4 data-i18n="sneak-label">Sneak</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_sneak_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_sneak_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_sneak_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_sneak_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_sneak_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_sneak_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_sneak_roll" type="text" value="1d12"/>
</div>
</div>
<!-- Troisième sous-section : Drive, Fix, Investigate, Notice -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-drive" type="text" value=""/>
<button class="sheet-button-attack" name="roll_drive" type="roll" value="@{roll-drive}"></button>
<h4 data-i18n="drive-label">Drive</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_drive_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_drive_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_drive_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_drive_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_drive_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_drive_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_drive_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-fix" type="text" value=""/>
<button class="sheet-button-attack" name="roll_fix" type="roll" value="@{roll-fix}"></button>
<h4 data-i18n="fix-label">Fix</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_fix_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_fix_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_fix_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_fix_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_fix_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_fix_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_fix_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-investigate" type="text" value=""/>
<button class="sheet-button-attack" name="roll_investigate" type="roll" value="@{roll-investigate}"></button>
<h4 data-i18n="investigate-label">Investigate</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_investigate_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_investigate_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_investigate_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_investigate_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_investigate_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_investigate_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_investigate_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-notice" type="text" value=""/>
<button class="sheet-button-attack" name="roll_notice" type="roll" value="@{roll-notice}"></button>
<h4 data-i18n="notice-label">Notice</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_notice_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_notice_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_notice_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_notice_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_notice_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_notice_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_notice_roll" type="text" value="1d12"/>
</div>
</div>
<!-- Quatrième sous-section : Deflect, Empathy, Guile, Speech -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-deflect" type="text" value=""/>
<button class="sheet-button-attack" name="roll_deflect" type="roll" value="@{roll-deflect}"></button>
<h4 data-i18n="deflect-label">Deflect</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_deflect_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_deflect_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_deflect_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_deflect_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_deflect_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_deflect_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_deflect_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-empathy" type="text" value=""/>
<button class="sheet-button-attack" name="roll_empathy" type="roll" value="@{roll-empathy}"></button>
<h4 data-i18n="empathy-label">Empathy</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_empathy_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_empathy_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_empathy_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_empathy_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_empathy_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_empathy_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_empathy_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-guile" type="text" value=""/>
<button class="sheet-button-attack" name="roll_guile" type="roll" value="@{roll-guile}"></button>
<h4 data-i18n="guile-label">Guile</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_guile_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_guile_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_guile_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_guile_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_guile_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_guile_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_guile_roll" type="text" value="1d12"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-speech" type="text" value=""/>
<button class="sheet-button-attack" name="roll_speech" type="roll" value="@{roll-speech}"></button>
<h4 data-i18n="speech-label">Speech</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_speech_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_speech_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_speech_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_speech_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_speech_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_speech_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_speech_roll" type="text" value="1d12"/>
</div>
</div>
<!-- -->
</div>
</div>
<!-- -->
</div>
<!-- -->
<div class="sheet-asset-container">
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
</div>
<!-- WEAPONS -->
<div class="sheet-main-skills-section sheet-main-skills-section1">
<div class="sheet-doublecolumn">
<h1 data-i18n="weapons-label">Weapons</h1>
<h5>1 / 2 / 3 / 9</h5>
</div>
<div class="sheet-standardbox sheet-standardbox3">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
</div>
<!-- Première sous-section : Blackjacks, Knuckles, Shotguns -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-blackjacks" type="text" value=""/>
<button class="sheet-button-attack" name="roll_blackjacks" type="roll" value="@{roll-blackjacks} {{damage=[[@{blackjacks_damage}]]}} {{specialisactive=[[@{blackjacks_specialisactive}]]}} {{special=@{blackjacks_special}}}"></button>
<h4 data-i18n="blackjacks-label">Blackjacks</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_blackjacks_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_blackjacks_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_blackjacks_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_blackjacks_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_blackjacks_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_blackjacks_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_blackjacks_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_blackjacks_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_blackjacks_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_blackjacks_special" type="text" value="Daze: If the target of an attack with a blackjack takes any damage, they have a -2 penalty to all rolls until the end of your next turn"/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-knuckles" type="text" value=""/>
<button class="sheet-button-attack" name="roll_knuckles" type="roll" value="@{roll-knuckles} {{damage=[[@{knuckles_damage}]]}} {{specialisactive=[[@{knuckles_specialisactive}]]}} {{special=@{knuckles_special}}}"></button>
<h4 data-i18n="knuckles-label">Knuckles</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_knuckles_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_knuckles_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_knuckles_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_knuckles_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_knuckles_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_knuckles_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_knuckles_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_knuckles_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_knuckles_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_knuckles_special" type="text" value="One Two Combo: When you succeed on a Knuckles roll, roll Knuckles again against the same defense roll. If you succeed, add 3 damage to the attack."/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-shotguns" type="text" value=""/>
<button class="sheet-button-attack" name="roll_shotguns" type="roll" value="@{roll-shotguns} {{damage=[[@{shotguns_damage}]]}} {{specialisactive=[[@{shotguns_specialisactive}]]}} {{special=@{shotguns_special}}} {{resilience=-10 RES}}"></button>
<h4 data-i18n="shotguns-label">Shotguns</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_shotguns_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_shotguns_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_shotguns_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_shotguns_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_shotguns_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_shotguns_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_shotguns_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_shotguns_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_shotguns_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_shotguns_special" type="text" value="Spread: You may target an additional targets within 5 feet of your primary target. Make one Shotguns roll that all targets defend against."/>
</div>
</div>
<!-- Deuxième sous-section : Archery, Piano Wire, Pistols -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-archery" type="text" value=""/>
<button class="sheet-button-attack" name="roll_archery" type="roll" value="@{roll-archery} {{damage=[[@{archery_damage}]]}} {{specialisactive=[[@{archery_specialisactive}]]}} {{special=@{archery_special}}}"></button>
<h4 data-i18n="archery-label">Archery</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_archery_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_archery_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_archery_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_archery_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_archery_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_archery_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_archery_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_archery_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_archery_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_archery_special" type="text" value="Marksman: Increase your damage dealt with Archery by your dots of Notice."/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-pianowire" type="text" value=""/>
<button class="sheet-button-attack" name="roll_pianowire" type="roll" value="@{roll-pianowire} {{damage=[[@{pianowire_damage}]]}} {{specialisactive=[[@{pianowire_specialisactive}]]}} {{special=@{pianowire_special}}}"></button>
<h4 data-i18n="piano-wire-label">Piano Wire</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_pianowire_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pianowire_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pianowire_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pianowire_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_pianowire_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pianowire_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pianowire_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_pianowire_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_pianowire_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_pianowire_special" type="text" value="Quick Kill: If your target was unaware of you before being grappled, the damage of Piano Wire is doubled until the grapple is broken."/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-pistols" type="text" value=""/>
<button class="sheet-button-attack" name="roll_pistols" type="roll" value="@{roll-pistols} {{damage=[[@{pistols_damage}]]}} {{specialisactive=[[@{pistols_specialisactive}]]}} {{special=@{pistols_special}}} {{resilience=-5 RES}}"></button>
<h4 data-i18n="pistols-label">Pistols</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_pistols_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pistols_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pistols_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pistols_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_pistols_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pistols_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pistols_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_pistols_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_pistols_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_pistols_special" type="text" value="Quick Draw: Add your dots of Pistols to your Force rolls when determining turn order. If you shoot someone who has not yet acted in combat, they do not get to actively evade, taking their passive value instead."/>
</div>
</div>
<!-- Troisième sous-section : Grenades, Rapiers, Rifles -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-grenades" type="text" value=""/>
<button class="sheet-button-attack" name="roll_grenades" type="roll" value="@{roll-grenades} {{damage=[[@{grenades_damage}]]}} {{specialisactive=[[@{grenades_specialisactive}]]}} {{special=@{grenades_special}}}"></button>
<h4 data-i18n="grenades-label">Grenades</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_grenades_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_grenades_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_grenades_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_grenades_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_grenades_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_grenades_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_grenades_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_grenades_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_grenades_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_grenades_special" type="text" value="Controlled Blast: You can choose to reduce the explosion radius of a device to 5 feet. You make this choice before rolling for the throw."/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-rapiers" type="text" value=""/>
<button class="sheet-button-attack" name="roll_rapiers" type="roll" value="@{roll-rapiers} {{damage=[[@{rapiers_damage}]]}} {{specialisactive=[[@{rapiers_specialisactive}]]}} {{special=@{rapiers_special}}}"></button>
<h4 data-i18n="rapiers-label">Rapiers</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_rapiers_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_rapiers_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_rapiers_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_rapiers_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_rapiers_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_rapiers_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_rapiers_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_rapiers_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_rapiers_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_rapiers_special" type="text" value="Riposte: Increase your Deflect by your dots of Rapiers. If you succeed in Deflecting an attack, your next attack this combat does +2 damage."/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-rifles" type="text" value=""/>
<button class="sheet-button-attack" name="roll_rifles" type="roll" value="@{roll-rifles} {{damage=[[@{rifles_damage}]]}} {{specialisactive=[[@{rifles_specialisactive}]]}} {{special=@{rifles_special}}} {{resilience=-10 RES}}"></button>
<h4 data-i18n="rifles-label">Rifles</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_rifles_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_rifles_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_rifles_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_rifles_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_rifles_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_rifles_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_rifles_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_rifles_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_rifles_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_rifles_special" type="text" value="Focused Breathing: If no enemy is within 20 feet of you, you ignore partial cover and have a +5 bonus to Rifle rolls when making a called shot."/>
</div>
</div>
<!-- Quatrième sous-section : Improvised, Knives, Machineguns -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-improvised" type="text" value=""/>
<button class="sheet-button-attack" name="roll_improvised" type="roll" value="@{roll-improvised} {{damage=[[@{improvised_damage}]]}} {{specialisactive=[[@{improvised_specialisactive}]]}} {{special=@{improvised_special}}}"></button>
<h4 data-i18n="improvised-label">Improvised</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_improvised_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_improvised_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_improvised_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_improvised_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_improvised_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_improvised_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_improvised_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_improvised_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_improvised_specialisactive" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_improvised_special" type="text" value="Yes And: If you pick up an item and attack with it in the same turn, add 2 to your Improvised weapon rolls and deal 2 additional damage if you hit."/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-knives" type="text" value=""/>
<button class="sheet-button-attack" name="roll_knives" type="roll" value="@{roll-knives} {{damage=[[@{knives_damage}]]}} {{specialisactive=[[@{knives_specialisactive}]]}} {{special=@{knives_special}}}"></button>
<h4 data-i18n="knives-label">Knives</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_knives_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_knives_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_knives_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_knives_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_knives_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_knives_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_knives_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_knives_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_knives_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_knives_special" type="text" value="Quick Hands: Make two attacks per action when attacking with a knife. These attacks can be split by movement."/>
</div>
<div class="sheet-main-skills">
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-machineguns" type="text" value=""/>
<button class="sheet-button-attack" name="roll_machineguns" type="roll" value="@{roll-machineguns} {{damage=[[@{machineguns_damage}]]}} {{specialisactive=[[@{machineguns_specialisactive}]]}} {{special=@{machineguns_special}}} {{resilience=-10 RES}}"></button>
<h4 data-i18n="machineguns-label">Machineguns</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_machineguns_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_machineguns_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_machineguns_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_machineguns_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_machineguns_bonus" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_machineguns_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_machineguns_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_machineguns_damage" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_machineguns_specialisactive" type="text" value="0"/>
<input class="sheet-hiddena" name="attr_machineguns_special" type="text" value="Rat-a-tat-tat: You can attack all targets within a 15 foot square. Make one weapon roll that targets the area. Deal 3 less damage when attacking in this way."/>
</div>
</div>
</div>
</div>
</div>
<!-- -->
<div class="sheet-asset-container">
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
<div class="sheet-asset-item"></div>
</div>
<!-- SPECIAL SKILLS SECTION -->
<div class="sheet-main-skills-section sheet-main-skills-section2">
<div class="sheet-doublecolumn">
<h1 data-i18n="specialties-label">Specialties</h1>
<h5>2 / 4 / 6 / 18</h5>
</div>
<!-- -->
<div class="sheet-standardbox sheet-standardbox3">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
<div class="sheet-decoration2-item"></div>
<div class="sheet-decoration1-item"></div>
</div>
</div>
<!-- -->
<!-- Première sous-section : Endurance, Presence, Steelmind, Suckerpunch, Tenacity -->
<div class="sheet-main-skills-subsection" title="Resilience + Deflect">
<div class="sheet-main-skills sheet-main-skills-endurance">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-description" name="roll_endurance" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{type=[[1]]}} {{roll=[[1d12]]}} {{prereq1=Resilience}} {{prereq2=Deflect}} {{name=Endurance}} {{desc=@{endurance-desc}}} {{check=@{endurance-checked}}}"></button>
<h4 data-i18n="endurance-label">Endurance</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_endurance_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_endurance_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_endurance_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_endurance_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_endurance_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_endurance-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_endurance_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_endurance-desc" type="text" value="
When spending energy on a physical action roll 1d12, if you roll a (6/5/4/2) or higher you regain 1 energy, with the target number decreasing as you gain dots of Endurance."/>
</div>
<div class="sheet-main-skills sheet-main-skills-presence" title="Intimidate + Empathy">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_presence" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{presence_roll}+@{grit}]]}} {{prereq1=Intimidate}} {{prereq2=Empathy}} {{name=Presence}} {{desc=@{presence-desc}}} {{check=@{presence-checked}}}"></button>
<h4 data-i18n="presence-label">Presence</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_presence_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_presence_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_presence_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_presence_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_presence_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_presence-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_presence_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_presence-desc" type="text" value="When meeting someone for the first time, roll empathy or intimidate.
On a 15 or higher, choose one of the following dispositions for the character to have towards you. Extra dots give additional options.&lt;/br&gt;&lt;/br&gt;
• Comfortable, Timid, Disinterested&lt;/br&gt;
•• Friendly, Nervous, Jealous&lt;/br&gt;
••• Charmed, Intimidated, Trusting&lt;/br&gt;
•••• Enamored, Terrified, Loyal
"/>
</div>
<div class="sheet-main-skills sheet-main-skills-steelmind" title="Force + Deflect">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_steelmind" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{steelmind_roll}+@{grit}]]}} {{prereq1=Force}} {{prereq2=Deflect}} {{name=Steel Mind}} {{desc=@{steelmind-desc}}} {{check=@{steelmind-checked}}}"></button>
<h4 data-i18n="steelmind-label">Steelmind</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_steelmind_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_steelmind_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_steelmind_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_steelmind_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_steelmind_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_steelmind-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_steelmind_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_steelmind-desc" type="text" value="
Psychics have a hard time getting into your mind. You actively defend
against any psychic effect. When trying to prevent a psychic intrusion or
end a psychic effect, roll with a +2 bonus per dot of Steel Mind."/>
</div>
<div class="sheet-main-skills sheet-main-skills-suckerpunch" title="Athletics + Guile">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_suckerpunch" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{suckerpunch_roll}+@{grit}]]}} {{prereq1=Athletics}} {{prereq2=Guile}} {{name=Suckerpunch}} {{desc=@{suckerpunch-desc}}} {{check=@{suckerpunch-checked}}}"></button>
<h4 data-i18n="suckerpunch-label">Suckerpunch</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_suckerpunch_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_suckerpunch_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_suckerpunch_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_suckerpunch_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_suckerpunch_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_suckerpunch-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_suckerpunch_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_suckerpunch-desc" type="text" value="
If you deal damage with a melee attack to a target who has not yet acted
in initiative the target takes 2 extra damage per dot of Sucker Punch. The
target also has a -5 penalty to all rolls until the end of your next turn."/>
</div>
<div class="sheet-main-skills sheet-main-skills-tenacity" title="Resilience + Evade">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_tenacity" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{tenacity_roll}+@{grit}]]}} {{prereq1=Resilience}} {{prereq2=Evade}} {{name=Tenacity}} {{desc=@{tenacity-desc}}} {{check=@{tenacity-checked}}}"></button>
<h4 data-i18n="tenacity-label">Tenacity</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_tenacity_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_tenacity_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_tenacity_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_tenacity_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_tenacity_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_tenacity-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_tenacity_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_tenacity-desc" type="text" value="
Reduce damage taken by 1 per dot of Tenacity."/>
</div>
</div>
<!-- Deuxième sous-section : Assassinate, Forge, Infiltrate, Pickpocket, Snoop -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills sheet-main-skills-assassinate" title="Guile + Sneak">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_assassinate" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{assassinate_roll}+@{stealth}]]}} {{prereq1=Guile}} {{prereq2=Sneak}} {{name=Assassinate}} {{desc=@{assassinate-desc}}} {{check=@{assassinate-checked}}}"></button>
<h4 data-i18n="assassinate-label">Assassinate</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_assassinate_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_assassinate_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_assassinate_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_assassinate_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_assassinate_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_assassinate-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_assassinate_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_assassinate-desc" type="text" value="
When attacking a target who doesnt know where you are when the
attack is rolled, deal 2 extra damage per dot of assassinate. For Piano
wire, this bonus lasts until the initial grapple is broken."/>
</div>
<div class="sheet-main-skills sheet-main-skills-forge" title="Empathy + Fix">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_forge" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{forge_roll}+@{stealth}]]}} {{prereq1=Empathy}} {{prereq2=Fix}} {{name=Forge}} {{desc=@{forge-desc}}} {{check=@{forge-checked}}}"></button>
<h4 data-i18n="forge-label">Forge</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_forge_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_forge_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_forge_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_forge_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_forge_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_forge-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_forge_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_forge-desc" type="text" value="
You can make convincing fake versions of art, official documents and
signatures that youve had time to study. When making a fake, roll fix.
That becomes the target of the challenge roll to determine it is a fake.
Different things will take more or less time to forge. A parking ticket
might only take a minute, a painting could take weeks or months."/>
</div>
<div class="sheet-main-skills sheet-main-skills-infiltrate" title="Sneak + Force">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_infiltrate" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{infiltrate_roll}+@{stealth}]]}} {{prereq1=Sneak}} {{prereq2=Force}} {{name=Infiltrate}} {{desc=@{infiltrate-desc}}} {{check=@{infiltrate-checked}}}"></button>
<h4 data-i18n="infiltrate-label">Infiltrate</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_infiltrate_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_infiltrate_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_infiltrate_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_infiltrate_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_infiltrate_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_infiltrate-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_infiltrate_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_infiltrate-desc" type="text" value="
When picking locks, quietly break windows, crack safes, or other such
activities get a +2 bonus per dot of Infiltrate."/>
</div>
<div class="sheet-main-skills sheet-main-skills-pickpocket" title="Smuggle + Guile">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_pickpocket" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{pickpocket_roll}+@{stealth}]]}} {{prereq1=Smuggle}} {{prereq2=Guile}} {{name=Pickpocket}} {{desc=@{pickpocket-desc}}} {{check=@{pickpocket-checked}}}"></button>
<h4 data-i18n="pickpocket-label">Pickpocket</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_pickpocket_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pickpocket_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pickpocket_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pickpocket_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_pickpocket_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pickpocket-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pickpocket_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_pickpocket-desc" type="text" value="
You can roll smuggle to attempt to steal things from someones person
without them noticing. Make such smuggle rolls with a +2 bonus per dot
of Pickpocket."/>
</div>
<div class="sheet-main-skills sheet-main-skills-snoop" title="Notice + Evade">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_snoop" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{snoop_roll}+@{stealth}]]}} {{categorie=Roll}} {{prereq1=Notice}} {{prereq2=Evade}} {{name=Snoop}} {{desc=@{snoop-desc}}} {{check=@{snoop-checked}}}"></button>
<h4 data-i18n="snoop-label">Snoop</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_snoop_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_snoop_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_snoop_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_snoop_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_snoop_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_snoop-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_snoop_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_snoop-desc" type="text" value="
You are adept at furtively overhearing conversations or looking for clues
without being noticed. When investigating you can roll sneak in order
to have your investigations go unnoticed. Make this sneak roll with a +2
bonus per dot of snoop"/>
</div>
</div>
<!-- Troisième sous-section : Forensics, Law, Medicine, Sniper, Studious -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills sheet-main-skills-forensics" title="Notice + Investigate">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_forensics" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{forensics_roll}+@{focus}]]}} {{prereq1=Notice}} {{prereq2=Investigate}} {{name=Forensics}} {{desc=@{forensics-desc}}} {{check=@{forensics-checked}}}"></button>
<h4 data-i18n="forensics-label">Forensics</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_forensics_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_forensics_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_forensics_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_forensics_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_forensics_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_forensics-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_forensics_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_forensics-desc" type="text" value="
You are studied in analyzing a scene and finding clues that others might
miss. Others might see a simple blood splatter where you see a story.
When Investigating a crime scene or tracking someone roll with a +2
bonus per dot of Forensics"/>
</div>
<div class="sheet-main-skills sheet-main-skills-law" title="Speech + Investigate">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_law" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{law_roll}+@{focus}]]}} {{prereq1=Speech}} {{prereq2=Investigate}} {{name=Law}} {{desc=@{law-desc}}} {{check=@{law-checked}}}"></button>
<h4 data-i18n="law-label">Law</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_law_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_law_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_law_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_law_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_law_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_law-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_law_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_law-desc" type="text" value="
Know the ins and outs of the rule of law to better hold it up, or to know
how to get around it. When making any roll to do with understanding,
explaining, evading or arguing the law roll
with a +2 bonus per dot of law."/>
</div>
<div class="sheet-main-skills sheet-main-skills-medicine" title="Fix + Resilience">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_medicine" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{medicine_roll}+@{focus}]]}} {{prereq1=Fix}} {{prereq2=Resilience}} {{name=Medicine}} {{desc=@{medicine-desc}}} {{check=@{medicine-checked}}}"></button>
<h4 data-i18n="medicine-label">Medicine</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_medicine_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_medicine_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_medicine_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_medicine_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_medicine_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_medicine-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_medicine_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_medicine-desc" type="text" value="
With the proper equipment and materials, you can make drugs, and
administer healthcare. A successful Fix roll against difficulty 15 can
recover 1 health. This takes 30 minutes and can only be attempted once
per day per person. In addition you get a +2 bonus on this and other
rolls where medical knowledge would be useful."/>
</div>
<div class="sheet-main-skills sheet-main-skills-sniper" title="Notice + Evade">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_sniper" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{sniper_roll}+@{focus}]]}} {{prereq1=Notice}} {{prereq2=Evade}} {{name=Sniper}} {{desc=@{sniper-desc}}} {{check=@{sniper-checked}}}"></button>
<h4 data-i18n="sniper-label">Sniper</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_sniper_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_sniper_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_sniper_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_sniper_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_sniper_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_sniper-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_sniper_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_sniper-desc" type="text" value="
Ranged weapons have doubled range, add 2 per dot of sniper to weapon
rolls for ranged attacks"/>
</div>
<div class="sheet-main-skills sheet-main-skills-studious" title="Force + Investigate">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_studious" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{type=[[1]]}} {{roll=[[1d12]]}} {{prereq1=Force}} {{prereq2=Investigate}} {{name=Studious}} {{desc=@{studious-desc}}} {{check=@{studious-checked}}}"></button>
<h4 data-i18n="studious-label">Studious</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_studious_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_studious_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_studious_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_studious_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_studious_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_studious-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_studious_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_studious-desc" type="text" value="
When spending energy on a mental action roll 1d12, if you roll a (6/5/4/2) regain 1 energy, with the target number decreasing as you gain dots of Studious."/>
</div>
</div>
<!-- Quatrième sous-section : Blackmarket, Coldread, Pontificate, Moxie, Performances -->
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills sheet-main-skills-blackmarket" title="Smuggle + Drive">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_blackmarket" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{blackmarket_roll}+@{charm}]]}} {{prereq1=Smuggle}} {{prereq2=Drive}} {{name=Blackmarket}} {{desc=@{blackmarket-desc}}} {{check=@{blackmarket-checked}}}"></button>
<h4 data-i18n="blackmarket-label">Blackmarket</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_blackmarket_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_blackmarket_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_blackmarket_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_blackmarket_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_blackmarket_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_blackmarket-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_blackmarket_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_blackmarket-desc" type="text" value="
You have connections in the black market that give you cheaper prices
for drugs and other contraband. More dots provides access to more
restricted contraband. Below are examples of something you might be
able to obtain at each dot level.&lt;/br&gt;&lt;/br&gt;
• A Shipment of Hooch&lt;/br&gt;
•• Restricted weapons&lt;/br&gt;
••• Stolen Art&lt;/br&gt;
•••• Official US mint currency plates"/>
</div>
<div class="sheet-main-skills sheet-main-skills-coldread" title="Notice + Empathy">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_coldread" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{coldread_roll}+@{charm}]]}} {{prereq1=Notice}} {{prereq2=Empathy}} {{name=Coldread}} {{desc=@{coldread-desc}}} {{check=@{coldread-checked}}}"></button>
<h4 data-i18n="coldread-label">Coldread</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_coldread_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_coldread_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_coldread_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_coldread_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_coldread_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_coldread-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_coldread_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_coldread-desc" type="text" value="
You have an acute understanding of how to understand peoples
motivation. If you observe someone or talk to them, you get a +2 per dot
of cold read to discern their motivation or feelings."/>
</div>
<div class="sheet-main-skills sheet-main-skills-pontificate" title="Speech + Resilience">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_pontificate" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{type=[[1]]}} {{roll=[[1d12]]}} {{prereq1=Speech}} {{prereq2=Resilience}} {{name=Pontificate}} {{desc=@{pontificate-desc}}} {{check=@{pontificate-checked}}}"></button>
<h4 data-i18n="pontificate-label">Pontificate</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_pontificate_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pontificate_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pontificate_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_pontificate_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_pontificate_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pontificate-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_pontificate_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_pontificate-desc" type="text" value="When spending energy on a social action roll 1d12, if you roll a
(6/5/4/2) regain 1 energy, with the target number decreasing as you
gain dots of Pontificate."/>
</div>
<div class="sheet-main-skills sheet-main-skills-moxie" title="Speech + Force">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_moxie" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{moxie_roll}+@{charm}]]}} {{prereq1=Speech}} {{prereq2=Force}} {{name=Moxie}} {{desc=@{moxie-desc}}} {{check=@{moxie-checked}}}"></button>
<h4 data-i18n="moxie-label">Moxie</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_moxie_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_moxie_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_moxie_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_moxie_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_moxie_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_moxie-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_moxie_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_moxie-desc" type="text" value="
You can get away with minor social taboos, and even get praise for
brazenly bending social norms. Roll speech or intimidate against a
challenge roll, the difficulty determined by the severity of the taboo.
Make this roll with a +2 bonus per dot of Moxie.&lt;/br&gt;&lt;/br&gt;
Example Taboo Challenge #&lt;/br&gt;
Gently insulting someone in a position of power. 5&lt;/br&gt;
Barging into someones office. 10&lt;/br&gt;
Punching someone harassing people at a bar. 15&lt;/br&gt;
Crashing a political speech and taking the mic. 20&lt;/br&gt;
Serving hooch to the chief of police. 25&lt;/br&gt;
Shooting someone who is harassing people. 30"/>
</div>
<div class="sheet-main-skills sheet-main-skills-performances" title="Empathy + Force">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_performances" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{specialities=1}} {{roll=[[@{performances_roll}+@{charm}]]}} {{prereq1=Empathy}} {{prereq2=Force}} {{name=Performances}} {{desc=@{performances-desc}}} {{check=@{performances-checked}}}"></button>
<h4 data-i18n="performance-label">Performance</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_performances_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_performances_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_performances_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_performances_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_performances_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_performances-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_performances_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_performances-desc" type="text" value="You can make all eyes in a room fall on you through acting, music, dance,
oration, or other spectacles. Roll Empathy to determine how many
people you have the full attention of.
Make this roll with a +2 bonus per dot of Performance.&lt;/br&gt;&lt;/br&gt;
Number of People Challenge #&lt;/br&gt;
One person. 10&lt;/br&gt;
A small crowd. 15&lt;/br&gt;
An entire room. 20&lt;/br&gt;
Everyone who can see or hear you. 25"/>
</div>
</div>
<!-- -->
</div>
</div>
<!-- -->
</div>
<!-- -->
</div>
<!-- PSYCHIC / FLAWS / STANDING -->
<div class="sheet-main-notlast-section">
<div class="sheet-doublecolumn">
<h1 data-i18n="psychic-label">Psychic</h1>
<h5>3 / 6 / 9 / 27</h5>
</div>
<h1 data-i18n="flaw-label">Flaw</h1>
<h1 data-i18n="standing-label">Standing</h1>
<!-- PSYCHIC SECTION -->
<div class="sheet-standardbox sheet-standardbox3">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container2 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration2-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration2-item"></div>
</div>
</div>
<div class="sheet-main-skills-subsection">
<!-- Hypnotism -->
<div class="sheet-main-skills sheet-main-skills-hypnotism" title="Speech + Disguise">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<input class="sheet-button-attack" name="attr_roll-hypnotism" type="text" value="0"/>
<button class="sheet-button-attack" name="roll_hypnotism" type="roll" value="@{roll-hypnotism}"></button>
<button class="sheet-hidden" name="roll_show-hypnotism-desc" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{description=@{hypnotism-desc}}}"></button>
<h4 data-i18n="hypnotism-label">Hypnotism</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_hypnotism_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_hypnotism_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_hypnotism_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_hypnotism_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_hypnotism_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_hypnotism-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_hypnotism_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_hypnotism-desc" type="text" value="
Hypnotism has powerful effects but requires a subject to willingly focus
on you for 10 minutes. They dont need to know you are hypnotizing
them. A lecturer, therapist, or Preacher could hypnotize people during
their daily work. You may Hypnotize yourself if you so desire. These
effects can last for up to one day with one dot, one week with two dots,
and one month with three dots.&lt;/br&gt;&lt;/br&gt;
• You can adjust peoples habits slightly. For example, change the route
someone takes to work, make them dislike their favorite food, or other
such adjustments.&lt;/br&gt;&lt;/br&gt;
•• You can make people behave strongly against their character, but
they will not willingly harm themselves or put themselves in harms way.
If they are compelled to act against their morals, they can roll Force, to
break the hypnotism before taking the action. You can also put someone
or yourself into a healing trance that doubles energy and health recovery.&lt;/br&gt;&lt;/br&gt;
••• You can hide complete control of a person in their psyche to
force them to behave exactly as you want them to. In this state, they can
behave against their own character and against their own morals or selfpreservation. This state lasts until the condition of your choosing or one
month.&lt;/br&gt;&lt;/br&gt;
•••• You can perform all these types of hypnosis on an entire
room of people all at once. You must spend the energy for the level of
hypnotism +4 to do so. This hypnotism doesnt target specific people, so
any onlooker or unexpected person to witness it may also fall victim."/>
</div>
<!-- Medium -->
<input class="sheet-hiddena sheet-fullspan" name="attr_roll-medium" type="text" value="0"/>
<div class="sheet-main-skills sheet-main-skills-medium" title="Empathy + Investigate">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_medium" type="roll" value="@{roll-medium}"></button>
<button class="sheet-hidden" name="roll_show-medium-desc" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{description=@{medium-desc}}}"></button>
<h4 data-i18n="medium-label">Medium</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_medium_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_medium_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_medium_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_medium_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_medium_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_medium-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_medium_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_medium-desc" type="text" value="
You can reach out to the dead, and they will reach back. Spirits of restless
dead wander the world, unable to interact with the tangible word.
Your mind is able to cross that divide. A great deal of knowledge can
be gained from those between worlds, though they arent always fully
coherent.&lt;/br&gt;&lt;/br&gt;
Using medium is unopposed, unless the ghost is unwilling.&lt;/br&gt;&lt;/br&gt;
• You can see nearby spirits for 1 minute, and hear what they are saying,
They can not hear you, but might respond to nearby people or objects.&lt;/br&gt;&lt;/br&gt;
•• You can see and hear nearby spirits for 1 minute. If you have an
object closely associated with one of the spirits, that spirit can hear you
and give one-word answers and simple gestures in response. Spirits
might not be truthful or cooperative.&lt;/br&gt;&lt;/br&gt;
••• You can hold a seance to summon a particular spirit to speak
to. It takes an uninterrupted half-hour, and an object or willing person
closely associated with the spirit. After that hour you can ask 3 questions
to the spirit. It can respond to each question in 6 words. Spirits might not
be truthful or cooperative.&lt;/br&gt;&lt;/br&gt;
•••• You can allow a spirit to possess you, allowing them to speak
and act on the material world. A spirit might refuse to leave, and they
arent always easy to force out. Until you do remove them, they have full
control of your body."/>
</div>
<!-- Read Minds -->
<input class="sheet-hiddena sheet-fullspan" name="attr_roll-readminds" type="text" value="0"/>
<div class="sheet-main-skills sheet-main-skills-readminds" title="Empathy + Sneak">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_readminds" type="roll" value="@{roll-readminds}"></button>
<button class="sheet-hidden" name="roll_show-readminds-desc" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{description=@{readminds-desc}}}"></button>
<h4 data-i18n="read-minds-label">Read Minds</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_readminds_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_readminds_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_readminds_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_readminds_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_readminds_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_readminds-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_readminds_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_readminds-desc" type="text" value="
If you can see someones eyes you can peer into their mind.&lt;/br&gt;&lt;/br&gt;
• See Auras for 10 seconds. You can look at people to get a sense
of their emotions and nature.&lt;/br&gt;&lt;/br&gt;
•• Read Surface Thoughts for 30 seconds. You can hear their
stream of thoughts.&lt;/br&gt;&lt;/br&gt;
••• Reed Deep Thoughts for 1 minute. You can delve into their
memories and hidden thoughts.&lt;/br&gt;&lt;/br&gt;
•••• You enter the mind of your target, and in an instant,
you can gather all the information they have. If this target has any
addictions or phobias, you inherit those
"/>
</div>
<input class="sheet-hiddena sheet-fullspan" name="attr_roll-suggestion" type="text" value="0"/>
<!-- Suggestion -->
<div class="sheet-main-skills sheet-main-skills-suggestion" title="Guile + Force">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_suggestion" type="roll" value="@{roll-suggestion}"></button>
<button class="sheet-hidden" name="roll_show-suggestion-desc" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{description=@{suggestion-desc}}}"></button>
<h4 data-i18n="suggestion-label">Suggestion</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_suggestion_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_suggestion_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_suggestion_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_suggestion_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_suggestion_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_suggestion-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_suggestion_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_suggestion-desc" type="text" value="
With a single phrase, you can convince people to do things they
otherwise might not have done, though it has to be something
they might reasonably do. You might make a bouncer let you into a
bar, or a security guard with tobacco addiction take a smoke break.
When the suggestion ends, the subject will not know they were
compelled, rather they will rationalize their choices, but might work
to undo their compelled actions.&lt;/br&gt;&lt;/br&gt;
• The suggestion lasts for 30 seconds&lt;/br&gt;&lt;/br&gt;
•• The suggestion lasts for 30 minutes&lt;/br&gt;&lt;/br&gt;
••• The suggestion lasts for 3 hours&lt;/br&gt;&lt;/br&gt;
•••• The suggestion lasts for 3 hours and they will now take
actions they would otherwise have not reasonably done. After the
suggestion is complete, roll 1d12. On 1 the subject dies."/>
</div>
<input class="sheet-hiddena sheet-fullspan" name="attr_roll-psychometry" type="text" value=""/>
<!-- Psychometry -->
<div class="sheet-main-skills sheet-main-skills-psychometry" title="Empathy + Notice">
<div class="sheet-noclickhereallowed"></div>
<div class="sheet-button-holder">
<button class="sheet-button-attack" name="roll_psychometry" type="roll" value="@{roll-psychometry}"></button>
<button class="sheet-hidden" name="roll_show-psychometry-desc" type="roll" value="@{global-privacy-status} &amp;{template:moonshine} {{description=@{psychometry-desc}}}"></button>
<h4 data-i18n="psychometry-label">Psychometry</h4>
</div>
<input class="sheet-minimal-checkbox" name="attr_psychometry_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_psychometry_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_psychometry_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox" name="attr_psychometry_4" type="checkbox" value="1"/>
<input class="sheet-hiddena" name="attr_psychometry_total" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_psychometry-checked" type="number" value="0"/>
<input class="sheet-hiddena" name="attr_psychometry_roll" type="text" value="1d12"/>
<input class="sheet-hiddena" name="attr_psychometry-desc" type="text" value="
You can learn a great deal from touching an object and sensing its
history. While the objects memory will mostly be clear, faces are
impossible to identify from the visions.&lt;/br&gt;&lt;/br&gt;
• You can see the last hour of an objects history.&lt;/br&gt;&lt;/br&gt;
•• You can see the last day of an objects history.&lt;/br&gt;&lt;/br&gt;
••• You can see the last month of an objects history.&lt;/br&gt;&lt;/br&gt;
•••• You can see the last century of an objects history.
You become deeply attached to this item and losing it causes great strife"/>
</div>
</div>
</div>
</div>
<div class="sheet-standardbox sheet-standardbox3">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container2 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration2-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration2-item"></div>
</div>
</div>
<div class="sheet-main-flaws-section">
<div class="sheet-button-holder">
<div class="sheet-noclickhereallowed"></div>
<input class="sheet-minimal-checkbox" name="attr_flaw1-checked" type="checkbox" value="1"/>
</div>
<input class="sheet-left" data-i18n-placeholder="text-placeholder" name="attr_flaw1-name" placeholder="-" type="text"/>
<div class="sheet-button-holder">
<div class="sheet-noclickhereallowed"></div>
<input class="sheet-minimal-checkbox" name="attr_flaw2-checked" type="checkbox" value="1"/>
</div>
<input class="sheet-left" data-i18n-placeholder="text-placeholder" name="attr_flaw2-name" placeholder="-" type="text"/>
<div class="sheet-button-holder">
<div class="sheet-noclickhereallowed"></div>
<input class="sheet-minimal-checkbox" name="attr_flaw3-checked" type="checkbox" value="1"/>
</div>
<input class="sheet-left" data-i18n-placeholder="text-placeholder" name="attr_flaw3-name" placeholder="-" type="text"/>
</div>
</div>
</div>
<!-- STANDING SECTION -->
<div class="sheet-standardbox sheet-standardbox3">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container2 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration2-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration2-item"></div>
</div>
</div>
<div class="sheet-main-skills-subsection">
<div class="sheet-main-skills sheet-main-skills2">
<h4 data-i18n="contacts-label">Contacts</h4>
<input class="sheet-minimal-checkbox sheet-contacts sheet-radio1" name="attr_contacts_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-contacts sheet-radio2" name="attr_contacts_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-contacts sheet-radio3" name="attr_contacts_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-contacts sheet-radio4" name="attr_contacts_4" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-contacts sheet-radio5" name="attr_contacts_5" type="checkbox" value="1"/>
</div>
<div class="sheet-main-skills sheet-main-skills2">
<h4 data-i18n="fame-label">Fame</h4>
<input class="sheet-minimal-checkbox sheet-fame sheet-radio1" name="attr_fame_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-fame sheet-radio2" name="attr_fame_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-fame sheet-radio3" name="attr_fame_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-fame sheet-radio4" name="attr_fame_4" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-fame sheet-radio5" name="attr_fame_5" type="checkbox" value="1"/>
</div>
<div class="sheet-main-skills sheet-main-skills2">
<h4 data-i18n="wealth-label">Wealth</h4>
<input class="sheet-minimal-checkbox sheet-wealth sheet-radio1" name="attr_wealth_1" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-wealth sheet-radio2" name="attr_wealth_2" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-wealth sheet-radio3" name="attr_wealth_3" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-wealth sheet-radio4" name="attr_wealth_4" type="checkbox" value="1"/>
<input class="sheet-minimal-checkbox sheet-wealth sheet-radio5" name="attr_wealth_5" type="checkbox" value="1"/>
</div>
</div>
</div>
</div>
</div>
<!-- -->
<!-- VERY LAST DIV -->
<div class="sheet-main-arroundlast-section">
<div class="sheet-main-experience-section">
<h1 data-i18n="experience-label">Experience</h1>
<div class="sheet-standardbox sheet-standardbox1">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container2 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration2-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration2-item"></div>
</div>
</div>
<input class="sheet-inputchar" name="attr_experience_max" readonly="" type="text" value=""/>
<h4>/</h4>
<input class="sheet-inputchar" name="attr_experience" type="text" value="25"/>
</div>
</div>
<div class="sheet-triplecolumn">
<h4 data-i18n="spent-label">Spent</h4>
<h4> </h4>
<h4 data-i18n="total-label">Total</h4>
</div>
</div>
<!-- -->
<div class="sheet-main-equipment" style="grid-column: 2/-1">
<h1 data-i18n="equipment-label">Equipment</h1>
<div class="sheet-standardbox sheet-standardbox3">
<div class="sheet-oneline">
<div class="sheet-decoration-container sheet-decoration-container2 sheet-fullspan">
<div class="sheet-decoration-top">
<div class="sheet-decoration2-item"></div>
</div>
<div class="sheet-decoration-bottom">
<div class="sheet-decoration2-item"></div>
</div>
</div>
<fieldset class="repeating_equipment">
<div class="sheet-main-equipment-section">
<input data-i18n-placeholder="equipment-s-name-placeholder" name="attr_equipment-name1" placeholder="Equipment's Name" type="text"/>
<input data-i18n-placeholder="equipment-s-name-placeholder" name="attr_equipment-name2" placeholder="Equipment's Name" type="text"/>
</div>
</fieldset>
</div>
</div>
</div>
<!-- -->
</div>
</div>
<h4 class="sheet-separative" style="margin-top: 25px !important; opacity: 0% !important"></h4>
</div>
<div class="sheet-cogs-container" style="width: 35px !important;right: -5px;bottom: 4px;position: absolute;">
<input class="sheet-cogs-input sheet-cogs-hideshow" name="attr_sheet-cogs-hideshow" type="checkbox"/>
<span class="sheet-cogs-icon">y</span>
</div>
</div>
<input class="sheet-hidden sheet-cogs-hideshow" name="attr_sheet-cogs-hideshow" type="checkbox"/>
<div class="sheet-import-export sheet-doublecolumn sheet-cogs-hideshow-div1">
<button data-i18n="export-label" name="act_export_json" style="height: 25px !important;margin-top: 10px !important;" type="action">Export</button>
<button data-i18n="import-label" name="act_import_json" style="height: 25px !important;margin-top: 10px !important;" type="action">Import</button>
<textarea class="sheet-fullspan" name="attr_importexport" style="height:100px!important"></textarea>
<script type="text/worker">
const RAW_ATTRS = [
"archery_1","archery_2","archery_3","archery_4","archery_bonus","archery_damage","archery_roll","archery_special","archery_specialisactive","archery_total",
"assassinate-checked","assassinate-desc","assassinate_1","assassinate_2","assassinate_3","assassinate_4","assassinate_roll","assassinate_total",
"athletics_1","athletics_2","athletics_3","athletics_4","athletics_bonus","athletics_roll","athletics_total",
"blackjacks_1","blackjacks_2","blackjacks_3","blackjacks_4","blackjacks_bonus","blackjacks_damage","blackjacks_roll","blackjacks_special","blackjacks_specialisactive","blackjacks_total",
"blackmarket-checked","blackmarket_1","blackmarket_2","blackmarket_3","blackmarket_4","blackmarket_roll","blackmarket_total",
"character_concept","character_name","character_player",
"charm",
"coldread-checked","coldread_1","coldread_2","coldread_3","coldread_4","coldread_roll","coldread_total",
"contacts_1","contacts_2","contacts_3","contacts_4","contacts_5",
"deflect_1","deflect_2","deflect_3","deflect_4","deflect_bonus","deflect_roll","deflect_total",
"disguise_1","disguise_2","disguise_3","disguise_4","disguise_bonus","disguise_roll","disguise_total",
"drive_1","drive_2","drive_3","drive_4","drive_bonus","drive_roll","drive_total",
"empathy_1","empathy_2","empathy_3","empathy_4","empathy_bonus","empathy_roll","empathy_total",
"energy","energy_max","energy_mod",
"evade_1","evade_2","evade_3","evade_4","evade_bonus","evade_roll","evade_total",
"experience","experience_max",
"fame_1","fame_2","fame_3","fame_4","fame_5",
"fix_1","fix_2","fix_3","fix_4","fix_bonus","fix_roll","fix_total",
"flaw1-checked","flaw1-name","flaw2-checked","flaw2-name","flaw3-checked","flaw3-name",
"focus","force_1","force_2","force_3","force_4","force_bonus","force_roll","force_total",
"forensics-checked","forensics_1","forensics_2","forensics_3","forensics_4","forensics_roll","forensics_total",
"forge-checked","forge_1","forge_2","forge_3","forge_4","forge_roll","forge_total",
"global-privacy-status",
"grenades_1","grenades_2","grenades_3","grenades_4","grenades_bonus","grenades_damage","grenades_roll","grenades_special","grenades_specialisactive","grenades_total",
"grit","guile_1","guile_2","guile_3","guile_4","guile_bonus","guile_roll","guile_total",
"hp","hp_max","hp_mod",
"hypnotism-checked","hypnotism_1","hypnotism_2","hypnotism_3","hypnotism_4","hypnotism_roll","hypnotism_total",
"improvised_1","improvised_2","improvised_3","improvised_4","improvised_bonus","improvised_damage","improvised_roll","improvised_special","improvised_specialisactive","improvised_total",
"infiltrate-checked","infiltrate_1","infiltrate_2","infiltrate_3","infiltrate_4","infiltrate_roll","infiltrate_total",
"intimidate_1","intimidate_2","intimidate_3","intimidate_4","intimidate_bonus","intimidate_roll","intimidate_total",
"investigate_1","investigate_2","investigate_3","investigate_4","investigate_bonus","investigate_roll","investigate_total",
"knives_1","knives_2","knives_3","knives_4","knives_bonus","knives_damage","knives_roll","knives_special","knives_specialisactive","knives_total",
"knuckles_1","knuckles_2","knuckles_3","knuckles_4","knuckles_bonus","knuckles_damage","knuckles_roll","knuckles_special","knuckles_specialisactive","knuckles_total",
"law-checked","law_1","law_2","law_3","law_4","law_roll","law_total",
"machineguns_1","machineguns_2","machineguns_3","machineguns_4","machineguns_bonus","machineguns_damage","machineguns_roll","machineguns_special","machineguns_specialisactive","machineguns_total",
"medium-checked","medium_1","medium_2","medium_3","medium_4","medium_roll","medium_total",
"medicine-checked","medicine_1","medicine_2","medicine_3","medicine_4","medicine_roll","medicine_total",
"moxie-checked","moxie_1","moxie_2","moxie_3","moxie_4","moxie_roll","moxie_total",
"notice_1","notice_2","notice_3","notice_4","notice_bonus","notice_roll","notice_total",
"performances-checked","performances_1","performances_2","performances_3","performances_4","performances_roll","performances_total",
"pianowire_1","pianowire_2","pianowire_3","pianowire_4","pianowire_bonus","pianowire_damage","pianowire_roll","pianowire_special","pianowire_specialisactive","pianowire_total",
"pickpocket-checked","pickpocket_1","pickpocket_2","pickpocket_3","pickpocket_4","pickpocket_roll","pickpocket_total",
"pistols_1","pistols_2","pistols_3","pistols_4","pistols_bonus","pistols_damage","pistols_roll","pistols_special","pistols_specialisactive","pistols_total",
"pontificate-checked","pontificate_1","pontificate_2","pontificate_3","pontificate_4","pontificate_roll","pontificate_total",
"presence-checked","presence_1","presence_2","presence_3","presence_4","presence_roll","presence_total",
"psychometry-checked","psychometry_1","psychometry_2","psychometry_3","psychometry_4","psychometry_roll","psychometry_total",
"rapiers_1","rapiers_2","rapiers_3","rapiers_4","rapiers_bonus","rapiers_damage","rapiers_roll","rapiers_special","rapiers_specialisactive","rapiers_total",
"readminds-checked","readminds_1","readminds_2","readminds_3","readminds_4","readminds_roll","readminds_total",
"resilience_1","resilience_2","resilience_3","resilience_4","resilience_bonus","resilience_roll","resilience_total",
"rifles_1","rifles_2","rifles_3","rifles_4","rifles_bonus","rifles_damage","rifles_roll","rifles_special","rifles_specialisactive","rifles_total",
"shotguns_1","shotguns_2","shotguns_3","shotguns_4","shotguns_bonus","shotguns_damage","shotguns_roll","shotguns_special","shotguns_specialisactive","shotguns_total",
"smuggle_1","smuggle_2","smuggle_3","smuggle_4","smuggle_bonus","smuggle_roll","smuggle_total",
"sneak_1","sneak_2","sneak_3","sneak_4","sneak_bonus","sneak_roll","sneak_total",
"sniper-checked","sniper_1","sniper_2","sniper_3","sniper_4","sniper_roll","sniper_total",
"snoop-checked","snoop_1","snoop_2","snoop_3","snoop_4","snoop_roll","snoop_total",
"speech_1","speech_2","speech_3","speech_4","speech_bonus","speech_roll","speech_total",
"stealth",
"steelmind-checked","steelmind_1","steelmind_2","steelmind_3","steelmind_4","steelmind_roll","steelmind_total",
"studious-checked","studious_1","studious_2","studious_3","studious_4","studious_roll","studious_total",
"suckerpunch-checked","suckerpunch_1","suckerpunch_2","suckerpunch_3","suckerpunch_4","suckerpunch_roll","suckerpunch_total",
"suggestion-checked","suggestion_1","suggestion_2","suggestion_3","suggestion_4","suggestion_roll","suggestion_total",
"tenacity_1","tenacity_2","tenacity_3","tenacity_4","tenacity_roll","tenacity_total",
"totalpointscore","unwind",
"wealth_1","wealth_2","wealth_3","wealth_4","wealth_5"
];
const REPEATING = { equipment: ["equipment-name1","equipment-name2"] };
const safeParse = (txt) => { try { return JSON.parse(txt); } catch (e) { return null; } };
const chunk = (arr, size) => {
const out = [];
for (let i = 0; i < arr.length; i += size) out.push(arr.slice(i, i + size));
return out;
};
const shouldExclude = (k) =>
k === "global-privacy-status" ||
/^roll-/.test(k) ||
/-desc\b/.test(k) ||
/_special/.test(k);
const getAllowedAttrs = () => {
const uniq = Array.from(new Set(RAW_ATTRS.map(s => String(s).trim()).filter(Boolean)));
return uniq.filter(k => !shouldExclude(k));
};
on("clicked:export_json", () => {
const keys = getAllowedAttrs();
const batches = chunk(keys, 80);
const out = { v: 1, attrs: {}, repeating: {} };
const readAttrsBatch = (i) => {
if (i >= batches.length) return exportRepeating();
const batch = batches[i];
getAttrs(batch, values => {
batch.forEach(k => { out.attrs[k] = values[k] ?? ""; });
readAttrsBatch(i + 1);
});
};
const exportRepeating = () => {
const sections = Object.keys(REPEATING);
let si = 0;
const nextSection = () => {
if (si >= sections.length) {
setAttrs({ importexport: JSON.stringify(out) });
return;
}
const section = sections[si++];
const fields = REPEATING[section];
const secName = `repeating_${section}`;
getSectionIDs(secName, ids => {
out.repeating[section] = [];
if (!ids || !ids.length) return nextSection();
const attrList = [];
ids.forEach(id => fields.forEach(f => attrList.push(`${secName}_${id}_${f}`)));
getAttrs(attrList, vals => {
ids.forEach(id => {
const row = { id };
fields.forEach(f => { row[f] = vals[`${secName}_${id}_${f}`] ?? ""; });
out.repeating[section].push(row);
});
nextSection();
});
});
};
nextSection();
};
readAttrsBatch(0);
});
on("clicked:import_json", () => {
getAttrs(["importexport"], v => {
const data = safeParse(v.importexport || "");
if (!data || typeof data !== "object") return;
const attrsIn = (data.attrs && typeof data.attrs === "object") ? data.attrs : {};
const repIn = (data.repeating && typeof data.repeating === "object") ? data.repeating : {};
const allowed = new Set(getAllowedAttrs());
const updates = {};
Object.keys(attrsIn).forEach(k => {
if (allowed.has(k)) updates[k] = attrsIn[k];
});
const keys = Object.keys(updates);
const batches = chunk(keys, 80);
const applyAttrsBatch = (i) => {
if (i >= batches.length) return importRepeating();
const b = batches[i];
const u = {};
b.forEach(k => u[k] = updates[k]);
setAttrs(u, () => applyAttrsBatch(i + 1));
};
const importRepeating = () => {
Object.keys(REPEATING).forEach(section => {
const rows = repIn[section];
if (!Array.isArray(rows)) return;
const fields = REPEATING[section];
const secName = `repeating_${section}`;
rows.forEach(r => {
const newId = generateRowID();
const rowUpdates = {};
fields.forEach(f => {
rowUpdates[`${secName}_${newId}_${f}`] = (r && r[f] != null) ? r[f] : "";
});
setAttrs(rowUpdates);
});
});
};
applyAttrsBatch(0);
});
});
</script>
</div>
</div>
<script id="✓ CALC : Auto HP_MAX and ENERGY_MAX" type="text/worker">
on("sheet:opened change:grit change:stealth change:focus change:charm", function () {
getAttrs(["grit", "stealth", "focus", "charm"], function(values) {
const grit = parseInt(values.grit) || 0;
const stealth = parseInt(values.stealth) || 0;
const focus = parseInt(values.focus) || 0;
const charm = parseInt(values.charm) || 0;
const hp_max = grit + stealth;
const energy_max = focus + charm;
setAttrs({
"hp_max": hp_max,
"energy_max": energy_max
});
});
});
</script>
<script id="✓ CALC : Skills &amp; Weapons Levels Total + Roll Type" type="text/worker">
const skills = [
"athletics", "force", "intimidate", "resilience",
"disguise", "evade", "smuggle", "sneak",
"drive", "fix", "investigate", "notice",
"deflect", "empathy", "guile", "speech",
"blackjacks", "knuckles", "shotguns",
"archery", "pianowire", "pistols",
"grenades", "rapiers", "rifles",
"improvised", "knives", "machineguns"
];
skills.forEach(skill => {
on(`sheet:opened change:${skill}_1 change:${skill}_2 change:${skill}_3 change:${skill}_4`, function() {
getAttrs([
`${skill}_1`,
`${skill}_2`,
`${skill}_3`,
`${skill}_4`
], function(values) {
const checks = [
parseInt(values[`${skill}_1`]) || 0,
parseInt(values[`${skill}_2`]) || 0,
parseInt(values[`${skill}_3`]) || 0,
parseInt(values[`${skill}_4`]) || 0
];
const totalChecks = checks.reduce((acc, val) => acc + (val ? 1 : 0), 0);
let skill_total = 0;
let skill_roll = "1d12";
if (totalChecks === 1) {
skill_total = 1;
skill_roll = "3d12kl2";
} else if (totalChecks === 2) {
skill_total = 3;
skill_roll = "3d12m1";
} else if (totalChecks === 3) {
skill_total = 6;
skill_roll = "3d12kh2";
} else if (totalChecks === 4) {
skill_total = 15;
skill_roll = "3d12";
}
setAttrs({
[`${skill}_total`]: skill_total,
[`${skill}_roll`]: skill_roll
});
});
});
});
</script>
<script id="✓ CALC : Specialities Levels Total + Roll Type" type="text/worker">
const specialities = [
"endurance", "presence", "steelmind", "suckerpunch", "tenacity",
"assassinate", "forge", "infiltrate", "pickpocket", "snoop",
"forensics", "law", "medicine", "sniper", "studious",
"blackmarket", "coldread", "pontificate", "moxie", "performances"
];
const forcedRollSpecialities = ["endurance", "studious", "pontificate"];
specialities.forEach(speciality => {
on(`sheet:opened change:${speciality}_1 change:${speciality}_2 change:${speciality}_3 change:${speciality}_4`, function() {
getAttrs([
`${speciality}_1`,
`${speciality}_2`,
`${speciality}_3`,
`${speciality}_4`
], function(values) {
const checks = [
parseInt(values[`${speciality}_1`]) || 0,
parseInt(values[`${speciality}_2`]) || 0,
parseInt(values[`${speciality}_3`]) || 0,
parseInt(values[`${speciality}_4`]) || 0
];
const totalChecks = checks.reduce((acc, val) => acc + (val ? 1 : 0), 0);
let speciality_total = 0;
let speciality_roll = "1d12";
if (totalChecks === 1) {
speciality_total = 2;
speciality_roll = "3d12kl2";
} else if (totalChecks === 2) {
speciality_total = 6;
speciality_roll = "3d12m1";
} else if (totalChecks === 3) {
speciality_total = 12;
speciality_roll = "3d12kh2";
} else if (totalChecks === 4) {
speciality_total = 30;
speciality_roll = "3d12";
}
if (forcedRollSpecialities.includes(speciality)) {
speciality_roll = "1d12"; // On écrase seulement le roll
}
setAttrs({
[`${speciality}_total`]: speciality_total,
[`${speciality}_roll`]: speciality_roll,
[`${speciality}-checked`]: totalChecks
});
});
});
});
</script>
<script id="✓ CALC : Psychic Skills Levels Total + Roll Type" type="text/worker">
const psychicSkills = [
"hypnotism", "medium", "psychometry", "readminds", "suggestion"
];
psychicSkills.forEach(psychic => {
on(`sheet:opened change:${psychic}_1 change:${psychic}_2 change:${psychic}_3 change:${psychic}_4`, function() {
getAttrs([
`${psychic}_1`,
`${psychic}_2`,
`${psychic}_3`,
`${psychic}_4`
], function(values) {
const checks = [
parseInt(values[`${psychic}_1`]) || 0,
parseInt(values[`${psychic}_2`]) || 0,
parseInt(values[`${psychic}_3`]) || 0,
parseInt(values[`${psychic}_4`]) || 0
];
const totalChecks = checks.reduce((acc, val) => acc + (val ? 1 : 0), 0);
let psychic_total = 0;
let psychic_roll = "1d12";
if (totalChecks === 1) {
psychic_total = 3;
psychic_roll = "3d12kl2";
} else if (totalChecks === 2) {
psychic_total = 9;
psychic_roll = "3d12m1";
} else if (totalChecks === 3) {
psychic_total = 18;
psychic_roll = "3d12kh2";
} else if (totalChecks === 4) {
psychic_total = 45;
psychic_roll = "3d12";
}
setAttrs({
[`${psychic}_total`]: psychic_total,
[`${psychic}-checked`]: totalChecks,
[`${psychic}_roll`]: psychic_roll
});
});
});
});
</script>
<script id="✓-SCRIPTCALC : Experience Max and Visual Error" type="text/worker">
const allTotals = [
"athletics", "force", "intimidate", "resilience",
"disguise", "evade", "smuggle", "sneak",
"drive", "fix", "investigate", "notice",
"deflect", "empathy", "guile", "speech",
"blackjacks", "knuckles", "shotguns",
"archery", "pianowire", "pistols",
"grenades", "rapiers", "rifles",
"improvised", "knives", "machineguns",
"hypnotism", "medium", "psychometry", "readminds", "suggestion",
"endurance", "presence", "steelmind", "suckerpunch", "tenacity",
"assassinate", "forge", "infiltrate", "pickpocket", "snoop",
"forensics", "law", "medicine", "sniper", "studious",
"blackmarket", "coldread", "pontificate", "moxie", "performances"
];
function updateExperience() {
getAttrs([
...allTotals.map(skill => `${skill}_total`),
"experience",
"flaw1-checked",
"flaw2-checked",
"flaw3-checked"
], function(values) {
let sum = 0;
sum += allTotals.reduce((acc, skill) => {
return acc + (parseInt(values[`${skill}_total`]) || 0);
}, 0);
const flaws = ["flaw1-checked", "flaw2-checked", "flaw3-checked"];
flaws.forEach(flaw => {
if (values[flaw] && values[flaw] !== "0") {
sum -= 2;
}
});
const experience = parseInt(values.experience) || 0;
setAttrs({ experience_max: sum }, { silent: true });
if (experience < sum) {
$20(".sheet-main-experience-section").addClass("sheet-main-experience-error");
} else {
$20(".sheet-main-experience-section").removeClass("sheet-main-experience-error");
}
});
}
on([...allTotals.map(skill => `change:${skill}_total`), "change:experience", "change:flaw1-checked", "change:flaw2-checked", "change:flaw3-checked"].join(" "), updateExperience);
on("sheet:opened", updateExperience);
</script>
<script id="✓-SCRIPTCALC : Skills Prerequisites Full System Final" type="text/worker">
const skillPrerequisites = {
"forensics": ["notice_total", "investigate_total"],
"law": ["speech_total", "investigate_total"],
"medicine": ["fix_total", "resilience_total"],
"sniper": ["notice_total", "evade_total"],
"studious": ["investigate_total", "force_total"],
"blackmarket": ["smuggle_total", "drive_total"],
"coldread": ["notice_total", "empathy_total"],
"moxie": ["speech_total", "force_total"],
"performances": ["empathy_total", "force_total"],
"pontificate": ["speech_total", "resilience_total"],
"assassinate": ["guile_total", "sneak_total"],
"forge": ["empathy_total", "fix_total"],
"infiltrate": ["sneak_total", "force_total"],
"pickpocket": ["smuggle_total", "guile_total"],
"snoop": ["notice_total", "evade_total"],
"endurance": ["resilience_total", "deflect_total"],
"presence": ["intimidate_total", "empathy_total"],
"steelmind": ["force_total", "deflect_total"],
"suckerpunch": ["athletics_total", "guile_total"],
"tenacity": ["resilience_total", "evade_total"],
"hypnotism": ["speech_total", "disguise_total"],
"medium": ["empathy_total", "investigate_total"],
"psychometry": ["empathy_total", "notice_total"],
"readminds": ["empathy_total", "sneak_total"],
"suggestion": ["guile_total", "force_total"]
};
function checkSkillPrerequisites() {
const attributesToGet = [];
for (const prereqs of Object.values(skillPrerequisites)) {
attributesToGet.push(...prereqs);
}
getAttrs(attributesToGet, function(values) {
for (const [skill, prereqs] of Object.entries(skillPrerequisites)) {
const [prereq1, prereq2] = prereqs;
const prereq1Value = parseInt(values[prereq1]) || 0;
const prereq2Value = parseInt(values[prereq2]) || 0;
const shouldStrike = (prereq1Value <= 0 || prereq2Value <= 0);
const skillSelector = `.sheet-main-skills-${skill}`;
if (shouldStrike) {
$20(skillSelector).addClass("sheet-striked");
const updates = {};
updates[`${skill}_1`] = "0";
updates[`${skill}_2`] = "0";
updates[`${skill}_3`] = "0";
updates[`${skill}_4`] = "0";
setAttrs(updates);
} else {
$20(skillSelector).removeClass("sheet-striked");
}
}
});
}
on(
`sheet:opened ${Object.values(skillPrerequisites).flat().map(attr => `change:${attr}`).join(" ")}`,
checkSkillPrerequisites
);
</script>
<script id="✓-SCRIPTCALC : Auto Flaw Checkbox" type="text/worker">
const updateFlawCheckboxes = () => {
getAttrs(["flaw1-name", "flaw2-name", "flaw3-name"], function(values) {
const updates = {};
updates["flaw1-checked"] = values["flaw1-name"] && values["flaw1-name"].trim() !== "" ? "1" : "0";
updates["flaw2-checked"] = values["flaw2-name"] && values["flaw2-name"].trim() !== "" ? "1" : "0";
updates["flaw3-checked"] = values["flaw3-name"] && values["flaw3-name"].trim() !== "" ? "1" : "0";
setAttrs(updates);
});
};
on("sheet:opened change:flaw1-name change:flaw2-name change:flaw3-name", updateFlawCheckboxes);
</script>
<script id="✓-SCRIPTCALC : Core Stats Validation" type="text/worker">
const updateCoreValidation = () => {
getAttrs(["grit", "stealth", "focus", "charm"], values => {
const grit = parseInt(values.grit, 10) || 0;
const stealth = parseInt(values.stealth, 10) || 0;
const focus = parseInt(values.focus, 10) || 0;
const charm = parseInt(values.charm, 10) || 0;
const total = grit + stealth + focus + charm;
const hasInvalid =
grit < 2 || grit > 6 ||
stealth < 2 || stealth > 6 ||
focus < 2 || focus > 6 ||
charm < 2 || charm > 6 ||
total !== 12;
setAttrs({ totalpointscore: total });
if (hasInvalid) {
$20(".sheet-inputchar.sheet-core").addClass("sheet-invalid");
$20(".sheet-core-reverse").removeClass("sheet-hidden");
} else {
$20(".sheet-inputchar.sheet-core").removeClass("sheet-invalid");
$20(".sheet-core-reverse").addClass("sheet-hidden");
}
});
};
on(
"sheet:opened change:grit change:stealth change:focus change:charm",
updateCoreValidation
);
</script>
<script id="✓-SCRIPTCALC : Proper Cascade Checkboxes" type="text/worker">
const cascadingSkills = [
"athletics", "force", "intimidate", "resilience",
"disguise", "evade", "smuggle", "sneak",
"drive", "fix", "investigate", "notice",
"deflect", "empathy", "guile", "speech",
"blackjacks", "knuckles", "shotguns",
"archery", "pianowire", "pistols",
"grenades", "rapiers", "rifles",
"improvised", "knives", "machineguns",
"hypnotism", "medium", "psychometry", "readminds", "suggestion",
"endurance", "presence", "steelmind", "suckerpunch", "tenacity",
"assassinate", "forge", "infiltrate", "pickpocket", "snoop",
"forensics", "law", "medicine", "sniper", "studious",
"blackmarket", "coldread", "pontificate", "moxie", "performances"
];
const fiveLevelSkills = ["contacts", "fame", "wealth"];
const allSkills = [...cascadingSkills, ...fiveLevelSkills];
allSkills.forEach(skill => {
const maxLevel = fiveLevelSkills.includes(skill) ? 5 : 4;
for (let level = 1; level <= maxLevel; level++) {
on(`change:${skill}_${level}`, function(event) {
const updates = {};
const checked = event.newValue === "1";
const levelInt = parseInt(level);
if (checked) {
// Fill in all lower dots (dot N itself is already set by the user click)
for (let i = 1; i < levelInt; i++) {
updates[`${skill}_${i}`] = "1";
}
} else {
// Clear all higher dots (dot N itself is already unset by the user click)
for (let i = levelInt + 1; i <= maxLevel; i++) {
updates[`${skill}_${i}`] = "0";
}
}
if (Object.keys(updates).length > 0) setAttrs(updates);
});
}
});
</script>
<script id="✓ INIT : Auto-Update Skill Bonuses (+untrained malus)" type="text/worker">
const skillMapping = {
grit: [
"athletics", "force", "intimidate", "resilience",
"blackjacks", "knuckles", "shotguns"
],
stealth: [
"disguise", "evade", "smuggle", "sneak",
"archery", "pianowire", "pistols"
],
focus: [
"drive", "fix", "investigate", "notice",
"grenades", "rapiers", "rifles"
],
charm: [
"deflect", "empathy", "guile", "speech",
"improvised", "knives", "machineguns"
]
};
// Malus si 0 dot (uniquement pour les armes)
const untrainedPenalty = {
blackjacks: -2,
knuckles: -2,
shotguns: -5,
archery: -10,
pianowire: -5,
pistols: -5,
grenades: -5,
rapiers: -10,
rifles: -10,
improvised: -5,
knives: -2,
machineguns: -10
};
// ----- utilitaires -----
const uniq = (arr) => [...new Set(arr)];
const allSkills = uniq([].concat(...Object.values(skillMapping)));
const statAttrs = ["grit","stealth","focus","charm"];
const dotNamesFor = (skill) => [1,2,3,4].map(i => `${skill}_${i}`);
const anyChecked = (values, skill) => dotNamesFor(skill).some(n => values[n] === "1" || values[n] === "on");
function updateSkillBonuses() {
const toGet = [...statAttrs, ...allSkills.flatMap(dotNamesFor)];
getAttrs(toGet, (v) => {
const updates = {};
Object.entries(skillMapping).forEach(([stat, skills]) => {
const base = parseInt(v[stat], 10) || 0;
skills.forEach((skill) => {
const trained = anyChecked(v, skill);
const malus = trained ? 0 : (untrainedPenalty[skill] || 0);
updates[`${skill}_bonus`] = base + malus;
});
});
setAttrs(updates/*, {silent:true}*/);
});
}
// Événements : ouverture, changement des 4 stats, et des dots 1..4 de chaque skill
const events = [
"sheet:opened",
...statAttrs.map(a => `change:${a}`),
...allSkills.flatMap(s => dotNamesFor(s).map(n => `change:${n}`))
].join(" ");
on(events, updateSkillBonuses);
</script>
<script id="✓ INIT : Generate Skill Action Buttons" type="text/worker">
const skills = [
"athletics", "force", "intimidate", "resilience",
"disguise", "evade", "smuggle", "sneak",
"drive", "fix", "investigate", "notice",
"deflect", "empathy", "guile", "speech",
"blackjacks", "knuckles", "shotguns",
"archery", "pianowire", "pistols",
"grenades", "rapiers", "rifles",
"improvised", "knives", "machineguns"
];
function updateSkillRolls() {
const attributesToGet = skills.map(skill => `${skill}_roll`);
getAttrs(attributesToGet, function(values) {
const updates = {};
skills.forEach(skill => {
const rollType = (values[`${skill}_roll`] || "").trim();
let rollText = "";
if (rollType === "1d12") {
rollText = "@{global-privacy-status} &{template:moonshine} " +
"{{categorie=Roll}} {{charactername=@{character_name}}} " +
"{{name=" + skill.charAt(0).toUpperCase() + skill.slice(1) + "}} " +
"{{type=[[1]]}} {{mod=@{" + skill + "_bonus}}} " +
"{{roll=[[[[1d12]]+@{" + skill + "_bonus}]]}} " +
"{{roll1=$[[1]]}}";
}
else if (rollType === "3d12kl2") {
rollText = "@{global-privacy-status} &{template:moonshine} " +
"{{categorie=Roll}} {{charactername=@{character_name}}} " +
"{{name=" + skill.charAt(0).toUpperCase() + skill.slice(1) + "}} " +
"{{type=[[2]]}} {{mod=@{" + skill + "_bonus}}} " +
"{{roll=[[{[[1d12]],[[1d12]],[[1d12]]}kl2+@{" + skill + "_bonus}]]}} " +
"{{roll1=$[[1]]}} {{roll2=$[[2]]}} {{roll3=$[[3]]}}";
}
else if (rollType === "3d12m1") {
rollText = "@{global-privacy-status} &{template:moonshine} " +
"{{categorie=Roll}} {{charactername=@{character_name}}} " +
"{{name=" + skill.charAt(0).toUpperCase() + skill.slice(1) + "}} " +
"{{type=[[3]]}} {{mod=@{" + skill + "_bonus}}} " +
"{{roll=[[[[3d12kl1]]+[[3d12kh1]]+@{" + skill + "_bonus}]]}}" +
"{{roll1=$[[1]]}} {{roll2=$[[2]]}} {{roll3=$[[3]]}}";
}
else if (rollType === "3d12kh2") {
rollText = "@{global-privacy-status} &{template:moonshine} " +
"{{categorie=Roll}} {{charactername=@{character_name}}} " +
"{{name=" + skill.charAt(0).toUpperCase() + skill.slice(1) + "}} " +
"{{type=[[4]]}} {{mod=@{" + skill + "_bonus}}} " +
"{{roll=[[{[[1d12]],[[1d12]],[[1d12]]}kh2+@{" + skill + "_bonus}]]}} " +
"{{roll1=$[[1]]}} {{roll2=$[[2]]}} {{roll3=$[[3]]}}";
}
else if (rollType === "3d12") {
rollText = "@{global-privacy-status} &{template:moonshine} " +
"{{categorie=Roll}} {{charactername=@{character_name}}} " +
"{{name=" + skill.charAt(0).toUpperCase() + skill.slice(1) + "}} " +
"{{type=[[5]]}} {{mod=@{" + skill + "_bonus}}} " +
"{{roll=[[ [[1d12]]+[[1d12]]+[[1d12]]+@{" + skill + "_bonus}]]}} " +
"{{roll1=$[[1]]}} {{roll2=$[[2]]}} {{roll3=$[[3]]}}";
}
else {
rollText = "@{global-privacy-status} &{template:moonshine} " +
"{{categorie=Roll}} {{charactername=@{character_name}}} " +
"{{name=" + skill.charAt(0).toUpperCase() + skill.slice(1) + "}} " +
"{{type=[[0]]}} {{mod=@{" + skill + "_bonus}}} " +
"{{roll=[[1d12+@{" + skill + "_bonus}]]}} {{roll1=$[[1]]}}";
}
updates[`roll-${skill}`] = rollText;
});
setAttrs(updates, {silent: true});
});
}
// Déclencheurs
on("sheet:opened " + skills.map(skill => `change:${skill}_roll`).join(" "), function() {
updateSkillRolls();
});
</script>
<script id="✓ INIT : Generate Psychic Action Buttons" type="text/worker">
const psychicSkills = {
hypnotism: { prereq1: "Speech", prereq2: "Disguise" },
medium: { prereq1: "Empathy", prereq2: "Investigate" },
readminds: { prereq1: "Empathy", prereq2: "Sneak" },
suggestion: { prereq1: "Guile", prereq2: "Force" },
psychometry: { prereq1: "Empathy", prereq2: "Notice" }
};
function getRollData(rollType, skill) {
switch (rollType) {
case "1d12":
return {
roll: "[[[[1d12]]]]",
type: 1,
extras: "{{roll1=$[[0]]}}"
};
case "3d12kl2":
return {
roll: "[[{[[1d12]],[[1d12]],[[1d12]]}kl2]]",
type: 2,
extras: "{{roll1=$[[0]]}} {{roll2=$[[1]]}} {{roll3=$[[2]]}}"
};
case "3d12m1":
return {
roll: "[[[[3d12kl1]]+[[3d12kh1]]]]",
type: 3,
extras: "{{roll1=$[[0]]}} {{roll2=$[[1]]}} {{roll3=$[[2]]}}"
};
case "3d12kh2":
return {
roll: "[[{[[1d12]],[[1d12]],[[1d12]]}kh2]]",
type: 4,
extras: "{{roll1=$[[0]]}} {{roll2=$[[1]]}} {{roll3=$[[2]]}}"
};
case "3d12":
return {
roll: "[[[[1d12]]+[[1d12]]+[[1d12]]]]",
type: 5,
extras: "{{roll1=$[[0]]}} {{roll2=$[[1]]}} {{roll3=$[[2]]}}"
};
default:
return {
roll: "[[[[1d12]]]]",
type: 0,
extras: "{{roll1=$[[0]]}}"
};
}
}
function updatePsychicRolls() {
const skillList = Object.keys(psychicSkills);
const rollFields = skillList.map(skill => `${skill}_roll`);
getAttrs(rollFields, (values) => {
const updates = {};
skillList.forEach(skill => {
const rollType = (values[`${skill}_roll`] || "").trim();
const { roll, type, extras } = getRollData(rollType, skill);
const data = psychicSkills[skill];
const skillName = skill.charAt(0).toUpperCase() + skill.slice(1);
const template = "@{global-privacy-status} &{template:moonshine} "
+ "{{specialities=1}} "
+ `{{roll=${roll}}} `
+ `{{type=[[${type}]]}} `
+ `{{prereq1=${data.prereq1}}} `
+ `{{prereq2=${data.prereq2}}} `
+ `{{name=${skillName}}} `
+ `{{check=@{${skill}-checked}}} `
+ `{{button=[Description](~show-${skill}-desc)}} `
+ extras;
updates[`roll-${skill}`] = template;
});
setAttrs(updates, { silent: true });
});
}
const skillRollTriggers = Object.keys(psychicSkills).map(skill => `change:${skill}_roll`).join(" ");
on(`sheet:opened ${skillRollTriggers}`, () => {
updatePsychicRolls();
});
</script>
<script id="✓-SCRIPTCALC : Weapon damages as expressions (base + dots + bonuses)" type="text/worker">
// Armes (noms = préfixes des champs *_1..*_4, *_damage, *_specialisactive)
const CFG = {
blackjacks: { base: 2, attr: "force" }, // 2 + Force
knuckles: { base: 1, attr: "force" }, // 1 + Force
shotguns: { base: 6 }, // 6
archery: { base: 4 }, // 4
pianowire: { base: 5, attr: "force" }, // 5 + Force
pistols: { base: 4 }, // 4
grenades: { base: 12 }, // 12
rapiers: { base: 3, attr: "guile" }, // 3 + Guile
rifles: { base: 5 }, // 5
improvised: { base: 2, attr: "athletics" }, // 2 + Athletics
knives: { base: 2, attr: "guile" }, // 2 + Guile
machineguns: { base: 7 } // 7
};
// Caracs à points (4 cases chacune)
const ATTRS = ["force","guile","athletics"];
const DOTS_PER_ATTR = 4;
// Bonus des cases #2 et #4
const BONUS_FOR_2 = 2;
const BONUS_FOR_4 = 2;
// Helpers
const isOn = v => v === "1" || v === "on";
const countDots = (values, base) => {
let c = 0;
for (let i = 1; i <= DOTS_PER_ATTR; i++) if (isOn(values[`${base}_${i}`])) c++;
return c;
};
function recalc() {
// Charger tout ce qui peut bouger
const toGet = [];
Object.keys(CFG).forEach(w => { for (let i=1;i<=4;i++) toGet.push(`${w}_${i}`); });
ATTRS.forEach(a => { for (let i=1;i<=4;i++) toGet.push(`${a}_${i}`); });
getAttrs(toGet, (v) => {
const dots = {
force: countDots(v, "force"),
guile: countDots(v, "guile"),
athletics: countDots(v, "athletics")
};
const updates = {};
Object.entries(CFG).forEach(([w, conf]) => {
const parts = [];
// 1) Base (toujours présente, en premier)
parts.push(String(conf.base));
// 2) Dots de lattribut lié (si > 0 et si larme a un attr)
if (conf.attr) {
const d = dots[conf.attr] || 0;
if (d > 0) parts.push(String(d));
}
// 3) Bonus +/- via cases 2 et 4 (chacune = +2 ici)
if (isOn(v[`${w}_2`])) parts.push(String(BONUS_FOR_2));
if (isOn(v[`${w}_4`])) parts.push(String(BONUS_FOR_4));
// Spéciale active si case #3 cochée
updates[`${w}_specialisactive`] = isOn(v[`${w}_3`]) ? "1" : "0";
// Expression finale (sans espaces) ex: "2+1+2+2"
updates[`${w}_damage`] = parts.join("+");
});
setAttrs(updates);
});
}
// Recalcule à louverture + sur toute case utile
const events = ["sheet:opened"]
.concat(Object.keys(CFG).flatMap(w => [1,2,3,4].map(i => `change:${w}_${i}`)))
.concat(ATTRS.flatMap(a => [1,2,3,4].map(i => `change:${a}_${i}`)))
.join(" ");
on(events, recalc);
</script>