mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
Added some responsive layout stuff to the CSS so the sheet displays well at narrower widths (which is mobile friendly), plus some workarounds to deal with the fact that Roll20's app doesn't actually use any of the translation support attributes and functions.
5745 lines
343 KiB
HTML
5745 lines
343 KiB
HTML
<input type="hidden" name="attr_theme" value="blue" class="theme">
|
||
<div class="Wrapper">
|
||
|
||
<!-- input type="checkbox" name="attr_uninitialized" value="1" checked> (Testing Only) -->
|
||
<input type="checkbox" name="attr_uninitialized" value="1" class="triggerbox" checked>
|
||
<div>
|
||
<div class="SectionHeader">Initialization Controls</div>
|
||
<div style="padding: 6px;" class="space-below">
|
||
If no game settings were set (shouldn't be possible), this is displayed, until an initialization choice is made.
|
||
<div>
|
||
<b><span data-i18n="initialize">Initialize</span></b>:
|
||
<select name="attr_setgame">
|
||
<option value="" data-i18n="choose-gameset">Choose a Gameset to Load</option>
|
||
<option value="none" data-i18n="noset">Don't Pre-Configure</option>
|
||
<option value="custom" data-i18n="custom-build">Custom build with options below</option>
|
||
<option value="fcore" data-i18n="fcore">Fate Core</option>
|
||
<option value="fcon" data-i18n="fcon">Fate Condensed</option>
|
||
<option value="fae" data-i18n="fae">Fate Accelerated</option>
|
||
<option value="threerocketeers" data-i18n="threerocketeers">3 Rocketeers</option>
|
||
<option value="robo" data-i18n="robo">Atomic Robo</option>
|
||
<option value="dfa" data-i18n="dfa">Dresden Files Accelerated</option>
|
||
<option value="foc" data-i18n="foc">Fate of Cthulhu</option>
|
||
<option value="kaijuinc" data-i18n="kaijuinc">Kaiju Incorporated</option>
|
||
<option value="ngen" data-i18n="ngen">Ngen Mapu</option>
|
||
<option value="cats" data-i18n="cats">Secrets of Cats</option>
|
||
<option value="shotc" data-i18n="shotc">Shadow of the Century</option>
|
||
<option value="tachyon" data-i18n="tachyon-squadron">Tachyon Squadron</option>
|
||
<option value="venture" data-i18n="venture">Venture City</option>
|
||
</select>
|
||
</div>
|
||
<div>
|
||
<b><span data-i18n="custom-aspects">Custom Aspects</span>:</b>
|
||
<input type="text" name="attr_custom-aspects" value="">
|
||
<div data-i18n="custom-aspects-desc">Enter a list separated by commas. You must select the Custom Build option up top for this to be used.</div>
|
||
</div>
|
||
<div>
|
||
<b><span data-i18n="custom-skills">Custom Skill List</span>:</b>
|
||
<input type="text" name="attr_custom-skills" value="">
|
||
<div data-i18n="custom-skills-desc">Enter a list separated by commas. You must select the Custom Build option up top for this to be used.</div>
|
||
</div>
|
||
<div>
|
||
<b><span data-i18n="custom-combos-columns">Custom Combinable Skill Columns</span>:</b>
|
||
<input type="text" name="attr_custom-combos" value="">
|
||
<div data-i18n="custom-combos-desc">You must define the skills in the skill list, before categorizing them into columns here. Separate skills by commas and columns (up to 3) by semicolons: "Skill, Skill; Skill, Skill", e.g., "Body, Mind; Air, Earth, Fire, Water" for two columns skills. If each column has a label, put that at the start of each list followed by a colon, e.g., "Self: Body, Mind; Element: Air, Earth, Fire, Water", Make sure to enable Combinable Skills. You must select the Custom Build option up top for this to be used.</div>
|
||
</div>
|
||
<div>
|
||
<b><span data-i18n="custom-stress">Custom Stress Tracks</span>:</b>
|
||
<input type="text" name="attr_custom-stress" value="">
|
||
<div data-i18n="custom-stress-desc">Enter a list separated by commas, with each entry in this format (not including the quotes): "Label:Default Length", e.g., "Social:2". You may optionally include values for each box (including ones beyond the default length) separated by spaces after the length, e.g., "Social:2 1 2 3 4 5 6". You must select the Custom Build option up top for this to be used.</div>
|
||
</div>
|
||
<div>
|
||
<b><span data-i18n="custom-consequences">Custom Consequences</span>:</b>
|
||
<input type="text" name="attr_custom-consequences" value="">
|
||
<div data-i18n="custom-consequences-desc">Enter a list separated by commas, with each entry in this format (not including the quotes): "Label:Value", e.g., "Mild:2". You must select the Custom Build option up top for this to be used.</div>
|
||
</div>
|
||
<div>
|
||
<b><span data-i18n="custom-conditions">Custom Conditions</span>:</b>
|
||
<input type="text" name="attr_custom-conditions" value="">
|
||
<div data-i18n="custom-conditions-desc">Enter a list separated by commas, with each entry in this format (not including the quotes): "Label:Length", e.g., "Indebted:5". You may optionally include values for each box separated by spaces after the length, e.g., "Doomed:1 6". You must select the Custom Build option up top for this to be used.</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- input type="hidden" name="attr_comstyle" value="" -->
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_SheetOptions" value="1">
|
||
<div class="optbar">
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Aspects" value="1" checked><span class="checker" data-i18n="aspects">Aspects</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Combinable" value="1"><span class="checker" data-i18n="combine-skills">Combinable Skills</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Conditions" value="1" checked><span class="checker" data-i18n="conditions">Conditions</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Consequences" value="1" checked><span class="checker" data-i18n="consequences">Consequences</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Corruption" value="1"><span class="checker" data-i18n="corruption">Corruption</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-DeveloperMode" value="1"><span class="checker" data-i18n="developer-mode">Developer Mode</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Extras" value="1"><span class="checker" data-i18n="extras">Extras</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-FP" value="1" checked><span class="checker" data-i18n="fp">Fate Points</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Logo" value="1"><span class="checker" data-i18n="logo">Logo</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Modes" value="1"><span class="checker" data-i18n="modes">Modes</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Notes" value="1" checked><span class="checker" data-i18n="notes">Notes</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Packages" value="1"><span class="checker" data-i18n="packages">Packages</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Powers" value="1"><span class="checker" data-i18n="powers">Powers</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Refresh" value="1" checked><span class="checker" data-i18n="refresh">Refresh</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Roles" value="1"><span class="checker" data-i18n="roles">Roles</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Diceprompts" value="?{ Rating + @{fatedice} +/-? |0}" checked><span class="checker" data-i18n="rollmod-prompt">Roll Modifier Prompt</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-RollableAspects" value="1"><span class="checker" data-i18n="rollable-aspects">Rollable Aspects</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Skills" value="1" checked><span class="checker" data-i18n="skills">Skills</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Stress" value="1" checked><span class="checker" data-i18n="stress">Stress</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Stunts" value="1" checked><span class="checker" data-i18n="stunts">Stunts</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-Skillswaps" value="1"><span class="checker" data-i18n="swap-skills">Swappable Skillsets</span> </span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_Show-TempAspects" value="1" checked><span class="checker" data-i18n="situation-aspects">Situation Aspects</span> </span>
|
||
<span>
|
||
<select name="attr_comstyle">
|
||
<option value="">Display sheet's rolls publicly</option>
|
||
<option value="/w gm">Whisper sheet's rolls to GM</option>
|
||
</select>
|
||
</span>
|
||
<span>
|
||
<select name="attr_fatedice" class="compact">
|
||
<option value="4dF">4dF</option>
|
||
<option value="1d6-1d6">d6-d6</option>
|
||
</select>
|
||
</span>
|
||
<span>
|
||
<select name="attr_theme" class="compact">
|
||
<option value="blue">Core Blue</option>
|
||
<option value="green">World Green</option>
|
||
<option value="purple">Toolkit Purple</option>
|
||
<option value="evilhat">Evil Hat</option>
|
||
<option value="cthulhu">Elder God</option>
|
||
<option value="orange">Golden</option>
|
||
<option value="gray">Gray</option>
|
||
<option value="shotc">Radical</option>
|
||
</select>
|
||
</span>
|
||
</div>
|
||
|
||
<div class="topwrap">
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Logo" value="1"><div class="logobox">
|
||
<img src="https://raw.githubusercontent.com/fredhicks/ehp-roll20/master/art/fate-logo.png" width="130" height="53" style="margin-left: 12px;"/>
|
||
</div>
|
||
<div class="fpbox">
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-FP" value="1">
|
||
<div>
|
||
<div>
|
||
<input type="number" value="3" name="attr_fp">
|
||
</div>
|
||
<div data-i18n="fp">
|
||
Fate Points
|
||
</div>
|
||
</div>
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Refresh" value="1">
|
||
<div>
|
||
<div>
|
||
<input type="number" value="3" name="attr_refresh">
|
||
</div>
|
||
<div data-i18n="refresh">
|
||
Refresh
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="pronounbox">
|
||
<div>
|
||
<div>
|
||
<input name="attr_pronouns" type="text" class="compact pronouns">
|
||
</div>
|
||
<div data-i18n="pronouns">
|
||
Pronouns
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="namebox">
|
||
<div class="optwrap">
|
||
<input type="checkbox" class="checkbox" name="attr_SheetOptions" value="1"><span class="optionsbox"></span>
|
||
</div>
|
||
<div class="Bar">
|
||
<div class="nowrap">
|
||
<input name="attr_character_name" type="text" class="charname">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-DeveloperMode" value="1"><div class="StuntCell"><div class="SectionHeader"><span data-i18n="developer-mode">Developer Mode</span></div><div class="StuntDisplay">
|
||
Please proceed with caution. The stuff here messes with the sheet data directly and extensively.
|
||
<hr>
|
||
Click this button to export the entire sheet as a JSON object that can be imported to another sheet using the import area below.
|
||
<div><button type="action" name="act_exportsheet">Export</button></div>
|
||
<div><button type="action" name="act_exportsheetextrasonly">Export (Extras Only)</button></div>
|
||
<div><textarea name="attr_exportsheetdata" style="width: 90%"></textarea></div>
|
||
<hr>
|
||
Clicking this button will empty out all the dynamic elements of the sheet. It will leave some attributes untouched, but should blank out aspects, skills, stunts, stress, consequences, conditions, tempaspects, modes, roles, swaps, packages, powers, extras, and notes.
|
||
<div><button type="action" name="act_clearsheet">Clear Sheet</button></div>
|
||
<hr>
|
||
Import: If you paste the JSON in this field and then move out of it, the sheet will notice and perform an import of the data. Please note, this will ADD to the existing content of this sheet rather than overwrite it where possible (causing duplicates in your skill list, potentially, etc). If you need it to REPLACE everything, please first click the "clear sheet" button above.
|
||
<div><textarea name="attr_importsheetdata" style="width: 90%"></textarea></div>
|
||
</div></div>
|
||
|
||
<div class="SheetFlex">
|
||
<div class="SheetCol">
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Modes" value="1">
|
||
<div class="ModeCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="modes">Modes</span>
|
||
<span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditModes" value="1" checked><span class="pencilbox"/></span></span>
|
||
</div>
|
||
<div class="SkillFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditModes" value="1" checked>
|
||
<div class="SkillEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="modes">Modes</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditModes" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_modes">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="mode">Mode</div>
|
||
<input type="text" name="attr_mode">
|
||
<div class="fieldlabel"><span data-i18n="rating">Rating</span> <input type="number" name="attr_rating" value="0" min="-4" max="6"></div>
|
||
<input type="hidden" name="attr_word" value="">
|
||
<div class="fieldlabel" data-i18n="skill-comma-list">List of Skills (Comma Separated)</div>
|
||
<input type="text" name="attr_skills">
|
||
</div>
|
||
</fieldset>
|
||
<div data-i18n="skills-listed-need" class="limited-width">Skills listed must also be added to your skill list. If you list a skill here before it is in your skill list, you may need to close and reopen sheet to sync.</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="add-modes">Add Mode</div>
|
||
<select name="attr_addmode">
|
||
<option value="" data-i18n="mode-choose">[Choose a Mode to Add]</option>
|
||
<optgroup label="Atomic Robo" data-i18n-label="robo">
|
||
<option value="action" data-i18n="action">Action</option>
|
||
<option value="banter" data-i18n="banter">Banter</option>
|
||
<option value="intrigue" data-i18n="intrigue">Intrigue</option>
|
||
<option value="science" data-i18n="science">Science</option>
|
||
</optgroup>
|
||
<optgroup label="Majestic 12" data-i18n-label="m12">
|
||
<option value="adf" data-i18n="adf">Advanced Defense Force</option>
|
||
<option value="erd" data-i18n="erd">Enhanced Research Department</option>
|
||
<option value="feb" data-i18n="feb">First Earth Battalion</option>
|
||
<option value="oop" data-i18n="oop">Office of Operations and Procurement</option>
|
||
<option value="psi" data-i18n="psi">Paranormal Sensory Initiative</option>
|
||
<option value="sdu" data-i18n="sdu">Sub-Dimensional Unit</option>
|
||
<option value="soldier" data-i18n="soldier">Soldier</option>
|
||
</optgroup>
|
||
<optgroup label="Kaiju Inc" data-i18n-label="kaijuinc">
|
||
<option value="crisis" data-i18n="crisis">Crisis</option>
|
||
<option value="lab" data-i18n="lab">Lab</option>
|
||
<option value="office" data-i18n="office">Office</option>
|
||
<option value="pr" data-i18n="pr">Public Relations</option>
|
||
</optgroup>
|
||
<optgroup label="Fate System Toolkit" data-i18n-label="fst">
|
||
<option value="battle" data-i18n="battle">Battle</option>
|
||
<option value="talk" data-i18n="talk">Talk</option>
|
||
<option value="thievery" data-i18n="thievery">Thievery</option>
|
||
<option value="woodcraft" data-i18n="woodcraft">Woodcraft</option>
|
||
</optgroup>
|
||
</select>
|
||
</div>
|
||
</div> <!-- SkillEdit -->
|
||
<div class="PowerDisplay">
|
||
<fieldset class="repeating_modes">
|
||
<div class="mode space-below">
|
||
<b><span name="attr_mode"></span>:</b>
|
||
<span name="attr_word"></span><br>
|
||
<i><span name="attr_skills"></span></i>
|
||
</div>
|
||
</fieldset>
|
||
<input type="hidden" name="attr_focused" value="" class="hideIfNull">
|
||
<div>
|
||
<b><span data-i18n="autofocus">Automatically Focused</span>:</b>
|
||
<span name="attr_focused"></span>
|
||
</div>
|
||
<input type="hidden" name="attr_specialized" value="" class="hideIfNull">
|
||
<div>
|
||
<b><span data-i18n="autospecialized">Automatically Specialized</span>:</b>
|
||
<span name="attr_specialized"></span>
|
||
</div>
|
||
</div> <!-- PowerDisplay -->
|
||
</div> <!-- SkillFrame -->
|
||
</div> <!-- End Modes -->
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Roles" value="1">
|
||
<div class="RoleCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="roles">Roles</span> <span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditRoles" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="SkillFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditRoles" value="1" checked>
|
||
<div class="SkillEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="roles">Roles</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditRoles" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_roles">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="role">Role</div>
|
||
<input type="text" name="attr_role">
|
||
<div class="fieldlabel" data-i18n="skill-comma-list">List of Skills (Comma Separated)</div>
|
||
<input type="text" name="attr_skills">
|
||
</div>
|
||
</fieldset>
|
||
<div data-i18n="skills-listed-need" class="limited-width">Skills listed must also be added to your skill list. If you list a skill here before it is in your skill list, you may need to close and reopen sheet to sync.</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="add-roles">Add Role</div>
|
||
<select name="attr_addrole">
|
||
<option value="" data-i18n="role-choose">[Choose a Role to Add]</option>
|
||
<optgroup label="Shadow of the Century" data-i18n-label="shotc">
|
||
<option value="brain" data-i18n="brain">Brain</option>
|
||
<option value="brawler" data-i18n="brawler">Brawler</option>
|
||
<option value="cop" data-i18n="cop">Cop</option>
|
||
<option value="detective" data-i18n="detective">Detective</option>
|
||
<option value="dilettante" data-i18n="dilettante">Dilettante</option>
|
||
<option value="face" data-i18n="face">Face</option>
|
||
<option value="hacker" data-i18n="hacker">Hacker</option>
|
||
<option value="inventor" data-i18n="inventor">Inventor</option>
|
||
<option value="leader" data-i18n="leader">Leader</option>
|
||
<option value="ninja" data-i18n="ninja">Ninja</option>
|
||
<option value="saboteur" data-i18n="saboteur">Saboteur</option>
|
||
<option value="soldier" data-i18n="soldier">Soldier</option>
|
||
<option value="spy" data-i18n="spy">Spy</option>
|
||
<option value="thief" data-i18n="thief">Thief</option>
|
||
<option value="warrior" data-i18n="warrior">Warrior</option>
|
||
<option value="wheels" data-i18n="wheels">Wheels</option>
|
||
</optgroup>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="PowerDisplay">
|
||
<fieldset class="repeating_roles">
|
||
<div class="role">
|
||
<b><span name="attr_role"></span></b> (<span name="attr_skills"></span>)
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div> <!-- End Roles -->
|
||
|
||
<!-- Swappable Skillsets -->
|
||
<input type="hidden" name="attr_lastswapped" value="">
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Skillswaps" value="1">
|
||
<div class="SkillCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="swap-skills">Swappable Skillsets</span> <span name="attr_lastswapped"></span> <span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditSwaps" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="SkillFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditSwaps" value="1" checked>
|
||
<div class="SkillEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="swap-skills">Swappable Skillsets</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditSwaps" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_swaps">
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="label">Label</div>
|
||
</div>
|
||
<input type="text" name="attr_label" value="">
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="skills">Skills</div>
|
||
</div>
|
||
<div data-i18n="swap-skills-instruct">Enter a list separated by commas, with each entry in this format (not including the quotes): "Skill Name:Value", e.g., "Athletics:2, Investigation:1". Unlisted skills will not be altered. All skills listed here must already exist in the sheet's skills.</div>
|
||
<textarea name="attr_skills"></textarea>
|
||
<button type="action" name="act_importswap"><span data-i18n="grab-current-skills">Import Current Skillset</span></button>
|
||
</fieldset>
|
||
</div>
|
||
<div class="SkillDisplay">
|
||
<input type="hidden" value="list">
|
||
<div class="SkillList">
|
||
<fieldset class="repeating_swaps">
|
||
<button type="action" name="act_loadswap"><span data-i18n="load-skillset">Load Skillset</span>: <b><span name="attr_label"></span></b></button>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- / Swappable Skillsets -->
|
||
|
||
<!-- Combinable Skills -->
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Combinable" value="1">
|
||
<div class="SkillCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="combine-skills">Combinable Skills</span> <span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditCombos" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="SkillFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditCombos" value="1" checked>
|
||
<div class="SkillEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="combine-skills">Combinable Skills</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditCombos" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div>
|
||
<span data-i18n="combine-skills-instruct">Assign each skill to a column. If you haven't defined any skills yet, you'll need to do that first in the Skills section.</span>
|
||
<fieldset class="repeating_skills">
|
||
<input type="hidden" name="attr_skill">
|
||
<div class="SkillEditRow" style="padding-bottom: 6px;">
|
||
<div class="nowrap">#<input type="number" value="1" min="0" max="3" name="attr_column" class="ultracompact"></div>
|
||
<div class="nowrap clipped" style="width: 100%;"><span name="attr_skill"></span></div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" class="checkbox" name="attr_combomulti" value="1"><span class="checkmark"></span> <span data-i18n="combine-skills-multi">Allow selection of multiple skills from the same column</span>
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="column names optional">
|
||
Column Names (Optional)
|
||
</div>
|
||
<div>
|
||
#1 <input type="text" name="attr_combocol1" value="">
|
||
</div>
|
||
<div>
|
||
#2 <input type="text" name="attr_combocol2" value="">
|
||
</div>
|
||
<div>
|
||
#3 <input type="text" name="attr_combocol3" value="">
|
||
</div>
|
||
</div> <!-- end edit frame -->
|
||
<div>
|
||
<div>
|
||
<input type="hidden" name="attr_combotally" value="0">
|
||
<input type="hidden" name="attr_combotext" value="" class="hideIfNull">
|
||
<div class="SkillDisplay">
|
||
<button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{combotext}}} {{roll=[[@{fatedice}+@{combotally}+@{Show-Diceprompts}]]}}" name="roll_SkillRoll">
|
||
<b><span name="attr_combotext"></span></b>
|
||
=
|
||
<span name="attr_combotally"></span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<div class="ComboColumns">
|
||
<input type="hidden" name="attr_combocol1" value="">
|
||
<input type="hidden" name="attr_combocol2" value="">
|
||
<input type="hidden" name="attr_combocol3" value="">
|
||
<div class="ComboColumn">
|
||
<div class="fieldlabel"><span name="attr_combocol1" class="label"></span></div>
|
||
<fieldset class="repeating_skills">
|
||
<input type="hidden" name="attr_skill">
|
||
<input type="hidden" name="attr_rating-word">
|
||
<input type="hidden" name="attr_column">
|
||
<div class="SkillColumnFirst">
|
||
<input type="checkbox" class="checkbox" name="attr_rollthis" value="1"><span class="checkmark"></span>
|
||
<b><span name="attr_skill"></span></b>: <span name="attr_rating-word"></span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ComboColumn">
|
||
<div class="fieldlabel"><span name="attr_combocol2" class="label"></span></div>
|
||
<fieldset class="repeating_skills">
|
||
<input type="hidden" name="attr_skill">
|
||
<input type="hidden" name="attr_rating-word">
|
||
<input type="hidden" name="attr_column">
|
||
<div class="SkillColumnSecond">
|
||
<input type="checkbox" class="checkbox" name="attr_rollthis" value="1"><span class="checkmark"></span>
|
||
<b><span name="attr_skill"></span></b>: <span name="attr_rating-word"></span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="ComboColumn">
|
||
<div class="fieldlabel"><span name="attr_combocol3" class="label"></span></div>
|
||
<fieldset class="repeating_skills">
|
||
<input type="hidden" name="attr_skill">
|
||
<input type="hidden" name="attr_rating-word">
|
||
<input type="hidden" name="attr_column">
|
||
<div class="SkillColumnThird">
|
||
<input type="checkbox" class="checkbox" name="attr_rollthis" value="1"><span class="checkmark"></span>
|
||
<b><span name="attr_skill"></span></b>: <span name="attr_rating-word"></span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- / Combinable Skills -->
|
||
|
||
<!-- Skills -->
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Skills" value="1">
|
||
<div class="SkillCell">
|
||
<div class="SectionHeader">
|
||
<span><span data-i18n="skills">Skills</span> <span class="listcount" name="attr_skillcount"></span></span> <span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditSkills" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="SkillFrame">
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_EditSkills" value="1" checked>
|
||
<div class="SkillEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="skills">Skills</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditSkills" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<input type="checkbox" class="deeptrigger" name="attr_Show-Modes" value="1">
|
||
<input type="checkbox" class="deeptrigger" name="attr_Show-Roles" value="1">
|
||
<fieldset class="repeating_skills">
|
||
<div class="SkillEditRow">
|
||
<input name="attr_column" type="hidden" value="1">
|
||
<input name="attr_skill" type="text" class="compact">
|
||
<input type="number" value="0" min="-4" max="10" name="attr_rating" class="ultracompact">
|
||
<input type="hidden" name="attr_bonus" value="0">
|
||
<div class="deeptriggered smalltext">+ <span name="attr_bonus"></span> =</span></div>
|
||
<input name="attr_rating-word" type="hidden">
|
||
<div class="nowrap clipped smalltext" style="width: 100%;"><span name="attr_rating-word"></span></div>
|
||
</div>
|
||
</fieldset>
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Roles" value="1">
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="roles-enabled" style="padding-left: 6px;">Roles Enabled!</div>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="display-style">Display Style:</div>
|
||
<select name="attr_SkillStyle">
|
||
<option value="" selected data-i18n="display-choose">[Choose Display Style]</option>
|
||
<option value="pyramid" data-i18n="display-by-rating">Group By Rating</option>
|
||
<option value="list" data-i18n="display-by-list">List</option>
|
||
</select>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="add-skills">Load Skillset</div>
|
||
<select name="attr_addskills">
|
||
<option value="" data-i18n="set-choose">[Choose a Skillset]</option>
|
||
<option value="fcore" data-i18n="fcore">Fate Core</option>
|
||
<option value="fcon" data-i18n="fcon">Fate Condensed</option>
|
||
<option value="fae" data-i18n="fae">Fate Accelerated</option>
|
||
<option value="robo" data-i18n="robo">Atomic Robo</option>
|
||
<option value="m12" data-i18n="m12">Majestic 12</option>
|
||
<option value="cats" data-i18n="cats">Secrets of Cats</option>
|
||
<option value="dfa" data-i18n="dfa">Dresden Files Accelerated</option>
|
||
<option value="kaijuinc" data-i18n="kaijuinc">Kaiju Incorporated</option>
|
||
<option value="shotc" data-i18n="shotc">Shadow of the Century</option>
|
||
</select>
|
||
<div data-i18n="roll20-issue" class="limited-width">Adding multiple skills at once sometimes misses a few in the list. You can fill gaps by adding the same list a second time. The process checks for and avoids duplicates. (You can also use this to merge skillsets together.)</div>
|
||
</div>
|
||
</div> <!-- /SkillEdit -->
|
||
|
||
<div class="SkillDisplay">
|
||
<input type="hidden" name="attr_SkillStyle" value="">
|
||
<div class="SkillNone">
|
||
</div>
|
||
<input type="hidden" name="attr_SkillStyle" value="">
|
||
<div class="SkillList">
|
||
<fieldset class="repeating_skills">
|
||
<input type="hidden" name="attr_skill"><input type="hidden" name="attr_bonus" value="0"><input type="hidden" name="attr_rating"><input type="hidden" name="attr_rating-word"><!-- with a type so it'll register as available to the button -->
|
||
<button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill}}} {{roll=[[@{fatedice}+@{rating}+@{bonus}+@{Show-Diceprompts}]]}}" name="roll_SkillRoll">
|
||
<b><span name="attr_skill"></span></b>:
|
||
<span name="attr_rating-word"></span>
|
||
</button>
|
||
</fieldset>
|
||
</div> <!-- /SkillList -->
|
||
<input type="hidden" name="attr_SkillStyle" value="">
|
||
<div class="SkillGrid">
|
||
<input type="hidden" name="attr_skill-row10" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating10">Leg.+2 (+10)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row10-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-0}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-1}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-2}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-3}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-4}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-5}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-6}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-7}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-8}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-9}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-10}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-11}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-12}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-13}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-14}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-15}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-16}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-17}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-18}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row10-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row10-19}}} {{roll=[[@{fatedice}+10+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row10-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row9" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating9">Leg.+1 (+9)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row9-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-0}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-1}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-2}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-3}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-4}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-5}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-6}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-7}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-8}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-9}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-10}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-11}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-12}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-13}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-14}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-15}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-16}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-17}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-18}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row9-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row9-19}}} {{roll=[[@{fatedice}+9+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row9-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row8" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating8">Legendary (+8)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row8-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-0}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-1}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-2}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-3}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-4}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-5}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-6}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-7}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-8}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-9}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-10}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-11}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-12}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-13}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-14}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-15}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-16}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-17}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-18}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row8-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row8-19}}} {{roll=[[@{fatedice}+8+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row8-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row7" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating7">Epic (+7)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row7-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-0}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-1}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-2}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-3}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-4}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-5}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-6}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-7}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-8}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-9}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-10}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-11}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-12}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-13}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-14}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-15}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-16}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-17}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-18}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row7-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row7-19}}} {{roll=[[@{fatedice}+7+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row7-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row6" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating6">Fantastic (+6)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row6-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-0}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-1}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-2}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-3}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-4}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-5}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-6}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-7}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-8}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-9}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-10}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-11}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-12}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-13}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-14}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-15}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-16}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-17}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-18}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row6-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row6-19}}} {{roll=[[@{fatedice}+6+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row6-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row5" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating5">Superb (+5)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row5-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-0}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-1}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-2}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-3}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-4}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-5}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-6}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-7}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-8}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-9}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-10}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-11}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-12}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-13}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-14}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-15}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-16}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-17}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-18}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row5-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row5-19}}} {{roll=[[@{fatedice}+5+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row5-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row4" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating4">Great (+4)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row4-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-0}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-1}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-2}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-3}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-4}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-5}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-6}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-7}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-8}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-9}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-10}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-11}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-12}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-13}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-14}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-15}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-16}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-17}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-18}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row4-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row4-19}}} {{roll=[[@{fatedice}+4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row4-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row3" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating3">Good (+3)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row3-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-0}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-1}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-2}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-3}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-4}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-5}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-6}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-7}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-8}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-9}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-10}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-11}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-12}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-13}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-14}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-15}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-16}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-17}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-18}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row3-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row3-19}}} {{roll=[[@{fatedice}+3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row3-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row2" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating2">Fair (+2)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row2-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-0}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-1}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-2}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-3}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-4}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-5}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-6}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-7}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-8}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-9}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-10}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-11}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-12}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-13}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-14}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-15}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-16}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-17}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-18}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row2-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row2-19}}} {{roll=[[@{fatedice}+2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row2-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row1" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating1">Average (+1)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row1-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-0}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-1}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-2}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-3}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-4}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-5}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-6}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-7}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-8}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-9}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-10}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-11}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-12}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-13}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-14}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-15}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-16}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-17}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-18}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row1-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row1-19}}} {{roll=[[@{fatedice}+1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row1-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row0" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating0">Mediocre (+0)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row0-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-0}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-1}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-2}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-3}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-4}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-5}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-6}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-7}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-8}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-9}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-10}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-11}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-12}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-13}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-14}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-15}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-16}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-17}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-18}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row0-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row0-19}}} {{roll=[[@{fatedice}+0+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row0-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row-1" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating-1">Poor (-1)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row-1-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-0}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-1}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-2}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-3}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-4}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-5}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-6}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-7}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-8}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-9}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-10}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-11}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-12}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-13}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-14}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-15}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-16}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-17}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-18}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row-1-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-1-19}}} {{roll=[[4dF-1+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-1-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row-2" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating-2">Terrible (-2)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row-2-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-0}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-1}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-2}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-3}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-4}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-5}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-6}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-7}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-8}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-9}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-10}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-11}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-12}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-13}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-14}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-15}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-16}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-17}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-18}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row-2-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-2-19}}} {{roll=[[4dF-2+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-2-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row-3" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating-3">Catastrophic (-3)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row-3-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-0}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-1}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-2}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-3}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-4}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-5}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-6}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-7}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-8}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-9}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-10}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-11}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-12}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-13}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-14}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-15}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-16}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-17}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-18}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row-3-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-3-19}}} {{roll=[[4dF-3+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-3-19"></span></button>
|
||
</div>
|
||
</div>
|
||
<input type="hidden" name="attr_skill-row-4" value="" class="hideIfNull">
|
||
<div>
|
||
<div class="SkillGridRating" data-i18n="rating-4">Horrifying (-4)</div>
|
||
<div>
|
||
<input type="hidden" name="attr_skill-row-4-0" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-0}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-0"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-1" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-1}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-1"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-2" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-2}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-2"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-3" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-3}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-3"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-4" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-4}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-4"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-5" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-5}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-5"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-6" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-6}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-6"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-7" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-7}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-7"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-8" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-8}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-8"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-9" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-9}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-9"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-10" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-10}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-10"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-11" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-11}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-11"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-12" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-12}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-12"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-13" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-13}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-13"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-14" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-14}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-14"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-15" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-15}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-15"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-16" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-16}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-16"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-17" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-17}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-17"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-18" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-18}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-18"></span></button>
|
||
<input type="hidden" name="attr_skill-row-4-19" value="" class="hideIfNull"><button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill-row-4-19}}} {{roll=[[4dF-4+@{Show-Diceprompts}]]}}" name="roll_SkillRoll"><span name="attr_skill-row-4-19"></span></button>
|
||
</div>
|
||
</div>
|
||
</div> <!-- /SkillGrid -->
|
||
</div> <!-- /SkillDisplay -->
|
||
|
||
</div> <!-- /SkillFrame -->
|
||
</div> <!-- /SkillCell -->
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Stunts" value="1">
|
||
<div class="StuntCell">
|
||
<div class="SectionHeader">
|
||
<span><span data-i18n="stunts">Stunts</span> <span class="listcount" name="attr_stuntcount"></span></span> <span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditStunts" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="StuntFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditStunts" value="1" checked>
|
||
<div class="StuntEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="stunts">Stunts</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditStunts" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_stunts">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="name">Name</div>
|
||
<input name="attr_name" type="text">
|
||
<div class"fieldlabel"><input type="checkbox" name="attr_rollable" value="1"> <span class="fieldlabel" data-i18n="rollable">Rollable</span></div>
|
||
<input type="checkbox" class="triggerbox" name="attr_rollable" value="1">
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="bonus">Bonus</div>
|
||
<input name="attr_bonus" type="number" value="0">
|
||
<div class="fieldlabel" data-i18n="skill">Skill</div>
|
||
<input name="attr_skill" type="text" value="">
|
||
<input name="attr_skillvalue" type="hidden" value="0">
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="desc">Description</div>
|
||
<textarea name="attr_desc" rows=3></textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div> <!-- /StuntEdit -->
|
||
|
||
<div class="StuntDisplay">
|
||
<fieldset class="repeating_stunts">
|
||
<div class="stunt">
|
||
<span name="attr_name" class="name"></span>
|
||
<span name="attr_desc" class="desc"></span>
|
||
<input type="hidden" name="attr_name" value="">
|
||
<input type="hidden" name="attr_desc" value=""><button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: ^{stunt}}} {{text=**@{name}:** @{desc}}}"></button>
|
||
<input type="hidden" name="attr_skill" value="">
|
||
<input type="hidden" name="attr_skillvalue" value="0">
|
||
<input type="hidden" name="attr_bonus" value="0">
|
||
<input type="checkbox" class="triggerbox" name="attr_rollable" value="1">
|
||
<span><br/><button type="roll" class="sheet-roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{name} (@{skill})}} {{roll=[[@{fatedice}+@{skillvalue}+@{bonus}+@{Show-Diceprompts}]]}}" name="roll_SkillRoll">
|
||
<b><span data-i18n="roll">Roll</span>
|
||
<span name="attr_skill"></span></b> = <span name="attr_skillvalue"></span> + <span name="attr_bonus"></span>
|
||
</button></span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div> <!-- /StuntFrame -->
|
||
</div> <!-- /StuntCell -->
|
||
|
||
<!-- Packages -->
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Packages" value="1">
|
||
<div class="RoleCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="packages">Packages</span> <span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditPackages" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="StuntFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditPackages" value="1" checked>
|
||
<div class="SkillEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="packages">Packages</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditPackages" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_packages"><div class="AspectSeparator">
|
||
<div class="fieldlabel"><span data-i18n="package">Package</span></div>
|
||
<input type="text" name="attr_package" value="">
|
||
<div class="fieldlabel"><span data-i18n="aspects">Aspects</span></div>
|
||
<input type="text" name="attr_aspects" value="">
|
||
<div data-i18n="package-aspects-instruct">Enter a list of aspects from this package, separated by commas: Aspect, Aspect2, etc</div>
|
||
<div class="fieldlabel"><span data-i18n="skills">Skills</span></div>
|
||
<input type="text" name="attr_skills" value="">
|
||
<div data-i18n="package-skills-instruct">Enter a list of skills and the points to allocate to each of them in this format: First:1, Second:2, etc. The named skills must already exist on your sheet, so make sure to establish those first.</div>
|
||
<div class="fieldlabel"><span data-i18n="stunts">Stunts</span></div>
|
||
<textarea name="attr_stunts"></textarea>
|
||
<div data-i18n="package-stunts-instruct">Enter a list of stunts, one per line, in the format: Stunt Name: Stunt Description.</div>
|
||
</div></fieldset>
|
||
<div class="fieldlabel" data-i18n="package-add-set">Add Package Sets</div>
|
||
<select name="attr_addpackage">
|
||
<option value="" data-i18n="package-choose">[Choose a package set]</option>
|
||
<option value="inmf" data-i18n-label="inmf">It's Not My Fault</option>
|
||
<option value="inmfif" data-i18n-label="inmfif">It's Not My Fault I'm Fantastic</option>
|
||
</select>
|
||
</div>
|
||
<div class="StuntDisplay">
|
||
<div style="padding: 6px;">
|
||
<span data-i18n="packages-instructions">Pick the packages you want to add to your character, which will add the indicated skill point spends, aspects, and stunts to your sheet. Once you've picked all you want, you can turn off the Packages display preference at the top of the sheet. Define your available packages using the edit controls for this section. Skills added by a package need to be in the skill list already, so make sure you've loaded those up first!</span>
|
||
</div>
|
||
<fieldset class="repeating_packages">
|
||
<input type="hidden" name="attr_package" value="">
|
||
<input type="hidden" name="attr_aspects" value="">
|
||
<input type="hidden" name="attr_skills" value="">
|
||
<input type="hidden" name="attr_stunts" value="">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel">
|
||
<span name="attr_package"></span>
|
||
<button type="action" name="act_add"><span data-i18n="package-add">Add This Package</span></button>
|
||
<button type="action" name="act_subtract"><span data-i18n="package-subtract">Subtract This Package</span></button>
|
||
</div>
|
||
<input type="hidden" name="attr_aspects" value="" class="hideIfNull">
|
||
<div>
|
||
<b><span data-i18n="aspects">Aspects</span></b>: <span name="attr_aspects"></span>
|
||
</div>
|
||
<input type="hidden" name="attr_skills" value="" class="hideIfNull">
|
||
<div>
|
||
<b><span data-i18n="skills">Skills</span></b>: <span name="attr_skills"></span>
|
||
</div>
|
||
<input type="hidden" name="attr_aspects" value="" class="hideIfNull">
|
||
<div>
|
||
<b><span data-i18n="stunts">Stunts</span></b>: <span name="attr_stunts"></span>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<!-- End Packages -->
|
||
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Powers" value="1">
|
||
<div class="PowerCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="powers">Powers</span><span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditPowers" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="PowerFrame">
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_EditPowers" value="1" checked>
|
||
<div class="PowerEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="powers">Powers</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditPowers" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_powers">
|
||
<div class="fieldlabel" data-i18n="name">Name</div>
|
||
<input name="attr_name" type="text">
|
||
<div class="fieldlabel" data-i18n="desc">Description</div>
|
||
<textarea name="attr_desc" rows=3></textarea>
|
||
<div class="fieldlabel"><span data-i18n="power">Power</span> <span data-i18n="breakdown">Breakdown</span></div>
|
||
<textarea name="attr_breakdown" rows=3></textarea>
|
||
<div class="fieldlabel" data-i18n="special-effects">Special Effects</div>
|
||
<textarea name="attr_sfx" rows=3></textarea>
|
||
<select name="attr_sfxmenu">
|
||
<option value="" data-i18n="add-fx">[Add a common effect]</option>
|
||
<option value="fx1" data-i18n="fx1n">Forced Movement</option>
|
||
<option value="fx2" data-i18n="fx2n">Area Attack</option>
|
||
<option value="fx3" data-i18n="fx3n">Inflict Condition</option>
|
||
<option value="fx4" data-i18n="fx4n">Extra Movement</option>
|
||
<option value="fx5" data-i18n="fx5n">Physical Recovery</option>
|
||
<option value="fx6" data-i18n="fx6n">Mental Recovery</option>
|
||
<option value="fx7" data-i18n="fx7n">Extra Action</option>
|
||
</select>
|
||
<div class="fieldlabel" data-i18n="drawbacks">Drawbacks</div>
|
||
<input name="attr_drawbacks" type="text">
|
||
<div class="fieldlabel" data-i18n="collateral-damage">Collateral Damage</div>
|
||
<textarea name="attr_collateral" rows=3></textarea>
|
||
<div class="fieldlabel" data-i18n="cost">Cost</div>
|
||
<input name="attr_cost" type="number" min="0" value="1">
|
||
</fieldset>
|
||
</div> <!-- /PowerEdit -->
|
||
|
||
<div class="PowerDisplay">
|
||
<fieldset class="repeating_powers">
|
||
<div class="power">
|
||
<div class="powerflex">
|
||
<span>
|
||
<span name="attr_name" class="name"></span>
|
||
<input type="hidden" name="attr_cost" value="1">
|
||
<input type="hidden" name="attr_desc" value="">
|
||
<input type="hidden" name="attr_name" value="">
|
||
<input type="hidden" name="attr_sfx" value="">
|
||
<input type="hidden" name="attr_breakdown" value="">
|
||
<input type="hidden" name="attr_drawbacks" value="">
|
||
<input type="hidden" name="attr_collateral" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: @{name} ^{power}}} {{text=@{desc} *(^{cost}: @{cost})*}} {{^{power} ^{breakdown}=@{breakdown}}} {{^{special-effects}=@{sfx}}} {{^{drawbacks}=@{drawbacks}}} {{^{collateral-damage}=@{collateral}}}"></button>
|
||
</span>
|
||
<span name="attr_cost" class="cost nowrap"></span>
|
||
</div>
|
||
<div class="desc">
|
||
<span name="attr_desc" class="desc"></span>
|
||
</div>
|
||
<input type="hidden" value="" class="hideIfNull" name="attr_breakdown">
|
||
<div class="field">
|
||
<b><span data-i18n="power">Power</span> <span data-i18n="breakdown">Breakdown</span></b>: <span name="attr_breakdown"></span>
|
||
</div>
|
||
<input type="hidden" value="" class="hideIfNull" name="attr_sfx">
|
||
<div class="field">
|
||
<b><span data-i18n="special-effects">Special Effects</span></b>: <span name="attr_sfx"></span>
|
||
</div>
|
||
<input type="hidden" value="" class="hideIfNull" name="attr_drawbacks">
|
||
<div class="field">
|
||
<b><span data-i18n="drawbacks">Drawbacks</span></b>: <span name="attr_drawbacks"></span>
|
||
</div>
|
||
<input type="hidden" value="" class="hideIfNull" name="attr_collateral">
|
||
<div class="field">
|
||
<b><span data-i18n="collateral-damage">Collateral Damage</span></b>: <span name="attr_collateral"></span>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div> <!-- /PowerFrame -->
|
||
</div> <!-- /PowerCell -->
|
||
|
||
<!-- Begin the Extras section -->
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Extras" value="1">
|
||
<div class="ExtraCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="extras">Extras</span><span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditExtras" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="ExtraFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditExtras" value="1" checked>
|
||
<div class="ExtraEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="extras">Extras</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditExtras" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div data-i18n="extra-desc">Extras are composed of a series of elements. For each extra, start by adding a title element, then add other elements as needed: permissions, costs, aspects, skills, stunts, tracks, ratings (e.g., weapon:X, armor:X), notes.</div>
|
||
<div>
|
||
<span data-i18n="Filter">Filter</span>: <input type="text" name="attr_extrasfilter" value="">
|
||
<div>
|
||
<i><span data-i18n="You can use the filter to hide anything that doesn't follow a title element with a matching name.">You can use the filter to hide anything that doesn't follow a title element with a matching name.</span></i>
|
||
</div>
|
||
</div>
|
||
<fieldset class="repeating_extras">
|
||
<input type="hidden" name="attr_hideme" value="0">
|
||
<input type="hidden" name="attr_element" class="element hideUnlessNull" value="">
|
||
<select name="attr_element">
|
||
<option value="" data-i18n="add...">Add...</option>
|
||
<option value="title" data-i18n="title">Title</option>
|
||
<option value="permissions" data-i18n="permissions">Permissions</option>
|
||
<option value="cost" data-i18n="cost">Cost</option>
|
||
<option value="aspect" data-i18n="aspect">Aspect</option>
|
||
<option value="skill" data-i18n="skill">Skill</option>
|
||
<option value="stunt" data-i18n="stunt">Stunt</option>
|
||
<option value="track" data-i18n="track">Track</option>
|
||
<option value="rating" data-i18n="rating">Rating</option>
|
||
<option value="note" data-i18n="note">Note</option>
|
||
</select>
|
||
<input type="hidden" name="attr_hideme" value="0" class="hideOnOne">
|
||
<div class="tobehiddenornot">
|
||
<input type="hidden" name="attr_element" class="element" value="">
|
||
<div class="fieldlabel title"><span data-i18n="title">Title</span></div>
|
||
<div class="title AspectSeparator">
|
||
<input type="text" name="attr_name" value="" data-i18n-placeholder="title" placeholder="title" class="title">
|
||
</div>
|
||
<div class="fieldlabel aspect"><span data-i18n="aspects">Aspects</span></div>
|
||
<div class="fieldlabel permissions cost skill track rating note stunt label"><span name="attr_element"></span></div>
|
||
<div class="aspect note skill stunt rating track">
|
||
<b style="font-size: 80%;"><span data-i18n="label">Label</span> (<span data-i18n="optional">Optional</span>):</b>
|
||
<input type="text" name="attr_label" value="" class="compact">
|
||
</div>
|
||
<div class="track">
|
||
<input type="hidden" class="hideIfNull" name="attr_label" value="">
|
||
<div>
|
||
<b style="font-size: 80%;"><span data-i18n="label-icon">Label Icon</span>:</b>
|
||
<select class="compact" name="attr_icon">
|
||
<option value="" data-i18n="none">None</option>
|
||
<option value="plus" data-i18n="plusdie">Plus Die</option>
|
||
<option value="blank" data-i18n="blankdie">Blank Die</option>
|
||
<option value="minus" data-i18n="minusdie">Minus Die</option>
|
||
</select>
|
||
</div>
|
||
<input type="hidden" class="hideIfNull" name="attr_icon" value="">
|
||
<div>
|
||
<b style="font-size: 80%;"><span data-i18n="label-icon">Label Icon</span> 2:</b>
|
||
<select class="compact" name="attr_icon2">
|
||
<option value="" data-i18n="none">None</option>
|
||
<option value="plus" data-i18n="plusdie">Plus Die</option>
|
||
<option value="blank" data-i18n="blankdie">Blank Die</option>
|
||
<option value="minus" data-i18n="minusdie">Minus Die</option>
|
||
</select>
|
||
</div>
|
||
<input type="hidden" class="hideIfNull" name="attr_icon2" value="">
|
||
<div>
|
||
<b style="font-size: 80%;"><span data-i18n="label-icon">Label Icon</span> 3:</b>
|
||
<select class="compact" name="attr_icon3">
|
||
<option value="" data-i18n="none">None</option>
|
||
<option value="plus" data-i18n="plusdie">Plus Die</option>
|
||
<option value="blank" data-i18n="blankdie">Blank Die</option>
|
||
<option value="minus" data-i18n="minusdie">Minus Die</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="skill">
|
||
<b style="font-size: 80%;"><span data-i18n="skill">Skill</span>:</b>
|
||
<input type="text" name="attr_skill" value="" class="compact" data-i18n-placeholder="skill" placeholder="skill">
|
||
</div>
|
||
<div class="skill" style="font-size: 80%;">
|
||
<b><span data-i18n="rating">Rating</span>:</b>
|
||
<input type="number" name="attr_rating" value="0" min="-4" max="10" class="compact">
|
||
<input type="hidden" name="attr_word" value="">
|
||
<span name="attr_word"></span>
|
||
</div>
|
||
<div class="stunt">
|
||
<b style="font-size: 80%;"><span data-i18n="name">Name</span>:</b>
|
||
<input type="text" name="attr_name" value="" class="compact" data-i18n-placeholder="stunt" placeholder="stunt">
|
||
<div class"fieldlabel"><input type="checkbox" name="attr_rollable" value="1"> <span class="fieldlabel" data-i18n="rollable">Rollable</span></div>
|
||
<input type="checkbox" class="triggerbox" name="attr_rollable" value="1">
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="bonus">Bonus</div>
|
||
<input name="attr_bonus" type="number" value="0">
|
||
<div class="fieldlabel" data-i18n="skill">Skill</div>
|
||
<input name="attr_skill" type="text" value="">
|
||
<input name="attr_skillvalue" type="hidden" value="0">
|
||
</div>
|
||
</div>
|
||
<div class="rating">
|
||
<b style="font-size: 80%;"><span data-i18n="name">Name</span>:</b>
|
||
<input type="text" name="attr_name" value="" class="compact" data-i18n-placeholder="name" placeholder="name">
|
||
</div>
|
||
<div class="rating">
|
||
<b style="font-size: 80%;"><span data-i18n="rating">Rating</span>:</b>
|
||
<input type="number" name="attr_rating" value="0" class="compact">
|
||
</div>
|
||
<div class="track">
|
||
<b style="font-size: 80%;"><span data-i18n="name">Name</span>:</b>
|
||
<input type="text" name="attr_name" value="" data-i18n-placeholder="optional" placeholder="optional" class="compact">
|
||
</div>
|
||
<div class="track">
|
||
<b style="font-size: 80%;"><span data-i18n="track-length">Track Length</span>:</b>
|
||
<input type="number" name="attr_track" value="1" min="1" max="10" class="compact">
|
||
</div>
|
||
<div class="track">
|
||
<input type="hidden" name="attr_track" value="1" class="hideAllBut">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track1">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track2">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track3">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track4">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track5">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track6">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track7">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track8">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track9">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track10">
|
||
</div>
|
||
<div class="permissions cost aspect note stunt">
|
||
<textarea name="attr_text" rows=2 class="squat"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset> <!-- End of the Extras editing fieldset -->
|
||
<div>
|
||
<select name="attr_addextra">
|
||
<option value="" data-i18n="add...">Add...</option>
|
||
<optgroup label="3 Rocketeers" data-i18n-label="threerocketeers">
|
||
<option value="swordplay">Swordplay Template</option>
|
||
</optgroup>
|
||
<optgroup label="Tachyon Squadron" data-i18n-label="tachyon-squadron">
|
||
<option value="blackfish">SF-46D Blackfish</option>
|
||
<option value="ship00">Ship Template: Scale 0, Quality 0+</option>
|
||
<option value="ship0-1">Ship Template: Scale 0, Poor Quality</option>
|
||
<option value="ship10">Ship Template: Scale 1, Quality 0+</option>
|
||
<option value="ship1-1">Ship Template: Scale 1, Poor Quality</option>
|
||
<option value="ship20">Ship Template: Scale 2, Quality 0+</option>
|
||
<option value="ship2-1">Ship Template: Scale 2, Poor Quality</option>
|
||
<option value="ship30">Ship Template: Scale 3, Quality 0+</option>
|
||
<option value="ship3-1">Ship Template: Scale 3, Poor Quality</option>
|
||
<option value="ship40">Ship Template: Scale 4, Quality 0+</option>
|
||
<option value="ship4-1">Ship Template: Scale 4, Poor Quality</option>
|
||
<option value="turretdamage">Turret Damage Track (if module installed)</option>
|
||
</optgroup>
|
||
<option value="template">Template</option>
|
||
</select>
|
||
</div>
|
||
</div> <!-- /ExtraEdit -->
|
||
|
||
<div class="ExtraDisplay">
|
||
<span data-i18n="Filter">Filter</span>: <input type="text" name="attr_extrasfilter" value="" data-i18n-title="You can use the filter to hide anything that doesn't follow a title element with a matching name.">
|
||
<fieldset class="repeating_extras">
|
||
<input type="hidden" name="attr_hideme" value="0" class="hideOnOne">
|
||
<div class="tobehiddenornot">
|
||
<input type="hidden" name="attr_element" class="element" value="">
|
||
<div class="title clear-all space-above rule-above" width="100%">
|
||
<span name="attr_name"></span>
|
||
</div>
|
||
<div class="permissions space-below clear-all">
|
||
<div class="fieldlabel"><b><span data-i18n="permissions">Permissions</span></b></div>
|
||
<div class="indented"><span name="attr_text"></span></div>
|
||
</div>
|
||
<div class="cost space-below clear-all">
|
||
<div class="fieldlabel"><b><span data-i18n="cost">Cost</span></b></div>
|
||
<div class="indented"><span name="attr_text"></span></div>
|
||
</div>
|
||
<div class="aspect space-below clear-all">
|
||
<!-- input type="hidden" class="hideUnlessNull" name="attr_label" value=""><div class="fieldlabel"><b><span data-i18n="aspects">Aspects</span></b></div -->
|
||
<input type="hidden" class="hideIfNull" name="attr_label" value=""><div class="fieldlabel"><b><span name="attr_label"></span></b></div>
|
||
<div class="aspect indented">
|
||
<span name="attr_text" class="aspect"></span>
|
||
<input type="hidden" name="attr_text" value="">
|
||
<input type="hidden" name="attr_label" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: ^{extra} @{label} ^{aspect}}} {{text=***@{text}***}}"></button>
|
||
</div>
|
||
</div>
|
||
<div class="note space-below clear-all">
|
||
<input type="hidden" class="hideIfNull" name="attr_label" value=""><div class="fieldlabel"><b><span name="attr_label"></span></b></div>
|
||
<div class="indented">
|
||
<span name="attr_text"></span>
|
||
<input type="hidden" name="attr_label" value="">
|
||
<input type="hidden" name="attr_text" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: @{label} ^{note}}} {{text=@{text}}}"></button>
|
||
</div>
|
||
</div>
|
||
<div class="skill">
|
||
<input type="hidden" name="attr_skill" value="">
|
||
<input type="hidden" name="attr_rating" value="0">
|
||
<input type="hidden" class="hideIfNull" name="attr_label" value=""><div class="fieldlabel clear-all"><b><span name="attr_label"></span></b></div>
|
||
<button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{skill}}} {{roll=[[@{fatedice}+@{rating}+@{Show-Diceprompts}]]}}" name="roll_SkillRoll" class="sheet-roll">
|
||
<b><span name="attr_skill"></span></b>:
|
||
<span name="attr_word"></span>
|
||
</button>
|
||
</div>
|
||
<div class="stunt space-below clear-all">
|
||
<input type="hidden" class="hideIfNull" name="attr_label" value=""><div class="fieldlabel"><b><span name="attr_label"></span></b></div>
|
||
<div class="stunt">
|
||
<b><span name="attr_name"></span>:</b>
|
||
<span name="attr_text"></span>
|
||
<input type="hidden" name="attr_name" value=""><input type="hidden" name="attr_text" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: ^{extra} ^{stunt}}} {{text=**@{name}:** @{text}}}"></button>
|
||
<input type="hidden" name="attr_skill" value="">
|
||
<input type="hidden" name="attr_skillvalue" value="0">
|
||
<input type="hidden" name="attr_bonus" value="0">
|
||
<input type="checkbox" class="triggerbox" name="attr_rollable" value="1">
|
||
<span><br/><button type="roll" class="sheet-roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{name} (@{skill})}} {{roll=[[@{fatedice}+@{skillvalue}+@{bonus}+@{Show-Diceprompts}]]}}" name="roll_SkillRoll">
|
||
<b><span data-i18n="roll">Roll</span>
|
||
<span name="attr_skill"></span></b> = <span name="attr_skillvalue"></span> + <span name="attr_bonus"></span>
|
||
</button></span>
|
||
</div>
|
||
</div>
|
||
<div class="rating space-below clear-all">
|
||
<input type="hidden" class="hideIfNull" name="attr_label" value=""><div class="fieldlabel"><b><span name="attr_label"></span></b></div>
|
||
<div class="indented">
|
||
<b><span name="attr_name"></span>:</b>
|
||
<span name="attr_rating"></span>
|
||
<input type="hidden" name="attr_name" value="">
|
||
<input type="hidden" name="attr_rating" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: ^{extra} ^{rating}}} {{text=**@{name}:** @{rating}}}"></button>
|
||
</div>
|
||
</div>
|
||
<div class="track space-below clear-all">
|
||
<input type="hidden" class="hideIfNull" name="attr_label" value=""><div class="fieldlabel">
|
||
<input type="hidden" class="hideIfNull icon" name="attr_icon" value=""><span class="icon"></span>
|
||
<input type="hidden" class="hideIfNull icon" name="attr_icon2" value=""><span class="icon"></span>
|
||
<input type="hidden" class="hideIfNull icon" name="attr_icon3" value=""><span class="icon"></span>
|
||
<b><span name="attr_label"></span></b>
|
||
</div>
|
||
<div class="indented">
|
||
<span class="nowrap float-left">
|
||
<input type="hidden" name="attr_track" value="1" class="hideAllBut">
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check1" value="1"><span class="tracker" name="attr_track1"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check2" value="1"><span class="tracker" name="attr_track2"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check3" value="1"><span class="tracker" name="attr_track3"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check4" value="1"><span class="tracker" name="attr_track4"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check5" value="1"><span class="tracker" name="attr_track5"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check6" value="1"><span class="tracker" name="attr_track6"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check7" value="1"><span class="tracker" name="attr_track7"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check8" value="1"><span class="tracker" name="attr_track8"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check9" value="1"><span class="tracker" name="attr_track9"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check10" value="1"><span class="tracker" name="attr_track10"></span></span>
|
||
</span>
|
||
<span name="attr_name"></span>
|
||
</div>
|
||
</div>
|
||
</div> <!-- tobehiddenornot -->
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div> <!-- /ExtraFrame -->
|
||
</div> <!-- /ExtraCell -->
|
||
|
||
<!-- End the Extras section -->
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Notes" value="1">
|
||
<div class="NoteCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="notes">Notes</span><span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditNotes" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="NoteFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditNotes" value="1" checked>
|
||
<div class="NoteEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="notes">Notes</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditNotes" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_Notes">
|
||
<div class="fieldlabel" data-i18n="title">Title</div>
|
||
<input name="attr_name" type="text">
|
||
<div class="fieldlabel" data-i18n="note">Note</div>
|
||
<textarea name="attr_desc" rows=3></textarea>
|
||
</fieldset>
|
||
</div> <!-- /NoteEdit -->
|
||
|
||
<div class="NoteDisplay">
|
||
<fieldset class="repeating_Notes"><div class="note">
|
||
<div class="name"><span name="attr_name"></span></div>
|
||
<div class="desc">
|
||
<span name="attr_desc"></span>
|
||
<input type="hidden" name="attr_desc" value="">
|
||
<input type="hidden" name="attr_name" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: @{name} ^{note}}} {{text=@{desc}}}"></button>
|
||
</div>
|
||
</div></fieldset>
|
||
</div>
|
||
|
||
</div> <!-- /NoteFrame -->
|
||
</div> <!-- /NoteCell -->
|
||
|
||
</div> <!-- /SheetCol -->
|
||
<div class="SheetCol">
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Aspects" value="1">
|
||
<div class="AspectCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="aspects">Aspects</span>
|
||
<span class="boxcorner">
|
||
<input type="hidden" name="attr_aspectlist" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: ^{aspects}}} {{breaks=@{aspectlist}}}"></button>
|
||
<input type="checkbox" class="checkbox" name="attr_EditAspects" value="1" checked><span class="pencilbox"/>
|
||
</span>
|
||
</div>
|
||
<div class="AspectFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditAspects" value="1" checked>
|
||
|
||
<div class="AspectEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="aspects">Aspects</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditAspects" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<input type="checkbox" class="deeptrigger" name="attr_Show-RollableAspects" value="1">
|
||
<fieldset class="repeating_aspects">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="category header optional">Category Header (optional)</div>
|
||
<input name="attr_category" type="text" value="">
|
||
<div class="fieldlabel" data-i18n="label">Label</div>
|
||
<input name="attr_label" type="text" value="">
|
||
<div class="fieldlabel" data-i18n="aspect">Aspect</div>
|
||
<input name="attr_aspect" type="text">
|
||
<div class="fieldlabel" data-i18n="flags">Flags</div>
|
||
<input name="attr_flags" type="text">
|
||
<div class="fieldlabel">
|
||
<span data-i18n="free-invokes">Free Invokes</span>
|
||
<select name="attr_invokes" style="width: 20%"><option value="" selected>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option></select>
|
||
</div>
|
||
<div class="fieldlabel deeptriggered">
|
||
<span data-i18n="aspect-value">Aspect Value When Rolled</span>
|
||
<select name="attr_rollvalue" style="width: 20%"> <option value="" selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> </select>
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</fieldset>
|
||
</div> <!-- /AspectEdit -->
|
||
|
||
<div class="AspectDisplay">
|
||
<input type="checkbox" class="deeptrigger" name="attr_Show-RollableAspects" value="1">
|
||
<fieldset class="repeating_aspects">
|
||
<input type="hidden" name="attr_category" value="" class="hideIfNull"><div class="aspect-category"><span name="attr_category"></span></div>
|
||
<div class="aspect">
|
||
<input type="hidden" value="" name="attr_label" class="hideIfNull"><div class="AspectLabelBar">
|
||
<span class="label align-left">
|
||
<span name="attr_label"></span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<span class="deeptriggered"><input type="checkbox" class="checkbox" name="attr_rollthis" value="1"><span class="checkmark"></span></span>
|
||
<span class="name"><span class="deeptriggered"><input type="checkbox" class="triggerbox" name="attr_rollthis" value="1"><span>+</span></span><span name="attr_aspect"></span><span class="deeptriggered"> (+<span name="attr_rollvalue"></span>)</span></span>
|
||
<input type="hidden" value="" name="attr_flags" class="hideIfNull"><span>(<span name="attr_flags"></span>)</span>
|
||
<span>
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: @{label} @{flags} ^{aspect}}} {{text=***@{aspect}*** @{notes}}}"></button>
|
||
<input type="hidden" name="attr_label" value="">
|
||
<input type="hidden" name="attr_flags" value="">
|
||
<input type="hidden" name="attr_aspect" value="">
|
||
<input type="hidden" name="attr_notes" value="">
|
||
<input type="hidden" name="attr_rollvalue" value="1">
|
||
</div>
|
||
<input type="checkbox" name="attr_options" class="triggerbox" value="1">
|
||
<div class="AspectOptionsBox">
|
||
<div class="OptionsEdit">
|
||
<div class="OptionsTitleBar">
|
||
<span><span name="attr_label"></span> <span name="options">Options</span></span>
|
||
<span>
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<div class="nowrap">
|
||
<span class="fieldlabel" data-i18n="free-invokes">Free Invokes</span>
|
||
<select name="attr_invokes" style="width: 20%">
|
||
<option value="" selected>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option>
|
||
</select>
|
||
<span class="fieldlabel" data-i18n="flags">Flags</span>
|
||
<input type="text" class="compact" name="attr_flags" value="" style="width: 30%">
|
||
</div>
|
||
<div class="fieldlabel deeptriggered">
|
||
<span data-i18n="aspect-value">Aspect Value When Rolled</span>
|
||
<select name="attr_rollvalue" style="width: 20%"> <option value="" selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> </select>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="notes">
|
||
<span name="attr_notes"></span>
|
||
</div>
|
||
<div class="boxes">
|
||
<span class="nowrap">
|
||
<input type="hidden" name="attr_invokes" value="0" class="hideAllBut">
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check1" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check2" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check3" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check4" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check5" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check6" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check7" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check8" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check9" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check10" value="1"><span class="tracker"></span></span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-RollableAspects" value="1">
|
||
<div class="ExtraDisplay limited-width">
|
||
<input type="hidden" name="attr_rolltally" value="0">
|
||
<input type="hidden" name="attr_rolllist" value="" class="compact">
|
||
<button type="roll" value="@{comstyle} &{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: ^{rollable-aspects}}} {{note=@{rolllist}}} {{roll=[[@{fatedice}+@{rolltally}+@{Show-Diceprompts}]]}}" name="roll_SkillRoll" class="sheet-roll"><b><span data-i18n="roll-marked-aspects">Roll Marked Aspects</span> (+<span name="attr_rolltally"></span>)</b></button>
|
||
</div>
|
||
</div>
|
||
|
||
</div> <!-- /AspectFrame -->
|
||
</div> <!-- /AspectCell -->
|
||
|
||
<input type="checkbox" class="triggerbox" name="attr_Show-Corruption" value="1">
|
||
<div class="CorruptionCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="corruption">Corruption</span>
|
||
</div>
|
||
<input type="hidden" name="attr_corruption" value="0" class="corruptor">
|
||
<div class="CorrClock">
|
||
<div>
|
||
<input type="number" name="attr_corruption" value="0" max="4" min="0">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Stress" value="1">
|
||
<div class="TrackCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="stress">Stress</span><span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditStress" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="TrackFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditStress" value="1" checked>
|
||
|
||
<div class="TrackEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="stress">Stress</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditStress" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="quick-add">Quick Add</div>
|
||
<select name="attr_addstress">
|
||
<option value="" selected data-i18n="track-choose">[Choose Track Style]</option>
|
||
<option value="flat" data-i18n="flat-track">Flat Track (1-1-1)</option>
|
||
<option value="esc" data-i18n="escalating-track">Escalating Track (1-2-3)</option>
|
||
<option value="cust" data-i18n="custom-track">Custom Track (?-?-?)</option>
|
||
</select>
|
||
</div>
|
||
<fieldset class="repeating_stress">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="label">Label</div>
|
||
<input name="attr_label" type="text">
|
||
<div class="fieldlabel">
|
||
<span data-i18n="track-length">Track Length</span>
|
||
<select name="attr_track" style="width: 20%"><option selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option></select>
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="box-values">Box Values</div>
|
||
<div>
|
||
<input type="hidden" name="attr_track" value="1" class="hideAllBut">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track1">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track2">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track3">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track4">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track5">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track6">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track7">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track8">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track9">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track10">
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</fieldset>
|
||
</div> <!-- /TrackEdit -->
|
||
|
||
<div class="TrackDisplay">
|
||
<fieldset class="repeating_stress">
|
||
<div class="track">
|
||
<div class="name">
|
||
<span name="attr_label"></span>
|
||
<span class="floatright">
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
</div>
|
||
<input type="checkbox" name="attr_options" class="triggerbox" value="1">
|
||
<div class="OptionsBox">
|
||
<div class="OptionsEdit">
|
||
<div class="OptionsTitleBar">
|
||
<span><span name="attr_label"></span> <span name="options">Options</span></span>
|
||
<span>
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<div class="nowrap">
|
||
<span class="fieldlabel" data-i18n="track-length">Track Length</span>
|
||
<select name="attr_track" style="width: 20%">
|
||
<option selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option>
|
||
</select>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="notes">
|
||
<span name="attr_notes"></span>
|
||
</div>
|
||
<div class="boxes">
|
||
<span class="nowrap">
|
||
<input type="hidden" name="attr_track" value="1" class="hideAllBut">
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check1" value="1"><span class="tracker" name="attr_track1"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check2" value="1"><span class="tracker" name="attr_track2"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check3" value="1"><span class="tracker" name="attr_track3"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check4" value="1"><span class="tracker" name="attr_track4"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check5" value="1"><span class="tracker" name="attr_track5"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check6" value="1"><span class="tracker" name="attr_track6"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check7" value="1"><span class="tracker" name="attr_track7"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check8" value="1"><span class="tracker" name="attr_track8"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check9" value="1"><span class="tracker" name="attr_track9"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check10" value="1"><span class="tracker" name="attr_track10"></span></span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div> <!-- End Stress -->
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Consequences" value="1">
|
||
<div class="TrackCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="consequences">Consequences</span><span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditConsequences" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="TrackFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditConsequences" value="1" checked>
|
||
|
||
<div class="TrackEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="consequences">Consequences</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditConsequences" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="quick-add">Quick Add</div>
|
||
<select name="attr_addconsequence">
|
||
<option value="" selected data-i18n="consequence-choose">[Choose Consequence]</option>
|
||
<option value="mild" data-i18n="mild">Mild</option>
|
||
<option value="mod" data-i18n="moderate">Moderate</option>
|
||
<option value="sev" data-i18n="severe">Severe</option>
|
||
<option value="all" data-i18n="all3">All Three</option>
|
||
</select>
|
||
</div>
|
||
<fieldset class="repeating_consequences">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="label">Label</div>
|
||
<input name="attr_label" type="text">
|
||
<div class="fieldlabel">
|
||
<span data-i18n="con-val">Consequence Value</span>
|
||
<select name="attr_track" style="width: 20%"><option>1</option> <option selected>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option></select>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div> <!-- /TrackEdit -->
|
||
|
||
<div class="TrackDisplay">
|
||
<fieldset class="repeating_consequences">
|
||
<div class="track">
|
||
<div class="name">
|
||
<input type="checkbox" class="checkbox" name="attr_trackcheck" value="1"><span class="tracker" name="attr_track"></span>
|
||
<span name="attr_label"></span>
|
||
</div>
|
||
<input type="checkbox" class="triggerbox" name="attr_trackcheck" value="1">
|
||
<div>
|
||
<div class="specific">
|
||
<div class="align-right nowrap">
|
||
<input type="hidden" name="attr_label" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: @{label} ^{consequence}}} {{text=***@{aspect}***}}"></button>
|
||
<input type="checkbox" class="checkbox" name="attr_recovery" value="1"><span class="checkmark"></span>
|
||
</div>
|
||
<input type="text" name="attr_aspect" class="conspect">
|
||
</div>
|
||
<input type="checkbox" class="hidebox" name="attr_recovery" value="1">
|
||
<div class="recovery">
|
||
<div data-i18n="recovering" class="label align-right">Recovering</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div> <!-- End Consequences -->
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-Conditions" value="1">
|
||
<div class="TrackCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="conditions">Conditions</span><span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditConditions" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="TrackFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditConditions" value="1" checked>
|
||
|
||
<div class="TrackEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="conditions">Conditions</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditConditions" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="quick-add">Quick Add</div>
|
||
<select name="attr_addcondition">
|
||
<option value="" selected data-i18n="track-choose">[Choose Track Style]</option>
|
||
<option value="cust" data-i18n="custom-track">Custom Track (?-?-?)</option>
|
||
<option value="flat" data-i18n="flat-track">Flat Track (1-1-1)</option>
|
||
<option value="esc" data-i18n="escalating-track">Escalating Track (1-2-3)</option>
|
||
</select>
|
||
</div>
|
||
<fieldset class="repeating_conditions">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="label">Label</div>
|
||
<input name="attr_label" type="text">
|
||
<div class="fieldlabel">
|
||
<span data-i18n="track-length">Track Length</span>
|
||
<select name="attr_track" style="width: 20%"><option selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option></select>
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="box-values">Box Values</div>
|
||
<div>
|
||
<input type="hidden" name="attr_track" value="1" class="hideAllBut">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track1">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track2">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track3">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track4">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track5">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track6">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track7">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track8">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track9">
|
||
<input type="text" value="" maxlength="2" size="1" class="tracker" name="attr_track10">
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</fieldset>
|
||
</div> <!-- /TrackEdit -->
|
||
|
||
<div class="TrackDisplay">
|
||
<fieldset class="repeating_conditions">
|
||
<div class="track">
|
||
<div class="name">
|
||
<span name="attr_label"></span>
|
||
<span class="floatright">
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
</div>
|
||
<input type="checkbox" name="attr_options" class="triggerbox" value="1">
|
||
<div class="OptionsBox">
|
||
<div class="OptionsEdit">
|
||
<div class="OptionsTitleBar">
|
||
<span><span name="attr_label"></span> <span name="options">Options</span></span>
|
||
<span>
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<div class="nowrap">
|
||
<span class="fieldlabel" data-i18n="track-length">Track Length</span>
|
||
<select name="attr_track" style="width: 20%">
|
||
<option selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option>
|
||
</select>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="notes">
|
||
<span name="attr_notes"></span>
|
||
</div>
|
||
<div class="boxes">
|
||
<span class="nowrap">
|
||
<input type="hidden" name="attr_track" value="1" class="hideAllBut">
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check1" value="1"><span class="tracker" name="attr_track1"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check2" value="1"><span class="tracker" name="attr_track2"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check3" value="1"><span class="tracker" name="attr_track3"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check4" value="1"><span class="tracker" name="attr_track4"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check5" value="1"><span class="tracker" name="attr_track5"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check6" value="1"><span class="tracker" name="attr_track6"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check7" value="1"><span class="tracker" name="attr_track7"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check8" value="1"><span class="tracker" name="attr_track8"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check9" value="1"><span class="tracker" name="attr_track9"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check10" value="1"><span class="tracker" name="attr_track10"></span></span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div> <!-- End Conditions -->
|
||
|
||
<input type="checkbox" class="triggerbox" checked name="attr_Show-TempAspects" value="1">
|
||
<div class="TrackCell">
|
||
<div class="SectionHeader">
|
||
<span data-i18n="situation-aspects">Situation Aspects</span><span class="boxcorner"><input type="checkbox" class="checkbox" name="attr_EditTempAspects" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<div class="TrackFrame">
|
||
<input type="checkbox" class="triggerbox" name="attr_EditTempAspects" value="1" checked>
|
||
|
||
<div class="TrackEdit">
|
||
<div class="EditTitleBar">
|
||
<span><span data-i18n="edit">Edit</span> <span data-i18n="situation-aspects">Situation Aspects</span></span>
|
||
<span><input type="checkbox" class="checkbox" name="attr_EditTempAspects" value="1" checked><span class="pencilbox"/></span>
|
||
</div>
|
||
<fieldset class="repeating_tempaspects">
|
||
<div class="AspectSeparator">
|
||
<div class="fieldlabel" data-i18n="aspect">Aspect</div>
|
||
<input name="attr_aspect" type="text">
|
||
<div class="fieldlabel">
|
||
<span data-i18n="free-invokes">Free Invokes</span>
|
||
<select name="attr_invokes" style="width: 20%"><option>0</option> <option selected>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option></select>
|
||
</div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</fieldset>
|
||
</div> <!-- /TrackEdit -->
|
||
|
||
<div class="TrackDisplay">
|
||
<fieldset class="repeating_tempaspects">
|
||
<div class="track">
|
||
<div class="name">
|
||
<span name="attr_aspect"></span>
|
||
<span class="floatright nowrap">
|
||
<input type="hidden" name="attr_aspect" value="">
|
||
<button type="roll" class="share" value="&{template:share} {{theme=@{theme}}} {{name=@{character_name}: ^{situation-aspect}}} {{text=***@{aspect}*** @{notes} (@{invokes} ^{free-invokes})}}"></button>
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
</div>
|
||
<input type="checkbox" name="attr_options" class="triggerbox" value="1">
|
||
<div class="OptionsBox">
|
||
<div class="OptionsEdit">
|
||
<div class="OptionsTitleBar">
|
||
<span><span name="options">Options</span></span>
|
||
<span>
|
||
<input type="checkbox" class="checkbox" name="attr_options" value="1"><span class="optionsbox"></span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<div class="nowrap">
|
||
<span class="fieldlabel" data-i18n="free-invokes">Free Invokes</span>
|
||
<select name="attr_invokes" style="width: 20%">
|
||
<option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option>
|
||
</select>
|
||
</div>
|
||
<div>
|
||
<div class="fieldlabel" data-i18n="notes">Notes</div>
|
||
<input name="attr_notes" type="text" style="width: 100%;">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="notes">
|
||
<span name="attr_notes"></span>
|
||
</div>
|
||
<div class="boxes">
|
||
<span class="nowrap">
|
||
<input type="hidden" name="attr_invokes" value="1" class="hideAllBut">
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check1" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check2" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check3" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check4" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check5" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check6" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check7" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check8" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check9" value="1"><span class="tracker"></span></span>
|
||
<span class="trackContainer"><input type="checkbox" class="checkbox" name="attr_check10" value="1"><span class="tracker"></span></span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div> <!-- /TrackFrame -->
|
||
</div> <!-- /TrackCell -->
|
||
|
||
</div> <!-- /SheetCol -->
|
||
</div> <!-- /SheetGrid -->
|
||
|
||
<hr/>
|
||
|
||
<div>
|
||
<i>This Fate sheet was created by Evil Hat Productions. Some portions of the text here are © Evil Hat Productions, LLC. The Fate logo is ™ Evil Hat Productions, LLC and may not be used elsewhere without permission.</i>
|
||
</div>
|
||
<div class="space-above">
|
||
<i>Problems, suggestions, other feedback? Reach out to us at feedback@evilhat.com or via the contact form on our website, https://www.evilhat.com/</i>
|
||
</div>
|
||
<div class="space-above">
|
||
<i>Need a core rules reference? Check out the Fate SRD site at https://www.fate-srd.com/</i>
|
||
</div>
|
||
|
||
</div> <!-- /Wrapper -->
|
||
|
||
<rolltemplate class="sheet-rolltemplate-share">
|
||
<div class="sheet-theme-{{theme}}">
|
||
{{#name}}
|
||
<div class="sheet-roll-name"><b>{{name}}</b></div>
|
||
{{/name}}
|
||
{{#text}}
|
||
<div class="sheet-text">{{text}}</div>
|
||
{{/text}}
|
||
{{#breaks}}
|
||
<div class="sheet-breaks">{{breaks}}</div>
|
||
{{/breaks}}
|
||
{{#allprops() name text theme breaks}}
|
||
<div class="sheet-space-above">**{{key}}:** {{value}} </div>
|
||
{{/allprops() name text theme breaks}}
|
||
</div>
|
||
</rolltemplate>
|
||
|
||
<rolltemplate class="sheet-rolltemplate-fateroll">
|
||
<div class="sheet-theme-{{theme}}">
|
||
{{#name}}
|
||
<div class="sheet-roll-name"><b>{{name}}</b></div>
|
||
{{/name}}
|
||
{{#roll}}
|
||
<div class="sheet-roll">
|
||
{{roll}}
|
||
<div class="sheet-word">
|
||
{{#rollGreater() roll 16}}
|
||
<span data-i18n="beyond">Beyond</span>
|
||
<span data-i18n="rating-word8">Legendary</span>
|
||
{{/rollGreater() roll 16}}
|
||
{{#rollLess() roll -8}}
|
||
<span data-i18n="below">Below</span>
|
||
<span data-i18n="rating-word-4">Horrifying</span>
|
||
{{/rollLess() roll -8}}
|
||
{{#rollBetween() roll 16 16}}
|
||
<span data-i116n="rating-word16">Legendary+8</span>
|
||
{{/rollBetween() roll 16 16}}
|
||
{{#rollBetween() roll 15 15}}
|
||
<span data-i115n="rating-word15">Legendary+7</span>
|
||
{{/rollBetween() roll 15 15}}
|
||
{{#rollBetween() roll 14 14}}
|
||
<span data-i114n="rating-word14">Legendary+6</span>
|
||
{{/rollBetween() roll 14 14}}
|
||
{{#rollBetween() roll 13 13}}
|
||
<span data-i113n="rating-word13">Legendary+5</span>
|
||
{{/rollBetween() roll 13 13}}
|
||
{{#rollBetween() roll 12 12}}
|
||
<span data-i112n="rating-word12">Legendary+4</span>
|
||
{{/rollBetween() roll 12 12}}
|
||
{{#rollBetween() roll 11 11}}
|
||
<span data-i111n="rating-word11">Legendary+3</span>
|
||
{{/rollBetween() roll 11 11}}
|
||
{{#rollBetween() roll 10 10}}
|
||
<span data-i110n="rating-word10">Legendary+2</span>
|
||
{{/rollBetween() roll 10 10}}
|
||
{{#rollBetween() roll 9 9}}
|
||
<span data-i19n="rating-word9">Legendary+1</span>
|
||
{{/rollBetween() roll 9 9}}
|
||
{{#rollBetween() roll 8 8}}
|
||
<span data-i18n="rating-word8">Legendary</span>
|
||
{{/rollBetween() roll 8 8}}
|
||
{{#rollBetween() roll 7 7}}
|
||
<span data-i18n="rating-word7">Epic</span>
|
||
{{/rollBetween() roll 7 7}}
|
||
{{#rollBetween() roll 6 6}}
|
||
<span data-i18n="rating-word6">Fantastic</span>
|
||
{{/rollBetween() roll 6 6}}
|
||
{{#rollBetween() roll 5 5}}
|
||
<span data-i18n="rating-word5">Superb</span>
|
||
{{/rollBetween() roll 5 5}}
|
||
{{#rollBetween() roll 4 4}}
|
||
<span data-i18n="rating-word4">Great</span>
|
||
{{/rollBetween() roll 4 4}}
|
||
{{#rollBetween() roll 3 3}}
|
||
<span data-i18n="rating-word3">Good</span>
|
||
{{/rollBetween() roll 3 3}}
|
||
{{#rollBetween() roll 2 2}}
|
||
<span data-i18n="rating-word2">Fair</span>
|
||
{{/rollBetween() roll 2 2}}
|
||
{{#rollBetween() roll 1 1}}
|
||
<span data-i18n="rating-word1">Average</span>
|
||
{{/rollBetween() roll 1 1}}
|
||
{{#rollBetween() roll 0 0}}
|
||
<span data-i18n="rating-word0">Mediocre</span>
|
||
{{/rollBetween() roll 0 0}}
|
||
{{#rollBetween() roll -1 -1}}
|
||
<span data-i18n="rating-word-1">Poor</span>
|
||
{{/rollBetween() roll -1 -1}}
|
||
{{#rollBetween() roll -2 -2}}
|
||
<span data-i18n="rating-word-2">Terrible</span>
|
||
{{/rollBetween() roll -2 -2}}
|
||
{{#rollBetween() roll -3 -3}}
|
||
<span data-i18n="rating-word-3">Catastrophic</span>
|
||
{{/rollBetween() roll -3 -3}}
|
||
{{#rollBetween() roll -4 -4}}
|
||
<span data-i18n="rating-word-4">Horrifying</span>
|
||
{{/rollBetween() roll -4 -4}}
|
||
{{#rollBetween() roll -5 -5}}
|
||
<span data-i18n="rating-word-5">Horrifying-1</span>
|
||
{{/rollBetween() roll -5 -5}}
|
||
{{#rollBetween() roll -6 -6}}
|
||
<span data-i18n="rating-word-6">Horrifying-2</span>
|
||
{{/rollBetween() roll -6 -6}}
|
||
{{#rollBetween() roll -7 -7}}
|
||
<span data-i18n="rating-word-7">Horrifying-3</span>
|
||
{{/rollBetween() roll -7 -7}}
|
||
{{#rollBetween() roll -8 -8}}
|
||
<span data-i18n="rating-word-8">Horrifying-4</span>
|
||
{{/rollBetween() roll -8 -8}}
|
||
</div>
|
||
</div>
|
||
{{/roll}}
|
||
{{#note}}
|
||
<div>{{note}}</div>
|
||
{{/note}}
|
||
</div>
|
||
</rolltemplate>
|
||
|
||
<script type="text/worker">
|
||
// Change to text/worker for upload; text/javascript for highlighting support
|
||
/* For use when running through a validator -- placeholders for external functions
|
||
var setAttrs = function() { };
|
||
var getAttrs = function() { };
|
||
var generateRowID = function() { };
|
||
var getSectionIDs = function() { };
|
||
var getTranslationByKey = function() { };
|
||
var on = function() { };
|
||
*/
|
||
// Data
|
||
|
||
// Small problem in that getTranslationByKey() doesn't work at all on mobile, far as I can tell.
|
||
|
||
// We need to store all the same info that's already in translation.json
|
||
|
||
const redundantTranslationJSON = {
|
||
"Academics": "Academics",
|
||
"add-fx": "[Add a common effect]",
|
||
"add-skills": "Load Skillset",
|
||
"all3": "All Three",
|
||
"aspect": "Aspect",
|
||
"aspects": "Aspects",
|
||
"Athletics": "Athletics",
|
||
"Awareness": "Awareness",
|
||
"below": "Below",
|
||
"beyond": "Beyond",
|
||
"box-values": "Box Values",
|
||
"breakdown": "Breakdown",
|
||
"Burdens": "Burdens",
|
||
"Burglary": "Burglary",
|
||
"Careful": "Careful",
|
||
"cats": "Secrets of Cats",
|
||
"choose-gameset": "[Choose a Gameset to Load]",
|
||
"Clever": "Clever",
|
||
"collateral-damage": "Collateral Damage",
|
||
"column names optional": "Column Names (Optional)",
|
||
"Computers": "Computers",
|
||
"con-val": "Consequence Value",
|
||
"condition": "Condition",
|
||
"conditions": "Conditions",
|
||
"consequence-choose": "[Choose Consequence]",
|
||
"consequence": "Consequence",
|
||
"consequences": "Consequences",
|
||
"Contacts": "Contacts",
|
||
"corruption": "Corruption",
|
||
"cost": "Cost",
|
||
"Crafts": "Crafts",
|
||
"custom-track": "Custom Track (?-?-?)",
|
||
"custom-combos-columns": "Custom Combinable Skill Columns",
|
||
"custom-combos-desc": "You must define the skills in the skill list, before categorizing them into columns here. Separate skills by commas and columns (up to 3) by semicolons: \"Skill, Skill; Skill, Skill\", e.g., \"Body, Mind; Air, Earth, Fire, Water\" for two columns skills. If each column has a label, put that at the start of each list followed by a colon, e.g., \"Self: Body, Mind; Element: Air, Earth, Fire, Water\", Make sure to enable Combinable Skills. You must select the Custom Build option up top for this to be used.",
|
||
"Deceive": "Deceive",
|
||
"del-skills": "Remove Skillset",
|
||
"desc": "Description",
|
||
"developer-mode": "Developer Mode",
|
||
"dfa": "Dresden Files Accelerated",
|
||
"display-by-list": "Compact List",
|
||
"display-by-rating": "Group By Rating",
|
||
"rating": "Rating",
|
||
"display-choose": "[Choose Display Style]",
|
||
"display-style": "Display Style",
|
||
"doomed": "Doomed (lasting)",
|
||
"drawbacks": "Drawbacks",
|
||
"Drive": "Drive",
|
||
"edit": "Edit",
|
||
"Empathy": "Empathy",
|
||
"escalating-track": "Escalating Track (1-2-3)",
|
||
"fae": "Fate Accelerated",
|
||
"fcon": "Fate Condensed",
|
||
"fcore": "Fate Core",
|
||
"Fight": "Fight",
|
||
"flags": "Flags",
|
||
"Flair": "Flair",
|
||
"Flashy": "Flashy",
|
||
"flat-track": "Flat Track (1-1-1)",
|
||
"foc": "Fate of Cthulhu",
|
||
"Focus": "Focus",
|
||
"Force": "Force",
|
||
"Forceful": "Forceful",
|
||
"fp": "Fate Points",
|
||
"Free Aspect": "Free Aspect",
|
||
"free-invokes": "Free Invokes",
|
||
"fx1": "Forced Movement (you move your target up to two zones).",
|
||
"fx1n": "Forced Movement",
|
||
"fx2": "Area Attack (attack everyone in a zone).",
|
||
"fx2n": "Area Attack",
|
||
"fx3": "Inflict Condition (you add an aspect to the target, which you can invoke once for free).",
|
||
"fx3n": "Inflict Condition",
|
||
"fx4": "Extra Movement (you can move up to two zones for free).",
|
||
"fx4n": "Extra Movement",
|
||
"fx5": "Physical Recovery (you recover from all physical stress).",
|
||
"fx5n": "Physical Recovery",
|
||
"fx6": "Mental Recovery (you recover from all mental stress).",
|
||
"fx6n": "Mental Recovery",
|
||
"fx7": "Extra Action (you can split your shifts between two different yet related actions, adding a +1 to each action).",
|
||
"fx7n": "Extra Action",
|
||
"Gadgetry": "Gadgetry",
|
||
"Guile": "Guile",
|
||
"Haste": "Haste",
|
||
"High Concept": "High Concept",
|
||
"indebted": "Indebted (sticky)",
|
||
"initialize": "Initialize",
|
||
"inmf": "It's Not My Fault",
|
||
"inmfif": "It's Not My Fault I'm Fantastic",
|
||
"inmf-alchemist": "Alchemist",
|
||
"inmf-alchemist-stunt": "There’s a Flask For That: Once per session, produce an alchemical flask that lets you instantly succeed-with-style on an Overcome task without rolling.",
|
||
"inmf-assassin": "Assassin",
|
||
"inmf-assassin-stunt": "Backstab: When Sneakily Attacking a foe from hiding, they may not use their stress track to absorb the blow.",
|
||
"inmf-barbarian": "Barbarian",
|
||
"inmf-barbarian-stunt": "Great Sword: When you use a big sword to successfully, Forcefully Attack a target, add 2 stress to the result.",
|
||
"inmf-burglar": "Burglar",
|
||
"inmf-burglar-stunt": "It Was Open When I Found It: Once per session, you may bypass any lock in an instant, without rolling.",
|
||
"inmf-conartist": "Con Artist",
|
||
"inmf-conartist-stunt": "Fast Talking: Gain +2 to Cleverly Create an Advantage on someone based entirely on telling them lies.",
|
||
"inmf-cutpurse": "Cutpurse",
|
||
"inmf-cutpurse-stunt": "Dodge the Mark: Gain +2 to Quick Defense rolls made against someone you’ve stolen something from.",
|
||
"inmf-diplomat": "Diplomat",
|
||
"inmf-diplomat-stunt": "Talk It Out: Once per session, you may forestall violence with your words. When you do, no one may take any attack actions until you allow it, or until any one character overcomes your defense.",
|
||
"inmf-illusionist": "Illusionist",
|
||
"inmf-illusionist-stunt": "Vanishing Act: Once per session, when you fail a defense roll, you may ignore the result, and reveal that the real you was somewhere else all along.",
|
||
"inmf-merchant": "Merchant",
|
||
"inmf-merchant-stunt": "Fat Sacks of Cash: Twice per session, you may use Flashy instead of any other approach in order to take an action using an ostentatious display of wealth.",
|
||
"inmf-performer": "Performer",
|
||
"inmf-performer-stunt": "All The World’s A Stage: When invoking aspects to aid a Flashy effort to delight, impress, or provoke an audience, gain +3 per invoke instead of the usual +2.",
|
||
"inmf-pirate": "Pirate",
|
||
"inmf-pirate-stunt": "There Be Plunder: When using stealth or trickery to Sneakily Overcome obstacles that stand between you and a payout, all successes count as a Success With Style.",
|
||
"inmf-ranger": "Ranger",
|
||
"inmf-ranger-stunt": "Run Far, Run Fast: When Quickly Overcoming terrain obstacles or covering distances on foot, get +2 on your roll.",
|
||
"inmf-scholar": "Scholar",
|
||
"inmf-scholar-stunt": "Book Learning: Twice per session, you may use Clever instead of any other approach, thanks to your extensive studies on the topic.",
|
||
"inmf-sharpshooter": "Sharpshooter",
|
||
"inmf-sharpshooter-stunt": "Stay On Target: Gain one extra free invoke when you Carefully Create Advantages by aiming your bow (or other ranged weapon) at a target.",
|
||
"inmf-soldier": "Soldier",
|
||
"inmf-soldier-stunt": "Shield Wall: When Carefully Defending against a physical attack, gain +2 to your defense if you have a shield (or something like it).",
|
||
"inmf-sorcerer": "Sorcerer",
|
||
"inmf-sorcerer-stunt": "Earth-Shattering Kaboom: Once per session, you may make a sorcerous Attack at full strength against all enemies in a zone.",
|
||
"inmf-strategist": "Strategist",
|
||
"inmf-strategist-stunt": "Plan B: Once per session, when your side has used all its advantages, you may instantly create a new advantage with two free invokes.",
|
||
"inmf-swashbuckler": "Swashbuckler",
|
||
"inmf-swashbuckler-stunt": "Three Against One?: When you’re surrounded by two or more foes, use your surroundings to make a Flashy Defense at +1 per foe.",
|
||
"inmf-warrior": "Warrior",
|
||
"inmf-warrior-stunt": "Bend Bars, Smash Gates: Gain +2 to Forcefully Overcome physical barriers you intend to (and can) destroy.",
|
||
"inmf-wizard": "Wizard",
|
||
"inmf-wizard-stunt": "Prismatic Spray: When you Cleverly Attack two or more foes at once, gain +1 per foe for your roll, then split the results as usual.",
|
||
"inmfif-beastblooded": "Beastblooded",
|
||
"inmfif-beastblooded-stunt": "Release the Beast: At the beginning of a fight, before any actions are taken, you may make a Quick Create an Advantage roll to unleash your bestial nature.",
|
||
"inmfif-centaur": "Centaur",
|
||
"inmfif-centaur-stunt": "Skirmisher: When you make a Quick Attack on open ground, you may move both before and after your attack.",
|
||
"inmfif-clockwork": "Clockwork",
|
||
"inmfif-clockwork-stunt": "Replacement Parts: After a fight has concluded, you may permanently reduce the length of your stress track by 1 to immediately clear all consequences.",
|
||
"inmfif-demonspawn": "Demonspawn",
|
||
"inmfif-demonspawn-stunt": "My Little Friend: Twice per session you may summon an imp to help you succeed with style on any one task — so long as you are willing to pay its price.",
|
||
"inmfif-doppelganger": "Doppelganger",
|
||
"inmfif-doppelganger-stunt": "Perfect Mimic: Twice per session you may take on the appearance and voice of any humanoid you’ve seen. Convincing others you’re that person is up to you.",
|
||
"inmfif-dragonkin": "Dragonkin",
|
||
"inmfif-dragonkin-stunt": "Breath Weapon: When you Flashily Attack and hit with your breath weapon, you may add 1 stress to the result or deal 1 stress to an adjacent target.",
|
||
"inmfif-dwarf": "Dwarf",
|
||
"inmfif-dwarf-stunt": "Dwarven Mettle: Twice per session, you may gain +4 on a single attack against a heavily armored foe.",
|
||
"inmfif-elemental": "Elemental",
|
||
"inmfif-elemental-stunt": "Elemental Communion: When Flashily Overcoming an obstacle associated with or vulnerable to your element, a tie or better becomes a success with style.",
|
||
"inmfif-elf": "Elf",
|
||
"inmfif-elf-stunt": "Literally Superior: Gain +2 to attempt an Overcome action another character in the scene just failed (does not stack in the case of multiple failures).",
|
||
"inmfif-faerie": "Faerie",
|
||
"inmfif-faerie-stunt": "Vanishing Act: When you Sneakily Defend against an attack, you may spend a fate point or free invoke to immediately disappear into hiding.",
|
||
"inmfif-giant": "Giant",
|
||
"inmfif-giant-stunt": "Living Wall: When you successfully, Forcefully Defend against a physical attack, give a boost to one ally in the same zone as you.",
|
||
"inmfif-gnome": "Gnome",
|
||
"inmfif-gnome-stunt": "Deception is a Virtue: When you Sneakily Create an Advantage as part of an elaborate ruse, gain one additional free invoke on the resulting aspect.",
|
||
"inmfif-goblin": "Goblin",
|
||
"inmfif-goblin-stunt": "Goblin Machinery: Given tools and time, you can build a device out of scrap with 3 free invokes on an aspect you define. After they’re used up it falls apart.",
|
||
"inmfif-halfling": "Halfling",
|
||
"inmfif-halfling-stunt": "Underestimated: When you Cleverly Defend against an attack, spend 1 FP or free invoke to treat your shifts of defense as an attack against your attacker.",
|
||
"inmfif-merfolk": "Merfolk",
|
||
"inmfif-merfolk-stunt": "Aquatic: Gain +2 to Carefully Overcome any obstacle involving water, swimming, or aquatic life.",
|
||
"inmfif-minotaur": "Minotaur",
|
||
"inmfif-minotaur-stunt": "Home Turf Advantage: Gain +2 to Cleverly Overcome any obstacle that presents itself as a puzzle, maze, or trap.",
|
||
"inmfif-nephilim": "Nephilim",
|
||
"inmfif-nephilim-stunt": "Divine Heritage: When you Carefully Attack following prayer and preparation, any aspects you invoke yield a +3 instead of +2 on the attack roll.",
|
||
"inmfif-orc": "Orc",
|
||
"inmfif-orc-stunt": "Shock & Awe: Gain +2 to Forcefully Create Advantages when enacting a bold and reckless battle plan.",
|
||
"inmfif-vampire": "Vampire",
|
||
"inmfif-vampire-stunt": "Drink Blood: Twice per session, when you inflict a physical consequence on a living creature in your zone, you may immediately clear your stress track.",
|
||
"inmfif-zombie": "Zombie",
|
||
"inmfif-zombie-stunt": "Dead Again: Once per session, when you are Taken Out, you may rise on your next turn with any Mild (-2) or Moderate (-4) consequences cleared.",
|
||
"inperil": "In Peril (sticky)",
|
||
"Intellect": "Intellect",
|
||
"Investigate": "Investigate",
|
||
"Knowledge": "Knowledge",
|
||
"label": "Label",
|
||
"Lore": "Lore",
|
||
"makechoice": "[make your choice]",
|
||
"mental": "Mental",
|
||
"mild": "Mild",
|
||
"moderate": "Moderate",
|
||
"name": "Name",
|
||
"Naming": "Naming",
|
||
"noset": "Don't Pre-Configure",
|
||
"note": "Note",
|
||
"notes": "Notes",
|
||
"Notice": "Notice",
|
||
"Other Aspect": "Other Aspect",
|
||
"Other": "Other",
|
||
"other": "other",
|
||
"package": "Package",
|
||
"packages": "Packages",
|
||
"package-add": "Add This Package",
|
||
"package-subtract": "Subtract This Package",
|
||
"package-add-set": "Add Package Sets",
|
||
"package-choose": "[Choose a package set]",
|
||
"packages-instructions": "Pick the packages you want to add to your character, which will add the indicated skill point spends, aspects, and stunts to your sheet. Once you've picked all you want, you can turn off the Packages display preference at the top of the sheet. Define your available packages using the edit controls for this section. Skills added by a package need to be in the skill list already, so make sure you've loaded those up first!",
|
||
"package-aspects-instruct": "Enter a list of aspects from this package, separated by commas: Aspect, Aspect2, etc",
|
||
"package-skills-instruct": "Enter a list of skills and the points to allocate to each of them in this format: First:1, Second:2, etc. The named skills must already exist on your sheet, so make sure to establish those first.",
|
||
"package-stunts-instruct": "Enter a list of stunts, one per line, in the format: Stunt Name: Stunt Description.",
|
||
"Persuade": "Persuade",
|
||
"physical": "Physical",
|
||
"Physique": "Physique",
|
||
"power": "Power",
|
||
"powers": "Powers",
|
||
"preload-for": "Preload character sheet configuration for",
|
||
"Provoke": "Provoke",
|
||
"quick-add": "Quick Add",
|
||
"Quick": "Quick",
|
||
"Rapport": "Rapport",
|
||
"rating-1": "Poor (-1)",
|
||
"rating-2": "Terrible (-2)",
|
||
"rating-3": "Catastrophic (-3)",
|
||
"rating-4": "Horrifying (-4)",
|
||
"rating-5": "Horrifying-1 (-5)",
|
||
"rating-6": "Horrifying-2 (-6)",
|
||
"rating-7": "Horrifying-3 (-7)",
|
||
"rating-8": "Horrifying-4 (-8)",
|
||
"rating-word-1": "Poor",
|
||
"rating-word-2": "Terrible",
|
||
"rating-word-3": "Catastrophic",
|
||
"rating-word-4": "Horrifying",
|
||
"rating-word-5": "Horrifying-1",
|
||
"rating-word-6": "Horrifying-2",
|
||
"rating-word-7": "Horrifying-3",
|
||
"rating-word-8": "Horrifying-4",
|
||
"rating-word0": "Mediocre",
|
||
"rating-word1": "Average",
|
||
"rating-word2": "Fair",
|
||
"rating-word3": "Good",
|
||
"rating-word4": "Great",
|
||
"rating-word5": "Superb",
|
||
"rating-word6": "Fantastic",
|
||
"rating-word7": "Epic",
|
||
"rating-word8": "Legendary",
|
||
"rating-word9": "Legendary+1",
|
||
"rating-word10": "Legendary+2",
|
||
"rating-word11": "Legendary+3",
|
||
"rating-word12": "Legendary+4",
|
||
"rating-word13": "Legendary+5",
|
||
"rating-word14": "Legendary+6",
|
||
"rating-word15": "Legendary+7",
|
||
"rating-word16": "Legendary+8",
|
||
"rating0": "Mediocre (+0)",
|
||
"rating1": "Average (+1)",
|
||
"rating2": "Fair (+2)",
|
||
"rating3": "Good (+3)",
|
||
"rating4": "Great (+4)",
|
||
"rating5": "Superb (+5)",
|
||
"rating6": "Fantastic (+6)",
|
||
"rating7": "Epic (+7)",
|
||
"rating8": "Legendary (+8)",
|
||
"rating9": "Leg.+1 (+9)",
|
||
"rating10": "Leg.+2 (+10)",
|
||
"rating11": "Leg.+3 (+11)",
|
||
"rating12": "Leg.+4 (+12)",
|
||
"rating13": "Leg.+5 (+13)",
|
||
"rating14": "Leg.+6 (+14)",
|
||
"rating15": "Leg.+7 (+15)",
|
||
"rating16": "Leg.+8 (+16)",
|
||
"recovering": "Recovering",
|
||
"refresh": "Refresh",
|
||
"Relationship": "Relationship",
|
||
"Resources": "Resources",
|
||
"roll20-issue": "Adding multiple skills at once sometimes misses a few in the list. You can fill gaps by adding the same list a second time. The process checks for and avoids duplicates. (You can also use this to merge skillsets together.)",
|
||
"Seeking": "Seeking",
|
||
"set-choose": "[Choose a Skillset]",
|
||
"severe": "Severe",
|
||
"shotc": "Shadow of the Century",
|
||
"Shaping": "Shaping",
|
||
"Shoot": "Shoot",
|
||
"situation-aspect": "Situation Aspect",
|
||
"situation-aspects": "Situation Aspects",
|
||
"skill": "Skill",
|
||
"skills": "Skills",
|
||
"Sneaky": "Sneaky",
|
||
"social": "Social",
|
||
"special-effects": "Special Effects",
|
||
"Stealth": "Stealth",
|
||
"stress": "Stress",
|
||
"stunt": "Stunt",
|
||
"stunts": "Stunts",
|
||
"Territory": "Territory",
|
||
"title": "Title",
|
||
"track-choose": "[Choose Track Style]",
|
||
"track-length": "Track Length",
|
||
"track": "Track",
|
||
"tracks": "Tracks",
|
||
"Trouble": "Trouble",
|
||
"True Name": "True Name",
|
||
"venture": "Venture City",
|
||
"Warding": "Warding",
|
||
"Will": "Will",
|
||
"preload-desc": "Choose a prebuilt set of options. Other than the first two, your choice will override the settings seen below.",
|
||
"show-aspects": "Show Aspects",
|
||
"show-conditions": "Show Conditions",
|
||
"show-consequences": "Show Consequences",
|
||
"show-corruption": "Show Corruption",
|
||
"show-fp": "Show Fate Points",
|
||
"show-notes": "Show Notes",
|
||
"show-powers": "Show Powers",
|
||
"show-refresh": "Show Refresh",
|
||
"show-skills": "Show Skills",
|
||
"show-stress": "Show Stress",
|
||
"show-stunts": "Show Stunts",
|
||
"show-situation-aspects": "Show Situation Aspects",
|
||
"custom-build": "Custom build with options below",
|
||
"custom-aspects": "Custom Aspect Labels",
|
||
"custom-aspects-desc": "Enter a list separated by commas. You must select the Custom Build option up top for this to be used.",
|
||
"custom-conditions": "Custom Conditions",
|
||
"custom-conditions-desc": "Enter a list separated by commas, with each entry in this format (not including the quotes): \"Label:Length\", e.g., \"Indebted:5\". You may optionally include values for each box separated by spaces after the length, e.g., \"Doomed:1 6\". You must select the Custom Build option up top for this to be used.",
|
||
"custom-consequences": "Custom Consequences",
|
||
"custom-consequences-desc": "Enter a list separated by commas, with each entry in this format (not including the quotes): \"Label:Value\", e.g., \"Mild:2\". You must select the Custom Build option up top for this to be used.",
|
||
"custom-skills": "Custom Skill List",
|
||
"custom-skills-desc": "Enter a list separated by commas. You must select the Custom Build option up top for this to be used.",
|
||
"custom-stress": "Custom Stress Tracks",
|
||
"custom-stress-desc": "Enter a list separated by commas, with each entry in this format (not including the quotes): \"Label:Default Length\", e.g., \"Social:2\". You may optionally include values for each box (including ones beyond the default length) separated by spaces after the length, e.g., \"Social:2 1 2 3 4 5 6\". You must select the Custom Build option up top for this to be used.",
|
||
"roles": "Roles",
|
||
"role": "Role",
|
||
"show-roles": "Show Roles",
|
||
"roles-enabled": "Roles enabled!",
|
||
"role-choose": "[Choose a Role to Add]",
|
||
"add-roles": "Add a Premade Role",
|
||
"skill-comma-list": "List of Skills (separated by commas)",
|
||
"brain": "Brain",
|
||
"brawler": "Brawler",
|
||
"cop": "Cop",
|
||
"detective": "Detective",
|
||
"dilettante": "Dilettante",
|
||
"face": "Face",
|
||
"hacker": "Hacker",
|
||
"inventor": "Inventor",
|
||
"leader": "Leader",
|
||
"ninja": "Ninja",
|
||
"saboteur": "Saboteur",
|
||
"soldier": "Soldier",
|
||
"spy": "Spy",
|
||
"thief": "Thief",
|
||
"warrior": "Warrior",
|
||
"wheels": "Wheels",
|
||
"Insight": "Insight",
|
||
"modes": "Modes",
|
||
"mode": "Mode",
|
||
"show-modes": "Show Modes",
|
||
"modes-enabled": "Modes enabled!",
|
||
"mode-choose": "[Choose a Mode to Add]",
|
||
"add-modes": "Add a Premade Mode",
|
||
"battle": "Battle",
|
||
"talk": "Talk",
|
||
"thievery": "Thievery",
|
||
"woodcraft": "Woodcraft",
|
||
"action": "Action",
|
||
"banter": "Banter",
|
||
"intrigue": "Intrigue",
|
||
"science": "Science",
|
||
"science-bracket": "[Science]",
|
||
"skills-listed-need": "Skills listed must also be added to your skill list. If you list a skill here before it is in your skill list, you may need to close and reopen sheet to sync.",
|
||
"Intimidation": "Intimidation",
|
||
"Melee": "Melee",
|
||
"Missile": "Missile",
|
||
"Deceit": "Deceit",
|
||
"Survival": "Survival",
|
||
"Combat": "Combat",
|
||
"Vehicles": "Vehicles",
|
||
"robo": "Atomic Robo",
|
||
"m12": "Majestic 12",
|
||
"Teslology": "Teslology",
|
||
"Transdimensional Tesliana": "Transdimensional Tesliana",
|
||
"Neuro-Electric Tesliana": "Neuro-Electric Tesliana",
|
||
"Bureaucracy": "Bureaucracy",
|
||
"adf": "Advance Defense Force",
|
||
"erd": "Enhanced Research Department",
|
||
"sdu": "Sub-Dimensional Unit",
|
||
"feb": "First Earth Battalion",
|
||
"psi": "Paranormal Sensory Initiative",
|
||
"oop": "Office of Operations and Procurement",
|
||
"Tactics": "Tactics",
|
||
"crisis": "Crisis",
|
||
"lab": "Lab",
|
||
"office": "Office",
|
||
"pr": "Public Relations",
|
||
"Fitness": "Fitness",
|
||
"Tradecraft": "Tradecraft",
|
||
"Kaiju Studies": "Kaiju Studies",
|
||
"Technology": "Technology",
|
||
"Operate": "Operate",
|
||
"Ambition": "Ambition",
|
||
"Networking": "Networking",
|
||
"Spin": "Spin",
|
||
"fst": "Fate System Toolkit",
|
||
"kaijuinc": "Kaiju Incorporated",
|
||
"Omega": "Omega",
|
||
"Interview": "Interview",
|
||
"autofocus": "Automatically Focused",
|
||
"autospecialized": "Automatically Specialized",
|
||
"extra": "Extra",
|
||
"extras": "Extras",
|
||
"show-extras": "Show Extras",
|
||
"add...": "Add...",
|
||
"permission": "Permission",
|
||
"permissions": "Permissions",
|
||
"extra-desc": "Extras are composed of a series of elements. For each extra, start by adding a title element, then add other elements as needed: permissions, costs, aspects, skills, tracks, ratings (e.g., weapon:X, armor:X), notes. Use the label field when present to insert a small header above the entry.",
|
||
"optional": "Optional",
|
||
"none": "None",
|
||
"label-icon": "Label Icon",
|
||
"plusdie": "Plus Die",
|
||
"minusdie": "Minus Die",
|
||
"blankdie": "Blank Die",
|
||
"rollable-aspects": "Rollable Aspects",
|
||
"show-rollable-aspects": "Show Rollable Aspects",
|
||
"roll-marked-aspects": "Roll Marked Aspects",
|
||
"aspect-value": "Aspect value when rolled",
|
||
"rollmod-prompt": "Roll Modifier Prompt",
|
||
"color-theme": "Color Theme",
|
||
"theme-desc": "Choose a color theme. Players can change it later own to suit their preferences. Some preloaded game settings will override this.",
|
||
"show": "Show",
|
||
"hide": "Hide",
|
||
"threerocketeers": "3 Rocketeers",
|
||
"rollable": "Rollable",
|
||
"bonus": "Bonus",
|
||
"roll": "Roll",
|
||
"tachyon-squadron": "Tachyon Squadron",
|
||
"pronouns": "Pronouns",
|
||
"swap-skills": "Swappable Skillsets",
|
||
"swap-skills-instruct": "Enter a list separated by commas, with each entry in this format (not including the quotes): \"Skill Name:Value\", e.g., \"Athletics:2, Investigation:1\". Unlisted skills will not be altered. All skills listed here must already exist in the sheet's skills.",
|
||
"combine-skills": "Combinable Skills",
|
||
"combine-skills-instruct": "Assign each skill to a column. If you haven't defined any skills yet, you'll need to do that first in the Skills section.",
|
||
"combine-skills-multi": "Allow selection of multiple skills from the same column",
|
||
"load-skillset": "Load Skillset",
|
||
"grab-current-skills": "Import Current Skillset",
|
||
"ngen": "Ngen Mapu",
|
||
"Heart": "Heart",
|
||
"Humanity": "Humanity",
|
||
"Kindness": "Kindness",
|
||
"Shapeshift": "Shapeshift",
|
||
"Thieving": "Thieving",
|
||
"Wisdom": "Wisdom",
|
||
"category header optional": "Category Header (optional)",
|
||
"logo": "Logo",
|
||
"Immaterial": "Immaterial",
|
||
"Animal": "Animal",
|
||
"Plant": "Plant",
|
||
"Human": "Human",
|
||
"Weakness": "Weakness",
|
||
"Immaterial Form": "Immaterial Form",
|
||
"Plant Form": "Plant Form",
|
||
"Animal Form": "Animal Form",
|
||
"Human Form": "Human Form",
|
||
"Bond": "Bond",
|
||
"Free": "Free",
|
||
"Rocketeer": "Rocketeer",
|
||
"Swordplay": "Swordplay",
|
||
"Family": "Family",
|
||
"Open": "Open",
|
||
"Decompression": "Decompression",
|
||
"Dice Method": "Dice Method",
|
||
"Dice Communications": "Dice Communications",
|
||
"Display sheet's rolls publicly": "Display sheet's rolls publicly",
|
||
"Whisper sheet's rolls to GM": "Whisper sheet's rolls to GM",
|
||
"Filter": "Filter",
|
||
"You can use the filter to hide anything that doesn't follow a title element with a matching name.": "You can use the filter to hide anything that doesn't follow a title element with a matching name. Just type in a phrase and then click, tap, or tab out of the filter field to apply the filter.",
|
||
"zzzz-end-of-json": "<!-- End of JSON File -->"
|
||
};
|
||
|
||
// We need an intermediary function that knows what to do about this shit.
|
||
|
||
var gtbk = function(key) {
|
||
var result = getTranslationByKey(key);
|
||
if ( typeof(result) == "boolean" && result == false ) {
|
||
log("getTranslationByKey returned false on a lookup of "+key+", so grabbing a lookup from the redundantTranslationJSON object instead.")
|
||
return redundantTranslationJSON[key];
|
||
} else {
|
||
return result;
|
||
}
|
||
}
|
||
|
||
|
||
// These skills, aspect labels, and stress labels are translation keys, but if no translation is found it'll default to the key-as-given for the name.
|
||
|
||
var skillsets = {
|
||
ngen: [ "Athletics", "Contacts", "Deceive", "Empathy", "Fight", "Heart", "Humanity", "Investigate", "Kindness", "Notice", "Provoke", "Resources", "Shapeshift", "Stealth", "Strength", "Thieving", "Will", "Wisdom" ],
|
||
tachyon: [ "Athletics", "Discipline", "Empathy", "Fight", "Gunnery", "Investigate", "Notice", "Pilot", "Provoke", "Rapport", "Shoot", "Sneak", "Tactics", "Technology" ],
|
||
kaijuinc: [ "Ambition", "Combat", "Empathy", "Fitness", "Kaiju Studies", "Networking", "Operate", "Provoke", "Rapport", "Spin", "Technology", "Tradecraft" ],
|
||
robo: [ "Athletics", "Burglary", "Combat", "Contacts", "Deceive", "Empathy", "Notice", "Physique", "Provoke", "Rapport", "Stealth", "Vehicles", "Will" ],
|
||
m12: [ "Bureaucracy", "Tactics", "Teslology", "Transdimensional Tesliana", "Neuro-Electric Tesliana" ],
|
||
shotc: [ "Athletics", "Awareness", "Burglary", "Computers", "Contacts", "Drive", "Fight", "Gadgetry", "Insight", "Knowledge", "Persuade", "Provoke", "Resources", "Shoot", "Stealth", "Will" ],
|
||
dfa: [ "Flair", "Focus", "Force", "Guile", "Haste", "Intellect" ],
|
||
cats: [ "Athletics", "Burglary", "Deceive", "Empathy", "Fight", "Investigate", "Lore", "Naming", "Notice", "Physique", "Provoke", "Rapport", "Seeking", "Shaping", "Stealth", "Territory", "Warding", "Will" ],
|
||
fae: [ "Careful", "Clever", "Flashy", "Forceful", "Quick", "Sneaky" ],
|
||
fcon: [ "Academics", "Athletics", "Burglary", "Contacts", "Crafts", "Deceive", "Drive", "Empathy", "Fight", "Investigate", "Lore", "Notice", "Physique", "Provoke", "Rapport", "Resources", "Shoot", "Stealth", "Will" ],
|
||
fcore: [ "Athletics", "Burglary", "Contacts", "Crafts", "Deceive", "Drive", "Empathy", "Fight", "Investigate", "Lore", "Notice", "Physique", "Provoke", "Rapport", "Resources", "Shoot", "Stealth", "Will" ]
|
||
};
|
||
|
||
var gamesets = {
|
||
none: {
|
||
settings: {
|
||
}
|
||
},
|
||
custom: {
|
||
aspects: [],
|
||
addcondition: "list",
|
||
addconsequence: "list",
|
||
addskills: "list",
|
||
addstress: "list",
|
||
stresses: [],
|
||
consequences: [],
|
||
conditions: [],
|
||
skills: [],
|
||
combos: [[],[],[]],
|
||
combosnames: [],
|
||
settings: {}
|
||
},
|
||
ngen: {
|
||
addskills: "ngen",
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
addswaps: [ "Immaterial", "Animal", "Plant", "Human" ],
|
||
aspects: [ "High Concept", "Weakness", "Immaterial Form", "Plant Form", "Animal Form", "Human Form", "Bond", "Free Aspect" ],
|
||
settings: {
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Skillswaps": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
fcore: {
|
||
addskills: "fcore",
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Trouble", "Other", "Other", "Other" ],
|
||
settings: {
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
fcon: {
|
||
addskills: "fcon",
|
||
addstress: "flat",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 3,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Trouble", "Relationship", "Other", "Other" ],
|
||
settings: {
|
||
"SkillStyle": "list",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
fae: {
|
||
addskills: "fae",
|
||
addstress: "esc",
|
||
stresskeys: ["stress"],
|
||
stresslength: 3,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Trouble", "Other" ],
|
||
settings: {
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
foc: {
|
||
addskills: "fcon",
|
||
addstress: "flat",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 3,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Trouble", "Relationship", "Other", "Other" ],
|
||
settings: {
|
||
"theme": "cthulhu",
|
||
"SkillStyle": "list",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 1,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
cats: {
|
||
addskills: "cats",
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Trouble", "Burdens", "True Name", "Free" ],
|
||
settings: {
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
venture: {
|
||
addskills: "fcore",
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Trouble" ],
|
||
settings: {
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 1,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
dfa: {
|
||
addskills: "dfa",
|
||
addstress: "flat",
|
||
stresskeys: ["stress"],
|
||
stresslength: 6,
|
||
addcondition: "mult",
|
||
conditions: [
|
||
{
|
||
labelkey: "inperil",
|
||
tracklength: 1,
|
||
tracktype: "cust",
|
||
values: [4]
|
||
},
|
||
{
|
||
labelkey: "doomed",
|
||
tracklength: 1,
|
||
tracktype: "cust",
|
||
values: [6]
|
||
},
|
||
{
|
||
labelkey: "indebted",
|
||
tracklength: 5,
|
||
tracktype: "cust",
|
||
values: []
|
||
},
|
||
],
|
||
aspects: [ "High Concept", "Trouble", "Other" ],
|
||
settings: {
|
||
"theme": "purple",
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 1,
|
||
"Show-Consequences": 0,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
shotc: {
|
||
addskills: "shotc",
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Trouble" ],
|
||
settings: {
|
||
"theme": "shotc",
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Roles": 1,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
robo: {
|
||
addskills: "robo",
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Omega" ],
|
||
settings: {
|
||
"SkillStyle": "list",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Modes": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Roles": 0,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
threerocketeers: {
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
aspects: [ "Rocketeer", "Trouble", "Swordplay", "Family", "Open", "Open" ],
|
||
aspectvalues: [ 2, 1, 1, 1, 1, 1 ],
|
||
settings: {
|
||
"SkillStyle": "list",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-Extras": 1,
|
||
"Show-FP": 1,
|
||
"Show-Modes": 0,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Roles": 0,
|
||
"Show-Skills": 0,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-RollableAspects": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
tachyon: {
|
||
addskills: "tachyon",
|
||
addstress: "flat",
|
||
stresskeys: ["stress"],
|
||
stresslength: 5,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Decompression", "Relationship", "Relationship", "Other" ],
|
||
settings: {
|
||
"theme": "evilhat",
|
||
"addextra": "blackfish",
|
||
"SkillStyle": "pyramid",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-Extras": 1,
|
||
"Show-FP": 1,
|
||
"Show-Modes": 0,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Roles": 0,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-RollableAspects": 0,
|
||
"Show-TempAspects": 1
|
||
}
|
||
},
|
||
kaijuinc: {
|
||
addskills: "kaijuinc",
|
||
addstress: "esc",
|
||
stresskeys: ["physical","mental"],
|
||
stresslength: 2,
|
||
addconsequence: "all",
|
||
aspects: [ "High Concept", "Interview" ],
|
||
settings: {
|
||
"theme": "green",
|
||
"SkillStyle": "list",
|
||
"Show-Aspects": 1,
|
||
"Show-Conditions": 0,
|
||
"Show-Consequences": 1,
|
||
"Show-Corruption": 0,
|
||
"Show-FP": 1,
|
||
"Show-Modes": 1,
|
||
"Show-Notes": 1,
|
||
"Show-Powers": 0,
|
||
"Show-Refresh": 1,
|
||
"Show-Roles": 0,
|
||
"Show-Skills": 1,
|
||
"Show-Stress": 1,
|
||
"Show-Stunts": 1,
|
||
"Show-TempAspects": 1
|
||
}
|
||
}
|
||
};
|
||
|
||
var packages = {
|
||
"inmf": {
|
||
"inmf-alchemist": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Forceful") + ":1",
|
||
"aspects": gtbk("inmf-alchemist"),
|
||
"stunts": gtbk("inmf-alchemist-stunt")
|
||
},
|
||
"inmf-assassin": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-assassin"),
|
||
"stunts": gtbk("inmf-assassin-stunt")
|
||
},
|
||
"inmf-barbarian": {
|
||
"skills": gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmf-barbarian"),
|
||
"stunts": gtbk("inmf-barbarian-stunt")
|
||
},
|
||
"inmf-burglar": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-burglar"),
|
||
"stunts": gtbk("inmf-burglar-stunt")
|
||
},
|
||
"inmf-conartist": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-conartist"),
|
||
"stunts": gtbk("inmf-conartist-stunt")
|
||
},
|
||
"inmf-cutpurse": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-cutpurse"),
|
||
"stunts": gtbk("inmf-cutpurse-stunt")
|
||
},
|
||
"inmf-diplomat": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-diplomat"),
|
||
"stunts": gtbk("inmf-diplomat-stunt")
|
||
},
|
||
"inmf-illusionist": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-illusionist"),
|
||
"stunts": gtbk("inmf-illusionist-stunt")
|
||
},
|
||
"inmf-merchant": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1",
|
||
"aspects": gtbk("inmf-merchant"),
|
||
"stunts": gtbk("inmf-merchant-stunt")
|
||
},
|
||
"inmf-performer": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmf-performer"),
|
||
"stunts": gtbk("inmf-performer-stunt")
|
||
},
|
||
"inmf-pirate": {
|
||
"skills": gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-pirate"),
|
||
"stunts": gtbk("inmf-pirate-stunt")
|
||
},
|
||
"inmf-ranger": {
|
||
"skills": gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-ranger"),
|
||
"stunts": gtbk("inmf-ranger-stunt")
|
||
},
|
||
"inmf-scholar": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmf-scholar"),
|
||
"stunts": gtbk("inmf-scholar-stunt")
|
||
},
|
||
"inmf-sharpshooter": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmf-sharpshooter"),
|
||
"stunts": gtbk("inmf-sharpshooter-stunt")
|
||
},
|
||
"inmf-soldier": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmf-soldier"),
|
||
"stunts": gtbk("inmf-soldier-stunt")
|
||
},
|
||
"inmf-sorcerer": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1",
|
||
"aspects": gtbk("inmf-sorcerer"),
|
||
"stunts": gtbk("inmf-sorcerer-stunt")
|
||
},
|
||
"inmf-strategist": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmf-strategist"),
|
||
"stunts": gtbk("inmf-strategist-stunt")
|
||
},
|
||
"inmf-swashbuckler": {
|
||
"skills": gtbk("Flashy") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmf-swashbuckler"),
|
||
"stunts": gtbk("inmf-swashbuckler-stunt")
|
||
},
|
||
"inmf-warrior": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1",
|
||
"aspects": gtbk("inmf-warrior"),
|
||
"stunts": gtbk("inmf-warrior-stunt")
|
||
},
|
||
"inmf-wizard": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Flashy") + ":1",
|
||
"aspects": gtbk("inmf-wizard"),
|
||
"stunts": gtbk("inmf-wizard-stunt")
|
||
}
|
||
},
|
||
"inmfif": {
|
||
"inmfif-beastblooded": {
|
||
"skills": gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-beastblooded"),
|
||
"stunts": gtbk("inmfif-beastblooded-stunt")
|
||
},
|
||
"inmfif-centaur": {
|
||
"skills": gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmfif-centaur"),
|
||
"stunts": gtbk("inmfif-centaur-stunt")
|
||
},
|
||
"inmfif-clockwork": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1",
|
||
"aspects": gtbk("inmfif-clockwork"),
|
||
"stunts": gtbk("inmfif-clockwork-stunt")
|
||
},
|
||
"inmfif-demonspawn": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmfif-demonspawn"),
|
||
"stunts": gtbk("inmfif-demonspawn-stunt")
|
||
},
|
||
"inmfif-doppelganger": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-doppelganger"),
|
||
"stunts": gtbk("inmfif-doppelganger-stunt")
|
||
},
|
||
"inmfif-dragonkin": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmfif-dragonkin"),
|
||
"stunts": gtbk("inmfif-dragonkin-stunt")
|
||
},
|
||
"inmfif-dwarf": {
|
||
"skills": gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-dwarf"),
|
||
"stunts": gtbk("inmfif-dwarf-stunt")
|
||
},
|
||
"inmfif-elemental": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1",
|
||
"aspects": gtbk("inmfif-elemental"),
|
||
"stunts": gtbk("inmfif-elemental-stunt")
|
||
},
|
||
"inmfif-elf": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmfif-elf"),
|
||
"stunts": gtbk("inmfif-elf-stunt")
|
||
},
|
||
"inmfif-faerie": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-faerie"),
|
||
"stunts": gtbk("inmfif-faerie-stunt")
|
||
},
|
||
"inmfif-giant": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Forceful") + ":1",
|
||
"aspects": gtbk("inmfif-giant"),
|
||
"stunts": gtbk("inmfif-giant-stunt")
|
||
},
|
||
"inmfif-gnome": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-gnome"),
|
||
"stunts": gtbk("inmfif-gnome-stunt")
|
||
},
|
||
"inmfif-goblin": {
|
||
"skills": gtbk("Flashy") + ":1, " + gtbk("Quick") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-goblin"),
|
||
"stunts": gtbk("inmfif-goblin-stunt")
|
||
},
|
||
"inmfif-halfling": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-halfling"),
|
||
"stunts": gtbk("inmfif-halfling-stunt")
|
||
},
|
||
"inmfif-merfolk": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmfif-merfolk"),
|
||
"stunts": gtbk("inmfif-merfolk-stunt")
|
||
},
|
||
"inmfif-minotaur": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Clever") + ":1, " + gtbk("Forceful") + ":1",
|
||
"aspects": gtbk("inmfif-minotaur"),
|
||
"stunts": gtbk("inmfif-minotaur-stunt")
|
||
},
|
||
"inmfif-nephilim": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Quick") + ":1",
|
||
"aspects": gtbk("inmfif-nephilim"),
|
||
"stunts": gtbk("inmfif-nephilim-stunt")
|
||
},
|
||
"inmfif-orc": {
|
||
"skills": gtbk("Careful") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-orc"),
|
||
"stunts": gtbk("inmfif-orc-stunt")
|
||
},
|
||
"inmfif-vampire": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Forceful") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-vampire"),
|
||
"stunts": gtbk("inmfif-vampire-stunt")
|
||
},
|
||
"inmfif-zombie": {
|
||
"skills": gtbk("Clever") + ":1, " + gtbk("Flashy") + ":1, " + gtbk("Sneaky") + ":1",
|
||
"aspects": gtbk("inmfif-zombie"),
|
||
"stunts": gtbk("inmfif-zombie-stunt")
|
||
}
|
||
}
|
||
};
|
||
|
||
var roles = {
|
||
"brain": gtbk("Computers") + ", " + gtbk("Gadgetry") + ", " + gtbk("Insight") + ", " + gtbk("Knowledge"),
|
||
"brawler": gtbk("Athletics") + ", " + gtbk("Fight") + ", " + gtbk("Provoke") + ", " + gtbk("Will"),
|
||
"cop": gtbk("Athletics") + ", " + gtbk("Drive") + ", " + gtbk("Shoot") + ", " + gtbk("Will"),
|
||
"detective": gtbk("Awareness") + ", " + gtbk("Contacts") + ", " + gtbk("Insight") + ", " + gtbk("Persuade"),
|
||
"dilettante": gtbk("Computers") + ", " + gtbk("Drive") + ", " + gtbk("Persuade") + ", " + gtbk("Resources"),
|
||
"face": gtbk("Contacts") + ", " + gtbk("Insight") + ", " + gtbk("Persuade") + ", " + gtbk("Provoke"),
|
||
"hacker": gtbk("Burglary") + ", " + gtbk("Computers") + ", " + gtbk("Contacts") + ", " + gtbk("Gadgetry"),
|
||
"inventor": gtbk("Computers") + ", " + gtbk("Drive") + ", " + gtbk("Gadgetry") + ", " + gtbk("Knowledge"),
|
||
"leader": gtbk("Insight") + ", " + gtbk("Knowledge") + ", " + gtbk("Persuade") + ", " + gtbk("Resources"),
|
||
"ninja": gtbk("Athletics") + ", " + gtbk("Awareness") + ", " + gtbk("Fight") + ", " + gtbk("Stealth"),
|
||
"saboteur": gtbk("Burglary") + ", " + gtbk("Gadgetry") + ", " + gtbk("Knowledge") + ", " + gtbk("Stealth"),
|
||
"soldier": gtbk("Athletics") + ", " + gtbk("Fight") + ", " + gtbk("Shoot") + ", " + gtbk("Will"),
|
||
"spy": gtbk("Burglary") + ", " + gtbk("Contacts") + ", " + gtbk("Resources") + ", " + gtbk("Stealth"),
|
||
"thief": gtbk("Awareness") + ", " + gtbk("Burglary") + ", " + gtbk("Resources") + ", " + gtbk("Stealth"),
|
||
"warrior": gtbk("Fight") + ", " + gtbk("Provoke") + ", " + gtbk("Shoot") + ", " + gtbk("Will"),
|
||
"wheels": gtbk("Awareness") + ", " + gtbk("Drive") + ", " + gtbk("Provoke") + ", " + gtbk("Shoot")
|
||
};
|
||
|
||
var modes = {
|
||
"crisis": gtbk("Combat") + ", " + gtbk("Fitness") + ", " + gtbk("Tradecraft"),
|
||
"lab": gtbk("Kaiju Studies") + ", " + gtbk("Technology") + ", " + gtbk("Operate"),
|
||
"office": gtbk("Ambition") + ", " + gtbk("Networking") + ", " + gtbk("Rapport"),
|
||
"pr": gtbk("Empathy") + ", " + gtbk("Provoke") + ", " + gtbk("Spin"),
|
||
"soldier": gtbk("Athletics") + ", " + gtbk("Combat") + ", " + gtbk("Contacts") + ", " + gtbk("Notice") + ", " + gtbk("Physique") + ", " + gtbk("Tactics") + ", " + gtbk("Vehicles") + ", " + gtbk("Will"),
|
||
"adf": gtbk("Athletics") + ", " + gtbk("Notice") + ", " + gtbk("Physique") + ", " + gtbk("Will"),
|
||
"erd": gtbk("Contacts") + ", " + gtbk("Notice") + ", " + gtbk("Teslology") + ", " + gtbk("Will"),
|
||
"sdu": gtbk("Athletics") + ", " + gtbk("Combat") + ", " + gtbk("Notice") + ", " + gtbk("Transdimensional Tesliana") + ", " + gtbk("Will"),
|
||
"feb": gtbk("Athletics") + ", " + gtbk("Combat") + ", " + gtbk("Stealth") + ", " + gtbk("Vehicles") + ", " + gtbk("Will"),
|
||
"psi": gtbk("Contacts") + ", " + gtbk("Deceive") + ", " + gtbk("Empathy") + ", " + gtbk("Neuro-Electric Tesliana") + ", " + gtbk("Notice") + ", " + gtbk("Rapport") + ", " + gtbk("Will"),
|
||
"oop": gtbk("Bureaucracy") + ", " + gtbk("Contacts") + ", " + gtbk("Empathy") + ", " + gtbk("Rapport"),
|
||
"battle": gtbk("Athletics") + ", " + gtbk("Intimidation") + ", " + gtbk("Melee") + ", " + gtbk("Missile") + ", " + gtbk("Physique"),
|
||
"talk": gtbk("Contacts") + ", " + gtbk("Deceit") + ", " + gtbk("Empathy") + ", " + gtbk("Rapport") + ", " + gtbk("Will"),
|
||
"thievery": gtbk("Athletics") + ", " + gtbk("Burglary") + ", " + gtbk("Deceit") + ", " + gtbk("Notice") + ", " + gtbk("Stealth"),
|
||
"woodcraft": gtbk("Athletics") + ", " + gtbk("Lore") + ", " + gtbk("Notice") + ", " + gtbk("Stealth") + ", " + gtbk("Survival"),
|
||
"action": gtbk("Athletics") + ", " + gtbk("Combat") + ", " + gtbk("Notice") + ", " + gtbk("Physique") + ", " + gtbk("Provoke") + ", " + gtbk("Vehicles"),
|
||
"banter": gtbk("Contacts") + ", " + gtbk("Deceive") + ", " + gtbk("Empathy") + ", " + gtbk("Provoke") + ", " + gtbk("Rapport") + ", " + gtbk("Will"),
|
||
"intrigue": gtbk("Athletics") + ", " + gtbk("Burglary") + ", " + gtbk("Contacts") + ", " + gtbk("Deceive") + ", " + gtbk("Notice") + ", " + gtbk("Stealth"),
|
||
"science": gtbk("Notice") + ", " + gtbk("Will") + ", " + gtbk("science-bracket")
|
||
};
|
||
|
||
|
||
var extras = {
|
||
blackfish: [
|
||
{ element: "title", name: "SF-46D Blackfish" },
|
||
{ element: "aspect", text: "Old But Reliable" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 1 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: 1 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 2 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: 0, text: "+0 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: 0, text: "+0 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: 0, text: "+0 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: 0, text: "+0 to Pilot rolls." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Automated Ejection System", text: "See Tachyon Squadron page 46" },
|
||
{ element: "stunt", name: "Upgrades (2)", text: "Weapon:1 (main gun), +1 Shields" },
|
||
{ element: "rating", name: "Weapon (main gun)", rating: 1 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 3, track1: 1, track2: 1, track3: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Minimize 1 die on Technology actions", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Gunnery actions", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Minimize 1 die on Tactics actions", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Pilot actions", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Life Support Damaged", track: 1, track1: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship00": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 0 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: 0 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 0 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: 0, text: "+0 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: 0, text: "+0 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: 0, text: "+0 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: 0, text: "+0 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", rollable: 1, skill: "Pilot", bonus: 1, text: "+1 to Pilot for Defend actions only." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Automated Ejection System", text: "See Tachyon Squadron page 46" },
|
||
{ element: "stunt", name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "track", label: "Shields",
|
||
track: 2, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Minimize 1 die on Technology actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Minimize 1 die on Tactics actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship0-1": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 0 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: -1 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 0 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: -1, text: "-1 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: -1, text: "-1 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: -1, text: "-1 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -1, text: "-1 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", rollable: 1, skill: "Pilot", bonus: 0, text: "+1 to Pilot for Defend actions only." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Upgrades (0)", text: "None" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "track", label: "Shields",
|
||
track: 1, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Minimize 1 die on Technology and Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Minimize 1 die on Tactics and Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit, Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship10": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 1 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: 0 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 2 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: 0, text: "+0 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: 0, text: "+0 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: 0, text: "+0 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: 0, text: "+0 to Pilot rolls." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Automated Ejection System", text: "See Tachyon Squadron page 46" },
|
||
{ element: "stunt", name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 2, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Minimize 1 die on Technology actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Minimize 1 die on Tactics actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship1-1": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 1 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: -1 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 2 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: -1, text: "-1 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: -1, text: "-1 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: -1, text: "-1 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -1, text: "-1 to Pilot rolls." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 1, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Minimize 1 die on Technology and Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Minimize 1 die on Tactics and Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit, Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship20": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "Big Ship" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 2 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: 0 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 3 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: 0, text: "+0 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: 0, text: "+0 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: 0, text: "+0 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -1, text: "-1 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", text: "-1 to all Pilot actions (included above)." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Automated Ejection System", text: "See Tachyon Squadron page 46" },
|
||
{ element: "stunt", name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "stunt", name: "Bay 3", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 2, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 1, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Technology actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Cosmetic damage", track: 1, track1: 1, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Tactics actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Cosmetic damage", track: 1, track1: 1, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship2-1": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "Big Ship" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 1 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: -1 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 3 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: -1, text: "-1 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: -1, text: "-1 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: -1, text: "-1 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -2, text: "-2 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", text: "-1 to all Pilot actions (included above)." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "stunt", name: "Bay 3", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 1, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 1, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Technology and Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 1, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Tactics and Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 1, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit, Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship30": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "Big Ship" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 3 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: 0 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 4 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: 0, text: "+0 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: 0, text: "+0 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: 0, text: "+0 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -2, text: "-2 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", text: "-2 to all Pilot actions (included above)." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Automated Ejection System", text: "See Tachyon Squadron page 46" },
|
||
{ element: "stunt", name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "stunt", name: "Bay 3", text: "" },
|
||
{ element: "stunt", name: "Bay 4", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 2, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Technology actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Tactics actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship3-1": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "Big Ship" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 3 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: -1 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 4 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: -1, text: "-1 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: -1, text: "-1 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: -1, text: "-1 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -3, text: "-3 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", text: "-2 to all Pilot actions (included above)." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "stunt", name: "Bay 3", text: "" },
|
||
{ element: "stunt", name: "Bay 4", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 1, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Technology and Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Tactics and Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit, Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship40": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "Big Ship" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 3 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: 0 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 5 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: 0, text: "+0 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: 0, text: "+0 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: 0, text: "+0 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -3, text: "-3 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", text: "-3 to all Pilot actions (included above)." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Automated Ejection System", text: "See Tachyon Squadron page 46" },
|
||
{ element: "stunt", name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "stunt", name: "Bay 3", text: "" },
|
||
{ element: "stunt", name: "Bay 4", text: "" },
|
||
{ element: "stunt", name: "Bay 5", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 2, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Technology actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "blank",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Tactics actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "minus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"ship4-1": [
|
||
{ element: "title", name: "Ship Name" },
|
||
{ element: "aspect", text: "Big Ship" },
|
||
{ element: "rating", label: "Stats",
|
||
name: "Scale", rating: 3 },
|
||
{ element: "rating",
|
||
name: "Quality", rating: -1 },
|
||
{ element: "rating",
|
||
name: "Modular Equipment Bays", rating: 5 },
|
||
{ element: "stunt", label: "Modifiers", name: "Technology (Detection)", rollable: 1, skill: "Technology", bonus: -1, text: "-1 to Technology rolls." },
|
||
{ element: "stunt", name: "Tactics (Maneuver)", rollable: 1, skill: "Tactics", bonus: -1, text: "-1 to Tactics rolls." },
|
||
{ element: "stunt", name: "Gunnery (Attack)", rollable: 1, skill: "Gunnery", bonus: -1, text: "-1 to Gunnery rolls." },
|
||
{ element: "stunt", name: "Pilot (Defend)", rollable: 1, skill: "Pilot", bonus: -4, text: "-4 to Pilot rolls." },
|
||
{ element: "stunt", name: "Scale Modifier", text: "-3 to all Pilot actions (included above)." },
|
||
{ element: "stunt", label: "Systems",
|
||
name: "Upgrades ( )", text: "" },
|
||
{ element: "rating", name: "Weapon", rating: 0 },
|
||
{ element: "rating", name: "Armor", rating: 0 },
|
||
{ element: "stunt", label: "Modular Equipment Bays",
|
||
name: "Bay 1", text: "" },
|
||
{ element: "stunt", name: "Bay 2", text: "" },
|
||
{ element: "stunt", name: "Bay 3", text: "" },
|
||
{ element: "stunt", name: "Bay 4", text: "" },
|
||
{ element: "stunt", name: "Bay 5", text: "" },
|
||
{ element: "track", label: "Shields",
|
||
track: 1, track1: 1, track2: 1, track3: 1, track4: 1, track5: 1 },
|
||
{ element: "track", label: "Computer System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Technology and Gunnery actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Sensors and targeting systems offline: Minimize 1 die on Technology and Gunnery actions, Shots in the Dark.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Flash fire! Punch out!", track: 1 },
|
||
{ element: "track", label: "Propulsion System Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Minimize 1 die on Tactics and Pilot actions.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Critical damage to drives: Minimize 1 die on Tactics and Pilot actions, Drives Ready to Give Out.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Catastrophic explosion! Punch out!", track: 1 },
|
||
{ element: "track", label: "Critical Systems Damage", icon: "plus",
|
||
name: "Cosmetic damage", track: 1, track1: 2, track2: 2, track3: 2 },
|
||
{ element: "track", name: "Cockpit hit, pilot sustains damage equal to the amount the ship sustained in this hit, Life Support Damaged.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Structural disintegration! Punch out!", track: 1 }
|
||
],
|
||
"turretdamage": [
|
||
{ element: "track", label: "Turret System Damage (if targeted)",
|
||
name: "Turret is locked in its current position and can only attack in the direction on the maneuver chart (above, below, or lateral) it last fired.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Minimize 1 die on all Gunnery rolls.", track: 1, track1: 2 },
|
||
{ element: "track", name: "Turret is inoperative and its gunner takes a mild consequence.", track: 1, track1: 2 },
|
||
],
|
||
swordplay: [
|
||
{ element: "title", name: "Swordplay" },
|
||
{ element: "stunt", name: "Appearance", text: "" },
|
||
{ element: "stunt", name: "Edge", text: "" },
|
||
{ element: "stunt", name: "Main Hand", text: "" },
|
||
{ element: "stunt", name: "Off Hand", text: "" }
|
||
],
|
||
template: [
|
||
{ element: "title", name: "Title" },
|
||
{ element: "permissions", text: "Permissions text" },
|
||
{ element: "cost", text: "Cost text" },
|
||
{ element: "aspect", text: "Aspect Phrase; Aspect Phrase" },
|
||
{ element: "skill", label: "Skills", skill: "Skill", rating: 0, word: gtbk("rating0") },
|
||
{ element: "stunt", label: "Stunts", name: "Stunt", text: "Stunt text" },
|
||
{ element: "track", label: "Tracks", name: "Track", track: 3, track1: 1, track2: 1, track3: 1 },
|
||
{ element: "rating", label: "Ratings", name: "Rating", rating: 1 },
|
||
{ element: "note", label: "Note", text: "Note text", rating: 1 }
|
||
]
|
||
};
|
||
|
||
// Rest of sheetworker proceeds here
|
||
|
||
var verbose = true;
|
||
var skillNameByID = {};
|
||
var skillRatingByNameID = {};
|
||
var skillRatingByName = {};
|
||
|
||
/* var skillGrid = {
|
||
"row8": [], "row7": [], "row6": [], "row5": [], "row4": [], "row3": [], "row2":[], "row1": [], "row0": [], "row-1": [], "row-2": [], "row-3": [], "row-4": []
|
||
}; */
|
||
|
||
var skillGrid = {};
|
||
|
||
// Functions
|
||
|
||
var log = function(value) {
|
||
// console.log('/====================\\');
|
||
if ( verbose ) { console.log(value); }
|
||
// console.log('\\====================/');
|
||
};
|
||
|
||
// var extralog = function(value) {
|
||
// getAttrs(["extralog"],function(data) {
|
||
// data["extralog"] = data["extralog"] + "\n" + String(value);
|
||
// setAttrs(data);
|
||
// });
|
||
// };
|
||
|
||
var skillKey = function(rowid) {
|
||
return "repeating_skills_" + rowid + "_skill";
|
||
};
|
||
var rateKey = function(rowid) {
|
||
return "repeating_skills_" + rowid + "_rating";
|
||
};
|
||
var bonusKey = function(rowid) {
|
||
return "repeating_skills_" + rowid + "_bonus";
|
||
};
|
||
var skillRowKey = function(rowid) {
|
||
return "repeating_skills_" + rowid;
|
||
};
|
||
|
||
// not addGame or setGame but I'm sure to search for it under those
|
||
|
||
var loadGame = function(key) {
|
||
if ( typeof gamesets[key] === "undefined" ) {
|
||
log("Unable to find gameset by this id: " + key + ". Set is undefined, cannot load, removing initialization.");
|
||
setAttrs({ uninitialized: "0" });
|
||
log(gamesets);
|
||
} else {
|
||
var set = gamesets[key];
|
||
if ( typeof set === "undefined" ) {
|
||
log("Set is undefined, cannot load, removing initialization");
|
||
setAttrs({ uninitialized: "0" });
|
||
} else {
|
||
log("Found gameset by id " + key);
|
||
log(set);
|
||
// Ah, but is it custom? If so we've got work to do.
|
||
if ( key === "custom" ) {
|
||
|
||
getAttrs(
|
||
[ "custom-aspects", "custom-consequences", "custom-skills", "custom-stress", "custom-conditions", "custom-combos" ],
|
||
function(c) {
|
||
var aspects = c["custom-aspects"].trim();
|
||
var skills = c["custom-skills"].trim();
|
||
var combos = c["custom-combos"].trim();
|
||
var consequences = c["custom-consequences"].trim();
|
||
var conditions = c["custom-conditions"].trim();
|
||
var stresses = c["custom-stress"].trim();
|
||
if ( aspects !== "" ) {
|
||
set.aspects = aspects.toString().split(/\s*,\s*/);
|
||
}
|
||
if ( skills !== "" ) {
|
||
set.skills = skills.toString().split(/\s*,\s*/);
|
||
set.settings["SkillStyle"] = "list"; // So it'll display something at all
|
||
}
|
||
if ( combos !== "" ) {
|
||
var tempsplit = [];
|
||
set.combos = combos.toString().split(/\s*;\s*/); // column groups are separated by semicolons
|
||
set.combosnames = ["","",""]; // ZOD
|
||
if ( typeof set.combos[0] !== "undefined" && set.combos[0] !== "" ) {
|
||
set.combos[0] = set.combos[0].toString().split(/\s*,\s*/); // split up the comma separated skills in the column, make it an array entry
|
||
}
|
||
if ( typeof set.combos[1] !== "undefined" && set.combos[1] !== "" ) {
|
||
set.combos[1] = set.combos[1].toString().split(/\s*,\s*/); // split up the comma separated skills in the column, make it an array entry
|
||
}
|
||
if ( typeof set.combos[2] !== "undefined" && set.combos[2] !== "" ) {
|
||
set.combos[2] = set.combos[2].toString().split(/\s*,\s*/); // split up the comma separated skills in the column, make it an array entry
|
||
}
|
||
tempsplit = set.combos[0][0].toString().split(/\s*:\s*/);
|
||
if(typeof tempsplit[1] !== "undefined" && tempsplit[1] !== "") {
|
||
log("got a column label: " + tempsplit[0]);
|
||
// Then we've got the column label in tempsplit[0] and the actual skill name in tempsplit[1]
|
||
set.combosnames[0] = tempsplit[0];
|
||
set.combos[0][0] = tempsplit[1];
|
||
}
|
||
tempsplit = set.combos[1][0].toString().split(/\s*:\s*/);
|
||
if(typeof tempsplit[1] !== "undefined" && tempsplit[1] !== "") {
|
||
log("got a column label: " + tempsplit[0]);
|
||
// Then we've got the column label in tempsplit[0] and the actual skill name in tempsplit[1]
|
||
set.combosnames[1] = tempsplit[0];
|
||
set.combos[1][0] = tempsplit[1];
|
||
}
|
||
tempsplit = set.combos[1][0].toString().split(/\s*:\s*/);
|
||
if(typeof tempsplit[1] !== "undefined" && tempsplit[1] !== "") {
|
||
log("got a column label: " + tempsplit[0]);
|
||
// Then we've got the column label in tempsplit[0] and the actual skill name in tempsplit[1]
|
||
set.combosnames[2] = tempsplit[0];
|
||
set.combos[2][0] = tempsplit[1];
|
||
}
|
||
}
|
||
if ( consequences !== "" ) {
|
||
var cons = consequences.toString().split(/\s*,\s*/);
|
||
set.consequences = [];
|
||
for(var i = 0; i < cons.length; i++) {
|
||
var cona = cons[i].toString().split(/\s*:\s*/);
|
||
var label = cona[0];
|
||
var val = cona[1];
|
||
set.consequences.push({ "label": label, "value": val });
|
||
}
|
||
}
|
||
if ( conditions !== "" ) {
|
||
var cons = conditions.toString().split(/\s*,\s*/);
|
||
set.conditions = [];
|
||
for(var i = 0; i < cons.length; i++) {
|
||
var cona = cons[i].toString().split(/\s*:\s*/);
|
||
var label = cona[0];
|
||
var vals = cona[1].toString().split(/\s+/);
|
||
var tl = vals[0];
|
||
vals.shift();
|
||
set.conditions.push({ "label": label, "tracklength": tl, "tracktype": "cust", "values": vals });
|
||
}
|
||
}
|
||
if ( stresses !== "" ) {
|
||
var cons = stresses.toString().split(/\s*,\s*/);
|
||
set.stresses = [];
|
||
for(var i = 0; i < cons.length; i++) {
|
||
var cona = cons[i].toString().split(/\s*:\s*/);
|
||
var label = cona[0];
|
||
var vals = cona[1].toString().split(/\s+/);
|
||
var tl = vals[0];
|
||
vals.shift();
|
||
set.stresses.push({ "label": label, "tracklength": tl, "tracktype": "cust", "values": vals });
|
||
}
|
||
}
|
||
log("Custom set check");
|
||
log(set);
|
||
loadGameProcess(set);
|
||
}
|
||
);
|
||
|
||
} else {
|
||
loadGameProcess(set);
|
||
}
|
||
|
||
setAttrs({ uninitialized: "0" });
|
||
|
||
}
|
||
}
|
||
};
|
||
|
||
// This is split out because I sometimes need it to operate on callback
|
||
|
||
var loadGameProcess = function(set) {
|
||
// Main sequence
|
||
if ( typeof set.settings !== "undefined" ) {
|
||
setAttrs(set.settings);
|
||
}
|
||
if ( typeof set.addskills !== "undefined" ) {
|
||
addSkills(set);
|
||
}
|
||
if ( typeof set.addstress !== "undefined" ) {
|
||
addStress(set);
|
||
}
|
||
if ( typeof set.addconsequence !== "undefined" ) {
|
||
addConsequence(set);
|
||
}
|
||
if ( typeof set.addcondition !== "undefined" ) {
|
||
addCondition(set);
|
||
}
|
||
if ( typeof set.aspects !== "undefined" ) {
|
||
addAspect(set);
|
||
}
|
||
if ( typeof set.addswaps !== "undefined" ) {
|
||
var attrs = {};
|
||
for ( var i = 0; i < set.addswaps.length; i++ ) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
var lid = "repeating_swaps_" + newid + "_label";
|
||
var ltext = gtbk(set.addswaps[i]);
|
||
if ( ltext === false ) {
|
||
ltext = set.addswaps[i];
|
||
}
|
||
attrs[lid] = ltext;
|
||
}
|
||
setAttrs(attrs);
|
||
}
|
||
};
|
||
|
||
var loadSkills = function(caller) {
|
||
log("ENTER loadSkills() called by " + caller);
|
||
getSectionIDs("skills", function(list) {
|
||
log("ENTER loadSkills() getSectionIDs()");
|
||
var fieldlist = [];
|
||
log(list);
|
||
for(var i=0; i < list.length; i++ ) {
|
||
fieldlist[i*3] = skillKey(list[i]);
|
||
fieldlist[i*3+1] = rateKey(list[i]);
|
||
fieldlist[i*3+2] = bonusKey(list[i]);
|
||
}
|
||
log("field list"); log(fieldlist);
|
||
|
||
getAttrs(
|
||
fieldlist,
|
||
function(obj) {
|
||
// log("ENTER loadSkills() getAttrs");
|
||
skillGrid = { "row10": [], "row9": [], "row8": [], "row7": [], "row6": [], "row5": [], "row4": [], "row3": [], "row2":[], "row1": [], "row0": [], "row-1": [], "row-2": [], "row-3": [], "row-4": []};
|
||
var attrs = { skillcount: 0 };
|
||
for(var [id,value] of Object.entries(obj) ) {
|
||
let isSkill = /_skill$/.test(id);
|
||
let isRating = /_rating$/.test(id);
|
||
if (isSkill) {
|
||
skillNameByID[id] = value;
|
||
attrs.skillcount++;
|
||
} else if (isRating) { // Want to skip bonus, since we're getting it in here
|
||
var gridrow = "";
|
||
var skillid = id.replace(/_rating$/,"_skill");
|
||
var bonusid = id.replace(/_rating$/,"_bonus");
|
||
var bonus = 0;
|
||
if ( typeof obj[bonusid] !== "undefined" ) {
|
||
bonus = Number(obj[bonusid]);
|
||
}
|
||
value = Number(value) + bonus;
|
||
gridrow = "row" + value;
|
||
skillRatingByNameID[skillid] = value;
|
||
attrs["Skill-"+skillNameByID[skillid]] = value; // Externalize the skill rating in an attribute that can be addressed by macros
|
||
skillRatingByName[skillNameByID[skillid]] = value;
|
||
var wordid = id + "-word";
|
||
attrs[wordid] = "";
|
||
if(skillNameByID[skillid] !== "") {
|
||
var transkey = "rating"+value;
|
||
var wordval = gtbk(transkey); // This isn't getting produced in mobile
|
||
if ( wordval == 0 ) {
|
||
extralog("Wordval is"+typeof(wordval));
|
||
}
|
||
attrs[wordid] = wordval;
|
||
}
|
||
skillGrid[gridrow].push(skillNameByID[skillid]);
|
||
skillGrid[gridrow].sort();
|
||
}
|
||
}
|
||
for(var [id,skills] of Object.entries(skillGrid)) {
|
||
let attrnamelist = "skill-"+id;
|
||
let listform = "";
|
||
for(var i=0; i < skills.length ; i++ ) {
|
||
var attrname = "skill-"+id+"-"+i;
|
||
attrs[attrname] = skills[i];
|
||
listform = listform + " " + skills[i];
|
||
}
|
||
for(var i=skills.length; i < 20; i++ ) {
|
||
var attrname = "skill-"+id+"-"+i;
|
||
attrs[attrname] = "";
|
||
}
|
||
// log(attrnamelist + ": " + listform);
|
||
attrs[attrnamelist] = listform;
|
||
}
|
||
// log(attrs);
|
||
setAttrs(attrs,{silent:true}); // We don't need to trigger any cascades here, this contains modifications of some fields in repeating_skills but we're already processing the whole thing in here
|
||
// log("EXIT loadSkills() getAttrs");
|
||
|
||
// As a coda to this, we go and make sure that stunts with incorporated skills are recorded properly.
|
||
|
||
getSectionIDs("stunts", function(stunts) {
|
||
log("stunts"+" skill integration begins");
|
||
var sfields = [ "rolltally" ];
|
||
for(var i=0; i < stunts.length; i++ ) {
|
||
sfields[i+1] = "repeating_" + "stunts" + "_" + stunts[i] + "_skill";
|
||
}
|
||
// get the stunt's skill setting, check skillRatingByName to see if there's a match, if there is, set the skillvalue attribute of that row to the value of said skill.
|
||
getAttrs(sfields, function(sf) {
|
||
var sattrs = {};
|
||
for(var [id,value] of Object.entries(sf) ) {
|
||
if ( id !== "rolltally" && value !== "" ) {
|
||
// Then we have a named skill. It must match exactly.
|
||
var sval = "N/A";
|
||
if ( typeof skillRatingByName[value] !== "undefined" ) {
|
||
sval = skillRatingByName[value];
|
||
}
|
||
var sfkey = id + "value";
|
||
sattrs[sfkey] = sval;
|
||
} else if ( id !== "rolltally" ) { // This is for rollable aspects
|
||
// Then we default to the value of the aspects total.
|
||
var sfkey = id + "value";
|
||
sattrs[sfkey] = sf["rolltally"];
|
||
}
|
||
}
|
||
setAttrs(sattrs);
|
||
log(sattrs);
|
||
log("stunts"+" skill integration ends");
|
||
});
|
||
});
|
||
|
||
getSectionIDs("extras", function(stunts) {
|
||
log("extras"+" skill integration begins");
|
||
var sfields = [ "rolltally" ];
|
||
for(var i=0; i < stunts.length; i++ ) {
|
||
sfields[i+1] = "repeating_" + "extras" + "_" + stunts[i] + "_skill";
|
||
}
|
||
// get the stunt's skill setting, check skillRatingByName to see if there's a match, if there is, set the skillvalue attribute of that row to the value of said skill.
|
||
getAttrs(sfields, function(sf) {
|
||
var sattrs = {};
|
||
for(var [id,value] of Object.entries(sf) ) {
|
||
if ( id !== "rolltally" && value !== "" ) {
|
||
// Then we have a named skill. It must match exactly.
|
||
var sval = "N/A";
|
||
if ( typeof skillRatingByName[value] !== "undefined" ) {
|
||
sval = skillRatingByName[value];
|
||
}
|
||
var sfkey = id + "value";
|
||
sattrs[sfkey] = sval;
|
||
} else if ( id !== "rolltally" ) { // This is for rollable aspects
|
||
// Then we default to the value of the aspects total.
|
||
var sfkey = id + "value";
|
||
sattrs[sfkey] = sf["rolltally"];
|
||
}
|
||
}
|
||
setAttrs(sattrs);
|
||
log(sattrs);
|
||
log("extras"+" skill integration ends");
|
||
});
|
||
});
|
||
|
||
}
|
||
);
|
||
|
||
log("EXIT loadSkills() getSectionIDs()");
|
||
});
|
||
log("EXIT loadSkills()");
|
||
|
||
};
|
||
|
||
var addExtra = function(values) {
|
||
var extraname = values.addextra;
|
||
attrs = { "addextra": "" };
|
||
if ( typeof extras[extraname] !== "undefined" ) {
|
||
var ex = extras[extraname];
|
||
for( i = 0; i < ex.length; i++ ) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
var element = ex[i];
|
||
for(var [key,value] of Object.entries(element) ) {
|
||
var elementid = "repeating_extras_" + newid + "_" + key;
|
||
attrs[elementid] = value;
|
||
}
|
||
}
|
||
log("Ready to add this extra");
|
||
log(attrs);
|
||
} else {
|
||
log("Did not find a preloaded extra by name " + extraname);
|
||
}
|
||
setAttrs(attrs);
|
||
};
|
||
|
||
var addPackages = function(values) {
|
||
var packagename = values.addpackage;
|
||
if ( typeof packages[packagename] !== "undefined" ) {
|
||
var packageset = packages[packagename];
|
||
log(packageset);
|
||
attrs = { "addpackage": "" };
|
||
for(var [pkgname,pkg] of Object.entries(packageset) ) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
var packageid = "repeating_packages_" + newid + "_package";
|
||
var skillsid = "repeating_packages_" + newid + "_skills";
|
||
var aspectsid = "repeating_packages_" + newid + "_aspects";
|
||
var stuntsid = "repeating_packages_" + newid + "_stunts";
|
||
attrs[packageid] = gtbk(pkgname);
|
||
attrs[skillsid] = pkg.skills;
|
||
attrs[aspectsid] = pkg.aspects;
|
||
attrs[stuntsid] = pkg.stunts;
|
||
}
|
||
setAttrs(attrs);
|
||
} else {
|
||
log("package "+packagename+" not recognized");
|
||
}
|
||
};
|
||
|
||
on("clicked:repeating_packages:add", function(e) {
|
||
const rowprefix = (e.sourceAttribute).slice(0,-3); // Strips off the add
|
||
const skillsid = rowprefix + "skills";
|
||
const aspectsid = rowprefix + "aspects";
|
||
const stuntsid = rowprefix + "stunts";
|
||
getSectionIDs("skills", function(s) {
|
||
var fields = [skillsid,aspectsid,stuntsid];
|
||
for(var i=0; i < s.length; i++) {
|
||
fields[i*2+3] = "repeating_skills_" + s[i] + "_skill";
|
||
fields[i*2+4] = "repeating_skills_" + s[i] + "_rating";
|
||
}
|
||
getAttrs(fields, function(v) {
|
||
log(v);
|
||
var attrs = {};
|
||
var alist = v[aspectsid].toString().split(/\s*,\s*/);
|
||
var sklist = v[skillsid].toString().split(/\s*,\s*/);
|
||
var stlist = v[stuntsid].toString().split(/\s*\n\s*/);
|
||
log(alist);
|
||
for(var j=0; j < alist.length; j++ ) {
|
||
if ( typeof alist[j] !== "undefined" && alist[j] !== "" ) {
|
||
var newarowid = generateActuallyUniqueRowID();
|
||
var newaid = "repeating_aspects_" + newarowid + "_aspect";
|
||
attrs[newaid] = alist[j];
|
||
}
|
||
}
|
||
log(stlist);
|
||
for(var j=0; j < stlist.length; j++ ) {
|
||
if ( typeof stlist[j] !== "undefined" && stlist[j] !== "" ) {
|
||
var newstrowid = generateActuallyUniqueRowID();
|
||
var newstnameid = "repeating_stunts_" + newstrowid + "_name";
|
||
var newstdescid = "repeating_stunts_" + newstrowid + "_desc";
|
||
var stuntpart = stlist[j].toString().split(/\s*:\s*/);
|
||
attrs[newstnameid] = stuntpart[0];
|
||
attrs[newstdescid] = stuntpart[1];
|
||
}
|
||
}
|
||
log(sklist);
|
||
for(var j=0; j < sklist.length; j++ ) {
|
||
if ( typeof sklist[j] !== "undefined" && sklist[j] !== "" ) {
|
||
var skillpart = sklist[j].toString().split(/\s*:\s*/);
|
||
var skillname = skillpart[0];
|
||
var skillpoint = Number(skillpart[1]);
|
||
if ( skillpoint === Number.NaN ) {
|
||
continue; // No point in adding a non-numeric value; skip to next iteration in loop
|
||
}
|
||
// Now find the skill that matches the skill name
|
||
for(var i = 0; i < s.length; i++ ) {
|
||
var sid = "repeating_skills_" + s[i] + "_skill";
|
||
var rid = "repeating_skills_" + s[i] + "_rating";
|
||
// These values should already exist in v
|
||
var sname = v[sid];
|
||
var sval = Number(v[rid]);
|
||
if ( sval === Number.NaN ) { sval = 0; }
|
||
if ( sname === skillname ) {
|
||
// Then we have a match!
|
||
attrs[rid] = sval + skillpoint; // Make sure we're setting the skill's new value to its existing rating value plus the skill point allocation
|
||
v[rid] = attrs[rid]; // Make sure we're updating the current understanding of the skill's rating is in case we encounter another add to it later
|
||
break; // we can break out of this for loop as we've found our candidate skill
|
||
}
|
||
}
|
||
}
|
||
}
|
||
setAttrs(attrs);
|
||
log(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("clicked:repeating_packages:subtract", function(e) { // this is to remove an already-added package; has some heavy lifting to do!
|
||
|
||
const rowprefix = (e.sourceAttribute).slice(0,-8); // Strips off the subtract
|
||
const skillsid = rowprefix + "skills";
|
||
const aspectsid = rowprefix + "aspects";
|
||
const stuntsid = rowprefix + "stunts";
|
||
|
||
getSectionIDs("skills", function(sk) { getSectionIDs("stunts", function(st) { getSectionIDs("aspects", function(asp) {
|
||
var fields = [skillsid,aspectsid,stuntsid];
|
||
var adder = fields.length;
|
||
for(var i=0; i < sk.length; i++) {
|
||
fields[i*2+adder] = "repeating_skills_" + sk[i] + "_skill";
|
||
fields[i*2+adder+1] = "repeating_skills_" + sk[i] + "_rating";
|
||
}
|
||
var adder = adder + sk.length*2;
|
||
for(var i=0; i < st.length; i++) {
|
||
fields[i*2+adder] = "repeating_stunts_" + st[i] + "_name";
|
||
fields[i*2+adder+1] = "repeating_stunts_" + st[i] + "_desc";
|
||
}
|
||
var adder = adder + st.length*2;
|
||
for(var i=0; i < asp.length; i++) {
|
||
fields[i*1+adder] = "repeating_aspects_" + asp[i] + "_aspect";
|
||
}
|
||
|
||
getAttrs(fields, function(v) {
|
||
log(v);
|
||
var attrs = {};
|
||
var alist = v[aspectsid].toString().split(/\s*,\s*/);
|
||
var sklist = v[skillsid].toString().split(/\s*,\s*/);
|
||
var stlist = v[stuntsid].toString().split(/\s*\n\s*/);
|
||
|
||
log(alist);
|
||
for(var j=0; j < alist.length; j++ ) {
|
||
if ( typeof alist[j] !== "undefined" && alist[j] !== "" ) {
|
||
for(var i = 0; i < asp.length; i++ ) {
|
||
var arowid = "repeating_aspects_" + asp[i];
|
||
var aid = arowid + "_aspect";
|
||
if ( alist[j] === v[aid] ) {
|
||
removeRepeatingRow(arowid);
|
||
break; // Only need to do this to the first one encountered
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
log(stlist);
|
||
for(var j=0; j < stlist.length; j++ ) {
|
||
if ( typeof stlist[j] !== "undefined" && stlist[j] !== "" ) {
|
||
for(var i = 0; i < st.length; i++ ) {
|
||
var strowid = "repeating_stunts_" + st[i];
|
||
var stnid = strowid + "_name";
|
||
var stdid = strowid + "_desc";
|
||
var stuntpart = stlist[j].toString().split(/\s*:\s*/);
|
||
log(v); log(stuntpart);
|
||
if ( stuntpart[0] === v[stnid] && stuntpart[1] === v[stdid] ) {
|
||
removeRepeatingRow(strowid);
|
||
break; // Only need to do this to the first one encountered
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
log(sklist);
|
||
for(var j=0; j < sklist.length; j++ ) {
|
||
if ( typeof sklist[j] !== "undefined" && sklist[j] !== "" ) {
|
||
var skillpart = sklist[j].toString().split(/\s*:\s*/);
|
||
var skillname = skillpart[0];
|
||
var skillpoint = Number(skillpart[1]);
|
||
if ( skillpoint === Number.NaN ) {
|
||
continue; // No point in subtracting a non-numeric value; skip to next iteration in loop
|
||
}
|
||
// Now find the skill that matches the skill name
|
||
for(var i = 0; i < sk.length; i++ ) {
|
||
var sid = "repeating_skills_" + sk[i] + "_skill";
|
||
var rid = "repeating_skills_" + sk[i] + "_rating";
|
||
// These values should already exist in v
|
||
var sname = v[sid];
|
||
var sval = Number(v[rid]);
|
||
if ( sval === Number.NaN ) { sval = 0; }
|
||
if ( sname === skillname ) {
|
||
// Then we have a match!
|
||
attrs[rid] = sval - skillpoint; // Make sure we're setting the skill's new value to its existing rating value MINUS the skill point allocation
|
||
v[rid] = attrs[rid]; // Make sure we're updating the current understanding of the skill's rating is in case we encounter another subtract from it later
|
||
break; // we can break out of this for loop as we've found our candidate skill
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
setAttrs(attrs);
|
||
log(attrs);
|
||
});
|
||
}); }); });
|
||
});
|
||
|
||
var addRole = function(values) {
|
||
var rolename = values.addrole;
|
||
if ( typeof roles[rolename] !== "undefined" ) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
var roleid = "repeating_roles_" + newid + "_role";
|
||
var skillsid = "repeating_roles_" + newid + "_skills";
|
||
attrs = { "addrole": "" };
|
||
attrs[skillsid] = roles[rolename];
|
||
attrs[roleid] = gtbk(rolename);
|
||
setAttrs(attrs);
|
||
} else {
|
||
log("Role "+rolename+" not recognized");
|
||
}
|
||
};
|
||
|
||
var addMode = function(values) {
|
||
var modename = values.addmode;
|
||
if ( typeof modes[modename] !== "undefined" ) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
var modeid = "repeating_modes_" + newid + "_mode";
|
||
var skillsid = "repeating_modes_" + newid + "_skills";
|
||
attrs = { "addmode": "" };
|
||
attrs[skillsid] = modes[modename];
|
||
attrs[modeid] = gtbk(modename);
|
||
setAttrs(attrs);
|
||
} else {
|
||
log("Mode "+modename+" not recognized");
|
||
}
|
||
};
|
||
|
||
// Code testing reveals that the generateRowID function does not generate a unique ID 100% of the time when adding many rows at once, so we've got to
|
||
|
||
var uniqueids = {};
|
||
|
||
var generateActuallyUniqueRowID = function() {
|
||
var generated = generateRowID();
|
||
while ( uniqueids[generated] === true ) {
|
||
log("generateActuallyUniqueRowID: " + generated + " is not a unique ID, trying again.");
|
||
generated = generateRowID();
|
||
}
|
||
// log("generateActuallyUniqueRowID: " + generated + " verified as unique, returning.");
|
||
uniqueids[generated] = true;
|
||
return generated;
|
||
}
|
||
|
||
// addSkills({ "addskills": "fae|core|fcon|[etc]" });
|
||
|
||
var addSkills = function(values) {
|
||
log("addSkills called");
|
||
log(values);
|
||
var newset;
|
||
if ( values.addskills == "list" ) {
|
||
newset = values.skills;
|
||
} else {
|
||
newset = skillsets[values.addskills];
|
||
}
|
||
var attrs = { addskills: "" };
|
||
|
||
if ( typeof values.combosnames === "object" ) {
|
||
// ZOD combocol1, 2, 3
|
||
for(var i=0; i < values.combosnames.length; i++) {
|
||
var colnum = i+1;
|
||
attrs["combocol"+colnum] = values.combosnames[i];
|
||
}
|
||
}
|
||
|
||
getSectionIDs("skills", function(currentskills) {
|
||
|
||
var skillFilter = {};
|
||
var fieldlist = [];
|
||
|
||
for(var i=0; i < currentskills.length; i++ ) {
|
||
fieldlist[i] = skillKey(currentskills[i]);
|
||
}
|
||
|
||
getAttrs(
|
||
fieldlist,
|
||
function(obj) {
|
||
|
||
for(var [fieldid,objname] of Object.entries(obj) ) {
|
||
skillFilter[objname] = true;
|
||
}
|
||
|
||
log("skillFilter established"); log(skillFilter);
|
||
|
||
for(var i=0; i < newset.length; i++) {
|
||
var skillname = false;
|
||
if ( values.addskills !== "list" ) { // No translation when it's a custom list
|
||
skillname = gtbk(newset[i]);
|
||
}
|
||
if ( skillname === false ) {
|
||
skillname = newset[i];
|
||
}
|
||
if ( ! skillFilter[skillname] ) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
var skillid = "repeating_skills_" + newid + "_skill";
|
||
attrs[skillid] = skillname;
|
||
attrs["repeating_skills_" + newid + "_rating"] = 0;
|
||
attrs["repeating_skills_" + newid + "_column"] = 1; // ZOD ZOD ZOD ZOD ZOD ZOD ZOD ZOD
|
||
if ( typeof values.combos === "object" ) {
|
||
for(var x=0;x < values.combos.length;x++) {
|
||
var stopnow = false;
|
||
for(var y=0;y < values.combos[x].length;y++) {
|
||
if ( skillname === values.combos[x][y] ) {
|
||
attrs["repeating_skills_" + newid + "_column"] = x+1;
|
||
stopnow = true; break;
|
||
}
|
||
}
|
||
if (stopnow) { break; }
|
||
}
|
||
}
|
||
|
||
// loadSkills() does this work too, but this makes sure that it won't have weird gaps if the rating attribute is encountered before the skill
|
||
skillFilter[skillname] = true;
|
||
skillNameByID[skillid] = skillname;
|
||
log("INSERTED: " + skillid + skillname);
|
||
} else {
|
||
log("NOT INSERTED: I believe that " + skillname + " is already in the skill list, so, nope.");
|
||
}
|
||
}
|
||
setAttrs(attrs,{silent:true},function() { log("addSkills callback to loadSkills"); loadSkills("addSkills"); }); // doing loadSkills() as a callback so it'll happen after all the attrs are set
|
||
|
||
}
|
||
);
|
||
});
|
||
|
||
};
|
||
|
||
// addStress({ "addstress": "flat|esc|cust" });
|
||
// addStress({ "addstress": "flat|esc|cust", "stresskeys": ["physical","mental"], "stresslength": 2 });
|
||
// stresskeys should point to translation keys
|
||
|
||
var addStress = function(values) {
|
||
|
||
log("addStress called with"); log(values);
|
||
|
||
var attrs = { addstress: "" };
|
||
|
||
if ( values.addcondition == "list" ) {
|
||
|
||
// ({ "label": label, "tracklength": tl, "tracktype": "cust", "values": vals });
|
||
|
||
for(var j = 0; j < values.stresses.length; j++) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
attrs["repeating_stress_" + newid + "_label"] = values.stresses[j].label;
|
||
attrs["repeating_stress_" + newid + "_track"] = values.stresses[j].tracklength;
|
||
for(var i=1; i < 10; i++) {
|
||
var entry = values.stresses[j].values[i-1];
|
||
if ( typeof entry === "undefined" ) {
|
||
attrs["repeating_stress_" + newid + "_track" + i] = "";
|
||
} else {
|
||
attrs["repeating_stress_" + newid + "_track" + i] = entry;
|
||
}
|
||
}
|
||
}
|
||
|
||
} else {
|
||
|
||
var labelkeys = [];
|
||
if ( typeof values.stresskeys === "object" ) {
|
||
labelkeys = values.stresskeys;
|
||
} else if ( typeof values.stresskeys === "string" ) {
|
||
labelkeys = [values.stresskeys];
|
||
} else {
|
||
labelkeys = ["stress"];
|
||
}
|
||
|
||
log("labelkeys"); log(labelkeys);
|
||
log(labelkeys.length);
|
||
|
||
var tracklength;
|
||
if ( typeof values.stresslength === "undefined" ) {
|
||
tracklength = 2;
|
||
} else if ( typeof values.stresslength === "string" ) {
|
||
tracklength = Number(values.stresslength);
|
||
} else if ( typeof values.stresslength === "number" ) {
|
||
tracklength = values.stresslength;
|
||
} else {
|
||
tracklength = 2;
|
||
}
|
||
|
||
log("tracklength " + tracklength);
|
||
|
||
for(var j=0; j < labelkeys.length; j++ ) {
|
||
|
||
var newid = generateActuallyUniqueRowID();
|
||
|
||
var label = "";
|
||
if ( labelkeys[j] !== "" ) {
|
||
label = gtbk(labelkeys[j]);
|
||
if ( label === false ) {
|
||
label = gtbk("stress");
|
||
}
|
||
}
|
||
attrs["repeating_stress_" + newid + "_label"] = label;
|
||
|
||
attrs["repeating_stress_" + newid + "_track"] = tracklength;
|
||
|
||
for(var i=1; i < 10; i++) {
|
||
if ( values.addstress == "flat" ) {
|
||
attrs["repeating_stress_" + newid + "_track" + i] = "1";
|
||
} else if ( values.addstress == "esc" ) {
|
||
attrs["repeating_stress_" + newid + "_track" + i] = i;
|
||
} else {
|
||
attrs["repeating_stress_" + newid + "_track" + i] = "";
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
setAttrs(attrs);
|
||
|
||
};
|
||
|
||
// addCondition({ addcondition: "flat|esc|cust" }); // Simple version called by event handler
|
||
// addCondition({ addcondition: "mult", conditions: [ { labelkey: "[translation key]", tracklength: 2, tracktype: "flat|esc|cust", values: [1,1,1,1,1,1,1,1,1,1] } ] });
|
||
|
||
var addCondition = function(values) {
|
||
var attrs = { addcondition: "" };
|
||
if ( values.addcondition == "list" ) {
|
||
|
||
// ({ "label": label, "tracklength": tl, "tracktype": "cust", "values": vals });
|
||
|
||
for(var j = 0; j < values.conditions.length; j++) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
attrs["repeating_conditions_" + newid + "_label"] = values.conditions[j].label;
|
||
attrs["repeating_conditions_" + newid + "_track"] = values.conditions[j].tracklength;
|
||
for(var i=1; i < 10; i++) {
|
||
var entry = values.conditions[j].values[i-1];
|
||
if ( typeof entry === "undefined" ) {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = "";
|
||
} else {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = entry;
|
||
}
|
||
}
|
||
}
|
||
|
||
} else if ( values.addcondition == "mult" ) {
|
||
for(var j=0; j < values.conditions.length; j++) {
|
||
var labelkey = values.conditions[j].labelkey;
|
||
var tracklength = values.conditions[j].tracklength;
|
||
var tracktype = values.conditions[j].tracktype;
|
||
var newid = generateActuallyUniqueRowID();
|
||
var label = gtbk(labelkey);
|
||
if ( label === false ) {
|
||
label = gtbk("condition");
|
||
}
|
||
if ( typeof tracklength === "undefined" ) {
|
||
tracklength = 2;
|
||
}
|
||
attrs["repeating_conditions_" + newid + "_label"] = label;
|
||
attrs["repeating_conditions_" + newid + "_track"] = tracklength;
|
||
for(var i=1; i < 10; i++) {
|
||
if ( tracktype == "flat" ) {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = "1";
|
||
} else if ( tracktype == "esc" ) {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = i;
|
||
} else if ( tracktype == "cust" ) {
|
||
var entry = values.conditions[j].values[i-1];
|
||
if ( typeof entry === "undefined" ) {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = "";
|
||
} else {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = entry;
|
||
}
|
||
} else {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = "";
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
var newid = generateActuallyUniqueRowID();
|
||
attrs["repeating_conditions_" + newid + "_label"] = gtbk("condition");
|
||
attrs["repeating_conditions_" + newid + "_track"] = 2;
|
||
for(var i=1; i < 10; i++) {
|
||
if ( values.addcondition == "flat" ) {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = "1";
|
||
} else if ( values.addcondition == "esc" ) {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = i;
|
||
} else {
|
||
attrs["repeating_conditions_" + newid + "_track" + i] = "";
|
||
}
|
||
}
|
||
}
|
||
setAttrs(attrs);
|
||
};
|
||
|
||
// addAspect({ aspects: [ "list","of","labels" ] });
|
||
|
||
var addAspect = function(values) {
|
||
var list = values.aspects;
|
||
var rv = [];
|
||
if ( typeof values.aspectvalues !== "undefined" ) {
|
||
rv = values.aspectvalues;
|
||
}
|
||
var attrs = {};
|
||
for (i=0; i < list.length; i++) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
var label = gtbk(list[i]);
|
||
if ( label === false ) {
|
||
label = list[i];
|
||
}
|
||
attrs["repeating_aspects_" + newid + "_label"] = label;
|
||
if ( typeof rv[i] !== "undefined" ) {
|
||
attrs["repeating_aspects_" + newid + "_rollvalue"] = rv[i];
|
||
}
|
||
}
|
||
setAttrs(attrs);
|
||
}
|
||
|
||
// addConsequence({ addconsequence: "mild|mod|sev|all" });
|
||
|
||
var addConsequence = function(values) {
|
||
|
||
var attrs = { addconsequence: "" };
|
||
var created = false;
|
||
|
||
if ( values.addconsequence == "mild" || values.addconsequence == "all" ) {
|
||
var newid = generateActuallyUniqueRowID(); created = true;
|
||
attrs["repeating_consequences_" + newid + "_label"] = gtbk("mild");
|
||
attrs["repeating_consequences_" + newid + "_track"] = "2";
|
||
}
|
||
|
||
if ( values.addconsequence == "mod" || values.addconsequence == "all" ) {
|
||
var newid = generateActuallyUniqueRowID(); created = true;
|
||
attrs["repeating_consequences_" + newid + "_label"] = gtbk("moderate");
|
||
attrs["repeating_consequences_" + newid + "_track"] = "4";
|
||
}
|
||
|
||
if ( values.addconsequence == "sev" || values.addconsequence == "all" ) {
|
||
var newid = generateActuallyUniqueRowID(); created = true;
|
||
attrs["repeating_consequences_" + newid + "_label"] = gtbk("severe");
|
||
attrs["repeating_consequences_" + newid + "_track"] = "6";
|
||
}
|
||
|
||
if ( values.addconsequence == "list" ) {
|
||
// { "label": label, "value": val }
|
||
created = true;
|
||
for(var i = 0; i < values.consequences.length; i++) {
|
||
var newid = generateActuallyUniqueRowID();
|
||
attrs["repeating_consequences_" + newid + "_label"] = values.consequences[i].label;
|
||
attrs["repeating_consequences_" + newid + "_track"] = values.consequences[i].value;
|
||
}
|
||
}
|
||
|
||
if (! created ) {
|
||
var newid = generateActuallyUniqueRowID(); created = true;
|
||
attrs["repeating_consequences_" + newid + "_label"] = gtbk("consequence");
|
||
attrs["repeating_consequences_" + newid + "_track"] = "";
|
||
}
|
||
|
||
setAttrs(attrs);
|
||
|
||
};
|
||
|
||
// Event Handlers
|
||
|
||
on("sheet:opened", function() {
|
||
log("Event: Sheet Opened");
|
||
loadSkills("sheet:opened event handler");
|
||
});
|
||
|
||
on("change:addextra", function() {
|
||
log("Event: addextra change");
|
||
getAttrs(["addextra"], function(values) {
|
||
if ( values.addextra !== "" ) {
|
||
log("addextra: non null extra set detected");
|
||
addExtra(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:repeating_roles remove:repeating_roles sheet:opened", function() {
|
||
getAttrs(["Show-Roles"], function(values) {
|
||
if ( values["Show-Roles"] == "1" ) {
|
||
getSectionIDs("roles", function(roles) {
|
||
var fieldlist = [];
|
||
for(var i=0; i < roles.length; i++ ) {
|
||
fieldlist[i] = "repeating_roles_" + roles[i] + "_skills";
|
||
}
|
||
log(fieldlist);
|
||
getAttrs(fieldlist, function(skills) {
|
||
log("skills:"); log(skills);
|
||
var skbonus = {};
|
||
for(var [id,text] of Object.entries(skills) ) {
|
||
log(text);
|
||
var sklist = text.toString().split(/\s*,\s*/);
|
||
log("sklist"); log(sklist);
|
||
for(var j=0; j < sklist.length; j++ ) {
|
||
if ( typeof skbonus[sklist[j]] === "undefined" ) {
|
||
skbonus[sklist[j]] = 1;
|
||
} else {
|
||
skbonus[sklist[j]]++;
|
||
}
|
||
}
|
||
}
|
||
log("skbonus: "); log(skbonus);
|
||
getSectionIDs("skills", function(skillrows) {
|
||
var skillfields = [];
|
||
for(var k=0; k < skillrows.length; k++ ) {
|
||
skillfields[k] = "repeating_skills_" + skillrows[k] + "_skill";
|
||
}
|
||
log(skillfields);
|
||
getAttrs(skillfields, function(realskills) {
|
||
var attrs = {};
|
||
for(var [skid,skname] of Object.entries(realskills) ) {
|
||
var bonusid = skid.replace(/_skill$/,"_bonus");
|
||
if ( typeof skbonus[skname] === "undefined" ) {
|
||
attrs[bonusid] = 0;
|
||
} else {
|
||
attrs[bonusid] = skbonus[skname];
|
||
}
|
||
}
|
||
log("Attrs ready to set:");
|
||
log(attrs);
|
||
setAttrs(attrs,{silent:true},function() { loadSkills("change:repeating_roles remove:repeating_roles sheet:opened"); });
|
||
});
|
||
});
|
||
});
|
||
});
|
||
}
|
||
});
|
||
});
|
||
|
||
|
||
on("change:repeating_modes remove:repeating_modes sheet:opened", function() {
|
||
getAttrs(["Show-Modes"], function(values) {
|
||
if ( values["Show-Modes"] == "1" ) {
|
||
getSectionIDs("modes", function(modes) {
|
||
var fieldlist = [];
|
||
for(var i=0; i < modes.length; i++ ) {
|
||
fieldlist[i*2] = "repeating_modes_" + modes[i] + "_skills";
|
||
fieldlist[i*2+1] = "repeating_modes_" + modes[i] + "_rating";
|
||
}
|
||
log(fieldlist);
|
||
getAttrs(fieldlist, function(skills) {
|
||
log("skills:"); log(skills);
|
||
var skbonus = {};
|
||
var ratebonus = {};
|
||
var attrs = { "focused": "", "specialized": "" }; // Defining it out here because it will also carry some modifications to the repeating modes
|
||
for(var [id,text] of Object.entries(skills) ) {
|
||
let isSkills = /_skills$/.test(id);
|
||
if ( isSkills ) {
|
||
var rateid = id.replace(/_skills$/,"_rating");
|
||
var wordid = id.replace(/_skills$/,"_word");
|
||
attrs[wordid] = gtbk("rating" + skills[rateid]);
|
||
log(text);
|
||
var sklist = text.toString().split(/\s*,\s*/);
|
||
log("sklist"); log(sklist);
|
||
for(var j=0; j < sklist.length; j++ ) {
|
||
if ( typeof skbonus[sklist[j]] === "undefined" ) {
|
||
skbonus[sklist[j]] = 0;
|
||
ratebonus[sklist[j]] = Number(skills[rateid]);
|
||
} else {
|
||
skbonus[sklist[j]]++;
|
||
if ( ratebonus[sklist[j]] < Number(skills[rateid]) ) {
|
||
ratebonus[sklist[j]] = Number(skills[rateid]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
log("skbonus: "); log(skbonus);
|
||
getSectionIDs("skills", function(skillrows) {
|
||
var skillfields = [];
|
||
for(var k=0; k < skillrows.length; k++ ) {
|
||
skillfields[k] = "repeating_skills_" + skillrows[k] + "_skill";
|
||
}
|
||
log(skillfields);
|
||
getAttrs(skillfields, function(realskills) {
|
||
for(var [skid,skname] of Object.entries(realskills) ) {
|
||
var bonusid = skid.replace(/_skill$/,"_bonus");
|
||
if ( typeof skbonus[skname] === "undefined" ) {
|
||
attrs[bonusid] = 0;
|
||
} else {
|
||
attrs[bonusid] = skbonus[skname] + ratebonus[skname];
|
||
if ( skbonus[skname] == 1 ) {
|
||
if ( attrs["focused"] !== "" ) {
|
||
attrs["focused"] = attrs["focused"] + ", ";
|
||
}
|
||
attrs["focused"] = attrs["focused"] + skname + " (+" + skbonus[skname] + ")";
|
||
} else if ( skbonus[skname] > 1 ) {
|
||
if ( attrs["specialized"] !== "" ) {
|
||
attrs["specialized"] = attrs["specialized"] + ", ";
|
||
}
|
||
attrs["specialized"] = attrs["specialized"] + skname + " (+" + skbonus[skname] + ")";
|
||
}
|
||
}
|
||
}
|
||
log("Attrs ready to set:");
|
||
log(attrs);
|
||
setAttrs(attrs,{silent:true},function() { loadSkills("change:repeating_modes remove:repeating_modes sheet:opened"); });
|
||
});
|
||
});
|
||
});
|
||
});
|
||
}
|
||
});
|
||
});
|
||
|
||
on("sheet:opened change:repeating_aspects remove:repeating_aspects", function() {
|
||
getSectionIDs("aspects", function(list) {
|
||
log("Parsing aspect list");
|
||
var gets = [];
|
||
for( var i = 0; i < list.length; i++ ) {
|
||
gets[i*4] = "repeating_aspects_" + list[i] + "_aspect";
|
||
gets[i*4+1] = "repeating_aspects_" + list[i] + "_label";
|
||
gets[i*4+2] = "repeating_aspects_" + list[i] + "_flags";
|
||
gets[i*4+3] = "repeating_aspects_" + list[i] + "_notes";
|
||
}
|
||
getAttrs(gets, function(a) {
|
||
var atext = "";
|
||
var lcount = {};
|
||
var attrs = {}
|
||
for( var i = 0; i < list.length; i++ ) {
|
||
var lmod = "Unlabeled";
|
||
var aspect = a["repeating_aspects_" + list[i] + "_aspect"];
|
||
var label = a["repeating_aspects_" + list[i] + "_label"];
|
||
var flags = a["repeating_aspects_" + list[i] + "_flags"];
|
||
var notes = a["repeating_aspects_" + list[i] + "_notes"];
|
||
if ( atext !== "" ) {
|
||
atext = atext + "\n\n";
|
||
}
|
||
if ( typeof label !== "undefined" && label !== "" ) {
|
||
atext = atext + "**" + label;
|
||
if ( typeof flags !== "undefined" && flags !== "" ) {
|
||
atext = atext + " (" + flags + ")";
|
||
}
|
||
atext = atext + ":**\n";
|
||
lmod = label.replace(/\s+/g,"");
|
||
}
|
||
atext = atext + "***" + aspect + "***";
|
||
if ( typeof notes !== "undefined" && notes !== "" ) {
|
||
atext = atext + "\n"+ notes ;
|
||
}
|
||
if ( typeof lcount[lmod] === "undefined" ) {
|
||
lcount[lmod] = 0;
|
||
}
|
||
lcount[lmod]++;
|
||
var lkey = lmod + lcount[lmod];
|
||
if ( lcount[lmod] == 1 ) {
|
||
lkey = lmod;
|
||
}
|
||
lkey = "Aspect-" + lkey;
|
||
attrs[lkey] = aspect;
|
||
}
|
||
attrs["aspectlist"] = atext;
|
||
log("Done parsing aspect list"); log(attrs);
|
||
setAttrs(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:repeating_skills:skill change:repeating_skills:rating change:repeating_skills:bonus remove:repeating_skills change:skillstyle change:repeating_stunts:skill change:repeating_extras:skill change:rolltally", function() {
|
||
loadSkills("change:repeating_skills:skill change:repeating_skills:rating change:repeating_skills:bonus remove:repeating_skills change:skillstyle change:repeating_stunts:skill change:repeating_extras:skill change:rolltally");
|
||
});
|
||
|
||
on("sheet:opened change:repeating_stunts remove:repeating_stunts", function() {
|
||
log("Event: Stunts change");
|
||
getSectionIDs("stunts", function(list) {
|
||
log("parsing stunt list");
|
||
var attrs = { stuntcount: list.length };
|
||
var slist = [];
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
slist[i*2] = "repeating_stunts_" + list[i] + "_name";
|
||
slist[i*2+1] = "repeating_stunts_" + list[i] + "_desc";
|
||
}
|
||
getAttrs(slist,function(stunts) {
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
var stuntkey = "repeating_stunts_" + list[i] + "_name";
|
||
var desckey = "repeating_stunts_" + list[i] + "_desc";
|
||
var snum = i + 1;
|
||
var atstunt = "Stunt-Name-" + snum;
|
||
var atstuntd = "Stunt-Desc-" + snum;
|
||
var atstuntf = "Stunt-" + snum;
|
||
attrs[atstunt] = stunts[stuntkey];
|
||
attrs[atstuntd] = stunts[desckey];
|
||
attrs[atstuntf] = stunts[stuntkey] + ": " + stunts[desckey];
|
||
}
|
||
setAttrs(attrs);
|
||
log("stunt list parsed"); log(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("sheet:opened change:repeating_consequences remove:repeating_consequences", function() {
|
||
log("Event: Consequences change");
|
||
getSectionIDs("consequences", function(list) {
|
||
log("parsing consequence list");
|
||
var attrs = {};
|
||
var slist = [];
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
slist[i*4] = "repeating_consequences_" + list[i] + "_label";
|
||
slist[i*4+1] = "repeating_consequences_" + list[i] + "_track";
|
||
slist[i*4+2] = "repeating_consequences_" + list[i] + "_trackcheck";
|
||
slist[i*4+3] = "repeating_consequences_" + list[i] + "_aspect";
|
||
}
|
||
getAttrs(slist,function(c) {
|
||
var lcheck = {};
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
var ckey = "repeating_consequences_" + list[i] + "_label";
|
||
var tkey = "repeating_consequences_" + list[i] + "_track";
|
||
var akey = "repeating_consequences_" + list[i] + "_aspect";
|
||
var tckey = "repeating_consequences_" + list[i] + "_trackcheck";
|
||
var checked = false;
|
||
if ( c[tckey] == "1" ) {
|
||
checked = true;
|
||
}
|
||
var aspect = c[akey];
|
||
var value = Number(c[tkey]);
|
||
var remaining = value;
|
||
if ( checked ) { remaining = 0; }
|
||
var label = c[ckey];
|
||
label = label.replace(/[^A-Za-z0-9]/g,"");
|
||
if ( typeof lcheck[label] === "undefined" ) {
|
||
lcheck[label] = 0;
|
||
}
|
||
lcheck[label]++;
|
||
if ( lcheck[label] > 1 ) {
|
||
label = label + lcheck[label];
|
||
}
|
||
label = "Consequence-" + label;
|
||
attrs[label] = aspect;
|
||
attrs[label+"-Total"] = value;
|
||
attrs[label+"-Remaining"] = remaining;
|
||
attrs[label+"-Marked"] = checked;
|
||
}
|
||
setAttrs(attrs);
|
||
log("consequence list parsed"); log(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("sheet:opened change:repeating_stress remove:repeating_stress", function() {
|
||
log("Event: Stress change");
|
||
getSectionIDs("stress", function(list) {
|
||
log("parsing stress list");
|
||
var attrs = {};
|
||
var slist = [];
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
slist[i*20] = "repeating_stress_" + list[i] + "_label";
|
||
slist[i*20+1] = "repeating_stress_" + list[i] + "_track";
|
||
for ( var j = 1; j < 10; j++ ) {
|
||
slist[i*20+j*2] = "repeating_stress_" + list[i] + "_track" + j;
|
||
slist[i*20+j*2+1] = "repeating_stress_" + list[i] + "_check" + j;
|
||
}
|
||
}
|
||
getAttrs(slist,function(c) {
|
||
var lcheck = {};
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
var lkey = "repeating_stress_" + list[i] + "_label";
|
||
var tkey = "repeating_stress_" + list[i] + "_track";
|
||
var tally = 0; var remaining = 0;
|
||
for ( var j = 1; j <= Number(c[tkey]); j++ ) {
|
||
var vakey = "repeating_stress_" + list[i] + "_track" + j;
|
||
var chkey = "repeating_stress_" + list[i] + "_check" + j;
|
||
var value = Number(c[vakey]);
|
||
if ( isNaN(value) || value == 0 ) {
|
||
value = 1;
|
||
}
|
||
var count = 1;
|
||
if ( c[chkey] == "1" ) {
|
||
count = 0;
|
||
}
|
||
tally += value;
|
||
remaining += value*count;
|
||
}
|
||
var label = c[lkey];
|
||
label = label.replace(/[^A-Za-z0-9]/g,"");
|
||
if ( label == "" ) { label = "Track"; }
|
||
if ( typeof lcheck[label] === "undefined" ) {
|
||
lcheck[label] = 0;
|
||
}
|
||
lcheck[label]++;
|
||
if ( lcheck[label] > 1 ) {
|
||
label = label + lcheck[label];
|
||
}
|
||
label = "Stress-" + label;
|
||
attrs[label+"-Total"] = tally;
|
||
attrs[label+"-Remaining"] = remaining;
|
||
attrs[label+"-Used"] = tally - remaining;
|
||
attrs[label+"-Length"] = c[tkey];
|
||
}
|
||
setAttrs(attrs);
|
||
log("stress list parsed"); log(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("sheet:opened change:repeating_conditions remove:repeating_conditions", function() {
|
||
log("Event: Condition change");
|
||
getSectionIDs("conditions", function(list) {
|
||
log("parsing conditions list");
|
||
var attrs = {};
|
||
var slist = [];
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
slist[i*20] = "repeating_conditions_" + list[i] + "_label";
|
||
slist[i*20+1] = "repeating_conditions_" + list[i] + "_track";
|
||
for ( var j = 1; j < 10; j++ ) {
|
||
slist[i*20+j*2] = "repeating_conditions_" + list[i] + "_track" + j;
|
||
slist[i*20+j*2+1] = "repeating_conditions_" + list[i] + "_check" + j;
|
||
}
|
||
}
|
||
getAttrs(slist,function(c) {
|
||
var lcheck = {};
|
||
for ( var i = 0; i < list.length; i++ ) {
|
||
var lkey = "repeating_conditions_" + list[i] + "_label";
|
||
var tkey = "repeating_conditions_" + list[i] + "_track";
|
||
var tally = 0; var remaining = 0;
|
||
for ( var j = 1; j <= Number(c[tkey]); j++ ) {
|
||
var vakey = "repeating_conditions_" + list[i] + "_track" + j;
|
||
var chkey = "repeating_conditions_" + list[i] + "_check" + j;
|
||
var value = Number(c[vakey]);
|
||
if ( isNaN(value) || value == 0 ) {
|
||
value = 1;
|
||
}
|
||
var count = 1;
|
||
if ( c[chkey] == "1" ) {
|
||
count = 0;
|
||
}
|
||
tally += value;
|
||
remaining += value*count;
|
||
}
|
||
var label = c[lkey];
|
||
label = label.replace(/[^A-Za-z0-9]/g,"");
|
||
if ( label == "" ) { label = "Track"; }
|
||
if ( typeof lcheck[label] === "undefined" ) {
|
||
lcheck[label] = 0;
|
||
}
|
||
lcheck[label]++;
|
||
if ( lcheck[label] > 1 ) {
|
||
label = label + lcheck[label];
|
||
}
|
||
label = "Condition-" + label;
|
||
attrs[label+"-Total"] = tally;
|
||
attrs[label+"-Remaining"] = remaining;
|
||
attrs[label+"-Used"] = tally - remaining;
|
||
attrs[label+"-Length"] = c[tkey];
|
||
}
|
||
setAttrs(attrs);
|
||
log("conditions list parsed"); log(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
on("change:addskills", function() {
|
||
log("Event: addskills change");
|
||
getAttrs(["addskills"], function(values) {
|
||
if ( values.addskills !== "" ) {
|
||
log("addskills: non null skill set detected");
|
||
addSkills(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:addrole", function() {
|
||
log("Event: addrole change");
|
||
getAttrs(["addrole"], function(values) {
|
||
if ( values.addrole !== "" ) {
|
||
log("addrole: non null role detected");
|
||
addRole(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:addpackage", function() {
|
||
log("Event: addpackage change");
|
||
getAttrs(["addpackage"], function(values) {
|
||
if ( values.addpackage !== "" ) {
|
||
log("addpackage: non null package detected");
|
||
addPackages(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:addmode", function() {
|
||
log("Event: addmode change");
|
||
getAttrs(["addmode"], function(values) {
|
||
if ( values.addmode !== "" ) {
|
||
log("addmode: non null mode detected");
|
||
addMode(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:addstress", function() {
|
||
log("Event: addstress change");
|
||
getAttrs(["addstress"], function(values) {
|
||
if ( values.addstress !== "" ) {
|
||
log("addstress: non null stress detected");
|
||
addStress(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:addcondition", function() {
|
||
log("Event: addcondition change");
|
||
getAttrs(["addcondition"], function(values) {
|
||
if ( values.addcondition !== "" ) {
|
||
log("addcondition: non null condition detected");
|
||
addCondition(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:addconsequence", function() {
|
||
log("Event: addconsequence change");
|
||
getAttrs(["addconsequence"], function(values) {
|
||
if ( values.addconsequence !== "" ) {
|
||
log("addconsequence: non null consequence detected");
|
||
addConsequence(values);
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:setgame sheet:opened", function() {
|
||
log("Event: setgame change");
|
||
getAttrs(["setgame","uninitialized","importsheetdata"], function(values) {
|
||
if ( values.setgame !== "" ) {
|
||
log("setgame: non null setgame detected");
|
||
if ( values.importsheetdata !== "" ) {
|
||
log("setgame: sheet has non-null importsheetdata, and as such shouldn't load any presets");
|
||
} else if ( values.uninitialized == "1" ) {
|
||
log("setgame: sheet has not been initialized");
|
||
loadGame(values.setgame);
|
||
} else {
|
||
log("setgame: sheet already initialized");
|
||
}
|
||
} else {
|
||
log("setgame: setgame is empty");
|
||
}
|
||
});
|
||
});
|
||
|
||
/* {
|
||
sourceAttribute: "repeating_powers_-masp7kp27-3lpaymwxw_sfxmenu",
|
||
sourceType: "player",
|
||
triggerName: "repeating_powers_-masp7kp27-3lpaymwxw_sfxmenu",
|
||
newValue: "fx1"
|
||
} */
|
||
|
||
on("change:repeating_powers:sfxmenu", function(e) {
|
||
if ( typeof e.newValue !== "undefined" && e.newValue !== "" ) {
|
||
log("repeating_powers:sfxmenu non null choice detected " + e.newValue);
|
||
var attrs = {};
|
||
attrs[e.sourceAttribute] = ""; // Make sure to reset the addfx menu
|
||
var fxid = e.sourceAttribute.replace(/_sfxmenu$/,"_sfx");
|
||
var text = gtbk(e.newValue);
|
||
if ( text !== false ) { // I shouldn't need to do this check, but of course things are still getting to this point despite the check to make sure e.newValue isn't null.
|
||
getAttrs([fxid], function(v) {
|
||
var newtext = v[fxid];
|
||
if ( newtext !== "" ) {
|
||
newtext = newtext + " ";
|
||
}
|
||
newtext = newtext + text + " ";
|
||
attrs[fxid] = newtext;
|
||
setAttrs(attrs,{silent:true}); // Silent because we don't need to trigger a second run through this same handler
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
on("change:repeating_extras:rating", function(e) {
|
||
if ( typeof e.newValue !== "undefined" && e.newValue !== "" ) {
|
||
log("repeating_extras:rating non null choice detected " + e.newValue);
|
||
var attrs = {};
|
||
var wordid = e.sourceAttribute.replace(/_rating$/,"_word");
|
||
var word = gtbk("rating"+e.newValue);
|
||
if ( word === false ) {
|
||
word = e.newValue;
|
||
}
|
||
attrs[wordid] = word;
|
||
setAttrs(attrs);
|
||
}
|
||
});
|
||
|
||
// A function from wiki.roll20.net/Sheet_Worker_Scripts that gets you section IDs in their order of display
|
||
|
||
var getSectionIDsOrdered = function (sectionName, callback) {
|
||
'use strict';
|
||
getAttrs([`_reporder_${sectionName}`], function (v) {
|
||
getSectionIDs(sectionName, function (idArray) {
|
||
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],
|
||
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];
|
||
callback(ids);
|
||
});
|
||
});
|
||
};
|
||
|
||
// Creating a handler to make sure that extras are divided up by/attached to title elements. ZOD
|
||
|
||
on("change:extrasfilter change:repeating_extras sheet:opened", function(e) {
|
||
getSectionIDsOrdered("extras", function(x) {
|
||
log("Extras grouping handler activated");
|
||
// We really only care about these fields:
|
||
// - element, which is the type-of-element indicator, and
|
||
// - name, which will contain the name of a title element, for filtering purposes
|
||
// - hideme, which will contain a 1 if it should be hidden and a 0 if it shouldn't, based on filter text
|
||
//
|
||
// hideme = 0 or 1, extrasfilter = <string>
|
||
log(x);
|
||
var fieldlist = ['extrasfilter'];
|
||
for(var i=0; i < x.length; i++) {
|
||
fieldlist[i*3+1] = "repeating_extras_" + x[i] + "_hideme";
|
||
fieldlist[i*3+2] = "repeating_extras_" + x[i] + "_element";
|
||
fieldlist[i*3+3] = "repeating_extras_" + x[i] + "_name";
|
||
}
|
||
getAttrs(fieldlist, function(ext) {
|
||
log(ext);
|
||
var att = {};
|
||
var hidestate = 0;
|
||
const spacetrim = /[ ]*$/;
|
||
var empty = false;
|
||
var searcher = '';
|
||
if( ext['extrasfilter'].replace(spacetrim) == "" ) {
|
||
empty = true;
|
||
} else {
|
||
searcher = new RegExp(ext['extrasfilter'],'i');
|
||
}
|
||
for(var i=0; i < x.length; i++) {
|
||
if ( empty ) {
|
||
att['repeating_extras_' + x[i] + "_hideme" ] = "0";
|
||
} else {
|
||
var el = ext["repeating_extras_" + x[i] + "_element"];
|
||
var na = ext["repeating_extras_" + x[i] + "_name"];
|
||
if ( el == "title" ) {
|
||
log("title element found " + na);
|
||
if ( searcher.test(na) ) {
|
||
log("matches filter");
|
||
hidestate = 0;
|
||
} else {
|
||
log("does not match filter");
|
||
hidestate = 1;
|
||
}
|
||
}
|
||
att['repeating_extras_' + x[i] + "_hideme" ] = hidestate;
|
||
}
|
||
}
|
||
log(att);
|
||
setAttrs(att);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:repeating_skills:rollthis change:combomulti", function(e) {
|
||
log("rollthis or combomulti marked in repeating_skills - skill combo feature");
|
||
log(e);
|
||
getSectionIDs("skills", function(list) {
|
||
var fieldlist = ["combomulti"];
|
||
for(var i=0; i < list.length; i++) {
|
||
fieldlist[i*5+1] = "repeating_skills_" + list[i] + "_skill"; // Name of skill
|
||
fieldlist[i*5+2] = "repeating_skills_" + list[i] + "_rating"; // skill's base rating
|
||
fieldlist[i*5+3] = "repeating_skills_" + list[i] + "_bonus"; // skill's bonus from externals
|
||
fieldlist[i*5+4] = "repeating_skills_" + list[i] + "_rollthis"; // indicates if selected
|
||
fieldlist[i*5+5] = "repeating_skills_" + list[i] + "_column"; // indicates which column skill is in
|
||
}
|
||
getAttrs(fieldlist, function(v) {
|
||
var attrs = {};
|
||
attrs["combotally"] = 0;
|
||
attrs["combotext"] = "";
|
||
var colused = [false,false,false,false]; // The 0 position is n/a, but I don't care, convenient this way
|
||
var multi = v["combomulti"];
|
||
if ( e.sourceAttribute !== "combomulti" && multi !== "1" && e.newValue == "1" ) {
|
||
log("we have a situation where the triggering attribute is not combomulti, and combomulti is disabled (meaning multiple selections from the same column are disallowed), and the triggering attribute was toggled on; therefore we must make sure only the triggering attribute is counted for that column");
|
||
var columnid = e.sourceAttribute.replace(/_rollthis$/,"_column");
|
||
var mycol = v[columnid];
|
||
for(var i=0; i < list.length; i++ ) {
|
||
var rtname = "repeating_skills_" + list[i] + "_rollthis";
|
||
var thiscolid = "repeating_skills_" + list[i] + "_column";
|
||
var thiscol = v[thiscolid];
|
||
if ( rtname !== e.sourceAttribute && v[rtname] == "1" && thiscol == mycol ) {
|
||
v[rtname] = "0"; // Overwrite the current value as loaded, so it's treated right in the coming for loop
|
||
attrs[rtname] = "0"; // Ensure the current value for this non-matching entity is set to 'don't roll it'
|
||
}
|
||
}
|
||
}
|
||
for(var i=0; i < list.length; i++ ) {
|
||
var skill = v["repeating_skills_" + list[i] + "_skill"];
|
||
var rating = v["repeating_skills_" + list[i] + "_rating"];
|
||
var bonus = v["repeating_skills_" + list[i] + "_bonus"];
|
||
var include = v["repeating_skills_" + list[i] + "_rollthis"];
|
||
var column = v["repeating_skills_" + list[i] + "_column"];
|
||
if( include == "1" ) {
|
||
if ( multi !== "1" && colused[Number(column)] == true ) {
|
||
if ( e.sourceAttribute === "combomulti" && e.newValue === "0" ) {
|
||
log("combomulti attribute toggled off this time, need to clear up this extra entry in the column");
|
||
attrs["repeating_skills_" + list[i] + "_rollthis"] = "0";
|
||
}
|
||
continue; // Skip this iteration, as you've already got one element from the given column
|
||
}
|
||
colused[Number(column)] = true;
|
||
attrs["combotally"] = attrs["combotally"] + Number(bonus) + Number(rating);
|
||
if ( attrs["combotext"] !== "" ) {
|
||
attrs["combotext"] = attrs["combotext"] + " + ";
|
||
}
|
||
attrs["combotext"] = attrs["combotext"] + skill;
|
||
}
|
||
}
|
||
setAttrs(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:repeating_aspects:rollthis", function(e) {
|
||
log("rollthis marked in repeating_aspects");
|
||
getSectionIDs("aspects", function(list) {
|
||
var fieldlist = [];
|
||
for(var i=0; i < list.length; i++ ) {
|
||
fieldlist[i*3] = "repeating_aspects_" + list[i] + "_rollthis";
|
||
fieldlist[i*3+1] = "repeating_aspects_" + list[i] + "_rollvalue";
|
||
fieldlist[i*3+2] = "repeating_aspects_" + list[i] + "_aspect";
|
||
}
|
||
getAttrs(fieldlist, function(v) {
|
||
var attrs = {};
|
||
log(v);
|
||
attrs["rolltally"] = 0;
|
||
attrs["rolllist"] = "";
|
||
for(var i=0; i < list.length; i++ ) {
|
||
var include = v["repeating_aspects_" + list[i] + "_rollthis"];
|
||
var bonus = v["repeating_aspects_" + list[i] + "_rollvalue"];
|
||
var aspect = v["repeating_aspects_" + list[i] + "_aspect"];
|
||
log("include: " + include);
|
||
log("bonus: " + bonus);
|
||
log("aspect: " + aspect);
|
||
if ( include == "1" ) {
|
||
attrs["rolltally"] = attrs["rolltally"] + Number(bonus);
|
||
if ( attrs["rolllist"] === "" ) {
|
||
attrs["rolllist"] = aspect + "(+" + bonus + ")";
|
||
} else {
|
||
attrs["rolllist"] = attrs["rolllist"] + "; " + aspect + "(+" + bonus + ")";
|
||
}
|
||
}
|
||
}
|
||
setAttrs(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("clicked:repeating_swaps:importswap", function(e) {
|
||
const rowprefix = (e.sourceAttribute).slice(0,-10); // Strips off the importswap
|
||
const skillsid = rowprefix + "skills";
|
||
getSectionIDs("skills", function(s) {
|
||
var fields = [];
|
||
for(var i=0; i < s.length; i++) {
|
||
fields[i*2] = "repeating_skills_" + s[i] + "_skill";
|
||
fields[i*2+1] = "repeating_skills_" + s[i] + "_rating";
|
||
}
|
||
getAttrs(fields, function(v) {
|
||
var attrs = {};
|
||
attrs[skillsid] = "";
|
||
for(var i=0; i < s.length; i++) {
|
||
const sid = "repeating_skills_" + s[i] + "_skill";
|
||
const rid = "repeating_skills_" + s[i] + "_rating";
|
||
if ( i > 0 ) {
|
||
attrs[skillsid] += ", ";
|
||
}
|
||
attrs[skillsid] += v[sid] + ":" + v[rid];
|
||
}
|
||
setAttrs(attrs);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:repeating_swaps:skills", function(e) {
|
||
log("change:repeating_swaps:skills");
|
||
log(e);
|
||
const skillsid = e.sourceAttribute;
|
||
getAttrs([skillsid], function(s) {
|
||
var stext = s[skillsid];
|
||
stext = stext.replace(/\n/g," ");
|
||
stext = stext.replace(/ */g," ");
|
||
stext = stext.replace(/^ */,"");
|
||
stext = stext.replace(/ *$/,"");
|
||
var attrs = {};
|
||
attrs[skillsid] = stext;
|
||
setAttrs(attrs,{silent:true});
|
||
});
|
||
})
|
||
|
||
on("clicked:repeating_swaps:loadswap", function(e) {
|
||
const rowprefix = (e.sourceAttribute).slice(0,-8); // Strips off the loadswap
|
||
const skillsid = rowprefix + "skills";
|
||
getAttrs([skillsid], function(l) {
|
||
var list = l[skillsid].toString().split(/\s*,\s*/);
|
||
var rates = {};
|
||
for(var i = 0; i < list.length; i++) {
|
||
var parts = list[i].toString().split(/\s*:\s*/);
|
||
rates[parts[0]] = Number(parts[1]);
|
||
}
|
||
getSectionIDs("skills", function(s) {
|
||
const lid = rowprefix + "label";
|
||
var fields = [ lid ];
|
||
for(var i=0; i < s.length; i++) {
|
||
fields[1+i*2] = "repeating_skills_" + s[i] + "_skill";
|
||
fields[1+i*2+1] = "repeating_skills_" + s[i] + "_rating";
|
||
}
|
||
getAttrs(fields, function(v) {
|
||
var attrs = { "lastswapped": "(" + v[lid] + ")" };
|
||
for(var i=0; i < s.length; i++) {
|
||
const sid = "repeating_skills_" + s[i] + "_skill";
|
||
const rid = "repeating_skills_" + s[i] + "_rating";
|
||
const skill = v[sid];
|
||
const rating = Number(v[rid]);
|
||
if ( typeof rates[skill] !== "undefined") {
|
||
// Then we have a skill that matches one of the loadable's skills
|
||
if ( rating != rates[skill] ) {
|
||
attrs[rid] = rates[skill];
|
||
log("Changing "+skill+" rating to "+rates[skill]);
|
||
}
|
||
}
|
||
}
|
||
setAttrs(attrs,{silent:true},function() { loadSkills("clicked:repeating_swaps:loadswap") });
|
||
});
|
||
});
|
||
});
|
||
});
|
||
|
||
//
|
||
// COMPENDIUM EXPORT/IMPORT SUPPORT AREA
|
||
//
|
||
|
||
// a bunch of skill-rowX-Y attributes exist, but those
|
||
// should be created as skill list gets populated and/or
|
||
// sheet gets opened
|
||
//
|
||
// Similarly there are a few action-triggering attributes
|
||
// like "addskills", etc, which aren't a part of this as
|
||
// their at-rest state is empty anyway.
|
||
|
||
const attributes = [
|
||
"character_name", "uninitialized", "SheetOptions", "Show-Aspects", "Show-Combinable", "Show-Conditions", "Show-Consequences", "Show-Corruption", "Show-Diceprompts", "Show-Extras", "Show-FP", "Show-Logo", "Show-Modes", "Show-Notes", "Show-Packages", "Show-Powers", "Show-Refresh", "Show-Roles", "Show-RollableAspects", "Show-Skills", "Show-Skillswaps", "Show-Stress", "Show-Stunts", "Show-TempAspects", "EditAspects", "EditCombos", "EditConditions", "EditConsequences", "EditExtras", "EditModes", "EditNotes", "EditPackages", "EditPowers", "EditRoles", "EditSkills", "EditStress", "EditStunts", "EditSwaps", "EditTempAspects", "aspectlist", "combomulti", "combotally", "combotext", "combocol1", "combocol2", "combocol3", "corruption", "custom-aspects", "custom-combos", "custom-conditions", "custom-consequences", "custom-skills", "custom-stress", "focused", "fp", "lastswapped", "pronouns", "refresh", "rolllist", "rolltally", "setgame", "skillcount", "SkillStyle", "specialized", "stuntcount", "theme"
|
||
];
|
||
|
||
const fieldsets = {
|
||
aspects: [
|
||
"category","label","aspect","flags","invokes",
|
||
"rollvalue","notes","rollthis","options",
|
||
"check1","check2","check3","check4","check5",
|
||
"check6","check7","check8","check9","check10"
|
||
],
|
||
skills: [
|
||
"skill","rating","bonus","column","rating-word",
|
||
"rollthis"
|
||
],
|
||
stunts: [
|
||
"name","desc","skill","skillvalue","bonus","rollable"
|
||
],
|
||
stress: [
|
||
"label","track","notes","options",
|
||
"track1","track2","track3","track4","track5",
|
||
"track6","track7","track8","track9","track10",
|
||
"check1","check2","check3","check4","check5",
|
||
"check6","check7","check8","check9","check10"
|
||
],
|
||
consequences: [
|
||
"label","track","trackcheck","recovery","aspect"
|
||
],
|
||
conditions: [
|
||
"label","track","notes","options",
|
||
"track1","track2","track3","track4","track5",
|
||
"track6","track7","track8","track9","track10",
|
||
"check1","check2","check3","check4","check5",
|
||
"check6","check7","check8","check9","check10"
|
||
],
|
||
tempaspects: [
|
||
"aspect","invokes","notes","options",
|
||
"check1","check2","check3","check4","check5",
|
||
"check6","check7","check8","check9","check10"
|
||
],
|
||
modes: [
|
||
"mode","rating","word","skills"
|
||
],
|
||
roles: [
|
||
"role","skills"
|
||
],
|
||
swaps: [
|
||
"label","skills"
|
||
],
|
||
packages: [
|
||
"package","aspects","skills","stunts",
|
||
],
|
||
powers: [
|
||
"name","desc","breakdown","sfx","sfxmenu",
|
||
"drawbacks","collateral","cost"
|
||
],
|
||
extras: [
|
||
"element","name","label","icon","icon2","icon3",
|
||
"skill","rating","word","rollable","bonus",
|
||
"skillvalue","text","track",
|
||
"track1","track2","track3","track4","track5",
|
||
"track6","track7","track8","track9","track10",
|
||
"check1","check2","check3","check4","check5",
|
||
"check6","check7","check8","check9","check10"
|
||
],
|
||
notes: [
|
||
"name","desc"
|
||
]
|
||
};
|
||
|
||
// Deadly button: click it, and all your fieldset data goes bye-bye.
|
||
|
||
on("clicked:clearsheet", function(e) {
|
||
log("clear sheet clicked");
|
||
for(const [id,value] of Object.entries(fieldsets) ) {
|
||
log("working "+id);
|
||
getSectionIDs(id, function(clearme) {
|
||
log(clearme);
|
||
for(var i=0; i < clearme.length; i++) {
|
||
var rowid = "repeating_"+id+"_"+clearme[i];
|
||
removeRepeatingRow(rowid);
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
// This is the importer. Hopefully works clean!
|
||
// ZOD
|
||
|
||
on("change:importsheetdata sheet:opened", function() {
|
||
log("Event: importsheetdata change or sheet open");
|
||
getAttrs(["importsheetdata"], function(values) {
|
||
if ( values.importsheetdata !== "" ) { // Then it's gonna get processed.
|
||
log("importsheetdata: non null importablesheetdata detected");
|
||
var impsheet = JSON.parse(values.importsheetdata); // Hope this works!
|
||
var attrs = {};
|
||
var fsets = [];
|
||
if ( typeof(impsheet.attr) !== "undefined" ) {
|
||
attrs = impsheet.attr; // this should get us the "flat attributes" that are just gonna get overwritten, as our starter object
|
||
}
|
||
if ( typeof(impsheet.fieldset) !== "undefined" ) {
|
||
fsets = impsheet.fieldset; // An array of objects each representing a row in one of the many fieldsets this sheet uses
|
||
}
|
||
attrs["importsheetdata"] = ""; // Initialize the import field now that we've read it in.
|
||
for(var i=0; i < fsets.length; i++) {
|
||
var row = fsets[i]; // This is an object
|
||
var fs = row["_fieldset"]; // This is the name of the fieldset the row's content goes into
|
||
var newid = generateActuallyUniqueRowID(); // This gets us an actual unique row ID for the new entry
|
||
var rowprefix = "repeating_" + fs + "_" + newid + "_";
|
||
for(const [rowfield,rowcontent] of Object.entries(row) ) {
|
||
if ( rowfield !== "_fieldset" ) {
|
||
var rfname = rowprefix + rowfield;
|
||
attrs[rfname] = rowcontent;
|
||
}
|
||
}
|
||
}
|
||
log("Committing changes for importsheetdata")
|
||
setAttrs(attrs);
|
||
loadSkills("importsheetdata",{silent:false},function() { log("importsheetdata callback to loadSkills"); loadSkills("addSkills"); });
|
||
}
|
||
});
|
||
});
|
||
|
||
// all the fieldsets so far:
|
||
// aspects, skills, stunts, stress, consequences, conditions, tempaspects, modes, roles, swaps, packages, powers, extras, notes
|
||
// ZOD
|
||
|
||
on("clicked:exportsheetextrasonly", function(e) {
|
||
var exsheet = { "attr": {}, "fieldset": [] };
|
||
var fields = [];
|
||
getSectionIDs("extras", function(extrasList) {
|
||
var flist = fieldsets["extras"];
|
||
var fnames = [];
|
||
for(var i=0; i < extrasList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_extras_" + extrasList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
getAttrs(fields, function(v) {
|
||
log(v);
|
||
for(var i=0; i < extrasList.length; i++) {
|
||
var thisrow = { "_fieldset": "extras" };
|
||
for(var j=0; j < fieldsets["extras"].length; j++) {
|
||
thisrow[fieldsets["extras"][j]] = v["repeating_extras_" + extrasList[i] + "_" + fieldsets["extras"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
setAttrs({ "exportsheetdata": JSON.stringify(exsheet,null,"\t") });
|
||
});
|
||
});
|
||
});
|
||
|
||
on("clicked:exportsheet", function(e) {
|
||
var exsheet = { "attr": {}, "fieldset": [] };
|
||
var fields = [];
|
||
fields = fields.concat(attributes); // grab the list of flat non-fieldset attributes into the master fields list
|
||
|
||
getSectionIDs("aspects", function(aspectsList) {
|
||
var flist = fieldsets["aspects"];
|
||
var fnames = [];
|
||
for(var i=0; i < aspectsList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_aspects_" + aspectsList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("skills", function(skillsList) {
|
||
var flist = fieldsets["skills"];
|
||
var fnames = [];
|
||
for(var i=0; i < skillsList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_skills_" + skillsList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("stunts", function(stuntsList) {
|
||
var flist = fieldsets["stunts"];
|
||
var fnames = [];
|
||
for(var i=0; i < stuntsList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_stunts_" + stuntsList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("stress", function(stressList) {
|
||
var flist = fieldsets["stress"];
|
||
var fnames = [];
|
||
for(var i=0; i < stressList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_stress_" + stressList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("consequences", function(consequencesList) {
|
||
var flist = fieldsets["consequences"];
|
||
var fnames = [];
|
||
for(var i=0; i < consequencesList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_consequences_" + consequencesList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("conditions", function(conditionsList) {
|
||
var flist = fieldsets["conditions"];
|
||
var fnames = [];
|
||
for(var i=0; i < conditionsList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_conditions_" + conditionsList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("tempaspects", function(tempaspectsList) {
|
||
var flist = fieldsets["tempaspects"];
|
||
var fnames = [];
|
||
for(var i=0; i < tempaspectsList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_tempaspects_" + tempaspectsList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("modes", function(modesList) {
|
||
var flist = fieldsets["modes"];
|
||
var fnames = [];
|
||
for(var i=0; i < modesList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_modes_" + modesList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("roles", function(rolesList) {
|
||
var flist = fieldsets["roles"];
|
||
var fnames = [];
|
||
for(var i=0; i < rolesList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_roles_" + rolesList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("swaps", function(swapsList) {
|
||
var flist = fieldsets["swaps"];
|
||
var fnames = [];
|
||
for(var i=0; i < swapsList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_swaps_" + swapsList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("packages", function(packagesList) {
|
||
var flist = fieldsets["packages"];
|
||
var fnames = [];
|
||
for(var i=0; i < packagesList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_packages_" + packagesList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("powers", function(powersList) {
|
||
var flist = fieldsets["powers"];
|
||
var fnames = [];
|
||
for(var i=0; i < powersList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_powers_" + powersList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("extras", function(extrasList) {
|
||
var flist = fieldsets["extras"];
|
||
var fnames = [];
|
||
for(var i=0; i < extrasList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_extras_" + extrasList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
getSectionIDs("notes", function(notesList) {
|
||
var flist = fieldsets["notes"];
|
||
var fnames = [];
|
||
for(var i=0; i < notesList.length; i++) {
|
||
for(var j=0; j < flist.length; j++) {
|
||
fnames[i*flist.length+j] = "repeating_notes_" + notesList[i] + "_" + flist[j];
|
||
}
|
||
}
|
||
fields = fields.concat(fnames);
|
||
|
||
// We actually get ALL the data now
|
||
getAttrs(fields, function(v) {
|
||
log(v);
|
||
for(var i = 0; i < attributes.length; i++) {
|
||
var fname = attributes[i];
|
||
exsheet["attr"][fname] = v[fname];
|
||
}
|
||
for(var i=0; i < aspectsList.length; i++) {
|
||
var thisrow = { "_fieldset": "aspects" };
|
||
for(var j=0; j < fieldsets["aspects"].length; j++) {
|
||
thisrow[fieldsets["aspects"][j]] = v["repeating_aspects_" + aspectsList[i] + "_" + fieldsets["aspects"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < skillsList.length; i++) {
|
||
var thisrow = { "_fieldset": "skills" };
|
||
for(var j=0; j < fieldsets["skills"].length; j++) {
|
||
thisrow[fieldsets["skills"][j]] = v["repeating_skills_" + skillsList[i] + "_" + fieldsets["skills"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < stuntsList.length; i++) {
|
||
var thisrow = { "_fieldset": "stunts" };
|
||
for(var j=0; j < fieldsets["stunts"].length; j++) {
|
||
thisrow[fieldsets["stunts"][j]] = v["repeating_stunts_" + stuntsList[i] + "_" + fieldsets["stunts"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < stressList.length; i++) {
|
||
var thisrow = { "_fieldset": "stress" };
|
||
for(var j=0; j < fieldsets["stress"].length; j++) {
|
||
thisrow[fieldsets["stress"][j]] = v["repeating_stress_" + stressList[i] + "_" + fieldsets["stress"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < consequencesList.length; i++) {
|
||
var thisrow = { "_fieldset": "consequences" };
|
||
for(var j=0; j < fieldsets["consequences"].length; j++) {
|
||
thisrow[fieldsets["consequences"][j]] = v["repeating_consequences_" + consequencesList[i] + "_" + fieldsets["consequences"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < conditionsList.length; i++) {
|
||
var thisrow = { "_fieldset": "conditions" };
|
||
for(var j=0; j < fieldsets["conditions"].length; j++) {
|
||
thisrow[fieldsets["conditions"][j]] = v["repeating_conditions_" + conditionsList[i] + "_" + fieldsets["conditions"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < tempaspectsList.length; i++) {
|
||
var thisrow = { "_fieldset": "tempaspects" };
|
||
for(var j=0; j < fieldsets["tempaspects"].length; j++) {
|
||
thisrow[fieldsets["tempaspects"][j]] = v["repeating_tempaspects_" + tempaspectsList[i] + "_" + fieldsets["tempaspects"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < modesList.length; i++) {
|
||
var thisrow = { "_fieldset": "modes" };
|
||
for(var j=0; j < fieldsets["modes"].length; j++) {
|
||
thisrow[fieldsets["modes"][j]] = v["repeating_modes_" + modesList[i] + "_" + fieldsets["modes"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < rolesList.length; i++) {
|
||
var thisrow = { "_fieldset": "roles" };
|
||
for(var j=0; j < fieldsets["roles"].length; j++) {
|
||
thisrow[fieldsets["roles"][j]] = v["repeating_roles_" + rolesList[i] + "_" + fieldsets["roles"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < swapsList.length; i++) {
|
||
var thisrow = { "_fieldset": "swaps" };
|
||
for(var j=0; j < fieldsets["swaps"].length; j++) {
|
||
thisrow[fieldsets["swaps"][j]] = v["repeating_swaps_" + swapsList[i] + "_" + fieldsets["swaps"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < packagesList.length; i++) {
|
||
var thisrow = { "_fieldset": "packages" };
|
||
for(var j=0; j < fieldsets["packages"].length; j++) {
|
||
thisrow[fieldsets["packages"][j]] = v["repeating_packages_" + packagesList[i] + "_" + fieldsets["packages"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < powersList.length; i++) {
|
||
var thisrow = { "_fieldset": "powers" };
|
||
for(var j=0; j < fieldsets["powers"].length; j++) {
|
||
thisrow[fieldsets["powers"][j]] = v["repeating_powers_" + powersList[i] + "_" + fieldsets["powers"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < extrasList.length; i++) {
|
||
var thisrow = { "_fieldset": "extras" };
|
||
for(var j=0; j < fieldsets["extras"].length; j++) {
|
||
thisrow[fieldsets["extras"][j]] = v["repeating_extras_" + extrasList[i] + "_" + fieldsets["extras"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
for(var i=0; i < notesList.length; i++) {
|
||
var thisrow = { "_fieldset": "notes" };
|
||
for(var j=0; j < fieldsets["notes"].length; j++) {
|
||
thisrow[fieldsets["notes"][j]] = v["repeating_notes_" + notesList[i] + "_" + fieldsets["notes"][j]];
|
||
}
|
||
exsheet["fieldset"].push(thisrow);
|
||
}
|
||
|
||
// And finally, we stringify the object and set the export field value
|
||
setAttrs({ "exportsheetdata": JSON.stringify(exsheet,null,"\t") });
|
||
});
|
||
|
||
}); // notes
|
||
}); // extras
|
||
}); // powers
|
||
}); // packages
|
||
}); // swaps
|
||
}); // roles
|
||
}); // modes
|
||
}); // tempaspects
|
||
}); // conditions
|
||
}); // consequences
|
||
}); // stress
|
||
}); // stunts
|
||
}); // skills
|
||
}); // aspects
|
||
});
|
||
|
||
|
||
</script>
|
||
|