Files
2024-06-03 13:15:14 -04:00

1538 lines
70 KiB
HTML

<!--
CREATED by Gorthian
Version v2.0 HF1
Letzte Änderung 2023-10-14
GitHub https://github.com/Gorthian/Roll20_NHKS_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/issues
-->
<!-- Globale Variablen-->
<!--
********************************
* START NHKS.pug
********************************
-->
<input class="sheet-tabstoggle" type="hidden" name="attr_sheetTab" value="actor"/>
<div class="sheet-wrapper sheet-NHKS">
<input class="sheet-tabstoggle" type="hidden" name="attr_sheetTab" value="character"/>
<div class="sheet-tab-buttons">
<div>
<button type="action" name="act_main"><span class="sheet-label" data-i18n="main"></span></button>
</div>
<div>
<button type="action" name="act_weapons"><span class="sheet-label" data-i18n="weapons"></span></button>
</div>
</div>
<!--
CREATED by Gorthian
Version v2.0
Letzte Änderung 2022-11-25
GitHub https://github.com/Gorthian/Roll20_NHKS_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/issues
-->
<!-- Variablen-->
<!--
********************************
* START SRC/HTML/MAIN-TAB.pug
********************************
-->
<div class="sheet-main-tab">
<div class="sheet-general">
<div>
<h1><span data-i18n="actor"></span></h1><span class="sheet-input-line"><span class="sheet-label" data-i18n="name"></span>
<input type="text" name="attr_character_name"/></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="gender"></span>
<input type="text" name="attr_actor-gender"/></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="age"></span>
<input type="text" name="attr_actor-age"/></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="weight"></span>
<input type="text" name="attr_actor-weight"/></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="size"></span>
<input type="text" name="attr_actor-size"/></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="nationality"></span>
<input type="text" name="attr_actor-nationality"/></span>
<p><span class="sheet-label" data-i18n="stature"></span>
<textarea name="attr_actor-stature" value=""></textarea>
</p>
<p><span class="sheet-label" data-i18n="description"></span>
<textarea name="attr_actor-description" value=""></textarea>
</p>
</div>
<div>
<h1><span data-i18n="role"></span></h1><span class="sheet-input-line"><span class="sheet-label" data-i18n="role-name"></span>
<input type="text" name="attr_role-name" value=""/></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="role-type"></span>
<select name="attr_role-type">
<option value="main" data-i18n="main-role" selected="selected"></option>
<option value="supporting" data-i18n="supporting-role"></option>
</select></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="movieplot"></span>
<textarea name="attr_movieplot" value=""></textarea></span><span class="sheet-input-line"><span class="sheet-label" data-i18n="role-description"></span>
<textarea name="attr_role-description" value=""></textarea></span><span class="sheet-input-line sheet-height-45"><span class="sheet-label" data-i18n="role-inventory"></span>
<textarea class="sheet-textarea-big" name="attr_role-inventory" value=""></textarea></span>
</div>
</div>
<h1><span data-i18n="attributes"></span></h1>
<div class="sheet-attributes">
<div class="sheet-attributes-base">
<div class="sheet-input-line"><span class="sheet-label">
<button type="action" name="act_attribute-knowledge"><span class="sheet-attr-short" data-i18n="knowledge-short"></span><br/><span class="sheet-attr-full" data-i18n="knowledge"></span></button></span>
<input class="sheet-attribute-value" type="number" name="attr_knowledge"/>
</div>
<div class="sheet-input-line"><span class="sheet-label">
<button type="action" name="act_attribute-strength"><span class="sheet-attr-short" data-i18n="strength-short"></span><br/><span class="sheet-attr-full" data-i18n="strength"></span></button></span>
<input class="sheet-attribute-value" type="number" name="attr_strength"/>
</div>
<div class="sheet-input-line"><span class="sheet-label">
<button type="action" name="act_attribute-coolness"><span class="sheet-attr-short" data-i18n="coolness-short"></span><br/><span class="sheet-attr-full" data-i18n="coolness"></span></button></span>
<input class="sheet-attribute-value" type="number" name="attr_coolness"/>
</div>
<div class="sheet-input-line"><span class="sheet-label">
<button type="action" name="act_attribute-stamina"><span class="sheet-attr-short" data-i18n="stamina-short"></span><br/><span class="sheet-attr-full" data-i18n="stamina"></span></button></span>
<input class="sheet-attribute-value" type="number" name="attr_stamina"/>
</div>
<div class="sheet-input-line"><span class="sheet-label">
<button type="action" name="act_attribute-chi"><span class="sheet-attr-short" data-i18n="chi-short"></span><br/><span class="sheet-attr-full" data-i18n="chi"></span></button></span>
<input class="sheet-attribute-value" type="number" name="attr_chi"/>
</div>
<div class="sheet-input-line"><span class="sheet-label">
<button type="action" name="act_attribute-dexterity"><span class="sheet-attr-short" data-i18n="dexterity-short"></span><br/><span class="sheet-attr-full" data-i18n="dexterity"></span></button></span>
<input class="sheet-attribute-value" type="number" name="attr_dexterity"/>
</div>
</div>
<div class="sheet-attributes-calc">
<div class="sheet-input-line"><span class="sheet-attr-name" data-i18n="hitpoints"></span><br/><span class="sheet-attr-desc" data-i18n="hitpoints-desc"></span><br/>
<input type="number" name="attr_hitpoints_current"/> /
<input class="sheet-no-arrows" type="number" name="attr_hitpoints_max" readonly=""/><br/><span class="sheet-attr-name" data-i18n="role"></span><br/>
<input type="number" name="attr_role_hitpoints_current"/> /
<input class="sheet-no-arrows" type="number" name="attr_role_hitpoints_max" readonly=""/>
</div>
<div class="sheet-input-line"><span class="sheet-attr-name" data-i18n="chipoints"></span><br/><span class="sheet-attr-desc" data-i18n="chipoints-desc"></span><br/>
<input type="number" name="attr_chipoints_current"/> /
<input class="sheet-no-arrows" type="number" name="attr_chipoints_max" readonly=""/><br/><span class="sheet-attr-name" data-i18n="role"></span><br/>
<input type="number" name="attr_role_chipoints_current"/> /
<input class="sheet-no-arrows" type="number" name="attr_role_chipoints_max" readonly=""/>
</div>
<div class="sheet-input-line">
<button type="action" name="act_initiative"><span class="sheet-attr-name" data-i18n="initiative"></span></button><span class="sheet-attr-desc" data-i18n="initiative-desc"></span><br/>
<input class="sheet-no-arrows" type="number" name="attr_initiative" readonly=""/>
</div>
<div class="sheet-input-line"><span class="sheet-attr-name" data-i18n="famepoints"></span><br/>
<input type="number" name="attr_famepoints"/><br/><span class="sheet-attr-name" data-i18n="awardpoints"></span><br/>
<input type="number" name="attr_awardpoints"/><br/><span class="sheet-attr-name" data-i18n="take2points"></span><br/>
<input type="number" name="attr_take2points"/>
</div>
<div class="sheet-input-line"><span class="sheet-attr-name" data-i18n="melee-attack"></span><br/><span class="sheet-attr-desc" data-i18n="melee-attack-desc"></span><br/>
<input class="sheet-no-arrows" type="number" name="attr_melee-attack" readonly=""/><br/><span class="sheet-attr-name" data-i18n="melee-defense"></span><br/><span class="sheet-attr-desc" data-i18n="melee-defense-desc"></span><br/>
<input class="sheet-no-arrows" type="number" name="attr_melee-defense" readonly=""/><br/><span class="sheet-attr-name" data-i18n="melee-damage"></span><br/><span class="sheet-attr-desc" data-i18n="melee-damage-desc"></span><br/>
<input class="sheet-no-arrows" type="number" name="attr_melee-damage" readonly=""/>
</div>
<div class="sheet-input-line"><span class="sheet-attr-name" data-i18n="ranged-attack"></span><br/><span class="sheet-attr-desc" data-i18n="ranged-attack-desc"></span><br/>
<input class="sheet-no-arrows" type="number" name="attr_ranged-attack" readonly=""/><br/><span class="sheet-attr-name" data-i18n="ranged-damage"></span><br/><span class="sheet-attr-desc" data-i18n="ranged-damage-desc"></span><br/>
<input class="sheet-no-arrows" type="number" name="attr_ranged-damage" readonly=""/>
</div>
</div>
</div>
<div class="sheet-skills">
<div class="sheet-skills-left">
<!--
CREATED by Gorthian
Version v2.0 HF1
Letzte Änderung 2023-10-14
GitHub https://github.com/Gorthian/Roll20_NHKS_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/issues
-->
<!-- Variablen-->
<!--
********************************
* START SRC/HTML/SKILL-LIST.pug
********************************
-->
<div class="sheet-skill-list">
<h1><span data-i18n="skills"></span></h1>
<div class="sheet-skill-entry">
<div class="sheet-skill-name sheet-label"><span data-i18n="skill"></span></div>
<div class="sheet-skill-attribute sheet-label"><span data-i18n="attribute"></span></div>
<div class="sheet-skill-value sheet-label"><span data-i18n="skill-value-actor"></span></div>
<div class="sheet-skill-value sheet-label"><span data-i18n="is-role-skill"></span></div>
<div class="sheet-skill-value sheet-label"><span data-i18n="skill-value-role"></span></div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-acrobatic"><span data-i18n="acrobatic"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-acrobatic-attribute" readonly="">
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-acrobatic"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-acrobatic-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-acrobatic-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-athletic"><span data-i18n="athletic"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-athletic-attribute" readonly="">
<option value="strength" data-i18n="strength-short"></option>
<option value="stamina" data-i18n="stamina-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-athletic"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-athletic-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-athletic-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-dodge"><span data-i18n="dodge"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-dodge-attribute" readonly="">
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-dodge"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-dodge-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-dodge-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-boats"><span data-i18n="boats"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-boats-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-boats"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-boats-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-boats-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-persuade"><span data-i18n="persuade"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-persuade-attribute" readonly="">
<option value="coolness" data-i18n="coolness-short"></option>
<option value="strength" data-i18n="strength-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-persuade"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-persuade-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-persuade-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-computers"><span data-i18n="computers"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-computers-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-computers"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-computers-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-computers-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-firstaid"><span data-i18n="firstaid"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-firstaid-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-firstaid"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-firstaid-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-firstaid-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-extremesport"><span data-i18n="extremesport"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-extremesport-attribute" readonly="">
<option value="strength" data-i18n="strength-short"></option>
<option value="stamina" data-i18n="stamina-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-extremesport"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-extremesport-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-extremesport-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-slideofhand"><span data-i18n="slideofhand"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-slideofhand-attribute" readonly="">
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-slideofhand"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-slideofhand-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-slideofhand-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-aircrafts"><span data-i18n="aircrafts"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-aircrafts-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-aircrafts"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-aircrafts-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-aircrafts-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-vehicles"><span data-i18n="vehicles"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-vehicles-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-vehicles"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-vehicles-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-vehicles-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-improvisation"><span data-i18n="improvisation"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-improvisation-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="strength" data-i18n="strength-short"></option>
<option value="coolness" data-i18n="coolness-short"></option>
<option value="stamina" data-i18n="stamina-short"></option>
<option value="chi" data-i18n="chi-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-improvisation"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-improvisation-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-improvisation-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-climbing"><span data-i18n="climbing"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-climbing-attribute" readonly="">
<option value="strength" data-i18n="strength-short"></option>
<option value="stamina" data-i18n="stamina-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-climbing"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-climbing-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-climbing-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-contacts"><span data-i18n="contacts"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-contacts-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="coolness" data-i18n="coolness-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-contacts"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-contacts-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-contacts-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-mechanic"><span data-i18n="mechanic"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-mechanic-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-mechanic"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-mechanic-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-mechanic-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-stealth"><span data-i18n="stealth"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-stealth-attribute" readonly="">
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-stealth"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-stealth-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-stealth-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-perception"><span data-i18n="perception"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-perception-attribute" readonly="">
<option value="chi" data-i18n="chi-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-perception"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-perception-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-perception-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-languages"><span data-i18n="languages"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-languages-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="coolness" data-i18n="coolness-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-languages"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-languages-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-languages-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-searching"><span data-i18n="searching"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-searching-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="chi" data-i18n="chi-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-searching"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-searching-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-searching-role" readonly=""/>
</div>
</div>
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<button type="action" name="act_skill-hiding"><span data-i18n="hiding"></span></button>
</div>
<div class="sheet-skill-attribute">
<select name="attr_skill-hiding-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-hiding"/>
</div>
<div class="sheet-skill-value">
<input type="checkbox" name="attr_skill-hiding-is-role-skill" value="1"/>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_skill-hiding-role" readonly=""/>
</div>
</div>
<h1><span data-i18n="role-skills"></span></h1>
<div class="sheet-skill-entry">
<div class="sheet-skill-name sheet-label"><span data-i18n="skill"></span></div>
<div class="sheet-skill-attribute sheet-label"><span data-i18n="attribute"></span></div>
<div class="sheet-skill-value sheet-label"><span data-i18n="skill-value-role"> </span></div>
<div class="sheet-label">&nbsp;</div>
</div>
<fieldset class="repeating_roleskills">
<div class="sheet-skill-entry">
<div class="sheet-skill-name">
<input type="text" name="attr_roleskills-name"/>
</div>
<div class="sheet-skill-attribute">
<select name="attr_roleskills-attribute" readonly="">
<option value="knowledge" data-i18n="knowledge-short"></option>
<option value="strength" data-i18n="strength-short"></option>
<option value="coolness" data-i18n="coolness-short"></option>
<option value="stamina" data-i18n="stamina-short"></option>
<option value="chi" data-i18n="chi-short"></option>
<option value="dexterity" data-i18n="dexterity-short"></option>
</select>
</div>
<div class="sheet-skill-value">
<input type="number" name="attr_roleskills-role" value="4" readonly="readonly"/>
</div>
<div>
<button type="action" name="act_roleskill" style="width:90%;">Roll</button>
</div>
</div>
</fieldset>
<h1><span data-i18n="combat"></span></h1>
<div class="sheet-combat-entry">
<div class="sheet-label"><span data-i18n="attack"></span></div>
<div class="sheet-label"><span data-i18n="parry"></span></div>
<div class="sheet-label"><span data-i18n="skill-value-actor"></span></div>
<div class="sheet-label"><span data-i18n="is-role-skill"></span></div>
<div class="sheet-label"><span data-i18n="skill-value-role"></span></div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-melee-small"><span data-i18n="melee-small"></span></button>
</div>
<div class="sheet-combat-parry">
<button type="action" name="act_combat-melee-small-parry"><span data-i18n="parry"></span></button>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-small"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-melee-small-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-small-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-melee-medium"><span data-i18n="melee-medium"></span></button>
</div>
<div class="sheet-combat-parry">
<button type="action" name="act_combat-melee-medium-parry"><span data-i18n="parry"></span></button>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-medium"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-melee-medium-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-medium-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-melee-big"><span data-i18n="melee-big"></span></button>
</div>
<div class="sheet-combat-parry">
<button type="action" name="act_combat-melee-big-parry"><span data-i18n="parry"></span></button>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-big"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-melee-big-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-big-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-pistols"><span data-i18n="pistols"></span></button>
</div>
<div class="sheet-combat-parry"></div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-pistols"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-pistols-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-pistols-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-rifles"><span data-i18n="rifles"></span></button>
</div>
<div class="sheet-combat-parry"></div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-rifles"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-rifles-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-rifles-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-heavy-weapons"><span data-i18n="heavy-weapons"></span></button>
</div>
<div class="sheet-combat-parry"></div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-heavy-weapons"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-heavy-weapons-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-heavy-weapons-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-melee-misc"><span data-i18n="melee-misc"></span></button>
</div>
<div class="sheet-combat-parry">
<button type="action" name="act_combat-melee-misc-parry"><span data-i18n="parry"></span></button>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-misc"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-melee-misc-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-melee-misc-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-ranged-misc"><span data-i18n="ranged-misc"></span></button>
</div>
<div class="sheet-combat-parry"></div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-ranged-misc"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-ranged-misc-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-ranged-misc-role" readonly=""/>
</div>
</div>
<div class="sheet-combat-entry">
<div class="sheet-combat-attack">
<button type="action" name="act_combat-unarmed"><span data-i18n="unarmed"></span></button>
</div>
<div class="sheet-combat-parry">
<button type="action" name="act_combat-unarmed-parry"><span data-i18n="parry"></span></button>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-unarmed"/>
</div>
<div class="sheet-combat-value">
<input type="checkbox" name="attr_skill-unarmed-is-role-skill" value="1"/>
</div>
<div class="sheet-combat-value">
<input type="number" name="attr_skill-unarmed-role" readonly=""/>
</div>
</div>
</div>
<!--
********************************
* ENDE SRC/HTML/SKILL-LIST.pug
********************************
-->
<div>
<h1><span data-i18n="misc"></span></h1>
<textarea name="attr_actor-misc" value=""></textarea>
</div>
</div>
<div class="sheet-skills-right">
<div>
<h1><span data-i18n="advantages-and-disadvantages"></span></h1>
<fieldset class="repeating_actor-advantages-disadvantages">
<div class="sheet-actor-advantage">
<input type="text" name="attr_actor-advantage-name" value=""/>
<textarea name="attr_actor-advantage-description" value=""></textarea><span class="sheet-label" data-i18n="is-role-advantage"></span>
<input type="checkbox" name="attr_actor-advantage-is-role-advantage" value="1"/>
</div>
</fieldset>
</div>
<div class="sheet-martialarts">
<h1><span data-i18n="martialarts"></span></h1>
<fieldset class="repeating_actor-martialarts">
<div class="sheet-martialarts">
<input type="text" name="attr_actor-martialarts-name" value=""/>
<div class="sheet-radio-set">
<input class="sheet-radiobox sheet-reset" checked="checked" type="radio" name="attr_actor-martialarts-level" value="0"/>
<input class="sheet-radiobox" type="radio" name="attr_actor-martialarts-level" value="1"/>
<input class="sheet-radiobox" type="radio" name="attr_actor-martialarts-level" value="2"/>
<input class="sheet-radiobox" type="radio" name="attr_actor-martialarts-level" value="3"/>
<input class="sheet-radiobox" type="radio" name="attr_actor-martialarts-level" value="4"/>
<input class="sheet-radiobox" type="radio" name="attr_actor-martialarts-level" value="5"/>
</div>
<textarea name="attr_actor-martialarts-description" value=""></textarea>
</div>
</fieldset>
</div>
<div class="sheet-movies">
<h1><span data-i18n="movies"></span></h1>
<fieldset class="repeating_actor-movies">
<div class="sheet-movies">
<input type="text" name="attr_actor-movie-name" value=""/>
<div class="sheet-radio-set">
<input class="sheet-radiobox sheet-reset" checked="checked" type="radio" name="attr_movie-award" value="0"/>
<input class="sheet-radiobox" type="radio" name="attr_movie-award" value="1"/>
<input class="sheet-radiobox" type="radio" name="attr_movie-award" value="2"/>
<input class="sheet-radiobox" type="radio" name="attr_movie-award" value="3"/>
<input class="sheet-radiobox" type="radio" name="attr_movie-award" value="4"/>
<input class="sheet-radiobox" type="radio" name="attr_movie-award" value="5"/>
</div>
</div>
</fieldset>
</div>
<div>
<h1><span data-i18n="awards"></span></h1>
<textarea name="attr_actor-awards" value=""></textarea>
</div>
</div>
</div>
</div>
<!--
********************************
* ENDE SRC/HTML/MAIN-TAB.pug
********************************
-->
<!--
CREATED by Gorthian
Version v2.0
Letzte Änderung 2022-11-25
GitHub https://github.com/Gorthian/Roll20_NHKS_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/issues
-->
<!-- Variablen-->
<!--
********************************
* START SRC/HTML/WEAPON-TAB.pug
********************************
-->
<div class="sheet-weapon-tab">
<h1><span data-i18n="role-weapons"></span></h1>
<div class="sheet-role-weapon-table">
<fieldset class="repeating_role-weapons">
<div class="sheet-weapon-entry">
<div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-name"></span>
<input type="text" name="attr_weapon-name"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-damage"></span>
<input type="number" name="attr_weapon-damage"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-strength"></span>
<input type="number" name="attr_weapon-strength"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="skill"></span>
<select name="attr_weapon-skill">
<option value="melee-small" data-i18n="melee-small" selected="selected"></option>
<option value="melee-medium" data-i18n="melee-medium" selected="selected"></option>
<option value="melee-big" data-i18n="melee-big" selected="selected"></option>
<option value="pistols" data-i18n="pistols" selected="selected"></option>
<option value="rifles" data-i18n="rifles" selected="selected"></option>
<option value="heavy-weapons" data-i18n="heavy-weapons" selected="selected"></option>
<option value="melee-misc" data-i18n="melee-misc" selected="selected"></option>
<option value="ranged-misc" data-i18n="ranged-misc" selected="selected"></option>
<option value="unarmed" data-i18n="unarmed" selected="selected"></option>
</select>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="description"></span>
<textarea name="attr_weapon-description"></textarea>
</div>
</div>
<div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-attention"></span>
<input type="checkbox" name="attr_weapon-attention"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-burst"></span>
<input type="checkbox" name="attr_weapon-burst"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-flexible"></span>
<input type="checkbox" name="attr_weapon-flexible"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-grib"></span>
<input type="checkbox" name="attr_weapon-grib"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-delicate"></span>
<input type="checkbox" name="attr_weapon-delicate"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-reload"></span>
<input type="checkbox" name="attr_weapon-reload"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-martial"></span>
<input type="checkbox" name="attr_weapon-martial"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-recoil"></span>
<input type="checkbox" name="attr_weapon-recoil"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-painful"></span>
<input type="checkbox" name="attr_weapon-painful"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-painful+"></span>
<input type="checkbox" name="attr_weapon-painful+"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-whip"></span>
<input type="checkbox" name="attr_weapon-whip"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-defense"></span>
<input type="checkbox" name="attr_weapon-defense"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-throw"></span>
<input type="checkbox" name="attr_weapon-throw"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-2handbonus"></span>
<input type="checkbox" name="attr_weapon-2handbonus"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-2hand"></span>
<input type="checkbox" name="attr_weapon-2hand"/>
</div>
<div class="sheet-input-line"><span class="sheet-label" data-i18n="role-weapon-twin"></span>
<input type="checkbox" name="attr_weapon-twin"/>
</div>
</div>
</div><br/>
</fieldset>
</div>
</div>
<!--
********************************
* ENDE SRC/HTML/WEAPON-TAB.pug
********************************
-->
<div class="sheet-footer">Created by Gorthian | Supported by Hitdice | Copyright by Black Mask Verlag<br/>More Infos: https://github.com/Gorthian/Roll20_NHKS_CharacterSheet</div>
</div>
<!-- ROLL TEMPLATES-->
<!--
CREATED by Gorthian
Version v2.0
Letzte Änderung 2022-11-25
GitHub https://github.com/Gorthian/Roll20_NHKS_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/issues
-->
<!-- Variablen-->
<!--
********************************
* START SRC/HTML/ROLLTEMPLATES.pug
********************************
-->
<rolltemplate class="sheet-rolltemplate-skill">
<div class="sheet-template-container">
<div class="sheet-template-header">{{name}}</div>
<div class="sheet-template-header"><span data-i18n="{{type}}"></span>{{role-name}}</div>
<div class="sheet-template-row">
<div class="sheet-template-key">{{skill}}</div>
<div class="sheet-template-value">{{skillValue}}</div>
</div>
<div class="sheet-template-row">
<div class="sheet-template-key">{{attribute}}</div>
<div class="sheet-template-value">{{attributeValue}}</div>
</div>
<div class="sheet-template-row">
<div class="sheet-template-key">{{modifier}}</div>
<div class="sheet-template-value">{{modifierValue}}</div>
</div>
<div class="sheet-template-row">
<div class="sheet-template-key"><span data-i18n="target-value"></span></div>
<div class="sheet-template-value">{{computed::target}}</div>
</div>
<div class="sheet-template-row">
<div class="sheet-template-key"><span data-i18n="roll"></span></div>
<div class="sheet-template-value">{{roll1}}</div>
</div>
<div class="sheet-template-result">{{computed::roll1}}</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-attribute">
<div class="sheet-template-container">
<div class="sheet-template-header">{{name}}</div>
<div class="sheet-template-row">
<div class="sheet-template-key">{{attribute}}</div>
<div class="sheet-template-value">{{attributeValue}}</div>
</div>
<div class="sheet-template-row">
<div class="sheet-template-key">{{modifier}}</div>
<div class="sheet-template-value">{{modifierValue}}</div>
</div>
<div class="sheet-template-row">
<div class="sheet-template-key"><span data-i18n="target-value"></span></div>
<div class="sheet-template-value">{{computed::target}}</div>
</div>
<div class="sheet-template-row">
<div class="sheet-template-key"><span data-i18n="roll"></span></div>
<div class="sheet-template-value">{{roll1}}</div>
</div>
<div class="sheet-template-result">{{computed::roll1}}</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-initiative">
<div class="sheet-template-container">
<div class="sheet-template-header">{{name}}</div>
<div class="sheet-template-row">
<div class="sheet-template-key">{{initiative}}</div>
<div class="sheet-template-value">{{roll1}}</div>
</div>
<div class="sheet-template-result"><span data-i18n="rolltemplate-intiative-desc"></span></div>
</div>
</rolltemplate>
<!--
********************************
* ENDE SRC/HTML/ROLLTEMPLATES.pug
********************************
-->
<!-- SHEET WORKERS-->
<script type="text/worker">/*
CREATED by Gorthian
Version v2.0 HF1
Letzte Änderung 2023-10-14
GitHub https://github.com/Gorthian/Roll20_NHKS_CharacterSheet
Wiki https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/wiki
Bugs & Issues https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/issues
*/
/* Globale Konstanten -- Start */
const iMinAttributeValue = 5;
const iMaxAttributeValue = 10;
const iMinSkillValue = 0;
const iMaxSkillValue = 10;
const aActorAttributes = ["strength","stamina","dexterity","knowledge","coolness","chi"];
const aActorSkills = ["acrobatic","athletic","dodge","boats","persuade","computers","firstaid","extremesport","slideofhand","aircrafts","vehicles","improvisation","climbing","contacts","mechanic","stealth","perception","languages","searching","hiding"];
const aActorWeaponSkills = ["melee-small","melee-medium","melee-big","pistols","rifles","heavy-weapons","melee-misc","ranged-misc","unarmed"];
const iBaseCriticalSuccess = 2;
const iBaseCriticalFailure = 19;
const sBaseRoll = "[[1d20cs<?{"+getTranslationByKey("critical-success-to")+"|"+iBaseCriticalSuccess+"}cf>?{"+getTranslationByKey("critical-failure-from")+"|"+iBaseCriticalFailure+"}]]";
/* Globale Konstanten -- Ende */
/* Event-Listener -- Start */
on("sheet:opened", function () {
recalcValues();
});
on("change:role-type", function () {
recalcChipoints();
recalcHitpoints();
});
function getModifiedTarget(results,iSum) {
let iModifier = parseInt(results.results.modifierValue.result);
let modifiedTarget = iSum + iModifier;
return modifiedTarget;
}
function getRollResult(results,iSum) {
let sExpression = results.results.roll1.expression;
let iRoll = parseInt(results.results.roll1.result);
let iModifier = parseInt(results.results.modifierValue.result);
let sResult = "";
let iCriticalSuccess = parseInt(sExpression.split("<")[1].split("cf")[0]);
let iCriticalFailure = parseInt(sExpression.split(">")[1]);
if (iRoll <= iCriticalSuccess) {
sResult = getTranslationByKey("critical-success");
} else if (iRoll <= iSum + iModifier) {
sResult = getTranslationByKey("success");
} else if (iRoll < iCriticalFailure) {
sResult = getTranslationByKey("failure");
} else {
sResult = getTranslationByKey("critical-failure");
}
return sResult;
}
/* Fertigkeitsproben (Schauspieler) */
aActorSkills.forEach(sSkill => {
on(`clicked:skill-${sSkill}`, function() {
getAttrs(["character_name","role-name","skill-"+sSkill+"-attribute","skill-"+sSkill,"skill-"+sSkill+"-is-role-skill","skill-"+sSkill+"-role"], function (values){
let sName = values["character_name"];
let sRoleName = values["role-name"];
let sAttribute = values["skill-"+sSkill+"-attribute"];
let iSkillValue = parseInt(values["skill-"+sSkill]);
let iSkillRole = parseInt(values["skill-"+sSkill+"-role"]);
let iIsRoleSkill = parseInt(values["skill-" + sSkill + "-is-role-skill"]||0);
getAttrs([sAttribute], function(values2) {
let iAttributeValue = parseInt(values2[sAttribute]);
let iSum = 0;
let sRollQuery = "&{template:skill} {{name="+sName+"}}";
if (iIsRoleSkill == 1) {
iSum = iSkillRole + iAttributeValue;
sRollQuery = sRollQuery + " {{type=role}} {{role-name=: "+sRoleName+"}} {{skillValue="+iSkillRole+"}}";
} else {
iSum = iSkillValue + iAttributeValue;
sRollQuery = sRollQuery + " {{type=actor}} {{skillValue="+iSkillValue+"}}";
}
sRollQuery = sRollQuery + " {{skill="+getTranslationByKey(sSkill)+"}} {{attribute="+getTranslationByKey(sAttribute)+"}} {{attributeValue="+iAttributeValue+"}} {{target=[["+iSum+"]]}} {{modifier="+getTranslationByKey("modifier")+"}} {{modifierValue=[[?{"+getTranslationByKey("modifier")+"|0}]]}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{
target: getModifiedTarget(results, iSum),
roll1: getRollResult(results, iSum),
});
});
});
});
});
});
/* Proben auf Rollenfertigkeiten */
on("clicked:repeating_roleskills:roleskill", function() {
getAttrs(["character_name","role-name","repeating_roleskills_roleskills-name","repeating_roleskills_roleskills-attribute"], function (values){
let sName = values["character_name"];
let sRoleName = values["role-name"];
let sSkill = values["repeating_roleskills_roleskills-name"];
let sAttribute = values["repeating_roleskills_roleskills-attribute"];
let iSkillValue = 0;
let iSkillRole = 4;
let iIsRoleSkill = 1;
getAttrs([sAttribute], function(values2) {
let iAttributeValue = parseInt(values2[sAttribute]);
let iSum = 0;
let sRollQuery = "&{template:skill} {{name="+sName+"}}";
if (iIsRoleSkill == 1) {
iSum = iSkillRole + iAttributeValue;
sRollQuery = sRollQuery + " {{type=role}} {{role-name=: "+sRoleName+"}} {{skillValue="+iSkillRole+"}}";
} else {
iSum = iSkillValue + iAttributeValue;
sRollQuery = sRollQuery + " {{type=actor}} {{skillValue="+iSkillValue+"}}";
}
sRollQuery = sRollQuery + " {{skill="+sSkill+"}} {{attribute="+getTranslationByKey(sAttribute)+"}} {{attributeValue="+iAttributeValue+"}} {{target=[["+iSum+"]]}} {{modifier="+getTranslationByKey("modifier")+"}} {{modifierValue=[[?{"+getTranslationByKey("modifier")+"|0}]]}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{
target: getModifiedTarget(results, iSum),
roll1: getRollResult(results, iSum),
});
});
});
});
});
/* Attributssproben */
aActorAttributes.forEach(sAttribute => {
on(`clicked:attribute-${sAttribute}`, function() {
getAttrs(["character_name",sAttribute], function (values){
let sName = values["character_name"];
let iAttributeValue = parseInt(values[sAttribute]);
let iSum = iAttributeValue + 4;
let sRollQuery = "&{template:attribute} {{name="+sName+"}} {{attribute="+getTranslationByKey(sAttribute)+"}} {{attributeValue="+iAttributeValue+"}} {{target=[["+iSum+"]]}} {{modifier="+getTranslationByKey("modifier")+"}} {{modifierValue=[[?{"+getTranslationByKey("modifier")+"|0}]]}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{
target: getModifiedTarget(results, iSum),
roll1: getRollResult(results, iSum),
});
});
});
});
});
/* Waffenfertigkeitsproben */
aActorWeaponSkills.forEach(sSkill => {
on(`clicked:combat-${sSkill}`, function() {
let sCombatAttribute = "";
switch (sSkill) {
case "melee-small":
case "melee-medium":
case "melee-big":
case "melee-misc":
case "unarmed":
sCombatAttribute = "melee-attack";
break;
default:
sCombatAttribute = "ranged-attack";
}
getAttrs(["character_name","role-name","skill-"+sSkill, sCombatAttribute, "skill-"+sSkill+"-is-role-skill", "skill-"+sSkill+"-role"], function (values){
let sName = values["character_name"];
let sRoleName = values["role-name"];
let iAttributeValue = parseInt(values[sCombatAttribute]||0);
let iSkillValue = parseInt(values["skill-"+sSkill]);
let iSum = 0;
let iSkillRole = parseInt(values["skill-"+sSkill+"-role"]);
let iIsRoleSkill = parseInt(values["skill-" + sSkill + "-is-role-skill"]||0);
let sRollQuery = "&{template:skill} {{name="+sName+"}}";
if (iIsRoleSkill == 1) {
iSum = iSkillRole + iAttributeValue;
sRollQuery = sRollQuery + " {{type=role}} {{role-name=: "+sRoleName+"}} {{skillValue="+iSkillRole+"}}";
} else {
iSum = iSkillValue + iAttributeValue;
sRollQuery = sRollQuery + " {{type=actor}} {{skillValue="+iSkillValue+"}}";
}
sRollQuery = sRollQuery + " {{skill="+getTranslationByKey(sSkill)+"}} {{attribute="+getTranslationByKey(sCombatAttribute)+"}} {{attributeValue="+iAttributeValue+"}} {{target=[["+iSum+"]]}} {{modifier="+getTranslationByKey("modifier")+"}} {{modifierValue=[[?{"+getTranslationByKey("modifier")+"|0}]]}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{
target: getModifiedTarget(results, iSum),
roll1: getRollResult(results, iSum),
});
});
});
});
on(`clicked:combat-${sSkill}-parry`, function() {
getAttrs(["character_name","role-name","skill-"+sSkill, "melee-defense", "skill-"+sSkill+"-is-role-skill", "skill-"+sSkill+"-role"], function (values){
let sName = values["character_name"];
let sRoleName = values["role-name"];
let iAttributeValue = parseInt(values["melee-defense"]||0);
let iSkillValue = parseInt(values["skill-"+sSkill]);
let iSum = 0;
let iSkillRole = parseInt(values["skill-"+sSkill+"-role"]);
let iIsRoleSkill = parseInt(values["skill-" + sSkill + "-is-role-skill"]||0);
let sRollQuery = "&{template:skill} {{name="+sName+"}}";
if (iIsRoleSkill == 1) {
iSum = iSkillRole + iAttributeValue;
sRollQuery = sRollQuery + " {{type=role}} {{role-name=: "+sRoleName+"}} {{skillValue="+iSkillRole+"}}";
} else {
iSum = iSkillValue + iAttributeValue;
sRollQuery = sRollQuery + " {{type=actor}} {{skillValue="+iSkillValue+"}}";
}
sRollQuery = sRollQuery + " {{skill="+getTranslationByKey(sSkill)+"}} {{attribute="+getTranslationByKey("melee-defense")+"}} {{attributeValue="+iAttributeValue+"}} {{target=[["+iSum+"]]}} {{modifier="+getTranslationByKey("modifier")+"}} {{modifierValue=[[?{"+getTranslationByKey("modifier")+"|0}]]}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{
target: getModifiedTarget(results, iSum),
roll1: getRollResult(results, iSum),
});
});
});
});
});
/* Initiative-Wurf */
on("clicked:initiative", function() {
getAttrs(["character_name","initiative"], function (values){
let sName = values["character_name"];
let iInitiative = parseInt(values["initiative"]);
let sRollQuery = "&{template:initiative} {{name="+sName+"}} {{initiative="+getTranslationByKey("initiative")+"}} {{roll1=[[1d10+"+iInitiative+"+?{"+getTranslationByKey("modifier")+"|0} &{tracker}]]}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId);
});
});
});
/* Änderungen an Attributen */
aActorAttributes.forEach(sAttribute => {
on(`change:${sAttribute}`, function() {
console.log("[CHANGE] " + sAttribute);
changedAttribute(sAttribute);
});
});
/* Änderungen an Skills */
aActorSkills.forEach(sSkill => {
on(`change:skill-${sSkill}`, function() {
console.log("[CHANGE] " + sSkill);
changedSkill(sSkill);
});
on(`change:skill-${sSkill}-is-role-skill`, function() {
console.log("[CHANGE] " + sSkill + "is-role-skill");
changedSkill(sSkill);
});
});
/* Änderungen an Kampf-Skills */
aActorWeaponSkills.forEach(sSkill => {
on(`change:skill-${sSkill}`, function() {
console.log("[CHANGE] " + sSkill);
changedSkill(sSkill);
});
on(`change:skill-${sSkill}-is-role-skill`, function() {
console.log("[CHANGE] " + sSkill + "is-role-skill");
changedSkill(sSkill);
});
});
/* Event-Listener -- Ende */
/* Funktionen -- Start */
function recalcValues() {
console.log("[recalcValues]");
aActorAttributes.forEach(sAttribute => {
changedAttribute(sAttribute);
});
aActorSkills.forEach(sSkill => {
changedSkill(sSkill);
});
aActorWeaponSkills.forEach(sSkill => {
changedSkill(sSkill);
});
}
function changedAttribute(sAttribute) {
console.log("[changedAttribute] " + sAttribute);
getAttrs([sAttribute], function (values){
let iAttribute = parseInt(values[sAttribute]||iMinAttributeValue);
let aAttributes = {};
// Auf Min/Max prüfen
if (iAttribute < iMinAttributeValue ) {
iAttribute = iMinAttributeValue;
} else if (iAttribute > iMaxAttributeValue ) {
iAttribute = iMaxAttributeValue;
}
aAttributes[sAttribute] = iAttribute;
setAttrs(aAttributes);
switch (sAttribute) {
case "strength":
recalcMeleeAttack();
recalcMeleeDamage();
recalcMeleeDefense();
break;
case "stamina":
recalcHitpoints();
break;
case "dexterity":
recalcMeleeDefense();
recalcRangedAttack();
recalcRangedDamage();
break;
case "knowledge":
//nothing
break;
case "coolness":
recalcInitiative();
break;
case "chi":
recalcMeleeAttack();
recalcChipoints();
recalcMeleeDefense();
recalcRangedAttack();
break;
default:
}
});
}
function changedSkill(sSkill) {
console.log("[changedSkill] " + sSkill);
getAttrs(["skill-" + sSkill,"skill-" + sSkill + "-is-role-skill"], function (values){
let iSkill = parseInt(values["skill-" + sSkill]||iMinSkillValue);
let iSkillRole = 0;
let iIsRoleSkill = parseInt(values["skill-" + sSkill + "-is-role-skill"]||0);
let aAttributes = {};
console.log("[changedSkill] isRoleSkill" + iIsRoleSkill);
// Auf Min/Max prüfen
if (iSkill < iMinSkillValue ) {
iSkill = iMinSkillValue;
} else if (iSkill > iMaxSkillValue ) {
iSkill = iMaxSkillValue;
}
//Rollenskill berechnen
if (iIsRoleSkill == 1) {
switch (iSkill) {
case 0: case 1: case 2:
iSkillRole = 4;
break;
case 3: case 4:
iSkillRole = 5;
break;
case 5: case 6: case 7: case 8: case 9:
iSkillRole = iSkill+1;
break;
case 10:
iSkillRole = 10;
break;
default:
iSkillRole = 0;
}
} else {
iSkillRole = 0;
}
aAttributes["skill-" + sSkill] = iSkill;
aAttributes["skill-" + sSkill + "-role"] = iSkillRole;
setAttrs(aAttributes);
});
}
function recalcInitiative() {
console.log("[recalcInitiative]");
getAttrs(["coolness"], function (values){
let iCoolness = parseInt(values["coolness"]||0);
let iInitiative = iCoolness;
let aAttributes = {};
aAttributes["initiative"] = iInitiative;
setAttrs(aAttributes);
});
}
function recalcRolepoints(iPoints,sType) {
let iRolePoints = 0;
if (sType == "main") {
iRolePoints = iPoints + 20;
} else {
iRolePoints = iPoints + 10;
}
return iRolePoints;
}
function recalcHitpoints() {
console.log("[recalcHitpoints]");
getAttrs(["stamina","role-type"], function (values){
let iStamina = parseInt(values["stamina"]||0);
let sRoleType = values["role-type"]||"main";
let iHitpoints = (iStamina + 4) * 10;
let iRoleHitpoints = recalcRolepoints(iHitpoints,sRoleType);
let aAttributes = {};
aAttributes["hitpoints_max"] = iHitpoints;
aAttributes["role_hitpoints_max"] = iRoleHitpoints;
setAttrs(aAttributes);
});
}
function recalcChipoints() {
console.log("[recalcChipoints]");
getAttrs(["chi","role-type"], function (values){
let iChi = parseInt(values["chi"]||0);
let sRoleType = values["role-type"]||"main";
let iChipoints = iChi * 10;
let iRoleChipoints = recalcRolepoints(iChipoints,sRoleType);
let aAttributes = {};
aAttributes["chipoints_max"] = iChipoints;
aAttributes["role_chipoints_max"] = iRoleChipoints;
setAttrs(aAttributes);
});
}
function recalcMeleeAttack() {
console.log("[recalcMeleeAttack]");
getAttrs(["chi","strength"], function (values){
let iChi = parseInt(values["chi"]||0);
let iStrength = parseInt(values["strength"]||0);
let iMeleeAttack = Math.round((iStrength * 2 + iChi) / 3);
let aAttributes = {};
aAttributes["melee-attack"] = iMeleeAttack;
setAttrs(aAttributes);
});
}
function recalcMeleeDamage() {
console.log("[recalcMeleeDamage]");
getAttrs(["strength"], function (values){
let iStrength = parseInt(values["strength"]||5);
let iMeleeDamage = 0;
let aAttributes = {};
if (iStrength > 5) {
iMeleeDamage = iStrength - 4;
}
aAttributes["melee-damage"] = iMeleeDamage;
setAttrs(aAttributes);
});
}
function recalcRangedDamage() {
console.log("[recalcRangedDamage]");
getAttrs(["dexterity"], function (values){
let iDexterity = parseInt(values["dexterity"]||5);
let iRangedDamage = 0;
let aAttributes = {};
if (iDexterity > 5) {
iRangedDamage = iDexterity - 4;
}
aAttributes["ranged-damage"] = iRangedDamage;
setAttrs(aAttributes);
});
}
function recalcMeleeDefense() {
console.log("[recalcMeleeDefense]");
getAttrs(["chi","strength","dexterity"], function (values){
let iChi = parseInt(values["chi"]||0);
let iStrength = parseInt(values["strength"]||0);
let iDexterity = parseInt(values["dexterity"]||0);
let iMeleeDefense = Math.round((iStrength + iDexterity + iChi) / 3);
let aAttributes = {};
aAttributes["melee-defense"] = iMeleeDefense;
setAttrs(aAttributes);
});
}
function recalcRangedAttack() {
console.log("[recalcRangedAttack]");
getAttrs(["chi","dexterity"], function (values){
let iChi = parseInt(values["chi"]||0);
let iDexterity = parseInt(values["dexterity"]||0);
let iRangedAttack = Math.round((iDexterity * 2 + iChi) / 3);
let aAttributes = {};
aAttributes["ranged-attack"] = iRangedAttack;
setAttrs(aAttributes);
});
}
/* Funktionen -- Ende */
/* Tabs -- Start */
const buttonlist = ["main","weapons"];
buttonlist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
sheetTab: button
});
});
});
/* Tabs -- Ende */
</script>
<!--
********************************
* ENDE NHKS.pug
********************************
-->