Files
roll20-character-sheets/OpenLegend_Minimalist/open_legend_minimalist.html
T
2024-06-03 13:15:14 -04:00

2185 lines
111 KiB
HTML

<div class="character-header">
<div class="banner">
<div class="section info">
<div class="field-row">
<div class="field"><label for="attr_character_name">Name</label><input type="text" name="attr_character_name"></div>
<div class="field"><label for="attr_archetype">Archetype</label><input type="text" name="attr_archetype"></div>
</div>
<div class="field-row">
<div class="field"><label for="attr_player_name">Player</label><input type="text" name="attr_player_name"></div>
<div class="field"><label for="attr_level">Level</label><input type="number" name="attr_level" value="1"></div>
<div class="field"><label for="attr_xp">XP</label><input type="number" name="attr_xp" value="0"></div>
</div>
</div>
<div class="logo"></div>
</div>
<div class="section description">
<div class="field"><label for="attr_description">Description</label><input type="text" name="attr_description"></div>
</div>
<div style="position: relative" class="section configuration">
<input class="option-toggle" type="checkbox" name="attr_toggle_options" value="hide">
<span class="option-toggle-label">y</span>
<div class="byline">
<p>Open Legend - Minimalist Character Sheet by Déja (aka Kertész)</p>
</div>
<div class="options">
<label><input type="checkbox" name="attr_use_physical_dice" value="physical">Physical Dice Prompts</label>
</div>
</div>
</div>
<div class="character-body">
<div class="attributes-block">
<div class="attributes">
<div class="section-header">
<div class="header">Attributes</div>
<div class="header-field"><label for="attr_attribute_total_points">Total Points</label><input type="number" name="attr_attribute_total_points" value="40"></div>
<div class="header-field"><label for="attr_attribute_points_spent">Total Spent</label><input type="number" name="attr_attribute_points_spent"></div>
<div class="header-field"><label for="attr_attribute_max_score">Max Score</label><input type="number" name="attr_attribute_max_score" value="5"></div>
</div>
<div class="attribute-group-header">Physical</div>
<div class="attribute-group">
<div class="attribute-row">
<div> </div>
<div>Score</div>
<div>Cost</div>
<div>Dice</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Agility}} {{advdis=@{agility_adv_text}}} {{dice=@{agility_dice_count}@{agility_dice_size}}} {{roll=@{agility_roll}}}"></button> Agility
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_agility_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_agility_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_agility_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_agility_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_agility_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_agility_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_agility_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_agility_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_agility_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_agility_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_agility_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_agility_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_agility_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_agility_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_agility_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_agility_adv_count" value="0">
<input type="hidden" name="attr_agility_adv_kd" value="kh">
<input type="hidden" name="attr_agility_adv_text" value="">
<input type="hidden" name="attr_agility_roll" value="@{agility_roll_virtual}">
<input type="hidden" name="attr_agility_roll_virtual" value="[[1d20!! + {@{agility_dice_count}@{agility_dice_size}!! + @{agility_adv_count}@{agility_dice_size}!! }@{agility_adv_kd}@{agility_dice_count}]]">
<input type="hidden" name="attr_agility_roll_physical" value="[[?{1d20 + @{agility_dice_count}@{agility_dice_size} @{agility_adv_text}}]]">
<input type="hidden" name="attr_agility_2nd20_virtual" value="[[{2d20!!}@{agility_adv_kd}1]]">
<input type="hidden" name="attr_agility_2nd20_physical" value="[[?{1d20 @{agility_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_agility_score">
</div>
<div>
<input type="number" name="attr_agility_cost">
</div>
<div>
<input type="number" name="attr_agility_dice_count" value="">
<select name="attr_agility_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Fortitude}} {{advdis=@{fortitude_adv_text}}} {{dice=@{fortitude_dice_count}@{fortitude_dice_size}}} {{roll=@{fortitude_roll}}}"></button> Fortitude
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_fortitude_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_fortitude_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_fortitude_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_fortitude_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_fortitude_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_fortitude_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_fortitude_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_fortitude_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_fortitude_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_fortitude_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_fortitude_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_fortitude_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_fortitude_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_fortitude_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_fortitude_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_fortitude_adv_count" value="0">
<input type="hidden" name="attr_fortitude_adv_kd" value="kh">
<input type="hidden" name="attr_fortitude_adv_text" value="">
<input type="hidden" name="attr_fortitude_roll" value="@{fortitude_roll_virtual}">
<input type="hidden" name="attr_fortitude_roll_virtual" value="[[1d20!! + {@{fortitude_dice_count}@{fortitude_dice_size}!! + @{fortitude_adv_count}@{fortitude_dice_size}!! }@{fortitude_adv_kd}@{fortitude_dice_count}]]">
<input type="hidden" name="attr_fortitude_roll_physical" value="[[?{1d20 + @{fortitude_dice_count}@{fortitude_dice_size} @{fortitude_adv_text}}]]">
<input type="hidden" name="attr_fortitude_2nd20_virtual" value="[[{2d20!!}@{fortitude_adv_kd}1]]">
<input type="hidden" name="attr_fortitude_2nd20_physical" value="[[?{1d20 @{fortitude_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_fortitude_score">
</div>
<div>
<input type="number" name="attr_fortitude_cost">
</div>
<div>
<input type="number" name="attr_fortitude_dice_count" value="">
<select name="attr_fortitude_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Might}} {{advdis=@{might_adv_text}}} {{dice=@{might_dice_count}@{might_dice_size}}} {{roll=@{might_roll}}}"></button> Might
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_might_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_might_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_might_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_might_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_might_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_might_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_might_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_might_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_might_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_might_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_might_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_might_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_might_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_might_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_might_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_might_adv_count" value="0">
<input type="hidden" name="attr_might_adv_kd" value="kh">
<input type="hidden" name="attr_might_adv_text" value="">
<input type="hidden" name="attr_might_roll" value="@{might_roll_virtual}">
<input type="hidden" name="attr_might_roll_virtual" value="[[1d20!! + {@{might_dice_count}@{might_dice_size}!! + @{might_adv_count}@{might_dice_size}!! }@{might_adv_kd}@{might_dice_count}]]">
<input type="hidden" name="attr_might_roll_physical" value="[[?{1d20 + @{might_dice_count}@{might_dice_size} @{might_adv_text}}]]">
<input type="hidden" name="attr_might_2nd20_virtual" value="[[{2d20!!}@{might_adv_kd}1]]">
<input type="hidden" name="attr_might_2nd20_physical" value="[[?{1d20 @{might_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_might_score">
</div>
<div>
<input type="number" name="attr_might_cost">
</div>
<div>
<input type="number" name="attr_might_dice_count" value="">
<select name="attr_might_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
</div>
<div class="attribute-group-header">Social</div>
<div class="attribute-group">
<div class="attribute-row">
<div> </div>
<div>Score</div>
<div>Cost</div>
<div>Dice</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Deception}} {{advdis=@{deception_adv_text}}} {{dice=@{deception_dice_count}@{deception_dice_size}}} {{roll=@{deception_roll}}}"></button> Deception
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_deception_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_deception_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_deception_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_deception_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_deception_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_deception_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_deception_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_deception_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_deception_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_deception_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_deception_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_deception_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_deception_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_deception_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_deception_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_deception_adv_count" value="0">
<input type="hidden" name="attr_deception_adv_kd" value="kh">
<input type="hidden" name="attr_deception_adv_text" value="">
<input type="hidden" name="attr_deception_roll" value="@{deception_roll_virtual}">
<input type="hidden" name="attr_deception_roll_virtual" value="[[1d20!! + {@{deception_dice_count}@{deception_dice_size}!! + @{deception_adv_count}@{deception_dice_size}!! }@{deception_adv_kd}@{deception_dice_count}]]">
<input type="hidden" name="attr_deception_roll_physical" value="[[?{1d20 + @{deception_dice_count}@{deception_dice_size} @{deception_adv_text}}]]">
<input type="hidden" name="attr_deception_2nd20_virtual" value="[[{2d20!!}@{deception_adv_kd}1]]">
<input type="hidden" name="attr_deception_2nd20_physical" value="[[?{1d20 @{deception_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_deception_score">
</div>
<div>
<input type="number" name="attr_deception_cost">
</div>
<div>
<input type="number" name="attr_deception_dice_count" value="">
<select name="attr_deception_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Presence}} {{advdis=@{presence_adv_text}}} {{dice=@{presence_dice_count}@{presence_dice_size}}} {{roll=@{presence_roll}}}"></button> Presence
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_presence_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_presence_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_presence_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_presence_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_presence_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_presence_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_presence_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_presence_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_presence_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_presence_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_presence_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_presence_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_presence_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_presence_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_presence_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_presence_adv_count" value="0">
<input type="hidden" name="attr_presence_adv_kd" value="kh">
<input type="hidden" name="attr_presence_adv_text" value="">
<input type="hidden" name="attr_presence_roll" value="@{presence_roll_virtual}">
<input type="hidden" name="attr_presence_roll_virtual" value="[[1d20!! + {@{presence_dice_count}@{presence_dice_size}!! + @{presence_adv_count}@{presence_dice_size}!! }@{presence_adv_kd}@{presence_dice_count}]]">
<input type="hidden" name="attr_presence_roll_physical" value="[[?{1d20 + @{presence_dice_count}@{presence_dice_size} @{presence_adv_text}}]]">
<input type="hidden" name="attr_presence_2nd20_virtual" value="[[{2d20!!}@{presence_adv_kd}1]]">
<input type="hidden" name="attr_presence_2nd20_physical" value="[[?{1d20 @{presence_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_presence_score">
</div>
<div>
<input type="number" name="attr_presence_cost">
</div>
<div>
<input type="number" name="attr_presence_dice_count" value="">
<select name="attr_presence_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Persuasion}} {{advdis=@{persuasion_adv_text}}} {{dice=@{persuasion_dice_count}@{persuasion_dice_size}}} {{roll=@{persuasion_roll}}}"></button> Persuasion
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_persuasion_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_persuasion_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_persuasion_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_persuasion_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_persuasion_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_persuasion_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_persuasion_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_persuasion_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_persuasion_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_persuasion_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_persuasion_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_persuasion_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_persuasion_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_persuasion_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_persuasion_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_persuasion_adv_count" value="0">
<input type="hidden" name="attr_persuasion_adv_kd" value="kh">
<input type="hidden" name="attr_persuasion_adv_text" value="">
<input type="hidden" name="attr_persuasion_roll" value="@{persuasion_roll_virtual}">
<input type="hidden" name="attr_persuasion_roll_virtual" value="[[1d20!! + {@{persuasion_dice_count}@{persuasion_dice_size}!! + @{persuasion_adv_count}@{persuasion_dice_size}!! }@{persuasion_adv_kd}@{persuasion_dice_count}]]">
<input type="hidden" name="attr_persuasion_roll_physical" value="[[?{1d20 + @{persuasion_dice_count}@{persuasion_dice_size} @{persuasion_adv_text}}]]">
<input type="hidden" name="attr_persuasion_2nd20_virtual" value="[[{2d20!!}@{persuasion_adv_kd}1]]">
<input type="hidden" name="attr_persuasion_2nd20_physical" value="[[?{1d20 @{persuasion_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_persuasion_score">
</div>
<div>
<input type="number" name="attr_persuasion_cost">
</div>
<div>
<input type="number" name="attr_persuasion_dice_count" value="">
<select name="attr_persuasion_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
</div>
<div class="attribute-group-header">Mental</div>
<div class="attribute-group">
<div class="attribute-row">
<div> </div>
<div>Score</div>
<div>Cost</div>
<div>Dice</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Learning}} {{advdis=@{learning_adv_text}}} {{dice=@{learning_dice_count}@{learning_dice_size}}} {{roll=@{learning_roll}}}"></button> Learning
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_learning_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_learning_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_learning_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_learning_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_learning_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_learning_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_learning_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_learning_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_learning_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_learning_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_learning_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_learning_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_learning_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_learning_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_learning_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_learning_adv_count" value="0">
<input type="hidden" name="attr_learning_adv_kd" value="kh">
<input type="hidden" name="attr_learning_adv_text" value="">
<input type="hidden" name="attr_learning_roll" value="@{learning_roll_virtual}">
<input type="hidden" name="attr_learning_roll_virtual" value="[[1d20!! + {@{learning_dice_count}@{learning_dice_size}!! + @{learning_adv_count}@{learning_dice_size}!! }@{learning_adv_kd}@{learning_dice_count}]]">
<input type="hidden" name="attr_learning_roll_physical" value="[[?{1d20 + @{learning_dice_count}@{learning_dice_size} @{learning_adv_text}}]]">
<input type="hidden" name="attr_learning_2nd20_virtual" value="[[{2d20!!}@{learning_adv_kd}1]]">
<input type="hidden" name="attr_learning_2nd20_physical" value="[[?{1d20 @{learning_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_learning_score">
</div>
<div>
<input type="number" name="attr_learning_cost">
</div>
<div>
<input type="number" name="attr_learning_dice_count" value="">
<select name="attr_learning_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Logic}} {{advdis=@{logic_adv_text}}} {{dice=@{logic_dice_count}@{logic_dice_size}}} {{roll=@{logic_roll}}}"></button> Logic
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_logic_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_logic_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_logic_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_logic_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_logic_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_logic_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_logic_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_logic_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_logic_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_logic_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_logic_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_logic_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_logic_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_logic_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_logic_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_logic_adv_count" value="0">
<input type="hidden" name="attr_logic_adv_kd" value="kh">
<input type="hidden" name="attr_logic_adv_text" value="">
<input type="hidden" name="attr_logic_roll" value="@{logic_roll_virtual}">
<input type="hidden" name="attr_logic_roll_virtual" value="[[1d20!! + {@{logic_dice_count}@{logic_dice_size}!! + @{logic_adv_count}@{logic_dice_size}!! }@{logic_adv_kd}@{logic_dice_count}]]">
<input type="hidden" name="attr_logic_roll_physical" value="[[?{1d20 + @{logic_dice_count}@{logic_dice_size} @{logic_adv_text}}]]">
<input type="hidden" name="attr_logic_2nd20_virtual" value="[[{2d20!!}@{logic_adv_kd}1]]">
<input type="hidden" name="attr_logic_2nd20_physical" value="[[?{1d20 @{logic_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_logic_score">
</div>
<div>
<input type="number" name="attr_logic_cost">
</div>
<div>
<input type="number" name="attr_logic_dice_count" value="">
<select name="attr_logic_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Perception}} {{advdis=@{perception_adv_text}}} {{dice=@{perception_dice_count}@{perception_dice_size}}} {{roll=@{perception_roll}}}"></button> Perception
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_perception_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_perception_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_perception_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_perception_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_perception_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_perception_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_perception_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_perception_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_perception_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_perception_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_perception_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_perception_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_perception_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_perception_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_perception_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_perception_adv_count" value="0">
<input type="hidden" name="attr_perception_adv_kd" value="kh">
<input type="hidden" name="attr_perception_adv_text" value="">
<input type="hidden" name="attr_perception_roll" value="@{perception_roll_virtual}">
<input type="hidden" name="attr_perception_roll_virtual" value="[[1d20!! + {@{perception_dice_count}@{perception_dice_size}!! + @{perception_adv_count}@{perception_dice_size}!! }@{perception_adv_kd}@{perception_dice_count}]]">
<input type="hidden" name="attr_perception_roll_physical" value="[[?{1d20 + @{perception_dice_count}@{perception_dice_size} @{perception_adv_text}}]]">
<input type="hidden" name="attr_perception_2nd20_virtual" value="[[{2d20!!}@{perception_adv_kd}1]]">
<input type="hidden" name="attr_perception_2nd20_physical" value="[[?{1d20 @{perception_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_perception_score">
</div>
<div>
<input type="number" name="attr_perception_cost">
</div>
<div>
<input type="number" name="attr_perception_dice_count" value="">
<select name="attr_perception_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Will}} {{advdis=@{will_adv_text}}} {{dice=@{will_dice_count}@{will_dice_size}}} {{roll=@{will_roll}}}"></button> Will
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_will_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_will_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_will_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_will_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_will_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_will_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_will_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_will_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_will_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_will_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_will_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_will_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_will_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_will_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_will_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_will_adv_count" value="0">
<input type="hidden" name="attr_will_adv_kd" value="kh">
<input type="hidden" name="attr_will_adv_text" value="">
<input type="hidden" name="attr_will_roll" value="@{will_roll_virtual}">
<input type="hidden" name="attr_will_roll_virtual" value="[[1d20!! + {@{will_dice_count}@{will_dice_size}!! + @{will_adv_count}@{will_dice_size}!! }@{will_adv_kd}@{will_dice_count}]]">
<input type="hidden" name="attr_will_roll_physical" value="[[?{1d20 + @{will_dice_count}@{will_dice_size} @{will_adv_text}}]]">
<input type="hidden" name="attr_will_2nd20_virtual" value="[[{2d20!!}@{will_adv_kd}1]]">
<input type="hidden" name="attr_will_2nd20_physical" value="[[?{1d20 @{will_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_will_score">
</div>
<div>
<input type="number" name="attr_will_cost">
</div>
<div>
<input type="number" name="attr_will_dice_count" value="">
<select name="attr_will_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
</div>
<div class="attribute-group-header">Extraordinary</div>
<div class="attribute-group">
<div class="attribute-row">
<div> </div>
<div>Score</div>
<div>Cost</div>
<div>Dice</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Alteration}} {{advdis=@{alteration_adv_text}}} {{dice=@{alteration_dice_count}@{alteration_dice_size}}} {{roll=@{alteration_roll}}}"></button> Alteration
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_alteration_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_alteration_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_alteration_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_alteration_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_alteration_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_alteration_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_alteration_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_alteration_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_alteration_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_alteration_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_alteration_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_alteration_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_alteration_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_alteration_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_alteration_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_alteration_adv_count" value="0">
<input type="hidden" name="attr_alteration_adv_kd" value="kh">
<input type="hidden" name="attr_alteration_adv_text" value="">
<input type="hidden" name="attr_alteration_roll" value="@{alteration_roll_virtual}">
<input type="hidden" name="attr_alteration_roll_virtual" value="[[1d20!! + {@{alteration_dice_count}@{alteration_dice_size}!! + @{alteration_adv_count}@{alteration_dice_size}!! }@{alteration_adv_kd}@{alteration_dice_count}]]">
<input type="hidden" name="attr_alteration_roll_physical" value="[[?{1d20 + @{alteration_dice_count}@{alteration_dice_size} @{alteration_adv_text}}]]">
<input type="hidden" name="attr_alteration_2nd20_virtual" value="[[{2d20!!}@{alteration_adv_kd}1]]">
<input type="hidden" name="attr_alteration_2nd20_physical" value="[[?{1d20 @{alteration_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_alteration_score">
</div>
<div>
<input type="number" name="attr_alteration_cost">
</div>
<div>
<input type="number" name="attr_alteration_dice_count" value="">
<select name="attr_alteration_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Creation}} {{advdis=@{creation_adv_text}}} {{dice=@{creation_dice_count}@{creation_dice_size}}} {{roll=@{creation_roll}}}"></button> Creation
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_creation_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_creation_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_creation_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_creation_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_creation_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_creation_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_creation_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_creation_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_creation_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_creation_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_creation_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_creation_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_creation_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_creation_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_creation_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_creation_adv_count" value="0">
<input type="hidden" name="attr_creation_adv_kd" value="kh">
<input type="hidden" name="attr_creation_adv_text" value="">
<input type="hidden" name="attr_creation_roll" value="@{creation_roll_virtual}">
<input type="hidden" name="attr_creation_roll_virtual" value="[[1d20!! + {@{creation_dice_count}@{creation_dice_size}!! + @{creation_adv_count}@{creation_dice_size}!! }@{creation_adv_kd}@{creation_dice_count}]]">
<input type="hidden" name="attr_creation_roll_physical" value="[[?{1d20 + @{creation_dice_count}@{creation_dice_size} @{creation_adv_text}}]]">
<input type="hidden" name="attr_creation_2nd20_virtual" value="[[{2d20!!}@{creation_adv_kd}1]]">
<input type="hidden" name="attr_creation_2nd20_physical" value="[[?{1d20 @{creation_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_creation_score">
</div>
<div>
<input type="number" name="attr_creation_cost">
</div>
<div>
<input type="number" name="attr_creation_dice_count" value="">
<select name="attr_creation_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Energy}} {{advdis=@{energy_adv_text}}} {{dice=@{energy_dice_count}@{energy_dice_size}}} {{roll=@{energy_roll}}}"></button> Energy
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_energy_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_energy_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_energy_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_energy_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_energy_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_energy_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_energy_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_energy_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_energy_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_energy_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_energy_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_energy_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_energy_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_energy_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_energy_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_energy_adv_count" value="0">
<input type="hidden" name="attr_energy_adv_kd" value="kh">
<input type="hidden" name="attr_energy_adv_text" value="">
<input type="hidden" name="attr_energy_roll" value="@{energy_roll_virtual}">
<input type="hidden" name="attr_energy_roll_virtual" value="[[1d20!! + {@{energy_dice_count}@{energy_dice_size}!! + @{energy_adv_count}@{energy_dice_size}!! }@{energy_adv_kd}@{energy_dice_count}]]">
<input type="hidden" name="attr_energy_roll_physical" value="[[?{1d20 + @{energy_dice_count}@{energy_dice_size} @{energy_adv_text}}]]">
<input type="hidden" name="attr_energy_2nd20_virtual" value="[[{2d20!!}@{energy_adv_kd}1]]">
<input type="hidden" name="attr_energy_2nd20_physical" value="[[?{1d20 @{energy_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_energy_score">
</div>
<div>
<input type="number" name="attr_energy_cost">
</div>
<div>
<input type="number" name="attr_energy_dice_count" value="">
<select name="attr_energy_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Entropy}} {{advdis=@{entropy_adv_text}}} {{dice=@{entropy_dice_count}@{entropy_dice_size}}} {{roll=@{entropy_roll}}}"></button> Entropy
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_entropy_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_entropy_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_entropy_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_entropy_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_entropy_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_entropy_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_entropy_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_entropy_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_entropy_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_entropy_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_entropy_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_entropy_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_entropy_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_entropy_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_entropy_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_entropy_adv_count" value="0">
<input type="hidden" name="attr_entropy_adv_kd" value="kh">
<input type="hidden" name="attr_entropy_adv_text" value="">
<input type="hidden" name="attr_entropy_roll" value="@{entropy_roll_virtual}">
<input type="hidden" name="attr_entropy_roll_virtual" value="[[1d20!! + {@{entropy_dice_count}@{entropy_dice_size}!! + @{entropy_adv_count}@{entropy_dice_size}!! }@{entropy_adv_kd}@{entropy_dice_count}]]">
<input type="hidden" name="attr_entropy_roll_physical" value="[[?{1d20 + @{entropy_dice_count}@{entropy_dice_size} @{entropy_adv_text}}]]">
<input type="hidden" name="attr_entropy_2nd20_virtual" value="[[{2d20!!}@{entropy_adv_kd}1]]">
<input type="hidden" name="attr_entropy_2nd20_physical" value="[[?{1d20 @{entropy_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_entropy_score">
</div>
<div>
<input type="number" name="attr_entropy_cost">
</div>
<div>
<input type="number" name="attr_entropy_dice_count" value="">
<select name="attr_entropy_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Influence}} {{advdis=@{influence_adv_text}}} {{dice=@{influence_dice_count}@{influence_dice_size}}} {{roll=@{influence_roll}}}"></button> Influence
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_influence_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_influence_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_influence_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_influence_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_influence_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_influence_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_influence_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_influence_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_influence_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_influence_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_influence_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_influence_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_influence_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_influence_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_influence_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_influence_adv_count" value="0">
<input type="hidden" name="attr_influence_adv_kd" value="kh">
<input type="hidden" name="attr_influence_adv_text" value="">
<input type="hidden" name="attr_influence_roll" value="@{influence_roll_virtual}">
<input type="hidden" name="attr_influence_roll_virtual" value="[[1d20!! + {@{influence_dice_count}@{influence_dice_size}!! + @{influence_adv_count}@{influence_dice_size}!! }@{influence_adv_kd}@{influence_dice_count}]]">
<input type="hidden" name="attr_influence_roll_physical" value="[[?{1d20 + @{influence_dice_count}@{influence_dice_size} @{influence_adv_text}}]]">
<input type="hidden" name="attr_influence_2nd20_virtual" value="[[{2d20!!}@{influence_adv_kd}1]]">
<input type="hidden" name="attr_influence_2nd20_physical" value="[[?{1d20 @{influence_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_influence_score">
</div>
<div>
<input type="number" name="attr_influence_cost">
</div>
<div>
<input type="number" name="attr_influence_dice_count" value="">
<select name="attr_influence_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Movement}} {{advdis=@{movement_adv_text}}} {{dice=@{movement_dice_count}@{movement_dice_size}}} {{roll=@{movement_roll}}}"></button> Movement
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_movement_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_movement_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_movement_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_movement_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_movement_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_movement_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_movement_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_movement_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_movement_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_movement_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_movement_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_movement_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_movement_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_movement_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_movement_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_movement_adv_count" value="0">
<input type="hidden" name="attr_movement_adv_kd" value="kh">
<input type="hidden" name="attr_movement_adv_text" value="">
<input type="hidden" name="attr_movement_roll" value="@{movement_roll_virtual}">
<input type="hidden" name="attr_movement_roll_virtual" value="[[1d20!! + {@{movement_dice_count}@{movement_dice_size}!! + @{movement_adv_count}@{movement_dice_size}!! }@{movement_adv_kd}@{movement_dice_count}]]">
<input type="hidden" name="attr_movement_roll_physical" value="[[?{1d20 + @{movement_dice_count}@{movement_dice_size} @{movement_adv_text}}]]">
<input type="hidden" name="attr_movement_2nd20_virtual" value="[[{2d20!!}@{movement_adv_kd}1]]">
<input type="hidden" name="attr_movement_2nd20_physical" value="[[?{1d20 @{movement_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_movement_score">
</div>
<div>
<input type="number" name="attr_movement_cost">
</div>
<div>
<input type="number" name="attr_movement_dice_count" value="">
<select name="attr_movement_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Prescience}} {{advdis=@{prescience_adv_text}}} {{dice=@{prescience_dice_count}@{prescience_dice_size}}} {{roll=@{prescience_roll}}}"></button> Prescience
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_prescience_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_prescience_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_prescience_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_prescience_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_prescience_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_prescience_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_prescience_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_prescience_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_prescience_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_prescience_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_prescience_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_prescience_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_prescience_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_prescience_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_prescience_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_prescience_adv_count" value="0">
<input type="hidden" name="attr_prescience_adv_kd" value="kh">
<input type="hidden" name="attr_prescience_adv_text" value="">
<input type="hidden" name="attr_prescience_roll" value="@{prescience_roll_virtual}">
<input type="hidden" name="attr_prescience_roll_virtual" value="[[1d20!! + {@{prescience_dice_count}@{prescience_dice_size}!! + @{prescience_adv_count}@{prescience_dice_size}!! }@{prescience_adv_kd}@{prescience_dice_count}]]">
<input type="hidden" name="attr_prescience_roll_physical" value="[[?{1d20 + @{prescience_dice_count}@{prescience_dice_size} @{prescience_adv_text}}]]">
<input type="hidden" name="attr_prescience_2nd20_virtual" value="[[{2d20!!}@{prescience_adv_kd}1]]">
<input type="hidden" name="attr_prescience_2nd20_physical" value="[[?{1d20 @{prescience_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_prescience_score">
</div>
<div>
<input type="number" name="attr_prescience_cost">
</div>
<div>
<input type="number" name="attr_prescience_dice_count" value="">
<select name="attr_prescience_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
<div class="attribute-row">
<div>
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=Protection}} {{advdis=@{protection_adv_text}}} {{dice=@{protection_dice_count}@{protection_dice_size}}} {{roll=@{protection_roll}}}"></button> Protection
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_protection_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_protection_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_protection_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_protection_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_protection_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_protection_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_protection_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_protection_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_protection_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_protection_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_protection_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_protection_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_protection_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_protection_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_protection_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="hidden" name="attr_protection_adv_count" value="0">
<input type="hidden" name="attr_protection_adv_kd" value="kh">
<input type="hidden" name="attr_protection_adv_text" value="">
<input type="hidden" name="attr_protection_roll" value="@{protection_roll_virtual}">
<input type="hidden" name="attr_protection_roll_virtual" value="[[1d20!! + {@{protection_dice_count}@{protection_dice_size}!! + @{protection_adv_count}@{protection_dice_size}!! }@{protection_adv_kd}@{protection_dice_count}]]">
<input type="hidden" name="attr_protection_roll_physical" value="[[?{1d20 + @{protection_dice_count}@{protection_dice_size} @{protection_adv_text}}]]">
<input type="hidden" name="attr_protection_2nd20_virtual" value="[[{2d20!!}@{protection_adv_kd}1]]">
<input type="hidden" name="attr_protection_2nd20_physical" value="[[?{1d20 @{protection_adv_text}}]]">
</div>
<div>
<input type="number" name="attr_protection_score">
</div>
<div>
<input type="number" name="attr_protection_cost">
</div>
<div>
<input type="number" name="attr_protection_dice_count" value="">
<select name="attr_protection_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="stats-actions-feats">
<div class="section stats">
<div class="defenses">
<div class="guard">
<div class="score">
<label for="attr_guard_score">Guard</label>
<input type="number" placeholder="10" name="attr_guard_score">
</div>
<div class="components">
<div><label for="attr_guard_agility">Agility</label><input type="number" name="attr_guard_agility"></div>
<div><label for="attr_guard_might">Might</label><input type="number" name="attr_guard_might"></div>
<div><label for="attr_guard_armor">Armor</label><input type="number" name="attr_guard_armor"></div>
<div><label for="attr_guard_other">Other</label><input type="number" name="attr_guard_other"></div>
</div>
</div>
<div class="toughness">
<div class="score">
<label for="attr_toughness_score">Toughness</label>
<input type="number" placeholder="10" name="attr_toughness_score">
</div>
<div class="components">
<div><label for="attr_toughness_fortitude">Fortitude</label><input type="number" name="attr_toughness_fortitude"></div>
<div><label for="attr_toughness_will">Will</label><input type="number" name="attr_toughness_will"></div>
<div><label for="attr_toughness_other">Other</label><input type="number" name="attr_toughness_other"></div>
</div>
</div>
<div class="resolve">
<div class="score">
<label for="attr_resolve_score">Resolve</label>
<input type="number" placeholder="10" name="attr_resolve_score">
</div>
<div class="components">
<div><label for="attr_resolve_presence">Presence</label><input type="number" name="attr_resolve_presence"></div>
<div><label for="attr_resolve_will">Will</label><input type="number" name="attr_resolve_will"></div>
<div><label for="attr_resolve_other">Other</label><input type="number" name="attr_resolve_other"></div>
</div>
</div>
</div>
<div class="other">
<div class="hitpoints">
<div class="header">Hit Points</div>
<div>
<div class="current score">
<label for="attr_hitpoints_current">Current</label>
<input type="number" placeholder="10" name="attr_hitpoints_current">
</div>
<div class="lethal score">
<label for="attr_lethal_damage">Lethal</label>
<input type="number" placeholder="0" name="attr_lethal_damage">
</div>
<div class="max score">
<label for="attr_hitpoints_max">Max</label>
<input type="number" placeholder="10" name="attr_hitpoints_max">
</div>
</div>
</div>
<div class="lp-speed">
<div class="legend-points score">
<label for="attr_legendpoints">Legend Points</label>
<input type="number" placeholder="0" name="attr_legendpoints">
</div>
<div class="speed score">
<label for="attr_speed">Speed</label>
<input type="number" placeholder="30" name="attr_speed">
</div>
</div>
<div class="wealth">
<div class="score">
<label for="attr_wealth">Wealth</label>
<input type="number" placeholder="2" name="attr_wealth">
</div>
</div>
</div>
</div>
<div class="section actions">
<div class="header">Actions</div>
<fieldset class="repeating_actions">
<div class="action-info">
<div class="text-field">
<input type="text" placeholder="Action Name" name="attr_action_name">
</div>
<div class="drop-down">
<select name="attr_action_type_selector">
<option value="0" selected="selected">Bane</option>
<option value="1">Boon</option>
</select>
</div>
<input type="hidden" name="attr_action_type" value="bane">
<div class="drop-down">
<div class="drop-down">
<select name="attr_action_attribute">
<optgroup label="Please Select">
<option>- Attribute -</option>
</optgroup>
<optgroup label="Physical">
<option>Agility</option>
<option>Fortitude</option>
<option>Might</option>
</optgroup>
<optgroup label="Social">
<option>Deception</option>
<option>Presence</option>
<option>Persuasion</option>
</optgroup>
<optgroup label="Mental">
<option>Learning</option>
<option>Logic</option>
<option>Perception</option>
<option>Will</option>
</optgroup>
<optgroup label="Extraordinary">
<option>Alteration</option>
<option>Creation</option>
<option>Energy</option>
<option>Entropy</option>
<option>Influence</option>
<option>Movement</option>
<option>Prescience</option>
<option>Protection</option>
</optgroup>
<optgroup label="Other">
<option>Other</option>
</optgroup>
</select>
</div>
</div>
<div class="vs is-bane">vs.</div>
<div class="drop-down is-bane">
<select name="attr_action_bane_target">
<option>Guard</option>
<option>Toughness</option>
<option>Resolve</option>
</select>
</div>
<div class="is-boon">PL</div>
<div class="number-field is-boon">
<input type="number" placeholder="Min" name="attr_action_minpl">
</div>
<div class="is-boon">to</div>
<div class="number-field is-boon">
<input type="number" placeholder="Max" name="attr_action_maxpl">
</div>
</div>
<div class="action-details">
<div class="text-field dice">
<button type="roll" value="&{template:olmin-attr} {{character_name=@{character_name}}} {{name=@{action_name}}} {{isboon=[[@{action_type_selector}]]}} {{source=@{action_attribute}}} {{minpl=[[@{action_minpl_calc}]]}} {{maxpl=[[@{action_maxpl_calc}]]}} {{target=@{action_bane_target}}} {{advdis=@{action_adv_text}}} {{dice=@{action_dice_count}@{action_dice_size}}} {{roll=@{action_roll}}} {{roll2=@{action_2nd20}}} {{notes=@{action_notes}}}"></button>
<div class="advantage-disadvantage">
<div class="labels"><div>Disadvantage</div><div>Advantage</div></div>
<div class="inputs">
<div><input type="radio" value="-1" name="attr_action_toggle">
<label>-</label></div>
<div><input type="radio" value="0" name="attr_action_advdis" checked="checked">
<label>0</label></div>
<div><input type="radio" value="1" name="attr_action_advdis">
<label>1</label></div>
<div><input type="radio" value="2" name="attr_action_advdis">
<label>2</label></div>
<div><input type="radio" value="3" name="attr_action_advdis">
<label>3</label></div>
<div><input type="radio" value="4" name="attr_action_advdis">
<label>4</label></div>
<div><input type="radio" value="5" name="attr_action_advdis">
<label>5</label></div>
<div><input type="radio" value="6" name="attr_action_advdis">
<label>6</label></div>
<div><input type="radio" value="7" name="attr_action_advdis">
<label>7</label></div>
<div><input type="radio" value="8" name="attr_action_advdis">
<label>8</label></div>
<div><input type="radio" value="9" name="attr_action_advdis">
<label>9</label></div>
<div><input type="radio" value="10" name="attr_action_advdis">
<label>10</label></div>
<div><input type="radio" value="11" name="attr_action_advdis">
<label>11</label></div>
<div><input type="radio" value="12" name="attr_action_advdis">
<label>12</label></div>
<div><input type="radio" value="1" name="attr_action_toggle" checked="checked">
<label>+</label></div>
</div>
</div>
<input type="number" name="attr_action_dice_count" value="">
<select name="attr_action_dice_size">
<option selected="selected"></option>
<option>d4</option>
<option>d6</option>
<option>d8</option>
<option>d10</option>
</select>
<input type="hidden" name="attr_action_adv_count" value="0">
<input type="hidden" name="attr_action_adv_kd" value="kh">
<input type="hidden" name="attr_action_adv_text" value="">
<input type="hidden" name="attr_action_adv_no_score" value="[[{2d20!!}@{action_adv_kd}1]]">
<input type="hidden" name="attr_action_roll" value="@{action_roll_virtual}">
<input type="hidden" name="attr_action_roll_virtual" value="[[1d20!! + {@{action_dice_count}@{action_dice_size}!! + @{action_adv_count}@{action_dice_size}!! }@{action_adv_kd}@{action_dice_count}]]">
<input type="hidden" name="attr_action_roll_physical" value="[[?{1d20 + @{action_dice_count}@{action_dice_size} @{action_adv_text}}]]">
<input type="hidden" name="attr_action_2nd20" value="">
<input type="hidden" name="attr_action_2nd20_virtual" value="@{action_adv_no_score}">
<input type="hidden" name="attr_action_2nd20_physical" value="[[?{1d20 with @{action_adv_text}}]]">
<!-- Better physical prompt: [[?{1d20 with @{action_adv_text}}]] -->
<input type="hidden" name="attr_action_maxpl_calc" value="-1">
<input type="hidden" name="attr_action_minpl_calc" value="-1">
</div>
<div class="text-field">
<textarea placeholder="Notes" style="height: 1.35em; width: 100%;" name="attr_action_notes"></textarea>
</div>
</div>
</fieldset>
</div>
<div class="section feats-perks-flaws">
<div class="feats">
<div class="section-header">
<div class="header">Feats</div>
<div class="points">
<div class="header-field"><label for="attr_feat_total_points">Total Points</label><input type="text" name="attr_feat_total_points"></div>
<div class="header-field"><label for="attr_feat_points_spent">Total Spent</label><input type="text" name="attr_feat_points_spent"></div>
</div>
</div>
<fieldset class="repeating_feats">
<div class="text-field">
<textarea placeholder="Feat Description" name="attr_feat_description"></textarea>
</div>
<div class="number-field">
<input type="number" placeholder="Pts" name="attr_feat_cost">
</div>
</fieldset>
</div>
<div class="perks-flaws">
<div class="perks">
<div class="header">Perks</div>
<fieldset class="repeating_perks">
<div class="text-field">
<textarea placeholder="Perk Description" name="attr_perk_description"></textarea>
</div>
</fieldset>
</div>
<div class="flaws">
<div class="header">Flaws</div>
<fieldset class="repeating_flaws">
<div class="text-field">
<textarea placeholder="Flaw Description" name="attr_flaw_description"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="section inventory">
<div class="header">Inventory</div>
<fieldset class="repeating_inventory">
<div class="text-field">
<textarea placeholder="Item Description" name="attr_item_description"></textarea>
</div>
<div class="checkboxes">
<label for="attr_item_is_bulky"><input type="checkbox" value="bulky" name="attr_item_is_bulky">Bulky</label>
<label for="attr_item_is_heavy"><input type="checkbox" value="heavy" name="attr_item_is_heavy">Heavy</label>
</div>
</fieldset>
</div>
</div>
</div>
<rolltemplate class="sheet-rolltemplate-olmin-attr">
<div class="table">
<div class="template-name">{{name}}</div>
<div>{{character_name}}</div>
<div><em>1d20{{#dice}} + {{dice}}{{/dice}}</em></div>
{{#source}}
<div><strong>{{source}}</strong> <em>vs.</em> <strong>
{{#rollTotal() isboon 1}}
Boon
{{/rollTotal() isboon 1}}
{{#rollTotal() isboon 0}}
{{target}}
{{/rollTotal() isboon 0}}
</strong></div>
{{/source}}
{{#advdis}}
<div><em>{{advdis}}</em></div>
{{/advdis}}
<div class="roll">
{{roll}}
</div>
{{#rollTotal() isboon 1}}
<div class="pl">Power Level</div>
<div class="pl">
{{#rollLess() minpl 1}}
{{#rollGreater() maxpl -1}}
{{#rollBetween() roll 10 11}}<span class="pl-limit">0</span>{{/rollBetween() roll 10 11}}
{{#rollGreater() roll 11}}<span class="pl-pass">0</span>{{/rollGreater() roll 11}}
{{#rollLess() roll 10}}<span class="pl-fail">0</span>{{/rollLess() roll 10}}
{{/rollGreater() maxpl -1}}
{{/rollLess() minpl 1}}
{{#rollLess() minpl 2}}
{{#rollGreater() maxpl 0}}
{{#rollBetween() roll 12 13}}<span class="pl-limit">1</span>{{/rollBetween() roll 12 13}}
{{#rollGreater() roll 13}}<span class="pl-pass">1</span>{{/rollGreater() roll 13}}
{{#rollLess() roll 12}}<span class="pl-fail">1</span>{{/rollLess() roll 12}}
{{/rollGreater() maxpl 0}}
{{/rollLess() minpl 2}}
{{#rollLess() minpl 3}}
{{#rollGreater() maxpl 1}}
{{#rollBetween() roll 14 15}}<span class="pl-limit">2</span>{{/rollBetween() roll 14 15}}
{{#rollGreater() roll 15}}<span class="pl-pass">2</span>{{/rollGreater() roll 15}}
{{#rollLess() roll 14}}<span class="pl-fail">2</span>{{/rollLess() roll 14}}
{{/rollGreater() maxpl 1}}
{{/rollLess() minpl 3}}
{{#rollLess() minpl 4}}
{{#rollGreater() maxpl 2}}
{{#rollBetween() roll 16 17}}<span class="pl-limit">3</span>{{/rollBetween() roll 16 17}}
{{#rollGreater() roll 17}}<span class="pl-pass">3</span>{{/rollGreater() roll 17}}
{{#rollLess() roll 16}}<span class="pl-fail">3</span>{{/rollLess() roll 16}}
{{/rollGreater() maxpl 2}}
{{/rollLess() minpl 4}}
{{#rollLess() minpl 5}}
{{#rollGreater() maxpl 3}}
{{#rollBetween() roll 18 19}}<span class="pl-limit">4</span>{{/rollBetween() roll 18 19}}
{{#rollGreater() roll 19}}<span class="pl-pass">4</span>{{/rollGreater() roll 19}}
{{#rollLess() roll 18}}<span class="pl-fail">4</span>{{/rollLess() roll 18}}
{{/rollGreater() maxpl 3}}
{{/rollLess() minpl 5}}
{{#rollLess() minpl 6}}
{{#rollGreater() maxpl 4}}
{{#rollBetween() roll 20 21}}<span class="pl-limit">5</span>{{/rollBetween() roll 20 21}}
{{#rollGreater() roll 21}}<span class="pl-pass">5</span>{{/rollGreater() roll 21}}
{{#rollLess() roll 20}}<span class="pl-fail">5</span>{{/rollLess() roll 20}}
{{/rollGreater() maxpl 4}}
{{/rollLess() minpl 6}}
{{#rollLess() minpl 7}}
{{#rollGreater() maxpl 5}}
{{#rollBetween() roll 22 23}}<span class="pl-limit">6</span>{{/rollBetween() roll 22 23}}
{{#rollGreater() roll 23}}<span class="pl-pass">6</span>{{/rollGreater() roll 23}}
{{#rollLess() roll 22}}<span class="pl-fail">6</span>{{/rollLess() roll 22}}
{{/rollGreater() maxpl 5}}
{{/rollLess() minpl 7}}
{{#rollLess() minpl 8}}
{{#rollGreater() maxpl 6}}
{{#rollBetween() roll 24 25}}<span class="pl-limit">7</span>{{/rollBetween() roll 24 25}}
{{#rollGreater() roll 25}}<span class="pl-pass">7</span>{{/rollGreater() roll 25}}
{{#rollLess() roll 24}}<span class="pl-fail">7</span>{{/rollLess() roll 24}}
{{/rollGreater() maxpl 6}}
{{/rollLess() minpl 8}}
{{#rollLess() minpl 9}}
{{#rollGreater() maxpl 7}}
{{#rollBetween() roll 26 27}}<span class="pl-limit">8</span>{{/rollBetween() roll 26 27}}
{{#rollGreater() roll 27}}<span class="pl-pass">8</span>{{/rollGreater() roll 27}}
{{#rollLess() roll 26}}<span class="pl-fail">8</span>{{/rollLess() roll 26}}
{{/rollGreater() maxpl 7}}
{{/rollLess() minpl 9}}
{{#rollLess() minpl 10}}
{{#rollGreater() maxpl 8}}
{{#rollGreater() roll 27}}<span class="pl-limit">9</span>{{/rollGreater() roll 27}}
{{#rollLess() roll 28}}<span class="pl-fail">9</span>{{/rollLess() roll 28}}
{{/rollGreater() maxpl 8}}
{{/rollLess() minpl 10}}
</div>
{{/rollTotal() isboon 1}}
{{#notes}}
<div style="letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em;">
<div style="max-height: 120px; letter-spacing: normal; word-spacing: normal; text-align: center; overflow-y: auto; padding: 0.5em;">{{notes}}</div>
</div>
{{/notes}}
</div>
</rolltemplate>
<script type="text/worker">
const attrCost = [ 0, 1, 3, 6, 10, 15, 21, 28, 36, 45 ];
const diceTable = [ "", "1d4", "1d6", "1d8", "1d10", "2d6", "2d8", "2d10", "3d8", "3d10", "4d8" ];
const attributeSyncs = {
"agility_score": [ "guard_agility" ],
"might_score": [ "guard_might" ],
"fortitude_score": [ "toughness_fortitude" ],
"will_score": [ "toughness_will", "resolve_will" ],
"presence_score": [ "resolve_presence" ]
};
var togglePhysicalDice = function(eventInfo) {
var attrs = [ eventInfo.sourceAttribute,
"agility_roll", "fortitude_roll", "might_roll",
"deception_roll", "presence_roll", "persuasion_roll",
"learning_roll", "logic_roll", "perception_roll", "will_roll",
"alteration_roll", "creation_roll", "energy_roll", "entropy_roll",
"influence_roll", "movement_roll", "prescience_roll", "protection_roll"
];
getAttrs(attrs, function(values){
var pv = values[eventInfo.sourceAttribute] == "physical" ? "physical" : "virtual";
var rollAttrs = {};
for(var i=1;i < attrs.length;i++) {
rollAttrs[attrs[i]] = values[attrs[i]].replace(/physical|virtual/, pv);
}
setAttrs(rollAttrs);
});
};
var updatePhysicalActionDice = function(eventInfo) {
getAttrs([eventInfo.sourceAttribute, "use_physical_dice"], function(values){
var pv = values["use_physical_dice"] == "physical" ? "physical" : "virtual";
getSectionIDs("repeating_actions", function(actionIDs){
for(var i=0; i < actionIDs.length; i++) {
var id = actionIDs[i];
var actionRoll = "repeating_actions_" + id + "_action_roll";
getAttrs(["repeating_actions_action_roll", actionRoll], function(values){
var actionRoll = Object.keys(values)[1];
attrs = {};
attrs[actionRoll] = values[actionRoll].replace(/physical|virtual/, pv);
setAttrs(attrs);
});
}
});
});
};
var sumValues = function(values) {
var total = 0;
for( var attr in values ) {
if( values.hasOwnProperty( attr ) ) {
total += parseInt( values[attr] ) || 0;
}
}
return total;
};
var splitDice = function(dice) {
return dice.match(/(\d)(d\d+)/)
};
var diceForAttributeScore = function(score) {
if (score < 0) {
score = 0;
} else if (score > 10) {
score = 10;
}
return diceTable[score];
};
var costForAttributeScore = function(score) {
if (score < 0) {
score = 0;
} else if (score > 9) {
score = 9;
}
return attrCost[score];
};
var updateRoll = function(attrBase) {
var attrAdvCount = attrBase + "_adv_count";
var attrDiceCount = attrBase + "_dice_count";
var attrRoll = attrBase + "_roll";
getAttrs([attrDiceCount, attrAdvCount, attrRoll], function(v) {
var hasAdv = v[attrAdvCount] != "0";
var diceCount = parseInt(v[attrDiceCount]);
var hasDice = !isNaN(diceCount) && diceCount > 0;
var roll = v[attrRoll];
attrs = {};
if( hasAdv && !hasDice ){
attrs[attrRoll] = roll.replace(/_roll/, "_2nd20");
} else {
attrs[attrRoll] = roll.replace(/_2nd20/, "_roll");
}
setAttrs(attrs);
});
};
var calculateAttribute = function(eventInfo) {
var sourceAttr = eventInfo.sourceAttribute;
var attrAdv = sourceAttr.replace(/_score/, "adv_count");
getAttrs([eventInfo.sourceAttribute, attrAdv, "use_physical_dice"], function(v){
var attribute = sourceAttr.replace(/_score/, "");
var costAttr = sourceAttr.replace(/score/, "cost");
var rollAttr = sourceAttr.replace(/score/, "roll");
var diceCountAttr = sourceAttr.replace(/score/, "dice_count");
var diceSizeAttr = sourceAttr.replace(/score/, "dice_size");
var hasAdv = v[attrAdv] == "0";
var pv = v["use_physical_dice"] == "physical" ? "physical" : "virtual";
var score = parseInt(v[sourceAttr]);
var values = {};
values[costAttr] = costForAttributeScore(score);
var diceForAttrs = diceForAttributeScore(score);
if ( diceForAttrs.match(/\d+d\d+/) ) {
dice = splitDice(diceForAttrs);
} else {
dice = [ "", "", "-" ];
}
values[diceCountAttr] = dice[1];
values[diceSizeAttr] = dice[2];
values[rollAttr] = "@{" + rollAttr + "_" + pv + "}";
if(hasAdv) {
var hasScore = parseInt(dice[1]);
if( hasScore == undefined || hasScore < 1 ) {
values[rollAttr] = values[rollAttr].replace(/roll/, "2nd20");
}
}
setAttrs(values);
getSectionIDs("repeating_actions", function(actionIDs){
for(var i=0; i < actionIDs.length; i++) {
var id = actionIDs[i];
var actionAttribute = "repeating_actions_" + id + "_action_attribute";
var actionMaxPL = "repeating_actions_" + id + "_action_maxpl";
getAttrs([ actionAttribute, actionMaxPL ], function(actionValues) {
var actionAttribute = Object.keys(actionValues)[0]
var actionAttributeValue = actionValues[actionAttribute];
var actionMaxPL = Object.keys(actionValues)[1]
var maxPL = parseInt(actionValues[actionMaxPL]);
if (actionAttributeValue !== undefined &&
actionAttributeValue.toLowerCase() == attribute) {
var actionMaxPL = actionMaxPL + "_calc";
var maxPLCalc = 0;
if(!isNaN(maxPL) && !isNaN(score)) {
maxPLCalc = score > maxPL ? maxPL : score;
}
var diceAttrValue = {};
diceAttrValue[actionMaxPL] = maxPLCalc;
setAttrs(diceAttrValue);
}
});
}
});
});
};
var calculateAttributeCostTotal = function(eventInfo) {
getAttrs([
"agility_cost", "fortitude_cost", "might_cost",
"deception_cost", "presence_cost", "persuasion_cost",
"learning_cost", "logic_cost", "perception_cost", "will_cost",
"alteration_cost", "creation_cost", "energy_cost", "entropy_cost",
"influence_cost", "movement_cost", "prescience_cost", "protection_cost"
], function(values) {
var total = sumValues(values);
setAttrs({
"attribute_points_spent": total
});
});
};
var syncScore = function(eventInfo) {
var src = eventInfo.sourceAttribute;
var destAttributes = attributeSyncs[src];
getAttrs([ src ], function(values) {
var destValues = {};
for( var sync in destAttributes ) {
destValues[ destAttributes[sync] ] = values[src];
}
setAttrs(destValues);
});
};
var updateDiceFields = function(eventInfo) {
var src = eventInfo.sourceAttribute;
var attribute = src.replace(/_dice.*/, "");
var attrDiceCount = attribute + "_dice_count";
var attrDiceSize = attribute + "_dice_size";
var attrDiceRoll = attribute + "_roll";
var attrAdvCount = attribute + "_adv_count";
getAttrs([ "repeating_actions_action_attribute", attrDiceCount, attrDiceSize, attrDiceRoll ], function(values) {
var diceCount = values[attrDiceCount];
var diceSize = values[attrDiceSize];
var diceAttrs = {};
if (diceCount !== undefined && diceSize !== "-") {
diceAttrs[attrDiceCount] = diceCount;
diceAttrs[attrDiceSize] = diceSize;
} else {
diceAttrs[attrDiceCount] = "0";
diceAttrs[attrDiceSize] = "-";
}
updateRoll(attribute);
getSectionIDs("repeating_actions", function(actionIDs){
for(var i=0; i < actionIDs.length; i++) {
var id = actionIDs[i];
var actionAttribute = "repeating_actions_" + id + "_action_attribute";
getAttrs([ actionAttribute ], function(actionValues) {
var actionAttribute = Object.keys(actionValues)[0]
var actionAttributeValue = actionValues[actionAttribute];
if (actionAttributeValue !== undefined &&
actionAttributeValue.toLowerCase() == attribute) {
var actionDiceCount = actionAttribute.replace(/_attribute/, "_dice_count");
var actionDiceSize = actionAttribute.replace(/_attribute/, "_dice_size");
var diceAttrValue = {};
diceAttrValue[actionDiceCount] = diceAttrs[attrDiceCount];
diceAttrValue[actionDiceSize] = diceAttrs[attrDiceSize];
setAttrs(diceAttrValue);
}
});
}
});
});
};
on("change:xp", function(eventInfo) {
getAttrs([eventInfo.sourceAttribute], function(values) {
var xp = parseInt(values[eventInfo.sourceAttribute]);
var level = 1 + Math.floor( (xp / 3) );
var attributePoints = 40 + (3 * xp);
var featPoints = 6 + xp;
var maxScore = 4 + Math.ceil( level / 2 );
setAttrs({
"attribute_total_points": attributePoints,
"attribute_max_score": maxScore,
"feat_total_points": featPoints,
"level": level
});
});
});
on("change:agility_score change:fortitude_score change:might_score \
change:deception_score change:presence_score change:persuasion_score \
change:learning_score change:logic_score change:perception_score change:will_score \
change:alteration_score change:creation_score change:energy_score change:entropy_score \
change:influence_score change:movement_score change:prescience_score change:protection_score",
calculateAttribute);
on("change:agility_cost change:fortitude_cost change:might_cost \
change:deception_cost change:presence_cost change:persuasion_cost \
change:learning_cost change:logic_cost change:perception_cost change:will_cost \
change:alteration_cost change:creation_cost change:energy_cost change:entropy_cost \
change:influence_cost change:movement_cost change:prescience_cost change:protection_cost",
calculateAttributeCostTotal);
on("change:agility_dice_count change:fortitude_dice_count change:might_dice_count \
change:deception_dice_count change:presence_dice_count change:persuasion_dice_count \
change:learning_dice_count change:logic_dice_count change:perception_dice_count change:will_dice_count \
change:alteration_dice_count change:creation_dice_count change:energy_dice_count change:entropy_dice_count \
change:influence_dice_count change:movement_dice_count change:prescience_dice_count change:protection_dice_count \
change:agility_dice_size change:fortitude_dice_size change:might_dice_size \
change:deception_dice_size change:presence_dice_size change:persuasion_dice_size \
change:learning_dice_size change:logic_dice_size change:perception_dice_size change:will_dice_size \
change:alteration_dice_size change:creation_dice_size change:energy_dice_size change:entropy_dice_size \
change:influence_dice_size change:movement_dice_size change:prescience_dice_size change:protection_dice_size",
updateDiceFields);
on("change:agility_score change:might_score change:fortitude_score change:will_score change:presence_score",
syncScore);
on("change:guard_agility change:guard_might change:guard_armor change:guard_other", function(eventInfo) {
getAttrs( ["guard_agility", "guard_might", "guard_armor", "guard_other"], function(values) {
var score = 10 + sumValues(values);
setAttrs({
"guard_score": score
});
})
});
on("change:toughness_fortitude change:toughness_will change:toughness_other", function(eventInfo) {
getAttrs( ["toughness_fortitude", "toughness_will", "toughness_other"], function(values) {
var score = 10 + sumValues(values);
setAttrs({
"toughness_score": score
});
})
});
on("change:resolve_presence change:resolve_will change:resolve_other", function(eventInfo) {
getAttrs( ["resolve_presence", "resolve_will", "resolve_other"], function(values) {
var score = 10 + sumValues(values);
setAttrs({
"resolve_score": score
});
})
});
on("change:fortitude_score change:presence_score change:will_score", function(eventInfo) {
getAttrs( ["fortitude_score", "presence_score", "will_score"], function(values) {
var scores = sumValues(values);
var hitpoints = 10 + (2 * scores);
setAttrs({
"hitpoints_max": hitpoints
});
})
});
on("change:repeating_actions:action_attribute", function(eventInfo) {
getAttrs([ eventInfo.sourceAttribute ], function(values) {
var actionAttribute = values[eventInfo.sourceAttribute];
if (actionAttribute !== undefined) {
var attrDiceCount = actionAttribute.toLowerCase() + "_dice_count";
var attrDiceSize = actionAttribute.toLowerCase() + "_dice_size";
var attrScore = actionAttribute.toLowerCase() + "_score";
var attrMaxPL = eventInfo.sourceAttribute.replace(/_attribute/, "_maxpl");
getAttrs([ attrDiceCount, attrDiceSize, attrScore, attrMaxPL ], function(attributeValue) {
var attrMaxPL2 = eventInfo.sourceAttribute.replace(/_attribute/, "_maxpl");
var diceCount = attributeValue[attrDiceCount];
var diceSize = attributeValue[attrDiceSize];
var score = parseInt(attributeValue[attrScore]);
var maxPL = parseInt(attributeValue[attrMaxPL2]);
var maxPLCalc = 0;
if(!isNaN(maxPL) && !isNaN(score)) {
maxPLCalc = score > maxPL ? maxPL : score;
}
var actionDiceCount = eventInfo.sourceAttribute.replace(/_attribute/, "_dice_count");
var actionDiceSize = eventInfo.sourceAttribute.replace(/_attribute/, "_dice_size");
var actionMaxPL = attrMaxPL2 + "_calc";
var diceAttrValue = {};
diceAttrValue[actionDiceCount] = diceCount;
diceAttrValue[actionDiceSize] = diceSize;
diceAttrValue[actionMaxPL] = maxPLCalc;
setAttrs(diceAttrValue);
});
}
});
});
on("change:repeating_actions:action_type_selector", function(eventInfo) {
getAttrs([ eventInfo.sourceAttribute ], function(values) {
var type = parseInt(values[eventInfo.sourceAttribute]);
var attr = eventInfo.sourceAttribute.replace(/_selector/, "");
attrs = {};
attrs[attr] = type == 0 ? "bane" : "boon";
setAttrs(attrs);
});
});
on("change:repeating_actions:action_minpl", function(eventInfo) {
getAttrs([ eventInfo.sourceAttribute ], function(values) {
var val = parseInt(values[eventInfo.sourceAttribute]);
var attr = eventInfo.sourceAttribute + "_calc";
var attrs = {};
attrs[attr] = val ? val : -1;
setAttrs(attrs);
});
});
on("change:repeating_actions:action_maxpl", function(eventInfo) {
var attribute = eventInfo.sourceAttribute.replace(/_maxpl/, "_attribute");
getAttrs([ attribute ], function(attrValues) {
var actionAttribute = attrValues[attribute];
var attrScore = actionAttribute.toLowerCase() + "_score";
getAttrs([ eventInfo.sourceAttribute, attrScore ], function(values) {
var val = parseInt(values[eventInfo.sourceAttribute]);
var score = parseInt(values[attrScore]);
var attr = eventInfo.sourceAttribute + "_calc";
var maxPLCalc = 0;
if(!isNaN(val) && !isNaN(score)) {
maxPLCalc = score > val ? val : score;
}
var attrs = {};
attrs[attr] = maxPLCalc;
setAttrs(attrs);
});
});
});
on("change:repeating_feats:feat_cost", function(eventInfo) {
getSectionIDs("repeating_feats", function(featIDs){
var featAttributes = [];
for(var i=0; i < featIDs.length; i++) {
var id = featIDs[i];
featAttributes.push("repeating_feats_" + id + "_feat_cost");
}
getAttrs(featAttributes, function(featValues) {
var featCost = sumValues(featValues);
setAttrs({
"feat_points_spent": featCost
});
});
});
});
on("change:repeating_actions:action_dice_count change:repeating_actions:action_dice_size", function(eventInfo) {
var attrBase = eventInfo.sourceAttribute.replace(/_dice_.+/, "");
updateRoll(attrBase);
});
var updateToggle = function(eventInfo) {
var attrBase = eventInfo.sourceAttribute.replace(/_toggle/, "");
var attrRoll = attrBase + "_roll";
var attrAdvDis = attrBase + "_advdis";
getAttrs([eventInfo.sourceAttribute, attrRoll, attrAdvDis], function(values){
var toggle = parseInt(values[eventInfo.sourceAttribute]);
var advdis = parseInt(values[attrBase + "_advdis"]);
var attrAdvBase = attrAdvDis.replace(/dis$/, "");
advdis = toggle * advdis;
var attrs = {};
attrs[attrAdvBase + "_count"] = Math.abs(advdis);
attrs[attrAdvBase + "_kd"] = " + 0*";
attrs[attrAdvBase + "_text"] = "";
if(advdis != 0) {
if (toggle < 0) {
attrs[attrAdvBase + "_kd"] = "kl";
attrs[attrAdvBase + "_text"] = "(Disadvantage @{" + attrAdvBase.replace(/repeating_actions_.+_action/, "action") + "_count})";
} else if(toggle > 0) {
attrs[attrAdvBase + "_kd"] = "kh";
attrs[attrAdvBase + "_text"] = "(Advantage @{" + attrAdvBase.replace(/repeating_actions_.+_action/, "action") + "_count})";
}
}
setAttrs(attrs);
});
}
var updateAdvDis = function(eventInfo) {
var attrBase = eventInfo.sourceAttribute.replace(/_advdis/, "");
var attrRoll = attrBase + "_roll";
var attrToggle = attrBase + "_toggle";
getAttrs([eventInfo.sourceAttribute, attrRoll, attrToggle], function(values){
var advdis = parseInt(values[eventInfo.sourceAttribute]);
var attrAdvBase = eventInfo.sourceAttribute.replace(/dis$/, "");
var toggle = parseInt(values[attrBase + "_toggle"]);
advdis = toggle * advdis;
var attrs = {};
attrs[attrAdvBase + "_count"] = Math.abs(advdis);
attrs[attrAdvBase + "_kd"] = " + 0*";
attrs[attrAdvBase + "_text"] = "";
if(advdis != 0) {
if (toggle < 0) {
attrs[attrAdvBase + "_kd"] = "kl";
attrs[attrAdvBase + "_text"] = "(Disadvantage @{" + attrAdvBase.replace(/repeating_actions_.+_action/, "action") + "_count})";
} else if(toggle > 0) {
attrs[attrAdvBase + "_kd"] = "kh";
attrs[attrAdvBase + "_text"] = "(Advantage @{" + attrAdvBase.replace(/repeating_actions_.+_action/, "action") + "_count})";
}
}
setAttrs(attrs);
});
}
on("change:use_physical_dice", togglePhysicalDice);
on("change:repeating_actions change:use_physical_dice", updatePhysicalActionDice);
on("change:repeating_actions:action_advdis \
change:agility_advdis change:fortitude_advdis change:might_advdis \
change:deception_advdis change:presence_advdis change:persuasion_advdis \
change:learning_advdis change:logic_advdis change:perception_advdis change:will_advdis \
change:alteration_advdis change:creation_advdis change:energy_advdis change:entropy_advdis \
change:influence_advdis change:movement_advdis change:prescience_advdis change:protection_advdis",
updateAdvDis);
on("change:repeating_actions:action_toggle \
change:agility_toggle change:fortitude_toggle change:might_toggle \
change:deception_toggle change:presence_toggle change:persuasion_toggle \
change:learning_toggle change:logic_toggle change:perception_toggle change:will_toggle \
change:alteration_toggle change:creation_toggle change:energy_toggle change:entropy_toggle \
change:influence_toggle change:movement_toggle change:prescience_toggle change:protection_toggle",
updateToggle);
on("change:repeating_actions:action_adv_count \
change:agility_adv_count change:fortitude_adv_count change:might_adv_count \
change:deception_adv_count change:presence_adv_count change:persuasion_adv_count \
change:learning_adv_count change:logic_adv_count change:perception_adv_count change:will_adv_count \
change:alteration_adv_count change:creation_adv_count change:energy_adv_count change:entropy_adv_count \
change:influence_adv_count change:movement_adv_count change:prescience_adv_count change:protection_adv_count", function(eventInfo) {
var attrBase = eventInfo.sourceAttribute.replace(/_adv_count/, "");
updateRoll(attrBase);
});
</script>