Files
roll20-character-sheets/Mythcraft/sheet.html
T

252 lines
47 KiB
HTML

<input name="attr_version" type="hidden" value="1"/><input name="attr_latest_versioning_upgrade" type="hidden" value="1"/><input type="hidden" name="attr_action_points_base" value="3"/><input type="hidden" name="attr_hit_points_base" value="10"/><input type="hidden" name="attr_hit_die_formula" value="10+0+0"/><input type="hidden" name="attr_set_hit_points" value="2"/><input type="hidden" name="attr_hit_point_die" value="1d4"/><input type="hidden" name="attr_never_crit"/><input type="hidden" name="attr_luck_negative_modifier" value="0"/><input type="hidden" name="attr_luck_critical_modifier" value="0"/><input type="hidden" name="attr_critical_range_base" value="20"/><input type="hidden" name="attr_critical_range" value="20"/><input type="hidden" name="attr_armor_rating_base" value="10"/><input type="hidden" name="attr_reflexes_base" value="10"/><input type="hidden" name="attr_fortitude_base" value="10"/><input type="hidden" name="attr_anticipation_base" value="10"/><input type="hidden" name="attr_logic_base" value="10"/><input type="hidden" name="attr_willpower_base" value="10"/><input class="type" name="attr_sheet_type" type="hidden" value="character"/><input class="display_string" name="attr_character_settings" type="hidden" value=""/><div class="pc p-2 w-full h-full"><input type="hidden" name="attr_tab" value="main"/><div class="header grid gap-4 mb-4"><div class="flex flex-wrap flex-row gap-4"><div class="logo grow-0"><img src="images/logo.png"/></div><div class="grid gap-1 grow bio"><div class="grid grid-flow-col gap-1"><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="character name"></h2><label data-i18n-title="enter character name" title="enter character name"><input data-i18n-placeholder="character name" name="attr_character_name" placeholder="character name" title="@{character_name}" type="text" value=""/></label></div><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="lineage"></h2><label data-i18n-title="enter lineage" title="enter lineage"><input data-i18n-placeholder="lineage" name="attr_lineage" placeholder="lineage" title="@{lineage}" type="text" value=""/></label></div></div><div class="grid grid-flow-col gap-1"><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="level"></h2><label data-i18n-title="enter level" title="enter level"><input data-i18n-placeholder="level" name="attr_level" placeholder="level" title="@{level}" type="text" value=""/></label></div><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="height"></h2><label data-i18n-title="enter height" title="enter height"><input data-i18n-placeholder="height" name="attr_height" placeholder="height" title="@{height}" type="text" value=""/></label></div><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="weight"></h2><label data-i18n-title="enter weight" title="enter weight"><input data-i18n-placeholder="weight" name="attr_weight" placeholder="weight" title="@{weight}" type="text" value=""/></label></div></div><div class="grid grid-flow-col gap-1"><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="eye color"></h2><label data-i18n-title="enter eye color" title="enter eye color"><input data-i18n-placeholder="eye color" name="attr_eye_color" placeholder="eye color" title="@{eye_color}" type="text" value=""/></label></div><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="hair color"></h2><label data-i18n-title="enter hair color" title="enter hair color"><input data-i18n-placeholder="hair color" name="attr_hair_color" placeholder="hair color" title="@{hair_color}" type="text" value=""/></label></div><div class="grid col-auto-fr gap-1 grid-flow-col items-center"><h2 data-i18n="other"></h2><label data-i18n-title="enter other" title="enter other"><input data-i18n-placeholder="other" name="attr_other" placeholder="other" title="@{other}" type="text" value=""/></label></div></div></div></div><div class="grid gap-2 grid-flow-col auto-cols-min"><div class="grid radio-button"><input type="radio" name="attr_tab" value="main"/><span data-i18n="main"></span></div><div class="grid radio-button"><input type="radio" name="attr_tab" value="combat"/><span data-i18n="combat"></span></div><div class="grid radio-button"><input type="radio" name="attr_tab" value="magic"/><span data-i18n="magic"></span></div><div class="grid radio-button"><input type="radio" name="attr_tab" value="journal"/><span data-i18n="journal"></span></div></div></div><div class="grid gap-4 main"><div class="grid double-border-2 rounded-md content-start p-2 relative personality mb-4"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="personality / background"></h2></div><textarea name="attr_personality_background" placeholder="personality background"></textarea></div><div class="grid gap-4 attributes"><div class="grid attribute justify-center items-center border"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="str"></h3><label data-i18n-title="enter strength" title="enter strength"><input name="attr_strength" title="@{strength}" type="number" value="0"/></label></div><div class="box grid justify-center items-center skill"><h3 class="text-center" data-i18n="skills/bonus"></h3><textarea name="attr_strength_skills_bonus" placeholder="strength skills bonus"></textarea></div></div><div class="grid attribute justify-center items-center border"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="dex"></h3><label data-i18n-title="enter dexterity" title="enter dexterity"><input name="attr_dexterity" title="@{dexterity}" type="number" value="0"/></label></div><div class="box grid justify-center items-center skill"><h3 class="text-center" data-i18n="skills/bonus"></h3><textarea name="attr_dexterity_skills_bonus" placeholder="dexterity skills bonus"></textarea></div></div><div class="grid attribute justify-center items-center border"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="end"></h3><label data-i18n-title="enter endurance" title="enter endurance"><input name="attr_endurance" title="@{endurance}" type="number" value="0"/></label></div><div class="box grid justify-center items-center skill"><h3 class="text-center" data-i18n="skills/bonus"></h3><textarea name="attr_endurance_skills_bonus" placeholder="endurance skills bonus"></textarea></div></div><div class="grid attribute justify-center items-center border"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="luck"></h3><label data-i18n-title="enter luck" title="enter luck"><input name="attr_luck" title="@{luck}" type="number" value="0"/></label></div><div class="box grid justify-center items-center skill"><h3 class="text-center" data-i18n="skills/bonus"></h3><textarea name="attr_luck_skills_bonus" placeholder="luck skills bonus"></textarea></div></div><div class="grid attribute justify-center items-center border"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="awa"></h3><label data-i18n-title="enter awareness" title="enter awareness"><input name="attr_awareness" title="@{awareness}" type="number" value="0"/></label></div><div class="box grid justify-center items-center skill"><h3 class="text-center" data-i18n="skills/bonus"></h3><textarea name="attr_awareness_skills_bonus" placeholder="awareness skills bonus"></textarea></div></div><div class="grid attribute justify-center items-center border"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="int"></h3><label data-i18n-title="enter intellect" title="enter intellect"><input name="attr_intellect" title="@{intellect}" type="number" value="0"/></label></div><div class="box grid justify-center items-center skill"><h3 class="text-center" data-i18n="skills/bonus"></h3><textarea name="attr_intellect_skills_bonus" placeholder="intellect skills bonus"></textarea></div></div><div class="grid attribute justify-center items-center border"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="cha"></h3><label data-i18n-title="enter charisma" title="enter charisma"><input name="attr_charisma" title="@{charisma}" type="number" value="0"/></label></div><div class="box grid justify-center items-center skill"><h3 class="text-center" data-i18n="skills/bonus"></h3><textarea name="attr_charisma_skills_bonus" placeholder="charisma skills bonus"></textarea></div></div><div class="grid rounded-md content-start p-2 repeating-container relative border"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="currency"></h2></div><textarea name="attr_currency" placeholder="currency"></textarea></div></div><div class="grid grid-flow-col grid-cols-2 gap-4"><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative inventory"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="inventory"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3><h3 data-i18n="qty"></h3></div></div><fieldset class="repeating_inventory"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div><div class="grid"><span class="display" name="attr_qty"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="qty"></h4><label data-i18n-title="enter qty" title="enter qty"><input data-i18n-placeholder="qty" name="attr_qty" placeholder="qty" title="@{qty}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative talents"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="talents"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3><h3 data-i18n="level"></h3></div></div><fieldset class="repeating_talents"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div><div class="grid"><span class="display" name="attr_level"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="level"></h4><label data-i18n-title="enter level" title="enter level"><input data-i18n-placeholder="level" name="attr_level" placeholder="level" title="@{level}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div></div><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative abilities"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="abilities"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3></div></div><fieldset class="repeating_abilities"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div></div><div class="grid gap-4 combat"><div class="grid grid-flow-col gap-4"><div class="hit-points grid double-border-2 rounded-md"><div class="max grid justify-center p-2"><h2 class="text-center" data-i18n="max hp"></h2><label data-i18n-title="enter max hp" title="enter max hp"><input name="attr_max_hp" title="@{max_hp}" type="number" value="0"/></label></div><div class="grid grid-flow-col"><div class="grid justify-center p-2 hp"><h2 class="text-center" data-i18n="hp"></h2><label data-i18n-title="enter hp" title="enter hp"><input name="attr_hp" title="@{hp}" type="number" value="0"/></label></div><div class="grid justify-center p-2 shield"><h2 class="text-center" data-i18n="shield"></h2><label data-i18n-title="enter shield" title="enter shield"><input name="attr_shield" title="@{shield}" type="number" value="0"/></label></div></div></div><div class="grid justify-center grid-flow-col gap-4"><div class="grid"><div class="double-border-2 p-2 justify-center rounded-md"><label data-i18n-title="enter armor rating" title="enter armor rating"><input name="attr_armor_rating" title="@{armor_rating}" type="number" value="10"/></label></div><h2 class="text-center" data-i18n="armor rating"></h2></div><div class="grid"><div class="double-border-2 p-2 justify-center rounded-md"><label data-i18n-title="enter speed" title="enter speed"><input name="attr_speed" title="@{speed}" type="number" value="0"/></label></div><h2 class="text-center" data-i18n="speed"></h2></div><div class="grid"><div class="double-border-2 p-2 justify-center rounded-md"><label data-i18n-title="enter death points" title="enter death points"><input name="attr_death_points" title="@{death_points}" type="number" value="0"/></label></div><h2 class="text-center" data-i18n="death points"></h2></div></div></div><div class="grid grid-flow-col"><div class="grid"><div class="double-border-2 p-2 justify-center rounded-md"><label data-i18n-title="enter action points" title="enter action points"><input name="attr_action_points" title="@{action_points}" type="number" value="0"/></label></div><h2 class="text-center" data-i18n="ap/rounded"></h2></div><div class="grid"><div class="grid grid-flow-col gap-2"><h2 class="text-center" data-i18n="special action points"></h2><label data-i18n-title="enter special action points" title="enter special action points"><input name="attr_special_action_points" title="@{special_action_points}" type="number" value="0"/></label></div><div class="grid grid-flow-col"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span></div></div></div><div class="grid gap-4 justify-between items-center attributes"><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="str"></h2><label data-i18n-title="enter strength" title="enter strength"><input name="attr_strength" title="@{strength}" type="number" value="0"/></label></div></div><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="dex"></h2><label data-i18n-title="enter dexterity" title="enter dexterity"><input name="attr_dexterity" title="@{dexterity}" type="number" value="0"/></label></div></div><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="end"></h2><label data-i18n-title="enter endurance" title="enter endurance"><input name="attr_endurance" title="@{endurance}" type="number" value="0"/></label></div></div><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="awa"></h2><label data-i18n-title="enter awareness" title="enter awareness"><input name="attr_awareness" title="@{awareness}" type="number" value="0"/></label></div></div><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="int"></h2><label data-i18n-title="enter intellect" title="enter intellect"><input name="attr_intellect" title="@{intellect}" type="number" value="0"/></label></div></div><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="cha"></h2><label data-i18n-title="enter charisma" title="enter charisma"><input name="attr_charisma" title="@{charisma}" type="number" value="0"/></label></div></div><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="luck"></h2><label data-i18n-title="enter luck" title="enter luck"><input name="attr_luck" title="@{luck}" type="number" value="0"/></label></div></div><div class="grid relative justify-center items-center"><div class="circle rounded-full border grid justify-center items-center font-bold"><h2 class="text-center" data-i18n="coo"></h2><label data-i18n-title="enter coordination" title="enter coordination"><input name="attr_coordination" title="@{coordination}" type="number" value="0"/></label></div></div><div></div><div class="grid relative justify-center items-center reflexes"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="ref"></h3><span class="text-center" name="attr_reflexes"></span></div></div><div class="grid relative justify-center items-center fortitude"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="for"></h3><span class="text-center" name="attr_fortitude"></span></div></div><div class="grid relative justify-center items-center anticipation"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="ant"></h3><span class="text-center" name="attr_anticipation"></span></div></div><div class="grid relative justify-center items-center logic"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="log"></h3><span class="text-center" name="attr_logic"></span></div></div><div class="grid relative justify-center items-center willpower"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="wil"></h3><span class="text-center" name="attr_willpower"></span></div></div><div class="grid relative justify-center items-center undefined"><div class="circle rounded-full border grid justify-center items-center font-bold"><h3 class="text-center" data-i18n="rerolls"></h3><label data-i18n-title="enter rerolls" title="enter rerolls"><input name="attr_rerolls" title="@{rerolls}" type="number" value="0"/></label></div></div></div><div class="grid gap-4 grid-flow-col auto-cols-fr"><div class="grid double-border-2 rounded-md relative"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="attacks &amp; spellcasting"></h2></div></div><div class="grid gap-4"><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative reactive-actions"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="reactive actions"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3></div></div><fieldset class="repeating_reactive_actions"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative conditions"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="conditions"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3></div></div><fieldset class="repeating_conditions"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div></div></div><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative abilities-list"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="abilities list"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3></div></div><fieldset class="repeating_abilities_list"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div></div><div class="grid gap-4 magic"><div class="grid grid-flow-col gap-4 mb-4"><div class="grid double-border-2 rounded-md items-center justify-center"><h2 class="text-center" data-i18n="source / level"></h2><label data-i18n-title="enter source" title="enter source"><input name="attr_source" title="@{source}" type="number" value="0"/></label></div><div class="grid grid-flow-col gap-4 items-center"><div class="grid"><div class="double-border-2 p-2 justify-center rounded-md"><label data-i18n-title="enter max spell points" title="enter max spell points"><input name="attr_max_spell_points" title="@{max_spell_points}" type="number" value="0"/></label></div><h2 class="text-center" data-i18n="max spell points"></h2></div><div class="grid"><div class="double-border-2 p-2 justify-center rounded-md"><label data-i18n-title="enter current spell points" title="enter current spell points"><input name="attr_current_spell_points" title="@{current_spell_points}" type="number" value="0"/></label></div><h2 class="text-center" data-i18n="current spell points"></h2></div><div class="grid"><div class="double-border-2 p-2 justify-center rounded-md"><label data-i18n-title="enter spellcasting ability" title="enter spellcasting ability"><input name="attr_spellcasting_ability" title="@{spellcasting_ability}" type="number" value="0"/></label></div><h2 class="text-center" data-i18n="spellcasting ability"></h2></div></div></div><div class="grid gap-4 items-center"><div class="grid double-border-2 rounded-md content-start p-2 source-magic relative repeating-container"><div class="grid gap-2 items-center justify-center absolute title"><label data-i18n-title="enter source magic" title="enter source magic"><input data-i18n-placeholder="source magic" name="attr_source_magic" placeholder="source magic" title="@{source_magic}" type="text" value=""/></label><h2 class="text-center" data-i18n="source magic"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3><h3 data-i18n="apc"></h3></div></div><fieldset class="repeating_source_magic"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div><div class="grid"><span class="display" name="attr_apc"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="apc"></h4><label data-i18n-title="enter apc" title="enter apc"><input data-i18n-placeholder="apc" name="attr_apc" placeholder="apc" title="@{apc}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative rituals"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="rituals"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3></div></div><fieldset class="repeating_rituals"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative spells"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="spells"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3><h3 data-i18n="apc"></h3><h3 data-i18n="spc"></h3></div></div><fieldset class="repeating_spells"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div><div class="grid"><span class="display" name="attr_apc"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="apc"></h4><label data-i18n-title="enter apc" title="enter apc"><input data-i18n-placeholder="apc" name="attr_apc" placeholder="apc" title="@{apc}" type="text" value=""/></label></div></div><div class="grid"><span class="display" name="attr_spc"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="spc"></h4><label data-i18n-title="enter spc" title="enter spc"><input data-i18n-placeholder="spc" name="attr_spc" placeholder="spc" title="@{spc}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div></div></div><div class="grid gap-4 journal"><div class="grid double-border-2 rounded-md content-start p-2 relative"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="additional background &amp; occupation info"></h2></div><textarea name="attr_additional_background_occupation_info" placeholder="additional background occupation info"></textarea></div><div class="grid gap-4 grid-flow-col auto-cols-fr"><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative location-request-contacts"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="location request contacts"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3></div></div><fieldset class="repeating_location_request_contacts"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div><div class="grid justify-center gap-4 resources"><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="resources"></h2></div><fieldset class="repeating_resources"><div class="grid content-start p-2"><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label><div class="grid gap-2 grid-flow-col"><label data-i18n-title="enter current" title="enter current"><input name="attr_current" title="@{current}" type="number" value="0"/></label><label data-i18n-title="enter max" title="enter max"><input name="attr_max" title="@{max}" type="number" value="0"/></label></div></div><div class="grid"><h3 class="text-center" data-i18n="current/max"></h3></div></fieldset></div></div></div><div class="grid double-border-2 rounded-md content-start p-2 repeating-container relative journal"><div class="grid gap-2 items-center justify-center absolute title"><h2 class="px-2 text-center" data-i18n="journal"></h2></div><div class="grid grid-flow-col gap-2 mb-2 border-bottom subheaders"><div class="grid grid-flow-col gap-2 custom-grid"><h3 data-i18n="name"></h3><h3 data-i18n="date"></h3></div></div><fieldset class="repeating_journal"><div class="grid descriptor relative gap-1"><input class="flag" name="attr_flag" title="edit flag" type="checkbox" value="true" checked="checked"/><span class="pictos">p</span><div class="grid grid-flow-col gap-2 custom-grid"><div class="grid"><span class="display" name="attr_name"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="name"></h4><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div></div><div class="grid"><span class="display" name="attr_date"></span><div class="edit grid grid-flow-col gap-2 col-auto-fr items-center"><h4 data-i18n="date"></h4><label data-i18n-title="enter date" title="enter date"><input data-i18n-placeholder="date" name="attr_date" placeholder="date" title="@{date}" type="text" value=""/></label></div></div></div><button class="chat" name="roll_name" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=@{notes}}}"><span class="pictos">q</span></button><div class="grid notes"><span class="display pl-4" name="attr_notes"></span><textarea name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div></div></div><div class="footer"><span>Version </span><span name="attr_version"></span><span>Original template created by Emerald Productions, LLC</span><img src="https://raw.githubusercontent.com/clevett/roll20-SheetTemplate/master/src/imgs/EProd_Emerald_Gloss.png" alt="Emerald Productions logo of an E"/></div><div class="rolltemplates"><rolltemplate class="sheet-rolltemplate-rolls"><div class="sheet-template-container"><!-- - Display a header on the template ---><div class="sheet-template-header">{{#header}}{{header}}{{/header}}</div><!-- - Display the dice roll in the template ---><div class="sheet-template-body">{{#dice}}<div class="sheet-template-row">{{dice}}</div>{{/dice}}<!-- - Display a description. This is great for text included with a roll --->{{#desc}}<div class="sheet-template-row"><span class="sheet-template-desc">{{desc}}</span></div>{{/desc}}</div></div></rolltemplate></div><script type="text/worker">var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var mentalAttributes = ["awareness", "intellect", "charisma"];
var metaphysicAttributes = ["luck", "coordination"];
var physicalAttributes = ["strength", "dexterity", "endurance"];
var attributes = __spreadArray(__spreadArray(__spreadArray([], mentalAttributes, true), metaphysicAttributes, true), physicalAttributes, true);
var action_points = ["coordination", "action_points_base"];
var hit_points = ["endurance", "hit_points_base", "level"];
var critical_range = ["critical_range", "luck", "critical_range_base"];
var armor_rating = ["armor_rating_base"];
var anticipation = ["anticipation_base", "awareness"];
var fortitude = ["fortitude_base", "endurance"];
var logic = ["logic_base", "intellect"];
var reflexes = ["reflexes_base", "dexterity"];
var willpower = ["willpower_base", "charisma"];
action_points.forEach(function (attr) {
on("change:".concat(attr), function () {
getAttrs(action_points, function (values) {
var _a = parseIntegers(values), coordination = _a.coordination, action_points_base = _a.action_points_base;
var action_points = action_points_base;
switch (coordination) {
case -1:
case -2:
action_points = action_points_base - 1 || 0;
break;
case -3:
action_points = action_points_base - 2 || 0;
break;
default:
action_points = Math.ceil(coordination / 2) + action_points_base;
break;
}
setAttrs({ action_points: action_points });
});
});
});
hit_points.forEach(function (attr) {
on("change:".concat(attr), function () {
getAttrs(hit_points, function (values) {
var _a = parseIntegers(values), endurance = _a.endurance, hit_points_base = _a.hit_points_base, level = _a.level;
var die_pips = 0;
var set_hit_points = 0;
if (endurance >= -2 && endurance <= 12) {
if (endurance === -3) {
die_pips = 0;
set_hit_points = 0;
}
else if (endurance >= -2 && endurance <= -1) {
die_pips = 2;
set_hit_points = 1;
}
else if (endurance >= 0 && endurance <= 2) {
die_pips = 4;
set_hit_points = 2;
}
else if (endurance >= 3 && endurance <= 5) {
die_pips = 6;
set_hit_points = 3;
}
else if (endurance >= 6 && endurance <= 8) {
die_pips = 8;
set_hit_points = 4;
}
else if (endurance >= 9 && endurance <= 11) {
die_pips = 10;
set_hit_points = 5;
}
else if (endurance >= 12) {
die_pips = 12;
set_hit_points = 6;
}
}
var hit_point_die = die_pips ? "".concat(level, "d").concat(die_pips) : 0;
var hit_die_formula = "".concat(hit_points_base, "+").concat(hit_point_die, "+").concat(level);
setAttrs({ hit_point_die: hit_point_die, hit_die_formula: hit_die_formula, set_hit_points: set_hit_points });
});
});
});
critical_range.forEach(function (attr) {
on("change:".concat(attr), function () {
getAttrs(critical_range, function (values) {
var _a = parseIntegers(values), luck = _a.luck, critical_range_base = _a.critical_range_base, critical_range = _a.critical_range;
var range = critical_range_base;
if (luck === 12) {
range = critical_range_base - 2;
}
else if (luck >= 6 && luck <= 11) {
range = critical_range_base - 1;
}
var cr = range < 16 ? 16 : range;
if (cr !== critical_range) {
setAttrs({ critical_range: cr });
}
});
});
});
on("change:luck", function () {
getAttrs(["luck"], function (values) {
var luck = parseInt(values.luck);
var attrs = {};
attrs.rerolls = Math.ceil(luck / 2);
if (luck < 0) {
attrs.never_crit = true;
attrs.luck_negative_modifier = luck;
}
else {
attrs.luck_critical_modifier = luck;
}
setAttrs(attrs);
});
});
[anticipation, fortitude, logic, reflexes, willpower].forEach(function (scoreAttributes) {
scoreAttributes.forEach(function (attr) {
on("change:".concat(attr), function () {
getAttrs(scoreAttributes, function (values) {
var _a;
var sum = sumIntegers(Object.values(parseIntegers(values)));
var name = scoreAttributes
.find(function (e) { return e.includes("base"); })
.replace("_base", "");
setAttrs((_a = {}, _a[name] = sum, _a));
});
});
});
});
var _this = this;
var versioningAttr = "latest_versioning_upgrade";
on("sheet:opened", function () {
getAttrs([versioningAttr], function (v) {
versioning(parseFloat(v[versioningAttr]) || 1);
});
});
var versionOneOne = function () {
};
var versioning = function (version) { return __awaiter(_this, void 0, void 0, function () {
var updateMessage;
var _a;
return __generator(this, function (_b) {
updateMessage = function (v) {
return console.log("%c Sheet is updating to ".concat(v), "color: orange; font-weight:bold");
};
switch (true) {
case version < 1:
versioning(1);
updateMessage(1);
break;
case version < 1.01:
updateMessage(1.01);
versioning(1.01);
break;
default:
console.log("%c Sheet is update to date.", "color: green; font-weight:bold");
setAttrs((_a = { version: version }, _a["".concat(versioningAttr)] = version, _a));
}
return [2];
});
}); };
var convertIntegerNegative = function (number) {
return number > 0 ? -Math.abs(number) : number;
};
var convertIntegersNegatives = function (numbers) {
var negativeNumbers = {};
for (var _i = 0, _a = Object.entries(numbers); _i < _a.length; _i++) {
var _b = _a[_i], key = _b[0], value = _b[1];
negativeNumbers[key] = convertIntegerNegative(value);
}
return negativeNumbers;
};
var createAttributeName = function (name) {
return name === null || name === void 0 ? void 0 : name.replace(/ /g, "_").toLowerCase();
};
var findRepeatingFieldName = function (trigger) { return trigger.split("_")[1]; };
var getReprowAttributeName = function (key) {
var reprowid = getReprowid(key);
return key.split("".concat(reprowid, "_"))[1];
};
var getReprowid = function (trigger) {
var split = trigger.split("_");
return "".concat(split[0], "_").concat(split[1], "_").concat(split[2]);
};
var getTranslations = function (translationKeys) {
var translations = {};
translationKeys.forEach(function (obj) {
Object.keys(obj).forEach(function (key) {
var translation = getTranslationByKey(key);
if (typeof translation === "string") {
translations["".concat(key)] = translation;
}
});
});
return translations;
};
var parseInteger = function (string) { return parseFloat(string) || 0; };
var parseIntegers = function (values) {
var parsedNumbers = {};
for (var _i = 0, _a = Object.entries(values); _i < _a.length; _i++) {
var _b = _a[_i], key = _b[0], value = _b[1];
if (typeof value === "string") {
parsedNumbers[key] = parseInteger(value);
}
else if (typeof value === "number") {
parsedNumbers[key] = value;
}
}
return parsedNumbers;
};
var sliceAttribute = function (attribute) { return attribute.slice(2, -1); };
var sumIntegers = function (numbers) { return numbers.reduce(function (a, b) { return a + b; }, 0); };
</script>