mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-31 12:12:30 +00:00
1624 lines
110 KiB
HTML
1624 lines
110 KiB
HTML
<input type="hidden" name="attr_mod_query" value="?{Modifiers|None, 0|1 Advantage, 1|1 Disadvantage, -1|2 Advantages, 2|2 Disadvantage, -2|3 Advantages, 3|3 Disadvantage, -3}"/>
|
|
<input type="hidden" name="attr_mod_bool_one_if_adv" value="({[[{@{mod_query}, 0}kh1]], 1}kl1)"/>
|
|
<input type="hidden" name="attr_mod_bool_one_if_dis" value="([[{[[{@{mod_query}, 0}kl1]], -1}kh1]]*-1)"/>
|
|
<input type="hidden" name="attr_mod_bool_one_if_nomod" value="(1-@{mod_bool_one_if_adv}+-@{mod_bool_one_if_dis})"/>
|
|
<input type="hidden" name="attr_roll_perc_adv" value="(([[@{mod_bool_one_if_adv}+1*@{mod_bool_one_if_adv}]]d10kl1cs>0cf<0-[[1*@{mod_bool_one_if_adv}]])*10)"/>
|
|
<input type="hidden" name="attr_roll_perc_dis" value="(([[@{mod_bool_one_if_dis}+1*@{mod_bool_one_if_dis}]]d10kh1cs>0cf<0-[[1*@{mod_bool_one_if_dis}]])*10)"/>
|
|
<input type="hidden" name="attr_roll_perc_nomod" value="(([[1*@{mod_bool_one_if_nomod}]]d10cs>0cf<0-[[1*@{mod_bool_one_if_nomod}]])*10)"/>
|
|
<input type="hidden" name="attr_roll_perc" value="@{roll_perc_adv}+@{roll_perc_dis}+@{roll_perc_nomod}+(1d10cs>0cf<0)"/>
|
|
<input type="hidden" name="attr_roll_thresh_mod" value="((({@{mod_query}, 1}kh1-1)*5)+@{threshold_modifier})"/>
|
|
<div class="main">
|
|
<div class="character section">
|
|
<div class="character-name-input data-entry"><input name="attr_character_name" type="text"/></div>
|
|
<div class="character-name-label"><label data-i18n="character_name">Character Name.</label></div>
|
|
<div class="logo">
|
|
<img height="500px" width="500px" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Maximum%20Apocalypse/ma-logo.png" alt="Maxiumum Apocalypse"/>
|
|
</div>
|
|
<div class="player-name-input data-entry"><input name="attr_player_name" type="text"/></div>
|
|
<div class="player-name-label"><label data-i18n="player_name">Player Name.</label></div>
|
|
<div class="archetype-primary-input data-entry">
|
|
<select name="attr_archetype_primary">
|
|
<option value="" selected></option>
|
|
<option data-i18n="firefighter" value="firefighter">Firefighter.</option>
|
|
<option data-i18n="gunslinger" value="gunslinger">Gunslinger.</option>
|
|
<option data-i18n="hunter" value="hunter">Hunter.</option>
|
|
<option data-i18n="mechanic" value="mechanic">Mechanic.</option>
|
|
<option data-i18n="priest" value="priest">Priest.</option>
|
|
<option data-i18n="ronin" value="ronin">Ronin.</option>
|
|
<option data-i18n="scientist" value="scientist">Scientist.</option>
|
|
<option data-i18n="surgeon" value="surgeon">Surgeon.</option>
|
|
<option data-i18n="thief" value="thief">Thief.</option>
|
|
<option data-i18n="veteran" value="veteran">Veteran.</option>
|
|
</select>
|
|
</div>
|
|
<div class="archetype-primary-label"><label data-i18n="primary_archetype">Primary Archetype.</label></div>
|
|
<div class="archetype-secondary-input data-entry">
|
|
<select name="attr_archetype_secondary">
|
|
<option value="" selected></option>
|
|
<option data-i18n="firefighter" value="firefighter">Firefighter.</option>
|
|
<option data-i18n="gunslinger" value="gunslinger">Gunslinger.</option>
|
|
<option data-i18n="hunter" value="hunter">Hunter.</option>
|
|
<option data-i18n="mechanic" value="mechanic">Mechanic.</option>
|
|
<option data-i18n="priest" value="priest">Priest.</option>
|
|
<option data-i18n="ronin" value="ronin">Ronin.</option>
|
|
<option data-i18n="scientist" value="scientist">Scientist.</option>
|
|
<option data-i18n="surgeon" value="surgeon">Surgeon.</option>
|
|
<option data-i18n="thief" value="thief">Thief.</option>
|
|
<option data-i18n="veteran" value="veteran">Veteran.</option>
|
|
</select>
|
|
</div>
|
|
<div class="archetype-secondary-label"><label data-i18n="secondary_archetype">Secondary Archetype.</label></div>
|
|
<div class="apocalypse-input data-entry">
|
|
<select name="attr_apocalypse">
|
|
<option value="" selected></option>
|
|
<option data-i18n="alien_invasion" value="aliens">Alien Invasion.</option>
|
|
<option data-i18n="food_riots" value="food_riots">Food Riots.</option>
|
|
<option data-i18n="kaiju_attack" value="kaiju">Kaiju Attack.</option>
|
|
<option data-i18n="nuclear_holocaust" value="nuclear">Nuclear Holocaust.</option>
|
|
<option data-i18n="peak_oil_collapse" value="oil-collapse">Peak Oil Collapse.</option>
|
|
<option data-i18n="robot_upraising" value="robots">Robot Uprising.</option>
|
|
<option data-i18n="seismic_cataclysm" value="seismic">Seismic Cataclysm.</option>
|
|
<option data-i18n="supernatural_horrors" value="horrors">Supernatural Horrors.</option>
|
|
<option data-i18n="the_rapture" value="rapture">The Rapture.</option>
|
|
<option data-i18n="time_paradox" value="time_paradox">Time Paradox.</option>
|
|
<option data-i18n="zombie_apocalypse" value="zombies">Zombie Apocalypse.</option>
|
|
</select>
|
|
</div>
|
|
<div class="apocalypse-label"><label data-i18n="personal_apocalypse">Personal Apocalypse.</label></div>
|
|
<div class="age-input data-entry">
|
|
<select name="attr_age">
|
|
<option value="" selected></option>
|
|
<option data-i18n="child_0-15" value="child">Child (0-15).</option>
|
|
<option data-i18n="youth_16-29" value="youth">Youth (16-29).</option>
|
|
<option data-i18n="middle_30-45" value="Mmddle">Middle (30-45).</option>
|
|
<option data-i18n="mature_46-59" value="mature">Mature (46-59).</option>
|
|
<option data-i18n="geriatric_60+" value="geriatric">Geriatric (60+).</option>
|
|
</select>
|
|
</div>
|
|
<div class="age-label"><label data-i18n="age">Age.</label></div>
|
|
</div>
|
|
<div class="stats-grid">
|
|
<div class="stat str">
|
|
<div class="stat-labels str-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{strength}}} {{firstdegree1=[[@{str_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{str_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{str_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{str_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{str_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{str_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="strength">Strength.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(STR)</span></div>
|
|
</div>
|
|
<div class="str-input"><input class="stat" type="number" name="attr_str"/></div>
|
|
<div class="half str-h"><input class="stat-half" type="number" name="attr_str_half" readonly/></div>
|
|
<div class="half str-h-label">1/2 </div>
|
|
<div class="quarter str-q"><input class="stat-quarter" type="number" name="attr_str_quarter" readonly/></div>
|
|
<div class="quarter str-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_str_temp_check" class="stat-temp-check"/>
|
|
<div class="str-temp stat-temp"><input class="stat-quarter" type="number" name="attr_str_temp" readonly/></div>
|
|
<input type="hidden" name="attr_str_thresh"/>
|
|
</div>
|
|
<div class="stat for">
|
|
<div class="stat-labels for-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{fortitude}}} {{firstdegree1=[[@{for_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{for_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{for_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{for_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{for_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{for_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="fortitude">Fortitude.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(FOR)</span></div>
|
|
</div>
|
|
<div class="for-input"><input class="stat" type="number" name="attr_for"/></div>
|
|
<div class="half for-h"><input class="stat-half" type="number" name="attr_for_half" readonly/></div>
|
|
<div class="half for-h-label">1/2 </div>
|
|
<div class="quarter for-q"><input class="stat-quarter" type="number" name="attr_for_quarter" readonly/></div>
|
|
<div class="quarter for-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_for_temp_check" class="stat-temp-check"/>
|
|
<div class="for-temp stat-temp"><input class="stat-quarter" type="number" name="attr_for_temp" readonly/></div>
|
|
<input type="hidden" name="attr_for_thresh"/>
|
|
</div>
|
|
<div class="stat agi">
|
|
<div class="stat-labels agi-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{agility}}} {{firstdegree1=[[@{agi_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{agi_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{agi_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{agi_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{agi_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{agi_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="agility">Agility.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(AGI)</span></div>
|
|
</div>
|
|
<div class="agi-input"><input class="stat" type="number" name="attr_agi"/></div>
|
|
<div class="half agi-h"><input class="stat-half" type="number" name="attr_agi_half" readonly/></div>
|
|
<div class="half agi-h-label">1/2 </div>
|
|
<div class="quarter agi-q"><input class="stat-quarter" type="number" name="attr_agi_quarter" readonly/></div>
|
|
<div class="quarter agi-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_agi_temp_check" class="stat-temp-check"/>
|
|
<div class="agi-temp stat-temp"><input class="stat-quarter" type="number" name="attr_agi_temp" readonly/></div>
|
|
<input type="hidden" name="attr_agi_thresh"/>
|
|
</div>
|
|
<div class="stat int">
|
|
<div class="stat-labels int-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{intelligence}}} {{firstdegree1=[[@{int_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{int_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{int_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{int_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{int_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{int_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="intelligence">Intelligence.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(INT)</span></div>
|
|
</div>
|
|
<div class="int-input"><input class="stat" type="number" name="attr_int"/></div>
|
|
<div class="half int-h"><input class="stat-half" type="number" name="attr_int_half" readonly/></div>
|
|
<div class="half int-h-label">1/2 </div>
|
|
<div class="quarter int-q"><input class="stat-quarter" type="number" name="attr_int_quarter" readonly/></div>
|
|
<div class="quarter int-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_int_temp_check" class="stat-temp-check"/>
|
|
<div class="int-temp stat-temp"><input class="stat-quarter" type="number" name="attr_int_temp" readonly/></div>
|
|
<input type="hidden" name="attr_int_thresh"/>
|
|
</div>
|
|
<div class="stat ins">
|
|
<div class="stat-labels ins-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{instinct}}} {{firstdegree1=[[@{ins_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{ins_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{ins_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{ins_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{ins_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{ins_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="instinct">Instinct.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(INS)</span></div>
|
|
</div>
|
|
<div class="ins-input"><input class="stat" type="number" name="attr_ins"/></div>
|
|
<div class="half ins-h"><input class="stat-half" type="number" name="attr_ins_half" readonly/></div>
|
|
<div class="half ins-h-label">1/2 </div>
|
|
<div class="quarter ins-q"><input class="stat-quarter" type="number" name="attr_ins_quarter" readonly/></div>
|
|
<div class="quarter ins-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_ins_temp_check" class="stat-temp-check"/>
|
|
<div class="ins-temp stat-temp"><input class="stat-quarter" type="number" name="attr_ins_temp" readonly/></div>
|
|
<input type="hidden" name="attr_ins_thresh"/>
|
|
</div>
|
|
<div class="stat cha">
|
|
<div class="stat-labels cha-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{charisma}}} {{firstdegree1=[[@{cha_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{cha_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{cha_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{cha_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{cha_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{cha_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="charisma">Charisma.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(CHA)</span></div>
|
|
</div>
|
|
<div class="cha-input"><input class="stat" type="number" name="attr_cha"/></div>
|
|
<div class="half cha-h"><input class="stat-half" type="number" name="attr_cha_half" readonly/></div>
|
|
<div class="half cha-h-label">1/2 </div>
|
|
<div class="quarter cha-q"><input class="stat-quarter" type="number" name="attr_cha_quarter" readonly/></div>
|
|
<div class="quarter cha-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_cha_temp_check" class="stat-temp-check"/>
|
|
<div class="cha-temp stat-temp"><input class="stat-quarter" type="number" name="attr_cha_temp" readonly/></div>
|
|
<input type="hidden" name="attr_cha_thresh"/>
|
|
</div>
|
|
<div class="stat fs">
|
|
<div class="stat-labels fs-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{fighting_skill}}} {{firstdegree1=[[@{fs_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{fs_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{fs_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{fs_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{fs_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{fs_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="fighting_skill">Fighting Skill.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(FS)</span></div>
|
|
</div>
|
|
<div class="fs-input"><input class="stat" type="number" name="attr_fs"/></div>
|
|
<div class="half fs-h"><input class="stat-half" type="number" name="attr_fs_half" readonly/></div>
|
|
<div class="half fs-h-label">1/2 </div>
|
|
<div class="quarter fs-q"><input class="stat-quarter" type="number" name="attr_fs_quarter" readonly/></div>
|
|
<div class="quarter fs-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_fs_temp_check" class="stat-temp-check"/>
|
|
<div class="fs-temp stat-temp"><input class="stat-quarter" type="number" name="attr_fs_temp" readonly/></div>
|
|
<input type="hidden" name="attr_fs_thresh"/>
|
|
</div>
|
|
<div class="stat bs">
|
|
<div class="stat-labels bs-labels">
|
|
<div class="banner">
|
|
<button value="&{template:maxapoc} {{subtitle=^{ballistic_skill}}} {{firstdegree1=[[@{bs_thresh}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{bs_thresh}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{bs_thresh}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{bs_thresh}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{bs_thresh}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{bs_thresh}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button stat-roll">
|
|
<span data-i18n="ballistic_skill">Ballistic Skill.</span>
|
|
</button>
|
|
</div>
|
|
<div class="code dark"><span class="code">(BS)</span></div>
|
|
</div>
|
|
<div class="bs-input"><input class="stat" type="number" name="attr_bs"/></div>
|
|
<div class="half bs-h"><input class="stat-half" type="number" name="attr_bs_half" readonly/></div>
|
|
<div class="half bs-h-label">1/2 </div>
|
|
<div class="quarter bs-q"><input class="stat-quarter" type="number" name="attr_bs_quarter" readonly/></div>
|
|
<div class="quarter bs-q-label"> 1/4</div>
|
|
<input type="hidden" name="attr_fs_temp_check" class="stat-temp-check"/>
|
|
<div class="bs-temp stat-temp"><input class="stat-quarter" type="number" name="attr_bs_temp" readonly/></div>
|
|
<input type="hidden" name="attr_bs_thresh"/>
|
|
</div>
|
|
</div>
|
|
<div class="skills section flex-col">
|
|
<div class="skill-banner banner"><span data-i18n="skills">Skills.</span></div>
|
|
<div class="skill-str code">(STR)</div>
|
|
<div class="skill-for code">(FOR)</div>
|
|
<div class="skill-agi code">(AGI)</div>
|
|
<div class="skill-int code">(INT)</div>
|
|
<div class="skill-ins code">(INS)</div>
|
|
<div class="skill-cha code">(CHA)</div>
|
|
<div class="skill-fs code">(FS)</div>
|
|
<div class="skill-bs code">(BS)</div>
|
|
<!-- SKILLS ROW 1 -->
|
|
<div class="athletics-prof prof">
|
|
<select class="prof" name="attr_athletics_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_athletics"/>
|
|
<input type="hidden" name="attr_athletics_prof_desc"/>
|
|
</div>
|
|
<div class="athletics-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{athletics}}} {{profdesc=@{athletics_prof_desc}}} {{firstdegree1=[[@{athletics}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{athletics}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{athletics}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{athletics}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{athletics}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{athletics}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="athletics">Athletics.</span>
|
|
</button>
|
|
</div>
|
|
<div class="archery-prof prof">
|
|
<select class="prof" name="attr_archery_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_archery"/>
|
|
<input type="hidden" name="attr_archery_prof_desc"/>
|
|
</div>
|
|
<div class="archery-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{archery}}} {{profdesc=@{archery_prof_desc}}} {{firstdegree1=[[@{archery}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{archery}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{archery}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{archery}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{archery}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{archery}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="archery">Archery.</span>
|
|
</button>
|
|
</div>
|
|
<div class="academics-prof prof">
|
|
<select class="prof" name="attr_academics_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_academics"/>
|
|
<input type="hidden" name="attr_academics_prof_desc"/>
|
|
</div>
|
|
<div class="academics-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{academics}}} {{profdesc=@{academics_prof_desc}}} {{firstdegree1=[[@{academics}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{academics}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{academics}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{academics}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{academics}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{academics}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="academics">Academics.</span>
|
|
</button>
|
|
</div>
|
|
<div class="crafting-prof prof">
|
|
<select class="prof" name="attr_crafting_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_crafting"/>
|
|
<input type="hidden" name="attr_crafting_prof_desc"/>
|
|
</div>
|
|
<div class="crafting-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{crafting}}} {{profdesc=@{crafting_prof_desc}}} {{firstdegree1=[[@{crafting}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{crafting}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{crafting}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{crafting}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{crafting}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{crafting}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="crafting">Crafting.</span>
|
|
</button>
|
|
</div>
|
|
<div class="animalken-prof prof">
|
|
<select class="prof" name="attr_animalken_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_animalken"/>
|
|
<input type="hidden" name="attr_animalken_prof_desc"/>
|
|
</div>
|
|
<div class="animalken-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{animal_ken}}} {{profdesc=@{animalken_prof_desc}}} {{firstdegree1=[[@{animalken}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{animalken}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{animalken}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{animalken}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{animalken}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{animalken}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="animal_ken">Animal Ken.</span>
|
|
</button>
|
|
</div>
|
|
<div class="blades-prof prof">
|
|
<select class="prof" name="attr_blades_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_blades"/>
|
|
<input type="hidden" name="attr_blades_prof_desc"/>
|
|
</div>
|
|
<div class="blades-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{blades}}} {{profdesc=@{blades_prof_desc}}} {{firstdegree1=[[@{blades}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{blades}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{blades}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{blades}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{blades}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{blades}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="blades">Blades.</span>
|
|
</button>
|
|
</div>
|
|
<div class="firearms-prof prof">
|
|
<select class="prof" name="attr_firearms_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_firearms"/>
|
|
<input type="hidden" name="attr_firearms_prof_desc"/>
|
|
</div>
|
|
<div class="firearms-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{firearms}}} {{profdesc=@{firearms_prof_desc}}} {{firstdegree1=[[@{firearms}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{firearms}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{firearms}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{firearms}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{firearms}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{firearms}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="firearms">Firearms.</span>
|
|
</button>
|
|
</div>
|
|
<!-- SKILLS ROW 2 -->
|
|
<div class="lockpick-prof prof">
|
|
<select class="prof" name="attr_lockpick_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_lockpick"/>
|
|
<input type="hidden" name="attr_lockpick_prof_desc"/>
|
|
</div>
|
|
<div class="lockpick-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{lockpick}}} {{profdesc=@{lockpick_prof_desc}}} {{firstdegree1=[[@{lockpick}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{lockpick}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{lockpick}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{lockpick}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{lockpick}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{lockpick}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="lockpick">Lockpick.</span>
|
|
</button>
|
|
</div>
|
|
<div class="mechanics-prof prof">
|
|
<select class="prof" name="attr_mechanics_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_mechanics"/>
|
|
<input type="hidden" name="attr_mechanics_prof_desc"/>
|
|
</div>
|
|
<div class="mechanics-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{mechanics}}} {{profdesc=@{mechanics_prof_desc}}} {{firstdegree1=[[@{mechanics}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{mechanics}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{mechanics}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{mechanics}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{mechanics}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{mechanics}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="mechanics">Mechanics.</span>
|
|
</button>
|
|
</div>
|
|
<div class="drive-prof prof">
|
|
<select class="prof" name="attr_drive_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_drive"/>
|
|
<input type="hidden" name="attr_drive_prof_desc"/>
|
|
</div>
|
|
<div class="drive-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{drive}}} {{profdesc=@{drive_prof_desc}}} {{firstdegree1=[[@{drive}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{drive}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{drive}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{drive}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{drive}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{drive}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="drive">Drive.</span>
|
|
</button>
|
|
</div>
|
|
<div class="charm-prof prof">
|
|
<select class="prof" name="attr_charm_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_charm"/>
|
|
<input type="hidden" name="attr_charm_prof_desc"/>
|
|
</div>
|
|
<div class="charm-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{charm}}} {{profdesc=@{charm_prof_desc}}} {{firstdegree1=[[@{charm}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{charm}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{charm}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{charm}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{charm}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{charm}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="charm">Charm.</span>
|
|
</button>
|
|
</div>
|
|
<div class="brawl-prof prof">
|
|
<select class="prof" name="attr_brawl_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_brawl"/>
|
|
<input type="hidden" name="attr_brawl_prof_desc"/>
|
|
</div>
|
|
<div class="brawl-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{brawl}}} {{profdesc=@{brawl_prof_desc}}} {{firstdegree1=[[@{brawl}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{brawl}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{brawl}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{brawl}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{brawl}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{brawl}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="brawl">Brawl.</span>
|
|
</button>
|
|
</div>
|
|
<div class="heavyweapons-prof prof">
|
|
<select class="prof" name="attr_heavyweapons_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_heavyweapons"/>
|
|
<input type="hidden" name="attr_heavyweapons_prof_desc"/>
|
|
</div>
|
|
<div class="heavyweapons-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{heavy_weapons}}} {{profdesc=@{heavyweapons_prof_desc}}} {{firstdegree1=[[@{heavyweapons}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{heavyweapons}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{heavyweapons}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{heavyweapons}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{heavyweapons}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{heavyweapons}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="heavy_weapons">Heavy Weapons.</span>
|
|
</button>
|
|
</div>
|
|
<!-- SKILLS ROW 3 -->
|
|
<div class="palming-prof prof">
|
|
<select class="prof" name="attr_palming_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_palming"/>
|
|
<input type="hidden" name="attr_palming_prof_desc"/>
|
|
</div>
|
|
<div class="palming-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{palming}}} {{profdesc=@{palming_prof_desc}}} {{firstdegree1=[[@{palming}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{palming}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{palming}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{palming}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{palming}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{palming}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="palming">Palming.</span>
|
|
</button>
|
|
</div>
|
|
<div class="medicine-prof prof">
|
|
<select class="prof" name="attr_medicine_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_medicine"/>
|
|
<input type="hidden" name="attr_medicine_prof_desc"/>
|
|
</div>
|
|
<div class="medicine-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{medicine}}} {{profdesc=@{medicine_prof_desc}}} {{firstdegree1=[[@{medicine}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{medicine}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{medicine}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{medicine}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{medicine}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{medicine}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="medicine">Medicine.</span>
|
|
</button>
|
|
</div>
|
|
<div class="navigation-prof prof">
|
|
<select class="prof" name="attr_navigation_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_navigation"/>
|
|
<input type="hidden" name="attr_navigation_prof_desc"/>
|
|
</div>
|
|
<div class="navigation-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{navigation}}} {{profdesc=@{navigation_prof_desc}}} {{firstdegree1=[[@{navigation}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{navigation}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{navigation}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{navigation}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{navigation}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{navigation}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="navigation">Navigation.</span>
|
|
</button>
|
|
</div>
|
|
<div class="command-prof prof">
|
|
<select class="prof" name="attr_command_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_command"/>
|
|
<input type="hidden" name="attr_command_prof_desc"/>
|
|
</div>
|
|
<div class="command-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{command}}} {{profdesc=@{command_prof_desc}}} {{firstdegree1=[[@{command}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{command}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{command}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{command}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{command}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{command}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="command">Command.</span>
|
|
</button>
|
|
</div>
|
|
<div class="clubs-prof prof">
|
|
<select class="prof" name="attr_clubs_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_clubs"/>
|
|
<input type="hidden" name="attr_clubs_prof_desc"/>
|
|
</div>
|
|
<div class="clubs-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{clubs}}} {{profdesc=@{clubs_prof_desc}}} {{firstdegree1=[[@{clubs}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{clubs}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{clubs}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{clubs}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{clubs}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{clubs}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="clubs">Clubs.</span>
|
|
</button>
|
|
</div>
|
|
<!-- SKILLS ROW 4 -->
|
|
<div class="stealth-prof prof">
|
|
<select class="prof" name="attr_stealth_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_stealth"/>
|
|
<input type="hidden" name="attr_stealth_prof_desc"/>
|
|
</div>
|
|
<div class="stealth-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{stealth}}} {{profdesc=@{stealth_prof_desc}}} {{firstdegree1=[[@{stealth}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{stealth}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{stealth}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{stealth}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{stealth}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{stealth}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="stealth">Stealth.</span>
|
|
</button>
|
|
</div>
|
|
<div class="science-prof prof">
|
|
<select class="prof" name="attr_science_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_science"/>
|
|
<input type="hidden" name="attr_science_prof_desc"/>
|
|
</div>
|
|
<div class="science-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{science}}} {{profdesc=@{science_prof_desc}}} {{firstdegree1=[[@{science}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{science}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{science}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{science}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{science}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{science}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="science">Science.</span>
|
|
</button>
|
|
</div>
|
|
<div class="perception-prof prof">
|
|
<select class="prof" name="attr_perception_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_perception"/>
|
|
<input type="hidden" name="attr_perception_prof_desc"/>
|
|
</div>
|
|
<div class="perception-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{perception}}} {{profdesc=@{perception_prof_desc}}} {{firstdegree1=[[@{perception}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{perception}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{perception}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{perception}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{perception}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{perception}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="perception">Perception.</span>
|
|
</button>
|
|
</div>
|
|
<div class="interrogate-prof prof">
|
|
<select class="prof" name="attr_interrogate_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_interrogate"/>
|
|
<input type="hidden" name="attr_interrogate_prof_desc"/>
|
|
</div>
|
|
<div class="interrogate-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{interrogate}}} {{profdesc=@{interrogate_prof_desc}}} {{firstdegree1=[[@{interrogate}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{interrogate}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{interrogate}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{interrogate}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{interrogate}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{interrogate}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="interrogate">Interrogate.</span>
|
|
</button>
|
|
</div>
|
|
<!-- SKILLS ROW 5 -->
|
|
<div class="wrangle-prof prof">
|
|
<select class="prof" name="attr_wrangle_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_wrangle"/>
|
|
<input type="hidden" name="attr_wrangle_prof_desc"/>
|
|
</div>
|
|
<div class="wrangle-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{wrangle}}} {{profdesc=@{wrangle_prof_desc}}} {{firstdegree1=[[@{wrangle}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{wrangle}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{wrangle}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{wrangle}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{wrangle}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{wrangle}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="wrangle">Wrangle.</span>
|
|
</button>
|
|
</div>
|
|
<div class="techuse-prof prof">
|
|
<select class="prof" name="attr_techuse_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_techuse"/>
|
|
<input type="hidden" name="attr_techuse_prof_desc"/>
|
|
</div>
|
|
<div class="techuse-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{tech_use}}} {{profdesc=@{techuse_prof_desc}}} {{firstdegree1=[[@{techuse}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{techuse}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{techuse}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{techuse}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{techuse}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{techuse}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="tech_use">Tech Use.</span>
|
|
</button>
|
|
</div>
|
|
<div class="survival-prof prof">
|
|
<select class="prof" name="attr_survival_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_survival"/>
|
|
<input type="hidden" name="attr_survival_prof_desc"/>
|
|
</div>
|
|
<div class="survival-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{survival}}} {{profdesc=@{survival_prof_desc}}} {{firstdegree1=[[@{survival}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{survival}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{survival}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{survival}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{survival}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{survival}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="survival">Survival.</span>
|
|
</button>
|
|
</div>
|
|
<div class="intimidate-prof prof">
|
|
<select class="prof" name="attr_intimidate_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_intimidate"/>
|
|
<input type="hidden" name="attr_intimidate_prof_desc"/>
|
|
</div>
|
|
<div class="intimidate-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{intimidate}}} {{profdesc=@{intimidate_prof_desc}}} {{firstdegree1=[[@{intimidate}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{intimidate}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{intimidate}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{intimidate}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{intimidate}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{intimidate}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="intimidate">Intimidate.</span>
|
|
</button>
|
|
</div>
|
|
<!-- SKILLS ROW 6 -->
|
|
<div class="tracking-prof prof">
|
|
<select class="prof" name="attr_tracking_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_tracking"/>
|
|
<input type="hidden" name="attr_tracking_prof_desc"/>
|
|
</div>
|
|
<div class="tracking-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{tracking}}} {{profdesc=@{tracking_prof_desc}}} {{firstdegree1=[[@{tracking}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{tracking}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{tracking}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{tracking}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{tracking}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{tracking}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="tracking">Tracking.</span>
|
|
</button>
|
|
</div>
|
|
<!-- SKILLS ROW 7 -->
|
|
<div class="xenotechuse-prof prof">
|
|
<select class="prof" name="attr_xenotechuse_prof">
|
|
<option value="-">-</option>
|
|
<option value="p">P</option>
|
|
<option value="s">S</option>
|
|
<option value="t">T</option>
|
|
<option value="m">M</option>
|
|
</select>
|
|
<input type="hidden" name="attr_xenotechuse"/>
|
|
<input type="hidden" name="attr_xenotechuse_prof_desc"/>
|
|
</div>
|
|
<div class="xenotechuse-label">
|
|
<button value="&{template:maxapoc} {{subtitle=^{xenotech_use}}} {{profdesc=@{xenotechuse_prof_desc}}} {{firstdegree1=[[@{xenotechuse}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{xenotechuse}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{xenotechuse}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{xenotechuse}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{xenotechuse}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{xenotechuse}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="skill-label blank-roll-button">
|
|
<span data-i18n="xenotech_use">Xenotech Use.</span>
|
|
</button>
|
|
</div>
|
|
<div class="prof-desc">
|
|
<div class="prof-circle"><select class="prof" disabled/></div>
|
|
<div class="prof-code-not code">-</div>
|
|
<div class="prof-desc-not"><label data-i18n="not_proficient">Not Proficient.</label></div>
|
|
<div class="prof-code-p code">P</div>
|
|
<div class="prof-desc-p"><label data-i18n="proficient">Proficient.</label></div>
|
|
<div class="prof-code-s code">S</div>
|
|
<div class="prof-desc-s"><label data-i18n="skilled">Skilled.</label></div>
|
|
<div class="prof-code-t code">T</div>
|
|
<div class="prof-desc-t"><label data-i18n="trained">Trained.</label></div>
|
|
<div class="prof-code-m code">M</div>
|
|
<div class="prof-desc-m"><label data-i18n="master">Master.</label></div>
|
|
<div class="prof-text"><span data-i18n="proficiency_text">Skills that are NOT PROFICIENT start as DISADVANTAGE and cannot have ADVANTAGE when rolled.</span></div>
|
|
</div>
|
|
<div class="roll-modifiers">
|
|
<span class="label" data-i18n="threshold_modifier_text">Threshold modifier prompt on every roll ?</span>
|
|
<input type="checkbox" value="?{Threshold Modifier|0}" name="attr_threshold_modifier"/>
|
|
</div>
|
|
<div class="luck-label"><span data-i18n="luck" class="banner">Luck.</span><span class="dark code"> (L)</span></div>
|
|
<div class="luck-use-label">
|
|
<input type="hidden" name="attr_has_faith" class="has-faith-check"/>
|
|
<span data-i18n="use_per_game">Use Per Game.</span><br/>
|
|
<span>( </span><span data-i18n="luck">Luck.</span><span>/ 10 </span><span class="has-faith" data-i18n="+3_for_faith">+3 for Faith.</span><span>)</span>
|
|
</div>
|
|
<div class="luck-input">
|
|
<input class="stat" type="number" name="attr_luck"/>
|
|
</div>
|
|
<div class="luck-max lozenge">
|
|
<input class="lozenge" type="number" name="attr_luck_uses_max" width="18" readonly/>
|
|
</div>
|
|
<div class="luck-current">
|
|
<input class="stat" type="number" name="attr_luck_uses"/>
|
|
</div>
|
|
<div class="luck-base-label luck-lower-label">
|
|
<span data-i18n="base_stat_perc">Base Stat %.</span>
|
|
</div>
|
|
<div class="luck-max-label luck-lower-label">
|
|
<span data-i18n="max">Max.</span>
|
|
</div>
|
|
<div class="luck-current-label luck-lower-label">
|
|
<span data-i18n="current">Current.</span>
|
|
</div>
|
|
</div>
|
|
<div class="sp-stats section">
|
|
<div class="sp-stats-ltl"></div>
|
|
<div class="sp-stats-lbl"></div>
|
|
<div class="sp-stats-banner banner"><span data-i18n="special_stats">Special Stats.</span></div>
|
|
<div class="sp-stats-ltr"></div>
|
|
<div class="sp-stats-lbr"></div>
|
|
<div class="armor-shield">
|
|
<div class="shield-label subheading"><span data-i18n="armor">Armor.</span></div>
|
|
<div class="shield-input-max">
|
|
<input class="shield shield-max" type="number" name="attr_armor_max"/>
|
|
</div>
|
|
<div class="shield-input-max-label self-center shield-label">
|
|
<span data-i18n="max">Max.</span>
|
|
</div>
|
|
<div class="shield-input-current self-center">
|
|
<input class="shield shield-current" type="number" name="attr_armor" value="0"/>
|
|
</div>
|
|
<div class="shield-input-current-label self-center shield-label">
|
|
<span data-i18n="current">Current.</span>
|
|
</div>
|
|
</div>
|
|
<div class="armor-table">
|
|
<div class="armor-head">
|
|
<div class="armor-col-head-1 table-head"><span data-i18n="armor_piece">Armor Piece.</span></div>
|
|
<div class="armor-col-head-2 table-head-small"><span data-i18n="armor_points">Armor Points.</span></div>
|
|
<div class="armor-col-head-3 table-head">CP</div>
|
|
</div>
|
|
<div class="armor-row table-row">
|
|
<fieldset class="repeating_armor">
|
|
<input name="attr_armor_name" class="armor-name table-cell" type="text" size="15"/>
|
|
<input name="attr_armor_ap" class="armor-ap table-cell" type="number" size="5"/>
|
|
<input name="attr_armor_cp" class="armor-cp table-cell" type="number" size="5"/>
|
|
</fieldset>
|
|
</div>
|
|
<input type="hidden" name="attr_armor_cp_total"/>
|
|
</div>
|
|
<div class="build">
|
|
<div class="stat-labels build-labels">
|
|
<div class="subheading"><span data-i18n="build" class="subheading">Build.</span></div>
|
|
<div class="footing"><span class="footing">(STR + FOR)</span></div>
|
|
</div>
|
|
<div class="build-input">
|
|
<input class="build-lozenge" type="number" name="attr_build" width="18" readonly/>
|
|
</div>
|
|
<div class="dc-input">
|
|
<input class="dc-lozenge" type="number" name="attr_build_dc" width="18" readonly/>
|
|
<span class="dc-input-label">DC</span>
|
|
</div>
|
|
</div>
|
|
<div class="health">
|
|
<div class="stat-labels health-labels">
|
|
<div class="subheading"><span data-i18n="health_points" class="subheading">Health Points.</span></div>
|
|
<div class="footing"><span class="footing">(BUILD / 5)</span></div>
|
|
</div>
|
|
<div class="health-max">
|
|
<input class="health-lozenge" type="number" name="attr_health_max" readonly/>
|
|
</div>
|
|
<div class="health-current">
|
|
<input class="health-current" type="number" name="attr_health" value="0"/>
|
|
</div>
|
|
<div class="health-max-label self-center luck-lower-label">
|
|
<span data-i18n="max">Max.</span>
|
|
</div>
|
|
<div class="health-current-label self-center luck-lower-label">
|
|
<span data-i18n="current">Current.</span>
|
|
</div>
|
|
</div>
|
|
<div class="initiative">
|
|
<div class="stat-labels init-labels">
|
|
<div class="subheading"><span data-i18n="initiative" class="subheading">Initiative.</span></div>
|
|
<div class="footing"><span class="footing">(AGI + LUCK) / 10</span></div>
|
|
</div>
|
|
<div class="init">
|
|
<input class="init-lozenge" type="number" name="attr_init" width="18" readonly/>
|
|
</div>
|
|
<div class="init- init-5">
|
|
<input class="init- init-5" type="number" name="attr_init_5" readonly/>
|
|
</div>
|
|
<div class="init- init-10">
|
|
<input class="init- init-10" type="number" name="attr_init_10" readonly/>
|
|
</div>
|
|
<div class="init- init-15">
|
|
<input class="init- init-15" type="number" name="attr_init_15" readonly/>
|
|
</div>
|
|
<div class="init-5-l self-center">
|
|
<span class="half">-5</span>
|
|
</div>
|
|
<div class="init-10-l self-center">
|
|
<span class="half">-10</span>
|
|
</div>
|
|
<div class="init-15-l self-center">
|
|
<span class="half">-15</span>
|
|
</div>
|
|
<div class="init- init-temp">
|
|
<input class="init- init-temp" type="number" name="attr_init_temp"/>
|
|
</div>
|
|
<div class="init- init-temp-label">
|
|
<span data-i18n="temporary_modifier" class="footing">Temp. Modifier</span><span class="footing">:</span>
|
|
</div>
|
|
</div>
|
|
<div class="saves">
|
|
<div class="save-salvage special-stat">
|
|
<div class="stat-labels salvage-labels">
|
|
<div class="subheading">
|
|
<button value="&{template:maxapoc} {{subtitle=^{salvage}}} {{firstdegree1=[[@{salvage}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{salvage}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{salvage}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{salvage}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{salvage}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{salvage}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button">
|
|
<span data-i18n="salvage" class="subheading">Salvage.</span>
|
|
</button>
|
|
</div>
|
|
<div class="footing"><span class="footing">(INS + LUCK) / 2</span></div>
|
|
</div>
|
|
<div class="salvage-input"><input class="stat" type="number" name="attr_salvage" readonly/></div>
|
|
<div class="half salvage-h"><input class="stat-half" type="number" name="attr_salvage_half" readonly/></div>
|
|
<div class="half salvage-h-label">1/2 </div>
|
|
<div class="quarter salvage-q"><input class="stat-quarter" type="number" name="attr_salvage_quarter" readonly/></div>
|
|
<div class="quarter salvage-q-label"> 1/4</div>
|
|
</div>
|
|
<div class="save-resilience special-stat">
|
|
<div class="stat-labels resilience-labels">
|
|
<div class="subheading">
|
|
<button value="&{template:maxapoc} {{subtitle=^{resilience}}} {{firstdegree1=[[@{resilience}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{resilience}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{resilience}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{resilience}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{resilience}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{resilience}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button">
|
|
<span data-i18n="resilience" class="subheading">Resilience.</span>
|
|
</button>
|
|
</div>
|
|
<div class="footing"><span class="footing">(STR + FORT) / 2</span></div>
|
|
</div>
|
|
<div class="resilience-input"><input class="stat" type="number" name="attr_resilience" readonly/></div>
|
|
<div class="half resilience-h"><input class="stat-half" type="number" name="attr_resilience_half" readonly/></div>
|
|
<div class="half resilience-h-label">1/2 </div>
|
|
<div class="quarter resilience-q"><input class="stat-quarter" type="number" name="attr_resilience_quarter" readonly/></div>
|
|
<div class="quarter resilience-q-label"> 1/4</div>
|
|
</div>
|
|
<div class="save-resolve special-stat">
|
|
<div class="stat-labels resolve-labels">
|
|
<div class="subheading">
|
|
<button value="&{template:maxapoc} {{subtitle=^{resolve}}} {{firstdegree1=[[@{resolve}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{resolve}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{resolve}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{resolve}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{resolve}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{resolve}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button">
|
|
<span data-i18n="resolve" class="subheading">Resolve.</span>
|
|
</button>
|
|
</div>
|
|
<div class="footing"><span class="footing">(INT + INS) / 2</span></div>
|
|
</div>
|
|
<div class="resolve-input"><input class="stat" type="number" name="attr_resolve" readonly/></div>
|
|
<div class="half resolve-h"><input class="stat-half" type="number" name="attr_resolve_half" readonly/></div>
|
|
<div class="half resolve-h-label">1/2 </div>
|
|
<div class="quarter resolve-q"><input class="stat-quarter" type="number" name="attr_resolve_quarter" readonly/></div>
|
|
<div class="quarter resolve-q-label"> 1/4</div>
|
|
</div>
|
|
<div class="save-immunity special-stat">
|
|
<div class="stat-labels immunity-labels">
|
|
<div class="subheading">
|
|
<button value="&{template:maxapoc} {{subtitle=^{immunity}}} {{firstdegree1=[[@{immunity}+@{roll_thresh_mod}+1]]}} {{firstdegree=[[@{immunity}+@{roll_thresh_mod}]]}} {{seconddegree1=[[floor((@{immunity}+@{roll_thresh_mod})/2)+1]]}} {{seconddegree=[[floor((@{immunity}+@{roll_thresh_mod})/2)]]}} {{thirddegree1=[[floor((@{immunity}+@{roll_thresh_mod})/4)+1]]}} {{thirddegree=[[floor((@{immunity}+@{roll_thresh_mod})/4)]]}} {{profroll=[[@{roll_perc}]]}} {{mod=[[@{mod_query}]]}} {{absmod=[[abs(@{mod_query})]]}} {{title=@{character_name}}}" type="roll" class="blank-roll-button">
|
|
<span data-i18n="immunity" class="subheading">Immunity.</span>
|
|
</button>
|
|
</div>
|
|
<div class="footing"><span class="footing">(FOR + LUCK) / 2</span></div>
|
|
</div>
|
|
<div class="immunity-input"><input class="stat" type="number" name="attr_immunity" readonly/></div>
|
|
<div class="half immunity-h"><input class="stat-half" type="number" name="attr_immunity_half" readonly/></div>
|
|
<div class="half immunity-h-label">1/2 </div>
|
|
<div class="quarter immunity-q"><input class="stat-quarter" type="number" name="attr_immunity_quarter" readonly/></div>
|
|
<div class="quarter immunity-q-label"> 1/4</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="defense section">
|
|
<div class="defense-banner banner"><span data-i18n="defensive_actions">Defensive Actions.</span></div>
|
|
<div class="defense-table">
|
|
<div class="defense-head">
|
|
<div class="defense-col-head-1 table-head"><span data-i18n="defensive_actions">Defense Actions.</span></div>
|
|
<div class="defense-col-head-2 table-head"><span data-i18n="threshold">Threshold.</span></div>
|
|
<div class="defense-col-head-3 table-head">1/2</div>
|
|
<div class="defense-col-head-4 table-head">1/4</div>
|
|
</div>
|
|
<div class="dodge-row defense-row table-row">
|
|
<div class="dodge-desc defense-desc table-cell">
|
|
<span data-i18n="dodge" class="subheading">Dodge.</span><br/>
|
|
<input type="hidden" name="attr_has_reflex" class="has-reflex-check"/>
|
|
<span class="footing">(AGI + INS) / 2 </span><span class="has-reflex footing" data-i18n="+10_for_reflex">+10 for Reflex.</span>
|
|
</div>
|
|
<div class="dodge-threshold table-cell"><input name="attr_dodge" class="defense-threshold" type="number" readonly/></div>
|
|
<div class="dodge-threshold-h table-cell"><input name="attr_dodge_half" class="defense-threshold-h" type="number" readonly/></div>
|
|
<div class="dodge-threshold-q table-cell"><input name="attr_dodge_quarter" class="defense-threshold-q" type="number" readonly/></div>
|
|
</div>
|
|
<div class="full-dodge-row defense-row table-row">
|
|
<div class="full-dodge-desc defense-desc table-cell">
|
|
<span data-i18n="full_dodge" class="subheading">Full Dodge.</span><br/>
|
|
<span class="footing">(DODGE + 1/2 STR) Init -5</span>
|
|
</div>
|
|
<div class="full-dodge-threshold table-cell"><input name="attr_full_dodge" class="defense-threshold" type="number" readonly/></div>
|
|
<div class="full-dodge-threshold-h table-cell"><input name="attr_full_dodge_half" class="defense-threshold-h" type="number" readonly/></div>
|
|
<div class="full-dodge-threshold-q table-cell"><input name="attr_full_dodge_quarter" class="defense-threshold-q" type="number" readonly/></div>
|
|
</div>
|
|
<div class="parry-row defense-row table-row">
|
|
<div class="parry-desc defense-desc table-cell">
|
|
<span data-i18n="parry" class="subheading">Parry.</span><br/>
|
|
<span class="footing">(<span data-i18n="blades">Blades.</span>/<span data-i18n="brawl">Brawl.</span>/<span data-i18n="clubs">Clubs.</span>)</span>
|
|
</div>
|
|
<div class="parry-threshold table-cell"><input name="attr_parry" class="defense-threshold" type="number" readonly/></div>
|
|
<div class="parry-threshold-h table-cell"><input name="attr_parry_half" class="defense-threshold-h" type="number" readonly/></div>
|
|
<div class="parry-threshold-q table-cell"><input name="attr_parry_quarter" class="defense-threshold-q" type="number" readonly/></div>
|
|
</div>
|
|
<div class="riposte-row defense-row table-row">
|
|
<div class="riposte-desc defense-desc table-cell">
|
|
<span data-i18n="riposte" class="subheading">Riposte.</span><br/>
|
|
<span class="footing">(<span data-i18n="parry">Parry.</span>+<span data-i18n="attack">Attack.</span>) Init -3</span>
|
|
</div>
|
|
<div class="riposte-threshold table-cell"><input name="attr_riposte" class="defense-threshold" type="number" readonly/></div>
|
|
<div class="riposte-threshold-h table-cell"><input name="attr_riposte_half" class="defense-threshold-h" type="number" readonly/></div>
|
|
<div class="riposte-threshold-q table-cell"><input name="attr_riposte_quarter" class="defense-threshold-q" type="number" readonly/></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="attacks section">
|
|
<div class="attack-banner banner"><span data-i18n="weapon_attacks">Weapon Attacks.</span></div>
|
|
<div class="attack-table">
|
|
<div class="attack-head">
|
|
<div class="attack-col-head-1 table-head"><span data-i18n="weapon">Weapon.</span></div>
|
|
<div class="attack-col-head-2 table-head">DC</div>
|
|
<div class="attack-col-head-3 table-head"><span data-i18n="threshold">Threshold.</span></div>
|
|
<div class="attack-col-head-4 table-head">1/2</div>
|
|
<div class="attack-col-head-5 table-head">1/4</div>
|
|
<div class="attack-col-head-6 table-head"><span data-i18n="ammo">Ammo.</span></div>
|
|
<div class="attack-col-head-7 table-head"><span data-i18n="traits">Traits.</span></div>
|
|
<div class="attack-col-head-8 table-head">CP</div>
|
|
</div>
|
|
<div class="attack-row-brawl table-row">
|
|
<input name="attr_brawl_weapon" class="attack-weapon table-cell" type="text" data-i18n="unarmed_brawl" value="Unarmed (Brawl)" readonly/>
|
|
<input name="attr_build_dc" class="attack-dc table-cell" type="number" readonly/>
|
|
<input name="attr_brawl" class="attack-threshold table-cell" type="number" readonly/>
|
|
<input name="attr_brawl_half" class="attack-threshold-h table-cell" type="number" readonly/>
|
|
<input name="attr_brawl_quarter" class="attack-threshold-q table-cell" type="number" readonly/>
|
|
<input name="attr_brawl_ammo" class="attack-ammo table-cell" type="text" value="n/a" readonly/>
|
|
<input name="attr_brawl_traits" class="attack-traits table-cell" type="text"/>
|
|
<input name="attr_brawl_cp" class="attack-cp table-cell" type="text" value="n/a" readonly/>
|
|
</div>
|
|
<div class="attack-row table-row">
|
|
<fieldset class="repeating_attack">
|
|
<input name="attr_attack_weapon" class="attack-weapon table-cell" type="text"/>
|
|
<input name="attr_attack_dc" class="attack-dc table-cell" type="number" size="5"/>
|
|
<input name="attr_attack_threshold" class="attack-threshold table-cell" type="number"/>
|
|
<input name="attr_attack_threshold_quarter" class="attack-threshold-h table-cell" type="number"/>
|
|
<input name="attr_attack_threshold_half" class="attack-threshold-q table-cell" type="number"/>
|
|
<input name="attr_attack_ammo" class="attack-ammo table-cell" type="number"/>
|
|
<input name="attr_attack_traits" class="attack-traits table-cell" type="text"/>
|
|
<input name="attr_attack_cp" class="attack-cp table-cell" type="number"/>
|
|
</fieldset>
|
|
</div>
|
|
<input type="hidden" name="attr_attack_cp_total"/>
|
|
</div>
|
|
</div>
|
|
<div class="gear section">
|
|
<div class="gear-banner banner"><span data-i18n="gear_inventory">Gear Inventory.</span></div>
|
|
<div class="gear-table">
|
|
<div class="gear-head">
|
|
<div class="gear-col-head-1 table-head"><span data-i18n="item">Item.</span></div>
|
|
<div class="gear-col-head-3 table-head"><span data-i18n="characteristic">Characteristic.</span></div>
|
|
<div class="gear-col-head-8 table-head">CP</div>
|
|
</div>
|
|
<div class="gear-row table-row">
|
|
<fieldset class="repeating_gear">
|
|
<input name="attr_gear_item" class="gear-item table-cell" type="text"/>
|
|
<textarea name="attr_gear_characteristic" class="gear-characteristic table-cell" rows="1"></textarea>
|
|
<input name="attr_gear_cp" class="gear-cp table-cell" type="number"/>
|
|
</fieldset>
|
|
</div>
|
|
<input type="hidden" name="attr_gear_cp_total"/>
|
|
</div>
|
|
</div>
|
|
<div class="abilities section">
|
|
<div class="abilities-banner banner"><span data-i18n="special_abilities">Special Abilities.</span></div>
|
|
<div class="abilities-table">
|
|
<div class="abilities-head">
|
|
<div class="abilities-col-head-1 table-head table-cell"><span data-i18n="source">Source.</span></div>
|
|
<div class="abilities-col-head-3 table-head table-cell"><span data-i18n="ability_name">Ability Name.</span></div>
|
|
<div class="abilities-col-head-8 table-head table-cell"><span data-i18n="effect">Effect.</span></div>
|
|
</div>
|
|
<div class="abilities-row table-row">
|
|
<fieldset class="repeating_abilities">
|
|
<input name="attr_ability_source" class="ability-source table-cell" type="text"/>
|
|
<input name="attr_ability_name" class="ability-name table-cell" type="text"/>
|
|
<textarea name="attr_ability_effect" class="ability-effect table-cell" rows="1"></textarea>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="cp section">
|
|
<div class="cp-banner banner"><span data-i18n="current">Current.</span><br/>CP</div>
|
|
<div class="cp-inferior cp-box"><input name="attr_cp_inferior" class="cp-input" type="number" autocomplete="chrome-off"/></div>
|
|
<div class="cp-inferior-label cp-label"><span data-i18n="inferior_cp">Inferior CP.</span></div>
|
|
<div class="cp-cp cp-box"><input name="attr_cp" class="cp-input" type="number" autocomplete="chrome-off"/></div>
|
|
<div class="cp-cp-label cp-label">CP</div>
|
|
<div class="cp-superior cp-box"><input name="attr_cp_superior" class="cp-input" type="number" autocomplete="chrome-off"/></div>
|
|
<div class="cp-superior-label cp-label"><span data-i18n="superior_cp">Superior CP.</span></div>
|
|
<div class="cp-cx cp-box"><input name="attr_cx" class="cp-input" type="number" autocomplete="chrome-off"/></div>
|
|
<div class="cp-cp-label cp-label">CX</div>
|
|
<input type="hidden" name="attr_cp_total"/>
|
|
</div>
|
|
<div class="cp-costs section">
|
|
<span data-i18n="cp_costs">CP Costs.</span><br/>
|
|
<span data-i18n="heal">Heal.</span> = <span data-i18n="one_per_4_hp">1 per 4 HP.</span><br/>
|
|
<span data-i18n="repair">Repair.</span> = <span data-i18n="one_per_4_cp">1 per 4 CP.</span><br/>
|
|
<span data-i18n="armor">Armor.</span> = <span data-i18n="three_per_armor_point">3 per Armor pt.</span>
|
|
</div>
|
|
<div class="resolve-infection section">
|
|
<div class="resolve-table">
|
|
<div class="resolve-banner-text banner">
|
|
<span data-i18n="resolve_dmg">Resolve DMG.</span>
|
|
</div>
|
|
<div class="resolve-banner-status">
|
|
<input class="resolve-status" type="checkbox" checked disabled/>
|
|
</div>
|
|
<div class="unnerved-desc resolve-desc">
|
|
<span data-i18n="unnerved" class="subheading">Unnerved.</span><br/>
|
|
<span class="footing">(<span data-i18n="disadvantage_on_rolls">Disadv. on rolls.</span>)</span>
|
|
</div>
|
|
<div class="unnerved-status resolve-status"><input name="attr_unnerved" class="unnerved-status resolve-status" type="checkbox"/></div>
|
|
<div class="shaken-desc resolve-desc">
|
|
<span data-i18n="shaken" class="subheading">Shaken.</span><br/>
|
|
<span class="footing">(<span data-i18n="-3_initiative">-3 initiative.</span>)</span>
|
|
</div>
|
|
<div class="shaken-status resolve-status"><input name="attr_shaken" class="shaken-status resolve-status" type="checkbox"/></div>
|
|
<div class="insanity-desc resolve-desc">
|
|
<span data-i18n="insanity_condition" class="insanity-desc subheading">Insanity Condition.</span>
|
|
</div>
|
|
<div class="insanity-status resolve-status"><input name="attr_insanity" class="insanity-status resolve-status" type="checkbox"/></div>
|
|
</div>
|
|
<div class="infection-table">
|
|
<div class="infection-banner banner">
|
|
<span data-i18n="infection">Infection.</span>
|
|
</div>
|
|
<div class="infection-no infection-col-head-1 table-head"><span data-i18n="stage">Stage.</span></div>
|
|
<div class="infection-desc infection-col-head-2 table-head"><span data-i18n="infection">Infection.</span></div>
|
|
<div class="infection-status infection-col-head-3 table-head"><input class="infection-status" type="checkbox" checked disabled/></div>
|
|
<div class="infection-no incubation-no">1</div>
|
|
<div class="infection-desc incubation-desc"><span data-i18n="incubation" class="subheading">Incubation.</span></div>
|
|
<div class="infection-status incubation-status"><input name="attr_incubation" class="infection-status incubation-status" type="checkbox"/></div>
|
|
<div class="infection-no gestation-no">2</div>
|
|
<div class="infection-desc gestation-desc"><span data-i18n="gestation" class="subheading">Gestation.</span></div>
|
|
<div class="infection-status gestation-status"><input name="attr_gestation" class="infection-status gestation-status" type="checkbox"/></div>
|
|
<div class="infection-no symptomatic-no">3</div>
|
|
<div class="infection-desc symptomatic-desc"><span data-i18n="symptomatic" class="subheading">Symptomatic.</span></div>
|
|
<div class="infection-status symptomatic-status"><input name="attr_symptomatic" class="infection-status symptomatic-status" type="checkbox"/></div>
|
|
<div class="infection-no prodromal-no">4</div>
|
|
<div class="infection-desc prodromal-desc"><span data-i18n="prodromal" class="subheading">Prodromal.</span></div>
|
|
<div class="infection-status prodromal-status"><input name="attr_prodromal" class="infection-status prodromal-status" type="checkbox"/></div>
|
|
<div class="infection-no acute-no">5</div>
|
|
<div class="infection-desc acute-desc"><span data-i18n="acute" class="subheading">Acute.</span></div>
|
|
<div class="infection-status acute-status"><input name="attr_acute" class="infection-status acute-status" type="checkbox"/></div>
|
|
<div class="infection-no transformdie-no">6</div>
|
|
<div class="infection-desc transformdie-desc"><span data-i18n="transform_die" class="subheading">Transform/Die.</span></div>
|
|
<div class="infection-status transformdie-status"><input name="attr_transformdie" class="infection-status transformdie-status" type="checkbox"/></div>
|
|
</div>
|
|
</div>
|
|
<div class="hunger section">
|
|
<div class="hunger-banner banner"><span data-i18n="hunger" class="banner">Hunger.</span></div>
|
|
<input type="hidden" name="attr_starving" class="starving-check"/>
|
|
<div class="starving hunger-desc-left table-head-small">1/4 FOR = </div>
|
|
<div class="starving hunger-desc-right table-head-small"><span data-i18n="starving">Starving.</span></div>
|
|
<input type="hidden" name="attr_emaciated" class="emaciated-check"/>
|
|
<div class="emaciated hunger-desc-left table-head-small">1/2 FOR = </div>
|
|
<div class="emaciated hunger-desc-right table-head-small"><span data-i18n="emaciated">Emaciated.</span></div>
|
|
<input type="hidden" name="attr_dead" class="dead-check"/>
|
|
<div class="dead hunger-desc-left table-head-small">FOR = </div>
|
|
<div class="dead hunger-desc-right table-head-small"><span data-i18n="dead">Dead.</span></div>
|
|
<div class="hunger-input"><input name="attr_hunger" class="hunger-input prof" type="number" value="0"/></div>
|
|
</div>
|
|
<div class="build-repair section">
|
|
<div class="build-banner banner"><span data-i18n="build_repair">Build / Repair.</span></div>
|
|
<div class="head desc table-head"><span data-i18n="repair_skill">Repair Skill.</span></div>
|
|
<div class="head build-prof table-head">P</div>
|
|
<div class="head build-threshold table-head-small"><span data-i18n="threshold">Threshold.</span></div>
|
|
<div class="head build-threshold-h table-head">1/2</div>
|
|
<div class="head build-threshold-q table-head">1/4</div>
|
|
<div class="crafting desc"><span data-i18n="crafting" class="subheading">Crafting.</span></div>
|
|
<div class="crafting build-prof"><input name="attr_crafting_prof" class="build-prof fill" type="text" readonly/></div>
|
|
<div class="crafting build-threshold"><input name="attr_crafting" class="fill" type="number" readonly/></div>
|
|
<div class="crafting build-threshold-h"><input name="attr_crafting_half" class="fill" type="number" readonly/></div>
|
|
<div class="crafting build-threshold-q"><input name="attr_crafting_quarter" class="fill" type="number" readonly/></div>
|
|
<div class="mechanics desc"><span data-i18n="mechanics" class="subheading">Mechanics.</span></div>
|
|
<div class="mechanics build-prof"><input name="attr_mechanics_prof" class="build-prof fill" type="text" readonly/></div>
|
|
<div class="mechanics build-threshold"><input name="attr_mechanics" class="fill" type="number" readonly/></div>
|
|
<div class="mechanics build-threshold-h"><input name="attr_mechanics_half" class="fill" type="number" readonly/></div>
|
|
<div class="mechanics build-threshold-q"><input name="attr_mechanics_quarter" class="fill" type="number" readonly/></div>
|
|
<div class="science desc"><span data-i18n="science" class="subheading">Science.</span></div>
|
|
<div class="science build-prof"><input name="attr_science_prof" class="build-prof fill" type="text" readonly/></div>
|
|
<div class="science build-threshold"><input name="attr_science" class="fill" type="number" readonly/></div>
|
|
<div class="science build-threshold-h"><input name="attr_science_half" class="fill" type="number" readonly/></div>
|
|
<div class="science build-threshold-q"><input name="attr_science_quarter" class="fill" type="number" readonly/></div>
|
|
<div class="medicine desc"><span data-i18n="medicine" class="subheading">Medicine.</span></div>
|
|
<div class="medicine build-prof"><input name="attr_medicine_prof" class="build-prof fill" type="text" readonly/></div>
|
|
<div class="medicine build-threshold"><input name="attr_medicine" class="fill" type="number" readonly/></div>
|
|
<div class="medicine build-threshold-h"><input name="attr_medicine_half" class="fill" type="number" readonly/></div>
|
|
<div class="medicine build-threshold-q"><input name="attr_medicine_quarter" class="fill" type="number" readonly/></div>
|
|
</div>
|
|
<div class="encum-table section">
|
|
<div class="encum-banner banner"><span data-i18n="encumbrance">Encumbrance.</span></div>
|
|
<div class="encum-head table-head">
|
|
-1 <span data-i18n="initiative">initiative.</span>,
|
|
<span data-i18n="disadvantage_on_dodge">Disadv. on Dodge.</span>,
|
|
1/2 <span data-i18n="move">Move.</span>
|
|
</div>
|
|
<div class="encum max-label subheading">( 200 + <span data-i18n="build">Build.</span>) CP</div>
|
|
<div class="encum current-label subheading"><span data-i18n="current">Current.</span></div>
|
|
<div class="encum exceeded-label subheading"><span data-i18n="yes">Y.</span>?</div>
|
|
<div class="encum max"><input name="attr_encum_max" class="fill" type="number" readonly/></div>
|
|
<div class="encum current"><input name="attr_encum" class="build-prof fill" type="number" readonly/></div>
|
|
<div class="encum exceeded"><input name="attr_encumbered" class="fill" type="checkbox" readonly/></div>
|
|
</div>
|
|
<div class="experience">
|
|
<div class="experience-banner"><span data-i18n="experience">Experience.</span></div>
|
|
<div class="experience-unused-label table-head"><span data-i18n="unused_xp">Unused XP.</span></div>
|
|
<div class="experience-total-label table-head"><span data-i18n="total_xp">Total XP.</span></div>
|
|
<div class="experience-unused cp-box"><input name="attr_xp_unused" class="cp-input" type="number" autocomplete="chrome-off"/></div>
|
|
<div class="experience-total cp-box"><input name="attr_xp_total" class="cp-input" type="number" autocomplete="chrome-off"/></div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/worker">
|
|
|
|
/* ======================================================
|
|
BEGIN MULTIVERSAL SHEET WORKER GENERATOR
|
|
======================================================
|
|
Use this script to build sheet workers automatically.
|
|
Place this section in your script block, preferably at the end.
|
|
Fill the two data objects, multistats and multifunctions, with your details.
|
|
VERSION 1.
|
|
READMORE: https://app.roll20.net/forum/permalink/7664925/
|
|
======================================================*/
|
|
|
|
const multistats = {
|
|
luck_uses_max: {rule: 'luck_uses', attributes: ['luck', 'has_faith'], modifier: 10},
|
|
build: {rule: 'special_stat', attributes: ['str', 'for'], modifier: 1},
|
|
build_dc: {rule: 'build_dc', attributes: ['build']},
|
|
health_max: {rule: 'special_stat', attributes: ['build'], modifier: 5},
|
|
starving: {rule: 'greater_than_or_equal', attributes: ['hunger', 'for_quarter']},
|
|
emaciated: {rule: 'greater_than_or_equal', attributes: ['hunger', 'for_half']},
|
|
dead: {rule: 'greater_than_or_equal', attributes: ['hunger', 'for']},
|
|
init: {rule: 'init', values: -1, attributes: ['agi', 'luck', 'init_temp', 'encumbered', 'shaken', 'acute', 'starving', 'emaciated'], modifier: 10},
|
|
init_5: {rule: 'add', attributes: ['init'], modifier: -5},
|
|
init_10: {rule: 'add', attributes: ['init'], modifier: -10},
|
|
init_15: {rule: 'add', attributes: ['init'], modifier: -15},
|
|
salvage: {rule: 'special_stat', attributes: ['ins', 'luck'], modifier: 2},
|
|
resilience: {rule: 'special_stat', attributes: ['str', 'fort'], modifier: 2},
|
|
resolve: {rule: 'special_stat', attributes: ['int', 'ins'], modifier: 2},
|
|
immunity: {rule: 'special_stat', attributes: ['for', 'luck'], modifier: 2},
|
|
dodge: {rule: 'dodge', attributes: ['agi', 'ins', 'has_reflex'], modifier: 2},
|
|
full_dodge: {rule: 'full_dodge', attributes: ['dodge', 'str']},
|
|
parry: {rule: 'max', attributes: ['blades', 'brawl', 'clubs']},
|
|
riposte: {rule: 'max', attributes: ['blades', 'brawl', 'clubs']},
|
|
encum_max: {rule: 'add', attributes: ['build'], modifier: 200},
|
|
cp_total: {rule: 'sum', attributes: ['cp_inferior', 'cp', 'cp_superior', 'cx']},
|
|
encum: {rule: 'sum', attributes: ['armor_cp_total', 'attack_cp_total', 'gear_cp_total', 'cp_total']},
|
|
encumbered: {rule: 'encumbered', attributes: ['encum', 'encum_max', 'armor_max']}
|
|
};
|
|
|
|
const stats = ['str', 'for', 'agi', 'int', 'ins', 'cha', 'fs', 'bs',
|
|
'salvage', 'resilience', 'resolve', 'immunity', 'crafting', 'mechanics', 'science', 'medicine',
|
|
'dodge', 'full_dodge', 'parry', 'riposte'];
|
|
stats.forEach(stat => {
|
|
multistats[`${stat}_half`] = {rule: 'half', attributes: [stat]};
|
|
multistats[`${stat}_quarter`] = {rule: 'quarter', attributes: [stat]};
|
|
multistats[`${stat}_temp`] = {rule: 'toggle', values: -1, attributes: ['starving'], modifier: -10};
|
|
multistats[`${stat}_temp_check`] = {rule: 'sum', attributes: [`${stat}_temp`]}; /* just copy the temp value */
|
|
multistats[`${stat}_thresh`] = {rule: 'sum', attributes: [`${stat}`, `${stat}_temp`]};
|
|
});
|
|
|
|
const skills = {athletics: 'str', archery: 'agi', academics: 'int', crafting: 'ins' , animalken: 'cha', blades: 'fs', firearms: 'bs',
|
|
lockpick: 'agi', mechanics: 'int', drive: 'ins', charm: 'cha', brawl: 'fs' , heavyweapons: 'bs', palming: 'agi', medicine: 'int',
|
|
navigation: 'ins' , command: 'cha', clubs: 'fs', stealth: 'agi', science: 'int', perception: 'ins', interrogate: 'cha',
|
|
wrangle: 'agi', techuse: 'int', survival: 'ins', intimidate: 'cha', tracking: 'ins', xenotechuse: 'ins'};
|
|
|
|
Object.entries(skills).forEach(([skill,stat]) => {
|
|
multistats[skill] = {rule: 'prof', values: -1, attributes: [stat+'_thresh', skill+'_prof']};
|
|
multistats[skill+"_prof_desc"] = {rule: 'prof_desc', values: -1, attributes: [skill+'_prof']};
|
|
});
|
|
|
|
const prof_mods = {};
|
|
prof_mods['-'] = {mod:0,desc:'Not Proficient'};
|
|
prof_mods['p'] = {mod:0,desc:'Proficient'};
|
|
prof_mods['s'] = {mod:5,desc:'Skilled'};
|
|
prof_mods['t'] = {mod:10,desc:'Trained'};
|
|
prof_mods['m'] = {mod:15,desc:'Master'};
|
|
|
|
|
|
const multifunctions = {
|
|
sum: (arr) => arr.reduce((total, add) => total + add), // add up any number of attributes
|
|
pick_from_list: (arr) => arr[ arr[0] ], // get the value of an attribute, from a select.
|
|
half: (arr) => Math.max(Math.floor(arr[0] / 2), 1),
|
|
quarter: (arr) => Math.max(Math.floor(arr[0] / 4), 1),
|
|
build_dc: (arr) => Math.floor(arr[0]/50)-1,
|
|
add: (arr, val) => arr[0]+val,
|
|
full_dodge: (arr) => Math.floor(arr[0]+(arr[1]/2)),
|
|
max: (arr) => Math.max(...arr),
|
|
encumbered: (arr) => arr[0] > arr[1] || arr[2] >= 12 ? 'on' : '0',
|
|
greater_than_or_equal: (arr) => arr[0] >= arr[1] ? 'on' : '0',
|
|
toggle: (arr, modifier) => arr[0] === 'on' ? modifier : 0,
|
|
luck_uses: function(arr, divisor) {
|
|
let luck = arr[0];
|
|
let has_faith = arr[1];
|
|
let luck_uses = Math.floor(luck / divisor)
|
|
luck_uses = luck_uses + (has_faith > 0 ? 3 : 0);
|
|
return luck_uses;
|
|
},
|
|
dodge: function(arr, divisor) {
|
|
let agi = arr[0];
|
|
let ins = arr[1];
|
|
let has_reflex = arr[2];
|
|
let dodge = Math.floor((agi + ins) / divisor)
|
|
dodge = dodge + (has_reflex > 0 ? 10 : 0);
|
|
return dodge;
|
|
},
|
|
prof: function(arr) {
|
|
let stat_val = parseInt(arr[0]) || 0;
|
|
let prof_mod = prof_mods[arr[1]];
|
|
return stat_val + prof_mod.mod;
|
|
},
|
|
prof_desc: function(arr) {
|
|
let prof_mod = prof_mods[arr[0]];
|
|
return prof_mod.desc;
|
|
},
|
|
special_stat: function(arr, divisor) {
|
|
let sum = multifunctions.sum(arr);
|
|
let stat = Math.floor(sum / divisor);
|
|
return stat;
|
|
},
|
|
init: function(arr, divisor) {
|
|
let agi = parseInt(arr[0]) || 0;
|
|
let luck = parseInt(arr[1]) || 0;
|
|
let initTemp = parseInt(arr[2]) || 0;
|
|
let encumbered = arr[3];
|
|
let shaken = arr[4];
|
|
let acute = arr[5];
|
|
let starving = arr[6];
|
|
let emaciated = arr[7];
|
|
|
|
let init = Math.floor((agi+luck) / divisor);
|
|
init += initTemp;
|
|
init -= encumbered === 'on' ? 1 : 0;
|
|
init -= shaken === 'on' ? 3 : 0;
|
|
init -= acute === 'on' ? 5 : 0;
|
|
init -= starving === 'on' ? 2 : 0;
|
|
init -= emaciated === 'on' ? 2 : 0;
|
|
return init;
|
|
}
|
|
};
|
|
|
|
// ======================================================*/
|
|
// DO NOT EDIT BELOW THIS LINE //
|
|
// ======================================================*/
|
|
const mvlog = (title, text, color = 'green', style='font-size:12px; font-weight:normal;', headerstyle = 'font-size:13px; font-weight:bold;') => {
|
|
let titleStyle = `color:${color}; ${headerstyle} text-decoration:underline;`;
|
|
let textStyle = `color:${color}; ${style}`;
|
|
const output = `%c${title}:%c ${text}`;
|
|
console.log(output,titleStyle,textStyle);
|
|
};
|
|
// can use $ placeholder in attribute names. This converts '$_stat' to 'repeating_section_stat'
|
|
const rep = '$'; //placeholder for repeating_section_
|
|
const makeRepeatingName = (attribute, section) => attribute.startsWith(rep) ? attribute.replace(rep, `repeating_${section}_`) : attribute;
|
|
const makeRepeatingAttributes = (attributes, section) => attributes.map(a => makeRepeatingName(a, section));
|
|
const makeRepeatingID = (a, section, id) => a.replace(`repeating_${section}_`,`repeating_${section}_${id}_`);
|
|
// given array of attributes, find if any have repeating_ and return the section name
|
|
// section name will be 2nd element of name split on "_"
|
|
const findSection = (arr) => {
|
|
const s = arr.find(a => a.includes('repeating_'));
|
|
const section = (s ? s.split('_')[1] : null);
|
|
return section;
|
|
};
|
|
|
|
// check if attribute is one where a repeating section attribute depends on attributes both inside and outside the repeating section
|
|
const isMixed = (attributes, destination) => {
|
|
const some = someRepeating(attributes);
|
|
const all = allRepeating(attributes);
|
|
const repeatingdestination = destination.startsWith('repeating_');
|
|
return (some && !all && repeatingdestination);
|
|
};
|
|
const allRepeating = attributes => attributes.every(r => r.startsWith('repeating_'));
|
|
const someRepeating = attributes => attributes.some(r => r.startsWith('repeating_'));
|
|
|
|
const defaultDataType = 'array'; // might change this to object
|
|
const getData = (values, data = 'a', isnumbers = 0) => {
|
|
// only a is functional right now, so this function is redundant.
|
|
switch(data.charAt(0).toLowerCase()) {
|
|
case 'o': return values;
|
|
case 'a': return Object.values(values).map(i => 1 === isnumbers ? parseInt(i) ||0 : (0 === isnumbers ? +i || 0 : i));
|
|
case 'v': return Object.values(values)[0];
|
|
}
|
|
};
|
|
|
|
const processMax = (destination, result, max) => {
|
|
const settings = {};
|
|
if(max === 'current' || max === 'both') settings[destination] = result;
|
|
if(max === 'max' || max === 'both') settings[`${destination}_max`] = result;
|
|
return settings;
|
|
};
|
|
|
|
const isFunction = value => value && (Object.prototype.toString.call(value) === '[object Function]' || 'function' === typeof value || value instanceof Function);
|
|
|
|
const processFunction = (destination, values, section) => {
|
|
const rule = multistats[destination].rule;
|
|
const func = isFunction(rule) ? rule: multifunctions[rule]; // need to test if this works for arrow functions
|
|
const data = multistats[destination].data || defaultDataType;
|
|
const isnumbers = multistats[destination].values || 0;
|
|
const v = getData(values, data, isnumbers);
|
|
const modifier = multistats[destination].modifier || null;
|
|
const result = func(v, modifier);
|
|
mvlog(`${makeRepeatingName(destination,section).toUpperCase()} MULTIFUNCTION`, `RULE: ${rule}; VALUES: ${JSON.stringify(values)}; RESULT: ${result}`);
|
|
return result;
|
|
};
|
|
|
|
Object.keys(multistats).forEach(destination => {
|
|
// get the section name if it exists. It is needed for mixed workers
|
|
const attributes_base = multistats[destination].attributes;
|
|
const section = multistats[destination].section || findSection(attributes_base) || null;
|
|
const attributes = makeRepeatingAttributes(attributes_base, section);
|
|
const realdestination = makeRepeatingName(destination, section); // needed in case of $ in destination
|
|
mvlog(`MULTIVERSAL- ${realdestination}`,`${attributes.join(', ')}`,'green');
|
|
if (isMixed(attributes, realdestination)) {
|
|
const changes = attributes.reduce((change, step) => `${change} change:${step.replace('repeating_' + section + '_','repeating_' +section + ':')}`,
|
|
`remove:repeating_${section} sheet:opened`);
|
|
on(changes.toLowerCase(), function (event) {
|
|
const trigger = event.sourceAttribute || '';
|
|
const triggerRow = (trigger && trigger.includes('_') && trigger.length >2) ? trigger.split('_')[2] : '';
|
|
// if triggerRow, only update initial row
|
|
getSectionIDs(`repeating_${section}`, function (ids) {
|
|
const sectionAtts = attributes.filter(f => f.startsWith(`repeating_${section}`));
|
|
const fixedAtts = attributes.filter(f => !f.startsWith(`repeating_${section}`));
|
|
if (triggerRow) ids = [triggerRow];
|
|
const fieldNames = ids.reduce( (m,id) => [...m, ...(sectionAtts.map(field => makeRepeatingID(field,section,id) ))],[]);
|
|
getAttrs([...fieldNames,...fixedAtts], function (values) {
|
|
let settings = {};
|
|
const max = multistats[destination].max || 'current';
|
|
const fixedValues = fixedAtts.reduce((obj, a) => {
|
|
obj[a] = values[a];
|
|
return obj;
|
|
}, {});
|
|
ids.forEach(id => {
|
|
// first get all relevant attributes for this row of the section
|
|
const sectionValues = sectionAtts.reduce((obj, a) => {
|
|
const att = makeRepeatingID(a, section, id);
|
|
obj[att] = values[att];
|
|
return obj;}, {});
|
|
// now apply the formula for this row and add to settings
|
|
const combinedValues = {...sectionValues,...fixedValues};
|
|
const result = processFunction(destination,combinedValues, section);
|
|
const tempDestination = makeRepeatingID(realdestination,section,id);
|
|
const tempSettings = processMax(tempDestination, result, max);
|
|
settings = Object.assign({}, settings, tempSettings);
|
|
});
|
|
setAttrs(settings);
|
|
});
|
|
});
|
|
});
|
|
} else {
|
|
const changes = attributes.reduce((change, step) => `${change} change:${step.replace('repeating_' + section + '_','repeating_' +section + ':')}`,
|
|
`${someRepeating([...attributes,realdestination]) ? '' : 'sheet:opened '}${section ? `remove:repeating_${section}` : ''}`);
|
|
on(changes.toLowerCase(), function () {
|
|
getAttrs(attributes, function (values) {
|
|
const result = processFunction(destination,values, section);
|
|
const max = multistats[destination].max || 'current';
|
|
const settings = processMax(realdestination, result, max);
|
|
setAttrs(settings);
|
|
});
|
|
});
|
|
}
|
|
});
|
|
// ======================================================*/
|
|
// END Multiversal Sheet Worker Generator //
|
|
// ======================================================*/
|
|
|
|
/* ===== PARAMETERS ==========
|
|
destinations = the name of the attribute that stores the total quantity
|
|
can be a single attribute, or an array: ['total_cost', 'total_weight']
|
|
If more than one, the matching fields must be in the same order.
|
|
section = name of repeating fieldset, without the repeating_
|
|
fields = the name of the attribute field to be summed
|
|
destination and fields both can be a single attribute: 'weight'
|
|
or an array of attributes: ['weight','number','equipped']
|
|
*/
|
|
const repeatingSum = (destinations, section, fields) => {
|
|
if (!Array.isArray(destinations)) destinations = [destinations.replace(/\s/g, '').split(',')];
|
|
if (!Array.isArray(fields)) fields = [fields.replace(/\s/g, '').split(',')];
|
|
getSectionIDs(`repeating_${section}`, idArray => {
|
|
const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_${section}_${id}_${field}`))], []);
|
|
getAttrs([...attrArray], v => {
|
|
const getValue = (section, id, field) => v[`repeating_${section}_${id}_${field}`] === 'on' ? 1 : parseFloat(v[`repeating_${section}_${id}_${field}`]) || 0;
|
|
const commonMultipliers = (fields.length <= destinations.length) ? [] : fields.splice(destinations.length, fields.length - destinations.length);
|
|
const output = {};
|
|
destinations.forEach((destination, index) => {
|
|
output[destination] = idArray.reduce((total, id) => total + getValue(section, id, fields[index]) * commonMultipliers.reduce((subtotal, mult) => subtotal * getValue(section, id, mult), 1), 0);
|
|
});
|
|
console.log('repeatingSum: destinations: "' + destinations + '"; section: "' + section + '"; fields: "' + fields + '"; output: "' + JSON.stringify(output));
|
|
setAttrs(output);
|
|
});
|
|
});
|
|
};
|
|
|
|
const repeatingPresence = (destinations, section, fields, names) => {
|
|
if (!Array.isArray(destinations)) destinations = [destinations.replace(/\s/g, '').split(',')];
|
|
if (!Array.isArray(fields)) fields = [fields.replace(/\s/g, '').split(',')];
|
|
if (!Array.isArray(names)) names = [names.replace(/\s/g, '').split(',')];
|
|
getSectionIDs(`repeating_${section}`, idArray => {
|
|
const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_${section}_${id}_${field}`))], []);
|
|
getAttrs([...attrArray], v => {
|
|
const checkValue = (section, id, field, name) => v[`repeating_${section}_${id}_${field}`].trim().toLowerCase() === `${name}` ||
|
|
v[`repeating_${section}_${id}_${field}`].trim().toLowerCase() === getTranslationByKey(`${name}`) ? 1 : 0;
|
|
const output = {};
|
|
destinations.forEach((destination, index) => {
|
|
output[destination] = idArray.reduce((total, id) => total + checkValue(section, id, fields[index], names[index]), 0);
|
|
});
|
|
console.log('repeatingPresence: destinations: "' + destinations + '"; section: "' + section + '"; fields: "' + fields + '"; names: "' + names + '"; output: "' + JSON.stringify(output));
|
|
setAttrs(output);
|
|
});
|
|
});
|
|
};
|
|
|
|
|
|
/* armor point total */
|
|
on('change:repeating_armor:armor_ap remove:repeating_armor', function() {
|
|
repeatingSum("armor_max","armor","armor_ap");
|
|
});
|
|
|
|
/* armor cp total */
|
|
on('change:repeating_armor:armor_cp remove:repeating_armor', function() {
|
|
repeatingSum("armor_cp_total","armor","armor_cp");
|
|
});
|
|
|
|
/* weapon cp total */
|
|
on('change:repeating_attack:attack_cp remove:repeating_attack', function() {
|
|
repeatingSum("attack_cp_total","attack","attack_cp");
|
|
});
|
|
|
|
/* gear cp total */
|
|
on('change:repeating_gear:gear_cp remove:repeating_gear', function() {
|
|
repeatingSum("gear_cp_total","gear","gear_cp");
|
|
});
|
|
|
|
/* detect Faith special ability */
|
|
on('change:repeating_abilities:ability_name remove:repeating_abilities', function() {
|
|
repeatingPresence(["has_faith", "has_reflex"],"abilities",["ability_name", "ability_name"], ["faith", "reflex"]);
|
|
});
|
|
|
|
|
|
|
|
/* END OF REPEATING SUMS */
|
|
|
|
</script>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-maxapoc">
|
|
<div class="sheet-container">
|
|
<div class="sheet-header">
|
|
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
|
|
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
|
|
</div>
|
|
<div class="sheet-content">
|
|
|
|
<!-- DEBUG -->
|
|
{{#debug}}
|
|
<div class="sheet-desc">DEBUG START</div>
|
|
{{#allprops() attack}}
|
|
<div>{{key}}</div><div>{{value}}</div>
|
|
{{/allprops() attack}}
|
|
<div class="sheet-desc">DEBUG END</div>
|
|
{{/debug}}
|
|
|
|
<!-- PROFICIENCY -->
|
|
{{#profdesc}}<div class="sheet-key">Proficiency</div><div class="sheet-value">{{profdesc}}</div>{{/profdesc}}
|
|
|
|
<!-- MODIFIER -->
|
|
<div class="sheet-key">Modifier</div>
|
|
{{#rollGreater() mod 0}}
|
|
<div class="sheet-value">{{mod}} Advantage(s)</div>
|
|
{{/rollGreater() mod 0}}
|
|
{{#rollTotal() mod 0}}
|
|
<div class="sheet-value">None</div>
|
|
{{/rollTotal() mod 0}}
|
|
{{#rollLess() mod 0}}
|
|
<div class="sheet-value">{{absmod}} Disadvantage(s)</div>
|
|
{{/rollLess() mod 0}}
|
|
|
|
<!-- DEGREES OF SUCCESS -->
|
|
<div class="sheet-key">Required Success</div>
|
|
{{#rollGreater() mod -2}}
|
|
<div class="sheet-value">Normal</div>
|
|
{{/rollGreater() mod -2}}
|
|
{{#rollTotal() mod -2}}
|
|
<div class="sheet-value">Great</div>
|
|
{{/rollTotal() mod -2}}
|
|
{{#rollTotal() mod -3}}
|
|
<div class="sheet-value">Amazing</div>
|
|
{{/rollTotal() mod -3}}
|
|
|
|
<!-- SUCCESS TARGETS -->
|
|
<div class="sheet-desc">Success Targets</div>
|
|
|
|
<!-- 1 DISADVANTAGE OR LESS -->
|
|
{{#rollGreater() mod -2}}
|
|
<div class="sheet-key">Normal</div><div class="sheet-value">{{firstdegree}}</div>
|
|
<div class="sheet-key">Great</div><div class="sheet-value">{{seconddegree}}</div>
|
|
{{/rollGreater() mod -2}}
|
|
|
|
<!-- 2 DISADVANTAGES -->
|
|
{{#rollTotal() mod -2}}
|
|
<div class="sheet-key">Normal</div><div class="sheet-value">N/A</div>
|
|
<div class="sheet-key">Great</div><div class="sheet-value">{{seconddegree}}</div>
|
|
{{/rollTotal() mod -2}}
|
|
|
|
<!-- 3 DISADVANTAGES -->
|
|
{{#rollTotal() mod -3}}
|
|
<div class="sheet-key">Normal</div><div class="sheet-value">N/A</div>
|
|
<div class="sheet-key">Great</div><div class="sheet-value">N/A</div>
|
|
{{/rollTotal() mod -3}}
|
|
|
|
<!-- END: SUCCESS TARGETS -->
|
|
|
|
<!-- ROLL -->
|
|
<div class="sheet-key">Amazing</div><div class="sheet-value">{{thirddegree}}</div>
|
|
|
|
<!-- ROLL OUTCOME -->
|
|
<div class="sheet-desc">Result</div>
|
|
<div class="sheet-key">Roll</div><div class="sheet-value">{{profroll}}</div>
|
|
<div class="sheet-key">Outcome</div>
|
|
|
|
<!-- 1 DISADVANTAGE OR LESS -->
|
|
{{#rollGreater() mod -2}}
|
|
{{#rollLess() profroll 2}}
|
|
<div class="sheet-value">Critical Success !!!</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">4</div>
|
|
{{/rollLess() profroll 2}}
|
|
{{#rollBetween() profroll 2 thirddegree}}
|
|
<div class="sheet-value">Amazing Success !!</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">3</div>
|
|
{{/rollBetween() profroll 2 thirddegree}}
|
|
{{#rollBetween() profroll thirddegree1 seconddegree}}
|
|
<div class="sheet-value">Great Success !</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">2</div>
|
|
{{/rollBetween() profroll thirddegree1 seconddegree}}
|
|
{{#rollBetween() profroll seconddegree1 firstdegree}}
|
|
<div class="sheet-value">Success</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">1</div>
|
|
{{/rollBetween() profroll seconddegree1 firstdegree}}
|
|
{{/rollGreater() mod -2}}
|
|
|
|
<!-- 2 DISADVANTAGES -->
|
|
{{#rollTotal() mod -2}}
|
|
{{#rollLess() profroll 2}}
|
|
<div class="sheet-value">Critical Success !!!</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">3</div>
|
|
{{/rollLess() profroll 2}}
|
|
{{#rollBetween() profroll 2 thirddegree}}
|
|
<div class="sheet-value">Amazing Success !!</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">2</div>
|
|
{{/rollBetween() profroll 2 thirddegree}}
|
|
{{#rollBetween() profroll thirddegree1 seconddegree}}
|
|
<div class="sheet-value">Great Success !</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">1</div>
|
|
{{/rollBetween() profroll thirddegree1 seconddegree}}
|
|
{{#rollBetween() profroll seconddegree1 firstdegree}}
|
|
<div class="sheet-value">Failure</div>
|
|
{{/rollBetween() profroll seconddegree1 firstdegree}}
|
|
{{/rollTotal() mod -2}}
|
|
|
|
<!-- 3 DISADVANTAGES -->
|
|
{{#rollTotal() mod -3}}
|
|
{{#rollLess() profroll 2}}
|
|
<div class="sheet-value">Critical Success !!!</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">2</div>
|
|
{{/rollLess() profroll 2}}
|
|
{{#rollBetween() profroll 2 thirddegree}}
|
|
<div class="sheet-value">Amazing Success !!</div>
|
|
<div class="sheet-key">Degrees of Success</div><div class="sheet-value">1</div>
|
|
{{/rollBetween() profroll 2 thirddegree}}
|
|
{{#rollBetween() profroll thirddegree1 seconddegree}}
|
|
<div class="sheet-value">Failure</div>
|
|
{{/rollBetween() profroll thirddegree1 seconddegree}}
|
|
{{#rollBetween() profroll seconddegree1 firstdegree}}
|
|
<div class="sheet-value">Failure</div>
|
|
{{/rollBetween() profroll seconddegree1 firstdegree}}
|
|
{{/rollTotal() mod -3}}
|
|
|
|
<!-- END: ROLL OUTCOME -->
|
|
|
|
{{#rollBetween() profroll firstdegree1 99}}
|
|
<div class="sheet-value">Failure</div>
|
|
{{/rollBetween() profroll firstdegree1 99}}
|
|
|
|
{{#rollGreater() profroll 99}}
|
|
<div class="sheet-value">Critical Failure !!!!</div>
|
|
{{/rollGreater() profroll 99}}
|
|
|
|
</div>
|
|
</div>
|
|
</rolltemplate> |