Files
roll20-character-sheets/NHKS/NHKS.html
T
Gorthian 0928b4b8f1 Code Cleanup
CSS und HTML bereinigt
2022-07-17 16:06:30 +02:00

1374 lines
56 KiB
HTML

<!--
EDITED by Gorthian
Version 1.1
Letzte Änderung 2022-07-17
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
//-->
<!-- Sheet //-->
<input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="actor" />
<div class="sheet-wrapper sheet-NHKS">
<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 type="number" name="attr_hitpoints_max" class="sheet-no-arrows" READONLY /><br/>
<span class="sheet-attr-name" data-i18n="role"></span><br/>
<input type="number" name="attr_role_hitpoints_current" /> / <input type="number" name="attr_role_hitpoints_max" class="sheet-no-arrows" 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 type="number" name="attr_chipoints_max" class="sheet-no-arrows" READONLY /><br/>
<span class="sheet-attr-name" data-i18n="role"></span><br/>
<input type="number" name="attr_role_chipoints_current" /> / <input type="number" name="attr_role_chipoints_max" class="sheet-no-arrows" READONLY />
</div>
<div class="sheet-input-line">
<span class="sheet-attr-name" data-i18n="famepoints"></span><br/>
<span class="sheet-attr-desc" data-i18n="famepoints-desc"></span><br/>
<input type="number" name="attr_famepoints" /><br/>
<span class="sheet-attr-name" data-i18n="awardpoints"></span><br/>
<span class="sheet-attr-desc" data-i18n="awardpoints-desc"></span><br/>
<input type="number" name="attr_awardpoints" />
</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 type="number" name="attr_initiative" class="sheet-no-arrows" READONLY />
</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 type="number" name="attr_melee-attack" class="sheet-no-arrows" 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 type="number" name="attr_melee-defense" class="sheet-no-arrows" 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 type="number" name="attr_melee-damage" class="sheet-no-arrows" 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 type="number" name="attr_ranged-attack" class="sheet-no-arrows" 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 type="number" name="attr_ranged-damage" class="sheet-no-arrows" READONLY />
</div>
</div>
</div>
<div class="sheet-skills">
<div class="sheet-skills-left">
<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" selected="selected"></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">
<option value="strength" data-i18n="strength-short" selected="selected"></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" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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">
<option value="coolness" data-i18n="coolness-short" selected="selected"></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" selected="selected"></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" selected="selected"></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">
<option value="strength" data-i18n="strength-short" selected="selected"></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" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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">
<option value="strength" data-i18n="strength-short" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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" selected="selected"></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" selected="selected"></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" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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">
<option value="knowledge" data-i18n="knowledge-short" selected="selected"></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="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">
&nbsp;
</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">
&nbsp;
</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">
&nbsp;
</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">
&nbsp;
</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>
<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>&nbsp;<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 checked="checked" class="sheet-radiobox sheet-reset" 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 checked="checked" class="sheet-radiobox sheet-reset" 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 class="sheet-misc">
<div>
<p>
<h1><span data-i18n="role-weapons"></span></h1>
<div class="sheet-role-weapon-table">
<div class="sheet-weapon-box">
<div class="sheet-weapon-description" style="width:80%;"><span data-i18n="role-weapon-name"></span></div>
<div class="sheet-weapon-description"><span data-i18n="role-weapon-damage"></span></div>
<div class="sheet-weapon-attribute sheet-clear-float"><span data-i18n="role-weapon-attention-short"></span><span data-i18n="role-weapon-attention"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-burst-short"></span><span data-i18n="role-weapon-burst"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-flexible-short"></span><span data-i18n="role-weapon-flexible"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-grib-short"></span><span data-i18n="role-weapon-grib"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-reload-short"></span><span data-i18n="role-weapon-reload"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-martial-short"></span><span data-i18n="role-weapon-martial"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-strength-short"></span><span data-i18n="role-weapon-strength"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-recoil-short"></span><span data-i18n="role-weapon-recoil"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-painful-short"></span><span data-i18n="role-weapon-painful"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-painful+-short"></span><span data-i18n="role-weapon-painful+"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-whip-short"></span><span data-i18n="role-weapon-whip"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-defense-short"></span><span data-i18n="role-weapon-defense"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-throw-short"></span><span data-i18n="role-weapon-throw"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-2handbonus-short"></span><span data-i18n="role-weapon-2handbonus"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-2hand-short"></span><span data-i18n="role-weapon-2hand"></span></div>
<div class="sheet-weapon-attribute"><span data-i18n="role-weapon-twin-short"></span><span data-i18n="role-weapon-twin"></span></div>
<div class="sheet-clear-float">&nbsp;</div>
</div>
<fieldset class="repeating_role-weapons">
<div class="sheet-weapon-box">
<div class="sheet-weapon-description" style="width:80%;"><input type="text" name="attr_weapon-name" /></div>
<div class="sheet-weapon-description" style="width:20%;"><input type="text" name="attr_weapon-damage" style="width:40%;" /></div>
<div class="sheet-weapon-attribute sheet-clear-float"><input type="checkbox" name="attr_weapon-attention" /><span data-i18n="role-weapon-attention"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-burst" /><span data-i18n="role-weapon-burst"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-flexible" /><span data-i18n="role-weapon-flexible"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-grib" /><span data-i18n="role-weapon-grib"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-reload" /><span data-i18n="role-weapon-reload"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-martial" /><span data-i18n="role-weapon-martial"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-strength" /><span data-i18n="role-weapon-strength"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-recoil" /><span data-i18n="role-weapon-recoil"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-painful" /><span data-i18n="role-weapon-painful"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-painful+" /><span data-i18n="role-weapon-painful+"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-whip" /><span data-i18n="role-weapon-whip"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-defense" /><span data-i18n="role-weapon-defense"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-throw" /><span data-i18n="role-weapon-throw"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-2handbonus" /><span data-i18n="role-weapon-2handbonus"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-2hand" /><span data-i18n="role-weapon-2hand"></span></div>
<div class="sheet-weapon-attribute"><input type="checkbox" name="attr_weapon-twin" /><span data-i18n="role-weapon-twin"></span></div>
<div class="sheet-clear-float"><textarea name="attr_weapon-description"></textarea></div>
</div>
</fieldset>
</div>
</p>
</div>
<div class="sheet-nhks-image">
<img src="https://github.com/Gorthian/Roll20_NHKS_CharacterSheet/blob/main/images/standard/Schauspielerbogen_1_100_freigestellt.png?raw=true" />
</div>
</div>
<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 /-->
<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"><span data-i18n="target-value"></span></div>
<div class="sheet-template-value">{{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"><span data-i18n="target-value"></span></div>
<div class="sheet-template-value">{{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>
<!-- SheetWorker //-->
<script type="text/worker">
/* 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 = "[[1d20+?{"+getTranslationByKey("modifier")+"|0}cs<?{"+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 getRollResult(results,iSum) {
let sExpression = results.results.roll1.expression;
let iRoll = parseInt(results.results.roll1.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) {
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+"}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{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+"}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{roll1: getRollResult(results, iSum)});
});
});
});
});
/* Waffenproben */
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+"}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{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+"}} {{roll1="+sBaseRoll+"}}";
startRoll(sRollQuery, (results) => {
finishRoll(results.rollId,{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 */
</script>