Files
roll20-character-sheets/Agon Official/agon.html
T
2024-06-03 13:15:14 -04:00

1922 lines
100 KiB
HTML

<div class="preload"></div>
<div>
<input type="hidden" name="attr_advantage_bond_support_translated" value="Advantage/Bond/Support"/>
<input type="hidden" name="attr_arts_oration_extra_domain_query" value="?{Add another Domain (spend Pathos)|No, |Blood &amp; Valor, + @{blood_valor_die}[Blood &amp; Valor]|Craft &amp; Reason, + @{craft_reason_die}[Craft &amp; Reason]|Resolve &amp; Spirit, + @{resolve_spirit_die}[Resolve &amp; Spirit]}"/>
<input type="hidden" name="attr_arts_oration_translated" value="Arts &amp; Oration"/>
<input type="hidden" name="attr_blood_valor_extra_domain_query" value="?{Add another Domain (spend Pathos)|No, |Arts &amp; Oration, + @{arts_oration_die}[Arts &amp; Oration]|Craft &amp; Reason, + @{craft_reason_die}[Craft &amp; Reason]|Resolve &amp; Spirit, + @{resolve_spirit_die}[Resolve &amp; Spirit]}"/>
<input type="hidden" name="attr_blood_valor_translated" value="Blood &amp; Valor"/>
<input type="hidden" name="attr_bonusdice_query" value="?{Other dice (Advantage, Bond Dice, or Support), e.g. 1d8 + 1d8 + 1d6|0}"/>
<input type="hidden" name="attr_craft_reason_extra_domain_query" value="?{Add another Domain (spend Pathos)|No, |Arts &amp; Oration, + @{arts_oration_die}[Arts &amp; Oration]|Blood &amp; Valor, + @{blood_valor_die}[Blood &amp; Valor]|Resolve &amp; Spirit, + @{resolve_spirit_die}[Resolve &amp; Spirit]}"/>
<input type="hidden" name="attr_craft_reason_translated" value="Craft &amp; Reason"/>
<input type="hidden" name="attr_divine_favor_query" value="?{Spend Divine Favor|0}"/>
<input type="hidden" name="attr_epithet_and_name_query" value="?{Epithet die|None,roll=[[{@{name_die}[@{name_label}]|@{epithet},epithet=@{epithet}&amp;#125;&amp;#125; {{roll=[[{@{name_die}[@{name_label}] + @{epithet_die}[@{epithet_label}]}"/>
<input type="hidden" name="attr_resolve_spirit_extra_domain_query" value="?{Add another Domain (spend Pathos)|No, |Arts &amp; Oration, + @{arts_oration_die}[Arts &amp; Oration]|Blood &amp; Valor, + @{blood_valor_die}[Blood &amp; Valor]|Craft &amp; Reason, + @{craft_reason_die}[Craft &amp; Reason]}"/>
<input type="hidden" name="attr_resolve_spirit_translated" value="Resolve &amp; Spirit"/>
<input type="hidden" name="attr_target_query" value="?{Target Number|0}"/>
<input type="hidden" name="attr_domain_query" value="?{Domain|@{arts_oration_label},arts_oration|@{blood_valor_label},blood_valor|@{craft_reason_label},craft_reason|@{resolve_spirit_label},resolve_spirit|Any domain,any}"/>
</div>
<div class="container compendium-drop-target islands">
<input class="sheet-type" type="hidden" name="attr_sheet_type" value=""/>
<div class="sheet-type-selector">
<div class="title" data-i18n="choose_sheet_type"></div>
<div class="content">
<button type="action" name="act_choose_character" data-i18n="character"></button>
<button type="action" name="act_choose_strife" data-i18n="strife"></button>
<button type="action" name="act_choose_island" data-i18n="island"></button>
</div>
</div>
<div class="sheet-type-character">
<div class="logo"></div>
<div class="title-vertical glory">
<input class="title" type="text" spellcheck="false" name="attr_glory_label" value="Glory"/>
<div class="content">
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_0" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_0" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_0" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_0" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_0" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_0" value="5"/><span></span>
</div>
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_1" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_1" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_1" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_1" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_1" value="5"/><span></span>
</div>
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_2" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_2" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_2" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_2" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_2" value="5"/><span></span>
</div>
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_3" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_3" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_3" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_3" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_3" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_3" value="5"/><span></span>
</div>
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_4" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_4" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_4" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_4" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_4" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_4" value="5"/><span></span>
</div>
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_5" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_5" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_5" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_5" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_5" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_5" value="5"/><span></span>
</div>
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_6" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_6" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_6" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_6" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_6" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_6" value="5"/><span></span>
</div>
<div class="box">
<input class="hidden fakeradio" type="checkbox" name="attr_glory_7" value="0" checked="checked"/>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_7" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_7" value="2"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_7" value="3"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_7" value="4"/><span></span>
<div class="floatingbar"></div>
<input class="squarebox fakeradio" type="checkbox" name="attr_glory_7" value="5"/><span></span>
</div>
</div>
</div>
<div class="title-vertical namebox">
<input class="title" type="text" spellcheck="false" name="attr_name_label" value="Name"/>
<div class="content">
<label>
<input class="squarebox" type="checkbox" name="attr_namebox_40" value="1"/><span></span><span>40</span>
</label>
<label>
<input class="squarebox" type="checkbox" name="attr_namebox_80" value="1"/><span></span><span>80 (D8)</span>
</label>
<label>
<input class="squarebox" type="checkbox" name="attr_namebox_120" value="1"/><span></span><span>120 (D10)</span>
</label>
<label>
<input class="squarebox" type="checkbox" name="attr_namebox_160" value="1"/><span></span><span>160</span>
</label>
<label>
<input class="squarebox" type="checkbox" name="attr_namebox_200" value="1"/><span></span><span>200</span>
</label>
<label>
<input class="squarebox" type="checkbox" name="attr_namebox_240" value="1"/><span></span><span>240 (D12)</span>
</label>
</div>
</div>
<div class="info">
<div class="infobox">
<div class="title">
<div class="auto-expand"><span name="attr_epithet_label">Epithet</span>
<textarea spellcheck="false" name="attr_epithet_label">Epithet</textarea>
</div>
</div>
<div class="content epithet">
<div class="auto-expand"><span name="attr_epithet"></span>
<textarea spellcheck="false" name="attr_epithet"></textarea>
</div>
<select name="attr_epithet_die">
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
</select>
</div>
</div>
<input class="hider" type="hidden" name="attr_boons_4_check_1" value="0"/>
<div class="infobox">
<div class="title">
<div class="auto-expand"><span name="attr_epithet_label">Epithet</span>
<textarea spellcheck="false" name="attr_epithet_label">Epithet</textarea>
</div>
</div>
<div class="content epithet">
<div class="auto-expand"><span name="attr_epithet_2"></span>
<textarea spellcheck="false" name="attr_epithet_2"></textarea>
</div>
</div>
</div>
<div class="infobox">
<div class="title">
<div class="auto-expand"><span name="attr_name_label">Name</span>
<textarea spellcheck="false" name="attr_name_label">Name</textarea>
</div>
</div>
<div class="content character-name">
<input type="text" spellcheck="false" name="attr_character_name"/>
<select name="attr_name_die">
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
</select>
</div>
</div>
<div class="infobox">
<div class="title">
<div class="auto-expand"><span name="attr_lineage_pronouns_label">Lineage / Pronouns</span>
<textarea spellcheck="false" name="attr_lineage_pronouns_label">Lineage / Pronouns</textarea>
</div>
</div>
<div class="content lineage-pronouns">
<div class="auto-expand"><span name="attr_lineage_pronouns"></span>
<textarea spellcheck="false" name="attr_lineage_pronouns" data-i18n-placeholder="scion_of"></textarea>
</div>
</div>
</div>
<div class="infobox">
<div class="title">
<div class="auto-expand"><span name="attr_honored_god_label">Honored God</span>
<textarea spellcheck="false" name="attr_honored_god_label">Honored God</textarea>
</div>
</div>
<div class="content honored-god">
<div class="auto-expand"><span name="attr_honored_god"></span>
<textarea spellcheck="false" name="attr_honored_god"></textarea>
</div>
<label>
<input class="diamondbox" type="checkbox" name="attr_god_strength_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_god_strength_2" value="1"/><span></span>
</label>
</div>
</div>
</div>
<div class="domains">
<input class="title" type="text" spellcheck="false" name="attr_domains_label" value="Domains"/>
<div class="domain">
<button class="domain-button-arts_oration" name="roll_arts_oration" type="roll" value="&amp;{template:agon-hero} {{name=@{character_name}}} {{type=arts_oration}} {{obstacle=[[@{target_query}]]}} {{@{epithet_and_name_query} + @{arts_oration_die}[@{arts_oration_translated}] @{arts_oration_extra_domain_query} + @{bonusdice_query}[@{advantage_bond_support_translated}]}k2 + @{divine_favor_query}d4k1[@{divine_favor_label}] ]]}}"><span name="attr_arts_oration_label"></span></button>
<select name="attr_arts_oration_die">
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
</select>
</div>
<div class="domain">
<button class="domain-button-blood_valor" name="roll_blood_valor" type="roll" value="&amp;{template:agon-hero} {{name=@{character_name}}} {{type=blood_valor}} {{obstacle=[[@{target_query}]]}} {{@{epithet_and_name_query} + @{blood_valor_die}[@{blood_valor_translated}] @{blood_valor_extra_domain_query} + @{bonusdice_query}[@{advantage_bond_support_translated}]}k2 + @{divine_favor_query}d4k1[@{divine_favor_label}] ]]}}"><span name="attr_blood_valor_label"></span></button>
<select name="attr_blood_valor_die">
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
</select>
</div>
<div class="domain">
<button class="domain-button-craft_reason" name="roll_craft_reason" type="roll" value="&amp;{template:agon-hero} {{name=@{character_name}}} {{type=craft_reason}} {{obstacle=[[@{target_query}]]}} {{@{epithet_and_name_query} + @{craft_reason_die}[@{craft_reason_translated}] @{craft_reason_extra_domain_query} + @{bonusdice_query}[@{advantage_bond_support_translated}]}k2 + @{divine_favor_query}d4k1[@{divine_favor_label}] ]]}}"><span name="attr_craft_reason_label"></span></button>
<select name="attr_craft_reason_die">
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
</select>
</div>
<div class="domain">
<button class="domain-button-resolve_spirit" name="roll_resolve_spirit" type="roll" value="&amp;{template:agon-hero} {{name=@{character_name}}} {{type=resolve_spirit}} {{obstacle=[[@{target_query}]]}} {{@{epithet_and_name_query} + @{resolve_spirit_die}[@{resolve_spirit_translated}] @{resolve_spirit_extra_domain_query} + @{bonusdice_query}[@{advantage_bond_support_translated}]}k2 + @{divine_favor_query}d4k1[@{divine_favor_label}] ]]}}"><span name="attr_resolve_spirit_label"></span></button>
<select name="attr_resolve_spirit_die">
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
</select>
</div>
</div>
<div class="title-vertical favors">
<input class="title" type="text" spellcheck="false" name="attr_divine_favor_label" value="Divine Favor"/>
<div class="content">
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_authority_label" value="Authority"/>
<input type="text" spellcheck="false" name="attr_zeus_label" value="Zeus"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_authority_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_authority_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_beauty_label" value="Beauty"/>
<input type="text" spellcheck="false" name="attr_aphrodite_label" value="Aphrodite"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_beauty_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_beauty_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_conviction_label" value="Conviction"/>
<input type="text" spellcheck="false" name="attr_demeter_label" value="Demeter"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_conviction_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_conviction_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_cunning_label" value="Cunning"/>
<input type="text" spellcheck="false" name="attr_hera_label" value="Hera"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_cunning_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_cunning_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_daring_label" value="Daring"/>
<input type="text" spellcheck="false" name="attr_hermes_label" value="Hermes"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_daring_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_daring_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_ferocity_label" value="Ferocity"/>
<input type="text" spellcheck="false" name="attr_ares_label" value="Ares"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_ferocity_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_ferocity_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_fortitude_label" value="Fortitude"/>
<input type="text" spellcheck="false" name="attr_poseidon_label" value="Poseidon"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_fortitude_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_fortitude_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_ingenuity_label" value="Ingenuity"/>
<input type="text" spellcheck="false" name="attr_hephaistos_label" value="Hephaistos"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_ingenuity_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_ingenuity_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_insight_label" value="Insight"/>
<input type="text" spellcheck="false" name="attr_hekate_label" value="Hekate"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_insight_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_insight_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_knowledge_label" value="Knowledge"/>
<input type="text" spellcheck="false" name="attr_apollo_label" value="Apollo"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_knowledge_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_knowledge_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_precision_label" value="Precision"/>
<input type="text" spellcheck="false" name="attr_artemis_label" value="Artemis"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_precision_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_precision_2" value="1"/><span></span>
</label>
</div>
<div class="favorbox">
<input class="label" type="text" spellcheck="false" name="attr_wisdom_label" value="Wisdom"/>
<input type="text" spellcheck="false" name="attr_athena_label" value="Athena"/>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_wisdom_1" value="1"/><span></span>
</label>
<label>
<input class="diamondbox" type="checkbox" name="attr_favor_wisdom_2" value="1"/><span></span>
</label>
</div>
</div>
</div>
<div class="title-vertical style-notes">
<input class="title" type="text" spellcheck="false" name="attr_style_notes_label" value="Style &amp; Notes"/>
<div class="content">
<div class="auto-expand notes"><span name="attr_style_notes"></span>
<textarea spellcheck="false" name="attr_style_notes"></textarea>
</div>
</div>
</div>
<div class="title-vertical recite">
<input class="title" type="text" spellcheck="false" name="attr_recite_your_deeds_label" value="Recite your deeds"/>
<div class="content">
<div class="auto-expand"><span name="attr_recite_top_label">How does your EPITHET, PATHOS (an added Domain), or DIVINE FAVOR manifest in the contest?</span>
<textarea spellcheck="false" name="attr_recite_top_label">How does your EPITHET, PATHOS (an added Domain), or DIVINE FAVOR manifest in the contest?</textarea>
</div>
<div class="recite-box">
<input class="title" type="text" spellcheck="false" name="attr_arts_oration_label" value="Arts &amp; Oration"/>
<div class="auto-expand"><span name="attr_recite_arts_oration_label">What honeyed words did you use?&#10;How did beauty manifest?&#10;How were passions stirred or truths attested?</span>
<textarea spellcheck="false" name="attr_recite_arts_oration_label">What honeyed words did you use?&#10;How did beauty manifest?&#10;How were passions stirred or truths attested?</textarea>
</div>
</div>
<div class="recite-box">
<input class="title" type="text" spellcheck="false" name="attr_blood_valor_label" value="Blood &amp; Valor"/>
<div class="auto-expand"><span name="attr_recite_blood_valor_label">How was blood spilled?&#10;How was your strength, agility, or courage shown?&#10;How did you take our breath away?</span>
<textarea spellcheck="false" name="attr_recite_blood_valor_label">How was blood spilled?&#10;How was your strength, agility, or courage shown?&#10;How did you take our breath away?</textarea>
</div>
</div>
<div class="recite-box">
<input class="title" type="text" spellcheck="false" name="attr_craft_reason_label" value="Craft &amp; Reason"/>
<div class="auto-expand"><span name="attr_recite_craft_reason_label">How was your knowledge or creativity shown?&#10;How was trickery or intrigue displayed?&#10;How did you figure it out?</span>
<textarea spellcheck="false" name="attr_recite_craft_reason_label">How was your knowledge or creativity shown?&#10;How was trickery or intrigue displayed?&#10;How did you figure it out?</textarea>
</div>
</div>
<div class="recite-box">
<input class="title" type="text" spellcheck="false" name="attr_resolve_spirit_label" value="Resolve &amp; Spirit"/>
<div class="auto-expand"><span name="attr_recite_resolve_spirit_label">How did we see your willpower in action?&#10;How did you endure it?&#10;How did the arcane or occult manifest?</span>
<textarea spellcheck="false" name="attr_recite_resolve_spirit_label">How did we see your willpower in action?&#10;How did you endure it?&#10;How did the arcane or occult manifest?</textarea>
</div>
</div>
<div class="auto-expand"><span name="attr_recite_bottom_label">SUFFER—How did you fall short? Did you overreach yourself? Was the opponent too great? Was it cruel fortune?</span>
<textarea spellcheck="false" name="attr_recite_bottom_label">SUFFER—How did you fall short? Did you overreach yourself? Was the opponent too great? Was it cruel fortune?</textarea>
</div>
</div>
</div>
<div class="pathos-bonds">
<div class="pathos-fate">
<input class="title" type="text" spellcheck="false" name="attr_pathos_label" value="Pathos"/>
<input class="hidden fakeradio" type="checkbox" name="attr_pathos" value="0" checked="checked"/>
<input class="circlebox fakeradio" type="checkbox" name="attr_pathos" value="1"/><span></span>
<div class="floating-vert-bar"></div>
<input class="circlebox fakeradio" type="checkbox" name="attr_pathos" value="2"/><span></span>
<div class="floating-vert-bar"></div>
<input class="circlebox fakeradio" type="checkbox" name="attr_pathos" value="3"/><span></span>
<div class="floating-vert-bar"></div>
<input class="circlebox fakeradio" type="checkbox" name="attr_pathos" value="4"/><span></span>
<div class="floating-vert-bar"></div>
<input class="circlebox fakeradio" type="checkbox" name="attr_pathos" value="5"/><span></span>
<div class="floating-vert-bar"></div>
<input class="agony" type="text" spellcheck="false" name="attr_agony_label" value="Agony"/>
<div class="floating-vert-bar"></div>
<input class="circlebox fakeradio" type="checkbox" name="attr_pathos" value="6"/><span></span>
<div class="floating-vert-bar"></div>
<input class="fate" type="text" spellcheck="false" name="attr_fate_label" value="Fate"/>
<div class="floating-vert-bar"></div>
<input class="hidden fakeradio2" type="checkbox" name="attr_fate" value="0" checked="checked"/>
<input class="squarebox fakeradio2 dot" type="checkbox" name="attr_fate" value="1"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="2"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="3"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2 dot" type="checkbox" name="attr_fate" value="4"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="5"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="6"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="7"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2 dot" type="checkbox" name="attr_fate" value="8"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="9"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="10"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="11"/><span></span>
<div class="floating-vert-bar"></div>
<input class="squarebox fakeradio2" type="checkbox" name="attr_fate" value="12"/><span></span>
</div>
<div class="bonds">
<input class="title" type="text" spellcheck="false" name="attr_bonds_label" value="Bonds"/>
<fieldset class="repeating_bonds">
<input class="bond-number" type="number" name="attr_bond_number" value="0"/>
<input class="bond-name" type="text" spellcheck="false" name="attr_bond_name"/>
</fieldset>
<div class="bond-uses">
<div class="auto-expand top"><span name="attr_bond_use_top_label">When you use a Bond, ask them to:</span>
<textarea spellcheck="false" name="attr_bond_use_top_label">When you use a Bond, ask them to:</textarea>
</div>
<div class="auto-expand bond-use"><span name="attr_bond_use_1_label">Bolster you</span>
<textarea spellcheck="false" name="attr_bond_use_1_label">Bolster you</textarea>
</div>
<div class="auto-expand bond-use"><span name="attr_bond_use_2_label">Block Harm or Fate for you</span>
<textarea spellcheck="false" name="attr_bond_use_2_label">Block Harm or Fate for you</textarea>
</div>
<div class="auto-expand bond-use"><span name="attr_bond_use_3_label">Follow your lead</span>
<textarea spellcheck="false" name="attr_bond_use_3_label">Follow your lead</textarea>
</div>
</div>
</div>
</div>
<div class="great-deeds-boons">
<div class="great-deeds">
<input class="title" type="text" spellcheck="false" name="attr_great_deeds_and_trophies_label" value="Great Deeds &amp; Trophies"/>
<fieldset class="repeating_deeds">
<input class="squarebox" type="checkbox" name="attr_deed_check" value="1"/><span></span>
<div class="auto-expand deed-name"><span name="attr_deed_name"></span>
<textarea spellcheck="false" name="attr_deed_name" data-i18n-placeholder="great_deed"></textarea>
</div>
</fieldset>
</div>
<div class="boons">
<input class="title" type="text" spellcheck="false" name="attr_boons_label" value="Boons"/>
<div class="boon">
<input class="squarebox" type="checkbox" name="attr_boons_1_check_1" value="1"/><span></span>
<div class="auto-expand"><span name="attr_boons_1_label">Advance a d8 Domain die to d10</span>
<textarea spellcheck="false" name="attr_boons_1_label">Advance a d8 Domain die to d10</textarea>
</div>
</div>
<div class="boon">
<input class="squarebox" type="checkbox" name="attr_boons_2_check_1" value="1"/><span></span>
<input class="squarebox" type="checkbox" name="attr_boons_2_check_2" value="1"/><span></span>
<div class="auto-expand"><span name="attr_boons_2_label">Advance a d6 Domain die to d8</span>
<textarea spellcheck="false" name="attr_boons_2_label">Advance a d6 Domain die to d8</textarea>
</div>
</div>
<div class="boon">
<input class="squarebox" type="checkbox" name="attr_boons_3_check_1" value="1"/><span></span>
<div class="auto-expand"><span name="attr_boons_3_label">Advance your Epithet die to d8</span>
<textarea spellcheck="false" name="attr_boons_3_label">Advance your Epithet die to d8</textarea>
</div>
</div>
<div class="boon">
<input class="squarebox" type="checkbox" name="attr_boons_4_check_1" value="1"/><span></span>
<div class="auto-expand"><span name="attr_boons_4_label">Add another Epithet</span>
<textarea spellcheck="false" name="attr_boons_4_label">Add another Epithet</textarea>
</div>
</div>
<div class="divider"></div>
<div class="boon">
<input class="squarebox" type="checkbox" name="attr_boons_5_check_1" value="1"/><span></span>
<div class="auto-expand"><span name="attr_boons_5_label">When you support or bolster, the die you give counts as one size larger.</span>
<textarea spellcheck="false" name="attr_boons_5_label">When you support or bolster, the die you give counts as one size larger.</textarea>
</div>
</div>
<div class="boon">
<input class="squarebox" type="checkbox" name="attr_boons_6_check_1" value="1"/><span></span>
<div class="auto-expand"><span name="attr_boons_6_label">When you mark Pathos for an extra domain, take two extra dice instead of one.</span>
<textarea spellcheck="false" name="attr_boons_6_label">When you mark Pathos for an extra domain, take two extra dice instead of one.</textarea>
</div>
</div>
<div class="boon">
<input class="squarebox" type="checkbox" name="attr_boons_7_check_1" value="1"/><span></span>
<div class="auto-expand"><span name="attr_boons_7_label">When you spend Divine Favor, roll +2d4 and keep the highest.</span>
<textarea spellcheck="false" name="attr_boons_7_label">When you spend Divine Favor, roll +2d4 and keep the highest.</textarea>
</div>
</div>
</div>
</div>
<div class="virtues">
<input class="title" type="text" spellcheck="false" name="attr_virtues_label" value="Virtues"/>
<div class="virtue">
<input class="value" type="number" name="attr_acumen" value="0"/>
<input class="title" type="text" spellcheck="false" name="attr_acumen_label" value="Acumen"/>
</div>
<div class="virtue">
<input class="value" type="number" name="attr_courage" value="0"/>
<input class="title" type="text" spellcheck="false" name="attr_courage_label" value="Courage"/>
</div>
<div class="virtue">
<input class="value" type="number" name="attr_grace" value="0"/>
<input class="title" type="text" spellcheck="false" name="attr_grace_label" value="Grace"/>
</div>
<div class="virtue">
<input class="value" type="number" name="attr_passion" value="0"/>
<input class="title" type="text" spellcheck="false" name="attr_passion_label" value="Passion"/>
</div>
</div>
</div>
<div class="sheet-type-strife">
<div class="vault-of-heaven">
<input class="title" type="text" spellcheck="false" name="attr_the_vault_of_heaven_label" value="The Vault of Heaven"/>
<div class="vault-stars">
<div class="godname name-aphrodite"><span name="attr_aphrodite_label"></span></div>
<label class="favor-aphrodite-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_aphrodite_1" value="1"/><span></span>
</label>
<label class="favor-aphrodite-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_aphrodite_2" value="1"/><span></span>
</label>
<label class="favor-aphrodite-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_aphrodite_3" value="1"/><span></span>
</label>
<div class="godname name-ares"><span name="attr_ares_label"></span></div>
<label class="favor-ares-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_ares_1" value="1"/><span></span>
</label>
<label class="favor-ares-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_ares_2" value="1"/><span></span>
</label>
<label class="favor-ares-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_ares_3" value="1"/><span></span>
</label>
<div class="godname name-athena"><span name="attr_athena_label"></span></div>
<label class="favor-athena-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_athena_1" value="1"/><span></span>
</label>
<label class="favor-athena-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_athena_2" value="1"/><span></span>
</label>
<label class="favor-athena-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_athena_3" value="1"/><span></span>
</label>
<div class="godname name-hekate"><span name="attr_hekate_label"></span></div>
<label class="favor-hekate-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_hekate_1" value="1"/><span></span>
</label>
<label class="favor-hekate-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_hekate_2" value="1"/><span></span>
</label>
<label class="favor-hekate-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_hekate_3" value="1"/><span></span>
</label>
<div class="godname name-hera"><span name="attr_hera_label"></span></div>
<label class="favor-hera-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_hera_1" value="1"/><span></span>
</label>
<label class="favor-hera-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_hera_2" value="1"/><span></span>
</label>
<label class="favor-hera-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_hera_3" value="1"/><span></span>
</label>
<div class="godname name-poseidon"><span name="attr_poseidon_label"></span></div>
<label class="favor-poseidon-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_poseidon_1" value="1"/><span></span>
</label>
<label class="favor-poseidon-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_poseidon_2" value="1"/><span></span>
</label>
<label class="favor-poseidon-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_poseidon_3" value="1"/><span></span>
</label>
<div class="godname name-apollo"><span name="attr_apollo_label"></span></div>
<label class="favor-apollo-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_apollo_1" value="1"/><span></span>
</label>
<label class="favor-apollo-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_apollo_2" value="1"/><span></span>
</label>
<label class="favor-apollo-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_apollo_3" value="1"/><span></span>
</label>
<div class="godname name-artemis"><span name="attr_artemis_label"></span></div>
<label class="favor-artemis-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_artemis_1" value="1"/><span></span>
</label>
<label class="favor-artemis-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_artemis_2" value="1"/><span></span>
</label>
<label class="favor-artemis-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_artemis_3" value="1"/><span></span>
</label>
<div class="godname name-demeter"><span name="attr_demeter_label"></span></div>
<label class="favor-demeter-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_demeter_1" value="1"/><span></span>
</label>
<label class="favor-demeter-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_demeter_2" value="1"/><span></span>
</label>
<label class="favor-demeter-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_demeter_3" value="1"/><span></span>
</label>
<div class="godname name-hephaistos"><span name="attr_hephaistos_label"></span></div>
<label class="favor-hephaistos-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_hephaistos_1" value="1"/><span></span>
</label>
<label class="favor-hephaistos-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_hephaistos_2" value="1"/><span></span>
</label>
<label class="favor-hephaistos-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_hephaistos_3" value="1"/><span></span>
</label>
<div class="godname name-hermes"><span name="attr_hermes_label"></span></div>
<label class="favor-hermes-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_hermes_1" value="1"/><span></span>
</label>
<label class="favor-hermes-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_hermes_2" value="1"/><span></span>
</label>
<label class="favor-hermes-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_hermes_3" value="1"/><span></span>
</label>
<div class="godname name-zeus"><span name="attr_zeus_label"></span></div>
<label class="favor-zeus-1">
<input class="diamondbox large" type="checkbox" name="attr_favor_zeus_1" value="1"/><span></span>
</label>
<label class="favor-zeus-2">
<input class="diamondbox large" type="checkbox" name="attr_favor_zeus_2" value="1"/><span></span>
</label>
<label class="favor-zeus-3">
<input class="diamondbox large" type="checkbox" name="attr_favor_zeus_3" value="1"/><span></span>
</label>
</div>
<div class="wrath">
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_aphrodite_label" value="Aphrodite"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_aphrodite_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_aphrodite_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_aphrodite_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_ares_label" value="Ares"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_ares_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_ares_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_ares_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_athena_label" value="Athena"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_athena_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_athena_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_athena_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_hekate_label" value="Hekate"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_hekate_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hekate_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hekate_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_hera_label" value="Hera"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_hera_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hera_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hera_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_poseidon_label" value="Poseidon"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_poseidon_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_poseidon_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_poseidon_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_apollo_label" value="Apollo"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_apollo_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_apollo_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_apollo_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_artemis_label" value="Artemis"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_artemis_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_artemis_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_artemis_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_demeter_label" value="Demeter"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_demeter_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_demeter_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_demeter_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_hephaistos_label" value="Hephaistos"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_hephaistos_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hephaistos_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hephaistos_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_hermes_label" value="Hermes"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_hermes_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hermes_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_hermes_3" value="1"/><span></span>
</div>
</div>
<div class="box">
<input class="title" type="text" spellcheck="false" name="attr_zeus_label" value="Zeus"/>
<div class="checks">
<input class="trianglebox" type="checkbox" name="attr_wrath_zeus_1" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_zeus_2" value="1"/><span></span>
<div class="floatingbar"></div>
<input class="trianglebox" type="checkbox" name="attr_wrath_zeus_3" value="1"/><span></span>
</div>
</div>
</div>
</div>
<!--
.roller
.harm
each harm in ["epic", "mythic", "perilous", "sacred"]
.harmbox
+text-input(`${harm}_label`)(value=locals.translation[harm]).title
+checkbox(harm).squarebox
.divine-wrath
+text-input("divine_wrath_label")(value=locals.translation["divine_wrath"]).title
.checks
each die in ["d8", "d10", "d12"]
label
+checkbox("divine_wrath")(value=die).trianglebox
span=die
.strife-level
+text-input("plus_strife_level_label")(value=locals.translation["plus_strife_level"]).title
.checks
each level in ["0", "4", "5", "6"]
label
input(name="attr_strife_level", type="radio", value=level, checked=(level=="5"))
span=`+${level}`
button(
class="strife-button"
name="roll_strife",
type="roll",
data-i18n="roll_strife"
value="&{template:agon-strife} @{strife_formula} {{type=@{domain_query}}}"
)
.dice
fieldset.repeating_strifedie
+text-input("strifedie_name")(data-i18n-placeholder="die_placeholder")
+die-select("strifedie_size", ["d6", "d8", "d10", "d12"], "d8")
-->
<div class="destinies">
<input class="title" type="text" spellcheck="false" name="attr_island_destinies_label" value="Island Destinies"/>
<fieldset class="repeating_destiny">
<input class="name" type="text" spellcheck="false" name="attr_destiny_name" data-i18n-placeholder="name"/>
<div class="auto-expand notes"><span name="attr_destiny_notes"></span>
<textarea spellcheck="false" name="attr_destiny_notes"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="sheet-type-island">
<div class="stats">
<div class="island-name">
<input type="text" spellcheck="false" name="attr_character_name" data-i18n-placeholder="island_name"/>
</div>
<div class="divine-wrath">
<input class="title" type="text" spellcheck="false" name="attr_divine_wrath_label" value="Divine Wrath"/>
<div class="checks">
<label>
<input class="trianglebox" type="checkbox" name="attr_divine_wrath" value="d8"/><span></span><span>d8</span>
</label>
<label>
<input class="trianglebox" type="checkbox" name="attr_divine_wrath" value="d10"/><span></span><span>d10</span>
</label>
<label>
<input class="trianglebox" type="checkbox" name="attr_divine_wrath" value="d12"/><span></span><span>d12</span>
</label>
</div>
</div>
<div class="strife-level">
<input class="title" type="text" spellcheck="false" name="attr_plus_strife_level_label" value="Strife Level"/>
<div class="checks">
<label>
<input name="attr_strife_level" type="radio" value="0"/><span>+0</span>
</label>
<label>
<input name="attr_strife_level" type="radio" value="4"/><span>+4</span>
</label>
<label>
<input name="attr_strife_level" type="radio" value="5" checked="checked"/><span>+5</span>
</label>
<label>
<input name="attr_strife_level" type="radio" value="6"/><span>+6</span>
</label>
</div>
</div>
</div>
<fieldset class="repeating_characters">
<input type="hidden" name="attr_strife_formula" value="{{roll=[[{d8[Name] + d8[Epithet]}k1 + @{strife_level}[Strife Level]]]}} {{harm=}}"/>
<!--+text-input("great_deeds_and_trophies_label")(value=locals.translation["great_deeds_and_trophies"]).title-->
<div class="roller">
<div class="dice">
<div class="strife-dice">
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_1"/>
<div class="strifedie default">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_1" value="1" checked="checked"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_1" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_1" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_1" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_1" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_1" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_1" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_1" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_1" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_1" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_1">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_2"/>
<div class="strifedie default">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_2" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_2" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_2" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_2" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_2" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_2" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_2" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_2" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_2" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_2" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_2">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_3"/>
<div class="strifedie default">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_3" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_3" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_3" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_3" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_3" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_3" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_3" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_3" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_3" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_3" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_3">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_4"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_4" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_4" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_4" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_4" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_4" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_4" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_4" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_4" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_4" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_4" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_4">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_5"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_5" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_5" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_5" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_5" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_5" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_5" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_5" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_5" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_5" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_5" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_5">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_6"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_6" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_6" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_6" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_6" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_6" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_6" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_6" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_6" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_6" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_6" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_6">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_7"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_7" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_7" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_7" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_7" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_7" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_7" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_7" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_7" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_7" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_7" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_7">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_8"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_8" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_8" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_8" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_8" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_8" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_8" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_8" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_8" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_8" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_8" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_8">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_9"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_9" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_9" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_9" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_9" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_9" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_9" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_9" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_9" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_9" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_9" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_9">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_10"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_10" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_10" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_10" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_10" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_10" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_10" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_10" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_10" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_10" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_10" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_10">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_11"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_11" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_11" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_11" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_11" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_11" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_11" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_11" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_11" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_11" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_11" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_11">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
<input class="strifedie-name" type="hidden" name="attr_strifedie_name_12"/>
<div class="strifedie">
<div class="enabled">
<input class="squarebox" type="checkbox" name="attr_strifedie_enabled_12" value="1"/><span></span>
</div>
<input type="text" spellcheck="false" name="attr_strifedie_name_12" data-i18n-placeholder="die_placeholder"/>
<div class="harm">
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_epic_label_12" value="Epic"/>
<input class="squarebox" type="checkbox" name="attr_epic_12" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_mythic_label_12" value="Mythic"/>
<input class="squarebox" type="checkbox" name="attr_mythic_12" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_perilous_label_12" value="Perilous"/>
<input class="squarebox" type="checkbox" name="attr_perilous_12" value="1"/><span></span>
</div>
<div class="harmbox">
<input class="title" type="text" spellcheck="false" name="attr_sacred_label_12" value="Sacred"/>
<input class="squarebox" type="checkbox" name="attr_sacred_12" value="1"/><span></span>
</div>
</div>
<select name="attr_strifedie_size_12">
<option value="d6">d6</option>
<option value="d8" selected="selected">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="2d6">2d6</option>
<option value="2d8">2d8</option>
<option value="2d10">2d10</option>
<option value="2d12">2d12</option>
</select>
</div>
</div>
</div>
<div class="roll">
<button class="strife-button" name="roll_strife" type="roll" data-i18n="roll_strife" value="&amp;{template:agon-strife} @{strife_formula} {{type=@{domain_query}}}"></button>
</div>
</div>
<div class="cnotes">
<!--+text-input("great_deeds_and_trophies_label")(value=locals.translation["great_deeds_and_trophies"]).title-->
<div class="auto-expand notes"><span name="attr_style_notes"></span>
<textarea spellcheck="false" name="attr_style_notes" data-i18n-placeholder="notes"></textarea>
</div>
</div>
</fieldset>
</div>
<input accept="Category" name="attr_drop_category" type="hidden"/>
<input accept="Name" name="attr_drop_name" type="hidden"/>
<input accept="data" name="attr_drop_data" type="hidden"/>
<input accept="Content" name="attr_drop_content" type="hidden"/>
<input name="attr_token_src" type="hidden"/>
<input name="attr_token_size" type="hidden" value="1"/>
</div>
<rolltemplate class="sheet-rolltemplate-agon-hero">{{#rollGreater() obstacle roll}}
<div class="suffers"></div>{{/rollGreater() obstacle roll}} {{#^rollGreater() obstacle roll}}
<div class="prevails"></div>{{/^rollGreater() obstacle roll}}
<div class="holder">
<div class="type type-{{type}}"></div>
<div class="target">{{obstacle}}</div>
<div class="result">{{roll}}</div>
<div class="name">{{epithet}} {{name}}</div>{{#rollGreater() obstacle roll}}
<div class="description" data-i18n="roll_suffers"></div>{{/rollGreater() obstacle roll}} {{#^rollGreater() obstacle roll}}
<div class="description" data-i18n="roll_prevails"></div>{{/^rollGreater() obstacle roll}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-agon-strife">
<div class="holder">
<div class="type type-{{type}}"></div>
<div class="harm">{{harm}}</div>
<div class="roll">{{roll}}</div>
</div>
</rolltemplate>
<script type="text/worker">(function () {
/* global on, setAttrs, getAttrs, getSectionIDs, getTranslationByKey,
generateRowID, removeRepeatingRow, _ */
"use strict";
function getTranslation(key) {
return getTranslationByKey(key) || `TRANSLATION_KEY_UNDEFINED: ${key}`;
}
function query(question, options) {
return `?{${getTranslation(question)}|${options.join("|")}}`;
}
function fillRepeatingSectionFromData(sectionName, dataList, setter) {
const createdIDs = [];
for (const entry of dataList) {
let rowID;
while (!rowID) {
const newID = generateRowID();
if (!createdIDs.includes(newID)) {
rowID = newID;
createdIDs.push(rowID);
}
}
const row = setter.addRepeatingRow(sectionName, rowID);
for (const [key, value] of Object.entries(entry)) {
row[key] = value;
}
}
}
function fillEmptyRows(sectionName, n, setter) {
const data = [...Array(n).keys()].map(() => ({ autogen: "1" }));
fillRepeatingSectionFromData(sectionName, data, setter);
}
const attributeHandler = {
get: function (target, name) {
return target.getAttr(name);
},
set: function (target, name, value) {
target.setAttr(name, value);
return true;
},
};
class RepeatingRow {
constructor(setter, sectionName, id) {
this._setter = setter;
if (id) this._prefix = `repeating_${sectionName}_${id}`;
else this._prefix = `repeating_${sectionName}`;
this._id = id;
}
fullName(attrName) {
return `${this._prefix}_${attrName}`;
}
setAttr(name, value) {
return this._setter.setAttr(this.fullName(name), value);
}
getAttr(name) {
if (name == "id") return this._id;
return this._setter.getAttr(this.fullName(name));
}
proxy() {
return new Proxy(this, attributeHandler);
}
}
class AttributeSetter {
constructor(attrs, sectionToIds = {}) {
this._sourceAttrs = attrs;
this._targetAttrs = {};
this._repeating = new Proxy({}, {
get: function (target, name) {
if (!target[name]) target[name] = [];
return target[name];
},
});
for (const [sectionName, sectionIds] of Object.entries(sectionToIds)) {
this._repeating[sectionName] = sectionIds.map((id) =>
new RepeatingRow(this, sectionName, id).proxy()
);
}
}
setAttr(name, value) {
if (name == "repeating") {
throw new Error("Tried to modify the 'repeating' attribute.");
}
this._sourceAttrs[name] = value;
this._targetAttrs[name] = value;
}
setAttrs(values) {
for (const [key, value] of Object.entries(values)) {
this.setAttr(key, value);
}
}
getAttr(name) {
if (name == "repeating") return this._repeating;
return this._sourceAttrs[name];
}
proxy() {
return new Proxy(this, attributeHandler);
}
addRepeatingRow(sectionName, id) {
id = id || generateRowID();
const row = new RepeatingRow(this, sectionName, id).proxy();
this._repeating[sectionName].push(row);
return row;
}
finalize(callback) {
getAttrs(Object.keys(this._targetAttrs), (values) => {
const finalAttrs = {};
for (const [key, value] of Object.entries(this._targetAttrs)) {
if (String(value) !== values[key]) finalAttrs[key] = String(value);
}
setAttrs(finalAttrs, { silent: true }, callback);
});
}
}
function getSetAttrs(attrs, callback, { repeating = {}, finalCallback } = {}) {
attrs = [...attrs];
const sectionToIds = {};
const finished = _.after(Object.keys(repeating).length + 1, () => {
getAttrs(attrs, (values) => {
const setter = new AttributeSetter(values, sectionToIds);
callback(setter.proxy(), setter);
setter.finalize(finalCallback);
});
});
for (const [sectionName, sectionAttrs] of Object.entries(repeating)) {
getSectionIDs(`repeating_${sectionName}`, (idArray) => {
sectionToIds[sectionName] = idArray;
for (const id of idArray) {
for (const attr of sectionAttrs) {
attrs.push(`repeating_${sectionName}_${id}_${attr}`);
}
}
finished();
});
}
finished();
}
// We define our own wrappers for Roll20 event handlers to provide
// a bit more useful feedback and reduce boilerplate.
function register(attrs, callback, handlerName = "handler") {
console.log(`Registering ${handlerName} for attributes: ${attrs.join(", ")}`);
on(attrs.map((x) => `change:${x}`).join(" "), (event) => {
console.log(
`Triggering ${handlerName} for attribute: ${event.sourceAttribute}.`
);
callback(event);
});
}
function registerOpened(callback, handlerName = "handler") {
console.log(`Registering ${handlerName} for sheet opening.`);
on("sheet:opened", () => {
console.log(`Triggering ${handlerName} for sheet opening.`);
callback();
});
}
function registerSingle(attr, handler, handlerName = "handler") {
register([attr], () => getSetAttrs([attr], handler), handlerName);
registerOpened(() => getSetAttrs([attr], handler), handlerName);
}
function registerButton(buttonName, callback, handlerName = "handler") {
console.log(`Registering ${handlerName} for button: ${buttonName}.`);
const throttledFunction = _.throttle(
(event) => {
console.log(`Triggering ${handlerName} for button: ${buttonName}.`);
callback(event);
},
50,
{ trailing: false }
);
on(`clicked:${buttonName}`, throttledFunction);
}
function registerCompediumDrop(callback, handlerName = "handler") {
console.log(`Registering ${handlerName} for compedium drop.`);
on("sheet:compendium-drop", () => {
console.log(`Triggering ${handlerName} for compedium drop.`);
callback();
});
}
/* Constants */
const kSheetVersion = "2";
const kBrace = "&" + "#125" + ";";
const kDoubleBrace = kBrace + kBrace;
const kExtraEpithetField = "boons_4_check_1";
const kPathosGivesTwoDiceField = "boons_6_check_1";
const kSpendDivineFavorBoon = "boons_7_check_1";
const kHarms = ["epic", "mythic", "perilous", "sacred"];
const kSrifeDiceLength = 12;
const kRepeatingCharacters = "repeating_characters";
const kDropCategory = "drop_category";
const kDomains = [
"arts_oration",
"blood_valor",
"craft_reason",
"resolve_spirit",
];
const kInitialStrifeDice = [
{
strifedie_name: getTranslation("name"),
},
{
strifedie_name: getTranslation("epithet"),
},
];
const kLabelAttributes = [
"glory",
"epithet",
"name",
"lineage_pronouns",
"lineage_pronouns",
"honored_god",
"honored_god",
"domains",
"arts_oration",
"blood_valor",
"craft_reason",
"resolve_spirit",
"divine_favor",
"authority",
"zeus",
"beauty",
"aphrodite",
"conviction",
"demeter",
"cunning",
"hera",
"daring",
"hermes",
"ferocity",
"ares",
"fortitude",
"poseidon",
"ingenuity",
"hephaistos",
"insight",
"hekate",
"knowledge",
"apollo",
"precision",
"artemis",
"wisdom",
"athena",
"style_notes",
"recite_your_deeds",
"recite_top",
"recite_top",
"arts_oration",
"recite_arts_oration",
"recite_arts_oration",
"blood_valor",
"recite_blood_valor",
"recite_blood_valor",
"craft_reason",
"recite_craft_reason",
"recite_craft_reason",
"resolve_spirit",
"recite_resolve_spirit",
"recite_resolve_spirit",
"recite_bottom",
"recite_bottom",
"pathos",
"agony",
"fate",
"bonds",
"bond_use_top",
"bond_use_top",
"bond_use_1",
"bond_use_1",
"bond_use_2",
"bond_use_2",
"bond_use_3",
"bond_use_3",
"great_deeds_and_trophies",
"boons",
"boons_1",
"boons_1",
"boons_2",
"boons_2",
"boons_3",
"boons_3",
"boons_4",
"boons_4",
"boons_5",
"boons_5",
"boons_6",
"boons_6",
"boons_7",
"boons_7",
"virtues",
"acumen",
"courage",
"grace",
"passion",
"the_vault_of_heaven",
"divine_wrath",
"plus_strife_level",
"island_destinies",
"epic",
"mythic",
"perilous",
"sacred",
];
function performFirstTimeSetup(attrs, setter) {
fillEmptyRows("bonds", 8, setter);
fillEmptyRows("deeds", 4, setter);
fillEmptyRows("destiny", 6, setter);
fillRepeatingSectionFromData("strifedie", kInitialStrifeDice, setter);
for (const name of kLabelAttributes) {
attrs[`${name}_label`] = getTranslation(name);
}
}
function setupEpithetQuery(attrs) {
const kNameDice = "roll=[[{@{name_die}[@{name_label}]";
const epithet_options = [
`${getTranslation("none")},${kNameDice}`,
`@{epithet},epithet=@{epithet}${kDoubleBrace} {{${kNameDice} + @{epithet_die}[@{epithet_label}]`,
];
if (attrs[kExtraEpithetField] === "1") {
const and = getTranslation("and");
epithet_options.push(
...[
`@{epithet_2},epithet=@{epithet_2}${kDoubleBrace} {{${kNameDice} + @{epithet_die}[@{epithet_label}]`,
`@{epithet} ${and} @{epithet_2},epithet=@{epithet} ${and} @{epithet_2}${kDoubleBrace} {{${kNameDice} + 2@{epithet_die}[@{epithet_label}]`,
]
);
}
attrs["epithet_and_name_query"] = query("epithet_die", epithet_options);
}
function setupDomainQueries(attrs) {
const multiplier = attrs[kPathosGivesTwoDiceField] === "1" ? "2" : "";
for (const domain of kDomains) {
const query_entries = [
`${getTranslation("no")}, `,
...kDomains
.filter((other) => other != domain)
.map(
(other) =>
`${getTranslation(
other
)}, + ${multiplier}@{${other}_die}[${getTranslation(other)}]`
),
];
attrs[`${domain}_extra_domain_query`] = query(
"add_domain_spend_pathos",
query_entries
);
attrs[`${domain}_translated`] = getTranslation(domain);
}
attrs["domain_query"] = query("domain", [
...kDomains.map((d) => `@{${d}_label},${d}`),
`${getTranslation("any_domain")},any`,
]);
}
function setupDivineFavorQuery(attrs) {
const base_query = query("spend_divine_favor", [0]);
if (attrs[kSpendDivineFavorBoon] === "1") {
attrs["divine_favor_query"] = `[[${base_query} + 2*{${base_query},1}kl1]]`;
} else {
attrs["divine_favor_query"] = base_query;
}
}
function getStrifeDiceAttributes(pre = "") {
let attributes = [];
for(let i=1; i<= kSrifeDiceLength; i++) {
attributes.push(`${pre}strifedie_enabled_${i}`);
attributes.push(`${pre}strifedie_name_${i}`);
attributes.push(`${pre}strifedie_size_${i}`);
kHarms.forEach(harm => {
attributes.push(`${pre}${harm}_${i}`);
});
}
return attributes;
}
function handleStrifeRoll() {
calcStrifeRoll();
}
function calcStrifeRoll() {
getSetAttrs(["divine_wrath"], (attrs) => {
attrs.repeating.characters.forEach(character => {
const dieSources = [];
const harms = [];
for(let i=1; i<= kSrifeDiceLength; i++) {
if(character[`strifedie_enabled_${i}`] && character[`strifedie_enabled_${i}`] == 1 && character[`strifedie_name_${i}`]) {
kHarms.forEach(harm => {
if(character[`${harm}_${i}`] && character[`${harm}_${i}`] == 1) {
harms.push(harm);
}
});
dieSources.push([character[`strifedie_name_${i}`], character[`strifedie_size_${i}`]]);
}
}
if (attrs["divine_wrath"] !== "0") dieSources.push(["@{divine_wrath_label}", "@{divine_wrath}"]);
const dieFormula = dieSources
.map(([name, die]) => `${die}[${name}]`)
.join(" + ");
const harmType = Array.from(new Set(harms)).sort();
const formula = `{{roll=[[{${dieFormula}}k1 + @{strife_level}[${getTranslation("strife_level")}]]]}} {{harm=${harmType}}}`;
character[`strife_formula`] = formula;
});
},{repeating: {characters: ["strife_formula", ...getStrifeDiceAttributes()]}});
}
function safeGuardDiceSize(roll) {
return roll.toLowerCase().replace(/\b[^2]?d/g, 'd');
}
function joinNameAndTags(characters) {
let joined = [];
characters.forEach(character => {
let joinedChar = {};
if(character.tags) {
joinedChar.rolls = JSON.parse(character.tags);
joinedChar.rolls.forEach(roll => {
if(roll.dice) roll.dice = safeGuardDiceSize(roll.dice);
if(roll.harm) roll.harm = Object.keys(roll.harm);
});
}
let firstTag = {};
firstTag.name = character.name;
firstTag.dice = safeGuardDiceSize(character.dice);
if(character.harm) firstTag.harm = Object.keys(JSON.parse(character.harm));
joinedChar.rolls = [firstTag, ...joinedChar.rolls];
if(character.notes) joinedChar.notes = character.notes;
joined.push(joinedChar);
});
return joined;
}
function handleIsland() {
console.log("Handling Island Drop.");
getSetAttrs(["drop_name", "drop_data", "drop_content", "character_id", "token_src", "token_size", "sheet_type"], (attrs, setter) => {
let pagedata = {};
try {
pagedata = JSON.parse(attrs.drop_data);
} catch(e) {
console.log("Invalid drop-Data attribute");
pagedata = attrs.drop_data;
}
let category = pagedata["Category"];
let characters = [];
try {
characters = joinNameAndTags(JSON.parse(pagedata["data-characters"]));
} catch(e) {
console.log("Invalid data-Character page attribute");
characters = [];
}
attrs.sheet_type = "island";
if(pagedata["Token"]) attrs.token_src = pagedata["Token"];
if(pagedata["Token Size"]) attrs.token_size = pagedata["Token Size"];
let charactersData = [];
characters.forEach(character => {
let newCharacter = {};
let harmType = [];
for(let i=0; i<character.rolls.length; i++) {
newCharacter[`strifedie_name_${i+1}`] = character.rolls[i].name;
newCharacter[`strifedie_size_${i+1}`] = character.rolls[i].dice;
if(character.rolls[i].harm && Array.isArray(character.rolls[i].harm)) {
character.rolls[i].harm.forEach(type => {
const lType = type.toLowerCase();
if(kHarms.indexOf(lType) > -1) {
newCharacter[`${lType}_${i+1}`] = 1
if(i == 0) harmType.push(type);
}
});
}
}
if(character.notes) newCharacter["style_notes"] = character.notes;
const formula = `{{roll=[[{${character.rolls[0].dice}[${character.rolls[0].name}]}k1 + 5[${getTranslation("strife_level")}]]]}} {{harm=${harmType}}}`;
newCharacter.strife_formula = formula;
charactersData.push(newCharacter);
});
fillRepeatingSectionFromData("characters", charactersData, setter);
});
}
function handleCompediumDrop() {
getSetAttrs(["token_size", "token_src"], (attrs) => {
if(attrs.token_size) {
let tokenUpdate = {};
if(attrs.token_src) tokenUpdate.imgsrc = attrs['token_src'];
tokenUpdate.width = 70 * parseInt(attrs.token_size);
tokenUpdate.height = 70 * parseInt(attrs.token_size);
setDefaultToken(tokenUpdate);
}
});
}
registerSingle(
kPathosGivesTwoDiceField,
setupDomainQueries,
"Handle giving two dice for extra domain"
);
registerSingle(
kExtraEpithetField,
setupEpithetQuery,
"Handle adding or removing an extra epithet"
);
registerSingle(
kSpendDivineFavorBoon,
setupDivineFavorQuery,
"Handle boon for getting +2d4 on spending divine favor"
);
register(
[kRepeatingCharacters],
handleStrifeRoll,
"Handle generating strife roll query"
);
register(
[kDropCategory],
handleIsland,
"Handle generating strife roll query"
);
registerCompediumDrop(
handleCompediumDrop
);
registerOpened(function () {
getSetAttrs(["version"], function (attrs, setter) {
if (!attrs["version"]) performFirstTimeSetup(attrs, setter);
if (attrs["version"] == "1.0") {
attrs["sheet_type"] = "character";
}
setter.setAttrs({
advantage_bond_support_translated: getTranslation(
"advantage_bond_support"
),
bonusdice_query: query("bonusdice_query", [0]),
target_query: query("target_number", [0]),
version: kSheetVersion,
});
});
}, "Handle setting default attributes when opening the sheet");
registerButton("choose_character", () =>
getSetAttrs([], (attrs) => {
attrs["sheet_type"] = "character";
})
);
registerButton("choose_strife", () =>
getSetAttrs([], (attrs) => {
attrs["sheet_type"] = "strife";
})
);
registerButton("choose_island", () =>
getSetAttrs([], (attrs) => {
attrs["sheet_type"] = "island";
})
);}
)();
//# sourceURL=agon.js
</script>