mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
3591 lines
184 KiB
HTML
3591 lines
184 KiB
HTML
<input class="toggle-token" type="hidden" name="attr_display_token" value="0" />
|
|
<input class="toggle-monster" type="hidden" name="attr_monster" value="0" />
|
|
<input class="toggle-workskills" type="hidden" name="attr_workskills" value="0" />
|
|
<input class="toggle-sw20" type="hidden" name="attr_sw20" value="0" />
|
|
<input class="toggle-aog" type="hidden" name="attr_aog" value="0" />
|
|
<input class="toggle-expanded" type="hidden" name="attr_fellow_expanded" value="0" />
|
|
<input class="toggle-fautocalc" type="hidden" name="attr_fellow_autocalc" value="0" />
|
|
<input class="toggle-tabs" type="hidden" name="attr_tab" value="page1" />
|
|
<input class="adventurer-level" type="hidden" name="attr_adventurer_level" />
|
|
<input type="hidden" name="attr_storage_initiative" />
|
|
<input type="hidden" name="attr_storage_fortitude" />
|
|
<input type="hidden" name="attr_storage_willpower" />
|
|
<input type="hidden" name="attr_storage_monster_initiative" />
|
|
<input type="hidden" name="attr_storage_monster_fortitude" />
|
|
<input type="hidden" name="attr_storage_monster_willpower" />
|
|
|
|
<button type="roll" class="tokenaction hidden" name="roll_roll" value="@{roll_action}" />
|
|
<button class="hidden" type="action" name="act_roll-action" />
|
|
<input type="hidden" name="attr_roll_action" value="">
|
|
|
|
<div class="tabs">
|
|
<div class="tab-page1"><button type="action"
|
|
name="act_page1">Page 1</button></div>
|
|
<div class="tab-page2"><button type="action"
|
|
name="act_page2">Page 2</button></div>
|
|
<div class="tab-monster"><button type="action"
|
|
name="act_monster">Monster</button></div>
|
|
<div class="tab-fellow"><button type="action"
|
|
name="act_fellow">Fellow</button></div>
|
|
<div class="tab-settings"><button type="action"
|
|
name="act_settings">Settings</button></div>
|
|
<div class="roller">
|
|
<button type="roll" name="roll_class" value="@{class_action}" />
|
|
<button class="hidden" type="action" name="act_class-action" />
|
|
<input type="hidden" name="attr_class_action" value="">
|
|
</div>
|
|
</div>
|
|
<!-- reputation -->
|
|
<div class="grid col2-main page1">
|
|
<div class="grid">
|
|
<div class="grid guild nogap">
|
|
<img name="attr_character_avatar" />
|
|
|
|
<div class="grid col2-guild">
|
|
<div class="grid">
|
|
<div class="grid vcol">
|
|
<label>Reputation</label>
|
|
<input type="text" spellcheck="false" name="attr_reputation" value="0" />
|
|
</div>
|
|
|
|
<div class="grid vcol">
|
|
<label>Rank</label>
|
|
<input type="text" spellcheck="false" name="attr_rank" value="None" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid alevel">
|
|
<label>Adventurer Level</label>
|
|
<span class="input" name="attr_adventurer_level" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid profile">
|
|
<span class="label">History, Profile</span>
|
|
<label>Background</label>
|
|
<div class="auto-expand">
|
|
<span name="attr_background"></span>
|
|
<textarea spellcheck="false" name="attr_background"></textarea>
|
|
</div>
|
|
|
|
<div class="grid col4-xp">
|
|
<label>Experience Points</label>
|
|
<input type="number" name="attr_experience" />
|
|
|
|
<label>Soulscars</label>
|
|
<input type="number" name="attr_soulscars" value="0" />
|
|
</div>
|
|
|
|
<div class="grid col2-failures">
|
|
<label>Automatic Failures:</label>
|
|
<div class="grid nogap">
|
|
<input type="radio" name="attr_automatic_failures" value="0" checked="checked" />
|
|
|
|
<input type="radio" name="attr_automatic_failures" value="1" />
|
|
<input type="radio" name="attr_automatic_failures" value="2" />
|
|
<input type="radio" name="attr_automatic_failures" value="3" />
|
|
<input type="radio" name="attr_automatic_failures" value="4" />
|
|
<input type="radio" name="attr_automatic_failures" value="5" />
|
|
|
|
<input type="radio" name="attr_automatic_failures" value="6" />
|
|
<input type="radio" name="attr_automatic_failures" value="7" />
|
|
<input type="radio" name="attr_automatic_failures" value="8" />
|
|
<input type="radio" name="attr_automatic_failures" value="9" />
|
|
<input type="radio" name="attr_automatic_failures" value="10" />
|
|
|
|
<input type="radio" name="attr_automatic_failures" value="11" />
|
|
<input type="radio" name="attr_automatic_failures" value="12" />
|
|
<input type="radio" name="attr_automatic_failures" value="13" />
|
|
<input type="radio" name="attr_automatic_failures" value="14" />
|
|
<input type="radio" name="attr_automatic_failures" value="15" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap lined">
|
|
<div class="grid col3-languages nogap">
|
|
<div class="header">Languages</div>
|
|
<div class="header">Speak</div>
|
|
<div class="header">Read</div>
|
|
|
|
<div class="label">Trade Common</div>
|
|
<div><input type="checkbox" name="attr_language_common_speak" value="yes" checked /></div>
|
|
<div><input type="checkbox" name="attr_language_common_read" value="yes" checked /></div>
|
|
|
|
<input type="text" spellcheck="false" name="attr_language_regional" placeholder="Regional( )" />
|
|
<div><input type="checkbox" name="attr_language_regional_speak" value="yes" /></div>
|
|
<div><input type="checkbox" name="attr_language_regional_read" value="yes" /></div>
|
|
|
|
<div class="label">Ancient Celestial</div>
|
|
<div><span class="check-na input" /></div>
|
|
<div><input type="checkbox" name="attr_language_celestial_read" value="yes" /></div>
|
|
|
|
<div class="label">Arcana</div>
|
|
<div><input type="checkbox" name="attr_language_arcana_speak" value="yes" /></div>
|
|
<div><input type="checkbox" name="attr_language_arcana_read" value="yes" /></div>
|
|
|
|
<div class="label">Magitech</div>
|
|
<div><input type="checkbox" name="attr_language_magitech_speak" value="yes" /></div>
|
|
<div><input type="checkbox" name="attr_language_magitech_read" value="yes" /></div>
|
|
|
|
<div class="label">Sylvan</div>
|
|
<div><input type="checkbox" name="attr_language_sylvan_speak" value="yes" /></div>
|
|
<div><span class="check-na input" /></div>
|
|
|
|
<div class="label">Daemonic</div>
|
|
<div><input type="checkbox" name="attr_language_daemonic_speak" value="yes" /></div>
|
|
<div><span class="check-na input" /></div>
|
|
|
|
<div class="label">Barbaric</div>
|
|
<div><input type="checkbox" name="attr_language_barbaric_speak" value="yes" /></div>
|
|
<div><input type="checkbox" name="attr_language_barbaric_read" value="yes" /></div>
|
|
</div>
|
|
<fieldset class="repeating_languages">
|
|
<div><input type="text" spellcheck="false" name="attr_language_name" placeholder="Language" /></div>
|
|
<div><input type="checkbox" name="attr_language_speak" value="yes" /></div>
|
|
<div><input type="checkbox" name="attr_language_read" value="yes" /></div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid nogap lined workskills">
|
|
<div class="grid col3-workskills nogap">
|
|
<div class="header">Profession</div>
|
|
<div class="header">Work Skill</div>
|
|
<div class="header">Level</div>
|
|
</div>
|
|
<fieldset class="repeating_workskills">
|
|
<div><input type="text" spellcheck="false" name="attr_workskill_profession" placeholder="Profession" /></div>
|
|
<div><input type="text" spellcheck="false" name="attr_workskill_name" placeholder="Work Skill" /></div>
|
|
<div class="grid col2 nogap">
|
|
<input type="number" name="attr_workskill_level" placeholder="1" />
|
|
<button type="action" name="act_workskill-action" value="" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<div class="grid col2-header">
|
|
<div class="grid">
|
|
<div class="grid col2 vcol">
|
|
<label>Character Name</label>
|
|
<input type="text" spellcheck="false" name="attr_character_name" />
|
|
|
|
<label>Player Name</label>
|
|
<input type="text" spellcheck="false" name="attr_player_name" />
|
|
</div>
|
|
|
|
<div class="grid col3-race vcol">
|
|
<label>Race</label>
|
|
<input type="text" spellcheck="false" list="race" name="attr_race" />
|
|
<datalist id="race">
|
|
<option>Human</option>
|
|
<option>Elf</option>
|
|
<option>Dwarf</option>
|
|
<option>Tabbit</option>
|
|
<option>Runefolk</option>
|
|
<option>Nightmare (Human)</option>
|
|
<option>Nightmare (Elf)</option>
|
|
<option>Nightmare (Dwarf)</option>
|
|
<option>Nightmare (Lildraken)</option>
|
|
<option>Nightmare (Shadow)</option>
|
|
<option>Nightmare (Soleil)</option>
|
|
<option>Lykant</option>
|
|
<option>Lildraken</option>
|
|
<option>Grassrunner</option>
|
|
<option>Meria</option>
|
|
<option>Tiens</option>
|
|
<option>Leprechaun</option>
|
|
<option>Alv</option>
|
|
<option>Garuda Weakling</option>
|
|
<option>Tannoz Weakling</option>
|
|
<option>Basilisk Weakling</option>
|
|
<option>Minotaur Weakling</option>
|
|
<option>Shadow</option>
|
|
<option>Soleil</option>
|
|
<option>Abyssborn</option>
|
|
<option>Dark Dwarf</option>
|
|
<option>Fluorite</option>
|
|
<option>Newman</option>
|
|
<option>Spriggan</option>
|
|
<option>Fey</option>
|
|
<option>Miakis</option>
|
|
<option>Valkyrie</option>
|
|
</datalist>
|
|
|
|
<label>Age</label>
|
|
<input type="text" spellcheck="false" name="attr_age" />
|
|
|
|
<label>Gender</label>
|
|
<input type="text" spellcheck="false" name="attr_gender" />
|
|
</div>
|
|
|
|
<label>Racial Abilities</label>
|
|
<div class="auto-expand">
|
|
<span name="attr_racial_abilities"></span>
|
|
<textarea spellcheck="false" name="attr_racial_abilities"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<h1>Sword World 2.5</h1>
|
|
</div>
|
|
|
|
<div class="grid nogap">
|
|
<div class="grid col5-abilities">
|
|
<span class="header">Base</span>
|
|
<span class="header">Correction</span>
|
|
<span class="header">Growth</span>
|
|
<span class="header">Ability Scores</span>
|
|
<span class="header">Modifiers</span>
|
|
</div>
|
|
<div class="grid col5-abilities shaded">
|
|
<div class="grid vspan2">
|
|
<label>Skill</label>
|
|
<input class="lrg" type="number" name="attr_skill" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>A</label>
|
|
<input class="lrg" type="number" name="attr_ability_a" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>g</label>
|
|
<input class="lrg" type="number" name="attr_growth_1" />
|
|
</div>
|
|
<div class="grid editable">
|
|
<input class="editmode" type="hidden" name="attr_dexterity_edit" value="0" />
|
|
<input type="checkbox" name="attr_dexterity_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_dexterity_mod" value="0" />
|
|
</div>
|
|
<label>Dexterity</label>
|
|
<input type="hidden" name="attr_dexterity" />
|
|
<span class="input lrg flex">
|
|
<span name="attr_dexterity_raw" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_dexterity_mod" value="0" />
|
|
<span name="attr_dexterity_mod" />
|
|
</span>
|
|
</div>
|
|
<div class="grid">
|
|
<label>÷6</label>
|
|
<input type="hidden" name="attr_dexterity_modifier" />
|
|
<span class="input lrg" name="attr_dexterity_modifier" />
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<label>B</label>
|
|
<input class="lrg" type="number" name="attr_ability_b" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>h</label>
|
|
<input class="lrg" type="number" name="attr_growth_2" />
|
|
</div>
|
|
<div class="grid editable">
|
|
<input class="editmode" type="hidden" name="attr_agility_edit" value="0" />
|
|
<input type="checkbox" name="attr_agility_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_agility_mod" value="0" />
|
|
</div>
|
|
<label>Agility</label>
|
|
<input type="hidden" name="attr_agility" />
|
|
<span class="input lrg flex">
|
|
<span name="attr_agility_raw" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_agility_mod" value="0" />
|
|
<span name="attr_agility_mod" />
|
|
</span>
|
|
</div>
|
|
<div class="grid">
|
|
<label>÷6</label>
|
|
<input type="hidden" name="attr_agility_modifier" />
|
|
<span class="input lrg" name="attr_agility_modifier" />
|
|
</div>
|
|
|
|
<div class="grid vspan2">
|
|
<label>Body</label>
|
|
<input class="lrg" type="number" name="attr_body" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>C</label>
|
|
<input class="lrg" type="number" name="attr_ability_c" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>i</label>
|
|
<input class="lrg" type="number" name="attr_growth_3" />
|
|
</div>
|
|
<div class="grid editable">
|
|
<input class="editmode" type="hidden" name="attr_strength_edit" value="0" />
|
|
<input type="checkbox" name="attr_strength_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_strength_mod" value="0" />
|
|
</div>
|
|
<label>Strength</label>
|
|
<input type="hidden" name="attr_strength" />
|
|
<span class="input lrg flex">
|
|
<span name="attr_strength_raw" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_strength_mod" value="0" />
|
|
<span name="attr_strength_mod" />
|
|
</span>
|
|
</div>
|
|
<div class="grid">
|
|
<label>÷6</label>
|
|
<input type="hidden" name="attr_strength_modifier" />
|
|
<span class="input lrg" name="attr_strength_modifier" />
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<label>D</label>
|
|
<input class="lrg" type="number" name="attr_ability_d" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>j</label>
|
|
<input class="lrg" type="number" name="attr_growth_4" />
|
|
</div>
|
|
<div class="grid editable">
|
|
<input class="editmode" type="hidden" name="attr_vitality_edit" value="0" />
|
|
<input type="checkbox" name="attr_vitality_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_vitality_mod" value="0" />
|
|
</div>
|
|
<label>Vitality</label>
|
|
<input type="hidden" name="attr_vitality" />
|
|
<span class="input lrg flex">
|
|
<span name="attr_vitality_raw" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_vitality_mod" value="0" />
|
|
<span name="attr_vitality_mod" />
|
|
</span>
|
|
</div>
|
|
<div class="grid">
|
|
<label>÷6</label>
|
|
<input type="hidden" name="attr_vitality_modifier" />
|
|
<span class="input lrg" name="attr_vitality_modifier" />
|
|
</div>
|
|
|
|
<div class="grid vspan2">
|
|
<label>Mind</label>
|
|
<input class="lrg" type="number" name="attr_mind" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>E</label>
|
|
<input class="lrg" type="number" name="attr_ability_e" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>k</label>
|
|
<input class="lrg" type="number" name="attr_growth_5" />
|
|
</div>
|
|
<div class="grid editable">
|
|
<input class="editmode" type="hidden" name="attr_intelligence_edit" value="0" />
|
|
<input type="checkbox" name="attr_intelligence_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_intelligence_mod" value="0" />
|
|
</div>
|
|
<label>Intelligence</label>
|
|
<input type="hidden" name="attr_intelligence" />
|
|
<span class="input lrg flex">
|
|
<span name="attr_intelligence_raw" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_intelligence_mod" value="0" />
|
|
<span name="attr_intelligence_mod" />
|
|
</span>
|
|
</div>
|
|
<div class="grid">
|
|
<label>÷6</label>
|
|
<input type="hidden" name="attr_intelligence_modifier" />
|
|
<span class="input lrg" name="attr_intelligence_modifier" />
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<label>F</label>
|
|
<input class="lrg" type="number" name="attr_ability_f" />
|
|
</div>
|
|
<div class="grid">
|
|
<label>l</label>
|
|
<input class="lrg" type="number" name="attr_growth_6" />
|
|
</div>
|
|
<div class="grid editable">
|
|
<input class="editmode" type="hidden" name="attr_spirit_edit" value="0" />
|
|
<input type="checkbox" name="attr_spirit_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_spirit_mod" value="0" />
|
|
</div>
|
|
<label>Spirit</label>
|
|
<input type="hidden" name="attr_spirit" />
|
|
<span class="input lrg flex">
|
|
<span name="attr_spirit_raw" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_spirit_mod" value="0" />
|
|
<span name="attr_spirit_mod" />
|
|
</span>
|
|
</div>
|
|
<div class="grid">
|
|
<label>÷6</label>
|
|
<input type="hidden" name="attr_spirit_modifier" />
|
|
<span class="input lrg" name="attr_spirit_modifier" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col2-classpack">
|
|
<div class="grid nogap classes">
|
|
<input class="toggle-class" type="hidden" name="attr_classtoggle" value="" />
|
|
<input type="checkbox" name="attr_classtoggle" value="1" />
|
|
<div class="grid col2-classes nogap">
|
|
<div class="header">Class</div>
|
|
<div class="header">Level</div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_fighter_level" value="0" />
|
|
<div class="input">Fighter</div>
|
|
<div><input type="number" name="attr_fighter_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_grappler_level" value="0" />
|
|
<div class="input">Grappler</div>
|
|
<div><input type="number" name="attr_grappler_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_bdancer_level" value="0" />
|
|
<div class="input">Battle Dancer</div>
|
|
<div><input type="number" name="attr_bdancer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_fencer_level" value="0" />
|
|
<div class="input">Fencer</div>
|
|
<div><input type="number" name="attr_fencer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_marksman_level" value="0" />
|
|
<div class="input">Marksman</div>
|
|
<div><input type="number" name="attr_marksman_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_sorcerer_level" value="0" />
|
|
<div class="input">Sorcerer</div>
|
|
<div><input type="number" name="attr_sorcerer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_conjurer_level" value="0" />
|
|
<div class="input">Conjurer</div>
|
|
<div><input type="number" name="attr_conjurer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_priest_level" value="0" />
|
|
<div class="input">Priest</div>
|
|
<div><input type="number" name="attr_priest_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_artificer_level" value="0" />
|
|
<div class="input">Artificer</div>
|
|
<div><input type="number" name="attr_artificer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_fairy_tamer_level" value="0" />
|
|
<div class="input">Fairy Tamer</div>
|
|
<div><input type="number" name="attr_fairy_tamer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_druid_level" value="0" />
|
|
<div class="input">Druid</div>
|
|
<div><input type="number" name="attr_druid_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_warlock_level" value="0" />
|
|
<div class="input">Warlock</div>
|
|
<div><input type="number" name="attr_warlock_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_gazer_level" value="0" />
|
|
<div class="input">Abyss Gazer</div>
|
|
<div><input type="number" name="attr_gazer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_arcanist_level" value="0" />
|
|
<div class="input aog-class">Arcanist</div>
|
|
<div class="aog-class"><input type="number" name="attr_arcanist_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_scout_level" value="0" />
|
|
<div class="input">Scout</div>
|
|
<div><input type="number" name="attr_scout_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_ranger_level" value="0" />
|
|
<div class="input">Ranger</div>
|
|
<div><input type="number" name="attr_ranger_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_sage_level" value="0" />
|
|
<div class="input">Sage</div>
|
|
<div><input type="number" name="attr_sage_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_enhancer_level" value="0" />
|
|
<div class="input">Enhancer</div>
|
|
<div><input type="number" name="attr_enhancer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_bard_level" value="0" />
|
|
<div class="input">Bard</div>
|
|
<div><input type="number" name="attr_bard_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_rider_level" value="0" />
|
|
<div class="input">Rider</div>
|
|
<div><input type="number" name="attr_rider_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_alchemist_level" value="0" />
|
|
<div class="input">Alchemist</div>
|
|
<div><input type="number" name="attr_alchemist_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_geomancer_level" value="0" />
|
|
<div class="input">Geomancer</div>
|
|
<div><input type="number" name="attr_geomancer_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_tactician_level" value="0" />
|
|
<div class="input">Tactician</div>
|
|
<div><input type="number" name="attr_tactician_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_dhunter_level" value="0" />
|
|
<div class="input">Dark Hunter</div>
|
|
<div><input type="number" name="attr_dhunter_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_mystic_level" value="0" />
|
|
<div class="input sw20-class">Mystic</div>
|
|
<div class="sw20-class"><input type="number" name="attr_mystic_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_runesmith_level" value="0" />
|
|
<div class="input aog-class">Runesmith</div>
|
|
<div class="aog-class"><input type="number" name="attr_runesmith_level" /></div>
|
|
|
|
<input class="toggle-class" type="hidden" name="attr_aristocrat_level" value="0" />
|
|
<div class="input aog-class">Aristocrat</div>
|
|
<div class="aog-class"><input type="number" name="attr_aristocrat_level" /></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col3-packages nogap">
|
|
<div class="span2 label refmark">Check Packages</div>
|
|
<div class="refmark">Treat as 0 if no levels in relevant classes</div>
|
|
|
|
<div class="grid nogap box">
|
|
<input class="class-level" type="hidden" value="0" name="attr_scout_level" />
|
|
<label>Scout</label>
|
|
<span name="attr_scout_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_ranger_level" />
|
|
<label>Ranger</label>
|
|
<span name="attr_ranger_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_rider_level" />
|
|
<label>Rider</label>
|
|
<span name="attr_rider_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_geomancer_level" />
|
|
<label>Geomancer</label>
|
|
<span name="attr_geomancer_level" />
|
|
</div>
|
|
|
|
<div class="grid col2 span2">
|
|
<div>Dexterity Modifier</div>
|
|
<div class="grid">
|
|
<button class="input lrg" type="roll" name="roll_technique"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~technique)}} {{name=@{character_name}}} {{skill=Technique}} {{class=@{technique_class}}} {{level=@{technique_class_level}}} {{ability=Dexterity}} {{modifier=@{dexterity_modifier}}} {{result=[[[[2d6]]+@{technique}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{technique}]]}}" />
|
|
<label>Technique</label>
|
|
<input type="hidden" name="attr_technique_class" />
|
|
<input type="hidden" name="attr_technique_class_level" />
|
|
<input type="hidden" name="attr_technique" />
|
|
<span class="input lrg" name="attr_technique" />
|
|
</div>
|
|
|
|
<div>Agility Modifier</div>
|
|
<div class="grid">
|
|
<button class="input lrg" type="roll" name="roll_movement"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~movement)}} {{name=@{character_name}}} {{skill=Movement}} {{class=@{movement_class}}} {{level=@{movement_class_level}}} {{ability=Agility}} {{modifier=@{agility_modifier}}} {{result=[[[[2d6]]+@{movement}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{movement}]]}}" />
|
|
<label>Movement</label>
|
|
<input type="hidden" name="attr_movement_class" />
|
|
<input type="hidden" name="attr_movement_class_level" />
|
|
<input type="hidden" name="attr_movement" />
|
|
<span class="input lrg" name="attr_movement" />
|
|
</div>
|
|
|
|
<div>Intelligence Modifier</div>
|
|
<div class="grid">
|
|
<button class="input lrg" type="roll" name="roll_observation"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~observation)}} {{name=@{character_name}}} {{skill=Observation}} {{class=@{observation_class}}} {{level=@{observation_class_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{observation}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{observation}]]}}" />
|
|
<label>Observation</label>
|
|
<input type="hidden" name="attr_observation_class" />
|
|
<input type="hidden" name="attr_observation_class_level" />
|
|
<input type="hidden" name="attr_observation" />
|
|
<span class="input lrg" name="attr_observation" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap box">
|
|
<input class="class-level" type="hidden" value="0" name="attr_sage_level" />
|
|
<label>Sage</label>
|
|
<span name="attr_sage_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_alchemist_level" />
|
|
<label>Alchemist</label>
|
|
<span name="attr_alchemist_level" />
|
|
</div>
|
|
|
|
<div class="grid col2 span2">
|
|
<div>Intelligence Modifier</div>
|
|
<div class="grid">
|
|
<button class="input lrg" type="roll" name="roll_knowledge"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~knowledge)}} {{name=@{character_name}}} {{skill=Knowledge}} {{class=@{knowledge_class}}} {{level=@{knowledge_class_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{knowledge}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{knowledge}]]}}" />
|
|
<label>Knowledge</label>
|
|
<input type="hidden" name="attr_knowledge_class" />
|
|
<input type="hidden" name="attr_knowledge_class_level" />
|
|
<input type="hidden" name="attr_knowledge" />
|
|
<span class="input lrg" name="attr_knowledge" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col2">
|
|
<div class="grid nogap lined single">
|
|
<div class="grid col2-feats nogap">
|
|
<div class="header" />
|
|
<div class="header">Combat Feats</div>
|
|
|
|
<label>1</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_1" />
|
|
<label>3</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_3" />
|
|
<label>5</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_5" />
|
|
<label>7</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_7" />
|
|
<label>9</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_9" />
|
|
<label>11</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_11" />
|
|
<label>13</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_13" />
|
|
<label>15</label>
|
|
<input type="text" spellcheck="false" name="attr_feat_15" />
|
|
</div>
|
|
<div class="label">Automatically acquired, etc.</div>
|
|
<fieldset class="repeating_feats">
|
|
<div><input type="text" spellcheck="false" name="attr_feat_name" placeholder="Name" /></div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid nogap lined single">
|
|
<div class="header">Techniques, Spellsongs, Stunts, etc.</div>
|
|
<fieldset class="repeating_techniques">
|
|
<div><input type="text" spellcheck="false" name="attr_technique_name" placeholder="Name" /></div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid page2">
|
|
<div class="grid col8-initmove nogap">
|
|
<div class="grid nogap box">
|
|
<input class="class-level" type="hidden" value="0" name="attr_sage_level" />
|
|
<label>Sage</label>
|
|
<span name="attr_sage_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_rider_level" />
|
|
<label>Rider</label>
|
|
<span name="attr_rider_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_dhunter_level" />
|
|
<label>Dark Hunter</label>
|
|
<span name="attr_dhunter_level" />
|
|
</div>
|
|
|
|
<div class="grid col2">
|
|
<div>Intelligence Modifier</div>
|
|
<div class="grid">
|
|
<button class="input lrg" type="roll" name="roll_monster_knowledge"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~monster_knowledge)}} {{name=@{character_name}}} {{skill=Monster Knowledge}} {{class=@{monster_knowledge_class}}} {{level=@{monster_knowledge_class_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{monster_knowledge}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_knowledge}]]}}" />
|
|
<label class="refmark">Monster Knowledge</label>
|
|
<input type="hidden" name="attr_monster_knowledge_class" />
|
|
<input type="hidden" name="attr_monster_knowledge_class_level" />
|
|
<input type="hidden" name="attr_monster_knowledge" />
|
|
<span class="input lrg" name="attr_monster_knowledge" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap box">
|
|
<input class="class-level" type="hidden" value="0" name="attr_scout_level" />
|
|
<label>Scout</label>
|
|
<span name="attr_scout_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_tactician_level" />
|
|
<label>Tactician</label>
|
|
<span name="attr_tactician_level" />
|
|
</div>
|
|
|
|
<div class="grid col2">
|
|
<div>Agility Modifier</div>
|
|
<div class="grid">
|
|
<button class="input lrg" type="roll" name="roll_initiative"
|
|
value="@{storage_initiative}" />
|
|
<label class="refmark">Initiative</label>
|
|
<input type="hidden" name="attr_initiative_class" />
|
|
<input type="hidden" name="attr_initiative_class_level" />
|
|
<input type="hidden" name="attr_initiative" />
|
|
<span class="input lrg" name="attr_initiative" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="refmark">Treat as 0 if no levels in relevant classes</div>
|
|
<div class="grid boxstat move">
|
|
<label>Limited Move</label>
|
|
<input type="hidden" name="attr_limited_move" value="3" />
|
|
<span class="input lrg" name="attr_limited_move" />
|
|
</div>
|
|
<div class="grid boxstat move">
|
|
<label>Normal Move</label>
|
|
<span class="label rotate">Agility</span>
|
|
<input type="hidden" name="attr_normal_move" />
|
|
<span class="input lrg" name="attr_normal_move" />
|
|
</div>
|
|
<div class="grid boxstat move">
|
|
<label>Full Move</label>
|
|
<input type="hidden" name="attr_full_move" />
|
|
<span class="input lrg" name="attr_full_move" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col3-accdmg nogap">
|
|
<div class="grid nogap box wide">
|
|
<input class="class-level" type="hidden" value="0" name="attr_fighter_level" />
|
|
<label>Fighter</label>
|
|
<span name="attr_fighter_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_bdancer_level" />
|
|
<label>Battle Dancer</label>
|
|
<span name="attr_bdancer_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_grappler_level" />
|
|
<label>Grappler</label>
|
|
<span name="attr_grappler_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_fencer_level" />
|
|
<label>Fencer</label>
|
|
<span name="attr_fencer_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_marksman_level" />
|
|
<label>Marksman</label>
|
|
<span name="attr_marksman_level" />
|
|
</div>
|
|
|
|
<div class="grid col2 nogap stretch">
|
|
<div>Dexterity Modifier</div>
|
|
<div class="grid">
|
|
<label class="refmark">Base Accuracy:</label>
|
|
<input type="hidden" name="attr_base_accuracy_class" />
|
|
<input type="hidden" name="attr_base_accuracy_class_level" />
|
|
<input type="hidden" name="attr_base_accuracy" />
|
|
<span class="input" name="attr_base_accuracy" />
|
|
</div>
|
|
|
|
<div>Strength Modifier</div>
|
|
<div class="grid">
|
|
<label class="refmark">Extra Damage:</label>
|
|
<input type="hidden" name="attr_extra_damage_class" />
|
|
<input type="hidden" name="attr_extra_damage_class_level" />
|
|
<input type="hidden" name="attr_extra_damage" />
|
|
<span class="input" name="attr_extra_damage" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid boxstat nogap">
|
|
<label>Movement Enhancements</label>
|
|
<div class="grid col2">
|
|
<div><input type="text" spellcheck="false" name="attr_movement_enhancements" /></div>
|
|
<div><input type="number" name="attr_movement_enhancements_modifier" /></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap lined">
|
|
<div class="grid col-weapons nogap">
|
|
<div class="header">Weapon Name/Notes</div>
|
|
<div class="header">Class</div>
|
|
<div class="header">Stance</div>
|
|
<div class="header">Min STR</div>
|
|
<div class="header">Weapon Accuracy</div>
|
|
<div class="header">Total Accuracy</div>
|
|
<div class="header">Power</div>
|
|
<div class="header">2</div>
|
|
<div class="header">3</div>
|
|
<div class="header">4</div>
|
|
<div class="header">5</div>
|
|
<div class="header">6</div>
|
|
<div class="header">7</div>
|
|
<div class="header">8</div>
|
|
<div class="header">9</div>
|
|
<div class="header">10</div>
|
|
<div class="header">11</div>
|
|
<div class="header">12</div>
|
|
<div class="header">Crit Value</div>
|
|
<div class="header">Extra Damage</div>
|
|
<div class="header">Total Extra Damage</div>
|
|
</div>
|
|
<fieldset class="repeating_weapons">
|
|
<input type="hidden" name="attr_weapon_total_accuracy" />
|
|
<input type="hidden" name="attr_weapon_total_extra_damage" />
|
|
|
|
<div><input type="text" spellcheck="false" name="attr_weapon_name" placeholder="Weapon" /></div>
|
|
<div>
|
|
<select class="input" name="attr_weapon_class">
|
|
<option value=""></option>
|
|
<option value="fighter">Fighter</option>
|
|
<option value="grappler">Grappler</option>
|
|
<option value="bdancer">Btl Dancer</option>
|
|
<option value="fencer">Fencer</option>
|
|
<option value="marksman">Marksman</option>
|
|
<option value="crossbow">Crossbow</option>
|
|
<option value="gun">Gun</option>
|
|
<option value="dhunter">Spc.Throw</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<select class="input" name="attr_weapon_stance">
|
|
<option value=""></option>
|
|
<option value="1h">1H</option>
|
|
<option value="1h2">1H†</option>
|
|
<option value="1hthrown">1H*</option>
|
|
<option value="1hw">1Hw</option>
|
|
<option value="1hother">1H#</option>
|
|
<option value="2h">2H</option>
|
|
<option value="2hs">2Hᵴ</option>
|
|
<option value="2hp">2Hᵱ</option>
|
|
<option value="2hthrown">2H*</option>
|
|
<option value="2hother">2H#</option>
|
|
</select>
|
|
</div>
|
|
<div><input type="number" name="attr_weapon_min_str" /></div>
|
|
<div><input type="number" name="attr_weapon_accuracy" value="" /></div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_attack"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~repeating_weapons_attack)}} {{damage=[Damage](~repeating_weapons_damage)}} {{name=@{character_name}}} {{skill=@{weapon_name}}} {{skillverb=attacks with}} {{result=[[[[2d6]]+@{weapon_total_accuracy}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{weapon_total_accuracy}]]}}" />
|
|
<span class="input" name="attr_weapon_total_accuracy" />
|
|
</div>
|
|
<div><input type="number" name="attr_weapon_power" /></div>
|
|
<div><span class="input">*</span></div>
|
|
<div><input type="number" name="attr_weapon_power_3" /></div>
|
|
<div><input type="number" name="attr_weapon_power_4" /></div>
|
|
<div><input type="number" name="attr_weapon_power_5" /></div>
|
|
<div><input type="number" name="attr_weapon_power_6" /></div>
|
|
<div><input type="number" name="attr_weapon_power_7" /></div>
|
|
<div><input type="number" name="attr_weapon_power_8" /></div>
|
|
<div><input type="number" name="attr_weapon_power_9" /></div>
|
|
<div><input type="number" name="attr_weapon_power_10" /></div>
|
|
<div><input type="number" name="attr_weapon_power_11" /></div>
|
|
<div><input type="number" name="attr_weapon_power_12" /></div>
|
|
<div><input type="number" name="attr_weapon_crit_value" /></div>
|
|
<div><input type="number" name="attr_weapon_extra_damage" value="" /></div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_damage" value="@{damage_action}" />
|
|
<button class="hidden" type="action" name="act_damage-action" />
|
|
<input type="hidden" name="attr_damage_action" value="">
|
|
<span class="input" name="attr_weapon_total_extra_damage" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid boxstat nogap">
|
|
<label>Accuracy, Extra Damage enhancements, etc.</label>
|
|
<div class="auto-expand">
|
|
<span name="attr_accuracy_enhancements"></span>
|
|
<textarea spellcheck="false" name="attr_accuracy_enhancements"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col2-locdef">
|
|
<div class="grid nogap lined">
|
|
<div class="grid col2-locations nogap">
|
|
<div class="header">Section</div>
|
|
<div class="header">Name of Accessory, Effect</div>
|
|
|
|
<div class="label">Head</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_head" />
|
|
|
|
<div class="label">Face</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_face" />
|
|
|
|
<div class="label">Ears</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_ears" />
|
|
|
|
<div class="label">Neck</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_neck" />
|
|
|
|
<div class="label">Back</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_back" />
|
|
|
|
<div class="label">Right Hand</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_rhand" />
|
|
|
|
<div class="label">Left Hand</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_lhand" />
|
|
|
|
<div class="label">Waist</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_waist" />
|
|
|
|
<div class="label">Feet</div>
|
|
<input type="text" spellcheck="false" name="attr_accessory_feet" />
|
|
</div>
|
|
<fieldset class="repeating_accessories">
|
|
<div class="label">Other</div>
|
|
<div><input type="text" spellcheck="false" name="attr_accessory_name" /></div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<div class="grid col2-evasion nogap">
|
|
<div class="grid nogap box wide">
|
|
<input class="class-level" type="hidden" value="0" name="attr_fighter_level" />
|
|
<label>Fighter</label>
|
|
<span name="attr_fighter_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_grappler_level" />
|
|
<label>Grappler</label>
|
|
<span name="attr_grappler_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_bdancer_level" />
|
|
<label>Battle Dancer</label>
|
|
<span name="attr_bdancer_level" />
|
|
|
|
<input class="class-level" type="hidden" value="0" name="attr_fencer_level" />
|
|
<label>Fencer</label>
|
|
<span name="attr_fencer_level" />
|
|
</div>
|
|
|
|
<div class="grid col2 nogap">
|
|
<div>Agility Modifier</div>
|
|
<div class="grid">
|
|
<label class="refmark">Base Evasion</label>
|
|
<input type="hidden" name="attr_base_evasion_class" />
|
|
<input type="hidden" name="attr_base_evasion_class_level" />
|
|
<input type="hidden" name="attr_base_evasion" value="0" />
|
|
<span class="input lrg" name="attr_base_evasion" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap lined">
|
|
<div class="grid col4-armor nogap">
|
|
<div class="header">Armor Name/Notes</div>
|
|
<div class="header">Min STR</div>
|
|
<div class="header">Evasion</div>
|
|
<div class="header">Defense</div>
|
|
|
|
<input type="text" spellcheck="false" name="attr_armor_name" placeholder="Armor" />
|
|
<input type="number" name="attr_armor_min_str" />
|
|
<input type="number" name="attr_armor_evasion" />
|
|
<input type="number" name="attr_armor_defense" />
|
|
|
|
<input type="text" spellcheck="false" name="attr_shield_name" placeholder="Shield" />
|
|
<input type="number" name="attr_shield_min_str" />
|
|
<input type="number" name="attr_shield_evasion" />
|
|
<input type="number" name="attr_shield_defense" />
|
|
</div>
|
|
<fieldset class="repeating_armor">
|
|
<div><input type="text" spellcheck="false" name="attr_armor_other_name" placeholder="Other" /></div>
|
|
<div><input type="number" name="attr_armor_other_min_str" /></div>
|
|
<div><input type="number" name="attr_armor_other_evasion" /></div>
|
|
<div><input type="number" name="attr_armor_other_defense" /></div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid col2-mageva">
|
|
<div class="grid nogap">
|
|
<div class="refmark label">Power Scores</div>
|
|
<div class="grid col3">
|
|
<input class="magic-power" type="hidden" name="attr_sorcerer_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_sorcerer_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_sorcerer_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_sorcerer_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_sorcerer"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~sorcerer)}} {{name=@{character_name}}} {{skill=Sorcerer Spellcasting}} {{class=Sorcerer}} {{level=@{sorcerer_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{sorcerer_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{sorcerer_power}]]}}" />
|
|
<span class="input lrg" name="attr_sorcerer_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_sorcerer_power_mod" value="0" />
|
|
<span name="attr_sorcerer_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Sorcerer</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_conjurer_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_conjurer_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_conjurer_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_conjurer_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_conjurer"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~conjurer)}} {{name=@{character_name}}} {{skill=Conjurer Spellcasting}} {{class=Conjurer}} {{level=@{conjurer_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{conjurer_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{conjurer_power}]]}}" />
|
|
<span class="input lrg" name="attr_conjurer_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_conjurer_power_mod" value="0" />
|
|
<span name="attr_conjurer_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Conjurer</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_priest_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_priest_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_priest_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_priest_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_priest"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~priest)}} {{name=@{character_name}}} {{skill=Priest Spellcasting}} {{class=Priest}} {{level=@{priest_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{priest_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{priest_power}]]}}" />
|
|
<span class="input lrg" name="attr_priest_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_priest_power_mod" value="0" />
|
|
<span name="attr_priest_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Priest</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_artificer_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_artificer_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_artificer_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_artificer_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_artificer"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~artificer)}} {{name=@{character_name}}} {{skill=Artificer Spellcasting}} {{class=Artificer}} {{level=@{artificer_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{artificer_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{artificer_power}]]}}" />
|
|
<span class="input lrg" name="attr_artificer_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_artificer_power_mod" value="0" />
|
|
<span name="attr_artificer_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Artificer</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_fairy_tamer_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_fairy_tamer_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_fairy_tamer_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_fairy_tamer_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_fairy_tamer"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~fairy_tamer)}} {{name=@{character_name}}} {{skill=Fairy Tamer Spellcasting}} {{class=Fairy Tamer}} {{level=@{fairy_tamer_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{fairy_tamer_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{fairy_tamer_power}]]}}" />
|
|
<span class="input lrg" name="attr_fairy_tamer_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_fairy_tamer_power_mod" value="0" />
|
|
<span name="attr_fairy_tamer_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Fairy Tamer</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_druid_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_druid_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_druid_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_druid_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_druid"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~druid)}} {{name=@{character_name}}} {{skill=Druid Spellcasting}} {{class=Druid}} {{level=@{druid_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{druid_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{druid_power}]]}}" />
|
|
<span class="input lrg" name="attr_druid_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_druid_power_mod" value="0" />
|
|
<span name="attr_druid_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Druid</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_warlock_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_warlock_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_warlock_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_warlock_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_warlock"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~warlock)}} {{name=@{character_name}}} {{skill=Warlock Spellcasting}} {{class=Warlock}} {{level=@{warlock_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{warlock_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{warlock_power}]]}}" />
|
|
<span class="input lrg" name="attr_warlock_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_warlock_power_mod" value="0" />
|
|
<span name="attr_warlock_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Warlock</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_gazer_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_gazer_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_gazer_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_gazer_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_gazer"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~gazer)}} {{name=@{character_name}}} {{skill=Abyss Gazer Spellcasting}} {{class=Abyss Gazer}} {{level=@{gazer_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{gazer_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{gazer_power}]]}}" />
|
|
<span class="input lrg" name="attr_gazer_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_gazer_power_mod" value="0" />
|
|
<span name="attr_gazer_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Abyss Gazer</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_arcanist_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_arcanist_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_arcanist_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_arcanist_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_arcanist"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~arcanist)}} {{name=@{character_name}}} {{skill=Arcanist Spellcasting}} {{class=Arcanist}} {{level=@{arcanist_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{arcanist_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{arcanist_power}]]}}" />
|
|
<span class="input lrg" name="attr_arcanist_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_arcanist_power_mod" value="0" />
|
|
<span name="attr_arcanist_power_mod" />
|
|
</span>
|
|
<span class="label">Magic Power</span>
|
|
<span class="input">Arcanist</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_bard_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_bard_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_bard_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_bard_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_bard"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~bard)}} {{name=@{character_name}}} {{skill=Bard Bardic Power}} {{class=Bard}} {{level=@{bard_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{bard_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{bard_power}]]}}" />
|
|
<span class="input lrg" name="attr_bard_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_bard_power_mod" value="0" />
|
|
<span name="attr_bard_power_mod" />
|
|
</span>
|
|
<span class="label">Bardic Power</span>
|
|
<span class="input">Bard</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_dhunter_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_dhunter_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_dhunter_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_dhunter_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_dhunter"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~dhunter)}} {{name=@{character_name}}} {{skill=Dark Hunter Mental Power}} {{class=Dark Hunter}} {{level=@{dhunter_level}}} {{ability=Spirit}} {{modifier=@{spirit_modifier}}} {{result=[[[[2d6]]+@{dhunter_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{dhunter_power}]]}}" />
|
|
<span class="input lrg" name="attr_dhunter_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_dhunter_power_mod" value="0" />
|
|
<span name="attr_dhunter_power_mod" />
|
|
</span>
|
|
<span class="label">Mental Power</span>
|
|
<span class="input">Dark Hunter</span>
|
|
</div>
|
|
|
|
<input class="magic-power" type="hidden" name="attr_alchemist_power" value="" />
|
|
<div class="grid nogap magic-circle">
|
|
<span class="editable">
|
|
<input class="editmode" type="hidden" name="attr_alchemist_power_edit" value="0" />
|
|
<input type="checkbox" name="attr_alchemist_power_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_alchemist_power_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_alchemist"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~alchemist)}} {{name=@{character_name}}} {{skill=Alchemist Evocation Power}} {{class=Alchemist}} {{level=@{alchemist_level}}} {{ability=Intelligence}} {{modifier=@{intelligence_modifier}}} {{result=[[[[2d6]]+@{alchemist_power}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{alchemist_power}]]}}" />
|
|
<span class="input lrg" name="attr_alchemist_power" />
|
|
<input class="toggle-modifier" type="hidden" name="attr_alchemist_power_mod" value="0" />
|
|
<span name="attr_alchemist_power_mod" />
|
|
</span>
|
|
<span class="label">Evocation Power</span>
|
|
<span class="input">Alchemist</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col2 smrowgap">
|
|
<div class="boxstat total">
|
|
<button class="input lrg" type="roll" name="roll_total_evasion"
|
|
value="&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~total_evasion)}} {{name=@{character_name}}} {{skill=Evasion}} {{result=[[[[2d6]]+@{total_evasion}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{total_evasion}]]}}" />
|
|
<label>Total Evasion</label>
|
|
<input type="hidden" name="attr_other_evasion" value="0" />
|
|
<input type="hidden" name="attr_total_evasion" value="0" />
|
|
<span class="input lrg" name="attr_total_evasion" />
|
|
</div>
|
|
<div class="boxstat total">
|
|
<label>Total Defense</label>
|
|
<input type="hidden" name="attr_other_defense" value="0" />
|
|
<input type="hidden" name="attr_total_defense" value="0" />
|
|
<span class="input lrg" name="attr_total_defense" />
|
|
</div>
|
|
|
|
<div class="grid boxstat nogap span2">
|
|
<label>Evasion, Defense enhancements, etc.</label>
|
|
<div class="auto-expand">
|
|
<span name="attr_evasion_enhancements"></span>
|
|
<textarea spellcheck="false" name="attr_evasion_enhancements"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col4">
|
|
<div class="grid col2 nogap editable">
|
|
<input class="editmode" type="hidden" name="attr_hp_edit" value="0" />
|
|
<input type="checkbox" name="attr_hp_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_hp_mod" value="0" />
|
|
</div>
|
|
<div class="boxstat total">
|
|
<label>HP</label>
|
|
<input type="hidden" name="attr_hp_max" />
|
|
<span class="input lrg" name="attr_hp_max" />
|
|
</div>
|
|
<div class="boxstat black">
|
|
<input class="lrg" type="number" name="attr_hp" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col2 nogap editable">
|
|
<input class="editmode" type="hidden" name="attr_mp_edit" value="0" />
|
|
<input type="checkbox" name="attr_mp_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_mp_mod" value="0" />
|
|
</div>
|
|
<div class="boxstat total">
|
|
<label>MP</label>
|
|
<input type="hidden" name="attr_mp_max" />
|
|
<span class="input lrg" name="attr_mp_max" />
|
|
</div>
|
|
<div class="boxstat black">
|
|
<input class="lrg" type="number" name="attr_mp" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="boxstat black editable">
|
|
<input class="editmode" type="hidden" name="attr_fortitude_edit" value="0" />
|
|
<input type="checkbox" name="attr_fortitude_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_fortitude_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_fortitude"
|
|
value="@{storage_fortitude}" />
|
|
<label>Fortitude</label>
|
|
<input type="hidden" name="attr_fortitude" />
|
|
<span class="input lrg" name="attr_fortitude" />
|
|
</div>
|
|
|
|
<div class="boxstat black editable">
|
|
<input class="editmode" type="hidden" name="attr_willpower_edit" value="0" />
|
|
<input type="checkbox" name="attr_willpower_edit" value="1" />
|
|
<div class="editbox">
|
|
<input type="number" name="attr_willpower_mod" value="0" />
|
|
</div>
|
|
<button class="input lrg" type="roll" name="roll_willpower"
|
|
value="@{storage_willpower}" />
|
|
<label>Willpower</label>
|
|
<input type="hidden" name="attr_willpower" />
|
|
<span class="input lrg" name="attr_willpower" />
|
|
</div>
|
|
|
|
<div class="footnote">Adventurer Level x 3 + Vitality
|
|
<input class="toggle-modifier" type="hidden" name="attr_hp_mod" value="0" />
|
|
<span name="attr_hp_mod" /></div>
|
|
<div class="footnote">Total Wizard-Type Class Levels x 3 + Spirit
|
|
<input class="toggle-modifier" type="hidden" name="attr_mp_mod" value="0" />
|
|
<span name="attr_mp_mod" /></div>
|
|
<div class="footnote">Adventurer Level + Vitality Modifier
|
|
<input class="toggle-modifier" type="hidden" name="attr_fortitude_mod" value="0" />
|
|
<span name="attr_fortitude_mod" /></div>
|
|
<div class="footnote">Adventurer Level + Spirit Modifier
|
|
<input class="toggle-modifier" type="hidden" name="attr_willpower_mod" value="0" />
|
|
<span name="attr_willpower_mod" /></div>
|
|
</div>
|
|
|
|
<div class="grid col2-monitems">
|
|
<div class="grid smrowgap">
|
|
<div class="grid profile">
|
|
<span class="label">Money / Deposit / Debt</span>
|
|
<div class="auto-expand lrg">
|
|
<span name="attr_money"></span>
|
|
<textarea spellcheck="false" name="attr_money"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="label">Power Table</div>
|
|
|
|
<div class="grid lined black nogap">
|
|
<div class="grid nogap col13 powertable">
|
|
<div />
|
|
<div>2</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>8</div>
|
|
<div>9</div>
|
|
<div>10</div>
|
|
<div>11</div>
|
|
<div>12</div>
|
|
<div />
|
|
|
|
<div>0</div>
|
|
<div>*</div>
|
|
<div>0</div>
|
|
<div>0</div>
|
|
<div>0</div>
|
|
<div>1</div>
|
|
<div>2</div>
|
|
<div>2</div>
|
|
<div>3</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>4</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power0" value="@{power0_action}" />
|
|
<button class="hidden" type="action" name="act_power0-action" />
|
|
<input type="hidden" name="attr_power0_action" value="">
|
|
</div>
|
|
|
|
<div>5</div>
|
|
<div>*</div>
|
|
<div>0</div>
|
|
<div>1</div>
|
|
<div>1</div>
|
|
<div>2</div>
|
|
<div>2</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>5</div>
|
|
<div>5</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power5" value="@{power5_action}" />
|
|
<button class="hidden" type="action" name="act_power5-action" />
|
|
<input type="hidden" name="attr_power5_action" value="">
|
|
</div>
|
|
|
|
<div>10</div>
|
|
<div>*</div>
|
|
<div>1</div>
|
|
<div>1</div>
|
|
<div>2</div>
|
|
<div>3</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>5</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power10" value="@{power10_action}" />
|
|
<button class="hidden" type="action" name="act_power10-action" />
|
|
<input type="hidden" name="attr_power10_action" value="">
|
|
</div>
|
|
|
|
<div>15</div>
|
|
<div>*</div>
|
|
<div>1</div>
|
|
<div>2</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>5</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>8</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power15" value="@{power15_action}" />
|
|
<button class="hidden" type="action" name="act_power15-action" />
|
|
<input type="hidden" name="attr_power15_action" value="">
|
|
</div>
|
|
|
|
<div>20</div>
|
|
<div>*</div>
|
|
<div>1</div>
|
|
<div>2</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>8</div>
|
|
<div>9</div>
|
|
<div>10</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power20" value="@{power20_action}" />
|
|
<button class="hidden" type="action" name="act_power20-action" />
|
|
<input type="hidden" name="attr_power20_action" value="">
|
|
</div>
|
|
|
|
<div>25</div>
|
|
<div>*</div>
|
|
<div>2</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>8</div>
|
|
<div>8</div>
|
|
<div>9</div>
|
|
<div>10</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power25" value="@{power25_action}" />
|
|
<button class="hidden" type="action" name="act_power25-action" />
|
|
<input type="hidden" name="attr_power25_action" value="">
|
|
</div>
|
|
|
|
<div>30</div>
|
|
<div>*</div>
|
|
<div>2</div>
|
|
<div>4</div>
|
|
<div>4</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>8</div>
|
|
<div>9</div>
|
|
<div>10</div>
|
|
<div>10</div>
|
|
<div>10</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power30" value="@{power30_action}" />
|
|
<button class="hidden" type="action" name="act_power30-action" />
|
|
<input type="hidden" name="attr_power30_action" value="">
|
|
</div>
|
|
|
|
<div>35</div>
|
|
<div>*</div>
|
|
<div>3</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>7</div>
|
|
<div>8</div>
|
|
<div>9</div>
|
|
<div>10</div>
|
|
<div>10</div>
|
|
<div>11</div>
|
|
<div>12</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power35" value="@{power35_action}" />
|
|
<button class="hidden" type="action" name="act_power35-action" />
|
|
<input type="hidden" name="attr_power35_action" value="">
|
|
</div>
|
|
|
|
<div>40</div>
|
|
<div>*</div>
|
|
<div>4</div>
|
|
<div>5</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>9</div>
|
|
<div>10</div>
|
|
<div>11</div>
|
|
<div>11</div>
|
|
<div>12</div>
|
|
<div>13</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power40" value="@{power40_action}" />
|
|
<button class="hidden" type="action" name="act_power40-action" />
|
|
<input type="hidden" name="attr_power40_action" value="">
|
|
</div>
|
|
|
|
<div>45</div>
|
|
<div>*</div>
|
|
<div>4</div>
|
|
<div>6</div>
|
|
<div>7</div>
|
|
<div>9</div>
|
|
<div>10</div>
|
|
<div>10</div>
|
|
<div>11</div>
|
|
<div>12</div>
|
|
<div>13</div>
|
|
<div>14</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power45" value="@{power45_action}" />
|
|
<button class="hidden" type="action" name="act_power45-action" />
|
|
<input type="hidden" name="attr_power45_action" value="">
|
|
</div>
|
|
|
|
<div>50</div>
|
|
<div>*</div>
|
|
<div>4</div>
|
|
<div>6</div>
|
|
<div>8</div>
|
|
<div>10</div>
|
|
<div>10</div>
|
|
<div>12</div>
|
|
<div>12</div>
|
|
<div>13</div>
|
|
<div>15</div>
|
|
<div>15</div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_power50" value="@{power50_action}" />
|
|
<button class="hidden" type="action" name="act_power50-action" />
|
|
<input type="hidden" name="attr_power50_action" value="">
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_powertable">
|
|
<input type="hidden" name="attr_weapon_name" value="Power Level" />
|
|
<input type="hidden" name="attr_weapon_total_extra_damage" value="[[?{Extra Damage|0}]]" />
|
|
<input type="hidden" name="attr_weapon_crit_value" value="[[?{Crit Value|10}]]" />
|
|
<div><input type="number" name="attr_weapon_power" /></div>
|
|
<div>*</div>
|
|
<div><input type="number" name="attr_weapon_power_3" /></div>
|
|
<div><input type="number" name="attr_weapon_power_4" /></div>
|
|
<div><input type="number" name="attr_weapon_power_5" /></div>
|
|
<div><input type="number" name="attr_weapon_power_6" /></div>
|
|
<div><input type="number" name="attr_weapon_power_7" /></div>
|
|
<div><input type="number" name="attr_weapon_power_8" /></div>
|
|
<div><input type="number" name="attr_weapon_power_9" /></div>
|
|
<div><input type="number" name="attr_weapon_power_10" /></div>
|
|
<div><input type="number" name="attr_weapon_power_11" /></div>
|
|
<div><input type="number" name="attr_weapon_power_12" /></div>
|
|
<div>
|
|
<button class="input" type="roll" name="roll_damage" value="@{damage_action}" />
|
|
<button class="hidden" type="action" name="act_damage-action" />
|
|
<input type="hidden" name="attr_damage_action" value="">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid profile">
|
|
<span class="label">Items in Possession, etc.</span>
|
|
<div class="grid col2">
|
|
<div class="grid">
|
|
<div class="auto-expand tall">
|
|
<span name="attr_items"></span>
|
|
<textarea spellcheck="false" name="attr_items"></textarea>
|
|
</div>
|
|
|
|
<input class="toggle-cards" type="hidden" name="attr_alchemist_level" value="0" />
|
|
<div class="grid nogap">
|
|
<div>Material Cards in Possession</div>
|
|
<div class="grid nogap lined cards">
|
|
<div class="grid col5 nogap">
|
|
<div class="header">Color</div>
|
|
<div class="header">B</div>
|
|
<div class="header">A</div>
|
|
<div class="header">S</div>
|
|
<div class="header">SS</div>
|
|
|
|
<div class="label">Red</div>
|
|
<input type="number" name="attr_card_red_b" />
|
|
<input type="number" name="attr_card_red_a" />
|
|
<input type="number" name="attr_card_red_s" />
|
|
<input type="number" name="attr_card_red_ss" />
|
|
|
|
<div class="label">Green</div>
|
|
<input type="number" name="attr_card_green_b" />
|
|
<input type="number" name="attr_card_green_a" />
|
|
<input type="number" name="attr_card_green_s" />
|
|
<input type="number" name="attr_card_green_ss" />
|
|
|
|
<div class="label">Black</div>
|
|
<input type="number" name="attr_card_black_b" />
|
|
<input type="number" name="attr_card_black_a" />
|
|
<input type="number" name="attr_card_black_s" />
|
|
<input type="number" name="attr_card_black_ss" />
|
|
|
|
<div class="label">White</div>
|
|
<input type="number" name="attr_card_white_b" />
|
|
<input type="number" name="attr_card_white_a" />
|
|
<input type="number" name="attr_card_white_s" />
|
|
<input type="number" name="attr_card_white_ss" />
|
|
|
|
<div class="label">Gold</div>
|
|
<input type="number" name="attr_card_gold_b" />
|
|
<input type="number" name="attr_card_gold_a" />
|
|
<input type="number" name="attr_card_gold_s" />
|
|
<input type="number" name="attr_card_gold_ss" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<div class="grid boxstat nogap">
|
|
<label class="flex"><input class="standard" type="checkbox" name="attr_adventurer_set" value="1" />
|
|
Adventurer Set</label>
|
|
<span>Backpack, Waterskin, Blanket, 6 Torches,
|
|
Tinderbox, 10m Rope, Small Knife</span>
|
|
</div>
|
|
|
|
<div class="label">Consumables</div>
|
|
<fieldset class="repeating_consumables">
|
|
<div class="grid boxstat nogap">
|
|
<input type="text" spellcheck="false" name="attr_consumable_name" />
|
|
</div>
|
|
<div class="grid col7 nogap">
|
|
<input type="radio" name="attr_consumable_quantity" value="0" checked="checked" />
|
|
<input type="radio" name="attr_consumable_quantity" value="1" />
|
|
<input type="radio" name="attr_consumable_quantity" value="2" />
|
|
<input type="radio" name="attr_consumable_quantity" value="3" />
|
|
<input type="radio" name="attr_consumable_quantity" value="4" />
|
|
<input type="radio" name="attr_consumable_quantity" value="5" />
|
|
<input type="radio" name="attr_consumable_quantity" value="6" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid monster smrowgap">
|
|
<div class="grid col3-title nogap">
|
|
<input class="lrg" type="number" name="attr_monster_level" value="1" />
|
|
<input class="lrg" type="text" spellcheck="false" name="attr_character_name" />
|
|
<input class="label" type="text" spellcheck="false" list="monster_classification" name="attr_monster_classification" />
|
|
<datalist id="monster_classification">
|
|
<option>Barbarous</option>
|
|
<option>Animal</option>
|
|
<option>Plant</option>
|
|
<option>Undead</option>
|
|
<option>Construct</option>
|
|
<option>Magitech</option>
|
|
<option>Mythical Beast</option>
|
|
<option>Fairy</option>
|
|
<option>Daemon</option>
|
|
<option>Humanoid</option>
|
|
<option>Familiar</option>
|
|
<option>Golem</option>
|
|
</datalist>
|
|
</div>
|
|
|
|
<div class="grid nogap">
|
|
<div class="grid col8-stats1">
|
|
<label>Intelligence:</label>
|
|
<input type="text" spellcheck="false" list="monster_intellect" name="attr_monster_intellect" />
|
|
<datalist id="monster_intellect">
|
|
<option>None</option>
|
|
<option>Animal</option>
|
|
<option>Low</option>
|
|
<option>Average</option>
|
|
<option>High</option>
|
|
<option>Servant</option>
|
|
</datalist>
|
|
<label>Perception:</label>
|
|
<input class="large" type="text" spellcheck="false" list="monster_perception" name="attr_monster_perception" />
|
|
<datalist id="monster_perception">
|
|
<option>Five senses</option>
|
|
<option>Five senses (Darkvision)</option>
|
|
<option>Magic</option>
|
|
<option>Mechanical</option>
|
|
</datalist>
|
|
<label>Disposition:</label>
|
|
<input type="text" spellcheck="false" list="monster_disposition" name="attr_monster_disposition" />
|
|
<datalist id="monster_disposition">
|
|
<option>Friendly</option>
|
|
<option>Neutral</option>
|
|
<option>Hostile</option>
|
|
<option>Hungry</option>
|
|
<option>Instructed</option>
|
|
</datalist>
|
|
<label>Soulscars:</label>
|
|
<input type="number" name="attr_monster_soulscars" />
|
|
</div>
|
|
|
|
<div class="grid col4-stats2">
|
|
<label>Language:</label>
|
|
<input type="text" spellcheck="false" name="attr_monster_language" />
|
|
<label>Habitat:</label>
|
|
<input type="text" spellcheck="false" name="attr_monster_habitat" />
|
|
</div>
|
|
<div class="grid col6-stats3">
|
|
<label>Reputation:</label>
|
|
<div class="grid col2 nogap">
|
|
<input type="number" name="attr_monster_reputation" />
|
|
<button type="roll" name="roll_monster_reputation"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=Reputation}} {{skillverb=target}} {{result=[[@{monster_reputation}]]}}" />
|
|
</div>
|
|
<label>Weakness:</label>
|
|
<div class="grid col2 nogap">
|
|
<input type="number" name="attr_monster_weakness" />
|
|
<button type="roll" name="roll_monster_weakness"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=Weakness}} {{skillverb=target}} {{result=[[@{monster_weakness}]]}}" />
|
|
</div>
|
|
<label>Weak Point:</label>
|
|
<input type="text" spellcheck="false" name="attr_monster_weakpoint" />
|
|
</div>
|
|
<div class="grid col8-stats4">
|
|
<label>Initiative:</label>
|
|
<div class="grid col2 nogap">
|
|
<input type="number" name="attr_monster_initiative" />
|
|
<button type="roll" name="roll_monster_initiative"
|
|
value="@{storage_monster_initiative}" />
|
|
</div>
|
|
<label>Movement Speed:</label>
|
|
<input type="text" spellcheck="false" name="attr_monster_movement" />
|
|
<label>Fortitude:</label>
|
|
<div class="grid col4 nogap">
|
|
<input type="number" name="attr_monster_fortitude" value="0" />
|
|
<button type="roll" name="roll_monster_fortitude"
|
|
value="@{storage_monster_fortitude}" />
|
|
<input type="hidden" name="attr_monster_fortitude_fixed" value="7" />
|
|
<span class="input" name="attr_monster_fortitude_fixed" />
|
|
<button type="roll" name="roll_monster_fortitude2"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=Fortitude}} {{result=[[@{monster_fortitude_fixed}]]}}" />
|
|
</div>
|
|
<label>Willpower:</label>
|
|
<div class="grid col4 nogap">
|
|
<button type="roll" name="roll_monster_willpower"
|
|
value="@{storage_monster_willpower}" />
|
|
<input type="number" name="attr_monster_willpower" value="0" />
|
|
<input type="hidden" name="attr_monster_willpower_fixed" value="7" />
|
|
<span class="input" name="attr_monster_willpower_fixed" />
|
|
<button type="roll" name="roll_monster_willpower2"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=Willpower}} {{result=[[@{monster_willpower_fixed}]]}}" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap lined">
|
|
<div class="grid col7-sections nogap">
|
|
<div class="header">Fighting Style (Section)</div>
|
|
<div class="header">Accuracy</div>
|
|
<div class="header">Damage</div>
|
|
<div class="header">Evasion</div>
|
|
<div class="header">Defense</div>
|
|
<div class="header maxvs">HP</div>
|
|
<div class="header maxvs">MP</div>
|
|
|
|
<input type="text" spellcheck="false" name="attr_monster_main_name" placeholder="Attack (Body)" />
|
|
<div class="grid col4 nogap">
|
|
<input type="number" name="attr_monster_main_accuracy" value="0" />
|
|
<button type="roll" name="roll_monster_main_accuracy"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~monster_main_accuracy)}} {{damage=[Damage](~monster_main_damage)}} {{name=@{character_name}}} {{skill=@{monster_main_name} Accuracy}} {{result=[[[[2d6]]+@{monster_main_accuracy}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_main_accuracy}]]}}" />
|
|
<input type="hidden" name="attr_monster_main_accuracy_fixed" value="7" />
|
|
<span class="input" name="attr_monster_main_accuracy_fixed" />
|
|
<button type="roll" name="roll_monster_main_accuracy2"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{damage=[Damage](~monster_main_damage)}} {{name=@{character_name}}} {{skill=@{monster_main_name} Accuracy}} {{result=[[@{monster_main_accuracy_fixed}]]}}" />
|
|
</div>
|
|
<div class="grid col3 nogap damage">
|
|
<span class="input">2d</span>
|
|
<input type="number" name="attr_monster_main_damage" />
|
|
<button type="roll" name="roll_monster_main_damage"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~monster_main_damage)}} {{name=@{character_name}}} {{skill=@{monster_main_name} Damage}} {{result=[[[[2d6]]+@{monster_main_damage}]]}} {{raw=$[[0]]}} {{simple=1}}" />
|
|
</div>
|
|
<div class="grid col4 nogap">
|
|
<input type="number" name="attr_monster_main_evasion" value="0" />
|
|
<button type="roll" name="roll_monster_main_evasion"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~monster_main_evasion)}} {{name=@{character_name}}} {{skill=@{monster_main_name} Evasion}} {{result=[[[[2d6]]+@{monster_main_evasion}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_main_evasion}]]}}" />
|
|
<input type="hidden" name="attr_monster_main_evasion_fixed" value="7" />
|
|
<span class="input" name="attr_monster_main_evasion_fixed" />
|
|
<button type="roll" name="roll_monster_main_evasion2"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=@{monster_main_name} Evasion}} {{result=[[@{monster_main_evasion_fixed}]]}}" />
|
|
</div>
|
|
<input type="number" name="attr_monster_main_defense" />
|
|
<div class="grid col2 divide nogap">
|
|
<input type="number" name="attr_monster_main_hp_max" />
|
|
<input type="number" name="attr_monster_main_hp" />
|
|
</div>
|
|
<div class="grid col2 divide nogap">
|
|
<input type="number" name="attr_monster_main_mp_max" />
|
|
<input type="number" name="attr_monster_main_mp" />
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_monstersections">
|
|
<div><input type="text" spellcheck="false" name="attr_monster_section_name" /></div>
|
|
<div class="grid col4 nogap">
|
|
<input type="number" name="attr_monster_section_accuracy" value="0" />
|
|
<button type="roll" name="roll_monster_section_accuracy"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~repeating_monstersections_monster_section_accuracy)}} {{damage=[Damage](~repeating_monstersections_monster_section_damage)}} {{name=@{character_name}}} {{skill=@{monster_section_name} Accuracy}} {{result=[[[[2d6]]+@{monster_section_accuracy}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_section_accuracy}]]}}" />
|
|
<input type="hidden" name="attr_monster_section_accuracy_fixed" value="7" />
|
|
<span class="input" name="attr_monster_section_accuracy_fixed" />
|
|
<button type="roll" name="roll_monster_section_accuracy2"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{damage=[Damage](~repeating_monstersections_monster_section_damage)}} {{name=@{character_name}}} {{skill=@{monster_section_name} Accuracy}} {{result=[[@{monster_section_accuracy_fixed}]]}}" />
|
|
</div>
|
|
<div class="grid col3 nogap damage">
|
|
<span class="input">2d</span>
|
|
<input type="number" name="attr_monster_section_damage" />
|
|
<button type="roll" name="roll_monster_section_damage"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~repeating_monstersections_monster_section_damage)}} {{name=@{character_name}}} {{skill=@{monster_section_name} Damage}} {{result=[[[[2d6]]+@{monster_section_damage}]]}} {{raw=$[[0]]}} {{simple=1}}" />
|
|
</div>
|
|
<div class="grid col4 nogap">
|
|
<input type="number" name="attr_monster_section_evasion" value="0" />
|
|
<button type="roll" name="roll_monster_section_evasion"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~repeating_monstersections_monster_section_evasion)}} {{name=@{character_name}}} {{skill=@{monster_section_name} Evasion}} {{result=[[[[2d6]]+@{monster_section_evasion}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_section_evasion}]]}}" />
|
|
<input type="hidden" name="attr_monster_section_evasion_fixed" value="7" />
|
|
<span class="input" name="attr_monster_section_evasion_fixed" />
|
|
<button type="roll" name="roll_monster_section_evasion2"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=@{monster_section_name} Evasion}} {{result=[[@{monster_section_evasion_fixed}]]}}" />
|
|
</div>
|
|
<div><input type="number" name="attr_monster_section_defense" /></div>
|
|
<div class="grid col2 divide nogap">
|
|
<input type="number" name="attr_monster_section_hp_max" />
|
|
<input type="number" name="attr_monster_section_hp" />
|
|
</div>
|
|
<div class="grid col2 divide nogap">
|
|
<input type="number" name="attr_monster_section_mp_max" />
|
|
<input type="number" name="attr_monster_section_mp" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid nogap">
|
|
<div class="grid col4-sections">
|
|
<label>Sections:</label>
|
|
<input type="text" spellcheck="false" name="attr_monster_sections" />
|
|
<label>Main Section:</label>
|
|
<input type="text" spellcheck="false" name="attr_monster_main_section" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap">
|
|
<div class="grid nogap">
|
|
<div class="header">Unique Skills</div>
|
|
</div>
|
|
<fieldset class="repeating_monsterskills">
|
|
<input class="toggle-action" type="hidden" name="attr_monster_skill_action" value="always" />
|
|
<input class="toggle-preparation" type="hidden" name="attr_monster_skill_preparation" value="" />
|
|
<input class="toggle-declared" type="hidden" name="attr_monster_skill_declared" value="" />
|
|
<input class="toggle-template" type="hidden" name="attr_monster_skill_template" value="" />
|
|
<div class="flex">
|
|
|
|
<label class="dropdown">
|
|
<input type="checkbox" name="attr_monster_skill_dropdown" value="1" />
|
|
<span class="dropbtn flex nogap">
|
|
<span class="action-type" />
|
|
<span class="type-declared" />
|
|
<span class="type-preparation" />
|
|
</span>
|
|
<div class="dropdown-content grid col4">
|
|
<label>Action</label>
|
|
<select name="attr_monster_skill_action">
|
|
<option value="always">Always Active</option>
|
|
<option value="major">Major Action</option>
|
|
<option value="minor">Minor Action</option>
|
|
<option value="section">Section</option>
|
|
</select>
|
|
<span class="label">Preparation</span>
|
|
<label class="switch">
|
|
<input type="checkbox" name="attr_monster_skill_preparation" value="1" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
|
|
<label>Template</label>
|
|
<select name="attr_monster_skill_template">
|
|
<option value=""></option>
|
|
<option value="magic">Magic System</option>
|
|
<option value="resistance">Resistance</option>
|
|
</select>
|
|
<span class="label">Declared</span>
|
|
<label class="switch">
|
|
<input type="checkbox" name="attr_monster_skill_declared" value="1" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
</div>
|
|
</label>
|
|
|
|
<input type="text" spellcheck="false" name="attr_monster_skill_name" />
|
|
<div class="grid col4 nogap">
|
|
<input type="number" name="attr_monster_skill_value" value="0" />
|
|
<button class="check" type="roll" name="roll_monster_skill_value"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~repeating_monsterskills_monster_skill_value)}} {{name=@{character_name}}} {{skill=@{monster_skill_name}}} {{result=[[[[2d6]]+@{monster_skill_value}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_skill_value}]]}}" />
|
|
<button class="target" type="roll" name="roll_monster_skill_value2"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~repeating_monsterskills_monster_skill_value2)}} {{name=@{character_name}}} {{skill=@{monster_skill_name}}} {{skillverb=target}} {{result=[[[[2d6]]+@{monster_skill_value}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_skill_value}]]}}" />
|
|
<input type="hidden" name="attr_monster_skill_value_fixed" value="7" />
|
|
<span class="input" name="attr_monster_skill_value_fixed" />
|
|
<button class="check" type="roll" name="roll_monster_skill_value3"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=@{monster_skill_name}}} {{result=[[@{monster_skill_value_fixed}]]}}" />
|
|
<button class="target" type="roll" name="roll_monster_skill_value4"
|
|
value="&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=@{monster_skill_name}}} {{skillverb=target}} {{result=[[@{monster_skill_value_fixed}]]}}" />
|
|
</div>
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_monster_skill_description"></span>
|
|
<textarea spellcheck="false" name="attr_monster_skill_description"></textarea>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid nogap lined">
|
|
<div class="grid nogap">
|
|
<div class="header">Loot</div>
|
|
</div>
|
|
<fieldset class="repeating_monsterloot">
|
|
<div><input type="text" spellcheck="false" name="attr_monster_loot_roll" placeholder="1-2" /></div>
|
|
<div><input type="text" spellcheck="false" name="attr_monster_loot_name" /></div>
|
|
<div><button type="roll" name="roll_monster_loot_roll"
|
|
value="&{template:swinfo} @{roll_template_token} {{name=@{character_name}}} {{info=@{monster_loot_name}}}" /></div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<div class="auto-expand">
|
|
<span name="attr_monster_description"></span>
|
|
<textarea spellcheck="false" name="attr_monster_description" placeholder="Description"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid fellow">
|
|
<div class="grid col2-fellowtop">
|
|
<div class="grid">
|
|
<div class="grid col3-fellowname">
|
|
<div class="grid hex">
|
|
<span class="input acalc" name="attr_adventurer_level"></span>
|
|
<input class="mcalc" type="number" name="attr_fellow_level" placeholder="2" />
|
|
<label>Level</label>
|
|
</div>
|
|
<div class="grid">
|
|
<label>Name</label>
|
|
<input type="text" spellcheck="false" name="attr_character_name" />
|
|
|
|
<label>Player Name</label>
|
|
<input type="text" spellcheck="false" name="attr_player_name" />
|
|
</div>
|
|
<h1>Sword World 2.5</h1>
|
|
</div>
|
|
<div class="grid col3-race vcol">
|
|
<label>Race</label>
|
|
<input type="text" spellcheck="false" list="race" name="attr_race" />
|
|
|
|
<label>Age</label>
|
|
<input type="text" spellcheck="false" name="attr_age" />
|
|
|
|
<label>Gender</label>
|
|
<input type="text" spellcheck="false" name="attr_gender" />
|
|
</div>
|
|
<div class="grid">
|
|
<span class="label">Classes</span>
|
|
<span class="acalc" name="attr_classes"></span>
|
|
<div class="auto-expand mcalc">
|
|
<span name="attr_fellow_classes"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_classes"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="grid">
|
|
<span class="label">Languages</span>
|
|
<div class="auto-expand">
|
|
<span name="attr_languages"></span>
|
|
<textarea spellcheck="false" name="attr_languages"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="grid">
|
|
<span class="label">Self Introduction</span>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_intro"></span>
|
|
<textarea spellcheck="false" name="attr_intro"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="grid">
|
|
<div class="grid guild nogap">
|
|
<img name="attr_character_avatar" />
|
|
</div>
|
|
<div class="grid col2 nogap">
|
|
<div class="boxstat total">
|
|
<label>MP</label>
|
|
<input type="hidden" name="attr_mp_max" />
|
|
<span class="input lrg acalc" name="attr_mp_max" />
|
|
<input class="lrg mcalc" type="number" name="attr_fellow_mp_max" />
|
|
</div>
|
|
<div class="boxstat black">
|
|
<input class="lrg acalc" type="number" name="attr_mp" />
|
|
<input class="lrg mcalc" type="number" name="attr_fellow_mp" />
|
|
</div>
|
|
</div>
|
|
<div class="grid col3 fellowxp">
|
|
<span class="label">Experience</span>
|
|
<label class="flex"><input class="standard" type="radio" name="attr_fellow_xp" value="1" />
|
|
Yes</label>
|
|
<label class="flex"><input class="standard" type="radio" name="attr_fellow_xp" value="0" />
|
|
No</label>
|
|
|
|
<span class="label">Rewards</span>
|
|
<label class="flex"><input class="standard" type="radio" name="attr_fellow_rewards" value="1" />
|
|
Yes</label>
|
|
<label class="flex"><input class="standard" type="radio" name="attr_fellow_rewards" value="0" />
|
|
No</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid nogap lined">
|
|
<div class="grid col6-fellowactions nogap">
|
|
<div class="grid col2 header">
|
|
<span>1d</span>
|
|
<button type="action" name="act_fellow_action" value="" />
|
|
</div>
|
|
<div class="header">Result</div>
|
|
<div class="header">Action</div>
|
|
<div class="header">Dialogue</div>
|
|
<div class="header">Value</div>
|
|
<div class="header">Effect</div>
|
|
|
|
<div class="vspan2">g h
|
|
<button type="action" name="act_fellow_action1-choice" value="" />
|
|
<button type="action" name="act_fellow_action2-choice" value="" />
|
|
</div>
|
|
<div>7</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action1_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action1_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action1_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action1_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action1_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action1_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action1_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action1_extra" />
|
|
<button type="action" name="act_fellow_action1-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action1_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action1_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div>6</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action2_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action2_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action2_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action2_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action2_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action2_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action2_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action2_extra" />
|
|
<button type="action" name="act_fellow_action2-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action2_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action2_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspan2">i j
|
|
<button type="action" name="act_fellow_action3-choice" value="" />
|
|
<button type="action" name="act_fellow_action4-choice" value="" />
|
|
</div>
|
|
<div>8</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action3_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action3_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action3_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action3_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action3_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action3_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action3_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action3_extra" />
|
|
<button type="action" name="act_fellow_action3-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action3_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action3_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div>5</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action4_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action4_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action4_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action4_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action4_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action4_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action4_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action4_extra" />
|
|
<button type="action" name="act_fellow_action4-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action4_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action4_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspan2">k
|
|
<button type="action" name="act_fellow_action5-choice" value="" />
|
|
<button type="action" name="act_fellow_action6-choice" value="" />
|
|
</div>
|
|
<div>9</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action5_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action5_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action5_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action5_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action5_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action5_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action5_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action5_extra" />
|
|
<button type="action" name="act_fellow_action5-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action5_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action5_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div>4</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action6_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action6_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action6_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action6_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action6_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action6_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action6_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action6_extra" />
|
|
<button type="action" name="act_fellow_action6-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action6_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action6_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspan2">l
|
|
<button type="action" name="act_fellow_action7-choice" value="" />
|
|
<button type="action" name="act_fellow_action8-choice" value="" />
|
|
</div>
|
|
<div>10</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action7_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action7_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action7_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action7_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action7_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action7_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action7_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action7_extra" />
|
|
<button type="action" name="act_fellow_action7-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action7_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action7_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div>3</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action8_name"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action8_name" placeholder="Action"></textarea>
|
|
</div>
|
|
<div class="auto-expand quote">
|
|
<span name="attr_fellow_action8_dialogue"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action8_dialogue" placeholder="Dialogue"></textarea>
|
|
</div>
|
|
<div>
|
|
<input type="number" name="attr_fellow_action8_value" />
|
|
</div>
|
|
<div class="grid nogap">
|
|
<div class="grid col7-felloweffect nogap">
|
|
<label>Power</label>
|
|
<input type="number" name="attr_fellow_action8_power" />
|
|
<label>Crit Value</label>
|
|
<input type="number" name="attr_fellow_action8_crit" />
|
|
<label>+</label>
|
|
<input type="number" name="attr_fellow_action8_extra" />
|
|
<button type="action" name="act_fellow_action8-action" value="" />
|
|
</div>
|
|
<div class="auto-expand">
|
|
<span name="attr_fellow_action8_effect"></span>
|
|
<textarea spellcheck="false" name="attr_fellow_action8_effect" placeholder="Effect"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid col4 settings">
|
|
<h2 class="span4">Settings</h2>
|
|
|
|
<label>Type</label>
|
|
<select name="attr_monster">
|
|
<option value="0">Character</option>
|
|
<option value="1">Monster</option>
|
|
<option value="2">Fellow</option>
|
|
</select>
|
|
|
|
<div class="label monster0 slot1">Show 2.0 Mystic Class</div>
|
|
<label class="switch monster0">
|
|
<input type="checkbox" name="attr_sw20" value="1" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
|
|
<div class="label monster0 slot1">Show 2.0 <em>Age of Grimoire</em> Classes</div>
|
|
<label class="switch monster0">
|
|
<input type="checkbox" name="attr_aog" class="attr_aog" value="1" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
|
|
<div class="label monster0 slot1">Show Work Skills</div>
|
|
<label class="switch monster0">
|
|
<input type="checkbox" name="attr_workskills" value="1" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
|
|
<div class="label monster2 slot1">Expanded</div>
|
|
<label class="switch monster2">
|
|
<input type="checkbox" name="attr_fellow_expanded" value="1" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
|
|
<div class="label monster2 slot1">Auto Calculate from Character</div>
|
|
<label class="switch monster2">
|
|
<input type="checkbox" name="attr_fellow_autocalc" value="1" />
|
|
<span class="slider"></span>
|
|
</label>
|
|
<div class="slot1 span2 footnote monster2">This includes level, classes, and MP.</div>
|
|
</div>
|
|
|
|
<script type="text/worker">
|
|
|
|
const storage = {
|
|
initiative: "&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~initiative)}} {{name=@{character_name}}} {{skill=Initiative}} {{class=@{initiative_class}}} {{level=@{initiative_class_level}}} {{ability=Agility}} {{modifier=@{agility_modifier}}} {{result=[[[[2d6]]+@{initiative} &{tracker}]]}} {{raw=$[[0]]}}",
|
|
fortitude: "&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~fortitude)}} {{name=@{character_name}}} {{skill=Fortitude}} {{result=[[[[2d6]]+@{fortitude}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{fortitude}]]}}",
|
|
willpower: "&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~willpower)}} {{name=@{character_name}}} {{skill=Willpower}} {{result=[[[[2d6]]+@{willpower}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{willpower}]]}}",
|
|
monster_initiative: "&{template:swskill} @{roll_template_token} {{monster=1}} {{name=@{character_name}}} {{skill=Initiative}} {{result=[[@{monster_initiative} &{tracker}]]}}",
|
|
monster_fortitude: "&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~monster_fortitude)}} {{name=@{character_name}}} {{skill=Fortitude}} {{result=[[[[2d6]]+@{monster_fortitude}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_fortitude}]]}}",
|
|
monster_willpower: "&{template:swskill} @{roll_template_token} {{monster=1}} {{reroll=[Reroll](~monster_willpower)}} {{name=@{character_name}}} {{skill=Willpower}} {{result=[[[[2d6]]+@{monster_willpower}]]}} {{raw=$[[0]]}} {{result2=[[[[12+5]]+@{monster_willpower}]]}}"
|
|
};
|
|
const tab_list = ["page1","page2","monster","fellow","settings"];
|
|
const base_list = ["skill","body","mind"];
|
|
const ability_data = {
|
|
"dexterity": "Dexterity",
|
|
"agility": "Agility",
|
|
"strength": "Strength",
|
|
"vitality": "Vitality",
|
|
"intelligence": "Intelligence",
|
|
"spirit": "Spirit"
|
|
};
|
|
const ability_list = Object.keys(ability_data);
|
|
const ability_modifier_list = ability_list.map(i => i + "_modifier");
|
|
const correction_list = "abcdef".split("");
|
|
const growth_list = "123456".split("");
|
|
const modifier_list = ability_list.map(i => i + "_mod")
|
|
.concat(["hp_mod","mp_mod","fortitude_mod","willpower_mod"]);
|
|
const total_list = base_list
|
|
.concat(ability_list.map(i => i + "_mod"))
|
|
.concat(correction_list.map(i => "ability_" + i))
|
|
.concat(growth_list.map(i => "growth_" + i))
|
|
.concat(["movement_enhancements_modifier"]);
|
|
// class data
|
|
const class_data = {
|
|
"fighter": "Fighter",
|
|
"grappler": "Grappler",
|
|
"bdancer": "Battle Dancer",
|
|
"fencer": "Fencer",
|
|
"marksman": "Marksman",
|
|
"sorcerer": "Sorcerer",
|
|
"conjurer": "Conjurer",
|
|
"priest": "Priest",
|
|
"artificer": "Artificer",
|
|
"fairy_tamer": "Fairy Tamer",
|
|
"druid": "Druid",
|
|
"warlock": "Warlock",
|
|
"gazer": "Abyss Gazer",
|
|
"arcanist": "Arcanist",
|
|
"scout": "Scout",
|
|
"ranger": "Ranger",
|
|
"sage": "Sage",
|
|
"enhancer": "Enhancer",
|
|
"bard": "Bard",
|
|
"rider": "Rider",
|
|
"alchemist": "Alchemist",
|
|
"geomancer": "Geomancer",
|
|
"tactician": "Tactician",
|
|
"dhunter": "Dark Hunter",
|
|
"mystic": "Mystic",
|
|
"Runesmith": "runesmith",
|
|
"Aristocrat": "aristocrat"
|
|
};
|
|
const class_list = Object.keys(class_data);
|
|
const magic_power_data = {
|
|
"sorcerer": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"conjurer": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"priest": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"artificer": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"fairy_tamer": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"druid": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"warlock": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"gazer": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"arcanist": {
|
|
"ability": "intelligence",
|
|
"wizard": true
|
|
},
|
|
"alchemist": {
|
|
"ability": "intelligence",
|
|
"wizard": false
|
|
},
|
|
"dhunter": {
|
|
"ability": "spirit",
|
|
"wizard": false
|
|
},
|
|
"bard": {
|
|
"ability": "spirit",
|
|
"wizard": false
|
|
}
|
|
};
|
|
const class_level_list = class_list.map(i => i + "_level")
|
|
const class_power_list = class_list.map(i => i + "_power_mod");
|
|
const package_data = {
|
|
"technique": {
|
|
"classes": ["scout","ranger"],
|
|
"ability": "dexterity",
|
|
"zero": false
|
|
},
|
|
"movement": {
|
|
"classes": ["scout","ranger","rider"],
|
|
"ability": "agility",
|
|
"zero": false
|
|
},
|
|
"observation": {
|
|
"classes": ["scout","ranger","rider","geomancer"],
|
|
"ability": "intelligence",
|
|
"zero": false
|
|
},
|
|
"knowledge": {
|
|
"classes": ["sage","alchemist"],
|
|
"ability": "intelligence",
|
|
"zero": false
|
|
},
|
|
"monster_knowledge": {
|
|
"classes": ["sage","rider","dhunter"],
|
|
"ability": "intelligence",
|
|
"zero": false
|
|
},
|
|
"initiative": {
|
|
"classes": ["scout","tactician"],
|
|
"ability": "agility",
|
|
"zero": false
|
|
},
|
|
"base_accuracy": {
|
|
"classes": ["fighter","grappler","bdancer","fencer","marksman"],
|
|
"ability": "dexterity",
|
|
"zero": false
|
|
},
|
|
"extra_damage": {
|
|
"classes": ["fighter","grappler","bdancer","fencer","marksman"],
|
|
"ability": "strength",
|
|
"zero": false
|
|
},
|
|
"base_evasion": {
|
|
"classes": ["fighter","grappler","bdancer","fencer"],
|
|
"ability": "agility",
|
|
"zero": false
|
|
}
|
|
};
|
|
const package_list = Object.keys(package_data);
|
|
|
|
tab_list.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
setAttrs({"tab": button});
|
|
});
|
|
});
|
|
|
|
on("sheet:opened change:character_token", function(eventInfo) {
|
|
let update = {
|
|
roll_template_token: "",
|
|
display_token: 0,
|
|
storage_initiative: storage["initiative"],
|
|
storage_fortitude: storage["fortitude"],
|
|
storage_willpower: storage["willpower"],
|
|
storage_monster_initiative: storage["monster_initiative"],
|
|
storage_monster_fortitude: storage["monster_fortitude"],
|
|
storage_monster_willpower: storage["monster_willpower"]
|
|
};
|
|
getAttrs(["character_token"], function(values) {
|
|
let character_token = values.character_token;
|
|
|
|
if (character_token.length > 0 &&
|
|
character_token.substring(character_token.length - 4, character_token.length - 3) !== '.') {
|
|
|
|
character_token += ".png";
|
|
let roll_template_token = `{{token=[x](${character_token})}}`;
|
|
|
|
update["roll_template_token"] = roll_template_token;
|
|
update["display_token"] = 1;
|
|
}
|
|
setAttrs(update);
|
|
});
|
|
triggerAbility(eventInfo);
|
|
});
|
|
|
|
total_list.forEach(trigger => {
|
|
on(`change:${trigger}`, function(eventInfo) {
|
|
triggerAbility(eventInfo);
|
|
});
|
|
});
|
|
const triggerAbility = function(eventInfo) {
|
|
getAttrs(total_list, function(values) {
|
|
let update = {};
|
|
let counter = 0;
|
|
let move_mod = parseInt(values["movement_enhancements_modifier"])||0;
|
|
base_list.forEach(base => {
|
|
let base_value = parseInt(values[`${base}`])||0;
|
|
for (let i = 0; i < 2; i++) {
|
|
let correction = correction_list[counter];
|
|
let correction_value = parseInt(values[`ability_${correction}`])||0;
|
|
let growth = counter + 1;
|
|
let growth_value = parseInt(values[`growth_${growth}`])||0;
|
|
let ability = ability_list[counter];
|
|
let mod = parseInt(values[`${ability}_mod`])||0;
|
|
let rawscore = base_value + correction_value + growth_value;
|
|
let score = rawscore + mod;
|
|
let modifier = Math.floor(score / 6);
|
|
update[`${ability}`] = score;
|
|
update[`${ability}_raw`] = rawscore;
|
|
update[`${ability}_modifier`] = modifier;
|
|
if (ability == "agility") {
|
|
update["normal_move"] = score + move_mod;
|
|
update["full_move"] = (score + move_mod) * 3;
|
|
}
|
|
counter++;
|
|
}
|
|
});
|
|
setAttrs(update);
|
|
});
|
|
};
|
|
|
|
ability_list.concat(class_level_list).concat(class_power_list).concat(modifier_list).forEach(trigger => {
|
|
on(`change:${trigger} change:race change:fellow_autocalc`, function() {
|
|
getAttrs(class_level_list.concat(class_power_list).concat(ability_list).concat(ability_modifier_list).concat(modifier_list).concat(["race"]), function(values) {
|
|
let update = {};
|
|
let classes = [];
|
|
let level = 0;
|
|
let wizard_level = 0;
|
|
let hp = parseInt(values["vitality"])||0;
|
|
let hp_mod = parseInt(values["hp_mod"])||0;
|
|
let mp = parseInt(values["spirit"])||0;
|
|
let mp_mod = parseInt(values["mp_mod"])||0;
|
|
let dexterity = parseInt(values["dexterity_modifier"])||0;
|
|
let strength = parseInt(values["strength_modifier"])||0;
|
|
let intelligence = parseInt(values["intelligence_modifier"])||0;
|
|
let spirit = parseInt(values["spirit_modifier"])||0;
|
|
let fortitude = parseInt(values["vitality_modifier"])||0;
|
|
let fort_mod = parseInt(values["fortitude_mod"])||0;
|
|
let willpower = parseInt(values["spirit_modifier"])||0;
|
|
let wp_mod = parseInt(values["willpower_mod"])||0;
|
|
let race = values["race"];
|
|
class_level_list.forEach(v => {
|
|
let class_level = parseInt(values[`${v}`])||0;
|
|
let class_name = v.replace("_level", "");
|
|
if (class_level > 0) {
|
|
classes.push(`${class_data[class_name]} ${class_level}`);
|
|
}
|
|
level = class_level > level ? class_level : level;
|
|
if (magic_power_data[class_name] && magic_power_data[class_name]["wizard"]) {
|
|
wizard_level += class_level;
|
|
}
|
|
});
|
|
update["classes"] = classes.join(', ');
|
|
update["adventurer_level"] = level;
|
|
update["hp_max"] = level * 3 + hp + hp_mod;
|
|
update["mp_max"] = race.toLowerCase() == "grassrunner" ? "None" : wizard_level * 3 + mp + mp_mod;
|
|
update["fortitude"] = level + fortitude + fort_mod;
|
|
update["willpower"] = level + willpower + wp_mod;
|
|
|
|
package_list.forEach(package => {
|
|
let package_level = 0;
|
|
let package_class = "";
|
|
let ability = package_data[package]["ability"];
|
|
let package_ability = values[`${ability}_modifier`];
|
|
let zero = package_data[package]["zero"];
|
|
package_data[package]["classes"].forEach(v => {
|
|
let class_level = parseInt(values[`${v}_level`])||0;
|
|
if (class_level > package_level) {
|
|
package_level = class_level;
|
|
package_class = class_data[v];
|
|
}
|
|
});
|
|
if (package_level > 0) {
|
|
update[`${package}_class`] = package_class;
|
|
update[`${package}_class_level`] = package_level;
|
|
package_level += package_ability;
|
|
update[`${package}`] = package_level;
|
|
} else {
|
|
if (zero) {
|
|
update[`${package}`] = 0;
|
|
} else {
|
|
update[`${package}`] = "";
|
|
}
|
|
update[`${package}_class`] = "";
|
|
update[`${package}_class_level`] = "";
|
|
}
|
|
});
|
|
|
|
class_list.forEach(v => {
|
|
if (v in magic_power_data) {
|
|
let class_level = parseInt(values[`${v}_level`])||0;
|
|
let class_mod = parseInt(values[`${v}_power_mod`])||0;
|
|
if (class_level > 0) {
|
|
let ability = magic_power_data[v]["ability"];
|
|
let ability_modifier = values[`${ability}_modifier`];
|
|
update[`${v}_power`] = class_level + ability_modifier + class_mod;
|
|
} else {
|
|
update[`${v}_power`] = "";
|
|
}
|
|
}
|
|
});
|
|
setAttrs(update);
|
|
|
|
getSectionIDs("repeating_weapons", function(idarray) {
|
|
for (var i=0; i < idarray.length; i++) {
|
|
let id = idarray[i];;
|
|
getAttrs([`repeating_weapons_${id}_weapon_class`,`repeating_weapons_${id}_weapon_accuracy`,`repeating_weapons_${id}_weapon_extra_damage`], function(values2) {
|
|
let strength = parseInt(values["strength_modifier"])||0;
|
|
let intelligence = parseInt(values["intelligence_modifier"])||0;
|
|
let spirit = parseInt(values["spirit_modifier"])||0;
|
|
let update2 = {};
|
|
let w_class = values2[`repeating_weapons_${id}_weapon_class`];
|
|
let w_acc_level = ["gun","crossbow"].includes(w_class) ? parseInt(values["marksman_level"])||0 :
|
|
parseInt(values[`${w_class}_level`])||0;
|
|
let w_dmg_level = w_class == "gun" ? parseInt(values["artificer_level"])||0 :
|
|
w_class == "crossbow" ? parseInt(values["marksman_level"])||0 :
|
|
w_class == "dhunter" ? parseInt(values["dhunter_level"])||0 :
|
|
parseInt(values[`${w_class}_level`])||0;
|
|
let w_accuracy = parseInt(values2[`repeating_weapons_${id}_weapon_accuracy`])||0;
|
|
let w_damage = parseInt(values2[`repeating_weapons_${id}_weapon_extra_damage`])||0;
|
|
w_accuracy += w_class == "dhunter" ? w_acc_level + spirit : w_acc_level + dexterity;
|
|
// w_accuracy += w_acc_level + dexterity;
|
|
w_damage += w_class == "gun" && w_dmg_level > 0 ? intelligence + w_dmg_level :
|
|
w_class == "crossbow" && w_dmg_level > 0 ? w_dmg_level :
|
|
w_class == "dhunter" && w_dmg_level > 0 ? spirit + w_dmg_level :
|
|
w_dmg_level > 0 ? strength + w_dmg_level : 0;
|
|
update2[`repeating_weapons_${id}_weapon_total_accuracy`] = w_accuracy;
|
|
update2[`repeating_weapons_${id}_weapon_total_extra_damage`] = w_damage;
|
|
setAttrs(update2, {silent:true});
|
|
});
|
|
}
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
on("change:repeating_weapons", function(eventInfo) {
|
|
getAttrs(["repeating_weapons_weapon_class","repeating_weapons_weapon_accuracy",
|
|
"repeating_weapons_weapon_extra_damage","fighter_level","grappler_level",
|
|
"fencer_level","marksman_level","bdancer_level","artificer_level",
|
|
"dhunter_level","strength_modifier","dexterity_modifier","spirit_modifier",
|
|
"intelligence_modifier"], function(values) {
|
|
let update = {};
|
|
let dexterity = parseInt(values["dexterity_modifier"])||0;
|
|
let strength = parseInt(values["strength_modifier"])||0;
|
|
let intelligence = parseInt(values["intelligence_modifier"])||0;
|
|
let spirit = parseInt(values["spirit_modifier"])||0;
|
|
let w_class = values["repeating_weapons_weapon_class"];
|
|
let w_acc_level = ["gun","crossbow"].includes(w_class) ? parseInt(values["marksman_level"])||0 :
|
|
parseInt(values[`${w_class}_level`])||0;
|
|
let w_dmg_level = w_class == "gun" ? parseInt(values["artificer_level"])||0 :
|
|
w_class == "crossbow" ? parseInt(values["marksman_level"])||0 :
|
|
parseInt(values[`${w_class}_level`])||0;
|
|
let w_accuracy = parseInt(values["repeating_weapons_weapon_accuracy"])||0;
|
|
let w_damage = parseInt(values["repeating_weapons_weapon_extra_damage"])||0;
|
|
w_accuracy += w_acc_level > 0 ?
|
|
w_class == "dhunter" ? w_acc_level + spirit :
|
|
w_acc_level + dexterity : 0;
|
|
w_damage += w_class == "gun" && w_dmg_level > 0 ? intelligence + w_dmg_level :
|
|
w_class == "crossbow" && w_dmg_level > 0 ? w_dmg_level :
|
|
w_class == "dhunter" && w_dmg_level > 0 ? spirit + w_dmg_level :
|
|
w_dmg_level > 0 ? strength + w_dmg_level : 0;
|
|
update["repeating_weapons_weapon_total_accuracy"] = w_accuracy;
|
|
update["repeating_weapons_weapon_total_extra_damage"] = w_damage;
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
|
|
const powert_list = ["weapons","powertable"];
|
|
|
|
const getPowerValue = function(p, v) {
|
|
switch (v) {
|
|
case 3:
|
|
return (p>9)+(p>22)+(p>31)+(p>38)+(p>50)+(p>73)+(p>85)+(p>92);
|
|
case 4:
|
|
return (p>4)+(p>10)+(p>23)+(p>29)+(p>35)+(p>40)+(p>50)+(p>55)+(p>58)+
|
|
(p>85)+(p>90)+(p>96);
|
|
case 5:
|
|
return (p>2)+(p>7)+(p>12)+(p>23)+(p>30)+(p>36)+(p>41)+(p>49)+(p>52)+
|
|
(p>54)+(p>82)+(p>86)+(p>90)+(p>94)+(p>97);
|
|
case 6:
|
|
return 1+(p>3)+(p>8)+(p>13)+(p>21)+(p>26)+(p>34)+(p>42)+(p>44)+(p>48)+
|
|
(p>56)+(p>64)+(p>70)+(p>81)+(p>88)+(p>93)+(p>98)+(p>99);
|
|
case 7:
|
|
return 2+(p>5)+(p>11)+(p>16)+(p>20)+(p>28)+(p>32)+(p>39)+(p>43)+
|
|
(p>51)+(p>57)+(p>61)+(p>67)+(p>71)+(p>74)+(p>80)+(p>87)+(p>95);
|
|
case 8:
|
|
return 2+(p>0)+(p>6)+(p>14)+(p>17)+(p>22)+(p>25)+(p>33)+(p>37)+(p>46)+
|
|
(p>47)+(p>59)+(p>63)+(p>65)+(p>68)+(p>75)+(p>78)+(p>83)+(p>91);
|
|
case 9:
|
|
return 3+(p>1)+(p>9)+(p>15)+(p>18)+(p>24)+(p>27)+(p>31)+(p>38)+(p>45)+
|
|
(p>53)+(p>58)+(p>62)+(p>66)+(p>69)+(p>73)+(p>77)+(p>79)+(p>84)+
|
|
(p>92);
|
|
case 10:
|
|
return 3+(p>1)+(p>4)+(p>10)+(p>15)+(p>19)+(p>25)+(p>29)+(p>35)+(p>40)+
|
|
(p>45)+(p>52)+(p>55)+(p>60)+(p>62)+(p>69)+(p>72)+(p>76)+(p>79)+
|
|
(p>84)+(p>89)+(p>96);
|
|
case 11:
|
|
return 4+(p>3)+(p>7)+(p>12)+(p>18)+(p>19)+(p>27)+(p>33)+(p>36)+(p>41)+
|
|
(p>48)+(p>49)+(p>54)+(p>60)+(p>64)+(p>66)+(p>72)+(p>76)+(p>77)+
|
|
(p>82)+(p>86)+(p>89)+(p>94)+(p>97);
|
|
case 12:
|
|
return 4+(p>2)+(p>6)+(p>8)+(p>13)+(p>18)+(p>19)+(p>30)+(p>34)+(p>37)+
|
|
(p>42)+(p>46)+(p>53)+(p>56)+(p>59)+(p>65)+(p>70)+(p>72)+(p>76)+
|
|
(p>77)+(p>81)+(p>85)+(p>88)+(p>91)+(p>93)+(p>98)+(p>99);
|
|
}
|
|
return 0;
|
|
};
|
|
|
|
powert_list.forEach(trigger => {
|
|
on(`change:repeating_${trigger}:weapon_power`, function(eventInfo) {
|
|
getAttrs([`repeating_${trigger}_weapon_power`], function(values) {
|
|
let update = {};
|
|
let p = parseInt(values[`repeating_${trigger}_weapon_power`])||0;
|
|
update[`repeating_${trigger}_weapon_power_3`] = getPowerValue(p, 3);
|
|
update[`repeating_${trigger}_weapon_power_4`] = getPowerValue(p, 4);
|
|
update[`repeating_${trigger}_weapon_power_5`] = getPowerValue(p, 5);
|
|
update[`repeating_${trigger}_weapon_power_6`] = getPowerValue(p, 6);
|
|
update[`repeating_${trigger}_weapon_power_7`] = getPowerValue(p, 7);
|
|
update[`repeating_${trigger}_weapon_power_8`] = getPowerValue(p, 8);
|
|
update[`repeating_${trigger}_weapon_power_9`] = getPowerValue(p, 9);
|
|
update[`repeating_${trigger}_weapon_power_10`] = getPowerValue(p, 10);
|
|
update[`repeating_${trigger}_weapon_power_11`] = getPowerValue(p, 11);
|
|
update[`repeating_${trigger}_weapon_power_12`] = getPowerValue(p, 12);
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
});
|
|
|
|
on("change:repeating_armor:armor_other_evasion", function() {
|
|
repeatingSum("other_evasion", "armor", "armor_other_evasion");
|
|
});
|
|
|
|
on("change:base_evasion change:armor_evasion change:shield_evasion change:other_evasion", function() {
|
|
getAttrs(["base_evasion","armor_evasion","shield_evasion","other_evasion"], function(values) {
|
|
let update = {};
|
|
let base_evasion = parseInt(values["base_evasion"])||0;
|
|
let armor_evasion = parseInt(values["armor_evasion"])||0;
|
|
let shield_evasion = parseInt(values["shield_evasion"])||0;
|
|
let other_evasion = parseInt(values["other_evasion"])||0;
|
|
update["total_evasion"] = base_evasion + armor_evasion + shield_evasion + other_evasion;
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
|
|
on("change:repeating_armor:armor_other_defense", function() {
|
|
repeatingSum("other_defense", "armor", "armor_other_defense");
|
|
});
|
|
|
|
on("change:armor_defense change:shield_defense change:other_defense", function() {
|
|
getAttrs(["armor_defense","shield_defense","other_defense"], function(values) {
|
|
let update = {};
|
|
let armor_defense = parseInt(values["armor_defense"])||0;
|
|
let shield_defense = parseInt(values["shield_defense"])||0;
|
|
let other_defense = parseInt(values["other_defense"])||0;
|
|
update["total_defense"] = armor_defense + shield_defense + other_defense;
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
|
|
on("clicked:roll-action", function(eventInfo) {
|
|
getAttrs(["monster"], function(values) {
|
|
let monster_type = parseInt(values["monster"])||0;
|
|
let roll = "?{Action|Initiative,0[initiative]|Fortitude,1[fortitude]|Willpower,2[willpower]}";
|
|
if (monster_type == 1) { // monster
|
|
roll = "?{Action|Initiative,0[monster_initiative]|Fortitude,1[monster_fortitude]|Willpower,2[monster_willpower]}";
|
|
} else if (monster_type == 2) { // fellow
|
|
roll = "0";
|
|
}
|
|
|
|
startRoll(`&{template:swempty} {{rolltype=[[${roll}]]}} {{raw=[[2d6]]}}`, (results) => {
|
|
finishRoll(results.rollId, {});
|
|
|
|
if (monster_type == 2) { // fellow
|
|
triggerFellow(eventInfo);
|
|
} else {
|
|
let rolltype = results.results.rolltype.expression.slice(2, -1);
|
|
let final_roll = storage[rolltype];
|
|
startRoll(final_roll, (results2) => {
|
|
finishRoll(results2.rollId, {});
|
|
});
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
on("clicked:class-action clicked:repeating_workskills:workskill-action", function(eventInfo) {
|
|
const source = eventInfo["sourceAttribute"] ? eventInfo["sourceAttribute"] : "";
|
|
const rowid = source ? source.split('_')[2] : "";
|
|
getAttrs(class_level_list.concat(ability_modifier_list), function(values) {
|
|
let reroll = source ? source : "roll";
|
|
let class_roll = rowid ? `@{repeating_workskills_${rowid}_workskill_level}[@{repeating_workskills_${rowid}_workskill_name}]` :
|
|
"?{Class";
|
|
let class_level = rowid ? class_roll : "?{Class}";
|
|
if (!rowid) {
|
|
class_list.forEach(c => {
|
|
let c_name = class_data[c];
|
|
let c_level = parseInt(values[`${c}_level`])||0;
|
|
class_roll += `|${c_name},${c_level}[${c}]`;
|
|
});
|
|
class_roll += "}";
|
|
}
|
|
let ability_roll = "?{Ability";
|
|
ability_list.forEach(a => {
|
|
let a_name = ability_data[a];
|
|
let a_mod = parseInt(values[`${a}_modifier`])||0;
|
|
ability_roll += `|${a_name},${a_mod}[${a}]`;
|
|
});
|
|
ability_roll += "}";
|
|
startRoll(`&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~${reroll})}} {{name=@{character_name}}} {{class=${class_roll}}} {{level=[[${class_level}]]}} {{ability=${ability_roll}}} {{modifier=[[?{Ability}]]}} {{result=[[[[2d6]]+${class_roll}+?{Ability}]]}} {{raw=$[[2]]}} {{result2=[[[[12+5]]+${class_roll}+?{Ability}]]}}`, (results) => {
|
|
const raw = results.results.raw.result;
|
|
const level = results.results.level.result;
|
|
const mod = results.results.modifier.result;
|
|
let c_name = results.results.level.expression.slice(2, -1);
|
|
c_name = rowid ? c_name : class_data[c_name];
|
|
let a_name = results.results.modifier.expression.slice(2, -1);
|
|
a_name = ability_data[a_name];
|
|
let computed = raw;
|
|
let computed2 = 17;
|
|
if (level > 0 ) {
|
|
computed += level + mod;
|
|
computed2 += level + mod;
|
|
}
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
"result": computed,
|
|
"result2": computed2,
|
|
"level": c_name,
|
|
"modifier": a_name
|
|
}
|
|
);
|
|
});
|
|
});
|
|
});
|
|
|
|
const powerb_list = [0,5,10,15,20,25,30,35,40,45,50].map(i => `power${i}`);
|
|
powerb_list.forEach(trigger => {
|
|
on(`clicked:${trigger}-action`, function(eventInfo) {
|
|
let key = parseInt(trigger.replace("power", ""))||0;
|
|
let name = `Power Level ${key}`;
|
|
let power = key;
|
|
let power3 = getPowerValue(power, 3);
|
|
let power4 = getPowerValue(power, 4);
|
|
let power5 = getPowerValue(power, 5);
|
|
let power6 = getPowerValue(power, 6);
|
|
let power7 = getPowerValue(power, 7);
|
|
let power8 = getPowerValue(power, 8);
|
|
let power9 = getPowerValue(power, 9);
|
|
let power10 = getPowerValue(power, 10);
|
|
let power11 = getPowerValue(power, 11);
|
|
let power12 = getPowerValue(power, 12);
|
|
|
|
startRoll(`&{template:swdamage} @{roll_template_token} {{reroll=[Reroll](~${trigger})}} {{name=@{character_name}}} {{skill=${name}}} {{power=${power}}} {{extra=[[?{Extra Damage|0}]]}} {{crit=[[?{Crit Value|10}]]}} {{power3=${power3}}} {{power4=${power4}}} {{power5=${power5}}} {{power6=${power6}}} {{power7=${power7}}} {{power8=${power8}}} {{power9=${power9}}} {{power10=${power10}}} {{power11=${power11}}} {{power12=${power12}}} {{result=[[2d6]]}}`, (results) => {
|
|
const roll = results.results.result.result;
|
|
const extra_r = results.results.extra.result;
|
|
const crit_r = results.results.crit.result;
|
|
let computed = getPowerValue(power, roll);
|
|
if (roll != 2 && (roll < crit_r || crit_r < 3)) {
|
|
computed += extra_r;
|
|
}
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
result: computed
|
|
}
|
|
);
|
|
});
|
|
});
|
|
});
|
|
|
|
const fellowa_list = [1,2,3,4,5,6,7,8].map(i => `fellow_action${i}`);
|
|
fellowa_list.forEach(trigger => {
|
|
on(`clicked:${trigger}-action`, function(eventInfo) {
|
|
getAttrs([`${trigger}_name`,`${trigger}_power`,`${trigger}_extra`,
|
|
`${trigger}_crit`], function(values) {
|
|
|
|
let name = values[`${trigger}_name`];
|
|
let power = parseInt(values[`${trigger}_power`])||0;
|
|
let extra = parseInt(values[`${trigger}_extra`])||0;
|
|
let crit = parseInt(values[`${trigger}_crit`])||0;
|
|
let power3 = getPowerValue(power, 3);
|
|
let power4 = getPowerValue(power, 4);
|
|
let power5 = getPowerValue(power, 5);
|
|
let power6 = getPowerValue(power, 6);
|
|
let power7 = getPowerValue(power, 7);
|
|
let power8 = getPowerValue(power, 8);
|
|
let power9 = getPowerValue(power, 9);
|
|
let power10 = getPowerValue(power, 10);
|
|
let power11 = getPowerValue(power, 11);
|
|
let power12 = getPowerValue(power, 12);
|
|
|
|
startRoll(`&{template:swdamage} @{roll_template_token} {{reroll=[Reroll](~${trigger}-action)}} {{name=@{character_name}}} {{skill=${name}}} {{power=${power}}} {{extra=[[${extra}]]}} {{crit=[[${crit}]]}} {{power3=${power3}}} {{power4=${power4}}} {{power5=${power5}}} {{power6=${power6}}} {{power7=${power7}}} {{power8=${power8}}} {{power9=${power9}}} {{power10=${power10}}} {{power11=${power11}}} {{power12=${power12}}} {{result=[[2d6]]}}`, (results) => {
|
|
const roll = results.results.result.result;
|
|
const extra_r = results.results.extra.result;
|
|
const crit_r = results.results.crit.result;
|
|
let computed = getPowerValue(power, roll);
|
|
if (roll != 2 && (roll < crit_r || crit_r < 3)) {
|
|
computed += extra_r;
|
|
}
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
result: computed
|
|
}
|
|
);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
powert_list.forEach(trigger => {
|
|
on(`clicked:repeating_${trigger}:damage-action`, function(eventInfo) {
|
|
getAttrs([`repeating_${trigger}_weapon_power`,`repeating_${trigger}_weapon_power_3`,
|
|
`repeating_${trigger}_weapon_power_4`,`repeating_${trigger}_weapon_power_5`,
|
|
`repeating_${trigger}_weapon_power_6`,`repeating_${trigger}_weapon_power_7`,
|
|
`repeating_${trigger}_weapon_power_8`,`repeating_${trigger}_weapon_power_9`,
|
|
`repeating_${trigger}_weapon_power_10`,`repeating_${trigger}_weapon_power_11`,
|
|
`repeating_${trigger}_weapon_power_12`,`repeating_${trigger}_weapon_name`,
|
|
`repeating_${trigger}_weapon_total_extra_damage`,
|
|
`repeating_${trigger}_weapon_crit_value`], function(values) {
|
|
let key = eventInfo[`sourceAttribute`];
|
|
key = key.replace(`repeating_${trigger}_`,``).replace(`_damage-action`,``);
|
|
let name = values[`repeating_${trigger}_weapon_name`];
|
|
let power = values[`repeating_${trigger}_weapon_power`];
|
|
if (name == "Power Level") {
|
|
name += ` ${power}`;
|
|
}
|
|
let extra = values[`repeating_${trigger}_weapon_total_extra_damage`];
|
|
let crit = values[`repeating_${trigger}_weapon_crit_value`];
|
|
let power3 = values[`repeating_${trigger}_weapon_power_3`];
|
|
let power4 = values[`repeating_${trigger}_weapon_power_4`];
|
|
let power5 = values[`repeating_${trigger}_weapon_power_5`];
|
|
let power6 = values[`repeating_${trigger}_weapon_power_6`];
|
|
let power7 = values[`repeating_${trigger}_weapon_power_7`];
|
|
let power8 = values[`repeating_${trigger}_weapon_power_8`];
|
|
let power9 = values[`repeating_${trigger}_weapon_power_9`];
|
|
let power10 = values[`repeating_${trigger}_weapon_power_10`];
|
|
let power11 = values[`repeating_${trigger}_weapon_power_11`];
|
|
let power12 = values[`repeating_${trigger}_weapon_power_12`];
|
|
|
|
startRoll(`&{template:swdamage} @{roll_template_token} {{reroll=[Reroll](~repeating_${trigger}_${key}_damage)}} {{name=@{character_name}}} {{skill=${name}}} {{power=${power}}} {{extra=[[0+${extra}]]}} {{crit=[[0+${crit}]]}} {{power3=${power3}}} {{power4=${power4}}} {{power5=${power5}}} {{power6=${power6}}} {{power7=${power7}}} {{power8=${power8}}} {{power9=${power9}}} {{power10=${power10}}} {{power11=${power11}}} {{power12=${power12}}} {{result=[[2d6]]}}`, (results) => {
|
|
const roll = results.results.result.result;
|
|
const extra_r = results.results.extra.result;
|
|
const crit_r = results.results.crit.result;
|
|
let computed = parseInt(values[`repeating_${trigger}_weapon_power_${roll}`])||0;
|
|
if (roll != 2 && (roll < crit_r || crit_r < 3)) {
|
|
computed += extra_r;
|
|
}
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
result: computed
|
|
}
|
|
);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
const action_list = ["name","dialogue","value","effect","power"];
|
|
let all_action_list = ["fellow_expanded"];
|
|
let fellow_triggers = "clicked:fellow_action";
|
|
[1,2,3,4,5,6,7,8].forEach(n => {
|
|
all_action_list = all_action_list.concat(action_list.map(i => `fellow_action${n}_${i}`));
|
|
fellow_triggers += ` clicked:fellow_action${n}-choice`;
|
|
});
|
|
const action_map = {
|
|
1: 1,
|
|
2: 1,
|
|
3: 3,
|
|
4: 3,
|
|
5: 5,
|
|
6: 7
|
|
};
|
|
on(fellow_triggers, function(eventInfo) {
|
|
triggerFellow(eventInfo);
|
|
});
|
|
const triggerFellow = function(eventInfo) {
|
|
let trigger = eventInfo["triggerName"];
|
|
let choice = 0;
|
|
if (trigger && trigger.indexOf("choice") > 0) {
|
|
choice = trigger.replace("clicked:fellow_action", "").replace("-choice", "");
|
|
choice = parseInt(choice)||0;
|
|
}
|
|
getAttrs(all_action_list, function(values) {
|
|
let expanded = parseInt(values["fellow_expanded"])||0;
|
|
let roll = choice > 0 ?
|
|
`&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~fellow_action)}} {{damage1=[Damage](~fellow_action1-action)}} {{damage2=[Damage](~fellow_action2-action)}} {{damage3=[Damage](~fellow_action3-action)}} {{damage4=[Damage](~fellow_action4-action)}} {{damage5=[Damage](~fellow_action5-action)}} {{damage6=[Damage](~fellow_action6-action)}} {{damage7=[Damage](~fellow_action7-action)}} {{damage8=[Damage](~fellow_action8-action)}} {{fellow=[[${choice}]]}} {{simple=1}} {{name=@{character_name}}} {{skill=[[1d0]]}} {{quote=[[1d0]]}} {{effect=[[1d0]]}} {{power=[[1d0]]}} {{result=[[1d0]]}}` :
|
|
expanded ?
|
|
`&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~fellow_action)}} {{choice1=[${cleaner(values.fellow_action1_name)}](~fellow_action1-choice)}} {{choice2=[${cleaner(values.fellow_action2_name)}](~fellow_action2-choice)}} {{choice3=[${cleaner(values.fellow_action3_name)}](~fellow_action3-choice)}} {{choice4=[${cleaner(values.fellow_action4_name)}](~fellow_action4-choice)}} {{choice5=[${cleaner(values.fellow_action5_name)}](~fellow_action5-choice)}} {{choice6=[${cleaner(values.fellow_action6_name)}](~fellow_action6-choice)}} {{choice7=[${cleaner(values.fellow_action7_name)}](~fellow_action7-choice)}} {{choice8=[${cleaner(values.fellow_action8_name)}](~fellow_action8-choice)}} {{fellow=[[0]]}} {{simple=1}} {{choice=1}} {{name=@{character_name}}} {{skill=[[1d0]]}} {{quote=[[1d0]]}} {{effect=[[1d0]]}} {{power=[[1d0]]}} {{result=[[1d6]]}}` :
|
|
`&{template:swskill} @{roll_template_token} {{reroll=[Reroll](~fellow_action)}} {{damage1=[Damage](~fellow_action1-action)}} {{damage2=[Damage](~fellow_action2-action)}} {{damage3=[Damage](~fellow_action3-action)}} {{damage4=[Damage](~fellow_action4-action)}} {{damage5=[Damage](~fellow_action5-action)}} {{damage6=[Damage](~fellow_action6-action)}} {{damage7=[Damage](~fellow_action7-action)}} {{damage8=[Damage](~fellow_action8-action)}} {{fellow=1}} {{simple=1}} {{name=@{character_name}}} {{skill=[[1d0]]}} {{quote=[[1d0]]}} {{effect=[[1d0]]}} {{power=[[1d0]]}} {{result=[[1d6]]}}`;
|
|
|
|
startRoll(roll, (results) => {
|
|
let raw = results.results.result.result;
|
|
let mapped = choice > 0 ? choice : action_map[raw];
|
|
let computed = parseInt(values[`fellow_action${mapped}_value`])||0;
|
|
let skill = values[`fellow_action${mapped}_name`];
|
|
let quote = values[`fellow_action${mapped}_dialogue`];
|
|
let effect = values[`fellow_action${mapped}_effect`];
|
|
let power = parseInt(values[`fellow_action${mapped}_power`])||-1;
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
"result": computed,
|
|
"skill": skill,
|
|
"quote": quote,
|
|
"effect": effect,
|
|
"power": power
|
|
}
|
|
);
|
|
});
|
|
});
|
|
};
|
|
|
|
const fixed_data = {
|
|
"global": ["monster_fortitude","monster_willpower",
|
|
"monster_main_accuracy","monster_main_evasion"],
|
|
"repeating_monstersections": ["monster_section_accuracy","monster_section_evasion"],
|
|
"repeating_monsterskills": ["monster_skill_value"]
|
|
};
|
|
Object.keys(fixed_data).forEach(repeater => {
|
|
let repeater1 = repeater != "global" ? `${repeater}:` : "";
|
|
let repeater2 = repeater != "global" ? `${repeater}_` : "";
|
|
let fixed_list = fixed_data[repeater];
|
|
|
|
fixed_list.forEach(trigger => {
|
|
on(`change:${repeater1}${trigger}`, function(eventInfo) {
|
|
let value = parseInt(eventInfo["newValue"])||0;
|
|
let update = {};
|
|
update[`${repeater2}${trigger}_fixed`] = value + 7;
|
|
setAttrs(update);
|
|
});
|
|
});
|
|
});
|
|
|
|
/*
|
|
Repeating Section Update - Custom Roll Parsing
|
|
A function to combine getting repeating and non repeating attributes.
|
|
*/
|
|
const getAllAttrs = function(props, section_details, callback) {
|
|
getSections(section_details, (repeats, sections) => {
|
|
getAttrs([...props, ...repeats], (attributes) => {
|
|
callback(attributes, sections);
|
|
})
|
|
});
|
|
};
|
|
// Iterates over the provided repeating sections and assembles an array
|
|
// of attributes to get from those sections for each row.
|
|
const getSections = function(section_details, callback){
|
|
let queue_clone = _.clone(section_details);
|
|
const worker = (queue, repeat_attrs=[], sections={}) => {
|
|
let detail = queue.shift();
|
|
getSectionIDs(detail.section, (IDs) => {
|
|
sections[detail.section] = IDs;
|
|
IDs.forEach((id) => {
|
|
detail.fields.forEach((f) => {
|
|
repeat_attrs.push(`${detail.section}_${id}_${f}`);
|
|
});
|
|
});
|
|
repeat_attrs.push(`_reporder_${detail.section}`);
|
|
if (queue.length) {
|
|
worker(queue, repeat_attrs, sections);
|
|
} else {
|
|
callback(repeat_attrs, sections);
|
|
}
|
|
});
|
|
};
|
|
if (!queue_clone[0]) {
|
|
callback([], {});
|
|
}
|
|
worker(queue_clone);
|
|
};
|
|
const repeating_sections = [
|
|
{
|
|
section: "repeating_weapons",
|
|
fields: ["damage_action"]
|
|
},
|
|
{
|
|
section: "repeating_powertable",
|
|
fields: ["damage_action"]
|
|
}
|
|
];
|
|
const action_refs = ["power0_action","power5_action","power10_action",
|
|
"power15_action","power20_action","power25_action","power30_action",
|
|
"power35_action","power40_action","power45_action","power50_action",
|
|
"class_action", "roll_action"]; // non-repeating buttons
|
|
const actionCallUpdate = function() {
|
|
getAllAttrs(["character_name", ...action_refs], repeating_sections, (attributes, sections) => {
|
|
let actions = Object.keys(attributes).filter((key) => key !== "character_name");
|
|
const set_obj = actions.reduce((accumulator, action_name)=>{
|
|
let key = action_name.replace(/_([^_]*)$/, "-" + '$1');
|
|
accumulator[action_name] = `%{${attributes.character_name}|${key}}`;
|
|
return accumulator;
|
|
}, {});
|
|
setAttrs(set_obj, {silent:true});
|
|
});
|
|
};
|
|
|
|
on("sheet:opened change:character_name change:repeating_weapons change:repeating_powertable", actionCallUpdate);
|
|
|
|
/* ===== PARAMETERS ==========
|
|
destinations = the name of the attribute that stores the total quantity
|
|
can be a single attribute, or an array: ['total_cost', 'total_weight']
|
|
If more than one, the matching fields must be in the same order.
|
|
section = name of repeating fieldset, without the repeating_
|
|
fields = the name of the attribute field to be summed
|
|
destination and fields both can be a single attribute: 'weight'
|
|
or an array of attributes: ['weight','number','equipped']
|
|
*/
|
|
const repeatingSum = (destinations, section, fields) => {
|
|
if (!Array.isArray(destinations)) destinations = [destinations.replace(/\s/g, '').split(',')];
|
|
if (!Array.isArray(fields)) fields = [fields.replace(/\s/g, '').split(',')];
|
|
getSectionIDs(`repeating_${section}`, idArray => {
|
|
const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_${section}_${id}_${field}`))], []);
|
|
getAttrs([...attrArray], v => {
|
|
const getValue = (section, id, field) => v[`repeating_${section}_${id}_${field}`] === 'on' ? 1 : parseFloat(v[`repeating_${section}_${id}_${field}`]) || 0;
|
|
const commonMultipliers = (fields.length <= destinations.length) ? [] : fields.splice(destinations.length, fields.length - destinations.length);
|
|
const output = {};
|
|
destinations.forEach((destination, index) => {
|
|
output[destination] = idArray.reduce((total, id) => total + getValue(section, id, fields[index]) * commonMultipliers.reduce((subtotal, mult) => subtotal * getValue(section, id, mult), 1), 0);
|
|
});
|
|
setAttrs(output);
|
|
});
|
|
});
|
|
};
|
|
|
|
/* roll button cleaner */
|
|
const cleaner = (input) => {
|
|
let cleaned = input
|
|
.replace(/\[/g, "[")
|
|
.replace(/\]/g, "]")
|
|
.replace(/\(/g, "(")
|
|
.replace(/\)/g, ")");
|
|
cleaned = cleaned.length > 0 ? cleaned : "None";
|
|
return cleaned;
|
|
}
|
|
|
|
</script>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-swskill">
|
|
{{#rollTotal() raw 12}}
|
|
{{#result2}}
|
|
<span class="sheet-template-crit"></span>
|
|
{{/result2}}
|
|
{{/rollTotal() raw 12}}
|
|
{{#rollTotal() raw 2}}
|
|
{{^simple}}
|
|
<span class="sheet-template-fumble"></span>
|
|
{{/simple}}
|
|
{{/rollTotal() raw 2}}
|
|
<div class="container">
|
|
{{#token}}{{token}}{{/token}}
|
|
{{#choice}}
|
|
<h1>{{name}} acts:</h1>
|
|
{{/choice}}
|
|
{{^choice}}
|
|
<h1>
|
|
{{#fellow}}{{name}} says, {{computed::quote}}{{/fellow}}
|
|
{{^fellow}}
|
|
{{name}}
|
|
{{#skillverb}}{{skillverb}}{{/skillverb}}
|
|
{{^skillverb}}checks{{/skillverb}}
|
|
{{#skill}}{{skill}}{{/skill}}
|
|
{{^skill}}{{computed::level}} + {{computed::modifier}}{{/skill}}
|
|
{{/fellow}}
|
|
</h1>
|
|
{{/choice}}
|
|
{{#simple}}
|
|
{{#fellow}}
|
|
{{#rollTotal() result 1}}
|
|
<span class="die1"></span>
|
|
{{/rollTotal() result 1}}
|
|
{{#rollTotal() result 2}}
|
|
<span class="die2"></span>
|
|
{{/rollTotal() result 2}}
|
|
{{#rollTotal() result 3}}
|
|
<span class="die3"></span>
|
|
{{/rollTotal() result 3}}
|
|
{{#rollTotal() result 4}}
|
|
<span class="die4"></span>
|
|
{{/rollTotal() result 4}}
|
|
{{#rollTotal() result 5}}
|
|
<span class="die5"></span>
|
|
{{/rollTotal() result 5}}
|
|
{{#rollTotal() result 6}}
|
|
<span class="die6"></span>
|
|
{{/rollTotal() result 6}}
|
|
{{#choice}}
|
|
{{#rollTotal() result 1}}
|
|
{{choice1}}
|
|
{{choice2}}
|
|
{{/rollTotal() result 1}}
|
|
{{#rollTotal() result 2}}
|
|
{{choice1}}
|
|
{{choice2}}
|
|
{{/rollTotal() result 2}}
|
|
{{#rollTotal() result 3}}
|
|
{{choice3}}
|
|
{{choice4}}
|
|
{{/rollTotal() result 3}}
|
|
{{#rollTotal() result 4}}
|
|
{{choice3}}
|
|
{{choice4}}
|
|
{{/rollTotal() result 4}}
|
|
{{#rollTotal() result 5}}
|
|
{{choice5}}
|
|
{{choice6}}
|
|
{{/rollTotal() result 5}}
|
|
{{#rollTotal() result 6}}
|
|
{{choice7}}
|
|
{{choice8}}
|
|
{{/rollTotal() result 6}}
|
|
{{/choice}}
|
|
{{^choice}}
|
|
{{#computed::skill}}<p>{{computed::skill}}{{/computed::skill}}
|
|
{{#computed::result}}<p>{{computed::result}}</p>{{/computed::result}}
|
|
{{#computed::effect}}<p>{{computed::effect}}</p>{{/computed::effect}}
|
|
{{/choice}}
|
|
{{/fellow}}
|
|
{{^fellow}}
|
|
<p>
|
|
{{#computed::result}}{{computed::result}}{{/computed::result}}
|
|
{{^computed::result}}
|
|
{{result}}
|
|
{{/computed::result}}
|
|
{{#target}} vs. {{target}}{{/target}}
|
|
</p>
|
|
{{/fellow}}
|
|
{{/simple}}
|
|
{{^simple}}
|
|
{{#rollTotal() raw 12}}
|
|
<p>
|
|
{{#computed::result2}}{{computed::result2}}{{/computed::result2}}
|
|
{{^computed::result2}}
|
|
{{#computed::result}}{{computed::result}}{{/computed::result}}
|
|
{{^computed::result}}
|
|
{{#result2}}{{result2}}{{/result2}}
|
|
{{^result2}}{{result}}{{/result2}}
|
|
{{/computed::result}}
|
|
{{/computed::result2}}
|
|
{{#target}} vs. {{target}}{{/target}}
|
|
</p>
|
|
{{#computed::result2}}<p class="success">Automatic Success!</p>{{/computed::result2}}
|
|
{{^computed::result2}}
|
|
{{#result2}}<p class="success">Automatic Success!</p>{{/result2}}
|
|
{{/computed::result2}}
|
|
{{/rollTotal() raw 12}}
|
|
{{#^rollTotal() raw 12}}
|
|
{{#rollTotal() raw 2}}
|
|
<p><strong>0</strong>{{#target}} vs. {{target}}{{/target}}</p>
|
|
<p class="fail">Automatic Failure!</p>
|
|
{{^monster}}<p class="fail">Gain 50 experience</p>{{/monster}}
|
|
{{/rollTotal() raw 2}}
|
|
{{#^rollTotal() raw 2}}
|
|
<p>
|
|
{{#computed::result}}{{computed::result}}{{/computed::result}}
|
|
{{^computed::result}}{{result}}{{/computed::result}}
|
|
{{#target}} vs. {{target}}{{/target}}
|
|
</p>
|
|
{{#target}}
|
|
{{#computed::result}}
|
|
{{#rollLess() computed::result target}}
|
|
<p class="fail">Failure</p>
|
|
{{/rollLess() computed::result target}}
|
|
{{#^rollLess() computed::result target}}
|
|
<p class="success">Success</p>
|
|
{{/^rollLess() computed::result target}}
|
|
{{/computed::result}}
|
|
{{^computed::result}}
|
|
{{#rollLess() result target}}
|
|
<p class="fail">Failure</p>
|
|
{{/rollLess() result target}}
|
|
{{#^rollLess() result target}}
|
|
<p class="success">Success</p>
|
|
{{/^rollLess() result target}}
|
|
{{/computed::result}}
|
|
{{/target}}
|
|
{{/^rollTotal() raw 2}}
|
|
{{/^rollTotal() raw 12}}
|
|
{{^raw}}
|
|
<p>
|
|
{{#computed::result}}{{computed::result}}{{/computed::result}}
|
|
{{^computed::result}}{{result}}{{/computed::result}}
|
|
{{#target}} vs. {{target}}{{/target}}
|
|
</p>
|
|
{{#target}}
|
|
{{#computed::result}}
|
|
{{#rollLess() computed::result target}}
|
|
<p class="fail">Failure</p>
|
|
{{/rollLess() computed::result target}}
|
|
{{#^rollLess() computed::result target}}
|
|
<p class="success">Success</p>
|
|
{{/^rollLess() computed::result target}}
|
|
{{/computed::result}}
|
|
{{^computed::result}}
|
|
{{#rollLess() result target}}
|
|
<p class="fail">Failure</p>
|
|
{{/rollLess() result target}}
|
|
{{#^rollLess() result target}}
|
|
<p class="success">Success</p>
|
|
{{/^rollLess() result target}}
|
|
{{/computed::result}}
|
|
{{/target}}
|
|
{{/raw}}
|
|
{{/simple}}
|
|
<div class="crit"></div>
|
|
<div class="fumble"></div>
|
|
<div class="options">
|
|
{{#fellow}}
|
|
{{#rollGreater() computed::power -1}}
|
|
{{#rollTotal() result 1}}
|
|
{{damage1}}
|
|
{{/rollTotal() result 1}}
|
|
{{#rollTotal() result 2}}
|
|
{{damage1}}
|
|
{{/rollTotal() result 2}}
|
|
{{#rollTotal() result 3}}
|
|
{{damage3}}
|
|
{{/rollTotal() result 3}}
|
|
{{#rollTotal() result 4}}
|
|
{{damage3}}
|
|
{{/rollTotal() result 4}}
|
|
{{#rollTotal() result 5}}
|
|
{{damage5}}
|
|
{{/rollTotal() result 5}}
|
|
{{#rollTotal() result 6}}
|
|
{{damage7}}
|
|
{{/rollTotal() result 6}}
|
|
|
|
{{#rollTotal() fellow 1}}
|
|
{{damage1}}
|
|
{{/rollTotal() fellow 1}}
|
|
{{#rollTotal() fellow 2}}
|
|
{{damage2}}
|
|
{{/rollTotal() fellow 2}}
|
|
{{#rollTotal() fellow 3}}
|
|
{{damage3}}
|
|
{{/rollTotal() fellow 3}}
|
|
{{#rollTotal() fellow 4}}
|
|
{{damage4}}
|
|
{{/rollTotal() fellow 4}}
|
|
{{#rollTotal() fellow 5}}
|
|
{{damage5}}
|
|
{{/rollTotal() fellow 5}}
|
|
{{#rollTotal() fellow 6}}
|
|
{{damage6}}
|
|
{{/rollTotal() fellow 6}}
|
|
{{#rollTotal() fellow 7}}
|
|
{{damage7}}
|
|
{{/rollTotal() fellow 7}}
|
|
{{#rollTotal() fellow 8}}
|
|
{{damage8}}
|
|
{{/rollTotal() fellow 8}}
|
|
{{/rollGreater() computed::power -1}}
|
|
{{/fellow}}
|
|
{{^fellow}}
|
|
{{damage}}
|
|
{{/fellow}}
|
|
{{reroll}}
|
|
</div>
|
|
{{#raw}}<p class="refmark">2d: {{raw}}</p>{{/raw}}
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-swdamage">
|
|
{{#rollBetween() result crit 12}}
|
|
<span class="sheet-template-crit"></span>
|
|
{{/rollBetween() result crit 12}}
|
|
{{#rollTotal() result 2}}
|
|
<span class="sheet-template-fumble"></span>
|
|
{{/rollTotal() result 2}}
|
|
{{#rollTotal() result 3}}
|
|
<span class="sheet-template-3"></span>
|
|
{{/rollTotal() result 3}}
|
|
{{#rollTotal() result 4}}
|
|
<span class="sheet-template-4"></span>
|
|
{{/rollTotal() result 4}}
|
|
{{#rollTotal() result 5}}
|
|
<span class="sheet-template-5"></span>
|
|
{{/rollTotal() result 5}}
|
|
{{#rollTotal() result 6}}
|
|
<span class="sheet-template-6"></span>
|
|
{{/rollTotal() result 6}}
|
|
{{#rollTotal() result 7}}
|
|
<span class="sheet-template-7"></span>
|
|
{{/rollTotal() result 7}}
|
|
{{#rollTotal() result 8}}
|
|
<span class="sheet-template-8"></span>
|
|
{{/rollTotal() result 8}}
|
|
{{#rollTotal() result 9}}
|
|
<span class="sheet-template-9"></span>
|
|
{{/rollTotal() result 9}}
|
|
{{#rollTotal() result 10}}
|
|
<span class="sheet-template-10"></span>
|
|
{{/rollTotal() result 10}}
|
|
{{#rollTotal() result 11}}
|
|
<span class="sheet-template-11"></span>
|
|
{{/rollTotal() result 11}}
|
|
{{#rollTotal() result 12}}
|
|
<span class="sheet-template-12"></span>
|
|
{{/rollTotal() result 12}}
|
|
<div class="container">
|
|
{{#token}}{{token}}{{/token}}
|
|
<h1>
|
|
{{name}}'s {{skill}}
|
|
</h1>
|
|
<p>2d: {{result}}</p>
|
|
<div class="powertable">
|
|
<div />
|
|
<div>2</div>
|
|
{{#rollBetween() crit 3 3}}
|
|
<div class="crit">3</div>
|
|
{{/rollBetween() crit 3 3}}
|
|
{{#^rollBetween() crit 3 3}}
|
|
<div>3</div>
|
|
{{/^rollBetween() crit 3 3}}
|
|
{{#rollBetween() crit 3 4}}
|
|
<div class="crit">4</div>
|
|
{{/rollBetween() crit 3 4}}
|
|
{{#^rollBetween() crit 3 4}}
|
|
<div>4</div>
|
|
{{/^rollBetween() crit 3 4}}
|
|
{{#rollBetween() crit 3 5}}
|
|
<div class="crit">5</div>
|
|
{{/rollBetween() crit 3 5}}
|
|
{{#^rollBetween() crit 3 5}}
|
|
<div>5</div>
|
|
{{/^rollBetween() crit 3 5}}
|
|
{{#rollBetween() crit 3 6}}
|
|
<div class="crit">6</div>
|
|
{{/rollBetween() crit 3 6}}
|
|
{{#^rollBetween() crit 3 6}}
|
|
<div>6</div>
|
|
{{/^rollBetween() crit 3 6}}
|
|
{{#rollBetween() crit 3 7}}
|
|
<div class="crit">7</div>
|
|
{{/rollBetween() crit 3 7}}
|
|
{{#^rollBetween() crit 3 7}}
|
|
<div>7</div>
|
|
{{/^rollBetween() crit 3 7}}
|
|
{{#rollBetween() crit 3 8}}
|
|
<div class="crit">8</div>
|
|
{{/rollBetween() crit 3 8}}
|
|
{{#^rollBetween() crit 3 8}}
|
|
<div>8</div>
|
|
{{/^rollBetween() crit 3 8}}
|
|
{{#rollBetween() crit 3 9}}
|
|
<div class="crit">9</div>
|
|
{{/rollBetween() crit 3 9}}
|
|
{{#^rollBetween() crit 3 9}}
|
|
<div>9</div>
|
|
{{/^rollBetween() crit 3 9}}
|
|
{{#rollBetween() crit 3 10}}
|
|
<div class="crit">10</div>
|
|
{{/rollBetween() crit 3 10}}
|
|
{{#^rollBetween() crit 3 10}}
|
|
<div>10</div>
|
|
{{/^rollBetween() crit 3 10}}
|
|
{{#rollBetween() crit 3 11}}
|
|
<div class="crit">11</div>
|
|
{{/rollBetween() crit 3 11}}
|
|
{{#^rollBetween() crit 3 11}}
|
|
<div>11</div>
|
|
{{/^rollBetween() crit 3 11}}
|
|
{{#rollBetween() crit 3 12}}
|
|
<div class="crit">12</div>
|
|
{{/rollBetween() crit 3 12}}
|
|
{{#^rollBetween() crit 3 12}}
|
|
<div>12</div>
|
|
{{/^rollBetween() crit 3 12}}
|
|
|
|
<div>{{power}}</div>
|
|
<div>*</div>
|
|
{{#rollBetween() crit 3 3}}
|
|
<div class="crit">{{power3}}</div>
|
|
{{/rollBetween() crit 3 3}}
|
|
{{#^rollBetween() crit 3 3}}
|
|
<div>{{power3}}</div>
|
|
{{/^rollBetween() crit 3 3}}
|
|
{{#rollBetween() crit 3 4}}
|
|
<div class="crit">{{power4}}</div>
|
|
{{/rollBetween() crit 3 4}}
|
|
{{#^rollBetween() crit 3 4}}
|
|
<div>{{power4}}</div>
|
|
{{/^rollBetween() crit 3 4}}
|
|
{{#rollBetween() crit 3 5}}
|
|
<div class="crit">{{power5}}</div>
|
|
{{/rollBetween() crit 3 5}}
|
|
{{#^rollBetween() crit 3 5}}
|
|
<div>{{power5}}</div>
|
|
{{/^rollBetween() crit 3 5}}
|
|
{{#rollBetween() crit 3 6}}
|
|
<div class="crit">{{power6}}</div>
|
|
{{/rollBetween() crit 3 6}}
|
|
{{#^rollBetween() crit 3 6}}
|
|
<div>{{power6}}</div>
|
|
{{/^rollBetween() crit 3 6}}
|
|
{{#rollBetween() crit 3 7}}
|
|
<div class="crit">{{power7}}</div>
|
|
{{/rollBetween() crit 3 7}}
|
|
{{#^rollBetween() crit 3 7}}
|
|
<div>{{power7}}</div>
|
|
{{/^rollBetween() crit 3 7}}
|
|
{{#rollBetween() crit 3 8}}
|
|
<div class="crit">{{power8}}</div>
|
|
{{/rollBetween() crit 3 8}}
|
|
{{#^rollBetween() crit 3 8}}
|
|
<div>{{power8}}</div>
|
|
{{/^rollBetween() crit 3 8}}
|
|
{{#rollBetween() crit 3 9}}
|
|
<div class="crit">{{power9}}</div>
|
|
{{/rollBetween() crit 3 9}}
|
|
{{#^rollBetween() crit 3 9}}
|
|
<div>{{power9}}</div>
|
|
{{/^rollBetween() crit 3 9}}
|
|
{{#rollBetween() crit 3 10}}
|
|
<div class="crit">{{power10}}</div>
|
|
{{/rollBetween() crit 3 10}}
|
|
{{#^rollBetween() crit 3 10}}
|
|
<div>{{power10}}</div>
|
|
{{/^rollBetween() crit 3 10}}
|
|
{{#rollBetween() crit 3 11}}
|
|
<div class="crit">{{power11}}</div>
|
|
{{/rollBetween() crit 3 11}}
|
|
{{#^rollBetween() crit 3 11}}
|
|
<div>{{power11}}</div>
|
|
{{/^rollBetween() crit 3 11}}
|
|
{{#rollBetween() crit 3 12}}
|
|
<div class="crit">{{power12}}</div>
|
|
{{/rollBetween() crit 3 12}}
|
|
{{#^rollBetween() crit 3 12}}
|
|
<div>{{power12}}</div>
|
|
{{/^rollBetween() crit 3 12}}
|
|
</div>
|
|
<p>{{computed::result}} damage</p>
|
|
{{#rollBetween() result crit 12}}
|
|
{{#rollGreater() crit 2}}
|
|
<span class="success">Critical!</span>
|
|
<span class="success">(roll again and add)</span>
|
|
{{/rollGreater() crit 2}}
|
|
{{/rollBetween() result crit 12}}
|
|
<div class="crit"></div>
|
|
{{#rollTotal() result 2}}
|
|
<p class="fail">Gain 50 experience</p>
|
|
<p class="fail">(except after a critical)</p>
|
|
{{/rollTotal() result 2}}
|
|
<div class="fumble"></div>
|
|
<div class="options">
|
|
{{reroll}}
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-swinfo">
|
|
<div class="container">
|
|
{{#token}}{{token}}{{/token}}
|
|
<h1>{{name}}</h1>
|
|
<p>{{info}}</p>
|
|
<div class="options">
|
|
{{reroll}}
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-swempty">
|
|
</rolltemplate>
|
|
|
|
|
|
|
|
|