Files
roll20-character-sheets-tester/Fate_Core/fate.html
T
player-03 a4c6c0f2b1 Streamline Fate_Core sheet and add worker script (#4810)
* Streamline character sheet and add worker script.

* Restore original field name (attr_Notes).

* Preserve ID without overwriting character_name.
2019-03-11 18:09:50 -05:00

526 lines
27 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script type="text/worker">
var log = function(value) {
console.log(value);
};
try {
/**
* @param repeatingName - The word that comes after "repeating_" in the
* attribute name. For instance, if you want to find
* "repeating_aspects_$0_aspect", then this should be "aspects".
*
* @param suffixes - An array of words identifying which parts of the
* repeating attribute you want. For instance, if you want
* "repeating_aspects_$0_aspect" (which is, in fact, the only part),
* then this should be ["aspect"].
*
* @param callback - A function that takes an array of objects. This
* will be called once the attributes have been found. Each object in
* the array will contain a property for each string in suffixes, mapped
* to the value of that attribute. The objects won't be in order, but
* they will include the repeating section id.
*/
function getRepeatingAttributes(repeatingName, suffixes, callback, debug) {
getSectionIDs("repeating_" + repeatingName, function(idArray) {
var attributeNames = [];
for(var suffix of suffixes) {
for(var id of idArray) {
attributeNames.push("repeating_" + repeatingName
+ "_" + id + "_" + suffix);
}
}
getAttrs(attributeNames, function(attributes) {
var result = [];
for(var id of idArray) {
var attributeSection = {id:id};
result.push(attributeSection);
for(var suffix of suffixes) {
attributeSection[suffix] = attributes["repeating_"
+ repeatingName + "_" + id + "_" + suffix];
}
}
callback(result);
});
});
}
/**
* Like getRepeatingAttributes, but puts the array in order.
*/
function getRepeatingAttributesOrdered(repeatingName, suffixes, callback) {
getRepeatingAttributes(repeatingName, suffixes, function(attributes) {
getSectionIDsOrdered(repeatingName, function(idsOrdered) {
var result = [];
for(var id of idsOrdered) {
for(var attribute of attributes) {
if(attribute.id === id) {
result.push(attribute);
break;
}
}
}
callback(result);
});
}, true);
}
function onSkillsChanged(level, eventInfo) {
getAttrs(["ThirdStressSkill"], function(attributes) {
var thirdStressSkill = attributes["ThirdStressSkill"];
if(thirdStressSkill) {
thirdStressSkill = thirdStressSkill.toLowerCase();
}
var attrs;
if(eventInfo.previousValue) {
var previous = eventInfo.previousValue.toLowerCase();
if(previous === "physique") {
attrs = {};
attrs["Phy3Active"] = 0;
attrs["Phy4Active"] = 0;
attrs["PhyConActive"] = 0;
} else if(previous === "will") {
attrs = {};
attrs["Men3Active"] = 0;
attrs["Men4Active"] = 0;
attrs["MenConActive"] = 0;
} else if(thirdStressSkill && previous === thirdStressSkill) {
attrs = {};
attrs["ThirdStress3Active"] = 0;
attrs["ThirdStress4Active"] = 0;
attrs["ThirdConActive"] = 0;
}
}
if(eventInfo.newValue) {
var next = eventInfo.newValue.toLowerCase();
if(next === "physique") {
if(!attrs) attrs = {};
attrs["Phy3Active"] = "on";
attrs["Phy4Active"] = level >= 3 ? "on" : 0;
attrs["PhyConActive"] = level >= 5 ? "on" : 0;
} else if(next === "will") {
if(!attrs) attrs = {};
attrs["Men3Active"] = "on";
attrs["Men4Active"] = level >= 3 ? "on" : 0;
attrs["MenConActive"] = level >= 5 ? "on" : 0;
} else if(thirdStressSkill && next === thirdStressSkill) {
attrs = {};
attrs["ThirdStress3Active"] = "on";
attrs["ThirdStress4Active"] = level >= 3 ? "on" : 0;
attrs["ThirdConActive"] = level >= 5 ? "on" : 0;
}
}
if(attrs) {
setAttrs(attrs);
}
});
}
var consequences = ["Mild", "MildPhy", "MildMen", "MildThird", "Moderate", "Severe"];
on(consequences.map(
function(consequence) {
return "change:" + consequence.toLowerCase() + "consequence";
})
.join(" "),
function(eventInfo) {
if(!eventInfo.previousValue || eventInfo.previousValue === "") {
var consequence = null;
for(var c of consequences) {
if(eventInfo.sourceAttribute === c.toLowerCase() + "consequence") {
consequence = c;
break;
}
}
if(consequence) {
var attrs = {};
attrs[consequence + "Invoke"] = "on";
setAttrs(attrs);
}
}
});
on("sheet:opened", function() {
//If ID is defined, move it to the description.
getAttrs(["ID", "character_name", "Description"], function(attributes) {
if(attributes.ID) {
if(attributes.ID.toLowerCase() != attributes.character_name.toLowerCase()) {
var aka = "aka " + attributes.ID;
if(attributes.Description) {
attributes.Description += " (" + aka + ")";
} else {
attributes.Description = aka;
}
}
attributes.ID = "";
setAttrs(attributes);
}
});
//Watch the entire skill tree for changes.
//Skip the first slot because there are no +0 slots.
var attrNames = [null, "avg", "fair", "good", "great", "sup", "fan", "epic", "leg"];
for(var level = 1; level < attrNames.length; level++) {
var skills = [];
for(var i = 1; i <= 9 - level; i++) {
skills.push(attrNames[level] + i);
}
on("change:" + skills.join(" change:"), onSkillsChanged.bind(null, level));
}
});
} catch(e) {
log("Encountered an error: " + e);
}
</script>
<div class="sheet-section-basic sheet-section">
<img class="sheet-logo" src="http://www.faterpg.com/wp-content/uploads/2013/06/Powered-by-Fate-Final-Light-BG.png" alt="FATE CORE" />
<table>
<tr>
<td>
<label>Name</label>
<input class="sheet-descriptions" type="text" name="attr_character_name" />
</td>
<td>
<label>Refresh</label>
<input type="number" name="attr_Refresh" value="3" />
</td>
</tr>
<tr>
<td>
<label>Description</label>
<input class="sheet-descriptions" type="text" name="attr_Description" />
</td>
<td>
<label>Fate Points</label>
<input type="number" name="attr_Fate" value="3" />
</td>
</tr>
</table>
</div> <!-- .section-basic -->
<div class="sheet-break"></div>
<div class="sheet-section-skills sheet-section">
<div class="sheet-header"
title="Fate's default skills: Athletics, Burglary, Contacts, Crafts, Deceive, Drive, Empathy, Fight, Investigate, Lore, Notice, Physique, Provoke, Rapport, Resources, Shoot, Stealth, Will">
<a href="https://fate-srd.com/fate-core/default-skill-list">Skills</a></div>
<input class="sheet-active-toggle" type="checkbox" name="attr_FantasticActive" />
<table>
<tr>
<td>Legendary (+8)</td>
<td><input class="sheet-skill-off" type="text" name="attr_Leg1" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Leg2" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Leg3" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Leg4" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Leg5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Leg6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Leg7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Leg8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+8]] @{Leg8}" tabindex="-1"></button></td>
</tr>
<tr>
<td>Epic (+7)</td>
<td><input class="sheet-skill-off" type="text" name="attr_Epic1" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Epic2" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Epic3" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Epic4" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Epic5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Epic6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Epic7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Epic8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+7]] @{Epic8}" tabindex="-1"></button></td>
</tr>
<tr>
<td>Fantastic (+6)</td>
<td><input class="sheet-skill-off" type="text" name="attr_Fan1" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Fan2" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Fan3" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Fan4" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Fan5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Fan6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Fan7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Fan8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+6]] @{Fan8}" tabindex="-1"></button></td>
</tr>
</table>
<table>
<tr>
<td>Superb (+5)</td>
<td><input class="sheet-skill-off" type="text" name="attr_Sup1" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Sup2" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Sup3" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Sup4" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Sup5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Sup6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Sup7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Sup8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+5]] @{Sup8}" tabindex="-1"></button></td>
</tr>
<tr>
<td>Great (+4)</td>
<td><input class="sheet-skill-on" type="text" name="attr_Great1" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Great2" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Great3" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Great4" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Great5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Great6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Great7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Great8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+4]] @{Great8}" tabindex="-1"></button></td>
</tr>
<tr>
<td>Good (+3)</td>
<td><input class="sheet-skill-on" type="text" name="attr_Good1" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-on" type="text" name="attr_Good2" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Good3" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Good4" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Good5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Good6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Good7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Good8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+3]] @{Good8}" tabindex="-1"></button></td>
</tr>
<tr>
<td>Fair (+2)</td>
<td><input class="sheet-skill-on" type="text" name="attr_Fair1" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-on" type="text" name="attr_Fair2" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-on" type="text" name="attr_Fair3" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Fair4" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Fair5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Fair6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Fair7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-invisible" type="text" name="attr_Fair8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+2]] @{Fair8}" tabindex="-1"></button></td>
</tr>
<tr>
<td>Average (+1)</td>
<td><input class="sheet-skill-on" type="text" name="attr_Avg1" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg1}" tabindex="-1"></button></td>
<td><input class="sheet-skill-on" type="text" name="attr_Avg2" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg2}" tabindex="-1"></button></td>
<td><input class="sheet-skill-on" type="text" name="attr_Avg3" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg3}" tabindex="-1"></button></td>
<td><input class="sheet-skill-on" type="text" name="attr_Avg4" />
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg4}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Avg5" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg5}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Avg6" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg6}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Avg7" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg7}" tabindex="-1"></button></td>
<td><input class="sheet-skill-off" type="text" name="attr_Avg8" placeholder=" "/>
<button class="sheet-hidden-roll" type="roll" value="/me rolls [[4dF+1]] @{Avg8}" tabindex="-1"></button></td>
</tr>
<tr>
<td>&nbsp;&nbsp;Mediocre (+0)</td>
<td><button type='roll' name='roll_Mediocre' value='/me rolls [[{4dF}}]]'></button>
</tr>
</table>
</div> <!-- .section-skills -->
<div class="sheet-break"></div>
<div class="sheet-section-aspects sheet-section sheet-half">
<div class="sheet-header"
title="Aspects are phrases that describe something unique or noteworthy about you. You may invoke them by spending fate points.">
<a href="https://fate-srd.com/fate-core/types-aspects">Aspects</a></div>
<div class="sheet-repitem sheet-left-fill">
<div><textarea name="attr_HighConcept" placeholder="High Concept Aspect" rows="1"></textarea></div>
<div><label><input type="checkbox" name="attr_HiCon1" title="Free invoke" />&nbsp;</label></div>
<div><label><input type="checkbox" name="attr_HiCon2" title="Free invoke" />&nbsp;</label></div>
</div>
<div class="sheet-repitem sheet-left-fill">
<div><textarea name="attr_Trouble" placeholder="Trouble Aspect" rows="1"></textarea></div>
<div><label><input type="checkbox" name="attr_Trouble1" title="Free invoke" />&nbsp;</label></div>
<div><label><input type="checkbox" name="attr_Trouble2" title="Free invoke" />&nbsp;</label></div>
</div>
<fieldset class="repeating_Aspects">
<div class="sheet-left-fill">
<div><textarea name="attr_Aspect" rows="1"></textarea></div>
<div><label><input type="checkbox" name="attr_Asp1" title="Free invoke" />&nbsp;</label></div>
<div><label><input type="checkbox" name="attr_Asp2" title="Free invoke" />&nbsp;</label></div>
</div>
</fieldset>
</div> <!-- .section-aspects -->
<div class="sheet-section-aspects sheet-section sheet-half">
<div class="sheet-header"
title="Situation aspects are phrases that describe the current scene. Boosts are similar, but go away after one invocation. Invoking a boost is always free.">
Boosts and situation aspects</div>
<fieldset class="repeating_Advantages">
<div class="sheet-left-fill">
<div><textarea name="attr_Advantages" rows="1"></textarea></div>
<div><label><input type="checkbox" name="attr_Adv1" title="Free invoke" />&nbsp;</label></div>
<div><label><input type="checkbox" name="attr_Adv2" title="Free invoke" />&nbsp;</label></div>
</div>
</fieldset>
</div> <!-- .section-stunts -->
<div class="sheet-break"></div>
<div class="sheet-section-stunts sheet-section sheet-half">
<div class="sheet-header"
title="A stunt allows you to do something extra in a specific situation. Unless the stunt specifically says otherwise, it doesn't require a fate point.">
<a href="https://fate-srd.com/fate-core/skills-stunts">Stunts</a></div>
<textarea name="attr_Stunts" rows="2"></textarea>
<fieldset class="repeating_Stunts">
<textarea name="attr_Stunt" rows="2"></textarea>
</fieldset>
</div> <!-- .section-stunts -->
<div class="sheet-section-extras sheet-section sheet-half">
<div class="sheet-header"
title="An extra can be anything that’s technically part of a character or controlled by a character but gets special treatment in the rules, such as magic abilities or a privately-owned business. Consult your GM.">
<a href="https://fate-srd.com/fate-core/creating-extra">Extras</a></div>
<textarea name="attr_Extras" rows="2"></textarea>
<fieldset class="repeating_Extras">
<textarea name="attr_Extra" rows="2"></textarea>
</fieldset>
</div> <!-- .section-extras -->
<div class="sheet-break"></div>
<div class="sheet-section-stress sheet-section sheet-half">
<div class="sheet-header"
title="When you would take damage, you may check AT MOST ONE stress checkbox to reduce the damage by the number next to that box. Stress goes away at the end of the scene.">
<a href="https://fate-srd.com/fate-core/conflicts">Stress</a></div>
<div class="sheet-table">
<div class="sheet-large-text">Physical</div>
<div><label>1<input type="checkbox" name="attr_Phy1" /></label></div>
<div><label>2<input type="checkbox" name="attr_Phy2" /></label></div>
<input class="sheet-active-toggle" type="checkbox" name="attr_Phy3Active" />
<div><label>3<input type="checkbox" name="attr_Phy3" /></label></div>
<input class="sheet-active-toggle" type="checkbox" name="attr_Phy4Active" />
<div><label>4<input type="checkbox" name="attr_Phy4" /></label></div>
</div>
<div class="sheet-table">&nbsp;</div>
<div class="sheet-table">
<div class="sheet-large-text">Mental</div>
<div><label>1<input type="checkbox" name="attr_Men1" /></label></div>
<div><label>2<input type="checkbox" name="attr_Men2" /></label></div>
<input class="sheet-active-toggle" type="checkbox" name="attr_Men3Active" />
<div><label>3<input type="checkbox" name="attr_Men3" /></label></div>
<input class="sheet-active-toggle" type="checkbox" name="attr_Men4Active" />
<div><label>4<input type="checkbox" name="attr_Men4" /></label></div>
</div>
<div class="sheet-table">&nbsp;</div>
<input class="sheet-active-toggle" type="checkbox" name="attr_ThirdStressActive" />
<div class="sheet-table">
<input class="sheet-dynamic-name" type="text" name="attr_ThirdStressSkill" placeholder="(Enter skill)" />
<div><label>1<input type="checkbox" name="attr_ThirdStress1" /></label></div>
<div><label>2<input type="checkbox" name="attr_ThirdStress2" /></label></div>
<input class="sheet-active-toggle" type="checkbox" name="attr_ThirdStress3Active" />
<div><label>3<input type="checkbox" name="attr_ThirdStress3" /></label></div>
<input class="sheet-active-toggle" type="checkbox" name="attr_ThirdStress4Active" />
<div><label>4<input type="checkbox" name="attr_ThirdStress4" /></label></div>
</div>
</div> <!-- .section-stress -->
<div class="sheet-section-consequences sheet-section sheet-half">
<div class="sheet-header"
title="Consequences are aspects representing physical or emotional damage. When you take a consequence, your enemies get one free invocation.">
<a href="https://fate-srd.com/fate-core/conflicts">Consequences</a></div>
<div class="sheet-left-label">
<div>Mild</div>
<div><input type="text" name="attr_MildConsequence" /></div>
<div><label><input type="checkbox" name="attr_MildInvoke" title="Free invoke" />&nbsp;</label></div>
</div>
<input class="sheet-active-toggle" type="checkbox" name="attr_PhyConActive" />
<div class="sheet-left-label">
<div>Mild</div>
<div><input type="text" name="attr_MildPhyConsequence" placeholder="Physical Consequence" /></div>
<div><label><input type="checkbox" name="attr_MildPhyInvoke" title="Free invoke" />&nbsp;</label></div>
</div>
<input class="sheet-active-toggle" type="checkbox" name="attr_MenConActive" />
<div class="sheet-left-label">
<div>Mild</div>
<div><input type="text" name="attr_MildMenConsequence" placeholder="Mental Consequence" /></div>
<div><label><input type="checkbox" name="attr_MildMenInvoke" title="Free invoke" />&nbsp;</label></div>
</div>
<input class="sheet-active-toggle" type="checkbox" name="attr_ThirdConActive" />
<div class="sheet-left-label">
<div>Mild</div>
<div><input type="text" name="attr_MildThirdConsequence" placeholder="Non-Physical, Non-Mental Consequence" /></div>
<div><label><input type="checkbox" name="attr_MildThirdInvoke" title="Free invoke" />&nbsp;</label></div>
</div>
<div class="sheet-left-label">
<div>Moderate</div>
<div><input type="text" name="attr_ModerateConsequence" /></div>
<div><label><input type="checkbox" name="attr_ModerateInvoke" title="Free invoke" />&nbsp;</label></div>
</div>
<div class="sheet-left-label">
<div>Severe</div>
<div><input type="text" name="attr_SevereConsequence" /></div>
<div><label><input type="checkbox" name="attr_SevereInvoke" title="Free invoke" />&nbsp;</label></div>
</div>
</div> <!-- .section-consequences -->
<div class="sheet-break"></div>
<div class="sheet-section-notes sheet-section">
<div class="sheet-header">Notes</div>
<textarea name="attr_Notes" rows="7"></textarea>
</div> <!-- .section-notes -->