Files
2024-06-03 13:15:14 -04:00

798 lines
48 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div class="com_sheet">
<div class="header">
<div class="quarter_grid">
<div class="logo"></div>
</div>
<div class="quarter_grid">
<label class="label">Character Name:</label>
<input type="text" name="attr_character_name"/>
</div>
<div class="half_grid">
<div class="third_grid">
<label class="label label_small">+ Positive Status</label><input type="number" name="attr_plusmod" value="0">
</div>
<div class="third_grid">
<label class="label label_small">- Negative Status</label><input type="number" name="attr_minusmod" value ="0">
</div>
<div class="third_grid total_power">
<label>Total Power</label><span name="attr_power" value='0'>0</span>
</div>
</div>
</div>
<div class="full_grid overall_move_grid">
<label class="label move_label">Moves</label>
<div class="move_grid">
<label class="label label_small"><br>Investigate</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Investigate}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{investigatesuccess}}} {{partial=@{investigatepartial}}} {{miss=@{investigatemiss}}}' name='roll_investigate'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_investigatesuccess" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">You uncover as many Clues as your Power.
Spend your Clues 1-to-1 to ask the MC a question about the subject of your investigation or ask another player a rlevant question about their character. They must give you either a straight answer or a solid lead.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_investigatepartial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">You uncover as many Clues as your Power.
Spend your Clues 1-to-1 to ask the MC a question about the subject of your investigation or ask another player a relevant question about their character. They must give you either a straight answer or a solid lead. They can also choose 1:
<ul>
<li>Your investigation exposes you to danger.</li>
<li>The clues you get are fuzzy, incomplete, or part-true part-false</li>
<li>Whoever or whatever you are asking the question(s) can ask you
one question as well. You answer on the same terms.</li>
</ul>
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_investigatemiss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You uncover no Clues, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
<div class="move_grid">
<label class="label label_small"><br>Convince</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Convince}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{convince_success}}} {{partial=@{convince_partial}}} {{miss=@{convince_miss}}}' name='roll_convince'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_convince_success" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">They choose either to take a relevant status of your choice with tier=power or update their agenda to include yours, at least for the time being.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_convince_partial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">They choose either to take a relevant status of your choice with tier=power or give in a little, but protect their own agenda.</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_convince_miss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You cannot convince, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
<div class="move_grid">
<label class="label label_small">Face<br>Danger</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Face Danger}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{facedanger_success}}} {{partial=@{facedanger_partial}}} {{miss=@{facedanger_miss}}}' name='roll_facedanger'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_facedanger_success" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">You fend off the effect and take no status at all.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_facedanger_partial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">You take the status, but with -1 tier.</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_facedanger_miss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You take the full status, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
<div class="move_grid">
<label class="label label_small">Hit With All<br> You've got</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Hit With All You Got}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{hitallyougot_success}}} {{partial=@{hitallyougot_partial}}} {{miss=@{hitallyougot_miss}}}' name='roll_hitallyougot'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_hitallyougot_success" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">You hit, inflicting a status upon your target with tier=power and a tag relevant to the abilities you used. Choose 2:
<ul>
<li>You take cover or secure a superior position so that they cant hit you back.</li>
<li>You get them good or get many of them (+1 tier).</li>
<li>Theres no collateral damage, or theres loads of collateral damage.</li>
<li>You hold the targets attention, if possible.</li>
<li>If its in your ability to move them, they are out of the way.</li>
<li>You gain an advantage on the battlefield. You get 1 Juice (see Change the Game move).</li>
</ul>
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_hitallyougot_partial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">You hit, inflicting a status upon your target with tier=power and a tag relevant to the abilities you used. Choose 1:
<ul>
<li>You take cover or secure a superior position so that they cant hit you back.</li>
<li>You get them good or get many of them (+1 tier).</li>
<li>Theres no collateral damage, or theres loads of collateral damage.</li>
<li>You hold the targets attention, if possible.</li>
</ul>
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_hitallyougot_miss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You miss your target, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
<div class="move_grid">
<label class="label label_small">Go Toe<br> To Toe</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Go Toe To Toe}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{gotoe_success}}} {{partial=@{gotoe_partial}}} {{miss=@{gotoe_miss}}}' name='roll_gotoe'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_gotoe_success" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">Choose 2:
<ul>
<li>You manage to reach your goal, e.g., take something they hold</li>
<li>You get them good, inflicting a status with tier=power</li>
<li>You block, dodge, or counter their best attempts. If you dont choose this, they can inflict a status on you. If they are a PC, its tier=their power (based on their relevant tags and statuses, as usual).</li>
</ul>
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_gotoe_partial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">choose 1:
<ul>
<li>You manage to reach your goal, e.g., take something they hold</li>
<li>You get them good, inflicting a status with tier=power</li>
<li>You block, dodge, or counter their best attempts. If you dont choose this, they can inflict a status on you. If they are a PC, its tier=their power (based on their relevant tags and statuses, as usual).</li>
</ul>
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_gotoe_miss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You fail to overcome your target, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
<div class="move_grid">
<label class="label label_small">Change<br> The Game</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Change The Game}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{changegame_success}}} {{partial=@{changegame_partial}}} {{miss=@{changegame_miss}}}' name='roll_changegame'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_changegame_success" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">You get Juice=power (min 2). Spend your Juice, 1 for 1, to gain the following effects, but they must be related to the tags you used:
<ul>
<li>Inflict a status with tier-1 (can be chosen multiple times, the tier increases by 1 each time)</li>
<li>Create/summon new objects or beings with 1 tag of your choice</li>
<li>Add a new temporary tag to one character, object, or location</li>
<li>Remove 1-tier from a status</li>
<li>Burn one player characters tag</li>
<li>Scale up the effect (greater area or more targets)</li>
<li>Prolong the effect (make the statuses and tags you create ongoing)</li>
<li>Hide the effect</li>
<li>Any other improvement you and the MC agree on</li>
</ul>
By default, your effect is topical (affects one target), temporary (only affects the next relevant action), and discernible.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_changegame_partial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">You get Juice=power. Spend your Juice, 1 for 1, to gain the following effects, but they must be related to the tags you used:
<ul>
<li>Inflict a status with tier-1 (can be chosen multiple times, the tier increases by 1 each time)</li>
<li>Create/summon new objects or beings with 1 tag of your choice</li>
<li>Add a new temporary tag to one character, object, or location</li>
<li>Remove 1-tier from a status</li>
<li>Burn one player characters tag</li>
</ul>
By default, your effect is topical (affects one target), temporary (only affects the next relevant action), and discernible.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_changegame_miss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You fail to gain an advantage, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
<div class="move_grid">
<label class="label label_small">Sneak<br> Around</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Sneak Around}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{sneak_success}}} {{partial=@{sneak_partial}}} {{miss=@{sneak_miss}}}' name='roll_sneak'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_sneak_success" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">
Everyone that should fall for it falls for it.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_sneak_partial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">The MC chooses one:
<ul>
<li>Someone unimportant noticed you, but that just made them important, right?</li>
<li>You are perceived only by a secondary sense (someone picks up your scent while youre sneaking; youre seen whispering a message but the message is not heard).</li>
<li>You're stuck in an uneasy and stressful position in the middle of your action.</li>
<li>To finish it secretly or get out of there without being seen, you must Take the Risk or Face Danger, MC's call.</li>
</ul>
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_sneak_miss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You fail to remain undetected, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
<div class="move_grid">
<label class="label label_small">Take<br> A Risk</label>
<button type='roll' value='&{template:com} {{char=@{character_name}}} {{move=Take A Risk}} {{showroll=[[1]]}} {{total_power=@{power}}} {{check=[[2d6 + @{power}]]}} {{success=@{takearisk_success}}} {{partial=@{takearisk_partial}}} {{miss=@{takearisk_miss}}}' name='roll_takearisk'></button>
<div class="hidden">
<div class="sheet-action">
<span class="sheet-action">Result 10+ : </span>
<textarea name="attr_takearisk_success" class="sheet-actiondesc" placeholder="Great Success" title="Great Success">
You do it, somehow.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 7-9 : </span>
<textarea name="attr_takearisk_partial" class="sheet-actiondesc" placeholder="Mild Success" title="Mild Success">Things get messy. The MC will offer you a hard bargain or an ugly choice.
</textarea>
</div>
<div class="sheet-action">
<span class="sheet-action">Result 6- : </span>
<textarea name="attr_takearisk_miss" class="sheet-actiondesc" placeholder="Miss" title="Miss">You fail to perform the feat, and the MC can use a Hard Move against you!</textarea>
</div>
</div>
</div>
</div>
<div class="full grid">
<div class="theme quarter_grid theme_1">
<div class="clr">
<label class="label">Theme Name:</label>
<input type="text" name="attr_theme_name_1"/>
</div>
<div class="adv">
<div class="half_grid">
<label class="label label_small ">Attention</label>
<input type="checkbox" name="attr_att_1"/>
<input type="checkbox" name="attr_att_2"/>
<input type="checkbox" name="attr_att_3"/>
</div>
<div class="half_grid">
<label class="label label_small ">Fade / Crack</label>
<input type="checkbox" name="attr_fade_1"/>
<input type="checkbox" name="attr_fade_2"/>
<input type="checkbox" name="attr_fade_3"/>
</div>
</div>
<div class="clr">
<label class="label">Mystery / Identity:</label>
<textarea name="attr_mystery_name_1"></textarea>
</div>
<div class="power_tag clr">
<label class="label">Power Tags:</label>
<div class="power-tag">
<input type="text" name="attr_tag_name_1"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_1" name="attr_tag_1_burn"/>
<div class="sheet-burned_1">
<label class="label label_small label_1 quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_1" name="attr_roll_tag_1" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_2"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_2" name="attr_tag_2_burn"/>
<div class="sheet-burned_2">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_2" name="attr_roll_tag_2" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_3"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_3" name="attr_tag_3_burn"/>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_tag_3" value="1" />
</div>
</div>
<fieldset class="repeating_powertag-extra-1">
<div class="power-tag">
<input type="text" name="attr_tag_name_extra_1"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_3" name="attr_tag_extra_burn_1"/>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_tag_extra_1" value="1" />
</div>
</div>
</fieldset>
</div>
<div class="clr weakness">
<label class="label">Weakness Tags:</label>
<div class="weakness-tag">
<input type="text" name="attr_weak_1_name" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_1" value="1" />
</div>
</div>
<fieldset class="repeating_weaknesstag-extra-1">
<div class="weakness-tag">
<input type="text" name="attr_weak_extra_name_1" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_extra_1" value="1" />
</div>
</div>
</fieldset>
</div>
</div>
<div class="theme quarter_grid theme_2">
<div class="clr">
<label class="label">Theme Name:</label>
<input type="text" name="attr_theme_nam_2"/>
</div>
<div class="adv">
<div class="half_grid">
<label class="label label_small ">Attention</label>
<input type="checkbox" name="attr_att_4"/>
<input type="checkbox" name="attr_att_5"/>
<input type="checkbox" name="attr_att_6"/>
</div>
<div class="half_grid">
<label class="label label_small ">Fade / Crack</label>
<input type="checkbox" name="attr_fade_4"/>
<input type="checkbox" name="attr_fade_5"/>
<input type="checkbox" name="attr_fade_6"/>
</div>
</div>
<div class="clr">
<label class="label">Mystery / Identity:</label>
<textarea name="attr_mystery_name_2"></textarea>
</div>
<div class="power_tag clr">
<label class="label">Power Tags:</label>
<div class="power-tag">
<input type="text" name="attr_tag_name_4"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_4" name="attr_tag_4_burn"/>
<div class="sheet-burned_4">
<label class="label label_small label_4 quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_4" name="attr_roll_tag_4" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_5"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_5" name="attr_tag_5_burn"/>
<div class="sheet-burned_5">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_5" name="attr_roll_tag_5" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_6"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_6" name="attr_tag_6_burn"/>
<div class="sheet-burned_6">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_6" name="attr_roll_tag_6" value="1" />
</div>
</div>
<fieldset class="repeating_powertag-extra-2">
<div class="power-tag">
<input type="text" name="attr_tag_name_extra_2"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_3" name="attr_tag_extra_burn_2"/>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_tag_extra_2" value="1" />
</div>
</div>
</fieldset>
</div>
<div class="clr weakness">
<label class="label">Weakness Tags:</label>
<div class="weakness-tag">
<input type="text" name="attr_weak_2_name" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_2" value="1" />
</div>
</div>
<fieldset class="repeating_weaknesstag-extra-2">
<div class="weakness-tag">
<input type="text" name="attr_weak_extra_name_2" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_extra_2" value="1" />
</div>
</div>
</fieldset>
</div>
</div>
<div class="theme quarter_grid theme_3">
<div class="clr">
<label class="label">Theme Name:</label>
<input type="text" name="attr_theme_name_3"/>
</div>
<div class="adv">
<div class="half_grid">
<label class="label label_small ">Attention</label>
<input type="checkbox" name="attr_att_7"/>
<input type="checkbox" name="attr_att_8"/>
<input type="checkbox" name="attr_att_9"/>
</div>
<div class="half_grid">
<label class="label label_small ">Fade / Crack</label>
<input type="checkbox" name="attr_fade_7"/>
<input type="checkbox" name="attr_fade_8"/>
<input type="checkbox" name="attr_fade_9"/>
</div>
</div>
<div class="clr">
<label class="label">Mystery / Identity:</label>
<textarea name="attr_mystery_name_3"></textarea>
</div>
<div class="power_tag clr">
<label class="label">Power Tags:</label>
<div class="power-tag">
<input type="text" name="attr_tag_name_7"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_7" name="attr_tag_7_burn"/>
<div class="sheet-burned_7">
<label class="label label_small label_7 quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_7" name="attr_roll_tag_7" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_8"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_8" name="attr_tag_8_burn"/>
<div class="sheet-burned_8">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_8" name="attr_roll_tag_8" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_9"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_9" name="attr_tag_9_burn"/>
<div class="sheet-burned_9">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_9" name="attr_roll_tag_9" value="1" />
</div>
</div>
<fieldset class="repeating_powertag-extra-3">
<div class="power-tag">
<input type="text" name="attr_tag_name_extra_3"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_3" name="attr_tag_extra_burn_3"/>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_tag_extra_3" value="1" />
</div>
</div>
</fieldset>
</div>
<div class="clr weakness">
<label class="label">Weakness Tags:</label>
<div class="weakness-tag">
<input type="text" name="attr_weak_3_name" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_3" value="1" />
</div>
</div>
<fieldset class="repeating_weaknesstag-extra-3">
<div class="weakness-tag">
<input type="text" name="attr_weak_extra_name_3" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_extra_3" value="1" />
</div>
</div>
</fieldset>
</div>
</div>
<div class="theme quarter_grid theme_4">
<div class="clr">
<label class="label">Theme Name:</label>
<input type="text" name="attr_theme_name_4"/>
</div>
<div class="adv">
<div class="half_grid">
<label class="label label_small ">Attention</label>
<input type="checkbox" name="attr_att_10"/>
<input type="checkbox" name="attr_att_11"/>
<input type="checkbox" name="attr_att_12"/>
</div>
<div class="half_grid">
<label class="label label_small ">Fade / Crack</label>
<input type="checkbox" name="attr_fade_10"/>
<input type="checkbox" name="attr_fade_11"/>
<input type="checkbox" name="attr_fade_12"/>
</div>
</div>
<div class="clr">
<label class="label">Mystery / Identity:</label>
<textarea name="attr_mystery_name_4"></textarea>
</div>
<div class="power_tag clr">
<label class="label">Power Tags:</label>
<div class="power-tag">
<input type="text" name="attr_tag_name_10"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_10" name="attr_tag_10_burn"/>
<div class="sheet-burned_10">
<label class="label label_small label_10 quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_10" name="attr_roll_tag_10" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_11"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_11" name="attr_tag_11_burn"/>
<div class="sheet-burned_11">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_11" name="attr_roll_tag_11" value="1" />
</div>
</div>
<div class="power-tag">
<input type="text" name="attr_tag_name_12"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_12" name="attr_tag_12_burn"/>
<div class="sheet-burned_12">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_12" name="attr_roll_tag_12" value="1" />
</div>
</div>
<fieldset class="repeating_powertag-extra-4">
<div class="power-tag">
<input type="text" name="attr_tag_name_extra_4"/>
<label class="label label_small quarter_grid">Burn</label>
<input type="checkbox" class="quarter_grid burn_3" name="attr_tag_extra_burn_4"/>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_tag_extra_4" value="1" />
</div>
</div>
</fieldset>
</div>
<div class="clr weakness">
<label class="label">Weakness Tags:</label>
<div class="weakness-tag">
<input type="text" name="attr_weak_4_name" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_4" value="1" />
</div>
</div>
<fieldset class="repeating_weaknesstag-extra-4">
<div class="weakness-tag">
<input type="text" name="attr_weak_extra_name_4" />
<span class="sheet-quarter_grid burn_spacer">&nbsp;</span>
<div class="sheet-burned_3">
<label class="label label_small quarter_grid">Roll</label>
<input type="checkbox" class="quarter_grid tag_3" name="attr_roll_weakness_tag_extra_4" value="1" />
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="clr"></div>
</div>
<rolltemplate class="sheet-rolltemplate-com">
<table>
<tr><th>{{char}}<br>rolls to "{{move}}"</th></tr>
<tr><td><span>+ Power</span> {{total_power}}</td></tr>
<tr>
<td><span>Result: </span>{{check}}</td>
</tr>
<tr></tr>
{{#check}}
{{#rollTotal() showroll 1}}
<tr>
<td>
{{#rollGreater() check 9}}
<span style="color: green;font-weight:bold;">Great Success</span>
{{/rollGreater() check 9}}
{{#rollBetween() check 7 9}}
<span style="color: black;font-weight:bold;">Mild Success</span>
{{/rollBetween() check 7 9}}
{{#rollLess() check 7}}
<span style="color: red;font-weight:bold;">Miss</span>
{{/rollLess() check 7}}
</td>
</tr>
{{#success}}
{{#rollGreater() check 9}}
<tr><td colspan="2"><div class="movedesc">{{success}}</div></td></tr>
{{/rollGreater() check 9}}
{{/success}}
{{#partial}}
{{#rollBetween() check 7 9}}
<tr><td colspan="2"><div class="movedesc">{{partial}}</div></td></tr>
{{/rollBetween() check 7 9}}
{{/partial}}
{{#miss}}
{{#rollLess() check 7}}
<tr><td colspan="2"><div class="movedesc">{{miss}}</div></td></tr>
{{/rollLess() check 7}}
{{/miss}}
{{/rollTotal() showroll 1}}
{{/check}}
</table>
</rolltemplate>
<script type="text/worker">
(function () {
var power_tag_names = [];
var weakness_tag_names = [];
var mod_names = [
"plusmod",
"minusmod"
];
/** @var array list of events to trigger the power calculations. **/
var change_tag_events = mod_names.map(function(name) {
return "change:" + name;
});
/** Calculate the lists of roll checkbox power_tag_names, roll checkbox weakness_tag_names, and related change events. */
['1', '2', '3', '4'].forEach(function(theme_id) {
// 3 power tags per theme
var theme_power_tag_names = [1,2,3].map(function(tag_number) {
return "roll_tag_" + ((theme_id-1)*3+tag_number);
});
power_tag_names = power_tag_names.concat(theme_power_tag_names);
change_tag_events = change_tag_events.concat(theme_power_tag_names.map(function(tag_name) {
return "change:" + tag_name;
}));
// 1 weakness tag per theme
var theme_weakness_tag_name = "roll_weakness_tag_" + theme_id;
change_tag_events.push("change:" + theme_weakness_tag_name);
weakness_tag_names.push(theme_weakness_tag_name);
// 1 each power and weakness tag extra repeating groups
change_tag_events.push("change:repeating_powertag-extra-" + theme_id);
change_tag_events.push("change:repeating_weaknesstag-extra-" + theme_id);
});
/** @var array list of all roll check tag attribute names, both power and weakness */
var all_attr_names = mod_names.concat(power_tag_names).concat(weakness_tag_names);
/** Points all of those events to the calculate_power function. */
on(change_tag_events.join(" "), calculate_power);
/** Calculate power when the sheet opens. */
on('sheet:opened', function (e) {
console.log('sheet:opened fired.');
calculate_power(e);
});
/**
* Calculates the power based on the checked roll checkboxes for tags on the sheet.
*
* @param e - the event for the change; ignored for this function as we calculate the power based on everything every time.
*/
function calculate_power(e) {
console.log('Calculating power.');
/** @var array the list of dynamic (repeating section) checkboxes for power tags to be used in the calculation. */
var extra_powertag_names = [];
/** @var array the list of dynamic (repeating section) checkboxes for weakness tags to be used in the calculation. */
var extra_weaknesstag_names = [];
/**
* There are 4 themes, each with a power tag repeating section, and a weakness tag repeating section.
* Because the getSectionIDs() function doesn't take multiple section labels, I need to nest the callback
* functions.
*
* I tried using Promises, but apparently the getAttrs() function only works during the context of the callback
* function, and was throwing an error about the _activeCharacterId variable not being set.
*
* So, this is horrible, but, it works. I expect major headaches in maintaining this.
*/
getSectionIDs('powertag-extra-1', function(extra_powertag_rowids_theme) {
extra_powertag_names = extra_powertag_names.concat(extra_powertag_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_powertag-extra-1', 'roll_tag_extra_1')));
getSectionIDs('powertag-extra-2', function(extra_powertag_rowids_theme) {
extra_powertag_names = extra_powertag_names.concat(extra_powertag_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_powertag-extra-2', 'roll_tag_extra_2')));
getSectionIDs('powertag-extra-3', function(extra_powertag_rowids_theme) {
extra_powertag_names = extra_powertag_names.concat(extra_powertag_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_powertag-extra-3', 'roll_tag_extra_3')));
getSectionIDs('powertag-extra-4', function(extra_powertag_rowids_theme) {
extra_powertag_names = extra_powertag_names.concat(extra_powertag_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_powertag-extra-4', 'roll_tag_extra_4')));
getSectionIDs('weaknesstag-extra-1', function(extra_weaknesstags_rowids_theme) {
extra_weaknesstag_names = extra_weaknesstag_names.concat(extra_weaknesstags_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_weaknesstag-extra-1', 'roll_weakness_tag_extra_1')));
getSectionIDs('weaknesstag-extra-2', function(extra_weaknesstags_rowids_theme) {
extra_weaknesstag_names = extra_weaknesstag_names.concat(extra_weaknesstags_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_weaknesstag-extra-2', 'roll_weakness_tag_extra_2')));
getSectionIDs('weaknesstag-extra-3', function(extra_weaknesstags_rowids_theme) {
extra_weaknesstag_names = extra_weaknesstag_names.concat(extra_weaknesstags_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_weaknesstag-extra-3', 'roll_weakness_tag_extra_3')));
getSectionIDs('weaknesstag-extra-4', function(extra_weaknesstags_rowids_theme) {
extra_weaknesstag_names = extra_weaknesstag_names.concat(extra_weaknesstags_rowids_theme.map(repeating_attr_name.bind(null, 'repeating_weaknesstag-extra-4', 'roll_weakness_tag_extra_4')));
/** OK, all 8 dynamic sections have been queried for the attributes in them, now in extra_powertag_names and extra_weaknesstag_names. Stick them all together for the call to getAttrs() */
var all_extra_attr_names = extra_powertag_names.concat(extra_weaknesstag_names);
var attr_names_to_get = all_attr_names.concat(all_extra_attr_names);
getAttrs(attr_names_to_get, function(values) {
/** values should have all the values of the attributes involved in the power calculation. */
var power = 0;
/** Count the checked static & dynamic power tags */
power_tag_names.forEach(function(powertag) {
if (values[powertag] === "1") {
power++;
}
});
extra_powertag_names.forEach(function(powertag) {
if (values[powertag] === "1") {
power++;
}
});
/** Count the checked static & dynamic weakness tags */
weakness_tag_names.forEach(function(weaknesstag) {
if (values[weaknesstag] === "1") {
power --;
}
});
extra_weaknesstag_names.forEach(function(weaknesstag) {
if (values[weaknesstag] === "1") {
power--;
}
});
/** Add / subtract the modifiers */
power += (values.plusmod - values.minusmod);
/** save power to the attribute */
setAttrs({ power: power });
});
});
});
});
});
});
});
});
});
}
/**
* Gets the attribute name to be used in the call to getAttrs() for an attribute in a repeating section.
*
* @param repeating_section_name string
* @param attr_name string
* @param row_id string row_id is last because of the way I'm using this with the bind() function.
*
* @returns {string}
*/
function repeating_attr_name(repeating_section_name, attr_name, row_id) {
return [repeating_section_name, row_id, attr_name].join('_');
}
})();
</script>