Multiple features added

- translation.json bugfix

- now possible to remove an aspect's label, so you can list multiple aspects in a row under the first one's label-header; necessitated moving option controls and flags display down onto the line for the aspect itself, as they were previously located next to the label, but if the label can now sometimes be empty/skipped, that's no longer appropriate.

- Rollable aspects can now have ratings as high as 10

- Combinable Skills now added to the sheet, supporting things like Two-Column Fate and other implementations that add two or more skills together for a roll. You'll need to flip the Combinable Skills setting on in order to see them on your sheet. Once you do you'll have controls available to pick which column each skill belongs in, and whether you're allowed to pick multiple skills from the same column. Once your skills are placed in the columns as desired, you may click a checkmark next to the ones you wish to combine for a roll. Once you do a button will appear at the top of the section allowing you to roll your selected combination.
This commit is contained in:
fredhicks
2021-05-12 18:27:19 -04:00
parent a7319b4245
commit 0bd81bad89
4 changed files with 463 additions and 388 deletions
+39
View File
@@ -468,6 +468,7 @@ input.sheet-icon[value="blank"] + span.sheet-icon::before {
padding: 10px;
}
.sheet-ComboColumn .repcontrol,
.sheet-AspectDisplay .repcontrol,
.sheet-TrackDisplay .repcontrol,
.sheet-StuntDisplay .repcontrol,
@@ -688,12 +689,28 @@ input.sheet-icon[value="blank"] + span.sheet-icon::before {
display: none;
}
.sheet-SkillColumnFirst,
.sheet-SkillColumnSecond,
.sheet-SkillColumnThird,
.sheet-SkillNone,
.sheet-SkillList,
.sheet-SkillGrid {
display: none;
}
input[value=""] + .sheet-SkillColumnFirst,
input[value="1"] + .sheet-SkillColumnFirst {
display: initial;
}
input[value="2"] + .sheet-SkillColumnSecond {
display: initial;
}
input[value="3"] + .sheet-SkillColumnThird {
display: initial;
}
input[value="none"] ~ .sheet-SkillNone {
display: block;
}
@@ -934,6 +951,7 @@ input[type="checkbox"].sheet-checkbox + span.sheet-optionsbox::before {
input[type="checkbox"].sheet-checkbox:checked + span.sheet-optionsbox::before {
content: "2";
font-style: normal;
}
input[type="checkbox"].sheet-checkbox + span.sheet-checker::before {
@@ -1041,6 +1059,19 @@ input[type="checkbox"].sheet-deeptrigger:checked ~ * .sheet-deeptriggered {
display: initial;
}
/* Skill Combo Columns */
.sheet-ComboColumns {
display: flex;
}
.sheet-ComboColumn {
flex-flow: column;
padding-right: 6px;
padding-left: 6px;
white-space: nowrap;
}
/* Corruption */
.sheet-CorrClock {
@@ -1349,6 +1380,7 @@ button[type="roll"].sheet-share {
}
input[value="blue"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="blue"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="blue"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="blue"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="blue"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
@@ -1484,6 +1516,7 @@ input[value="blue"].sheet-theme + .sheet-Wrapper .sheet-SkillEdit > .repcontaine
}
input[value="green"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="green"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="green"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="green"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="green"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
@@ -1619,6 +1652,7 @@ input[value="green"].sheet-theme + .sheet-Wrapper .sheet-SkillEdit > .repcontain
}
input[value="purple"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="purple"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="purple"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="purple"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="purple"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
@@ -1754,6 +1788,7 @@ input[value="purple"].sheet-theme + .sheet-Wrapper .sheet-SkillEdit > .repcontai
}
input[value="cthulhu"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="cthulhu"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="cthulhu"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="cthulhu"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="cthulhu"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
@@ -1889,6 +1924,7 @@ input[value="cthulhu"].sheet-theme + .sheet-Wrapper .sheet-SkillEdit > .repconta
}
input[value="evilhat"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="evilhat"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="evilhat"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="evilhat"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="evilhat"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
@@ -2028,6 +2064,7 @@ input[value="evilhat"].sheet-theme + .sheet-Wrapper .sheet-SkillEdit > .repconta
}
input[value="gray"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="gray"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="gray"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="gray"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="gray"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
@@ -2165,6 +2202,7 @@ input[value="gray"].sheet-theme + .sheet-Wrapper .sheet-SkillEdit > .repcontaine
}
input[value="shotc"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="shotc"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="shotc"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="shotc"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="shotc"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
@@ -2300,6 +2338,7 @@ input[value="shotc"].sheet-theme + .sheet-Wrapper .sheet-SkillEdit > .repcontain
}
input[value="orange"].sheet-theme + .sheet-Wrapper .sheet-share,
input[value="orange"].sheet-theme + .sheet-Wrapper .sheet-optionsbox,
input[value="orange"].sheet-theme + .sheet-Wrapper .sheet-OptionsTitleBar,
input[value="orange"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checker::before,
input[value="orange"].sheet-theme + .sheet-Wrapper input[type="checkbox"].sheet-checkbox:checked + span.sheet-checkmark::before,
+158 -17
View File
@@ -58,6 +58,7 @@
<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>
@@ -311,6 +312,85 @@
</div>
<!-- / Swappable Skillsets -->
<!-- Combinable Skills -->
<input type="checkbox" class="triggerbox" name="attr_Show-Combinable" value="1">
<div class="SkillCell">
<div class="SectionHeader">
<span><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></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"></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> <!-- 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="&{template:fateroll} {{theme=@{theme}}} {{name=@{character_name}: @{combotext}}} {{roll=[[4dF+@{combotally}+@{Show-Diceprompts}]]}}" name="roll_SkillRoll">
<b><span name="attr_combotext"></span></b>
=
<span name="attr_combotally"></span>
</button>
</div>
</div>
<div class="ComboColumns">
<div class="ComboColumn">
<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">
<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">
<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">
@@ -330,6 +410,7 @@
<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">
@@ -1083,7 +1164,7 @@
<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"></span></b></div>
<!-- input type="hidden" class="hideUnlessNull" name="attr_label" value=""><div class="fieldlabel"><b><span data-i18n="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>
@@ -1231,7 +1312,7 @@
<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="Aspect">
<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>
@@ -1242,7 +1323,7 @@
</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> </select>
<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%;">
@@ -1255,14 +1336,25 @@
<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">
<div class="AspectLabelBar">
<input type="hidden" value="" name="attr_label" class="hideIfNull"><div class="AspectLabelBar">
<span class="label">
<span name="attr_label"></span>
<input type="hidden" value="" name="attr_flags" class="hideIfNull"><span>(<span name="attr_flags"></span>)</span>
</span>
</div>
<div>
<span class="deeptriggered"><input type="checkbox" class="triggerbox" name="attr_rollthis" value="1"><span>(+<span name="attr_rollvalue"></span>)</span></span>
<span class="deeptriggered"><input type="checkbox" class="checkbox" name="attr_rollthis" value="1"><span class="checkmark"></span></span>
<span name="attr_aspect" class="name"></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">
@@ -1284,7 +1376,7 @@
</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> </select>
<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>
@@ -1293,17 +1385,6 @@
</div>
</div>
</div>
<div class="name">
<span class="deeptriggered"><input type="checkbox" class="checkbox" name="attr_rollthis" value="1"><span class="checkmark"></span></span>
<span name="attr_aspect"></span>
<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="">
<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_rollvalue" value="1">
<span class="deeptriggered"><input type="checkbox" class="triggerbox" name="attr_rollthis" value="1"><span>(+<span name="attr_rollvalue"></span>)</span></span>
</div>
<div class="notes">
<span name="attr_notes"></span>
</div>
@@ -3130,6 +3211,7 @@ var addSkills = function(values) {
var skillid = "repeating_skills_" + newid + "_skill";
attrs[skillid] = skillname;
attrs["repeating_skills_" + newid + "_rating"] = 0;
attrs["repeating_skills_" + newid + "_column"] = 1;
// 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;
@@ -3882,6 +3964,65 @@ on("change:repeating_extras:rating", function(e) {
}
});
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" ) { // ZOD
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) {
+263 -371
View File
@@ -1,373 +1,265 @@
{
"html": "FateOmni.html",
"css": "FateOmni.css",
"authors": "Fred Hicks (Evil Hat Productions)",
"roll20userid": "3844812 (Evil Hat Productions)",
"preview": "FateOmni.png",
"instructions": "For more information about this highly versatile sheet, check out our series of posts at Evil Hat: https://www.evilhat.com/home/fate-on-roll20-part-1-character-sheet-setup/ -- and if you run into any issues, have suggestions, or anything else, please reach out to Evil Hat at feedback@evilhat.com. If you're a sheet developer and looking to make changes to this sheet's code, don't. We maintain an external copy as the authoritative source; problems that emerge with the sheet are our customer service problem, not yours. Changes you make are likely to be erased. So talk to us before making changes.",
"useroptions": [
{
"attribute": "setgame",
"displayname": "Preload character sheet configuration for",
"displaytranslationkey": "preload-for",
"type": "select",
"options": [
"Don't Pre-Configure|none",
"Custom Build With Options Below|custom",
"Fate Core|fcore",
"Fate Condensed|fcon",
"Fate Accelerated|fae",
"3 Rocketeers|threerocketeers",
"Atomic Robo|robo",
"Dresden Files Accelerated|dfa",
"Fate of Cthulhu|foc",
"Kaiju Incorporated|kaijuinc",
"Ngen Mapu|ngen",
"Secrets of Cats|cats",
"Shadow of the Century|shotc",
"Tachyon Squadron|tachyon",
"Venture City|venture"
],
"optiontranslationkeys": [
"noset",
"custom-build",
"fcore",
"fcon",
"fae",
"threerocketeers",
"robo",
"dfa",
"foc",
"kaijuinc",
"ngen",
"cats",
"shotc",
"tachyon",
"venture"
],
"value": "none",
"description": "Choose a prebuilt set of options. Other than the first two, your choice will override the settings seen below.",
"descriptiontranslationkey": "preload-desc"
},
{
"attribute": "theme",
"displayname": "Color Theme",
"displaytranslationkey": "color-theme",
"type": "select",
"options": [
"Core Blue|blue",
"World Green|green",
"Toolkit Purple|purple",
"Evil Hat|evilhat",
"Elder God|cthulhu",
"Golden|orange",
"Gray|gray",
"Radical|shotc"
],
"value": "blue",
"description": "Choose a color theme. Players can change it later own to suit their preferences. Some preloaded game settings will override this.",
"descriptiontranslationkey": "theme-desc"
},
{
"attribute": "Show-Aspects",
"displayname": "Aspects",
"displaytranslationkey": "aspects",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Conditions",
"displayname": "Conditions",
"displaytranslationkey": "conditions",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Consequences",
"displayname": "Consequences",
"displaytranslationkey": "consequences",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Corruption",
"displayname": "Corruption",
"displaytranslationkey": "corruption",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "0"
},
{
"attribute": "Show-Extras",
"displayname": "Extras",
"displaytranslationkey": "extras",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "0"
},
{
"attribute": "Show-FP",
"displayname": "Fate Points",
"displaytranslationkey": "fp",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Modes",
"displayname": "Modes",
"displaytranslationkey": "modes",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "0"
},
{
"attribute": "Show-Notes",
"displayname": "Notes",
"displaytranslationkey": "notes",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Powers",
"displayname": "Powers",
"displaytranslationkey": "powers",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "0"
},
{
"attribute": "Show-Refresh",
"displayname": "Refresh",
"displaytranslationkey": "refresh",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Roles",
"displayname": "Roles",
"displaytranslationkey": "roles",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "0"
},
{
"attribute": "Show-RollableAspects",
"displayname": "Rollable Aspects",
"displaytranslationkey": "rollable-aspects",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "0"
},
{
"attribute": "Show-Skills",
"displayname": "Skills",
"displaytranslationkey": "skills",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Stress",
"displayname": "Stress",
"displaytranslationkey": "stress",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Stunts",
"displayname": "Stunts",
"displaytranslationkey": "stunts",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Stunts",
"displayname": "Stunts",
"displaytranslationkey": "stunts",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "1"
},
{
"attribute": "Show-Skillswaps",
"displayname": "Swappable Skillsets",
"displaytranslationkey": "swap-skills",
"type": "select",
"options": [
"Show|1",
"Hide|0"
],
"optiontranslationkeys": [
"show",
"hide"
],
"default": "0"
},
{
"attribute": "custom-aspects",
"displayname": "Custom Aspect Labels",
"displaytranslationkey": "custom-aspects",
"type": "text",
"value": "High Concept, Trouble",
"description": "Enter a list separated by commas. You must select the Custom Build option up top for this to be used.",
"descriptiontranslationkey": "custom-aspects-desc"
},
{
"attribute": "custom-conditions",
"displayname": "Custom Conditions",
"displaytranslationkey": "custom-conditions",
"type": "text",
"value": "",
"description": "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.",
"descriptiontranslationkey": "custom-conditions-desc"
},
{
"attribute": "custom-consequences",
"displayname": "Custom Consequences",
"displaytranslationkey": "custom-consequences",
"type": "text",
"value": "Mild:2,Moderate:4,Severe:6",
"description": "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.",
"descriptiontranslationkey": "custom-consequences-desc"
},
{
"attribute": "custom-skills",
"displayname": "Custom Skill List",
"displaytranslationkey": "custom-skills",
"type": "text",
"value": "",
"description": "Enter a list separated by commas. You must select the Custom Build option up top for this to be used.",
"descriptiontranslationkey": "custom-skills-desc"
},
{
"attribute": "custom-stress",
"displayname": "Custom Stress Tracks",
"displaytranslationkey": "custom-stress",
"type": "text",
"value": "",
"description": "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.",
"descriptiontranslationkey": "custom-stress-desc"
}
],
"legacy": true
"html": "FateOmni.html",
"css": "FateOmni.css",
"authors": "Fred Hicks (Evil Hat Productions)",
"roll20userid": "3844812 (Evil Hat Productions)",
"preview": "FateOmni.png",
"instructions": "For more information about this highly versatile sheet, check out our series of posts at Evil Hat: https://www.evilhat.com/home/fate-on-roll20-part-1-character-sheet-setup/ -- and if you run into any issues, have suggestions, or anything else, please reach out to Evil Hat at feedback@evilhat.com. If you're a sheet developer and looking to make changes to this sheet's code, don't. We maintain an external copy as the authoritative source; problems that emerge with the sheet are our customer service problem, not yours. Changes you make are likely to be erased. So talk to us before making changes.",
"useroptions": [
{
"attribute": "setgame",
"displayname": "Preload character sheet configuration for",
"displaytranslationkey": "preload-for",
"type": "select",
"options": [
"Don't Pre-Configure|none",
"Custom Build With Options Below|custom",
"Fate Core|fcore",
"Fate Condensed|fcon",
"Fate Accelerated|fae",
"3 Rocketeers|threerocketeers",
"Atomic Robo|robo",
"Dresden Files Accelerated|dfa",
"Fate of Cthulhu|foc",
"Kaiju Incorporated|kaijuinc",
"Ngen Mapu|ngen",
"Secrets of Cats|cats",
"Shadow of the Century|shotc",
"Tachyon Squadron|tachyon",
"Venture City|venture"
],
"optiontranslationkeys": [ "noset","custom-build","fcore","fcon","fae","threerocketeers","robo","dfa","foc","kaijuinc","ngen","cats","shotc","tachyon","venture"
],
"value": "none",
"description": "Choose a prebuilt set of options. Other than the first two, your choice will override the settings seen below.",
"descriptiontranslationkey": "preload-desc"
},
{
"attribute": "theme",
"displayname": "Color Theme",
"displaytranslationkey": "color-theme",
"type": "select",
"options": [
"Core Blue|blue",
"World Green|green",
"Toolkit Purple|purple",
"Evil Hat|evilhat",
"Elder God|cthulhu",
"Golden|orange",
"Gray|gray",
"Radical|shotc"
],
"value": "blue",
"description": "Choose a color theme. Players can change it later own to suit their preferences. Some preloaded game settings will override this.",
"descriptiontranslationkey": "theme-desc"
},
{
"attribute": "Show-Aspects",
"displayname": "Aspects",
"displaytranslationkey": "aspects",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Combinable",
"displayname": "Combinable Skills",
"displaytranslationkey": "combine-skills",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "Show-Conditions",
"displayname": "Conditions",
"displaytranslationkey": "conditions",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Consequences",
"displayname": "Consequences",
"displaytranslationkey": "consequences",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Corruption",
"displayname": "Corruption",
"displaytranslationkey": "corruption",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "Show-Extras",
"displayname": "Extras",
"displaytranslationkey": "extras",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "Show-FP",
"displayname": "Fate Points",
"displaytranslationkey": "fp",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Modes",
"displayname": "Modes",
"displaytranslationkey": "modes",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "Show-Notes",
"displayname": "Notes",
"displaytranslationkey": "notes",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Powers",
"displayname": "Powers",
"displaytranslationkey": "powers",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "Show-Refresh",
"displayname": "Refresh",
"displaytranslationkey": "refresh",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Roles",
"displayname": "Roles",
"displaytranslationkey": "roles",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "Show-RollableAspects",
"displayname": "Rollable Aspects",
"displaytranslationkey": "rollable-aspects",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "Show-Skills",
"displayname": "Skills",
"displaytranslationkey": "skills",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Stress",
"displayname": "Stress",
"displaytranslationkey": "stress",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Stunts",
"displayname": "Stunts",
"displaytranslationkey": "stunts",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Stunts",
"displayname": "Stunts",
"displaytranslationkey": "stunts",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "1"
},
{
"attribute": "Show-Skillswaps",
"displayname": "Swappable Skillsets",
"displaytranslationkey": "swap-skills",
"type": "select",
"options": [ "Show|1", "Hide|0" ],
"optiontranslationkeys": [ "show", "hide" ],
"default": "0"
},
{
"attribute": "custom-aspects",
"displayname": "Custom Aspect Labels",
"displaytranslationkey": "custom-aspects",
"type": "text",
"value": "High Concept, Trouble",
"description": "Enter a list separated by commas. You must select the Custom Build option up top for this to be used.",
"descriptiontranslationkey": "custom-aspects-desc"
},
{
"attribute": "custom-conditions",
"displayname": "Custom Conditions",
"displaytranslationkey": "custom-conditions",
"type": "text",
"value": "",
"description": "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.",
"descriptiontranslationkey": "custom-conditions-desc"
},
{
"attribute": "custom-consequences",
"displayname": "Custom Consequences",
"displaytranslationkey": "custom-consequences",
"type": "text",
"value": "Mild:2,Moderate:4,Severe:6",
"description": "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.",
"descriptiontranslationkey": "custom-consequences-desc"
},
{
"attribute": "custom-skills",
"displayname": "Custom Skill List",
"displaytranslationkey": "custom-skills",
"type": "text",
"value": "",
"description": "Enter a list separated by commas. You must select the Custom Build option up top for this to be used.",
"descriptiontranslationkey": "custom-skills-desc"
},
{
"attribute": "custom-stress",
"displayname": "Custom Stress Tracks",
"displaytranslationkey": "custom-stress",
"type": "text",
"value": "",
"description": "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.",
"descriptiontranslationkey": "custom-stress-desc"
}
],
"legacy": true
}
+3
View File
@@ -324,6 +324,9 @@
"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",