mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
2414 lines
137 KiB
HTML
2414 lines
137 KiB
HTML
<datalist id="archetypelist">
|
|
<option data-i18n="Cage Fighter">Cage Fighter</option>
|
|
<option data-i18n="Farmer">Farmer</option>
|
|
<option data-i18n="Goon">Goon</option>
|
|
<option data-i18n="Woodcutter">Woodcutter</option>
|
|
<option data-i18n="Fisher">Fisher</option>
|
|
<option data-i18n="Carpenter">Carpenter</option>
|
|
<option data-i18n="Professional Athlete">Professional Athlete</option>
|
|
<option data-i18n="Soldier">Soldier</option>
|
|
<option data-i18n="Cook">Cook</option>
|
|
<option data-i18n="Folklorist">Folklorist</option>
|
|
<option data-i18n="Hacker">Hacker</option>
|
|
<option data-i18n="Scientist">Scientist</option>
|
|
<option data-i18n="Gambler">Gambler</option>
|
|
<option data-i18n="Grifter">Grifter</option>
|
|
<option data-i18n="Medic">Medic</option>
|
|
<option data-i18n="Mystic">Mystic</option>
|
|
</datalist>
|
|
<datalist id="crimelist">
|
|
<option data-i18n="Stole food to feed your family">Stole food to feed your family</option>
|
|
<option data-i18n="Vandalism">Vandalism</option>
|
|
<option data-i18n="Disorderly Conduct">Disorderly Conduct</option>
|
|
<option data-i18n="Stole money/embezzled funds from your workplace">Stole money/embezzled funds from your workplace</option>
|
|
<option data-i18n="Vehicular homicide">Vehicular homicide</option>
|
|
<option data-i18n="Mugged a stranger for cash">Mugged a stranger for cash</option>
|
|
<option data-i18n="Helped traffic illegal substances">Helped traffic illegal substances</option>
|
|
<option data-i18n="Armed robbery">Armed robbery</option>
|
|
<option data-i18n="Stole a vehicle (a car or a spaceship)">Stole a vehicle (a car or a spaceship)</option>
|
|
<option data-i18n="Fraud">Fraud</option>
|
|
<option data-i18n="Arson">Arson</option>
|
|
<option data-i18n="Misguided, you helped a family member or lover conceal a murder">Misguided, you helped a family member or lover conceal a murder</option>
|
|
<option data-i18n="You killed someone in a heist gone wrong">You killed someone in a heist gone wrong</option>
|
|
<option data-i18n="You killed a stranger in bar fight">You killed a stranger in bar fight</option>
|
|
<option data-i18n="You murdered someone you knew in a fit of rage">You murdered someone you knew in a fit of rage</option>
|
|
<option data-i18n="Innocent">Innocent</option>
|
|
</datalist>
|
|
<datalist id="statlist">
|
|
<option data-i18n="strength">strength</option>
|
|
<option data-i18n="agility">agility</option>
|
|
<option data-i18n="wits">wits</option>
|
|
<option data-i18n="empathy">empathy</option>
|
|
</datalist>
|
|
|
|
<div class='sheet-FearsomeWilderness'>
|
|
<div class="sheet-nameage">
|
|
<label data-i18n-title="name" title="name">
|
|
<span data-i18n="name">name</span>
|
|
<input data-i18n-placeholder="name" name="attr_name" placeholder="name" spellcheck="false" title="@{name}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="age" title="age">
|
|
<span data-i18n="age">age</span>
|
|
<input data-i18n-placeholder="age" name="attr_age" placeholder="age" spellcheck="false" title="@{age}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-archetype">
|
|
<label data-i18n-title="archetype" title="archetype">
|
|
<span data-i18n="archetype">archetype</span>
|
|
<input data-i18n-placeholder="archetype" name="attr_archetype" placeholder="archetype" spellcheck="false" title="@{archetype}" type="text" value="" list="archetypelist" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-description">
|
|
<label data-i18n-title="description" title="description">
|
|
<span data-i18n="description">description</span>
|
|
</label>
|
|
<label data-i18n-title="face" title="face">
|
|
<span data-i18n="face">face</span>
|
|
<input data-i18n-placeholder="face" name="attr_face" placeholder="face" spellcheck="false" title="@{face}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="body" title="body">
|
|
<span data-i18n="body">body</span>
|
|
<input data-i18n-placeholder="body" name="attr_body" placeholder="body" spellcheck="false" title="@{body}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="clothes" title="clothes">
|
|
<span data-i18n="clothes">clothes</span>
|
|
<input data-i18n-placeholder="clothes" name="attr_clothes" placeholder="clothes" spellcheck="false" title="@{clothes}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="personality" title="personality">
|
|
<span data-i18n="personality">personality</span>
|
|
<input data-i18n-placeholder="personality" name="attr_personality" placeholder="personality" spellcheck="false" title="@{personality}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-crime">
|
|
<label data-i18n-title="crime" title="crime">
|
|
<span data-i18n="crime">crime</span>
|
|
<input data-i18n-placeholder="crime" name="attr_crime" placeholder="crime" spellcheck="false" title="@{crime}" type="text" value="" list="crimelist" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-nightmare_level">
|
|
<label data-i18n-title="nightmare" title="nightmare">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_nightmare" value="@{nightmare_action}" data-i18n="nightmare">nightmare</button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_nightmare-action" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_nightmare_action" value="">
|
|
</label>
|
|
<label data-i18n-title="level" title="level">
|
|
<span data-i18n="level">level</span>
|
|
</label>
|
|
<label data-i18n-title="nightmare_level" title="nightmare_level">
|
|
<input data-i18n-placeholder="nightmare_level" name="attr_nightmare_level" placeholder="nightmare_level" spellcheck="false" title="@{nightmare_level}" type="number" value="1" max="8" class="fieldclass" min="1"/>
|
|
<input name="attr_nightmare_check" type="number" value="1" class="hidden"/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_1" title="nightmare_1">
|
|
<input data-i18n-placeholder="nightmare_1" name="attr_nightmare_1" placeholder="nightmare_1" spellcheck="false" title="@{nightmare_1}" type="checkbox" value="1" class="fieldclass" readonly checked/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_2" title="nightmare_2">
|
|
<input data-i18n-placeholder="nightmare_2" name="attr_nightmare_2" placeholder="nightmare_2" spellcheck="false" title="@{nightmare_2}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_3" title="nightmare_3">
|
|
<input data-i18n-placeholder="nightmare_3" name="attr_nightmare_3" placeholder="nightmare_3" spellcheck="false" title="@{nightmare_3}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_4" title="nightmare_4">
|
|
<input data-i18n-placeholder="nightmare_4" name="attr_nightmare_4" placeholder="nightmare_4" spellcheck="false" title="@{nightmare_4}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_5" title="nightmare_5">
|
|
<input data-i18n-placeholder="nightmare_5" name="attr_nightmare_5" placeholder="nightmare_5" spellcheck="false" title="@{nightmare_5}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_6" title="nightmare_6">
|
|
<input data-i18n-placeholder="nightmare_6" name="attr_nightmare_6" placeholder="nightmare_6" spellcheck="false" title="@{nightmare_6}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_7" title="nightmare_7">
|
|
<input data-i18n-placeholder="nightmare_7" name="attr_nightmare_7" placeholder="nightmare_7" spellcheck="false" title="@{nightmare_7}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="nightmare_8" title="nightmare_8">
|
|
<input data-i18n-placeholder="nightmare_8" name="attr_nightmare_8" placeholder="nightmare_8" spellcheck="false" title="@{nightmare_8}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-stats">
|
|
<label data-i18n-title="strength" title="strength">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_strength" value="@{strength_action}" data-i18n="strength">strength</button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_strength-action" class="hidden"></button>
|
|
<button type="action" name="act_strength-reroll" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_strength_action" value="">
|
|
<input type="hidden" name="attr_strength_basesuccesses" value="">
|
|
<input type="hidden" name="attr_strength_basedicerolled" value="">
|
|
<input type="hidden" name="attr_strength_baseones" value="">
|
|
<input data-i18n-placeholder="strength" name="attr_strength" placeholder="strength" spellcheck="false" title="@{strength}" type="number" value="" min="1" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="aching" title="aching">
|
|
<span data-i18n="aching">aching</span>
|
|
<input data-i18n-placeholder="aching" name="attr_aching" placeholder="aching" spellcheck="false" title="@{aching}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weary" title="weary">
|
|
<span data-i18n="weary">weary</span>
|
|
<input data-i18n-placeholder="weary" name="attr_weary" placeholder="weary" spellcheck="false" title="@{weary}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="bruised" title="bruised">
|
|
<span data-i18n="bruised">bruised</span>
|
|
<input data-i18n-placeholder="bruised" name="attr_bruised" placeholder="bruised" spellcheck="false" title="@{bruised}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="sluggish" title="sluggish">
|
|
<span data-i18n="sluggish">sluggish</span>
|
|
<input data-i18n-placeholder="sluggish" name="attr_sluggish" placeholder="sluggish" spellcheck="false" title="@{sluggish}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="winded" title="winded">
|
|
<span data-i18n="winded">winded</span>
|
|
<input data-i18n-placeholder="winded" name="attr_winded" placeholder="winded" spellcheck="false" title="@{winded}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="agility" title="agility">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_agility" value="@{agility_action}" data-i18n="agility">agility</button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_agility-action" class="hidden"></button>
|
|
<button type="action" name="act_agility-reroll" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_agility_action" value="">
|
|
<input type="hidden" name="attr_agility_basesuccesses" value="">
|
|
<input type="hidden" name="attr_agility_basedicerolled" value="">
|
|
<input type="hidden" name="attr_agility_baseones" value="">
|
|
<input data-i18n-placeholder="agility" name="attr_agility" placeholder="agility" spellcheck="false" title="@{agility}" type="number" value="" min="1" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="shaky hands" title="shaky hands">
|
|
<span data-i18n="shaky hands">shaky hands</span>
|
|
<input data-i18n-placeholder="shaky hands" name="attr_shaky_hands" placeholder="shaky hands" spellcheck="false" title="@{shaky_hands}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="clumsy" title="clumsy">
|
|
<span data-i18n="clumsy">clumsy</span>
|
|
<input data-i18n-placeholder="clumsy" name="attr_clumsy" placeholder="clumsy" spellcheck="false" title="@{clumsy}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="distracted" title="distracted">
|
|
<span data-i18n="distracted">distracted</span>
|
|
<input data-i18n-placeholder="distracted" name="attr_distracted" placeholder="distracted" spellcheck="false" title="@{distracted}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="nauseous" title="nauseous">
|
|
<span data-i18n="nauseous">nauseous</span>
|
|
<input data-i18n-placeholder="nauseous" name="attr_nauseous" placeholder="nauseous" spellcheck="false" title="@{nauseous}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="maniacal" title="maniacal">
|
|
<span data-i18n="maniacal">maniacal</span>
|
|
<input data-i18n-placeholder="maniacal" name="attr_maniacal" placeholder="maniacal" spellcheck="false" title="@{maniacal}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="wits" title="wits">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_wits" value="@{wits_action}" data-i18n="wits">wits</button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_wits-action" class="hidden"></button>
|
|
<button type="action" name="act_wits-reroll" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_wits_action" value="">
|
|
<input type="hidden" name="attr_wits_basesuccesses" value="">
|
|
<input type="hidden" name="attr_wits_basedicerolled" value="">
|
|
<input type="hidden" name="attr_wits_baseones" value="">
|
|
<input data-i18n-placeholder="wits" name="attr_wits" placeholder="wits" spellcheck="false" title="@{wits}" type="number" value="" min="1" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="forgetful" title="forgetful">
|
|
<span data-i18n="forgetful">forgetful</span>
|
|
<input data-i18n-placeholder="forgetful" name="attr_forgetful" placeholder="forgetful" spellcheck="false" title="@{forgetful}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="unfocused" title="unfocused">
|
|
<span data-i18n="unfocused">unfocused</span>
|
|
<input data-i18n-placeholder="unfocused" name="attr_unfocused" placeholder="unfocused" spellcheck="false" title="@{unfocused}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="hazy" title="hazy">
|
|
<span data-i18n="hazy">hazy</span>
|
|
<input data-i18n-placeholder="hazy" name="attr_hazy" placeholder="hazy" spellcheck="false" title="@{hazy}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="anxious" title="anxious">
|
|
<span data-i18n="anxious">anxious</span>
|
|
<input data-i18n-placeholder="anxious" name="attr_anxious" placeholder="anxious" spellcheck="false" title="@{anxious}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="desperate" title="desperate">
|
|
<span data-i18n="desperate">desperate</span>
|
|
<input data-i18n-placeholder="desperate" name="attr_desperate" placeholder="desperate" spellcheck="false" title="@{desperate}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="empathy" title="empathy">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_empathy" value="@{empathy_action}" data-i18n="empathy">empathy</button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_empathy-action" class="hidden"></button>
|
|
<button type="action" name="act_empathy-reroll" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_empathy_action" value="">
|
|
<input type="hidden" name="attr_empathy_basesuccesses" value="">
|
|
<input type="hidden" name="attr_empathy_basedicerolled" value="">
|
|
<input type="hidden" name="attr_empathy_baseones" value="">
|
|
<input data-i18n-placeholder="empathy" name="attr_empathy" placeholder="empathy" spellcheck="false" title="@{empathy}" type="number" value="" min="1" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="distraught" title="distraught">
|
|
<span data-i18n="distraught">distraught</span>
|
|
<input data-i18n-placeholder="distraught" name="attr_distraught" placeholder="distraught" spellcheck="false" title="@{distraught}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="enraged" title="enraged">
|
|
<span data-i18n="enraged">enraged</span>
|
|
<input data-i18n-placeholder="enraged" name="attr_enraged" placeholder="enraged" spellcheck="false" title="@{enraged}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="sorrowful" title="sorrowful">
|
|
<span data-i18n="sorrowful">sorrowful</span>
|
|
<input data-i18n-placeholder="sorrowful" name="attr_sorrowful" placeholder="sorrowful" spellcheck="false" title="@{sorrowful}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="provoked" title="provoked">
|
|
<span data-i18n="provoked">provoked</span>
|
|
<input data-i18n-placeholder="provoked" name="attr_provoked" placeholder="provoked" spellcheck="false" title="@{provoked}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="bitter" title="bitter">
|
|
<span data-i18n="bitter">bitter</span>
|
|
<input data-i18n-placeholder="bitter" name="attr_bitter" placeholder="bitter" spellcheck="false" title="@{bitter}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-skills">
|
|
<label data-i18n-title="skills" title="skills">
|
|
<span data-i18n="skills">skills</span>
|
|
</label>
|
|
<label data-i18n-title="endure" title="endure">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_endure" value="@{endure_action}" data-i18n="endure (strength)">endure (strength)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_endure-action" class="hidden"></button>
|
|
<button type="action" name="act_endure-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_endure_action" value="">
|
|
<input type="hidden" name="attr_endure_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_endure_basesuccesses" value="">
|
|
<input type="hidden" name="attr_endure_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_endure_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_endure_basedicerolled" value="">
|
|
<input type="hidden" name="attr_endure_geardicerolled" value="">
|
|
<input type="hidden" name="attr_endure_baseones" value="">
|
|
<input type="hidden" name="attr_endure_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="endure" name="attr_endure" placeholder="endure" spellcheck="false" title="@{endure}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="fight" title="fight">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_fight" value="@{fight_action}" data-i18n="fight (strength)">fight (strength)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_fight-action" class="hidden"></button>
|
|
<button type="action" name="act_fight-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_fight_action" value="">
|
|
<input type="hidden" name="attr_fight_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_fight_basesuccesses" value="">
|
|
<input type="hidden" name="attr_fight_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_fight_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_fight_basedicerolled" value="">
|
|
<input type="hidden" name="attr_fight_geardicerolled" value="">
|
|
<input type="hidden" name="attr_fight_baseones" value="">
|
|
<input type="hidden" name="attr_fight_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="fight" name="attr_fight" placeholder="fight" spellcheck="false" title="@{fight}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="force" title="force">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_force" value="@{force_action}" data-i18n="force (strength)">force (strength)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_force-action" class="hidden"></button>
|
|
<button type="action" name="act_force-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_force_action" value="">
|
|
<input type="hidden" name="attr_force_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_force_basesuccesses" value="">
|
|
<input type="hidden" name="attr_force_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_force_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_force_basedicerolled" value="">
|
|
<input type="hidden" name="attr_force_geardicerolled" value="">
|
|
<input type="hidden" name="attr_force_baseones" value="">
|
|
<input type="hidden" name="attr_force_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="force" name="attr_force" placeholder="force" spellcheck="false" title="@{force}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="move" title="move">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_move" value="@{move_action}" data-i18n="move (agility)">move (agility)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_move-action" class="hidden"></button>
|
|
<button type="action" name="act_move-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_move_action" value="">
|
|
<input type="hidden" name="attr_move_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_move_basesuccesses" value="">
|
|
<input type="hidden" name="attr_move_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_move_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_move_basedicerolled" value="">
|
|
<input type="hidden" name="attr_move_geardicerolled" value="">
|
|
<input type="hidden" name="attr_move_baseones" value="">
|
|
<input type="hidden" name="attr_move_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="move" name="attr_move" placeholder="move" spellcheck="false" title="@{move}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="shoot" title="shoot">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_shoot" value="@{shoot_action}" data-i18n="shoot (agility)">shoot (agility)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_shoot-action" class="hidden"></button>
|
|
<button type="action" name="act_shoot-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_shoot_action" value="">
|
|
<input type="hidden" name="attr_shoot_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_shoot_basesuccesses" value="">
|
|
<input type="hidden" name="attr_shoot_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_shoot_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_shoot_basedicerolled" value="">
|
|
<input type="hidden" name="attr_shoot_geardicerolled" value="">
|
|
<input type="hidden" name="attr_shoot_baseones" value="">
|
|
<input type="hidden" name="attr_shoot_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="shoot" name="attr_shoot" placeholder="shoot" spellcheck="false" title="@{shoot}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="sneak" title="sneak">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_sneak" value="@{sneak_action}" data-i18n="sneak (agility)">sneak (agility)>sneak</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_sneak-action" class="hidden"></button>
|
|
<button type="action" name="act_sneak-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_sneak_action" value="">
|
|
<input type="hidden" name="attr_sneak_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_sneak_basesuccesses" value="">
|
|
<input type="hidden" name="attr_sneak_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_sneak_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_sneak_basedicerolled" value="">
|
|
<input type="hidden" name="attr_sneak_geardicerolled" value="">
|
|
<input type="hidden" name="attr_sneak_baseones" value="">
|
|
<input type="hidden" name="attr_sneak_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="sneak" name="attr_sneak" placeholder="sneak" spellcheck="false" title="@{sneak}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="comprehend" title="comprehend">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_comprehend" value="@{comprehend_action}" data-i18n="comprehend (wits)">comprehend (wits)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_comprehend-action" class="hidden"></button>
|
|
<button type="action" name="act_comprehend-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_comprehend_action" value="">
|
|
<input type="hidden" name="attr_comprehend_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_comprehend_basesuccesses" value="">
|
|
<input type="hidden" name="attr_comprehend_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_comprehend_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_comprehend_basedicerolled" value="">
|
|
<input type="hidden" name="attr_comprehend_geardicerolled" value="">
|
|
<input type="hidden" name="attr_comprehend_baseones" value="">
|
|
<input type="hidden" name="attr_comprehend_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="comprehend" name="attr_comprehend" placeholder="comprehend" spellcheck="false" title="@{comprehend}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="scout" title="scout">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_scout" value="@{scout_action}" data-i18n="scout (wits)">scout (wits)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_scout-action" class="hidden"></button>
|
|
<button type="action" name="act_scout-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_scout_action" value="">
|
|
<input type="hidden" name="attr_scout_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_scout_basesuccesses" value="">
|
|
<input type="hidden" name="attr_scout_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_scout_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_scout_basedicerolled" value="">
|
|
<input type="hidden" name="attr_scout_geardicerolled" value="">
|
|
<input type="hidden" name="attr_scout_baseones" value="">
|
|
<input type="hidden" name="attr_scout_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="scout" name="attr_scout" placeholder="scout" spellcheck="false" title="@{scout}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="make" title="make">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_make" value="@{make_action}" data-i18n="make (wits)">make (wits)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_make-action" class="hidden"></button>
|
|
<button type="action" name="act_make-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_make_action" value="">
|
|
<input type="hidden" name="attr_make_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_make_basesuccesses" value="">
|
|
<input type="hidden" name="attr_make_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_make_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_make_basedicerolled" value="">
|
|
<input type="hidden" name="attr_make_geardicerolled" value="">
|
|
<input type="hidden" name="attr_make_baseones" value="">
|
|
<input type="hidden" name="attr_make_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="make" name="attr_make" placeholder="make" spellcheck="false" title="@{make}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="heal" title="heal">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_heal" value="@{heal_action}" data-i18n="heal (empathy)">heal (empathy)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_heal-action" class="hidden"></button>
|
|
<button type="action" name="act_heal-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_heal_action" value="">
|
|
<input type="hidden" name="attr_heal_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_heal_basesuccesses" value="">
|
|
<input type="hidden" name="attr_heal_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_heal_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_heal_basedicerolled" value="">
|
|
<input type="hidden" name="attr_heal_geardicerolled" value="">
|
|
<input type="hidden" name="attr_heal_baseones" value="">
|
|
<input type="hidden" name="attr_heal_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="heal" name="attr_heal" placeholder="heal" spellcheck="false" title="@{heal}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="manipulate" title="manipulate">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_manipulate" value="@{manipulate_action}" data-i18n="manipulate (empathy)">manipulate (empathy)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_manipulate-action" class="hidden"></button>
|
|
<button type="action" name="act_manipulate-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_manipulate_action" value="">
|
|
<input type="hidden" name="attr_manipulate_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_manipulate_basesuccesses" value="">
|
|
<input type="hidden" name="attr_manipulate_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_manipulate_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_manipulate_basedicerolled" value="">
|
|
<input type="hidden" name="attr_manipulate_geardicerolled" value="">
|
|
<input type="hidden" name="attr_manipulate_baseones" value="">
|
|
<input type="hidden" name="attr_manipulate_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="manipulate" name="attr_manipulate" placeholder="manipulate" spellcheck="false" title="@{manipulate}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
<label data-i18n-title="sense emotion" title="sense emotion">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_senseemotion" value="@{senseemotion_action}" data-i18n="sense emotion (empathy)">sense emotion (empathy)</button>
|
|
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_senseemotion-action" class="hidden"></button>
|
|
<button type="action" name="act_senseemotion-reroll" class="hidden"></button>
|
|
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_senseemotion_action" value="">
|
|
<input type="hidden" name="attr_senseemotion_skillsuccesses" value="">
|
|
<input type="hidden" name="attr_senseemotion_basesuccesses" value="">
|
|
<input type="hidden" name="attr_senseemotion_gearsuccesses" value="">
|
|
<input type="hidden" name="attr_senseemotion_skilldicerolled" value="">
|
|
<input type="hidden" name="attr_senseemotion_basedicerolled" value="">
|
|
<input type="hidden" name="attr_senseemotion_geardicerolled" value="">
|
|
<input type="hidden" name="attr_senseemotion_baseones" value="">
|
|
<input type="hidden" name="attr_senseemotion_gearones" value="">
|
|
|
|
<input data-i18n-placeholder="sense emotion" name="attr_sense_emotion" placeholder="sense emotion" spellcheck="false" title="@{sense_emotion}" type="number" value="" class="fieldclass" min="0" max="5"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-conditions">
|
|
<label data-i18n-title="starving" title="starving">
|
|
<span data-i18n="starving">starving</span>
|
|
</label>
|
|
<label data-i18n-title="starving_1" title="starving_1">
|
|
<input data-i18n-placeholder="starving_1" name="attr_starving_1" placeholder="starving_1" spellcheck="false" title="@{starving_1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="starving_2" title="starving_2">
|
|
<input data-i18n-placeholder="starving_2" name="attr_starving_2" placeholder="starving_2" spellcheck="false" title="@{starving_2}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="starving_3" title="starving_3">
|
|
<input data-i18n-placeholder="starving_3" name="attr_starving_3" placeholder="starving_3" spellcheck="false" title="@{starving_3}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="starving_4" title="starving_4">
|
|
<input data-i18n-placeholder="starving_4" name="attr_starving_4" placeholder="starving_4" spellcheck="false" title="@{starving_4}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="starving_5" title="starving_5">
|
|
<input data-i18n-placeholder="starving_5" name="attr_starving_5" placeholder="starving_5" spellcheck="false" title="@{starving_5}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="starving_6" title="starving_6">
|
|
<input data-i18n-placeholder="starving_6" name="attr_starving_6" placeholder="starving_6" spellcheck="false" title="@{starving_6}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="starving_7" title="starving_7">
|
|
<input data-i18n-placeholder="starving_7" name="attr_starving_7" placeholder="starving_7" spellcheck="false" title="@{starving_7}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="dehydrated" title="dehydrated">
|
|
<span data-i18n="dehydrated">dehydrated</span>
|
|
</label>
|
|
<label data-i18n-title="dehydrated_1" title="dehydrated_1">
|
|
<input data-i18n-placeholder="dehydrated_1" name="attr_dehydrated_1" placeholder="dehydrated_1" spellcheck="false" title="@{dehydrated_1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="dehydrated_2" title="dehydrated_2">
|
|
<input data-i18n-placeholder="dehydrated_2" name="attr_dehydrated_2" placeholder="dehydrated_2" spellcheck="false" title="@{dehydrated_2}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="dehydrated_3" title="dehydrated_3">
|
|
<input data-i18n-placeholder="dehydrated_3" name="attr_dehydrated_3" placeholder="dehydrated_3" spellcheck="false" title="@{dehydrated_3}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="exhausted" title="exhausted">
|
|
<span data-i18n="exhausted">exhausted</span>
|
|
</label>
|
|
<label data-i18n-title="exhausted_1" title="exhausted_1">
|
|
<input data-i18n-placeholder="exhausted_1" name="attr_exhausted_1" placeholder="exhausted_1" spellcheck="false" title="@{exhausted_1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="freezing" title="freezing">
|
|
<span data-i18n="freezing">freezing</span>
|
|
</label>
|
|
<label data-i18n-title="freezing_1" title="freezing_1">
|
|
<input data-i18n-placeholder="freezing_1" name="attr_freezing_1" placeholder="freezing_1" spellcheck="false" title="@{freezing_1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="other_conditions" title="other_conditions">
|
|
<span data-i18n="other conditions">other conditions</span>
|
|
<textarea data-i18n-placeholder="other conditions" name="attr_other_conditions" placeholder="other conditions" spellcheck="false" title="@{other_conditions}" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-pride">
|
|
<label data-i18n-title="pride" title="pride">
|
|
<span data-i18n="pride">pride</span>
|
|
<textarea data-i18n-placeholder="pride" name="attr_pride" placeholder="pride" spellcheck="false" title="@{pride}" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="pridecheck" title="pridecheck">
|
|
<input data-i18n-placeholder="pridecheck" name="attr_pridecheck" placeholder="pridecheck" spellcheck="false" title="@{pridecheck}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-dark_secret">
|
|
<label data-i18n-title="dark_secret" title="dark_secret">
|
|
<span data-i18n="dark secret">dark secret</span>
|
|
<textarea data-i18n-placeholder="dark secret" name="attr_dark_secret" placeholder="dark secret" spellcheck="false" title="@{dark_secret}" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-talents">
|
|
<label data-i18n-title="talents" title="talents">
|
|
<span data-i18n="talents">talents</span>
|
|
</label>
|
|
<label data-i18n-title="talent1" title="talent1">
|
|
<input data-i18n-placeholder="" name="attr_talent1" placeholder="" spellcheck="false" title="@{talent1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="talent2" title="talent2">
|
|
<input data-i18n-placeholder="" name="attr_talent2" placeholder="" spellcheck="false" title="@{talent2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="talent3" title="talent3">
|
|
<input data-i18n-placeholder="" name="attr_talent3" placeholder="" spellcheck="false" title="@{talent3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="talent4" title="talent4">
|
|
<input data-i18n-placeholder="" name="attr_talent4" placeholder="" spellcheck="false" title="@{talent4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="talent5" title="talent5">
|
|
<input data-i18n-placeholder="" name="attr_talent5" placeholder="" spellcheck="false" title="@{talent5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="talent6" title="talent6">
|
|
<input data-i18n-placeholder="" name="attr_talent6" placeholder="" spellcheck="false" title="@{talent6}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="talent7" title="talent7">
|
|
<input data-i18n-placeholder="" name="attr_talent7" placeholder="" spellcheck="false" title="@{talent7}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-foods">
|
|
<label data-i18n-title="food" title="food">
|
|
<span data-i18n="food">food</span>
|
|
</label>
|
|
<label data-i18n-title="food1" title="food1">
|
|
<input data-i18n-placeholder="" name="attr_food1" placeholder="" spellcheck="false" title="@{food1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="food2" title="food2">
|
|
<input data-i18n-placeholder="" name="attr_food2" placeholder="" spellcheck="false" title="@{food2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="food3" title="food3">
|
|
<input data-i18n-placeholder="" name="attr_food3" placeholder="" spellcheck="false" title="@{food3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="food4" title="food4">
|
|
<input data-i18n-placeholder="" name="attr_food4" placeholder="" spellcheck="false" title="@{food4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="food5" title="food5">
|
|
<input data-i18n-placeholder="" name="attr_food5" placeholder="" spellcheck="false" title="@{food5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="food6" title="food6">
|
|
<input data-i18n-placeholder="" name="attr_food6" placeholder="" spellcheck="false" title="@{food6}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="food7" title="food7">
|
|
<input data-i18n-placeholder="" name="attr_food7" placeholder="" spellcheck="false" title="@{food7}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="food8" title="food8">
|
|
<input data-i18n-placeholder="" name="attr_food8" placeholder="" spellcheck="false" title="@{food8}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations" title="rations">
|
|
<span data-i18n="rations">rations</span>
|
|
</label>
|
|
<label data-i18n-title="rations1" title="rations1">
|
|
<input data-i18n-placeholder="" name="attr_rations1" placeholder="" spellcheck="false" title="@{rations1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations2" title="rations2">
|
|
<input data-i18n-placeholder="" name="attr_rations2" placeholder="" spellcheck="false" title="@{rations2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations3" title="rations3">
|
|
<input data-i18n-placeholder="" name="attr_rations3" placeholder="" spellcheck="false" title="@{rations3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations4" title="rations4">
|
|
<input data-i18n-placeholder="" name="attr_rations4" placeholder="" spellcheck="false" title="@{rations4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations5" title="rations5">
|
|
<input data-i18n-placeholder="" name="attr_rations5" placeholder="" spellcheck="false" title="@{rations5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations6" title="rations6">
|
|
<input data-i18n-placeholder="" name="attr_rations6" placeholder="" spellcheck="false" title="@{rations6}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations7" title="rations7">
|
|
<input data-i18n-placeholder="" name="attr_rations7" placeholder="" spellcheck="false" title="@{rations7}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="rations8" title="rations8">
|
|
<input data-i18n-placeholder="" name="attr_rations8" placeholder="" spellcheck="false" title="@{rations8}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes" title="foodnotes">
|
|
<span data-i18n="notes">notes</span>
|
|
</label>
|
|
<label data-i18n-title="foodnotes1" title="foodnotes1">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes1" placeholder="" spellcheck="false" title="@{foodnotes1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes2" title="foodnotes2">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes2" placeholder="" spellcheck="false" title="@{foodnotes2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes3" title="foodnotes3">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes3" placeholder="" spellcheck="false" title="@{foodnotes3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes4" title="foodnotes4">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes4" placeholder="" spellcheck="false" title="@{foodnotes4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes5" title="foodnotes5">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes5" placeholder="" spellcheck="false" title="@{foodnotes5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes6" title="foodnotes6">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes6" placeholder="" spellcheck="false" title="@{foodnotes6}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes7" title="foodnotes7">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes7" placeholder="" spellcheck="false" title="@{foodnotes7}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodnotes8" title="foodnotes8">
|
|
<input data-i18n-placeholder="" name="attr_foodnotes8" placeholder="" spellcheck="false" title="@{foodnotes8}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared" title="foodunprepared">
|
|
<span data-i18n="unprepared">unprepared</span>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared1" title="foodunprepared1">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared1" placeholder="" spellcheck="false" title="@{foodunprepared1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared2" title="foodunprepared2">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared2" placeholder="" spellcheck="false" title="@{foodunprepared2}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared3" title="foodunprepared3">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared3" placeholder="" spellcheck="false" title="@{foodunprepared3}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared4" title="foodunprepared4">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared4" placeholder="" spellcheck="false" title="@{foodunprepared4}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared5" title="foodunprepared5">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared5" placeholder="" spellcheck="false" title="@{foodunprepared5}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared6" title="foodunprepared6">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared6" placeholder="" spellcheck="false" title="@{foodunprepared6}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared7" title="foodunprepared7">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared7" placeholder="" spellcheck="false" title="@{foodunprepared7}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodunprepared8" title="foodunprepared8">
|
|
<input data-i18n-placeholder="" name="attr_foodunprepared8" placeholder="" spellcheck="false" title="@{foodunprepared8}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared" title="foodprepared">
|
|
<span data-i18n="prepared">prepared</span>
|
|
</label>
|
|
<label data-i18n-title="foodprepared1" title="foodprepared1">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared1" placeholder="" spellcheck="false" title="@{foodprepared1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared2" title="foodprepared2">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared2" placeholder="" spellcheck="false" title="@{foodprepared2}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared3" title="foodprepared3">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared3" placeholder="" spellcheck="false" title="@{foodprepared3}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared4" title="foodprepared4">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared4" placeholder="" spellcheck="false" title="@{foodprepared4}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared5" title="foodprepared5">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared5" placeholder="" spellcheck="false" title="@{foodprepared5}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared6" title="foodprepared6">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared6" placeholder="" spellcheck="false" title="@{foodprepared6}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared7" title="foodprepared7">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared7" placeholder="" spellcheck="false" title="@{foodprepared7}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodprepared8" title="foodprepared8">
|
|
<input data-i18n-placeholder="" name="attr_foodprepared8" placeholder="" spellcheck="false" title="@{foodprepared8}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved" title="foodpreserved">
|
|
<span data-i18n="preserved">preserved</span>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved1" title="foodpreserved1">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved1" placeholder="" spellcheck="false" title="@{foodpreserved1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved2" title="foodpreserved2">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved2" placeholder="" spellcheck="false" title="@{foodpreserved2}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved3" title="foodpreserved3">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved3" placeholder="" spellcheck="false" title="@{foodpreserved3}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved4" title="foodpreserved4">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved4" placeholder="" spellcheck="false" title="@{foodpreserved4}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved5" title="foodpreserved5">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved5" placeholder="" spellcheck="false" title="@{foodpreserved5}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved6" title="foodpreserved6">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved6" placeholder="" spellcheck="false" title="@{foodpreserved6}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved7" title="foodpreserved7">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved7" placeholder="" spellcheck="false" title="@{foodpreserved7}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="foodpreserved8" title="foodpreserved8">
|
|
<input data-i18n-placeholder="" name="attr_foodpreserved8" placeholder="" spellcheck="false" title="@{foodpreserved8}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-injuries">
|
|
<label data-i18n-title="injuries" title="injuries">
|
|
<span data-i18n="injuries">injuries</span>
|
|
<input data-i18n-placeholder="injuries" name="attr_injuries" placeholder="injuries" spellcheck="false" title="@{injuries}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-armors">
|
|
<label data-i18n-title="armor" title="armor">
|
|
<span data-i18n="armor">armor</span>
|
|
</label>
|
|
<label data-i18n-title="armor1" title="armor1">
|
|
<input data-i18n-placeholder="" name="attr_armor1" placeholder="" spellcheck="false" title="@{armor1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="armor2" title="armor2">
|
|
<input data-i18n-placeholder="" name="attr_armor2" placeholder="" spellcheck="false" title="@{armor2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="armor3" title="armor3">
|
|
<input data-i18n-placeholder="" name="attr_armor3" placeholder="" spellcheck="false" title="@{armor3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="armor4" title="armor4">
|
|
<input data-i18n-placeholder="" name="attr_armor4" placeholder="" spellcheck="false" title="@{armor4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="armor5" title="armor5">
|
|
<input data-i18n-placeholder="" name="attr_armor5" placeholder="" spellcheck="false" title="@{armor5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="armorrating" title="armorrating">
|
|
<span data-i18n="rating">rating</span>
|
|
</label>
|
|
<label data-i18n-title="armorrating1" title="armorrating1">
|
|
<input data-i18n-placeholder="" name="attr_armorrating1" placeholder="" spellcheck="false" title="@{armorrating1}" type="number" value="" class="fieldclass" min=0/>
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_armor1" value="@{armor1_action}" class="armorclass"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_armor1-action" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_armor1_action" value="">
|
|
</label>
|
|
<label data-i18n-title="armorrating2" title="armorrating2">
|
|
<input data-i18n-placeholder="" name="attr_armorrating2" placeholder="" spellcheck="false" title="@{armorrating2}" type="number" value="" class="fieldclass" min=0/>
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_armor2" value="@{armor2_action}" class="armorclass"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_armor2-action" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_armor2_action" value="">
|
|
</label>
|
|
<label data-i18n-title="armorrating3" title="armorrating3">
|
|
<input data-i18n-placeholder="" name="attr_armorrating3" placeholder="" spellcheck="false" title="@{armorrating3}" type="number" value="" class="fieldclass" min=0/>
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_armor3" value="@{armor3_action}" class="armorclass"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_armor3-action" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_armor3_action" value="">
|
|
</label>
|
|
<label data-i18n-title="armorrating4" title="armorrating4">
|
|
<input data-i18n-placeholder="" name="attr_armorrating4" placeholder="" spellcheck="false" title="@{armorrating4}" type="number" value="" class="fieldclass" min=0/>
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_armor4" value="@{armor4_action}" class="armorclass"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_armor4-action" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_armor4_action" value="">
|
|
</label>
|
|
<label data-i18n-title="armorrating5" title="armorrating5">
|
|
<input data-i18n-placeholder="" name="attr_armorrating5" placeholder="" spellcheck="false" title="@{armorrating5}" type="number" value="" class="fieldclass" min=0/>
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_armor5" value="@{armor5_action}" class="armorclass"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_armor5-action" class="hidden"></button>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_armor5_action" value="">
|
|
</label>
|
|
</div>
|
|
<div class="sheet-weapons">
|
|
<label data-i18n-title="weapon" title="weapon">
|
|
<span data-i18n="weapon">weapon</span>
|
|
</label>
|
|
<label data-i18n-title="weapon1" title="weapon1">
|
|
<input data-i18n-placeholder="" name="attr_weapon1" placeholder="" spellcheck="false" title="@{weapon1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapon2" title="weapon2">
|
|
<input data-i18n-placeholder="" name="attr_weapon2" placeholder="" spellcheck="false" title="@{weapon2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapon3" title="weapon3">
|
|
<input data-i18n-placeholder="" name="attr_weapon3" placeholder="" spellcheck="false" title="@{weapon3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapon4" title="weapon4">
|
|
<input data-i18n-placeholder="" name="attr_weapon4" placeholder="" spellcheck="false" title="@{weapon4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapon5" title="weapon5">
|
|
<input data-i18n-placeholder="" name="attr_weapon5" placeholder="" spellcheck="false" title="@{weapon5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponbonus" title="weaponbonus">
|
|
<span data-i18n="bonus">bonus</span>
|
|
</label>
|
|
<label data-i18n-title="weaponbonus1" title="weaponbonus1">
|
|
<input data-i18n-placeholder="" name="attr_weaponbonus1" placeholder="" spellcheck="false" title="@{weaponbonus1}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponbonus2" title="weaponbonus2">
|
|
<input data-i18n-placeholder="" name="attr_weaponbonus2" placeholder="" spellcheck="false" title="@{weaponbonus2}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponbonus3" title="weaponbonus3">
|
|
<input data-i18n-placeholder="" name="attr_weaponbonus3" placeholder="" spellcheck="false" title="@{weaponbonus3}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponbonus4" title="weaponbonus4">
|
|
<input data-i18n-placeholder="" name="attr_weaponbonus4" placeholder="" spellcheck="false" title="@{weaponbonus4}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponbonus5" title="weaponbonus5">
|
|
<input data-i18n-placeholder="" name="attr_weaponbonus5" placeholder="" spellcheck="false" title="@{weaponbonus5}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapondamage" title="weapondamage">
|
|
<span data-i18n="damage">damage</span>
|
|
</label>
|
|
<label data-i18n-title="weapondamage1" title="weapondamage1">
|
|
<input data-i18n-placeholder="" name="attr_weapondamage1" placeholder="" spellcheck="false" title="@{weapondamage1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapondamage2" title="weapondamage2">
|
|
<input data-i18n-placeholder="" name="attr_weapondamage2" placeholder="" spellcheck="false" title="@{weapondamage2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapondamage3" title="weapondamage3">
|
|
<input data-i18n-placeholder="" name="attr_weapondamage3" placeholder="" spellcheck="false" title="@{weapondamage3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapondamage4" title="weapondamage4">
|
|
<input data-i18n-placeholder="" name="attr_weapondamage4" placeholder="" spellcheck="false" title="@{weapondamage4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weapondamage5" title="weapondamage5">
|
|
<input data-i18n-placeholder="" name="attr_weapondamage5" placeholder="" spellcheck="false" title="@{weapondamage5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponrange" title="weaponrange">
|
|
<span data-i18n="range">range</span>
|
|
</label>
|
|
<label data-i18n-title="weaponrange1" title="weaponrange1">
|
|
<input data-i18n-placeholder="" name="attr_weaponrange1" placeholder="" spellcheck="false" title="@{weaponrange1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponrange2" title="weaponrange2">
|
|
<input data-i18n-placeholder="" name="attr_weaponrange2" placeholder="" spellcheck="false" title="@{weaponrange2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponrange3" title="weaponrange3">
|
|
<input data-i18n-placeholder="" name="attr_weaponrange3" placeholder="" spellcheck="false" title="@{weaponrange3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponrange4" title="weaponrange4">
|
|
<input data-i18n-placeholder="" name="attr_weaponrange4" placeholder="" spellcheck="false" title="@{weaponrange4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="weaponrange5" title="weaponrange5">
|
|
<input data-i18n-placeholder="" name="attr_weaponrange5" placeholder="" spellcheck="false" title="@{weaponrange5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-tinyitems">
|
|
<label data-i18n-title="tinyitems" title="tinyitems">
|
|
<span data-i18n="tiny items">tiny items</span>
|
|
<textarea data-i18n-placeholder="tiny items" name="attr_tinyitems" placeholder="tiny items" spellcheck="false" title="@{tinyitems}" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-waterrations">
|
|
<label data-i18n-title="waterrations" title="waterrations">
|
|
<span data-i18n="water rations">water rations</span>
|
|
</label>
|
|
<label data-i18n-title="waterrationsunprep" title="waterrationsunprep">
|
|
<span data-i18n="unprepared">unprepared</span>
|
|
<input data-i18n-placeholder="" name="attr_waterrationsunprep" placeholder="" spellcheck="false" title="@{waterrationsunprep}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="waterrationsclean" title="waterrationsclean">
|
|
<span data-i18n="clean">clean</span>
|
|
<input data-i18n-placeholder="" name="attr_waterrationsclean" placeholder="" spellcheck="false" title="@{waterrationsclean}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-gears">
|
|
<label data-i18n-title="gear" title="gear">
|
|
<span data-i18n="gear">gear</span>
|
|
<label data-i18n-title="gear1" title="gear1">
|
|
<input data-i18n-placeholder="" name="attr_gear1" placeholder="" spellcheck="false" title="@{gear1}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear2" title="gear2">
|
|
<input data-i18n-placeholder="" name="attr_gear2" placeholder="" spellcheck="false" title="@{gear2}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear3" title="gear3">
|
|
<input data-i18n-placeholder="" name="attr_gear3" placeholder="" spellcheck="false" title="@{gear3}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear4" title="gear4">
|
|
<input data-i18n-placeholder="" name="attr_gear4" placeholder="" spellcheck="false" title="@{gear4}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear5" title="gear5">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear6" title="gear6">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear7" title="gear7">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear8" title="gear8">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear9" title="gear9">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear10" title="gear10">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear11" title="gear11">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear12" title="gear12">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear13" title="gear13">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear14" title="gear14">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear15" title="gear15">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear16" title="gear16">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gear17" title="gear17">
|
|
<input data-i18n-placeholder="" name="attr_gear5" placeholder="" spellcheck="false" title="@{gear5}" type="text" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus" title="gearbonus">
|
|
<span data-i18n="bonus">bonus</span>
|
|
</label>
|
|
<label data-i18n-title="gearbonus1" title="gearbonus1">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus1" placeholder="" spellcheck="false" title="@{gearbonus1}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus2" title="gearbonus2">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus2" placeholder="" spellcheck="false" title="@{gearbonus2}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus3" title="gearbonus3">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus3" placeholder="" spellcheck="false" title="@{gearbonus3}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus4" title="gearbonus4">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus4" placeholder="" spellcheck="false" title="@{gearbonus4}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus5" title="gearbonus5">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus5" placeholder="" spellcheck="false" title="@{gearbonus5}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus6" title="gearbonus6">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus6" placeholder="" spellcheck="false" title="@{gearbonus6}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus7" title="gearbonus7">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus7" placeholder="" spellcheck="false" title="@{gearbonus7}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus8" title="gearbonus8">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus8" placeholder="" spellcheck="false" title="@{gearbonus8}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus9" title="gearbonus9">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus9" placeholder="" spellcheck="false" title="@{gearbonus9}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus10" title="gearbonus10">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus10" placeholder="" spellcheck="false" title="@{gearbonus10}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus11" title="gearbonus11">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus11" placeholder="" spellcheck="false" title="@{gearbonus11}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus12" title="gearbonus12">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus12" placeholder="" spellcheck="false" title="@{gearbonus12}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus13" title="gearbonus13">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus13" placeholder="" spellcheck="false" title="@{gearbonus13}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus14" title="gearbonus14">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus14" placeholder="" spellcheck="false" title="@{gearbonus14}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus15" title="gearbonus15">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus15" placeholder="" spellcheck="false" title="@{gearbonus15}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus16" title="gearbonus16">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus16" placeholder="" spellcheck="false" title="@{gearbonus16}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="gearbonus17" title="gearbonus17">
|
|
<input data-i18n-placeholder="" name="attr_gearbonus17" placeholder="" spellcheck="false" title="@{gearbonus17}" type="number" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-notes">
|
|
<label data-i18n-title="notes" title="notes">
|
|
<span data-i18n="notes">notes</span>
|
|
<textarea data-i18n-placeholder="notes" name="attr_notes" placeholder="notes" spellcheck="false" title="@{notes}" value="" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-experience">
|
|
<label data-i18n-title="experience" title="experience">
|
|
<span data-i18n="experience">experience</span>
|
|
</label>
|
|
<label data-i18n-title="experience_1" title="experience_1">
|
|
<input data-i18n-placeholder="experience_1" name="attr_experience_1" placeholder="experience_1" spellcheck="false" title="@{experience_1}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_2" title="experience_2">
|
|
<input data-i18n-placeholder="experience_2" name="attr_experience_2" placeholder="experience_2" spellcheck="false" title="@{experience_2}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_3" title="experience_3">
|
|
<input data-i18n-placeholder="experience_3" name="attr_experience_3" placeholder="experience_3" spellcheck="false" title="@{experience_3}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_4" title="experience_4">
|
|
<input data-i18n-placeholder="experience_4" name="attr_experience_4" placeholder="experience_4" spellcheck="false" title="@{experience_4}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_5" title="experience_5">
|
|
<input data-i18n-placeholder="experience_5" name="attr_experience_5" placeholder="experience_5" spellcheck="false" title="@{experience_5}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_6" title="experience_6">
|
|
<input data-i18n-placeholder="experience_6" name="attr_experience_6" placeholder="experience_6" spellcheck="false" title="@{experience_6}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_7" title="experience_7">
|
|
<input data-i18n-placeholder="experience_7" name="attr_experience_7" placeholder="experience_7" spellcheck="false" title="@{experience_7}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_8" title="experience_8">
|
|
<input data-i18n-placeholder="experience_8" name="attr_experience_8" placeholder="experience_8" spellcheck="false" title="@{experience_8}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_9" title="experience_9">
|
|
<input data-i18n-placeholder="experience_9" name="attr_experience_9" placeholder="experience_9" spellcheck="false" title="@{experience_9}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_10" title="experience_10">
|
|
<input data-i18n-placeholder="experience_10" name="attr_experience_10" placeholder="experience_10" spellcheck="false" title="@{experience_10}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_11" title="experience_11">
|
|
<input data-i18n-placeholder="experience_11" name="attr_experience_11" placeholder="experience_11" spellcheck="false" title="@{experience_11}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
<label data-i18n-title="experience_12" title="experience_12">
|
|
<input data-i18n-placeholder="experience_12" name="attr_experience_12" placeholder="experience_12" spellcheck="false" title="@{experience_12}" type="checkbox" value="1" class="fieldclass"/>
|
|
</label>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-fwnightmare">
|
|
<div class="sheet-template-container">
|
|
<h1>{{name}}</h1>
|
|
<div class="sheet-results">
|
|
{{#rollWasCrit() rollbase}}
|
|
<h2>You have a level {{nightmarelevel}} nightmare</h2>
|
|
{{/rollWasCrit() rollbase}}
|
|
{{#^rollWasCrit() rollbase}}
|
|
<h2>You have a <i>peaceful</i> night sleep</h2>
|
|
{{/^rollWasCrit() rollbase}}
|
|
<h3>Roll:{{rollbase}}</h3>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-fw">
|
|
<div class="sheet-template-container">
|
|
<h1>{{name}}</h1>
|
|
<div class="sheet-results">
|
|
<h2>Successes {{computed::roll1}}</h2>
|
|
<h3>Base:{{computed::rollbase}} Skill:{{computed::rollskill}} gear:{{computed::rollgear}}</h2>
|
|
<h4>[Push]({{reroll}})</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-fwreroll">
|
|
<div class="sheet-template-container">
|
|
<h1>Reroll {{name}}</h1>
|
|
<div class="sheet-results">
|
|
<h2>Total Successes = {{computed::roll1}} </h2>
|
|
<h3>Base:{{computed::rollbase}} Skill:{{computed::rollskill}} Gear:{{computed::rollgear}}</h2>
|
|
<h3>Other Totals</h3>
|
|
<h4>Base Ones={{computed::baseones}} Gear Ones={{computed::gearones}}</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-fwarmor">
|
|
<div class="sheet-template-container">
|
|
<h1>{{name}}</h1>
|
|
<div class="sheet-results">
|
|
<h2>{{armorname}}</h2>
|
|
<h3>Successes {{computed::rollgear}}</h3>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-fwstat">
|
|
<div class="sheet-template-container">
|
|
<h1>{{name}}</h1>
|
|
<div class="sheet-results">
|
|
<h2>Successes {{computed::roll1}}</h2>
|
|
<h4>[Push]({{reroll}})</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-fwstatreroll">
|
|
<div class="sheet-template-container">
|
|
<h1>Reroll {{name}}</h1>
|
|
<div class="sheet-results">
|
|
<h2>Total Successes = {{computed::roll1}}</h2>
|
|
<h3>Base:{{computed::rollbase}}</h2>
|
|
<h3>Other Totals</h3>
|
|
<h4>Base Ones={{computed::baseones}}</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<script type="text/worker">
|
|
|
|
on("sheet:opened change:character_name", function(eventInfo) {
|
|
getAttrs(["character_name", "endure_action", "fight_action", "force_action", "move_action", "shoot_action", "sneak_action", "comprehend_action", "scout_action", "make_action", "heal_action", "manipulate_action", "senseemotion_action", "nightmare_action", "armor1_action", "armor2_action", "armor3_action", "armor4_action", "armor5_action"], function(v) {
|
|
var attrsToChange = {};
|
|
attrsToChange["endure_action"] = "%{" + v["character_name"] + "|endure-action}";
|
|
attrsToChange["fight_action"] = "%{" + v["character_name"] + "|fight-action}";
|
|
attrsToChange["force_action"] = "%{" + v["character_name"] + "|force-action}";
|
|
attrsToChange["move_action"] = "%{" + v["character_name"] + "|move-action}";
|
|
attrsToChange["shoot_action"] = "%{" + v["character_name"] + "|shoot-action}";
|
|
attrsToChange["sneak_action"] = "%{" + v["character_name"] + "|sneak-action}";
|
|
attrsToChange["comprehend_action"] = "%{" + v["character_name"] + "|comprehend-action}";
|
|
attrsToChange["scout_action"] = "%{" + v["character_name"] + "|scout-action}";
|
|
attrsToChange["make_action"] = "%{" + v["character_name"] + "|make-action}";
|
|
attrsToChange["heal_action"] = "%{" + v["character_name"] + "|heal-action}";
|
|
attrsToChange["manipulate_action"] = "%{" + v["character_name"] + "|manipulate-action}";
|
|
attrsToChange["senseemotion_action"] = "%{" + v["character_name"] + "|senseemotion-action}";
|
|
attrsToChange["nightmare_action"] = "%{" + v["character_name"] + "|nightmare-action}";
|
|
attrsToChange["agility_action"] = "%{" + v["character_name"] + "|agility-action}";
|
|
attrsToChange["strength_action"] = "%{" + v["character_name"] + "|strength-action}";
|
|
attrsToChange["wits_action"] = "%{" + v["character_name"] + "|wits-action}";
|
|
attrsToChange["empathy_action"] = "%{" + v["character_name"] + "|empathy-action}";
|
|
attrsToChange["armor1_action"] = "%{" + v["character_name"] + "|armor1-action}";
|
|
attrsToChange["armor2_action"] = "%{" + v["character_name"] + "|armor2-action}";
|
|
attrsToChange["armor3_action"] = "%{" + v["character_name"] + "|armor3-action}";
|
|
attrsToChange["armor4_action"] = "%{" + v["character_name"] + "|armor4-action}";
|
|
attrsToChange["armor5_action"] = "%{" + v["character_name"] + "|armor5-action}";
|
|
setAttrs(attrsToChange);
|
|
});
|
|
});
|
|
|
|
on("change:nightmare_1 change:nightmare_2 change:nightmare_3 change:nightmare_4 change:nightmare_5 change:nightmare_6 change:nightmare_7 change:nightmare_8 change:nightmare_level sheet:opened", async(Info) => {
|
|
const values = await getAttrsAsync(['nightmare_2','nightmare_3','nightmare_4','nightmare_5','nightmare_6','nightmare_7','nightmare_8']);
|
|
var nightmare2 = +parseInt(values.nightmare_2) || 0;
|
|
var nightmare3 = +parseInt(values.nightmare_3) || 0;
|
|
var nightmare4 = +parseInt(values.nightmare_4) || 0;
|
|
var nightmare5 = +parseInt(values.nightmare_5) || 0;
|
|
var nightmare6 = +parseInt(values.nightmare_6) || 0;
|
|
var nightmare7 = +parseInt(values.nightmare_7) || 0;
|
|
var nightmare8 = +parseInt(values.nightmare_8) || 0;
|
|
var nightmarecheck = 1;
|
|
|
|
if (nightmare2 == 1) {
|
|
nightmarecheck = 2;
|
|
}
|
|
if (nightmare3 == 1) {
|
|
nightmarecheck = 3;
|
|
nightmare2 = 1;
|
|
}
|
|
if (nightmare4 == 1) {
|
|
nightmarecheck = 4;
|
|
nightmare3 = 1;
|
|
nightmare2 = 1;
|
|
}
|
|
if (nightmare5 == 1) {
|
|
nightmarecheck = 5;
|
|
nightmare4 = 1;
|
|
nightmare3 = 1;
|
|
nightmare2 = 1;
|
|
}
|
|
if (nightmare6 == 1) {
|
|
nightmarecheck = 6;
|
|
nightmare5 = 1;
|
|
nightmare4 = 1;
|
|
nightmare3 = 1;
|
|
nightmare2 = 1;
|
|
}
|
|
if (nightmare7 == 1) {
|
|
nightmarecheck = 7;
|
|
nightmare6 = 1;
|
|
nightmare5 = 1;
|
|
nightmare4 = 1;
|
|
nightmare3 = 1;
|
|
nightmare2 = 1;
|
|
}
|
|
if (nightmare8 == 1) {
|
|
nightmarecheck = 8;
|
|
nightmare7 = 1;
|
|
nightmare6 = 1;
|
|
nightmare5 = 1;
|
|
nightmare4 = 1;
|
|
nightmare3 = 1;
|
|
nightmare2 = 1;
|
|
}
|
|
|
|
var attrsToChange = {};
|
|
attrsToChange["nightmare_check"] = nightmarecheck;
|
|
attrsToChange["nightmare_1"] = 1;
|
|
attrsToChange["nightmare_2"] = nightmare2;
|
|
attrsToChange["nightmare_3"] = nightmare3;
|
|
attrsToChange["nightmare_4"] = nightmare4;
|
|
attrsToChange["nightmare_5"] = nightmare5;
|
|
attrsToChange["nightmare_6"] = nightmare6;
|
|
attrsToChange["nightmare_7"] = nightmare7;
|
|
attrsToChange["nightmare_8"] = nightmare8;
|
|
setAttrs(attrsToChange);
|
|
});
|
|
|
|
on('clicked:nightmare-action', async (info) => {
|
|
const values = await getAttrsAsync(['nightmare_check','nightmare_level']);
|
|
const base = +parseInt(values.nightmare_check) || 0;
|
|
const level = +parseInt(values.nightmare_level) || 0;
|
|
const results = await startRoll("&{template:fwnightmare} {{name=Nightmare}} {{rollbase=[["+base+"d6>6]]}} {{nightmarelevel="+level+"}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
finishRoll(results.rollId);
|
|
});
|
|
|
|
on('clicked:strength-action', async (info) => {
|
|
const values = await getAttrsAsync(['strength','character_name']);
|
|
const charname = values.character_name || "";
|
|
const base = +parseInt(values.strength) || 0;
|
|
const results = await startRoll("&{template:fwstat} {{name=Strength}} {{roll1=[["+base+"d6>6]]}} {{reroll=~"+charname+"|strength-reroll}}");
|
|
const basesuccesses = results.results.roll1.result;
|
|
const basedicerolled= results.results.roll1.dice.length;
|
|
const thebasedice= results.results.roll1.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const computed = basesuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["strength_basesuccesses"] = basesuccesses;
|
|
attrsToChange["strength_basedicerolled"] = basedicerolled;
|
|
attrsToChange["strength_baseones"] = totalofbaseones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:strength-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['strength_basedicerolled','strength_basesuccesses','strength_baseones']);
|
|
const priorbasesuccesses = +parseInt(values.strength_basesuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.strength_basedicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.strength_baseones) || 0;
|
|
const results = await startRoll("&{template:fwstatreroll} {{name=Strength}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const computed = basesuccesses+priorbasesuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:agility-action', async (info) => {
|
|
const values = await getAttrsAsync(['agility','character_name']);
|
|
const charname = values.character_name || "";
|
|
const base = +parseInt(values.agility) || 0;
|
|
const results = await startRoll("&{template:fwstat} {{name=Agility}} {{roll1=[["+base+"d6>6]]}} {{reroll=~"+charname+"|agility-reroll}}");
|
|
const basesuccesses = results.results.roll1.result;
|
|
const basedicerolled= results.results.roll1.dice.length;
|
|
const thebasedice= results.results.roll1.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const computed = basesuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["agility_basesuccesses"] = basesuccesses;
|
|
attrsToChange["agility_basedicerolled"] = basedicerolled;
|
|
attrsToChange["agility_baseones"] = totalofbaseones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:agility-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['agility_basedicerolled','agility_basesuccesses','agility_baseones']);
|
|
const priorbasesuccesses = +parseInt(values.agility_basesuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.agility_basedicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.agility_baseones) || 0;
|
|
const results = await startRoll("&{template:fwstatreroll} {{name=Agility}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const computed = basesuccesses+priorbasesuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:wits-action', async (info) => {
|
|
const values = await getAttrsAsync(['wits','character_name']);
|
|
const charname = values.character_name || "";
|
|
const base = +parseInt(values.wits) || 0;
|
|
const results = await startRoll("&{template:fwstat} {{name=Wits}} {{roll1=[["+base+"d6>6]]}} {{reroll=~"+charname+"|wits-reroll}}");
|
|
const basesuccesses = results.results.roll1.result;
|
|
const basedicerolled= results.results.roll1.dice.length;
|
|
const thebasedice= results.results.roll1.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const computed = basesuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["wits_basesuccesses"] = basesuccesses;
|
|
attrsToChange["wits_basedicerolled"] = basedicerolled;
|
|
attrsToChange["wits_baseones"] = totalofbaseones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:wits-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['wits_basedicerolled','wits_basesuccesses','wits_baseones']);
|
|
const priorbasesuccesses = +parseInt(values.wits_basesuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.wits_basedicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.wits_baseones) || 0;
|
|
const results = await startRoll("&{template:fwstatreroll} {{name=Wits}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const computed = basesuccesses+priorbasesuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:empathy-action', async (info) => {
|
|
const values = await getAttrsAsync(['empathy','character_name']);
|
|
const charname = values.character_name || "";
|
|
const base = +parseInt(values.empathy) || 0;
|
|
const results = await startRoll("&{template:fwstat} {{name=Empathy}} {{roll1=[["+base+"d6>6]]}} {{reroll=~"+charname+"|empathy-reroll}}");
|
|
const basesuccesses = results.results.roll1.result;
|
|
const basedicerolled= results.results.roll1.dice.length;
|
|
const thebasedice= results.results.roll1.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const computed = basesuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["empathy_basesuccesses"] = basesuccesses;
|
|
attrsToChange["empathy_basedicerolled"] = basedicerolled;
|
|
attrsToChange["empathy_baseones"] = totalofbaseones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:empathy-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['empathy_basedicerolled','empathy_basesuccesses','empathy_baseones']);
|
|
const priorbasesuccesses = +parseInt(values.empathy_basesuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.empathy_basedicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.empathy_baseones) || 0;
|
|
const results = await startRoll("&{template:fwstatreroll} {{name=Empathy}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const computed = basesuccesses+priorbasesuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:endure-action', async (info) => {
|
|
const values = await getAttrsAsync(['strength','endure','character_name']);
|
|
const base = +parseInt(values.strength) || 0;
|
|
const skill = +parseInt(values.endure) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Endure}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|endure-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["endure_basesuccesses"] = basesuccesses;
|
|
attrsToChange["endure_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["endure_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["endure_basedicerolled"] = basedicerolled;
|
|
attrsToChange["endure_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["endure_geardicerolled"] = geardicerolled;
|
|
attrsToChange["endure_baseones"] = totalofbaseones;
|
|
attrsToChange["endure_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:endure-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['endure_basedicerolled','endure_skilldicerolled','endure_geardicerolled','endure_basesuccesses','endure_skillsuccesses','endure_gearsuccesses','endure_baseones','endure_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.endure_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.endure_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.endure_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.endure_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.endure_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.endure_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.endure_baseones) || 0;
|
|
const priorgearones = +parseInt(values.endure_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Endure}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:fight-action', async (info) => {
|
|
const values = await getAttrsAsync(['strength','fight','character_name']);
|
|
const base = +parseInt(values.strength) || 0;
|
|
const skill = +parseInt(values.fight) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Fight}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|fight-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["fight_basesuccesses"] = basesuccesses;
|
|
attrsToChange["fight_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["fight_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["fight_basedicerolled"] = basedicerolled;
|
|
attrsToChange["fight_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["fight_geardicerolled"] = geardicerolled;
|
|
attrsToChange["fight_baseones"] = totalofbaseones;
|
|
attrsToChange["fight_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:fight-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['fight_basedicerolled','fight_skilldicerolled','fight_geardicerolled','fight_basesuccesses','fight_skillsuccesses','fight_gearsuccesses','fight_baseones','fight_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.fight_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.fight_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.fight_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.fight_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.fight_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.fight_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.fight_baseones) || 0;
|
|
const priorgearones = +parseInt(values.fight_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Fight}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:force-action', async (info) => {
|
|
const values = await getAttrsAsync(['strength','force','character_name']);
|
|
const base = +parseInt(values.strength) || 0;
|
|
const skill = +parseInt(values.force) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Force}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|force-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["force_basesuccesses"] = basesuccesses;
|
|
attrsToChange["force_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["force_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["force_basedicerolled"] = basedicerolled;
|
|
attrsToChange["force_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["force_geardicerolled"] = geardicerolled;
|
|
attrsToChange["force_baseones"] = totalofbaseones;
|
|
attrsToChange["force_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:force-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['force_basedicerolled','force_skilldicerolled','force_geardicerolled','force_basesuccesses','force_skillsuccesses','force_gearsuccesses','force_baseones','force_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.force_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.force_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.force_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.force_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.force_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.force_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.force_baseones) || 0;
|
|
const priorgearones = +parseInt(values.force_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Force}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:move-action', async (info) => {
|
|
const values = await getAttrsAsync(['agility','move','character_name']);
|
|
const base = +parseInt(values.agility) || 0;
|
|
const skill = +parseInt(values.move) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Move}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|move-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["move_basesuccesses"] = basesuccesses;
|
|
attrsToChange["move_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["move_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["move_basedicerolled"] = basedicerolled;
|
|
attrsToChange["move_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["move_geardicerolled"] = geardicerolled;
|
|
attrsToChange["move_baseones"] = totalofbaseones;
|
|
attrsToChange["move_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:move-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['move_basedicerolled','move_skilldicerolled','move_geardicerolled','move_basesuccesses','move_skillsuccesses','move_gearsuccesses','move_baseones','move_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.move_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.move_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.move_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.move_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.move_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.move_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.move_baseones) || 0;
|
|
const priorgearones = +parseInt(values.move_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Move}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:shoot-action', async (info) => {
|
|
const values = await getAttrsAsync(['agility','shoot','character_name']);
|
|
const base = +parseInt(values.agility) || 0;
|
|
const skill = +parseInt(values.shoot) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Shoot}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|shoot-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["shoot_basesuccesses"] = basesuccesses;
|
|
attrsToChange["shoot_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["shoot_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["shoot_basedicerolled"] = basedicerolled;
|
|
attrsToChange["shoot_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["shoot_geardicerolled"] = geardicerolled;
|
|
attrsToChange["shoot_baseones"] = totalofbaseones;
|
|
attrsToChange["shoot_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:shoot-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['shoot_basedicerolled','shoot_skilldicerolled','shoot_geardicerolled','shoot_basesuccesses','shoot_skillsuccesses','shoot_gearsuccesses','shoot_baseones','shoot_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.shoot_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.shoot_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.shoot_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.shoot_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.shoot_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.shoot_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.shoot_baseones) || 0;
|
|
const priorgearones = +parseInt(values.shoot_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Shoot}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:sneak-action', async (info) => {
|
|
const values = await getAttrsAsync(['agility','sneak','character_name']);
|
|
const base = +parseInt(values.agility) || 0;
|
|
const skill = +parseInt(values.sneak) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Sneak}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|sneak-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["sneak_basesuccesses"] = basesuccesses;
|
|
attrsToChange["sneak_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["sneak_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["sneak_basedicerolled"] = basedicerolled;
|
|
attrsToChange["sneak_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["sneak_geardicerolled"] = geardicerolled;
|
|
attrsToChange["sneak_baseones"] = totalofbaseones;
|
|
attrsToChange["sneak_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:sneak-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['sneak_basedicerolled','sneak_skilldicerolled','sneak_geardicerolled','sneak_basesuccesses','sneak_skillsuccesses','sneak_gearsuccesses','sneak_baseones','sneak_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.sneak_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.sneak_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.sneak_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.sneak_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.sneak_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.sneak_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.sneak_baseones) || 0;
|
|
const priorgearones = +parseInt(values.sneak_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Sneak}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:comprehend-action', async (info) => {
|
|
const values = await getAttrsAsync(['wits','comprehend','character_name']);
|
|
const base = +parseInt(values.wits) || 0;
|
|
const skill = +parseInt(values.comprehend) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Comprehend}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|comprehend-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["comprehend_basesuccesses"] = basesuccesses;
|
|
attrsToChange["comprehend_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["comprehend_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["comprehend_basedicerolled"] = basedicerolled;
|
|
attrsToChange["comprehend_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["comprehend_geardicerolled"] = geardicerolled;
|
|
attrsToChange["comprehend_baseones"] = totalofbaseones;
|
|
attrsToChange["comprehend_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:comprehend-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['comprehend_basedicerolled','comprehend_skilldicerolled','comprehend_geardicerolled','comprehend_basesuccesses','comprehend_skillsuccesses','comprehend_gearsuccesses','comprehend_baseones','comprehend_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.comprehend_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.comprehend_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.comprehend_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.comprehend_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.comprehend_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.comprehend_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.comprehend_baseones) || 0;
|
|
const priorgearones = +parseInt(values.comprehend_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Comprehend}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:scout-action', async (info) => {
|
|
const values = await getAttrsAsync(['wits','scout','character_name']);
|
|
const base = +parseInt(values.wits) || 0;
|
|
const skill = +parseInt(values.scout) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Scout}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|scout-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["scout_basesuccesses"] = basesuccesses;
|
|
attrsToChange["scout_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["scout_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["scout_basedicerolled"] = basedicerolled;
|
|
attrsToChange["scout_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["scout_geardicerolled"] = geardicerolled;
|
|
attrsToChange["scout_baseones"] = totalofbaseones;
|
|
attrsToChange["scout_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:scout-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['scout_basedicerolled','scout_skilldicerolled','scout_geardicerolled','scout_basesuccesses','scout_skillsuccesses','scout_gearsuccesses','scout_baseones','scout_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.scout_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.scout_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.scout_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.scout_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.scout_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.scout_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.scout_baseones) || 0;
|
|
const priorgearones = +parseInt(values.scout_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Scout}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:make-action', async (info) => {
|
|
const values = await getAttrsAsync(['wits','make','character_name']);
|
|
const base = +parseInt(values.wits) || 0;
|
|
const skill = +parseInt(values.make) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Make}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|make-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["make_basesuccesses"] = basesuccesses;
|
|
attrsToChange["make_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["make_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["make_basedicerolled"] = basedicerolled;
|
|
attrsToChange["make_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["make_geardicerolled"] = geardicerolled;
|
|
attrsToChange["make_baseones"] = totalofbaseones;
|
|
attrsToChange["make_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:make-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['make_basedicerolled','make_skilldicerolled','make_geardicerolled','make_basesuccesses','make_skillsuccesses','make_gearsuccesses','make_baseones','make_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.make_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.make_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.make_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.make_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.make_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.make_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.make_baseones) || 0;
|
|
const priorgearones = +parseInt(values.make_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Make}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:heal-action', async (info) => {
|
|
const values = await getAttrsAsync(['empathy','heal','character_name']);
|
|
const base = +parseInt(values.empathy) || 0;
|
|
const skill = +parseInt(values.heal) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Heal}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|heal-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["heal_basesuccesses"] = basesuccesses;
|
|
attrsToChange["heal_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["heal_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["heal_basedicerolled"] = basedicerolled;
|
|
attrsToChange["heal_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["heal_geardicerolled"] = geardicerolled;
|
|
attrsToChange["heal_baseones"] = totalofbaseones;
|
|
attrsToChange["heal_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:heal-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['heal_basedicerolled','heal_skilldicerolled','heal_geardicerolled','heal_basesuccesses','heal_skillsuccesses','heal_gearsuccesses','heal_baseones','heal_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.heal_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.heal_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.heal_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.heal_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.heal_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.heal_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.heal_baseones) || 0;
|
|
const priorgearones = +parseInt(values.heal_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Heal}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:manipulate-action', async (info) => {
|
|
const values = await getAttrsAsync(['empathy','manipulate','character_name']);
|
|
const base = +parseInt(values.empathy) || 0;
|
|
const skill = +parseInt(values.manipulate) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Manipulate}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|manipulate-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["manipulate_basesuccesses"] = basesuccesses;
|
|
attrsToChange["manipulate_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["manipulate_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["manipulate_basedicerolled"] = basedicerolled;
|
|
attrsToChange["manipulate_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["manipulate_geardicerolled"] = geardicerolled;
|
|
attrsToChange["manipulate_baseones"] = totalofbaseones;
|
|
attrsToChange["manipulate_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:manipulate-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['manipulate_basedicerolled','manipulate_skilldicerolled','manipulate_geardicerolled','manipulate_basesuccesses','manipulate_skillsuccesses','manipulate_gearsuccesses','manipulate_baseones','manipulate_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.manipulate_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.manipulate_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.manipulate_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.manipulate_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.manipulate_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.manipulate_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.manipulate_baseones) || 0;
|
|
const priorgearones = +parseInt(values.manipulate_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Manipulate}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:senseemotion-action', async (info) => {
|
|
const values = await getAttrsAsync(['empathy','senseemotions','character_name']);
|
|
const base = +parseInt(values.empathy) || 0;
|
|
const skill = +parseInt(values.senseemotions) || 0;
|
|
const charname = values.character_name || "";
|
|
const results = await startRoll("&{template:fw} {{name=Sense Emotion}} {{roll1=[[0]]}} {{rollbase=[["+base+"d6>6]]}} {{rollskill=[[[["+skill+"+?{Bonus Skill Dice}]]d6>6]]}} {{rollgear=[[[[?{Gear Dice}+0]]d6>6]]}} {{reroll=~"+charname+"|senseemotion-reroll}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const basedicerolled= results.results.rollbase.dice.length;
|
|
const skilldicerolled= results.results.rollskill.dice.length;
|
|
const geardicerolled= results.results.rollgear.dice.length;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const totalofbaseones = baseones.length;
|
|
const totalofgearones = gearones.length;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses;
|
|
var attrsToChange = {};
|
|
attrsToChange["senseemotion_basesuccesses"] = basesuccesses;
|
|
attrsToChange["senseemotion_skillsuccesses"] = skillsuccesses;
|
|
attrsToChange["senseemotion_gearsuccesses"] = gearsuccesses;
|
|
attrsToChange["senseemotion_basedicerolled"] = basedicerolled;
|
|
attrsToChange["senseemotion_skilldicerolled"] = skilldicerolled;
|
|
attrsToChange["senseemotion_geardicerolled"] = geardicerolled;
|
|
attrsToChange["senseemotion_baseones"] = totalofbaseones;
|
|
attrsToChange["senseemotion_gearones"] = totalofgearones;
|
|
setAttrs(attrsToChange);
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
}
|
|
);
|
|
});
|
|
on('clicked:senseemotion-reroll', async (info) => {
|
|
const values = await getAttrsAsync(['senseemotion_basedicerolled','senseemotion_skilldicerolled','senseemotion_geardicerolled','senseemotion_basesuccesses','senseemotion_skillsuccesses','senseemotion_gearsuccesses','senseemotion_baseones','senseemotion_gearones']);
|
|
const priorbasesuccesses = +parseInt(values.senseemotion_basesuccesses) || 0;
|
|
const priorskillsuccesses = +parseInt(values.senseemotion_skillsuccesses) || 0;
|
|
const priorgearsuccesses = +parseInt(values.senseemotion_gearsuccesses) || 0;
|
|
const basedicerolled = +parseInt(values.senseemotion_basedicerolled) || 0;
|
|
const skilldicerolled = +parseInt(values.senseemotion_skilldicerolled) || 0;
|
|
const geardicerolled = +parseInt(values.senseemotion_geardicerolled) || 0;
|
|
const priorbaseones = +parseInt(values.senseemotion_baseones) || 0;
|
|
const priorgearones = +parseInt(values.senseemotion_gearones) || 0;
|
|
const results = await startRoll("&{template:fwreroll} {{name=Sense Emotion}} {{roll1=[[0]]}} {{baseones=[[0]]}} {{gearones=[[0]]}} {{rollbase=[["+(basedicerolled-priorbasesuccesses-priorbaseones)+"d6>6]]}} {{rollskill=[["+(skilldicerolled-priorskillsuccesses)+"d6>6]]}} {{rollgear=[["+(geardicerolled-priorgearsuccesses-priorgearones)+"d6>6]]}}");
|
|
const basesuccesses = results.results.rollbase.result;
|
|
const skillsuccesses = results.results.rollskill.result;
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
const thebasedice= results.results.rollbase.dice;
|
|
const thegeardice= results.results.rollgear.dice;
|
|
const baseones= thebasedice.filter(element => element < 2);
|
|
const gearones= thegeardice.filter(element => element < 2);
|
|
const newbaseones = baseones.length
|
|
const totalbaseones = newbaseones+priorbaseones;
|
|
const newgearones = gearones.length;
|
|
const totalgearones = newgearones+priorgearones;
|
|
const computed = basesuccesses+skillsuccesses+gearsuccesses+priorbasesuccesses+priorskillsuccesses+priorgearsuccesses;
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed,
|
|
baseones: totalbaseones,
|
|
gearones: totalgearones,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:armor1-action', async (info) => {
|
|
const values = await getAttrsAsync(['armorrating1','armor1']);
|
|
const gear = +parseInt(values.armorrating1) || 0;
|
|
const armor = values.armor1 || "";
|
|
const results = await startRoll("&{template:fwarmor} {{name=Armor}} {{rollgear=[["+gear+"d6>6]]}} {{armorname="+armor+"}}");
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
finishRoll(results.rollId);
|
|
});
|
|
on('clicked:armor2-action', async (info) => {
|
|
const values = await getAttrsAsync(['armorrating2','armor2']);
|
|
const gear = +parseInt(values.armorrating2) || 0;
|
|
const armor = values.armor2 || "";
|
|
const results = await startRoll("&{template:fwarmor} {{name=Armor}} {{rollgear=[["+gear+"d6>6]]}} {{armorname="+armor+"}}");
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
finishRoll(results.rollId);
|
|
});
|
|
on('clicked:armor3-action', async (info) => {
|
|
const values = await getAttrsAsync(['armorrating3','armor3']);
|
|
const gear = +parseInt(values.armorrating3) || 0;
|
|
const armor = values.armor3 || "";
|
|
const results = await startRoll("&{template:fwarmor} {{name=Armor}} {{rollgear=[["+gear+"d6>6]]}} {{armorname="+armor+"}}");
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
finishRoll(results.rollId);
|
|
});
|
|
on('clicked:armor4-action', async (info) => {
|
|
const values = await getAttrsAsync(['armorrating4','armor4']);
|
|
const gear = +parseInt(values.armorrating4) || 0;
|
|
const armor = values.armor4 || "";
|
|
const results = await startRoll("&{template:fwarmor} {{name=Armor}} {{rollgear=[["+gear+"d6>6]]}} {{armorname="+armor+"}}");
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
finishRoll(results.rollId);
|
|
});
|
|
on('clicked:armor5-action', async (info) => {
|
|
const values = await getAttrsAsync(['armorrating5','armor5']);
|
|
const gear = +parseInt(values.armorrating5) || 0;
|
|
const armor = values.armor5 || "";
|
|
const results = await startRoll("&{template:fwarmor} {{name=Armor}} {{rollgear=[["+gear+"d6>6]]}} {{armorname="+armor+"}}");
|
|
const gearsuccesses = results.results.rollgear.result;
|
|
finishRoll(results.rollId);
|
|
});
|
|
|
|
|
|
/*Onxy rings functions they are wonderful*/
|
|
function setActiveCharacterId(charId){
|
|
var oldAcid=getActiveCharacterId();
|
|
var ev = new CustomEvent("message");
|
|
ev.data={"id":"0", "type":"setActiveCharacter", "data":charId};
|
|
self.dispatchEvent(ev);
|
|
return oldAcid;
|
|
}
|
|
var _sIn=setInterval;
|
|
setInterval=function(callback, timeout){
|
|
var acid=getActiveCharacterId();
|
|
_sIn(
|
|
function(){
|
|
var prevAcid=setActiveCharacterId(acid);
|
|
callback();
|
|
setActiveCharacterId(prevAcid);
|
|
}
|
|
,timeout);
|
|
}
|
|
var _sto=setTimeout
|
|
setTimeout=function(callback, timeout){
|
|
var acid=getActiveCharacterId();
|
|
_sto(
|
|
function(){
|
|
var prevAcid=setActiveCharacterId(acid);
|
|
callback();
|
|
setActiveCharacterId(prevAcid);
|
|
}
|
|
,timeout);
|
|
}
|
|
function getAttrsAsync(props){
|
|
var acid=getActiveCharacterId(); //save the current activeCharacterID in case it has changed when the promise runs
|
|
var prevAcid=null; //local variable defined here, because it needs to be shared across the promise callbacks defined below
|
|
return new Promise((resolve,reject)=>{
|
|
prevAcid=setActiveCharacterId(acid); //in case the activeCharacterId has changed, restore it to what we were expecting and save the current value to restore later
|
|
try{
|
|
getAttrs(props,(values)=>{ resolve(values); });
|
|
}
|
|
catch{ reject(); }
|
|
}).finally(()=>{
|
|
setActiveCharacterId(prevAcid); //restore activeCharcterId to what it was when the promise first ran
|
|
});
|
|
}
|
|
//use the same pattern for each of the following...
|
|
function setAttrsAsync(propObj, options){
|
|
var acid=getActiveCharacterId();
|
|
var prevAcid=null;
|
|
return new Promise((resolve,reject)=>{
|
|
prevAcid=setActiveCharacterId(acid);
|
|
try{
|
|
setAttrs(propObj,options,(values)=>{ resolve(values); });
|
|
}
|
|
catch{ reject(); }
|
|
}).finally(()=>{
|
|
setActiveCharacterId(prevAcid);
|
|
});
|
|
}
|
|
|
|
function getSectionIDsAsync(sectionName){
|
|
var acid=getActiveCharacterId();
|
|
var prevAcid=null;
|
|
return new Promise((resolve,reject)=>{
|
|
prevAcid=setActiveCharacterId(acid);
|
|
try{
|
|
getSectionIDs(sectionName,(values)=>{ resolve(values); });
|
|
}
|
|
catch{ reject(); }
|
|
}).finally(()=>{
|
|
setActiveCharacterId(prevAcid);
|
|
});
|
|
}
|
|
function getSingleAttrAsync(prop){
|
|
var acid=getActiveCharacterId();
|
|
var prevAcid=null;
|
|
return new Promise((resolve,reject)=>{
|
|
prevAcid=setActiveCharacterId(acid);
|
|
try{
|
|
getAttrs([prop],(values)=>{ resolve(values[prop]); });
|
|
}
|
|
catch{ reject(); }
|
|
}).finally(()=>{
|
|
setActiveCharacterId(prevAcid);
|
|
});
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|