mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-09-04 22:22:28 +00:00
1340 lines
92 KiB
HTML
1340 lines
92 KiB
HTML
<input type="hidden" name="attr_version" value="1.12">
|
||
<input class="tab" type="hidden" name="attr_tab" value="character">
|
||
|
||
<!--tabs-->
|
||
<div class="grid-tabs">
|
||
<button title="Character" name="act_tab_character" type="action">character</button>
|
||
<button data-i18n="ark" name="act_tab_ark" title="Ark" type="action">ark</button>
|
||
<img alt="Mutant Year Zero" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Mutant%20Year%20Zero/images/logo.jpg">
|
||
<button data-i18n="zone-log" name="act_tab_log" title="Log" type="action">Zone Log</button>
|
||
<button data-i18n="npc" name="act_tab_npc" title="NPC" type="action">npc</button>
|
||
</div>
|
||
|
||
<div class="wrapper tab-content npc">
|
||
<div class="box npc-flex npc-info">
|
||
<div class="grid npc-name-grid">
|
||
<input name="attr_character_name" type="text" value="" />
|
||
<input name="attr_know_modifier" type="text" value="0" />
|
||
<textarea name="attr_description"></textarea>
|
||
</div>
|
||
<div class="grid npc-attr-grid">
|
||
<h2 data-i18n="attributes" title="npc attributes">Attributes</h2>
|
||
<h3 data-i18n="attr" title="npc current attribute">Attr</h3>
|
||
<h3 data-i18n="max" title="npc maximum attribute">Max</h3>
|
||
<label data-i18n="strength">strength</label>
|
||
<input name="attr_strength" min="0" type="number" value="" />
|
||
<input name="attr_strength_max" min="0" type="number" value="" />
|
||
<label data-i18n="agility">agility</label>
|
||
<input name="attr_agility" min="0" type="number" value="" />
|
||
<input name="attr_agility_max" min="0" type="number" value="" />
|
||
<label data-i18n="wits">wits</label>
|
||
<input name="attr_wits" min="0" type="number" value="" />
|
||
<input name="attr_wits_max" min="0" type="number" value="" />
|
||
<label data-i18n="empathy">empathy</label>
|
||
<input name="attr_empathy" min="0" type="number" value="" />
|
||
<input name="attr_empathy_max" min="0" type="number" value="" />
|
||
</div>
|
||
<div>
|
||
<h2 data-i18n="skills">Skills</h2>
|
||
<textarea name="attr_skills"></textarea>
|
||
</div>
|
||
<div>
|
||
<h2 data-i18n="armor">armor</h2>
|
||
<textarea name="attr_armor"></textarea>
|
||
</div>
|
||
<div>
|
||
<h2 data-i18n="weapons">weapons</h2>
|
||
<textarea name="attr_weapons"></textarea>
|
||
</div>
|
||
<div>
|
||
<h2 data-i18n="abilities">abilities</h2>
|
||
<fieldset class="repeating_abilities">
|
||
<input name="attr_name" type="text" value="" />
|
||
<textarea name="attr_description"></textarea>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="wrapper tab-content character">
|
||
<div class="box pc-only character-details">
|
||
<div class="grid details-grid">
|
||
<span class="label" data-i18n="name">Name</span>
|
||
<input class="input" type="text" name="attr_character_name" value="" title="@{character_name}" />
|
||
<span class="label" data-i18n="role">Role</span>
|
||
<input class="input" type="text" name="attr_role" value="" title="@{role}" />
|
||
</div>
|
||
</div>
|
||
<div class="character-row">
|
||
<div class="two-col-left">
|
||
<div class="grid 2grid">
|
||
<div class="box pc-only character-attributes">
|
||
<div class="grid attributes-grid header">
|
||
<h1 data-i18n="attributes">ATTRIBUTES</h1>
|
||
<h2 data-i18n="max">Max</h2>
|
||
<h2 data-i18n="attr">Attr</h2>
|
||
<h2 data-i18n="trauma">Trauma</h2>
|
||
</div>
|
||
<div class="grid attributes-grid">
|
||
<!--- STRENGTH & DAMAGE -->
|
||
<h3 data-i18n="strength">Strength</h3>
|
||
<input class="input-number" type="number" name="attr_strength_max" value="0" min="0" title="@{strength_max}" />
|
||
<input class="input-number" type="text" name="attr_strength" value="0" title="@{strength}" readonly />
|
||
<div class="wounds-grid">
|
||
<h3 data-i18n="damage">Damage</h3>
|
||
<div>
|
||
<input name="attr_damage" title="No Damage" type="radio" value="0" checked />
|
||
<input class="skull" name="attr_damage" value="1" title="@{damage}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_damage" value="2" title="@{damage}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_damage" value="3" title="@{damage}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_damage" value="4" title="@{damage}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_damage" value="5" title="@{damage}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_damage" value="6" title="@{damage}" type="radio" /><span></span>
|
||
</div>
|
||
</div>
|
||
<!--- AGILITY & FATIGUE -->
|
||
<h3 data-i18n="agility">Agility</h3>
|
||
<input class="input-number" type="number" name="attr_agility_max" value="0" min="0" title="@{agility_max}" />
|
||
<input class="input-number" type="text" name="attr_agility" value="0" title="@{agility}" readonly />
|
||
<div class="wounds-grid">
|
||
<h3 data-i18n="fatigue">Fatigue</h3>
|
||
<div>
|
||
<input name="attr_fatigue" title="No Damage" type="radio" value="0" checked />
|
||
<input class="skull" name="attr_fatigue" value="1" title="@{fatigue}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_fatigue" value="2" title="@{fatigue}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_fatigue" value="3" title="@{fatigue}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_fatigue" value="4" title="@{fatigue}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_fatigue" value="5" title="@{fatigue}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_fatigue" value="6" title="@{fatigue}" type="radio" /><span></span>
|
||
</div>
|
||
</div>
|
||
<!--- WITS & CONFUSION -->
|
||
<h3 data-i18n="wits">Wits</h3>
|
||
<input class="input-number" type="number" name="attr_wits_max" value="0" min="0" title="@{wits_max}" />
|
||
<input class="input-number" type="text" name="attr_wits" value="0" title="@{wits}" readonly />
|
||
<div class="wounds-grid">
|
||
<h3 data-i18n="confusion">Confusion</h3>
|
||
<div>
|
||
<input name="attr_confusion" title="No Damage" type="radio" value="0" checked />
|
||
<input class="skull" name="attr_confusion" value="1" title="@{confusion}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_confusion" value="2" title="@{confusion}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_confusion" value="3" title="@{confusion}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_confusion" value="4" title="@{confusion}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_confusion" value="5" title="@{confusion}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_confusion" value="6" title="@{confusion}" type="radio" /><span></span>
|
||
</div>
|
||
</div>
|
||
<!--- EMPATHY & DOUBT -->
|
||
<h3 data-i18n="empathy">Empathy</h3>
|
||
<input class="input-number" type="number" name="attr_empathy_max" value="0" min="0" title="@{empathy_max}" />
|
||
<input class="input-number" type="text" name="attr_empathy" value="0" title="@{empathy}" readonly />
|
||
<div class="wounds-grid">
|
||
<h3 data-i18n="doubt">Doubt</h3>
|
||
<div>
|
||
<input name="attr_doubt" title="No Damage" type="radio" value="0" checked />
|
||
<input class="skull" name="attr_doubt" value="1" title="@{doubt}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_doubt" value="2" title="@{doubt}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_doubt" value="3" title="@{doubt}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_doubt" value="4" title="@{doubt}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_doubt" value="5" title="@{doubt}" type="radio" /><span></span>
|
||
<input class="skull" name="attr_doubt" value="6" title="@{doubt}" type="radio" /><span></span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="box pc-only character-appearance">
|
||
<div class="grid appearance-grid appearance-header header">
|
||
<h1 data-i18n="appearance-u">APPEARANCE</h1>
|
||
</div>
|
||
<div class="grid appearance-grid">
|
||
<input class="display" name="attr_appearence_reveal" type="hidden" value="display,face,body,clothing," />
|
||
<!--- FACE -->
|
||
<button class="toggles" name="act_settings_face" type="action">y</button>
|
||
<h2 data-i18n="face">Face</h2>
|
||
<span name="attr_face"></span>
|
||
<textarea class="input-textarea" name="attr_face" title="@{face}"></textarea>
|
||
<!--- BODY -->
|
||
<button class="toggles" name="act_settings_body" type="action">y</button>
|
||
<h2 class="label" data-i18n="body">Body</h2>
|
||
<span name="attr_body"></span>
|
||
<textarea class="input-textarea" name="attr_body" title="@{body}"></textarea>
|
||
<!--- CLOTHING -->
|
||
<button class="toggles" name="act_settings_clothing" type="action">y</button>
|
||
<h2 class="label" data-i18n="clothing">Clothing</h2>
|
||
<span name="attr_clothing"></span>
|
||
<textarea class="input-textarea" name="attr_clothing" title="@{clothing}"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="box pc-only character-skills">
|
||
<div class="grid skills-grid header">
|
||
<h1 data-i18n="skills">SKILLS</h1>
|
||
<h2 data-i18n="lvl">Lvl</h2>
|
||
<h2 data-i18n="attr">Attr</h2>
|
||
<h2 data-i18n="total">Total</h2>
|
||
</div>
|
||
<div class="grid skills-grid skill-orange">
|
||
<!--- ENDURE --->
|
||
<button type="action" name="act_dice_pool_endure"><span data-i18n="endure">Endure</span><span class="small-caps" data-i18n="strength-abbr"> [str]</span></button>
|
||
<input class="input-number" type="number" name="attr_endure" value="0" min="0" title="@{endure}" />
|
||
<input class="input-number" type="text" name="attr_strength" value="0" title="@{strength}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_endure_total" value="0" title="@{endure_total}" readonly />
|
||
<hr />
|
||
<!--- FORCE --->
|
||
<button type="action" name="act_dice_pool_force"><span data-i18n="force">Force</span><span class="small-caps" data-i18n="strength-abbr"> [str]</span></button>
|
||
<input class="input-number" type="number" name="attr_force" value="0" min="0" title="@{force}" />
|
||
<input class="input-number" type="text" name="attr_strength" value="0" title="@{strength}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_force_total" value="0" title="@{force_total}" readonly />
|
||
<hr />
|
||
<!--- FIGHT --->
|
||
<button type="action" name="act_dice_pool_fight"><span data-i18n="fight">fight</span><span class="small-caps" data-i18n="strength-abbr"> [str]</span></button>
|
||
<input class="input-number" type="number" name="attr_fight" value="0" min="0" title="@{fight}" />
|
||
<input class="input-number" type="text" name="attr_strength" value="0" title="@{strength}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_fight_total" value="0" title="@{fight_total}" readonly />
|
||
<hr />
|
||
<!--- SNEAK --->
|
||
<button type="action" name="act_dice_pool_sneak"><span data-i18n="sneak">sneak</span><span class="small-caps" data-i18n="agility-abbr"> [agi]</span></button>
|
||
<input class="input-number" type="number" name="attr_sneak" value="0" min="0" title="@{sneak}" />
|
||
<input class="input-number" type="text" name="attr_agility" value="0" title="@{agility}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_sneak_total" value="0" title="@{sneak_total}" readonly />
|
||
<hr />
|
||
<!--- MOVE --->
|
||
<button type="action" name="act_dice_pool_move"><span data-i18n="move">move</span><span class="small-caps" data-i18n="agility-abbr"> [agi]</span></button>
|
||
<input class="input-number" type="number" name="attr_move" value="0" min="0" title="@{move}" />
|
||
<input class="input-number" type="text" name="attr_agility" value="0" title="@{agility}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_move_total" value="0" title="@{move_total}" readonly />
|
||
<hr />
|
||
<!--- SHOOT --->
|
||
<button type="action" name="act_dice_pool_shoot"><span data-i18n="shoot">shoot</span><span class="small-caps" data-i18n="agility-abbr"> [agi]</span></button>
|
||
<input class="input-number" type="number" name="attr_shoot" value="0" min="0" title="@{shoot}" />
|
||
<input class="input-number" type="text" name="attr_agility" value="0" title="@{agility}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_shoot_total" value="0" title="@{shoot_total}" readonly />
|
||
<hr />
|
||
<!--- SCOUT --->
|
||
<button type="action" name="act_dice_pool_scout"><span data-i18n="scout">scout</span><span class="small-caps" data-i18n="wits-abbr"> [wit]</span></button>
|
||
<input class="input-number" type="number" name="attr_scout" value="0" min="0" title="@{scout}" />
|
||
<input class="input-number" type="text" name="attr_wits" value="0" title="@{wits}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_scout_total" value="0" title="@{scout_total}" readonly />
|
||
<hr />
|
||
<!--- COMPREHEND --->
|
||
<button type="action" name="act_dice_pool_comprehend"><span data-i18n="comprehend">comprehend</span><span class="small-caps" data-i18n="wits-abbr"> [wit]</span></button>
|
||
<input class="input-number" type="number" name="attr_comprehend" value="0" min="0" title="@{comprehend}" />
|
||
<input class="input-number" type="text" name="attr_wits" value="0" title="@{wits}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_comprehend_total" value="0" title="@{comprehend_total}" readonly />
|
||
<hr />
|
||
<!--- KNOW THE ZONE --->
|
||
<button type="action" name="act_dice_pool_know_the_zone"><span data-i18n="know_the_zone">Know the Zone</span><span class="small-caps" data-i18n="wits-abbr" style="font-size: 0.8em;"> [wit]</span></button>
|
||
<input class="input-number" type="number" name="attr_know_the_zone" value="0" min="0" title="@{know_the_zone}" />
|
||
<input class="input-number" type="text" name="attr_wits" value="0" title="@{wits}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_know_the_zone_total" value="0" title="@{know_the_zone_total}" readonly />
|
||
<hr />
|
||
<!--- SENSE EMOTION --->
|
||
<button type="action" name="act_dice_pool_sense_emotion"><span data-i18n="sense_emotion">sense emotion</span><span class="small-caps" data-i18n="empathy-abbr"> [emp]</span></button>
|
||
<input class="input-number" type="number" name="attr_sense_emotion" value="0" min="0" title="@{sense_emotion}" />
|
||
<input class="input-number" type="text" name="attr_empathy" value="0" title="@{empathy}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_sense_emotion_total" value="0" title="@{sense_emotion_total}" readonly />
|
||
<hr />
|
||
<!--- MANIPULATE --->
|
||
<button type="action" name="act_dice_pool_manipulate"><span data-i18n="manipulate">manipulate</span><span class="small-caps" data-i18n="empathy-abbr"> [emp]</span></button>
|
||
<input class="input-number" type="number" name="attr_manipulate" value="0" min="0" title="@{manipulate}" />
|
||
<input class="input-number" type="text" name="attr_empathy" value="0" title="@{empathy}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_manipulate_total" value="0" title="@{manipulate_total}" readonly />
|
||
<hr />
|
||
<!--- HEAL --->
|
||
<button type="action" name="act_dice_pool_heal"><span data-i18n="heal">Heal</span><span class="small-caps" data-i18n="empathy-abbr"> [emp]</span></button>
|
||
<input class="input-number" type="number" name="attr_heal" value="0" min="0" title="@{heal}" />
|
||
<input class="input-number" type="text" name="attr_empathy" value="0" title="@{empathy}" readonly />
|
||
<span class="equal">=</span>
|
||
<input class="input-number" type="text" name="attr_heal_total" value="0" title="@{heal_total}" readonly />
|
||
</div>
|
||
<div class="repeating-skill-grid">
|
||
<fieldset class="repeating_skills">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings," />
|
||
<div class="grid skills-grid">
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<button type="action" name="act_dice-pool-skill"><span name="attr_name"></span></button>
|
||
<input class="input-number" type="number" name="attr_skill" value="0" min="0" title="@{repeating_skills_$X_skill}" />
|
||
<select name="attr_attribute" title="@{repeating_skills_$X_attribute}">
|
||
<option data-i18n="strength-abbr-u" value="strength">str</option>
|
||
<option data-i18n="agility-abbr-u" value="agility">agi</option>
|
||
<option data-i18n="wits-abbr-u" value="wits">wits</option>
|
||
<option data-i18n="empathy-abbr-u" value="empathy">emp</option>
|
||
</select>
|
||
<span class="equal">=</span>
|
||
<input class="input-number"name="attr_total" type="text" value="0" title="@{repeating_skills_$X_total}" readonly />
|
||
</div>
|
||
<div class="settings repeating-skill-grid">
|
||
<input type="text" name="attr_name" placeholder="skill name" title="@{repeating_skills_$X_name}" value="" />
|
||
</div>
|
||
<hr />
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="box character-dice_pool">
|
||
<div class="dice_pool-grid">
|
||
<div class="dice_pool-box1 header"><h1 data-i18n="dice-pool">DICE POOL</h1></div>
|
||
<div class="grid-item">
|
||
<span class="label" data-i18n="attribute-score">Attribute Score</span>
|
||
<input type="radio" name="attr_base" value="6" class="dice-selection attribute" /><span title="6"></span>
|
||
<input type="radio" name="attr_base" value="5" class="dice-selection attribute" /><span title="5"></span>
|
||
<input type="radio" name="attr_base" value="4" class="dice-selection attribute" /><span title="4"></span>
|
||
<input type="radio" name="attr_base" value="3" class="dice-selection attribute" /><span title="3"></span>
|
||
<input type="radio" name="attr_base" value="2" class="dice-selection attribute" /><span title="2"></span>
|
||
<input type="radio" name="attr_base" value="1" class="dice-selection attribute" /><span title="1"></span>
|
||
<input type="radio" name="attr_base" value="0" class="dice-selection attribute" checked="checked" /><span title="0"></span>
|
||
</div>
|
||
<div class="grid-item">
|
||
<span class="label" data-i18n="skill-level">Skill Level</span>
|
||
<input type="radio" name="attr_skill" value="7" class="dice-selection skill" /><span title="7"></span>
|
||
<input type="radio" name="attr_skill" value="6" class="dice-selection skill" /><span title="6"></span>
|
||
<input type="radio" name="attr_skill" value="5" class="dice-selection skill" /><span title="5"></span>
|
||
<input type="radio" name="attr_skill" value="4" class="dice-selection skill" /><span title="4"></span>
|
||
<input type="radio" name="attr_skill" value="3" class="dice-selection skill" /><span title="3"></span>
|
||
<input type="radio" name="attr_skill" value="2" class="dice-selection skill" /><span title="2"></span>
|
||
<input type="radio" name="attr_skill" value="1" class="dice-selection skill" /><span title="1"></span>
|
||
<input type="radio" name="attr_skill" value="0" class="dice-selection skill" checked="checked" /><span title="0"></span>
|
||
<input type="radio" name="attr_skill" value="-1" class="dice-selection negative" /><span title="-1"></span>
|
||
<input type="radio" name="attr_skill" value="-2" class="dice-selection negative" /><span title="-2"></span>
|
||
<input type="radio" name="attr_skill" value="-3" class="dice-selection negative" /><span title="-3"></span>
|
||
<hr class="horizontal-rule">
|
||
<div class="sub-grid-item">
|
||
<button type="action" name="act_dice_pool_clear" data-i18n-title="reset-dice" title="Reset dice pool." data-i18n="clear-dice-pool">Clear Dice Pool</button>
|
||
</div>
|
||
</div>
|
||
<div class="grid-item">
|
||
<span class="label" data-i18n="gear-bonus">Gear Bonus</span>
|
||
<input type="radio" name="attr_gear" value="12" class="dice-selection gear" /><span title="12"></span>
|
||
<input type="radio" name="attr_gear" value="11" class="dice-selection gear" /><span title="11"></span>
|
||
<input type="radio" name="attr_gear" value="10" class="dice-selection gear" /><span title="10"></span>
|
||
<input type="radio" name="attr_gear" value="9" class="dice-selection gear" /><span title="9"></span>
|
||
<input type="radio" name="attr_gear" value="8" class="dice-selection gear" /><span title="8"></span>
|
||
<input type="radio" name="attr_gear" value="7" class="dice-selection gear" /><span title="7"></span>
|
||
<input type="radio" name="attr_gear" value="6" class="dice-selection gear" /><span title="6"></span>
|
||
<input type="radio" name="attr_gear" value="5" class="dice-selection gear" /><span title="5"></span>
|
||
<input type="radio" name="attr_gear" value="4" class="dice-selection gear" /><span title="4"></span>
|
||
<input type="radio" name="attr_gear" value="3" class="dice-selection gear" /><span title="3"></span>
|
||
<input type="radio" name="attr_gear" value="2" class="dice-selection gear" /><span title="2"></span>
|
||
<input type="radio" name="attr_gear" value="1" class="dice-selection gear" /><span title="1"></span>
|
||
<input type="radio" name="attr_gear" value="0" class="dice-selection gear" checked="checked" /><span title="0"></span>
|
||
</div>
|
||
<div class="grid-item span-three" style="padding: 10px 0 10px 0;">
|
||
<input class="input" type="hidden" name="attr_current_preset" value="" readonly />
|
||
<input type="hidden" name="attr_include_with_roll" value="" readonly />
|
||
<span class="label" data-i18n="current-preset">Current Preset</span>
|
||
<br>
|
||
<span class="header-h1" name="attr_current_preset"></span>
|
||
</div>
|
||
<div class="grid-item template-roll">
|
||
<input name="attr_base_roll" type="hidden" value="" />
|
||
<input name="attr_skill_roll" type="hidden" value="" />
|
||
<input name="attr_gear_roll" type="hidden" value="" />
|
||
<button class="dice-pool" type="roll" name="roll_the_dice" value="&{template:rolls} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{dice-pool}}} {{subtitle=@{current_preset}}} {{free-text}} {{footer}} @{base_roll} @{skill_roll} @{gear_roll} @{include_with_roll}" data-i18n-title="roll-dice" title="Roll the Dice!"><span class="small-caps" data-i18n="roll"> Roll </span></button>
|
||
</div>
|
||
<div class="grid-item">
|
||
<button class="dice-pool" type="roll" name="roll_d66" value="&{template:rolls} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=D66 Roll}} {{subtitle}} {{free-text}} {{other1=[[1d6cs0cf0]]}},{{other2=[[1d6cs0cf0]]}}{{footer}}" data-i18n-title="roll-dice-66" title="Roll d66!"><span class="small-caps"> D</span>66 </button>
|
||
</div>
|
||
<div class="grid-item">
|
||
<button class="dice-pool" type="roll" name="roll_d66" value="&{template:rolls} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=D66 Roll}} {{subtitle}} {{free-text}} {{other1=[[1d6cs0cf0]]}},{{other2=[[1d6cs0cf0]]}},{{other3=[[1d6cs0cf0]]}} {{footer}}" data-i18n-title="roll-dice-666" title="Roll d66!"><span class="small-caps"> D</span>666 </button>
|
||
</div>
|
||
<div class="grid-item init-item">
|
||
<button class="dice-pool" data-i18n="initiative" data-i18n-title="initiative" type="roll" name="roll_init" value="&{template:rolls} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=Initiative}} {{subtitle=Agility (@{agility})}} {{free-text}} {{other1=[[1d6cs1]]}} {{footer}}" title="Initiative">Initiative</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="box pc-only character-weapons">
|
||
<div class="grid weapons-grid header">
|
||
<h1 data-i18n="weapons">WEAPONS</h1>
|
||
<h2 data-i18n="name">Name</h2>
|
||
<h2 data-i18n="skill">Skill</h2>
|
||
<h2 data-i18n="bonus">Bonus</h2>
|
||
<h2 data-i18n="dmg-abbr">Dmg</h2>
|
||
<h2 data-i18n="range">Range</h2>
|
||
<h2 data-i18n="features">Features</h2>
|
||
</div>
|
||
<div class="weapons-box">
|
||
<fieldset class="repeating_weapons">
|
||
<div class="grid repeating-weapons-grid">
|
||
<button class="roll-button dicefontd6" type="action" name="act_attack-roll" title="Update Dice Pool">L</button>
|
||
<input class="input" type="text" name="attr_weapon_name" value="" title="@{repeating_weapons_$X_weapon_name}" />
|
||
<select class="input" name="attr_weapon_skill" title="@{repeating_weapons_$X_weapon_skill}">
|
||
<option value="0" selected data-i18n="fight">Fight</option>
|
||
<option value="1" data-i18n="shoot">Shoot</option>
|
||
</select>
|
||
<select class="input" name="attr_weapon_bonus" title="@{repeating_weapons_$X_weapon_bonus}">
|
||
<option value="0">0</option>
|
||
<option value="1" selected>1</option>
|
||
<option value="2">2</option>
|
||
<option value="3">3</option>
|
||
<option value="4">4</option>
|
||
<option value="5">5</option>
|
||
<option value="6">6</option>
|
||
<option value="7">7</option>
|
||
<option value="8">8</option>
|
||
<option value="9">9</option>
|
||
<option value="10">10</option>
|
||
<option value="11">11</option>
|
||
<option value="12">12</option>
|
||
</select>
|
||
<input class="input-number" type="number" name="attr_weapon_damage" value="1" min="0" title="@{repeating_weapons_$X_weapon_damage}" />
|
||
<select class="input" name="attr_weapon_range" title="@{repeating_weapons_$X_weapon_range}">
|
||
<option value="Arm" selected data-i18n="arms-length-abbr">Arm's L.</option>
|
||
<option value="Near" data-i18n="near">Near</option>
|
||
<option value="Short" data-i18n="short">Short</option>
|
||
<option value="Long" data-i18n="long">Long</option>
|
||
</select>
|
||
<input class="input" type="text" name="attr_weapon_features" value="" title="@{repeating_weapons_$X_weapon_features}" />
|
||
</div>
|
||
<hr />
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="box pc-only character-armor">
|
||
<div class="armor-container">
|
||
<div class="armor-grid">
|
||
<div class="armor-box header"><h1 data-i18n="armor">ARMOR</h1></div>
|
||
<div class="armor-box1 column-header"><span class="small-caps"></span></div>
|
||
<div class="armor-box2 column-header"><span class="small-caps"></span></div>
|
||
<div class="armor-box3 column-header"><span class="small-caps" data-i18n="damage-abbr">Dmg</span></div>
|
||
<div class="armor-box4 column-header"><span class="small-caps" data-i18n="rating">Rating</span></div>
|
||
<div class="armor-box5 column-header"><span class="small-caps" data-i18n="total">Total</span></div>
|
||
<div class="armor-box6 armor-grid">
|
||
<input class="armor-box1 input" type="text" name="attr_armor1_name" value="" title="@{armor1_name}" placeholder="name" />
|
||
<input class="armor-box2 input" type="checkbox" name="attr_armor1_equiped" value="1" title="@{armor1_equiped}" checked />
|
||
<input class="armor-box3 input-number" type="number" name="attr_armor1_damage" value="0" max="0" title="@{armor1_damage}" />
|
||
<input class="armor-box4 input-number" type="number" name="attr_armor1_bonus" value="0" min="0" title="@{armor1_bonus}" />
|
||
<input class="armor-box5 input-number" type="text" name="attr_armor1_ar" value="0" title="@{armor1_ar}" readonly />
|
||
</div>
|
||
<div class="armor-box7 armor-grid">
|
||
<input class="armor-box1 input" type="text" name="attr_armor2_name" value="" title="@{armor2_name}" placeholder="name" />
|
||
<input class="armor-box2 input" type="checkbox" name="attr_armor2_equiped" value="1" title="@{armor2_equiped}" checked />
|
||
<input class="armor-box3 input-number" type="number" name="attr_armor2_damage" value="0" max="0" title="@{armor2_damage}" />
|
||
<input class="armor-box4 input-number" type="number" name="attr_armor2_bonus" value="0" min="0" title="@{armor2_bonus}" />
|
||
<input class="armor-box5 input-number" type="text" name="attr_armor2_ar" value="0" title="@{armor2_ar}" readonly />
|
||
</div>
|
||
<div class="armor-box8">
|
||
<div class="armor-subgrid">
|
||
<span class="armor-box1">
|
||
<button type="action" name="act_armor-roll" title="Update Dice Pool" data-i18n="armor">Armor</button>
|
||
</span>
|
||
<span class="armor-box4 label header" data-i18n="armor-rating-abbr">AR</span>
|
||
<input class="armor-box5 input-number" type="text" name="attr_ar" value="0" title="@{ar}" style="border:1px solid #000;" readonly />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="box pc-only rot-level">
|
||
<div class="rot-grid">
|
||
<input name="attr_rot_roll" type="hidden" value="" />
|
||
<div class="rot-box header"><h1 data-i18n="rot-p">ROT POINTS</h1></div>
|
||
<div class="dots">
|
||
<input type="hidden" name="attr_rot_permenant" value="0" />
|
||
<input name="attr_rot" type="radio" value="0" checked /><span>0</span>
|
||
<input name="attr_rot" type="radio" value="1"/><span>1</span>
|
||
<input name="attr_rot" type="radio" value="2"/><span>2</span>
|
||
<input name="attr_rot" type="radio" value="3"/><span>3</span>
|
||
<input name="attr_rot" type="radio" value="4"/><span>4</span>
|
||
<input name="attr_rot" type="radio" value="5"/><span>5</span>
|
||
<input name="attr_rot" type="radio" value="6"/><span>6</span>
|
||
<input name="attr_rot" type="radio" value="7"/><span>7</span>
|
||
<input name="attr_rot" type="radio" value="8"/><span>8</span>
|
||
<input name="attr_rot" type="radio" value="9"/><span>9</span>
|
||
<input name="attr_rot" type="radio" value="10"/><span>10</span>
|
||
</div>
|
||
<label title="permaneant rot">
|
||
<span data-i18n="permaneant-rot">Permanent Rot</span>
|
||
<input class="input-number" type="number" name="attr_rot_permenant" value="0" min="0" title="@{rot_permenant}" />
|
||
</label>
|
||
<button class="dicefontd6" name="rot" type="roll" value=" &{template:rolls} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{rot}}} @{rot_roll}">L</button>
|
||
</div>
|
||
</div>
|
||
<div class="box pc-only character-experience">
|
||
<div class="experience-grid">
|
||
<div class="experience-box header">
|
||
<h1 data-i18n="experience-u">EXPERIENCE</h1>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="experience-dots pc-only dots">
|
||
<input name="attr_experience" type="radio" value="0" checked /><span>0</span>
|
||
<input name="attr_experience" type="radio" value="1"/><span>1</span>
|
||
<input name="attr_experience" type="radio" value="2"/><span>2</span>
|
||
<input name="attr_experience" type="radio" value="3"/><span>3</span>
|
||
<input name="attr_experience" type="radio" value="4"/><span>4</span>
|
||
<input name="attr_experience" type="radio" value="5"/><span>5</span>
|
||
<input name="attr_experience" type="radio" value="6"/><span>6</span>
|
||
<input name="attr_experience" type="radio" value="7"/><span>7</span>
|
||
<input name="attr_experience" type="radio" value="8"/><span>8</span>
|
||
<input name="attr_experience" type="radio" value="9"/><span>9</span>
|
||
<input name="attr_experience" type="radio" value="10"/><span>10</span>
|
||
</div>
|
||
<div class="box pc-only character-relationships">
|
||
<div class="relationships-grid">
|
||
<div class="grid relationships-grid relationships-header header">
|
||
<h1 data-i18n="relationships">RELATIONSHIPS</h1>
|
||
<h2 data-i18n="buddy">Buddy</h2>
|
||
</div>
|
||
<div class="repeating-relationships">
|
||
<fieldset class="repeating_relationships">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings,collapse," />
|
||
<div class="grid relationships-grid">
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<span name="attr_pc_name"></span>
|
||
<span name="attr_pc_description"></span>
|
||
<input name="attr_buddy" title="@{repeating_relationships_$X_buddy}" type="checkbox"><span></span>
|
||
</div>
|
||
<div class="grid relationships-grid settings">
|
||
<input class="input-number" type="text" name="attr_pc_name" value="" title="@{repeating_relationships_$X_pc_name}" placeholder="PC's name" />
|
||
<textarea class="input-textarea" name="attr_pc_description" title="@{repeating_relationships_$X_pc_description}" placeholder="Describe the relationship."></textarea>
|
||
</div>
|
||
<hr />
|
||
</fieldset>
|
||
</div>
|
||
<label data-i18n="i-hate">i hate:</label><input name="attr_hate" title="@{hate}" type="text" value="" />
|
||
<label data-i18n="i-protect">i need to protect:</label><input name="attr_protect" title="@{protect}" type="text" value="" />
|
||
<label data-i18n="i-dream">my big dream:</label><input name="attr_dream" title="@{dream}" type="text" value="" />
|
||
</div>
|
||
</div>
|
||
<div class="box pc-only character-notes">
|
||
<div class="notes-grid">
|
||
<div class="notes-box-header header">
|
||
<h1 data-i18n="notes">NOTES</h1>
|
||
</div>
|
||
<div class="notes-box-repeating">
|
||
<fieldset class="repeating_notes">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings,collapse," />
|
||
<div class="grid notes-grid">
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<span name="attr_note_name"></span>
|
||
<span name="attr_note_description"></span>
|
||
</div>
|
||
<div class="grid notes-grid settings">
|
||
<input class="input-number" type="text" name="attr_note_name" value="" title="@{repeating_notes_$X_note_name}" placeholder="Note's name" />
|
||
<textarea class="input-textarea" name="attr_note_description" title="@{repeating_notes_$X_note_description}" placeholder="Note's description."></textarea>
|
||
<hr />
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="one-col-right pc-only ">
|
||
<div class="grid">
|
||
<div class="box character-injuries">
|
||
<div class="grid injuries-grid injuries-header header">
|
||
<h1 data-i18n="critical-u">CRITICAL INJURIES</h1>
|
||
</div>
|
||
<div class="grid injuries-grid skill-orange">
|
||
<input class="input xbox" type="checkbox" name="attr_hungry" value="1" title="@{starving}" /><span></span>
|
||
<span class="header-h1" data-i18n="starving">Starving</span>
|
||
<input class="input xbox" type="checkbox" name="attr_sleepy" value="1" title="@{sleepless}" /><span></span>
|
||
<span class="header-h1" data-i18n="sleepless">Sleepless</span>
|
||
<hr />
|
||
<input class="input xbox" type="checkbox" name="attr_thirsty" value="1" title="@{dehydrated}" /><span></span>
|
||
<span class="header-h1" data-i18n="dehydrated">Dehydrated</span>
|
||
<input class="input xbox" type="checkbox" name="attr_cold" value="1" title="@{hypothermic}" /><span></span>
|
||
<span class="header-h1" data-i18n="hypothermic">Hypothermic</span>
|
||
</div>
|
||
<div class="grid injuries-grid">
|
||
<div class="injuries-box">
|
||
<fieldset class="repeating_injuries">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings," />
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<div class="display">
|
||
<span name="attr_injury_name"></span>
|
||
<span name="attr_injury_display"></span>
|
||
</div>
|
||
<div class="grid settings injuries-grid">
|
||
<label data-i18n="injury">Injury</label>
|
||
<input type="text" class="input" name="attr_injury_name" placeholder="Broken Leg" title="@{repeating_injuries_$X_injury_name}" value="" />
|
||
<label data-i18n="lethal">Lethal</label>
|
||
<select class="input" name="attr_injury_lethal" title="@{repeating_injuries_$X_injury_lethal}" value="">
|
||
<option value="no" data-i18n="no">No</option>
|
||
<option value="yes" data-i18n="yes">Yes</option>
|
||
<option value="yes -1" data-i18n="yes-1">Yes,-1</option>
|
||
<option value="" data-i18n="not-applicable-abbr" selected>-</option>
|
||
</select>
|
||
<label data-i18n="time-limit">Time Limit</label>
|
||
<input type="text" class="input" name="attr_injury_time_limit" placeholder="-" title="@{repeating_injuries_$X_injury_time_limit}" value="" />
|
||
<label data-i18n="effects">Effects</label>
|
||
<input type="text" class="input" name="attr_injury_effects" placeholder="−2 to Move and Sneak." title="@{repeating_injuries_$X_injury_effects}" value="" />
|
||
<label data-i18n="healing-time">Heal Time</label>
|
||
<input type="text" class="input" name="attr_injury_heal_time" placeholder="3d6" title="@{repeating_injuries_$X_injury_heal_time}" value="" />
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="box character-talents">
|
||
<div class="grid talents-grid">
|
||
<div class="talents-box header"><h1 data-i18n="talent-u">TALENTS</h1></div>
|
||
<div class="talents-box2 column-header"><span data-i18n="type">Type</span></div>
|
||
<div class="talents-box3 column-header"><span data-i18n="rank">Rank</span></div>
|
||
<div class="talents-box4">
|
||
<fieldset class="repeating_talents">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings,collapse," />
|
||
<div class="grid talents-grid">
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<button class="collapse" name="act_collapse" type="action">
|
||
<span name="attr_talent_name" title="Talent name"></span>
|
||
</button>
|
||
<span name="attr_talent_type" title="Talent type"></span>
|
||
<span name="attr_talent_rank" title="Talent rank"></span>
|
||
<span class="collapsible" name="attr_talent_description"></span>
|
||
</div>
|
||
<div class="grid talents-grid settings">
|
||
<input class="talents-box1 input" type="text" name="attr_talent_name" value="" title="@{repeating_talents_$X_talent_name}" placeholder="Name" />
|
||
<select class="talents-box2 input" name="attr_talent_type" title="@{repeating_talents_$X_talent_type}">
|
||
<option value="Gen" data-i18n="general" selected>General</option>
|
||
<option value="Role" data-i18n="role">Role</option>
|
||
</select>
|
||
<input class="input" name="attr_talent_rank" title="@{repeating_talents_$X_talent_rank}" type="text" value="1" />
|
||
<textarea class="talents-box4 input-textarea" name="attr_talent_description" title="@{repeating_talents_$X_talent_description}" placeholder="description"></textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="mutants-grid">
|
||
<div class="mutant-box header"><h1 data-i18n="mutantions">MUTATIONS</h1></div>
|
||
<div class="dots">
|
||
<input name="attr_mutation" type="radio" value="0" checked/><span>0</span>
|
||
<input name="attr_mutation" type="radio" value="1"/><span>1</span>
|
||
<input name="attr_mutation" type="radio" value="2"/><span>2</span>
|
||
<input name="attr_mutation" type="radio" value="3"/><span>3</span>
|
||
<input name="attr_mutation" type="radio" value="4"/><span>4</span>
|
||
<input name="attr_mutation" type="radio" value="5"/><span>5</span>
|
||
<input name="attr_mutation" type="radio" value="6"/><span>6</span>
|
||
<input name="attr_mutation" type="radio" value="7"/><span>7</span>
|
||
<input name="attr_mutation" type="radio" value="8"/><span>8</span>
|
||
<input name="attr_mutation" type="radio" value="9"/><span>9</span>
|
||
<input name="attr_mutation" type="radio" value="10"/><span>10</span>
|
||
</div>
|
||
<div class="talents-box4">
|
||
<fieldset class="repeating_mutantions">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings,collapse," />
|
||
<div class="grid mutantions-grid">
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<button class="collapse" name="act_collapse" type="action">
|
||
<span name="attr_mutantion_name" title="Mutant Power name"></span>
|
||
</button>
|
||
<span class="collapsible" name="attr_mutantion_description"></span>
|
||
</div>
|
||
<div class="grid mutantions-grid settings">
|
||
<input class="talents-box1 input" type="text" name="attr_mutantion_name" value="" title="@{repeating_mutantions_$X_mutantion_name}" placeholder="Name" />
|
||
<textarea class="talents-box4 input-textarea" name="attr_mutantion_description" title="@{repeating_mutantions_$X_mutantion_description}" placeholder="description"></textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="box character-necessities">
|
||
<div class="nec-grid">
|
||
<div class="header"><h1 data-i18n="nec-u">NECESSITIES</h1></div>
|
||
<div>
|
||
<img alt="chocolate bar representing grub" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Mutant%20Year%20Zero/images/grub.png" /><input name="attr_grub" placeholder="0" title="@{grub}" type="number" value="" />
|
||
</div>
|
||
<div>
|
||
<img alt="water bottle" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Mutant%20Year%20Zero/images/water.png" /><input name="attr_water" placeholder="0" title="@{water}" type="number" value="" />
|
||
</div>
|
||
<div>
|
||
<img alt="bullets" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Mutant%20Year%20Zero/images/bullet.png" /><input name="attr_bullets" placeholder="0" title="@{bullets}" type="number" value="" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="box character-gear">
|
||
<div class="gear-grid">
|
||
<div class="gear-box1 header"><h1 data-i18n="gea-u">GEAR</h1></div>
|
||
<div class="gear-box2 column-header"><span class="small-caps" data-i18n="quantity-abbr">Qty</span></div>
|
||
<div class="gear-box3 column-header"><span class="small-caps" data-i18n="carried-abbr">Carr</span></div>
|
||
<div class="gear-box4 column-header"><span class="small-caps" data-i18n="weight-abbr">Wt</span></div>
|
||
<div class="gear-box5">
|
||
<fieldset class="repeating_gear">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings," />
|
||
<div class="grid gear-grid">
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<button class="collapse" name="act_collapse" type="action">
|
||
<span name="attr_gear_name"></span>
|
||
</button>
|
||
<span name="attr_gear_qty"></span>
|
||
<span name="attr_gear_carried"></span>
|
||
<span name="attr_gear_weight"></span>
|
||
<span class="collapsible" name="attr_gear_description"></span>
|
||
</div>
|
||
<div class="grid settings gear-grid">
|
||
<input class="gear-box1 input" type="text" name="attr_gear_name" value="" title="@{repeating_gear_$X_gear_name}" placeholder="item" />
|
||
<input class="gear-box2 input-number" type="number" name="attr_gear_qty" value="1" min="0" title="@{repeating_gear_$X_gear_qty}" />
|
||
<input class="gear-box3 input" type="checkbox" name="attr_gear_carried" value="1" title="@{repeating_gear_$X_gear_carried}" checked />
|
||
<select class="gear-box4 input" name="attr_gear_weight" title="@{repeating_gear_$X_gear_weight}">
|
||
<option data-i18n="tiny" value="0.05">Tiny (0.05)</option>
|
||
<option data-i18n="small" value="0.25">Small (0.25)</option>
|
||
<option data-i18n="light" value="0.5">Light (0.5)</option>
|
||
<option data-i18n="regular" value="1" selected>Regular (1)</option>
|
||
<option data-i18n="heavy" value="2">Heavy (2)</option>
|
||
</select>
|
||
<textarea class="gear-box5 input-textarea" name="attr_gear_description" title="@{repeating_talents_$X_gear_description}" placeholder="description"></textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="gear-box6 header">
|
||
<div class="gear-subgrid">
|
||
<div class="gear-box7"><span class="label" data-i18n="carry">Carry</span></div>
|
||
<div class="gear-box8"><input class="input-number" type="text" name="attr_carry" value="" title="@{carry} = 2 x strength_max" readonly /></div>
|
||
<div class="gear-box9"><span class="label" data-i18n="encumbrance">Encumbrance</span></div>
|
||
<div class="gear-box10">
|
||
<input type="hidden" name="attr_character_gear_encumbrance" value="0" />
|
||
<input class="input-number" type="text" name="attr_character_encumbrance" value="0" title="@{character_encumbrance}" readonly />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="box character-vehicle_gear">
|
||
<div class="vehicle_gear-grid">
|
||
<div class="vehicle_gear-box1 header"><h1 data-i18n="on-vehicle">On Vehicle</h1></div>
|
||
<div class="vehicle_gear-box2 column-header"><span class="small-caps" data-i18n="quantity-abbr">Qty</span></div>
|
||
<div class="vehicle_gear-box3 column-header"><span class="small-caps" data-i18n="carried-abbr">Carr</span></div>
|
||
<div class="vehicle_gear-box4 column-header"><span class="small-caps" data-i18n="weight-abbr" >Wt</span></div>
|
||
<div class="vehicle_gear-box5">
|
||
<fieldset class="repeating_vehicle">
|
||
<input class="display" name="attr_reveal" type="hidden" value="display,settings," />
|
||
<div class="grid vehicle_gear-grid">
|
||
<button class="toggles toggles-repeating" name="act_settings" type="action">y</button>
|
||
<button class="collapse" name="act_collapse" type="action">
|
||
<span name="attr_vehicle_gear_name"></span>
|
||
</button>
|
||
<span name="attr_vehicle_gear_qty"></span>
|
||
<span name="attr_vehicle_gear_carried"></span>
|
||
<span name="attr_vehicle_gear_weight"></span>
|
||
<span class="collapsible" name="attr_vehicle_gear_description"></span>
|
||
</div>
|
||
<div class="grid settings vehicle_gear-grid">
|
||
<input class="vehicle_gear-box1 input" type="text" name="attr_vehicle_gear_name" value="" title="@{repeating_vehicle_gear_$X_gear_name}" placeholder="item" />
|
||
<input class="vehicle_gear-box2 input-number" type="number" name="attr_vehicle_gear_qty" value="1" min="0" title="@{repeating_vehicle_gear_$X_gear_qty}" />
|
||
<input class="vehicle_gear-box3 input" type="checkbox" name="attr_vehicle_gear_carried" value="1" title="@{repeating_vehicle_gear_$X_gear_carried}" checked />
|
||
<select class="vehicle_gear-box4 input" name="attr_vehicle_gear_weight" title="@{repeating_gear_$X_vehicle_gear_weight}">
|
||
<option data-i18n="tiny" value="0.05">Tiny (0.05)</option>
|
||
<option data-i18n="small" value="0.25">Small (0.25)</option>
|
||
<option data-i18n="light" value="0.5">Light (0.5)</option>
|
||
<option data-i18n="regular" value="1" selected>Regular (1)</option>
|
||
<option data-i18n="heavy" value="2">Heavy (2)</option>
|
||
</select>
|
||
<textarea class="vehicle_gear-box5 input-textarea" name="attr_vehicle_gear_description" title="@{repeating_talents_$X_vehicle_gear_description}" placeholder="description"></textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="vehicle_gear-box6 header">
|
||
<div class="vehicle_gear-subgrid">
|
||
<div class="vehicle_gear-box9"><span class="label" data-i18n="encumbrance">Encumbrance</span></div>
|
||
<div class="vehicle_gear-box10">
|
||
<input class="input" type="hidden" name="attr_vehicle_gear_encumbrance" value="0" />
|
||
<input class="input-number" type="text" name="attr_vehicle_encumbrance" value="0" title="@{vehicle_encumbrance}" readonly />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="wrapper tab-content ark">
|
||
<div class="grid ark-details-grid">
|
||
<input class="input-number" type="hidden" name="attr_ark_battle_level" value="0" />
|
||
<div class="box ark-info-grid">
|
||
<h1 data-i18n="ark">Ark</h1>
|
||
<span class="label" data-i18n="type">Type</span>
|
||
<input class="input-number" type="text" name="attr_ark_name" value="" title="@{ark_name}" />
|
||
<span class="label" data-i18n="coordinates">Coordinates</span>
|
||
<input class="input-number" type="text" name="attr_ark_coordinates" value="" title="@{ark_coordinates}" />
|
||
<hr />
|
||
<span class="label" data-i18n="battle-level">Battle Level</span>
|
||
<input class="input-number" type="hidden" name="attr_ark_battle_level" value="0" title="@{ark_battle_level}" />
|
||
<span name="attr_ark_battle_level"></span>
|
||
<span class="label" data-i18n="description">Description</span>
|
||
<textarea class="input-textarea" name="attr_ark_description" title="@{ark_description}"></textarea>
|
||
</div>
|
||
<div class="box ark-development-grid">
|
||
<h1 data-i18n="dev-level">Development Levels</h1>
|
||
<span class="label" data-i18n="food-supply">Food Supply</span>
|
||
<input class="input-number" type="number" name="attr_ark_food_supply" value="" title="@{ark_food_supply}" />
|
||
<hr>
|
||
<span class="label" data-i18n="culture">Culture</span>
|
||
<input class="input-number" type="number" name="attr_ark_culture" value="" title="@{ark_culture}" />
|
||
<hr>
|
||
<span class="label" data-i18n="technology">Technology</span>
|
||
<input class="input-number" type="number" name="attr_ark_technology" value="" title="@{ark_technology}" />
|
||
<hr>
|
||
<span class="label" data-i18n="warfare">Warfare</span>
|
||
<input class="input-number" type="number" name="attr_ark_warfare" value="" title="@{ark_warfare}" />
|
||
</div>
|
||
</div>
|
||
<div class="grid ark-grid">
|
||
<div class="box ark-projects">
|
||
<div class="ark-projects-header grid ark-projects-grid">
|
||
<h1 data-i18n="projects">Projects</h1>
|
||
<h2 data-i18n="comment">Comment</h2>
|
||
<h2 data-i18n="skills">Skills</h2>
|
||
<h2 data-i18n="workpoints">Work Points/Max</h2>
|
||
<h2 data-i18n="complete">Complete</h2>
|
||
</div>
|
||
<div class="ark-projects-repeating">
|
||
<fieldset class="repeating_projects">
|
||
<div class="grid ark-projects-grid">
|
||
<input class="input" type="text" name="attr_name" value="" title="@{repeating_projects_$X_name}" />
|
||
<input class="input" type="text" name="attr_comment" value="" title="@{repeating_projects_$X_comment}" />
|
||
<input class="input" type="text" name="attr_skills" value="" title="@{repeating_projects_$X_skills}" />
|
||
<input class="input" type="text" name="attr_work_points" value="" title="@{repeating_projects_$X_work_points}" />
|
||
<input class="input" type="text" name="attr_work_points_max" value="" title="@{repeating_projects_$X_work_points_max}" />
|
||
<input name="attr_complete" title="@{repeating_projects_$X_complete}" type="checkbox"><span></span>
|
||
</div>
|
||
<hr>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="grid ark-boss-row">
|
||
<div class="box ark-boss">
|
||
<div class="ark-bosses-header grid ark-bosses-grid">
|
||
<h1 data-i18n="bosses">Bosses</h1>
|
||
<h2 data-i18n="type">Type</h2>
|
||
</div>
|
||
<div class="ark-bosses-repeating">
|
||
<fieldset class="repeating_bosses">
|
||
<div class="grid ark-bosses-grid">
|
||
<input class="input" type="text" name="attr_name" value="" title="@{repeating_bosses_$X_name}" />
|
||
<input class="input" type="text" name="attr_type" value="" title="@{repeating_bosses_$X_type}" />
|
||
</div>
|
||
<hr />
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="box grid ark-other-grid">
|
||
<h1 data-i18n="other-info">Other Information</h1>
|
||
<span class="label" data-i18n="population">Population</span>
|
||
<input class="input-number" type="number" name="attr_ark_population" value="" title="@{ark_population}" />
|
||
<hr />
|
||
<span class="label" data-i18n="water-source">Water Source</span>
|
||
<input class="input-number" type="text" name="attr_ark_water_source" value="" title="@{ark_water_source}" />
|
||
<hr />
|
||
<span class="label" data-i18n="season">Season</span>
|
||
<input class="input-number" type="text" name="attr_ark_season" value="" title="@{ark_season}" />
|
||
</div>
|
||
</div>
|
||
<div class="ark-grid">
|
||
<div class="box ark-notes">
|
||
<div class="grid ark-notes-grid">
|
||
<h1 data-i18n="notes">Notes</h1>
|
||
<div class="ark-notes-repeating">
|
||
<fieldset class="repeating_ark-notes">
|
||
<textarea class="input-textarea" name="attr_notes" title="@{repeating_ark-notes_$X_notes}"></textarea>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="wrapper tab-content log">
|
||
<div class="box">
|
||
<div class="grid log-grid log-grid-header header">
|
||
<h1 data-i18n="zone-log">Zone Log</h1>
|
||
<h2 data-i18n="coordinates">Coordinates</h2>
|
||
<h2 data-i18n="terrain">Terrain</h2>
|
||
<h2 data-i18n="rot-level">Rot Level</h2>
|
||
<h2 data-i18n="threat">Threat</h2>
|
||
<h2 data-i18n="threat-notes">Threat Notes</h2>
|
||
<h2 data-i18n="resources-found">Resources Found</h2>
|
||
</div>
|
||
<div class="repeating-log-grid">
|
||
<fieldset class="repeating_log">
|
||
<div class="grid log-grid">
|
||
<input class="input-number" name="attr_coordinates" title="@{repeating_log_$X_coordinates}" type="text"value="" />
|
||
<input class="input-number" name="attr_terrain" title="@{repeating_log_$X_terrain}" type="text" value="" />
|
||
<input class="input-number" name="attr_rot_level" title="@{repeating_log_$X_rot_level}" type="text" value="" />
|
||
<input name="attr_threat" title="@{repeating_log_$X_threat}" type="checkbox" /><span></span>
|
||
<input class="input-number" name="attr_threat_notes" title="@{repeating_log_$X_threat_notes}" type="text" value="" />
|
||
<label class="log-resouces" data-i18n="a">A</label><input name="attr_artifacts" title="@{repeating_log_$X_artifacts}" type="checkbox" /><span></span>
|
||
<label class="log-resouces" data-i18n="b">B</label><input name="attr_bullets" title="@{repeating_log_$X_bullets}" type="checkbox" /><span></span>
|
||
<label class="log-resouces" data-i18n="g">G</label><input name="attr_grub" title="@{repeating_log_$X_grub}" type="checkbox" /><span></span>
|
||
<label class="log-resouces" data-i18n="w">W</label><input name="attr_water" title="@{repeating_log_$X_water}" type="checkbox" /><span></span>
|
||
<input class="input-number" data-i18n-placeholder="comment" name="attr_comment" placholder="Comment" title="@{repeating_log_$X_comment}" type="text" value="" />
|
||
</div>
|
||
<hr />
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label class="footer">v.<span name="attr_version"></span></label>
|
||
|
||
<!-- Roll Templates -->
|
||
<rolltemplate class="sheet-rolltemplate-rolls">
|
||
<div class="template-wrap">
|
||
<div class="template-grid">
|
||
<div class="template-grid-item template-span-six template-header">
|
||
{{#character_name}}
|
||
<div class="template-grid-item template-span-left template-header">
|
||
{{#character_id}}[{{character_name}}](https://journal.roll20.net/character/{{character_id}}){{/character_id}}
|
||
{{^character_id}}{{character_name}}{{/character_id}}
|
||
</div>
|
||
{{/character_name}}
|
||
{{#name}}
|
||
<div class="template-grid-item template-span-center template-header">◇</div>
|
||
{{/name}}
|
||
{{#name}}
|
||
<div class="template-grid-item template-span-right template-header">
|
||
{{#name_link}}[{{name}}]({{name_link}}){{/name_link}}
|
||
{{^name_link}}{{name}}{{/name_link}}
|
||
</div>
|
||
{{/name}}
|
||
</div>
|
||
{{#subtitle}}<div class="template-grid-item template-span-six template-subtitle"><span>{{subtitle}}</span></div>{{/subtitle}}
|
||
|
||
<!--- dice pool -->
|
||
{{#base1}}<div class="template-span-one template-base-dice dice">{{base1}}</div>{{/base1}}
|
||
{{#base2}}<div class="template-span-two template-base-dice dice">{{base2}}</div>{{/base2}}
|
||
{{#skill1}}<div class="template-span-three template-skill-dice dice">{{skill1}}</div>{{/skill1}}
|
||
{{#skill2}}<div class="template-span-four template-skill-dice dice">{{skill2}}</div>{{/skill2}}
|
||
{{#negative1}}<div class="template-span-three template-purple-dice dice">{{negative1}}</div>{{/negative1}}
|
||
{{#negative2}}<div class="template-span-four template-purple-dice dice">{{negative2}}</div>{{/negative2}}
|
||
{{#gear1}}<div class="template-span-five template-gear-dice dice">{{gear1}}</div>{{/gear1}}
|
||
{{#gear2}}<div class="template-span-shix template-gear-dice dice">{{gear2}}</div>{{/gear2}}
|
||
<!--- BEGIN ROW TWO --->
|
||
{{#base3}}<div class="template-span-one template-base-dice dice">{{base3}}</div>{{/base3}}
|
||
{{#base4}}<div class="template-span-two template-base-dice dice">{{base4}}</div>{{/base4}}
|
||
{{#skill3}}<div class="template-span-three template-skill-dice dice">{{skill3}}</div>{{/skill3}}
|
||
{{#skill4}}<div class="template-span-four template-skill-dice dice">{{skill4}}</div>{{/skill4}}
|
||
{{#negative3}}<div class="template-span-three template-purple-dice dice">{{negative3}}</div>{{/negative3}}
|
||
{{#gear3}}<div class="template-span-five template-gear-dice dice">{{gear3}}</div>{{/gear3}}
|
||
{{#gear4}}<div class="template-span-shix template-gear-dice dice">{{gear4}}</div>{{/gear4}}
|
||
<!--- BEGIN ROW THREE -->
|
||
{{#base5}}<div class="template-span-one template-base-dice dice">{{base5}}</div>{{/base5}}
|
||
{{#base6}}<div class="template-span-two template-base-dice dice">{{base6}}</div>{{/base6}}
|
||
{{#skill5}}<div class="template-span-three template-skill-dice dice">{{skill5}}</div>{{/skill5}}
|
||
{{#skill6}}<div class="template-span-four template-skill-dice dice">{{skill6}}</div>{{/skill6}}
|
||
{{#gear5}}<div class="template-span-five template-gear-dice dice">{{gear5}}</div>{{/gear5}}
|
||
{{#gear6}}<div class="template-span-shix template-gear-dice dice">{{gear6}}</div>{{/gear6}}
|
||
<!--- BEGIN ROW FOUR -->
|
||
{{#base7}}<div class="template-span-one template-base-dice dice">{{base7}}</div>{{/base7}}
|
||
{{#base8}}<div class="template-span-two template-base-dice dice">{{base8}}</div>{{/base8}}
|
||
{{#skill7}}<div class="template-span-three template-skill-dice dice">{{skill7}}</div>{{/skill7}}
|
||
{{#gear7}}<div class="template-span-five template-gear-dice dice">{{gear7}}</div>{{/gear7}}
|
||
{{#gear8}}<div class="template-span-shix template-gear-dice dice">{{gear8}}</div>{{/gear8}}
|
||
<!--- BEGIN ROW FIVE -->
|
||
{{#base9}}<div class="template-span-one template-base-dice dice">{{base7}}</div>{{/base9}}
|
||
{{#base10}}<div class="template-span-two template-base-dice dice">{{base10}}</div>{{/base10}}
|
||
{{#gear9}}<div class="template-span-five template-gear-dice dice">{{gear9}}</div>{{/gear9}}
|
||
{{#gear10}}<div class="template-span-shix template-gear-dice dice">{{gear10}}</div>{{/gear10}}
|
||
<!--- BEGIN ROW SIX -->
|
||
{{#gear11}}<div class="template-span-five template-gear-dice dice">{{gear11}}</div>{{/gear11}}
|
||
{{#gear12}}<div class="template-span-shix template-gear-dice dice">{{gear12}}</div>{{/gear12}}
|
||
<!-- ROT & MUTATION points -->
|
||
{{#other1}}<div class="template-other-dice dice">{{other1}}</div>{{/other1}}
|
||
{{#other2}}<div class="template-other-dice dice">{{other2}}</div>{{/other2}}
|
||
{{#other3}}<div class="template-other-dice dice">{{other3}}</div>{{/other3}}
|
||
{{#other4}}<div class="template-other-dice dice">{{other4}}</div>{{/other4}}
|
||
{{#other5}}<div class="template-other-dice dice">{{other5}}</div>{{/other5}}
|
||
{{#other6}}<div class="template-other-dice dice">{{other6}}</div>{{/other6}}
|
||
{{#other7}}<div class="template-other-dice dice">{{other7}}</div>{{/other7}}
|
||
{{#other8}}<div class="template-other-dice dice">{{other8}}</div>{{/other8}}
|
||
{{#other9}}<div class="template-other-dice dice">{{other9}}</div>{{/other9}}
|
||
{{#other10}}<div class="template-other-dice dice">{{other10}}</div>{{/other10}}
|
||
<!--- dice pool column labels in footer-->
|
||
{{#attribute-die-one}}
|
||
<div class="template-grid-item template-span-left">
|
||
<span class="template-smaller" data-i18n="attribute-dice dice">Attribute Dice</span>
|
||
</div>
|
||
<div class="template-grid-item template-span-center">
|
||
<span class="template-smaller" data-i18n="skill-dice dice">Skill Dice</span>
|
||
</div>
|
||
<div class="template-grid-item template-span-right">
|
||
<span class="template-smaller" data-i18n="gear-dice dice">Gear Dice</span>
|
||
</div>
|
||
{{/attribute-die-one}}
|
||
|
||
<!--- attack -->
|
||
{{#weapon-bonus}}{{#weapon-damage}}{{#weapon-range}}
|
||
<div class="template-grid-item template-span-six">
|
||
<span class="label" data-i18n="bonus">Bonus</span>: {{weapon-bonus}}
|
||
<span class="label" data-i18n="damage">Damage</span>: {{weapon-damage}}
|
||
<span class="label" data-i18n="range">Range</span>: {{weapon-range}}
|
||
</div>
|
||
{{/weapon-range}}{{/weapon-damage}}{{/weapon-bonus}}
|
||
{{#weapon-features}}<div class="template-grid-item template-span-six">{{weapon-features}}</div>{{/weapon-features}}
|
||
</div>
|
||
</div>
|
||
</rolltemplate>
|
||
|
||
<script type="text/worker">
|
||
/* ===== PARAMETERS ==========
|
||
GiGs 'Super Simple Summarizer'
|
||
*/
|
||
const repeatingSum = (destination, section, fields, multiplier = 1) => {
|
||
if (!Array.isArray(fields)) fields = [fields];
|
||
getSectionIDs(`repeating_${section}`, idArray => {
|
||
const attrArray = idArray.reduce( (m,id) => [...m, ...(fields.map(field => `repeating_${section}_${id}_${field}`))],[]);
|
||
getAttrs(attrArray, v => {
|
||
console.log(">>> values of v: "+ JSON.stringify(v) +" <<<");
|
||
// getValue: if not a number, returns 1 if it is 'on' (checkbox), otherwise returns 0..
|
||
const getValue = (section, id,field) => parseFloat(v[`repeating_${section}_${id}_${field}`], 10) || (v[`repeating_${section}_${id}_${field}`] === 'on' ? 1 : 0);
|
||
const sumTotal = idArray.reduce((total, id) => total + fields.reduce((subtotal,field) => subtotal * getValue(section, id,field),1),0);
|
||
setAttrs({[destination]: sumTotal * multiplier});
|
||
});
|
||
});
|
||
};
|
||
on('change:repeating_gear remove:repeating_gear sheet_opened', () => {
|
||
console.log(">>> Change Detected: Character Gear Encumbrance <<<");
|
||
repeatingSum("character_gear_encumbrance","gear",["gear_weight","gear_qty","gear_carried"]);
|
||
});
|
||
on('change:repeating_vehicle remove:repeating_vehicle sheet_opened', () => {
|
||
console.log(">>> Change Detected: vehicle's Gear Encumbrance <<<");
|
||
repeatingSum("vehicle_gear_encumbrance","vehicle",["vehicle_gear_weight","vehicle_gear_qty","vehicle_gear_carried"]);
|
||
});
|
||
/* total encumbrance */
|
||
on('change:character_gear_encumbrance change:vehicle_gear_encumbrance change:water change:grub change:bullets', function() {
|
||
getAttrs(["character_gear_encumbrance", "vehicle_gear_encumbrance", "water", "grub", "bullets"], function(values) {
|
||
console.log(">>> Change Detected: Character Encumbrance <<<");
|
||
const character_gear_encumbrance = parseFloat(values["character_gear_encumbrance"],10)||0;
|
||
const vehicle_gear_encumbrance = parseFloat(values["vehicle_gear_encumbrance"],10)||0;
|
||
let sum_character_weight = (character_gear_encumbrance);
|
||
const sum_vehicle_weight = (vehicle_gear_encumbrance);
|
||
|
||
["water", "grub", "bullets"].forEach(item => {
|
||
const number = parseFloat(values[item],10) || 0;
|
||
const modifier = (item === "bullets") ? 0.05 : 0.25;
|
||
sum_character_weight += Math.floor(number * modifier)
|
||
});
|
||
|
||
setAttrs({
|
||
"character_encumbrance": sum_character_weight,
|
||
"vehicle_encumbrance": sum_vehicle_weight
|
||
});
|
||
});
|
||
});
|
||
/* ability damage calcs */
|
||
const damages = {
|
||
strength: 'damage',
|
||
agility: 'fatigue',
|
||
wits: 'confusion',
|
||
empathy: 'doubt'
|
||
};
|
||
Object.keys(damages).forEach(stat => {
|
||
on(`change:${stat}_max change:${damages[stat]}`, () => {
|
||
getAttrs([`${stat}_max`, `tab`, damages[stat]], (v) => {
|
||
const stat_score = parseInt(v[`${stat}_max`], 10) || 0,
|
||
damage_score = parseInt(v[damages[stat]], 10) || 0;
|
||
if (v.tab === "character") {
|
||
setAttrs({
|
||
[`${stat}`] : Math.max(0, stat_score - damage_score )
|
||
});
|
||
};
|
||
});
|
||
});
|
||
});
|
||
|
||
/* skill total calcs */
|
||
const attributes = {
|
||
endure: 'strength',
|
||
force: 'strength',
|
||
fight: 'strength',
|
||
sneak: 'agility',
|
||
move: 'agility',
|
||
shoot: 'agility',
|
||
scout: 'wits',
|
||
comprehend: `wits`,
|
||
know_the_zone: 'wits',
|
||
sense_emotion : 'empathy',
|
||
manipulate: 'empathy',
|
||
heal: 'empathy',
|
||
};
|
||
Object.keys(attributes).forEach(skill => {
|
||
on(`change:${skill} change:${attributes[skill]}`, () => {
|
||
getAttrs([`${skill}`, attributes[skill]], (v) => {
|
||
const stat_score = parseInt(v[attributes[skill]], 10) || 0,
|
||
skill_score = parseInt(v[`${skill}`], 10) || 0;
|
||
setAttrs({
|
||
[`${skill}_total`]: stat_score + skill_score
|
||
});
|
||
});
|
||
});
|
||
});
|
||
|
||
const update_roll_name = (attribute) => {
|
||
const update = { roll_name: getTranslationByKey(attribute) };
|
||
setAttributes(update, false);
|
||
};
|
||
|
||
on("change:strength_max", (eventinfo) => {
|
||
getAttrs(["strength_max"], (v) => {
|
||
const str = parseInt(v.strength_max) || 0;
|
||
const update = { carry: str*2 };
|
||
setAttributes(update, false);
|
||
});
|
||
});
|
||
|
||
/* Clear the Dice pool on Click */
|
||
on("clicked:dice_pool_clear", () => {
|
||
console.log(">>> Change Detected: Clear Dice Pool - button clicked <<<");
|
||
setAttrs({
|
||
attribute: 0,
|
||
skill: 0,
|
||
gear: 0,
|
||
current_preset: getTranslationByKey(`custom`),
|
||
include_with_roll: ""
|
||
});
|
||
});
|
||
|
||
/* set weapon dice pool */
|
||
on("clicked:repeating_weapons:attack-roll", () => {
|
||
console.log(">>> Change Detected: Weapon - button clicked <<<");
|
||
getAttrs(['repeating_weapons_weapon_skill', 'repeating_weapons_weapon_name' ,'repeating_weapons_weapon_bonus', 'repeating_weapons_weapon_damage', 'repeating_weapons_weapon_range', 'repeating_weapons_weapon_features', 'strength', 'agility', 'wits', 'empathy', 'shoot', 'fight'], (values) => {
|
||
const weapon_skill = parseInt(values.repeating_weapons_weapon_skill,10)||0,
|
||
weapon_bonus = parseInt(values.repeating_weapons_weapon_bonus,10)||0,
|
||
weapon_name = values.repeating_weapons_weapon_name,
|
||
weapon_damage = parseInt(values.repeating_weapons_weapon_damage,10)||0,
|
||
weapon_range = values.repeating_weapons_weapon_range,
|
||
weapon_features = values.repeating_weapons_weapon_features,
|
||
attribute = (weapon_skill === 0 ? parseInt(values.strength,10)||0 : parseInt(values.agility,10)||0 ),
|
||
skill = (weapon_skill === 0 ? parseInt(values.fight,10)||0 : parseInt(values.shoot,10)||0 );
|
||
setAttrs({
|
||
base: attribute,
|
||
skill: skill,
|
||
gear: weapon_bonus,
|
||
current_preset: getTranslationByKey(`weapon-selected`) + ` - ${weapon_name}`,
|
||
include_with_roll: `{{weapon-bonus=${weapon_bonus}}} {{weapon-damage=${weapon_damage}}} {{weapon-range=${weapon_range}}} {{weapon-features=${weapon_features}}}`
|
||
});
|
||
});
|
||
});
|
||
|
||
/* set armor dice pool */
|
||
on("clicked:armor-roll", () => {
|
||
console.log(">>> Change Detected: Armor - button clicked <<<");
|
||
getAttrs(["ar"], (values) => {
|
||
const ar = parseInt(values.ar,10)||0;
|
||
setAttrs({
|
||
base: 0,
|
||
skill: 0,
|
||
gear: ar,
|
||
current_preset: getTranslationByKey(`armor-roll`),
|
||
include_with_roll: ""
|
||
});
|
||
});
|
||
});
|
||
|
||
/* set armor calcs */
|
||
on("change:armor1_equiped change:armor1_damage change:armor1_bonus change:armor2_equiped change:armor2_damage change:armor2_bonus", function() {
|
||
console.log(">>> Change Detected: Armor/Helmet <<<");
|
||
getAttrs(["armor1_equiped", "armor1_damage", "armor1_bonus", "armor2_equiped", "armor2_damage", "armor2_bonus"], function(values) {
|
||
|
||
const armor1_equiped = parseInt(values["armor1_equiped"],10)||0,
|
||
armor1_damage = parseInt(values["armor1_damage"],10)||0,
|
||
armor1_bonus = parseInt(values["armor1_bonus"],10)||0,
|
||
armor2_equiped = parseInt(values["armor2_equiped"],10)||0,
|
||
armor2_damage = parseInt(values["armor2_damage"],10)||0,
|
||
armor2_bonus = parseInt(values["armor2_bonus"],10)||0,
|
||
armor1_ar = parseInt(values["armor1_ar"],10)||0,
|
||
armor2_ar = parseInt(values["armor2_ar"],10)||0,
|
||
ar = parseInt(values["ar"],10)||0,
|
||
tempAR1 = Math.max((armor1_equiped*(armor1_bonus+armor1_damage))),
|
||
tempAR2 = Math.max((armor2_equiped*(armor2_bonus+armor2_damage))),
|
||
tempAR = Math.max((tempAR1 + tempAR2));
|
||
setAttrs({
|
||
"armor1_ar": tempAR1,
|
||
"armor2_ar": tempAR2,
|
||
"ar": tempAR
|
||
});
|
||
});
|
||
});
|
||
|
||
/* Cassie's JAVASCRIPT */
|
||
['rot','base','skill','gear', "mutation"].forEach(attr => {
|
||
on(`change:${attr}`, (eventinfo) => {
|
||
const value = parseInt(eventinfo.newValue) || 0;
|
||
const type = (attr === "rot" || attr === "mutation") ? "other" : (attr === "skill" && value < 0) ? "negative" : attr;
|
||
const template = update_roll(type, Math.abs(value));
|
||
const name = (attr === "negative") ? "skill" : attr;
|
||
let update = {
|
||
[`${name}_roll`]: template
|
||
};
|
||
|
||
(eventinfo.sourceType === "player") ? update["current_preset"] = getTranslationByKey(`custom`) : false;
|
||
|
||
setAttributes(update, false);
|
||
});
|
||
});
|
||
|
||
/* Build Roll Template */
|
||
const update_roll = (type, number) => {
|
||
//Type will equal base, gear, negative, or skill
|
||
const int = parseInt(number) || 0;
|
||
//Set critical success or fail based on type
|
||
const suffix = (type === "base" || type === "gear") ? "cs6cf1" : (type === "skill") ? "cs6cf0" : (type === "other") ? "cs0cf1" : "";
|
||
let pool = [];
|
||
|
||
for (x = 1; x <= int; x++) {
|
||
pool.push(`{{${type}`.concat(x, `=[[1d6${suffix}]]}}`));
|
||
};
|
||
return (pool.join())
|
||
};
|
||
|
||
on("change:repeating_skills:skill change:repeating_skills:attribute", (eventinfo) => {
|
||
const source = `repeating_skills_${eventinfo.sourceAttribute.split("_")[2]}`;
|
||
const firstAttr = eventinfo.newValue;
|
||
const secondAttr = eventinfo.triggerName.includes("attribute") ? `${source}_skill` : `${source}_attribute`;
|
||
if (eventinfo.triggerName.includes("attribute")) {
|
||
getAttrs([firstAttr, `${source}_skill`], (v) => {
|
||
const stat_score = parseInt(v[firstAttr]) || 0,
|
||
skill_score = parseInt(v[`${source}_skill`]) || 0;
|
||
dicePoolTotals(source, skill_score, stat_score);
|
||
});
|
||
} else {
|
||
getAttrs([`${source}_attribute`], (v) => {
|
||
const attribute = v[`${source}_attribute`];
|
||
getAttrs([attribute], (v) => {
|
||
const stat_score = parseInt(v[attribute]) || 0,
|
||
skill_score = parseInt(eventinfo.newValue) || 0;
|
||
dicePoolTotals(source, skill_score, stat_score);
|
||
});
|
||
});
|
||
};
|
||
});
|
||
|
||
const dicePoolTotals = (source, skill, stat) => {
|
||
setAttrs({
|
||
[`${source}_total`]: stat + skill
|
||
});
|
||
};
|
||
|
||
|
||
//SKILLS & SKILL NAME NEEDS UPDATE ON CLICK
|
||
['endure','force','fight','sneak','move','shoot','scout','comprehend','know_the_zone','sense_emotion','manipulate','heal'].forEach(skill => {
|
||
on(`clicked:dice_pool_${skill}`, (eventinfo) => {
|
||
dicePoolButtons(skill);
|
||
});
|
||
});
|
||
|
||
const dicePoolButtons = (attribute) => {
|
||
console.log(`%c >>> Change Detected: Dice Pool ${attribute} - button clicked <<<`, "color:maroon;");
|
||
getAttrs([attributes[attribute], `${attribute}`], (v) => {
|
||
const stat = parseInt(v[attributes[attribute]], 10) || 0;
|
||
translationKey = getTranslationByKey(attribute);
|
||
const update = {
|
||
base : (stat > 0) ? stat : 0,
|
||
skill : parseInt(v[`${attribute}`], 10) || 0,
|
||
current_preset : translationKey,
|
||
include_with_roll: ""
|
||
};
|
||
setAttributes(update, false);
|
||
});
|
||
};
|
||
|
||
//Repeating Custom Skills Button handler
|
||
on("clicked:repeating_skills:dice-pool-skill", (eventinfo) => {
|
||
const source = eventinfo.sourceAttribute.split("_dice-pool-skill")[0];
|
||
getAttrs([`${source}_attribute`], (v) => {
|
||
const attribute = v[`${source}_attribute`];
|
||
getAttrs([attribute, `${source}_name`, `${source}_skill`], (v) => {
|
||
const stat = parseInt(v[`${attribute}`], 10) || 0;
|
||
const update = {
|
||
base : (stat > 0) ? stat : 0,
|
||
skill : parseInt(v[`${source}_skill`], 10) || 0,
|
||
current_preset : v[`${source}_name`],
|
||
include_with_roll: ""
|
||
};
|
||
|
||
setAttributes(update, false);
|
||
});
|
||
});
|
||
});
|
||
|
||
//Switch between sheet types.
|
||
[`character`, `ark`, `log`, 'npc'].forEach(attr => {
|
||
on(`clicked:tab_${attr}`, () => {
|
||
setAttrs({tab: attr});
|
||
});
|
||
});
|
||
|
||
//toggle off and on show setting
|
||
["repeating_injuries:settings", "repeating_talents:settings", "repeating_talents:collapse", "repeating_mutantions:settings", "repeating_mutantions:collapse", "repeating_skills:settings", "repeating_gear:settings", "repeating_gear:collapse","repeating_vehicle:collapse", "repeating_vehicle:settings", "repeating_relationships:settings", "repeating_notes:settings"].forEach((attr) => {
|
||
on(`clicked:${attr}`, (eventinfo) => {
|
||
const word = eventinfo.sourceAttribute.split("_")[3];
|
||
const reveal = eventinfo.sourceAttribute.replace(word, "reveal");
|
||
const keyword = attr.split(":")[1];
|
||
settingsToggles(reveal, keyword);
|
||
});
|
||
});
|
||
|
||
//Hide & show settings for appearance
|
||
[`face`,`body`,`clothing`].forEach((attr) => {
|
||
on(`clicked:settings_${attr}`, (eventinfo) => {;
|
||
const reveal = "appearence_reveal";
|
||
settingsToggles(reveal, attr);
|
||
});
|
||
});
|
||
|
||
const settingsToggles = (reveal, keyword) => {
|
||
let update = {};
|
||
getAttrs([reveal], (v) => {
|
||
let string = v[`${reveal}`];
|
||
update[reveal] = (string.includes(`${keyword}`)) ? string.replace(`${keyword},`, "") : string += `${keyword},`;
|
||
setAttributes(update, true);
|
||
});
|
||
};
|
||
|
||
//Notes toggles
|
||
['class_dc', 'strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma', 'perception', `ancestry`].forEach(attr => {
|
||
on(`clicked:toggle_${attr}`, (eventinfo) => {
|
||
const trigger = eventinfo.triggerName.split("clicked:toggle_")[1];
|
||
getAttrs(["toggles"], (v) => {
|
||
let string = v[`toggles`];
|
||
let update = {};
|
||
(string.includes(`${attr}`)) ? string = string.replace(`${attr},`, "") : string += `${attr},`;
|
||
update["toggles"] = string;
|
||
setAttributes(update, false);
|
||
});
|
||
});
|
||
});
|
||
|
||
//Create a string for repeating injuries display
|
||
on("change:repeating_injuries", () => {
|
||
getAttrs(["repeating_injuries_injury_lethal", "repeating_injuries_injury_time_limit","repeating_injuries_injury_effects","repeating_injuries_injury_heal_time"], (v) => {
|
||
let display = "";
|
||
let update = {};
|
||
(v.repeating_injuries_injury_lethal) ? display += `${v.repeating_injuries_injury_lethal},` : "";
|
||
(v.repeating_injuries_injury_time_limit) ? display += ` ${v.repeating_injuries_injury_time_limit},` : "";
|
||
(v.repeating_injuries_injury_effects) ? display += ` ${v.repeating_injuries_injury_effects},` : "";
|
||
(v.repeating_injuries_injury_heal_time) ? display += ` ${v.repeating_injuries_injury_heal_time} days`: "";
|
||
update["repeating_injuries_injury_display"] = `[${display}]`;
|
||
setAttributes(update, false);
|
||
});
|
||
});
|
||
|
||
const setAttributes = (update, silent) => {
|
||
(silent === true) ? setAttrs(update, {silent:true}) : setAttrs(update);
|
||
};
|
||
|
||
|
||
//Battle Level
|
||
on("change:ark_warfare", (eventinfo) => {
|
||
const warfare = parseInt(eventinfo.newValue) || 0;
|
||
const update = {
|
||
ark_battle_level: Math.ceil(warfare/10)
|
||
};
|
||
setAttributes(update, false);
|
||
});
|
||
|
||
|
||
|
||
</script> |