Files
roll20-character-sheets-tester/SavageWorlds-Tabbed/SWTRedesign.html
T
finderski 328978bcb1 Savage Worlds Tabbed (#5020)
* Update prowlersnparagons.html

Corrected the Display issue reported on the forums.

* Upgrade Warning

Warning about about an upcoming upgrade and uploading images in preparation for migrating code to point to github instead of my private website (as much as possible)

* Savage Worlds Tabbed Sheet Re-write v3.0 (SWADE Compatible)

Rewrote the sheet from the ground up. The sheet has been completely redesigned (with feedback from the user community).

The sheet includes a sheet worker to migrate old character datat to the new format.

Internationalization is supported

* Added missing commas

Sheet neon updated with missing commas

* Added more missing commas

Added more missing commas to sheet.json

* Making it the same as Roll20 Master

See Title

* Savage Worlds Tabbed: Bug Fixes and Enhancements

Fixed various bugs. Added enhancements to better support SWADE. Made changes to aid useability.

* Savage Wolds Tabbed Internationalization

A few fields and roll formulae were missing the data-i18n tags. Corrected the ones I could find.

* Savage Worlds Tabbed Rename Skills

Providing the ability to rename skills

* Savage Worlds Tabbed 3.3

Bug fixes and internationalization of the default Sheet Settings

* Power and Robot Armor Strength Name Change

Needed to change the attribute name for Power and Robot Armor strength. Implemented a sheetworker to migrate the values from the old attribute to the new.

* Statblock Button and Gritty Damage and Bug Fixes

Added support for Gritty Damage, as well as a Statblock output button. Also fixed several bugs.
2019-04-29 17:27:51 -05:00

7609 lines
584 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.
<input type='hidden' name='attr_character_sheet' value='Savage Worlds Tabbed v3.4' />
<script type="text/worker">
/*----- Things I need to Care For -----
-- o Option to ignore encumbrance --
-- o Add a Strain config so the --
-- the config section houses the --
-- the rule (based on Vigor, --
-- Spirit, or Lowsest of Spirit or --
-- Vigor). --
-------------------------------------*/
// Simple Sum function for Repeating Sections
function repeatingSimpleSum(section, field, destination) {
var repSection = "repeating_" + section;
getSectionIDs(repSection, function (idArray) {
//Construct Array of fields to get attributes for...
var sumFields = [];
for (var a=0; a< idArray.length; a++) {
sumFields[sumFields.length] = repSection + "_" + idArray[a] + "_" + field;
}
getAttrs(sumFields, function (v) {
console.log("%%% values of v: "+ JSON.stringify(v) +" %%%");
var sumTotal = 0;
for(a=0; a<idArray.length; a++){
sumTotal += parseInt(v[sumFields[a]]) || 0;
console.log("$$$ sumTotal: " + sumTotal + " $$$");
}
var setSumValue = {};
setSumValue[destination]=sumTotal;
setAttrs(setSumValue);
});
});
}
// Simple Sum function for Repeating Sections with Check Field
function repeatingSimpleSumWCheck (section, field, destination, checkfield, checkvalue){
console.log("Made it repeatingSimpleSumWCheck");
console.log("checkvalue: "+checkvalue);
let repSection = "repeating_"+section;
getSectionIDs(repSection, function(idArray) {
//Construct Array of fields to get attributes for...
let sumFields = [];
let checkFields = [];
for (let a=0; a< idArray.length; a++) {
sumFields[sumFields.length] = repSection + "_" + idArray[a] + "_" + field;
checkFields[checkFields.length] = repSection + "_" + idArray[a] + "_" + checkfield;
}
console.log("List of IDs: "+idArray);
console.log("List of Sum Fields: "+sumFields);
console.log("List of check Fields: "+checkFields);
getAttrs(sumFields, function(v) {
getAttrs(checkFields, function(c) {
console.log("%%% values of v: "+ JSON.stringify(v) +" %%%");
var sumTotal = 0;
for(a=0; a<idArray.length; a++){
if (c[checkFields[a]] === checkvalue) {
sumTotal += parseInt(v[sumFields[a]]) || 0;
console.log("$$$ sumTotal: " + sumTotal + " $$$");
}
}
var setSumValue = {};
setSumValue[destination]=sumTotal;
setAttrs(setSumValue);
});
});
});
}
function rankNdisplay (field) {
//Create rank and display fields for all attributes...needed for pre-existing sheets
//repeating fields should be passed in the format: repating_<section>:attributes
//example: repeating_skills:skillnamerank
let sattrs = {};
if (field.indexOf(':') > -1) {
let getfields = field.split(':');
let repeatingSection = getfields[0]; //repeating_skills
let repeatingField = getfields[1]; //skillnamerank
console.log(`**** Repeating Section: ${repeatingSection} ****`);
console.log(`**** Repeating Section: ${repeatingField} ****`);
getSectionIDs(repeatingSection, function(idArray) {
if (idArray.length > 0) {
console.log("IDs in Repeating Section: "+idArray);
let fieldArray = []; //skillnamerank
let fieldModArray = []; //skillnamerankmod
let fieldBothArray = [];
for (let a=0; a < idArray.length; a++) {
fieldArray[fieldArray.length] = repeatingSection + "_" + idArray[a] + "_" + repeatingField;
fieldBothArray[fieldBothArray.length] = repeatingSection + "_" + idArray[a] + "_" + repeatingField;
fieldModArray[fieldModArray.length] = `${repeatingSection}_${idArray[a]}_${repeatingField}mod`;
fieldBothArray[fieldBothArray.length] = `${repeatingSection}_${idArray[a]}_${repeatingField}mod`;
console.log("+++ Found field: " + fieldArray[a]);
console.log("+++ Added field: " + fieldArray[fieldArray.length -1]);
}
console.log("||| fieldModArray: "+fieldModArray+" |||");
let iAcount = idArray.length;
let fAcount = fieldArray.length;
let fMAcount = fieldModArray.length;
let fBAcount = fieldBothArray.length;
console.log("#### idArray: "+iAcount.toString()+", fieldArray: "+fAcount.toString()+", fieldModArray: "+fMAcount.toString()+", fieldBothArray: "+fBAcount.toString()+" ####");
console.log("fieldModArray: "+fieldModArray);
getAttrs(fieldBothArray, v => {
for (let i=0; i < idArray.length; i++) {
let sAttrRank = fieldArray[i]+"_rank";
let sAttrDisplay = fieldArray[i]+"_display";
let tRank = '1d'+v[`${fieldArray[i]}`]+'!';
let tDisplay = 'd'+v[`${fieldArray[i]}`];
let intMod = v[`${fieldModArray[i]}`];
intMod = parseInt(intMod)||0;
if (intMod > 0) {
console.log(`==== ${repeatingField} intMod (should not be > 0): ${intMod} ====`);
tRank += '+'+intMod+'['+getfields[1]+']';
tDisplay += '+' + intMod;
}
else if(intMod < 0) {
console.log(`==== ${repeatingField} intMod (should not be < 0): ${intMod} ====`);
tRank += intMod+'['+getfields[1]+']';
tDisplay += intMod;
}
else { console.log("Mod is 0, so don't need to do anything");}
console.log("++++ Creating: "+sAttrRank+": "+tRank+" ++++");
console.log("++++ Creating: "+sAttrDisplay+": "+tDisplay+" ++++");
sattrs[sAttrRank]=tRank;
sattrs[sAttrDisplay]=tDisplay;
}
setAttrs(sattrs, {silent: true});
});
}
console.log("!! No fields to update !!");
});
}
else {
getAttrs([field, `${field}mod`], v => {
console.log("**** Non-repeating Field ****");
console.log("**** Setting value(s) for " + field + " ****");
console.log(v[field]+" intMod will == "+v[`${field}mod`]);
let tRank = '1d'+v[field]+'!';
let tDisplay = 'd'+v[field];
let intMod = v[`${field}mod`];
intMod = parseInt(intMod)||0;
if(intMod > 0) {
tRank += '+'+intMod+'['+field+']';
tDisplay += '+' + intMod;
}
else if(intMod < 0) {
tRank += intMod+'['+field+']';
tDisplay += intMod;
}
else { console.log("Mod is 0, so don't need to do anything");}
const sAttRank = field + '_rank', sAttDisplay = field + '_display';
sattrs[sAttRank]=tRank;
sattrs[sAttDisplay]=tDisplay;
setAttrs(sattrs, {silent: true});
});
}
}
function updateField (field, fieldValue) {
//repeating fields should be passed in the format: repating_<section>:attributes
//example: repeating_skills:skillnamerank
console.log("**** Setting value(s) for " + field + " ****");
let sattrs = {};
if (field.indexOf(':') > -1) {
let getfields = field.split(':');
let repeatingSection = getfields[0];
let repeatingField = getfields[1];
getSectionIDs(repeatingSection, function(idArray) {
if (idArray.length > 0) {
console.log("IDs in Repeating Section: "+idArray);
let fieldArray = [];
for (let a=0; a < idArray.length; a++) {
console.log("+++ Added field: " + fieldArray[a]);
fieldArray[fieldArray.length] = repeatingSection + "_" + idArray[a] + "_" + repeatingField;
console.log("+++ Added field: " + fieldArray[a]);
sattrs[fieldArray[a]] = fieldValue
}
setAttrs(sattrs);
}
console.log("!! No fields to update !!");
});
}
else {
sattrs[field] = fieldValue
setAttrs(sattrs);
}
}
function fauxChange (field, fauxvalue) {
//repeating fields should be passed in the format: repating_<section>:attributes
//example: repeating_skills:skillnamerank
console.log("!@!@! Setting faux value(s) for " + field + " !@!@!");
if (field.indexOf(':') > -1) {
console.log("Need to update values in a repeating section");
let getfields = field.split(':');
let repeatingSection = getfields[0];
let repeatingField = getfields[1];
let sattrs = {};
getSectionIDs(repeatingSection, function(idArray) {
if (idArray.length > 0) {
console.log("IDs in Repeating Section: "+idArray);
let oldValues = [];
let fieldArray = [];
for (let a=0; a < idArray.length; a++) {
console.log("+++ Added field: " + fieldArray[a]);
fieldArray[fieldArray.length] = repeatingSection + "_" + idArray[a] + "_" + repeatingField;
console.log("+++ Added field: " + fieldArray[a]);
}
getAttrs(fieldArray, function(v) {
for (let b=0; b < idArray.length; b++) {
oldValues[oldValues.length] = v[fieldArray[b]];
sattrs[fieldArray[b]] = fauxvalue;
}
console.log("!!! Setting Fake Value !!!");
setAttrs(sattrs);
for (let c=0; c<idArray.length; c++) {
sattrs[fieldArray[c]] = oldValues[c];
}
console.log("!!! Setting Real Values !!!");
setAttrs(sattrs);
});
}
});
}
else {
console.log("Updating values in a Non-Repeating Section");
getAttrs([field], function(v) {
let prevValue = v[field];
let sattrs = {};
console.log(`++++ Setting ${field} to ${fauxvalue} ++++`);
//console.log("Setting " + field + " to " + fauxvalue);
sattrs[field] = fauxvalue;
setAttrs(sattrs);
console.log(`---- Setting ${field} to ${prevValue} ----`);
//console.log("Setting " + field + " to " + fauxvalue);
sattrs[field] = prevValue;
setAttrs(sattrs);
});
}
}
const stepwiseFaux = function(section,field) {
//only for repeating Sections
//section = the repeating section
//field = the field within the section to fauxily change
//example call: stepwiseFaux("weapons","dmgbonusnum");
//will do a faux change during each for loop
let repeatingSection = `repeating_${section}`;
getSectionIDs(repeatingSection, function(idArray) {
if (idArray.length > 0) {
for (let a=0; a < idArray.length; a++) {
let fullField = `repeating_${section}_${idArray[a]}_${field}`;
console.log("Stepwise Faux for: "+fullField);
fauxChange(fullField,"1000");
}
}
else {
console.log("Nothing to see here...move along.");
}
});
}
function salaryNshares (rsection, salaryfield, sharesfield) {
// rsection should be the full name: repeating_<section>
console.log(`====> Repeating Section: ${rsection} <====`);
getSectionIDs(rsection, function(idArray) {
if (idArray.length > 0) {
console.log(`<==== ${idArray.length} row(s) to combine ====>`);
let fullArray = [];
let salaryArray = [];
let sharesArray = [];
for (let a=0; a < idArray.length; a++) {
salaryArray[salaryArray.length] = `${rsection}_${idArray[a]}_${salaryfield}`;
sharesArray[sharesArray.length] = `${rsection}_${idArray[a]}_${sharesfield}`;
fullArray[fullArray.length] = `${rsection}_${idArray[a]}_${salaryfield}`;
fullArray[fullArray.length] = `${rsection}_${idArray[a]}_${sharesfield}`;
}
console.log("### Full Array Length: "+fullArray.length +" ####");
console.log("### Salary Array Length: "+salaryArray.length +" ####");
console.log("### Shares Array Length: "+sharesArray.length +" ####");
getAttrs(fullArray, function(v) {
let sattrs = {};
for (let c=0; c < idArray.length; c++) {
var fieldVal = '';
//check Salary field for a value
console.log(`Salary Field: ${salaryArray[c]}`);
console.log(`Salary Field value: ${v[salaryArray[c]]}`);
if (v[salaryArray[c]].length < 1) {
console.log("No Salary Info");
}
else {
var p = v[salaryArray[c]].indexOf('salary');
if (p < 0) {
console.log("Salary info to care for")
fieldVal = v[salaryArray[c]] + " (salary)";
}
console.log("Pay field already updated");
}
//check Shares field for a value
console.log(`Shares Field: ${sharesArray[c]}`);
console.log(`Shares Field value: ${v[sharesArray[c]]}`);
var m = fieldVal.indexOf('shares');
if(typeof v[sharesArray[c]]) {
console.log("*** No Shares Info undefined ***");
}
else {
if (v[sharesArray[c]].length < 1) {
console.log("No Shares Info");
}
else {
console.log("Shares info to care for")
if (fieldVal.length < 1) {
fieldVal = v[sharesArray[c]] + " (shares)";
}
else {
if (m < 0) {
fieldVal += ` and ${v[sharesArray[c]]} (shares)`;
}
}
}
}
if (fieldVal.length > 0) {
//set the salary field
sattrs[salaryArray[c]] = fieldVal;
}
}
setAttrs(sattrs);
});
}
else {
console.log(`<==== Nothing to combine ====>`);
}
});
}
function convertRS (originSection, destinationSection, ofieldArray, dfieldArray, daddlfieldArray, defaultValues) {
/*------ example of call ------
|| originSection = section (without repeating_) fields will be migrated FROM
|| destinationSection = section (without repeating_) fields will be migrated TO
|| ofieldArray = Array of Fields that need to be migrated
|| dfieldArray = Array of Fields the ofieldArray will be mapped to
|| NOTE: The number of fields in the ofieldArray and dfieldArray should be the same
|| daddlfieldArray = Additional fields in the destination section that may not be in the original section
|| defaultValues = Default values for list of fields in daddlfieldArray
|| NOTE: The number of fields in the daddlfieldArray and defaultValues should be the same
||
|| Example:
|| var hindranceFields = ["hindrance","hindrancedescription"];
|| convertRS("mhindrances","hindrances",hindranceFields,hindranceFields);
--------*/
console.log("originSection: " + originSection);
console.log("destinationSection: " + destinationSection);
console.log("ofieldArray: " + ofieldArray);
console.log("dfieldarray: " + dfieldArray);
console.log("Number of Entries in ofieldArray: " + ofieldArray.length);
console.log("Number of Entries in dfieldArray: " + dfieldArray.length);
let originRS = "repeating_"+originSection;
getSectionIDs(originRS, function(idArray) {
if (idArray.length > 0) {
console.log("originSection IDs: " + idArray);
let oldAttrs = [];
for (let a=0; a < idArray.length; a++) {
for (let b=0; b < ofieldArray.length; b++) {
oldAttrs[oldAttrs.length] = originRS + "_" + idArray[a] + "_" + ofieldArray[b];
}
}
getAttrs(oldAttrs, function(v) {
let sattrs = {};
for(let i=0; i < idArray.length; i++) {
let newrowid = generateRowID();
console.log("~~~~ ConvertRS Iteration " + i + ":: for Section: "+ originSection + ":: id generated: " + newrowid +" ~~~~");
let originRF = "repeating_" + originSection + "_" + idArray[i] + "_";
let destinationRF = "repeating_" + destinationSection + "_" + newrowid + "_";
//migrate original fields to new fields
for(var r=0; r < ofieldArray.length; r++) {
let getORF = '', putdestinationRF = '';
console.log("********************");
console.log("** originRF: "+originRF+ofieldArray[r]);
console.log("** destinationRF: "+destinationRF+dfieldArray[r]);
console.log("********************");
getORF = originRF+ofieldArray[r];
console.log(i+"-"+r+") Current value of getORF: "+getORF+": "+v[getORF]);
putdestinationRF = destinationRF+dfieldArray[r];
if (ofieldArray[r] === "DmgType" || ofieldArray[r] === "RDmgType") {
if (typeof v[getORF] === 'undefined') {
sattrs[putdestinationRF]="d4!"
}
else {
sattrs[putdestinationRF]="d"+v[getORF];
}
}
else {
if (typeof v[getORF] === 'undefined') {
sattrs[putdestinationRF]='';
}
else {
sattrs[putdestinationRF]=v[getORF];
}
}
}
//Check to see if we need to set any default values
console.log("*** Checking for Additional Fields to set Defaults ***");
if(typeof daddlfieldArray === 'undefined') {
console.log("*** No Additional Fields to set...undefined ***");
}
else {
if (daddlfieldArray.length > 0 && daddlfieldArray.length === defaultValues.length) {
console.log("!! Need to set some additional fields !!");
//Set default value for other fields
for(let r=0; r < daddlfieldArray.length; r++) {
let getORF = '', putdestinationRF = '';
console.log("********************");
console.log("** destinationRF: "+destinationRF+daddlfieldArray[r]);
console.log("********************");
putdestinationRF = destinationRF+daddlfieldArray[r];
sattrs[putdestinationRF] = defaultValues[r];
}
}
else {
console.log("!! No additional fields to set OR the number of fields doesn't match the number of values !!");
}
}
console.log("##### sattrs: " + JSON.stringify(sattrs) + " #####");
setAttrs(sattrs);
sattrs = {};
}
});
}
else {
console.log("<===== "+originSection+" had no rows =====>");
}
});
}
/* ---- Begin Sheet Version Validation & Update ---- */
const sheetVersion = "3.3";
const sheetVersionPrefix = "Savage Worlds Tabbed v";
const upgradeSheet = function(version) {
if (version < 3.0) {
//migrate old fields to new
const oldAtts = ["agMod","smMod","spMod","stMod","viMod","UnskilledEncumbrance","FightingMod","Academicsskill","AcademicsskillMod","Athletics","AthleticsMod","Battle","BattleMod","BoatingMod","Climbing","ClimbingMod","Commonknowledge","CommonknowledgeMod","Driving","DrivingMod","Electronics","ElectronicsMod","Faith","FaithMod","Focus","FocusMod","Gambling","GamblingMod","Guts","GutsMod","Hacking","HackingMod","Healing","HealingMod","Intimidation","IntimidationMod","Investigation","InvestigationMod","Language","LanguageMod","Lockpicking","LockpickingMod","Notice","NoticeMod","Occult","OccultMod","Performance","PerformanceMod","Persuasion","PersuasionMod","Piloting","PilotingMod","Psionics","PsionicsMod","Repair","RepairMod","Research","ResearchMod","Riding","RidingMod","Ritual","RitualMod","Science","ScienceMod","Shooting","ShootingMod","Spellcasting","SpellcastingMod","Stealth","StealthMod","Streetwise","StreetwiseMod","Survival","SurvivalMod","Swimming","SwimmingMod","Taunt","TauntMod","Thievery","ThieveryMod","Throwing","ThrowingMod","Tracking","TrackingMod","WeirdScience","WeirdScienceMod","LinkedPsionicsAtt","LinkedRitualAttScore","LinkedSpellcastingAttScore","LinkedWeirdScienceAttScore","PAstrength","PAstMod","PAstrollMod"];
const newAtts = ["agilitymod","smartsmod","spiritmod","strengthmod","vigormod","unskilledencumbrance","fightingmod","academicsskill","academicsskillmod","athletics","athleticsmod","battle","battlemod","boatingmod","climbing","climbingmod","commonknowledge","commonknowledgemod","driving","drivingmod","electronics","electronicsmod","faith","faithmod","focus","focusmod","gambling","gamblingmod","guts","gutsmod","hacking","hackingmod","healing","healingmod","intimidation","intimidationmod","investigation","investigationmod","language","languagemod","lockpicking","lockpickingmod","notice","noticemod","occult","occultmod","performance","performancemod","persuasion","persuasionmod","piloting","pilotingmod","psionics","psionicsmod","repair","repairmod","research","researchmod","riding","ridingmod","ritual","ritualmod","science","sciencemod","shooting","shootingmod","spellcasting","spellcastingmod","stealth","stealthmod","streetwise","streetwisemod","survival","survivalmod","swimming","swimmingmod","taunt","tauntmod","thievery","thieverymod","throwing","throwingmod","tracking","trackingmod","weirdscience","weirdsciencemod","linkedpsionicsatt","linkedritualattscore","linkedspellcastingattscore","linkedweirdscienceattscore","pastrength","pastmod","pastrollmod","rastrength","rastmod","rastrollmod"];
let sAttrs = {};
getAttrs(oldAtts, function(v) {
//Convert from Old Trait Mod Format (e.g. agMod) to the new format (e.g. agilitymod)
for (let i=0; i<oldAtts.length; i++) {
console.log(newAtts[i] + " = " + v[oldAtts[i]]);
sAttrs[newAtts[i]] = v[oldAtts[i]];
}
setAttrs(sAttrs);
//Need to create rank and display values for existing sheets
const otraits = ['agility','smarts','spirit','strength','vigor','fighting','academicsskill','athletics','battle','boating','climbing','commonknowledge','driving','electronics','faith','focus','gambling','guts','hacking','healing','intimidation','investigation','language','lockpicking','notice','occult','performance','persuasion','piloting','psionics','repair','research','riding','ritual','science','shooting','spellcasting','stealth','streetwise','survival','swimming','taunt','throwing','thievery','tracking','weirdscience','repeating_skills:skillnamerank','pastrength','rastrength'];
otraits.forEach(otraits => {
rankNdisplay(otraits);
});
});
//Update the Power Label
powerLabel();
//Need to update all derived stats to now use Sheetworkers
setWildDie(); //set wdNum
console.log("!!!! Setting WoundsMod !!!!");
setWoundsMod("silent"); //set wounds
setModSums(); //various mods variables used in sheet rolls, etc
baseToughness();
setToughness();
setNToughness();
setPace(); //set pace
setCharisma(); //set charisma
setAcademics();
setSanity();
setFame();
setReason();
setStatus();
setGlory();
setFirewall();
setGrit();
setCorruption();
setStreetCred();
setStrain();
const stats = ['armortotalweightcarried','showmods','promptmods','useXP'];
stats.forEach(stats => {
fauxChange(stats, "1000");
});
//migrate old repeating skills fields to new
getSectionIDs("skills", function(idArray) {
if (idArray.length > 0) {
console.log("originSection IDs: " + idArray);
let oldAttrs = [];
let newAttrs = [];
for (let a=0; a < idArray.length; a++) {
oldAttrs[oldAttrs.length] = "repeating_skills_" + idArray[a] + "_" + "skillnamemod";
newAttrs[newAttrs.length] = "repeating_skills_" + idArray[a] + "_" + "skillnamerankmod";
}
getAttrs(oldAttrs, function(v) {
const sattrs = {};
for(let i=0; i < idArray.length; i++) {
console.log(newAttrs[i]+" == "+oldAttrs[i]);
console.log(newAttrs[i]+" == "+ v[oldAttrs[i]]);
if (typeof v[oldAttrs[i]] !== 'undefined') {
sattrs[newAttrs[i]]=v[oldAttrs[i]];
}
else {
sattrs[newAttrs[i]] = 0;
}
}
console.log("##### sattrs: " + JSON.stringify(sattrs) + " #####");
setAttrs(sattrs);
});
setAttrs({staticKnowledgeOther: "on"});
}
else {
console.log("<===== had no rows =====>");
}
});
//Migrate Melee Weapons to Weapons
let meleeFields = ["WeaponType","MeleeDieNum","DmgType","MDmgMod","WeaponWeight","meleeWNotes"];
let weaponFields = ["weapon","dmgnumdice","dmgdietype","dmgbonusnum","weaponweight","weaponnotes"];
let moreweaponFields = ["weaponcarried"];
let weaponDefaultValues = ["on"];
convertRS("meleeweapons","weapons",meleeFields,weaponFields,moreweaponFields,weaponDefaultValues);
//Migrate Ranged Weapons to Weapons
let rangedFields = ["RWeaponType","WeaponRange","WeaponRoF","NoDmgDice","RDmgType","RDmgMod","RWeaponWeight","rangeWNotes"];
let weaponFieldsII =["weapon","range","rof","dmgnumdice","dmgdietype","dmgbonusnum","weaponweight","weaponnotes"];
let morerangedweaponFields = ["damageatt","weaponcarried"];
let rangedweaponDefaultValues = ["na","on"];
convertRS ("rangeweapons", "weapons", rangedFields, weaponFieldsII,morerangedweaponFields,rangedweaponDefaultValues);
//Migrate Power Armor Ranged Weapons to Power Armor Weapons
let parangedFields = ["PAWeaponType","PAWeaponRange","PAWeaponRoF","PANoDmgDice","PARDmgType","PARDmgMod","PAWeaponNotes"];
let paweaponFieldsII =["paweapon","parange","parof","padmgnumdice","padmgdietype","padmgbonusnum","paweaponnotes"];
let pamorerangedweaponFields = ["padamageatt"];
let parangedweaponDefaultValues = ["na"];
convertRS ("PAweapons", "paweapons", parangedFields, paweaponFieldsII, pamorerangedweaponFields, parangedweaponDefaultValues);
//Migrate Power Armor Melee Weapons to Power Armor Weapons
let pameleeFields = ["PAMWeaponType","PAMMeleeDieNum","PAMDmgType","PAMMDmgMod","PAMmeleeWNotes"];
let paweaponFields = ["paweapon","padmgnumdice","padmgdietype","padmgbonusnum","paweaponnotes"];
let pamoreweaponFields = ["padamageatt"];
let paweaponDefaultValues = ["strength"];
convertRS("PAmeleeweapons","paweapons", pameleeFields, paweaponFields, pamoreweaponFields, paweaponDefaultValues);
//Migrate Robot Armor Ranged Weapons to Robot Armor Weapons
let rarangedFields = ["RAWeaponType","RAWeaponRange","RAWeaponRoF","RANoDmgDice","RARDmgType","RARDmgMod","RAWeaponNotes"];
let raweaponFieldsII =["raweapon","rarange","rarof","radmgnumdice","radmgdietype","radmgbonusnum","raweaponnotes"];
let ramorerangedweaponFields = ["radamageatt"];
let rarangedweaponDefaultValues = ["na"];
convertRS ("RAweapons", "raweapons", rarangedFields, raweaponFieldsII, ramorerangedweaponFields, rarangedweaponDefaultValues);
//Migrate Robot Armor Melee Weapons to Robot Armor Weapons
let rameleeFields = ["RAMWeaponType","RAMMeleeDieNum","RAMDmgType","RAMMDmgMod","RAMmeleeWNotes"];
let raweaponFields = ["raweapon","radmgnumdice","radmgdietype","radmgbonusnum","raweaponnotes"];
let ramoreweaponFields = ["radamageatt"];
let raweaponDefaultValues = ["strength"];
convertRS("RAmeleeweapons","raweapons", rameleeFields, raweaponFields, ramoreweaponFields, raweaponDefaultValues);
//Migrate Damaging Spells to powers
let dmgSpells = ["Spell","SpellCost","SpellRange","SpellDuration","NoSpllDmgDice","SDmgType","SDmgMod","DmgSpellNotes"];
let powerFields =["power","pp","powerrange","powerduration","spelldmgnumdice","spelldmgdietype","spelldmgbonusnum","spellnotes"];
let moredmgspellFields = ["spelldamageatt"];
let moredmgspellDefaultValues = ["na"];
convertRS ("dmgspells", "spells", dmgSpells, powerFields, moredmgspellFields, moredmgspellDefaultValues);
//Migrate Non-Damaging Spells to Powers
let nondmgSpells = ["NDSpell","NDSpellCost","NDSpellRange","NDSpellDuration","ndSpellNotes"];
let powerFieldsII = ["power","pp","powerrange","powerduration","spellnotes"];
let morespellFields = ["spelldamageatt","spellbutton","spelldmgnumdice"];
let morespellDefaultValues = ["na","2","0"];
convertRS ("ndspells", "spells", nondmgSpells, powerFieldsII, morespellFields, morespellDefaultValues);
//Migrate Ground Vehicles Crew
let crewfields = ["GVCrewName","GVCrewType","GVCrewPos","GVCrewSalary","GVCrewShares","GVCrewNotes"];
convertRS ("FShipCrew", "GShipCrew", crewfields, crewfields);
//Migrate Walker Vehicles Crew
let wcrewfields = ["WalkerCrewName","WalkerCrewType","WalkerCrewPos","WalkerCrewSalary","WalkerCrewShares","WalkerCrewNotes"];
convertRS ("FShipCrew", "WShipCrew", wcrewfields, wcrewfields);
//Configure Variable Damage Option
getAttrs(["RaiseHBRule"], function(v) {
if (v.RaiseHBRule === "on") {
//Using Variable Bonus Damage
console.log("Using variable bonus damage: set up query...");
let qString = getTranslationByKey('bonus-damage-die-type');
setAttrs({vbonusdamage: `?{${qString}|d6,1d6!|d8,1d8!|d10,1d10!|d12,1d12!|d4,1d4!}`});
}
else {
console.log("Not using using Variable Bonus Damage...");
setAttrs({vbonusdamage: '1d6!'});
}
});
//Close Config Fields
updateField("repeating_hindrances:showHindraceDesc","0");
updateField("repeating_edges:showEdgeDesc","0");
updateField("repeating_skills:showOtherRollMod","0");
}
if (version < 3.1) {
console.log(`!@!@! UPGRADING TO VERSION 3.1 !@!@!`)
//Set up Multi Attack option
stepwiseFaux("weapons","rof");
//Migrate Nerves of Steel
getAttrs(["NoS"], function(v) {
if(v.NoS === "-1") {
console.log("!!! Nerves of Steel !!!");
let nerves = getTranslationByKey('nerves-of-steel');
setAttrs({
reducewoundsby: "-1",
reducereason: nerves
});
}
else if(v.NoS === "-2") {
console.log("!!! Nerves of Steel !!!");
let nerves = getTranslationByKey('improved-nerves-of-steel');
setAttrs({
reducewoundsby: "-2",
reducereason: nerves
});
}
else {
console.log("No Nerves of Steel to care for");
}
});
}
if (version < 3.3) {
//migrate old fields to new
const oldAtts = ["pastmod","rastmod"];
const newAtts = ["pastrengthmod","rastrengthmod"];
let sAttrs = {};
getAttrs(oldAtts, function(v) {
//Convert from Old Trait Mod Format (e.g. agMod) to the new format (e.g. agilitymod)
for (let i=0; i<oldAtts.length; i++) {
console.log(newAtts[i] + " = " + v[oldAtts[i]]);
sAttrs[newAtts[i]] = v[oldAtts[i]];
}
setAttrs(sAttrs);
//Need to create rank and display values for existing sheets
const otraits = ['pastrength','rastrength'];
otraits.forEach(otraits => {
rankNdisplay(otraits);
});
});
}
if (version < 3.4) {
//Need to update all derived stats to now use Sheetworkers
setWildDie(); //set wdNum
console.log("!!!! Setting WoundsMod !!!!");
setWoundsMod("silent"); //set wounds
setModSums(); //various mods variables used in sheet rolls, etc
baseToughness();
setToughness();
setNToughness();
setPace(); //set pace
setCharisma(); //set charisma
setAcademics();
setSanity();
setFame();
setReason();
setStatus();
setGlory();
setFirewall();
setGrit();
setCorruption();
setStreetCred();
setStrain();
}
else {
console.log("!!! Sheet Already Upgraded !!!");
}
//Update Sheet Version Number
console.log("**** Updating Sheet Version ****");
setAttrs({
character_sheet: sheetVersionPrefix + sheetVersion
});
console.log("<===== End Sheet Upgrade Conversion Process =====>");
};
on('sheet:opened', function() {
getAttrs(['character_sheet','initializeStatblock'], function(v) {
/*if(v.initializeStatblock === '0') {
createStatBlock();
setAttrs({initializeStatblock: 'on'});
}*/
console.log("<===== Begin Sheet Upgrade Conversion Process =====>");
console.log("Sheet Version: " + v.character_sheet.slice(22));
const version = parseFloat(v.character_sheet.slice(22)) || 0;
upgradeSheet(version);
});
});
/* ---- End Sheet Version Validation & Update ---- */
/*Combine Shares and Salary fields if necessary*/
on('sheet:opened', function() {
console.log("!!! Combining Pay !!!");
getAttrs(['dopay'], function(v) {
switch (v.dopay) {
case 'first':
//combine salary and shares on Vehicles
salaryNshares("repeating_SShipCrew", "SShipCrewSalary", "SShipCrewShares");
salaryNshares("repeating_FShipCrew", "FShipCrewSalary", "FShipCrewShares");
salaryNshares("repeating_GShipCrew", "GVCrewSalary", "GVCrewShares");
salaryNshares("repeating_WShipCrew", "WalkerCrewSalary", "WalkerCrewShares");
setAttrs({dopay:"done"});
console.log("second attempt to combine pay");
break;
case 'init':
//combine salary and shares on Vehicles
salaryNshares("repeating_SShipCrew", "SShipCrewSalary", "SShipCrewShares");
salaryNshares("repeating_FShipCrew", "FShipCrewSalary", "FShipCrewShares");
salaryNshares("repeating_GShipCrew", "GVCrewSalary", "GVCrewShares");
salaryNshares("repeating_WShipCrew", "WalkerCrewSalary", "WalkerCrewShares");
setAttrs({dopay:"first"});
console.log("first attempt to combine pay");
break;
case 'done':
console.log("pay already combined");
break;
default:
setAttrs({dopay:"init"});
break;
}
}) ;
});
const setWildDie = function() {
getAttrs(["is_npc"], function(lvalue) {
console.log("<==== Updating whether to Roll the Wild Die ====>")
console.log("is_npc value: " + lvalue.is_npc);
if (lvalue.is_npc === "0") {
console.log("Is a Wild Card: Roll a Wild Die");
setAttrs({ wdNum: 1 });
}
else {
console.log("Is not a Wild Card: Don't roll a Wild Die");
setAttrs({ wdNum: 0 });
}
console.log("<==== Finished Identifying Mook vs Wild Card ====>");
});
}
/*Determine if Wild Die is rolled*/
on("change:is_npc",function(){
//'use strict';
setWildDie();
});
//Quick Setting Configuration
on("change:settingconfig", function() {
getAttrs(["settingconfig"], function(setting) {
console.log("Setting selected: " + setting.settingconfig);
if (setting.settingconfig === '1') {
console.log("<==Setting configuration for 50 Fathoms==>");
setAttrs({logo: 1,
background: 2,
'50fPo8Clams': 1,
vehicle: 'on',
sailingShip: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "2") {
console.log("<==Setting configuration for All For One==>");
setAttrs({logo: 13,
background: 10,
'50fPo8Clams': 5,
a41archetype: 'on',
a41motivation: 'on',
fencinginfo: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "3") {
console.log("<==Setting configuration for Deadlands: Reloaded==>");
setAttrs({logo: 6,
background: 10,
DLGrit: 'on',
permInjuries: 'on',
worstNightmare: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "4") {
console.log("<==Setting configuration for ETU==>");
setAttrs({logo: 14,
background: 1,
useacademics: 1,
ETUClass: 1,
activitiesexams: 1,
majorminor: 'on',
magictype: 'on',
talismans: 1,
NoPPRule: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "5") {
console.log("<==Setting configuration for Hellfrost==>");
setAttrs({logo: 10,
background: 8,
hfGlory: 'on',
NoPPRule: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "6") {
console.log("<==Setting configuration for Interface Zero 2.0==>");
setAttrs({logo: 9,
background: 7,
izStrain: 'on',
izFirewall: 'on',
neuraltoughness: 'on',
izStreetCred: 'on',
'50fPo8Clams': 4,
increasedfatigue: 1,
augment: 'on',
izengrams: 'on',
Lang: 'on',
tlpOccupation: 'on',
iztap: 'on',
vehicle: 'on',
flyingShip: 'on',
groundVehicle: 'on',
Walker: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "7") {
console.log("<==Setting configuration for Lankhmar==>");
setAttrs({logo: 12,
background: 10,
'50fPo8Clams': 3,
Corruption: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "8") {
console.log("<==Setting configuration for The Last Parsec==>");
setAttrs({logo: 3,
background: 5,
izStrain: 'on',
tlpSpecies: 'on',
tlpHW: 'on',
'50fPo8Clams': 4,
augment: 'on',
Lang: 'on',
tlpOccupation: 'on',
vehicle: 'on',
flyingShip: 'on',
groundVehicle: 'on',
Walker: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "9") {
console.log("<==Setting configuration for Low Life==>");
setAttrs({logo: 1,
background: 1,
'50fPo8Clams': 2});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "10") {
console.log("<==Setting configuration for Necessary Evil==>");
setAttrs({logo: 5,
background: 6,
codename: 'on',
ThreatRating: 'on',
powerOrigins: 'on',
NoPPRule: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "11") {
console.log("<==Setting configuration for Pirates of the Spanish Main==>");
setAttrs({logo: 2,
background: 2,
'50fPo8Clams': 1,
potsmFame: 'on',
vehicle: 'on',
sailingShip: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "12") {
console.log("<==Setting configuration for Tour of Darkness==>");
setAttrs({logo: 1,
background: 1,
tdsanity: 'on',
permInjuries: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "13") {
console.log("<==Setting configuration for Rifts==>");
setAttrs({logo: 15,
background: 11,
augment: 'on',
'Cybernetics': 1,
'IconicFramwork': 'on',
heroicpath: 'on',
ppe: 'on'/*,
useISP: 'on'*/});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "14") {
console.log("<==Setting configuration for Rippers==>");
setAttrs({logo: 16,
background: 12,
ripReason: 'on',
ripStatus: 'on',
useRippertech: 'on'});
console.log("<==Configuration complete==>");
}
else if (setting.settingconfig === "0") {
console.log("<==Setting configuration resetting to defaults==>");
setAttrs({logo: 1,
background: 1,
'50fPo8Clams': 0,
vehicle: 0,
sailingShip: 0,
a41archetype: 0,
a41motivation: 0,
fencinginfo: 0,
DLGrit: 0,
permInjuries: 0,
worstNightmare: 0,
useacademics: 0,
ETUClass: 0,
activitiesexams: 0,
majorminor: 0,
magictype: 0,
talismans: 0,
NoPPRule: 0,
hfGlory: 0,
izStrain: 0,
izFirewall: 0,
neuraltoughness: 0,
izStreetCred: 0,
increasedfatigue: 0,
augment: 0,
izengrams: 0,
Lang: 0,
tlpOccupation: 0,
iztap: 0,
flyingShip: 0,
groundVehicle: 0,
Walker: 0,
Corruption: 0,
tlpSpecies: 0,
tlpHW: 0,
codename: 0,
ThreatRating: 0,
powerOrigins: 0,
potsmFame: 0,
tdsanity: 0,
'Cybernetics': 0,
'IconicFramwork': 0,
heroicpath: 0,
ppe: 0,
/*useISP: 0,*/
ripReason: 0,
ripStatus: 0,
useRippertech: 0});
console.log("<==Configuration complete==>");
}
else {
console.log("<==Nothing to see here...move along==>");
/*setAttrs({logo: 1,
background: 1,
useacademics: 0,
majorminor: 0});*/
}
});
});
on("sheet:opened change:ppe",function(eventInfo) {
console.log("New value: "+eventInfo.newValue);
console.log("Source of change: " +eventInfo.sourceType);
let PowerPointsLabel = getTranslationByKey('power-points');
let PPELabel = getTranslationByKey('potential-psychic-energy-abbr-u');
getAttrs(["ppe"], function(v) {
if(v.ppe === "0") {
setAttrs({ppelabel: PowerPointsLabel});
}
else {
setAttrs({ppelabel: PPELabel});
}
});
});
on("change:useisp",function(eventInfo) {
console.log("New Value: "+eventInfo.newValue);
if(eventInfo.newValue === "on") {
setAttrs({spacer: " || "});
}
else {
console.log("ISP is turned off");
setAttrs({spacer: " "});
}
});
//Set Rank according to the XP value
on("change:xp change:rank change:usexp change:setrank", function() {
getAttrs(["xp", "rank", "class","useXP", "setrank"], function(value) {
console.log("useXP Value: "+value.useXP);
console.log("xp value: " + value.xp);
console.log("rank value: " + value.rank);
var xpVal = parseInt(value.xp)||0;
console.log(xpVal);
if (value.setrank === "on") {
console.log("Don't set Rank at all, because there's a different structure");
}
else if(value.useXP === "on") {
//Using XP instead of Advances
if (xpVal >=80) {
console.log("Setting rank to Legendary");
setAttrs({Rank: 5});
console.log("Setting class to Grad Student");
setAttrs({Class: 5});
}
else if (xpVal >=60) {
console.log("Setting rank to Heroic");
setAttrs({Rank: 4});
console.log("Setting class to Senior");
setAttrs({Class: 4});
}
else if (xpVal >=40) {
console.log("Setting rank to Veteran");
setAttrs({Rank: 3});
console.log("Setting class to Junior");
setAttrs({Class: 3});
}
else if (xpVal >=20) {
console.log("Setting rank to Seasoned");
setAttrs({Rank: 2});
console.log("Setting class to Sophmore");
setAttrs({Class: 2});
}
else {
console.log("Setting rank to Novice");
setAttrs({Rank: 1});
console.log("Setting class to Freshman");
setAttrs({Class: 1});
}
}
else {
//Using Advances instead of xp
if (xpVal < 4) {
console.log("Setting rank to Novice");
setAttrs({Rank: 1});
console.log("Setting class to Freshman");
setAttrs({Class: 1});
}
else if (xpVal < 8) {
console.log("Setting rank to Seasoned");
setAttrs({Rank: 2});
console.log("Setting class to Sophmore");
setAttrs({Class: 2});
}
else if (xpVal < 12) {
console.log("Setting rank to Veteran");
setAttrs({Rank: 3});
console.log("Setting class to Junior");
setAttrs({Class: 3});
}
else if (xpVal < 16) {
console.log("Setting rank to Heroic");
setAttrs({Rank: 4});
console.log("Setting class to Senior");
setAttrs({Class: 4});
}
else {
console.log("Setting rank to Legendary");
setAttrs({Rank: 5});
console.log("Setting class to Grad Student");
setAttrs({Class: 5});
}
}
});
});
//End Rank
//Display Derived Stats HR
on("change:useacademics change:tdsanity change:potsmfame change:ripreason change:ripstatus change:hfglory change:izfirewall change:dlgrit change:neuraltoughness change:corruption change:izstreetcred change:izstrain", function() {
getAttrs(["useacademics","tdsanity","potsmFame","ripReason","ripStatus","hfGlory","izFirewall","DLGrit","neuraltoughness","Corruption","izStreetCred","izStrain"], function(v) {
console.log ("**********\nacademics:"+v.useacademics+"\nneuraltoughness:"+v.neuraltoughness+"\nCorruption:"+v.Corruption+"\npotsmFame:"+v.potsmFame+"\nizFirewall:"+v.izFirewall+"\nripReason:"+v.ripReason+"\nDLGrit:"+v.DLGrit+"\nhfGlory:"+v.hfGlory+"\ntdsanity:"+v.tdsanity+"\nripReason:"+v.ripReason+"\nizStrain:"+v.izStrain+"\nizStreetCred:"+v.izStreetCred+"\n**********");
if(v.useacademics == "1" || v.useacademics == 'on' || v.tdsanity == 'on' || v.potsmFame == 'on' || v.ripReason == 'on' || v.ripStatus == 'on' || v.hfGlory == 'on' || v.izFirewall == 'on' || v.DLGrit == 'on' || v.neuraltoughness == 'on' || v.Corruption == 'on' || v.izStreetCred == 'on' || v.izStrain == 'on') {
//then one of the custom derived stats is checked so display the <hr> tag
setAttrs({showDerived: 1});
}
else {
//don't display the <hr> tag
console.log("None of the values are set, don't display <hr>");
setAttrs({showDerived: 0});
}
});
});
const baseToughness = function() {
getAttrs(["vigor", "vigormod"], function(vvalue) {
console.log("vigor value: " + vvalue.vigor);
console.log("vimod value: " + vvalue.vigormod);
var Vigor = parseInt(vvalue.vigor)||0;
var ViMod = parseInt(vvalue.vigormod)||0;
var totVigor = Vigor + ViMod;
setAttrs({ toughness: Math.floor(totVigor/2) + 2 });
setAttrs({ ntoughness: Math.floor(totVigor/2) + 2 });
});
}
//Set Base Toughness (Regular and Neural)
on("sheet:opened change:vigor change:vigormod change:toughness change:ntoughness", function() {
baseToughness();
});
const setToughness = function() {
getAttrs(["toughness","tufnessMod","toughnessArmor"], function(value) {
let tness = parseInt(value.toughness)||0;
let tnessmod = parseInt(value.tufnessMod)||0;
let tnessarmor = parseInt(value.toughnessArmor)||0;
setAttrs({toughnesscur: tness+tnessmod+tnessarmor});
});
}
const setNToughness = function() {
getAttrs(["ntoughness","ntufnessMod","ntoughnessArmor"], function(value) {
let tness = parseInt(value.ntoughness)||0;
let tnessmod = parseInt(value.ntufnessMod)||0;
let tnessarmor = parseInt(value.ntoughnessArmor)||0;
setAttrs({ntoughnesscur: tness+tnessmod+tnessarmor});
});
}
//Set Current Toughness (Regular and Neural)
on("sheet:opened change:toughness change:ntoughness change:tufnessmod change:ntufnessmod change:toughnessarmor change:ntoughnessarmor", function(eventInfo) {
if(eventInfo.sourceAttribute === "toughness" || eventInfo.sourceAttribute === "tufnessmod" || eventInfo.sourceAttribute === "toughnessarmor") {
//Physical Toughness changed
setToughness();
}
else {
//Neural Toughness changed
setNToughness();
}
});
//Set Parry
on("sheet:opened change:fighting change:fightingmod change:parry change:parryMod", function() {
getAttrs(["fighting", "fightingmod", "parryMod"], function(pvalue) {
console.log("fighting value: " + pvalue.fighting);
console.log("mod value: " + pvalue.FightingMod);
console.log("parry mod: " + pvalue.parryMod);
var Fighting = parseInt(pvalue.fighting);
var FightingMod = parseInt(pvalue.fightingmod);
var totFighting = Fighting + FightingMod;
switch (Fighting) {
case 4:
if (Fighting === 4 && FightingMod === -2) {
//Unskilled
totFighting = 0;
}
else { totFighting = Fighting; }
break;
case 6:
case 8:
case 10:
totFighting = Fighting;
break;
case 12:
totFighting = Fighting + FightingMod;
break;
default:
totFighting = 4;
}
var parryMod = parseInt(pvalue.parryMod);
var parryCalc = Math.floor(totFighting/2) + 2;
setAttrs({ parry: parryCalc });
setAttrs({ parryCur: parryCalc + parryMod });
});
});
const setPace = function() {
getAttrs(["pace", "paceMod", "woundsMod", "paceignoreswounds"], function(pvalue) {
console.log("pace value: " + pvalue.pace);
console.log("mod value: " + pvalue.paceMod);
let pace_base = parseInt(pvalue.pace) || 0;
let pace_mod = parseInt(pvalue.paceMod) || 0;
let wound_mod = parseInt(pvalue.woundsMod) || 0;
let totPace = 0;
if (pvalue.paceignoreswounds === "on") {
totPace = pace_base + pace_mod;
}
else {
totPace = pace_base + pace_mod - wound_mod;
}
if (totPace < 1) { totPace = 1;}
setAttrs({ paceCur: totPace });
});
}
//Set Pace
on("change:pace change:pacemod change:woundsmod change:paceignoreswounds", function() {
setPace();
});
const setCharisma = function() {
getAttrs(["charisma", "charismaMod"], function(pvalue) {
console.log("charisma value: " + pvalue.charisma);
console.log("mod value: " + pvalue.charismaMod);
let charisma = parseInt(pvalue.charisma) || 0;
let charisma_mod = parseInt(pvalue.charismaMod) || 0;
let totcharisma = charisma + charisma_mod;
setAttrs({ charismaCur: totcharisma });
});
}
//Set charisma
on("change:charisma change:charismamod change:usecharisma", function() {
setCharisma();
});
const setFame = function() {
getAttrs(["fame", "fameMod"], function(pvalue) {
console.log("fame value: " + pvalue.fame);
console.log("mod value: " + pvalue.fameMod);
let fame = parseInt(pvalue.fame) || 0;
let fame_mod = parseInt(pvalue.fameMod) || 0;
let totFame = fame + fame_mod;
setAttrs({ fameCur: totFame });
});
}
//Set Fame
on("change:fame change:famemod change:potsmFame", function() {
setFame();
});
const setAcademics = function() {
getAttrs(["academics", "academicsMod"], function(pvalue) {
console.log("academics value: " + pvalue.academics);
console.log("mod value: " + pvalue.academicsMod);
let academics_base = parseInt(pvalue.academics) || 0;
let academics_mod = parseInt(pvalue.academicsMod) || 0;
let totAcademics = academics_base + academics_mod;
setAttrs({ academicsCur: totAcademics });
});
}
//Set Academics
on("change:academics change:academicsmod change:change:useacademics", function() {
setAcademics();
});
const setSanity = function() {
getAttrs(["spirit", "spiritmod","sanityMod"], function(pvalue) {
console.log("spirit value: " + pvalue.spirit);
console.log("spirit mod value: " + pvalue.spiritmod);
console.log("Sanity mod value: " + pvalue.sanityMod);
let spirit = parseInt(pvalue.spirit) || 0;
let sp_mod = parseInt(pvalue.spiritmod) || 0;
let sanity_mod = parseInt(pvalue.sanityMod) || 0;
let totSpirit = spirit + sp_mod;
let sanity_value = Math.floor(totSpirit/2) + 2;
setAttrs({
sanity: sanity_value,
sanityCur: sanity_value + sanity_mod
});
});
}
//Set Sanity
on("change:spirit change:spiritmod change:sanitymod change:tdsanity", function() {
setSanity();
});
const setReason = function() {
getAttrs(["reason", "reasonMod"], function(pvalue) {
console.log("reason value: " + pvalue.reason);
console.log("mod value: " + pvalue.reasonMod);
let reason = parseInt(pvalue.reason) || 0;
let reason_mod = parseInt(pvalue.reasonMod) || 0;
let totreason = reason + reason_mod;
setAttrs({ reasonCur: totreason });
});
}
//Set Reason
on("change:reason change:reasonmod change:ripreason", function() {
setReason();
});
const setStatus = function() {
getAttrs(["status", "statusMod"], function(pvalue) {
console.log("status value: " + pvalue.status);
console.log("mod value: " + pvalue.statusMod);
let status = parseInt(pvalue.reason) || 0;
let status_mod = parseInt(pvalue.statusMod) || 0;
let totstatus = status + status_mod;
setAttrs({ statusCur: totstatus });
});
}
//Set Status
on("change:status change:statusmod change:ripstatus", function() {
setStatus();
});
const setGlory = function() {
getAttrs(["glory", "gloryMod"], function(pvalue) {
console.log("glory value: " + pvalue.glory);
console.log("mod value: " + pvalue.gloryMod);
let glory = parseInt(pvalue.glory) || 0;
let glory_mod = parseInt(pvalue.gloryMod) || 0;
let totglory = glory + glory_mod;
setAttrs({ gloryCur: totglory });
});
}
//Set Glory
on("change:glory change:glorymod change:hfglory", function() {
setGlory();
});
const setFirewall = function() {
getAttrs(["Firewall", "FirewallMod"], function(pvalue) {
console.log("Firewall value: " + pvalue.Firewall);
console.log("mod value: " + pvalue.FirewallMod);
let Firewall = parseInt(pvalue.Firewall) || 0;
let firewall_mod = parseInt(pvalue.FirewallMod) || 0;
let totfirewall = Firewall + firewall_mod;
setAttrs({ FirewallCur: totfirewall });
});
}
//Set Firewall
on("change:firewall change:firewallmod change:izfirewall", function() {
setFirewall();
});
const setGrit = function() {
getAttrs(["rank", "gritMod"], function(pvalue) {
console.log("rank value: " + pvalue.rank);
console.log("mod value: " + pvalue.gritMod);
let rank = parseInt(pvalue.rank) || 0;
let grit_mod = parseInt(pvalue.gritMod) || 0;
let totgrit = rank + grit_mod;
setAttrs({ grit: rank,
gritCur: totgrit });
});
}
//Set grit
on("change:rank change:gritmod change:dlgrit", function() {
setGrit();
});
const setCorruption = function() {
getAttrs(["corruptionStat", "corruptionMod"], function(pvalue) {
console.log("corruption value: " + pvalue.corruptionStat);
console.log("mod value: " + pvalue.corruptionMod);
let corruptionStat = parseInt(pvalue.corruptionStat) || 0;
let corruptiont_mod = parseInt(pvalue.corruptionMod) || 0;
let totcorruption = corruptionStat + corruptiont_mod;
setAttrs({ corruptionCur: totcorruption });
});
}
//Set Corruption
on("change:corruptionstat change:corruptionmod change:corruption", function() {
setCorruption();
});
const setStreetCred = function() {
getAttrs(["rank", "StreetCredMod"], function(pvalue) {
console.log("rank value: " + pvalue.rank);
console.log("mod value: " + pvalue.StreetCredMod);
let rank = parseInt(pvalue.rank) || 0;
let sc_mod = parseInt(pvalue.StreetCredMod) || 0;
let street_cred = rank * 2;
let totsc = street_cred + sc_mod;
setAttrs({ StreetCred: street_cred,
StreetCredCur: totsc });
});
}
//Set street cred
on("change:rank change:streetcredmod change:izstreetcred", function() {
setStreetCred();
});
const calcStrain = function() {
repeatingSimpleSum('augmentation','augStrain','totalStrain');
}
// Calculate Strain
on('change:repeating_augmentation remove:repeating_augmentation change:izstrain',function(){
calcStrain();
});
const setStrain = function() {
getAttrs(["totalStrain"], function(svalue) {
let strain = parseInt(svalue.totalStrain)||0;
setAttrs({ StrainCur: strain });
});
}
//Set Current Strain
on('change:totalstrain', function() {
setStrain();
});
const setMaxStrain = function() {
getAttrs(["strain", "StrainMod"], function(svalue) {
console.log("strain value: " + svalue.strain);
console.log("mod value: " + svalue.StrainMod);
var base = parseInt(svalue.strain)||0;
var sMod = parseInt(svalue.StrainMod)||0;
var maxStrain = base + sMod;
setAttrs({ strain_max: maxStrain });
});
}
//Calculate Max Strain
on("change:strain change:strainmod", function() {
setMaxStrain();
});
//Visual Cue of Strain(ger) Danger (Wild Card)
on("change:strain_max change:totalstrain", function() {
console.log("<====== Checking for Strain Fatigue ======>");
getAttrs(["Strain_max","totalStrain"], function(cvalue) {
console.log("max strain: " + cvalue.Strain_max);
console.log("tot strain: " + cvalue.totalStrain);
var max_Strain = parseInt(cvalue.Strain_max)||0;
var tot_Strain = parseInt(cvalue.totalStrain)||0;
console.log("maxStrain = " + typeof max_Strain);
console.log("totStrain = " + typeof tot_Strain);
strainzone = Math.floor(parseFloat((tot_Strain / max_Strain)) * 100);
console.log("Danger Zone: " + strainzone);
if (strainzone >= 100) {
console.log("At or exceeded Max Strain");
setAttrs({straincrit: 1,
straindanger: 0});
}
else if (strainzone >= 75) {
console.log("Nearing Max Strain");
setAttrs({straincrit: 0,
straindanger: 1});
}
else {
console.log("Nothing to worry about yet");
setAttrs({straincrit: 0,
straindanger: 0});
}
});
});
const setTAPRange = function() {
getAttrs(["smarts", "smartsmod", "taprange"], function(vvalue) {
console.log("Smarts value: " + vvalue.smarts);
console.log("Smarts Mod value: " + vvalue.smartsmod);
var smartsval = parseInt(vvalue.smarts)||0;
var smodval = parseInt(vvalue.smartsmod)||0;
var totrange = smartsval + smodval;
setAttrs({taprange: totrange});
});
}
//Set TAP Range
on("change:smarts change:smartsmod", function() {
setTAPRange();
});
//Calculate Total Armor Weight
on("change:repeating_armor:armortypeweight change:repeating_armor:armorcarried remove:repeating_armor", function(eventInfo) {
repeatingSimpleSumWCheck('armor','ArmorTypeWeight','armortotalweightcarried','ArmorCarried','on');
});
//Calculate Total Weapon Weight
on("change:repeating_weapons:weaponweight change:repeating_weapons:weaponcarried remove:repeating_weapons", function(eventInfo) {
repeatingSimpleSumWCheck('weapons','weaponweight','weapontotalweightcarried','weaponcarried','on');
});
//Calculate Total Gear Weight
on("change:repeating_gear:itemweight remove:repeating_gear", function() {
console.log("Gear Weight Change");
repeatingSimpleSum('gear','itemWeight','geartotalweightcarried');
})
//Calculate Total Load Carried
on("change:armortotalweightcarried change:weapontotalweightcarried change:rangedtotalweightcarried change:geartotalweightcarried",function(){
getAttrs(["armortotalweightcarried", "weapontotalweightcarried", "geartotalweightcarried"], function(lvalue) {
let armor = parseFloat(lvalue.armortotalweightcarried)||0;
let weapon = parseFloat(lvalue.weapontotalweightcarried)||0;
let gear = parseFloat(lvalue.geartotalweightcarried)||0;
setAttrs({ totalloadcarried: armor + weapon + gear });
});
});
//Calculate Armor Modifier for Toughness (Looking at Torso only)
on("change:repeating_armor:armorworn change:repeating_armor:areaprotected change:repeating_armor:armortypeprotection change:repeating_armor:armorstack remove:repeating_armor", function() {
console.log("^^^ Changes in Armor...might impact Toughness ^^^");
getSectionIDs("repeating_armor", function(idArray) {
//Construct Array of fields to get attributes for...
let sumFields = [];
for (let a=0; a< idArray.length; a++) {
sumFields[sumFields.length] = "repeating_armor_" + idArray[a] + "_armorWorn";
sumFields[sumFields.length] = "repeating_armor_" + idArray[a] + "_AreaProtected";
sumFields[sumFields.length] = "repeating_armor_" + idArray[a] + "_ArmorTypeProtection";
sumFields[sumFields.length] = "repeating_armor_" + idArray[a] + "_armorstack";
}
//sumFields[sumFields.length] = "toughnessArmor"
getAttrs(sumFields, function(v) {
console.log("%%% values of v: "+ JSON.stringify(v) +" %%%");
let armorTotal = 0;
let highestNonStack = 0;
let highestStack = 0;
let previousHighest = 0;
let previousStack = 0;
let stackProtection = 0;
let stackCalc = 0;
console.log("ARMOR VALUE: "+armorTotal);
console.log("!!! Armor Worn Test Value: " + v['repeating_armor_'+idArray[0]+'_armorWorn']);
for(a=0; a<idArray.length; a++){
console.log("xXxX Armor Protection Value: " + v['repeating_armor_'+idArray[a]+'_ArmorTypeProtection'] + " xXxX");
let aProtection = parseInt(v['repeating_armor_'+idArray[a]+'_ArmorTypeProtection']) || 0;
let aStack = parseFloat(v['repeating_armor_'+idArray[a]+'_armorstack']) || 0;
let aCovers = parseInt(v['repeating_armor_'+idArray[a]+'_AreaProtected']) || 0;
console.log("xXxX Armor Protection Value: " + aProtection + " xXxX");
//cycle through the armors and see if any of the worn items are of greater protection
console.log("Iteration Number: "+a);
if(v['repeating_armor_'+idArray[a]+'_armorWorn'] != '1') {
//Armor is not worn
console.log("Armor is not worn, moving on...");
}
else { //Armor is Worn, need to determine if it covers the Torso
if (aCovers == 1 || aCovers == 6 || aCovers == 7) {
//Not Torso
console.log("Armor doesn't cover the Torso, moving on...");
}
else {
//Armor covers Torso
if(aStack === 0) {
//Armor doesn't stack--need to find the highest armor value and store it
if(aProtection > highestNonStack) {
//Make this new armor value the Highest Non Stack
console.log("!!! Worn Armor Covers Torso and protection is Higher than current highest Armor value");
console.log("!!! Highest Value: "+highestNonStack);
console.log("!!! Current Value: "+ aProtection);
previousHighest = highestNonStack;
highestNonStack = aProtection;
}
else {
console.log("!!! Current Armor value is not higher than the current highest !!!");
}
}
else {
//Armor Stacks
stackCalc += Math.floor(aProtection*aStack);
}
/*if(aProtection > highestNonStack) {
console.log("!!! Worn Armor Covers Torso and protection is Higher than current highest Armor value");
console.log("!!! Highest Value: "+highestNonStack);
console.log("!!! Current Value: "+ aProtection);
stackCalc = Math.floor(highestNonStack*highestStack);
console.log("!!! "+highestNonStack+" times "+highestStack);
console.log("!!! Previous Highest Armor Value Now: "+stackCalc);
stackProtection += stackCalc;
previousHighest = highestNonStack;
previousStack = highestStack;
console.log("!!! Move highest stack to Previous: "+previousHighest);
console.log("!!! Move highest Stack to Previous: "+previousStack);
highestNonStack = aProtection;
highestStack = aStack;
console.log("Highest Armor: "+highestNonStack);
console.log("Highest Stack "+ highestStack);
console.log("Stack Protection: "+stackProtection);
}
else if(aProtection === highestNonStack) {
console.log("!!! Worn Armor has the same protection value of current highest--doesn't count");
}
else {
console.log("!!! Worn Armor Covers Torso and protection is lower than current highest Armor value");
stackCalc = Math.floor(aProtection*aStack);
stackProtection += stackCalc;
console.log("Highest Armor: "+highestNonStack);
console.log("Stack Protection: "+stackProtection);
}*/
}
}
}
console.log("Done iterating through the Armor");
//armorTotal = highestNonStack + stackProtection;
armorTotal = highestNonStack + stackCalc;
console.log("___ Total Armor Protection: "+armorTotal+" ___");
setAttrs({toughnessArmor: armorTotal});
});
});
});
//Weapon Button config
const weapon = ['repeating_weapons','repeating_paweapons','repeating_raweapons'];
weapon.forEach(weapon => {
on(`change:${weapon}:weaponbutton change:${weapon}:weaponskill change:${weapon}:paweaponbutton change:${weapon}:paweaponskill change:${weapon}:raweaponbutton change:${weapon}:raweaponskill`, function(eventInfo) {
console.log(eventInfo.sourceAttribute);
let pa = '';
let wbutton = 'repeating_weapons_weaponbutton';
let wskill = 'repeating_weapons_weaponskill';
if (eventInfo.sourceAttribute.slice(10,12) === 'pa') {
pa = 'pa';
wbutton = 'repeating_paweapons_paweaponbutton';
wskill = 'repeating_paweapons_paweaponskill';
}
else if (eventInfo.sourceAttribute.slice(10,12) === 'ra') {
pa = 'ra';
wbutton = 'repeating_raweapons_raweaponbutton';
wskill = 'repeating_raweapons_raweaponskill';
}
const skillUn = `@{whisperweapon} &{template:roll} @{rolltUnskilled} {{trait=^{unskilled}}} {{source=@{${pa}weapon}}} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_${pa}weapons_${pa}dmg) }} @{unskilledencumbrancebutton} @{showtraitmods} @{multiattack}`;
const skillFi = `@{whisperweapon} &{template:roll} {{trait=@{fightingname}}} {{source=@{${pa}weapon}}} @{rolltFighting} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_${pa}weapons_${pa}dmg) }} @{setmodsenc} @{showtraitmods} @{multiattack}`;
const skillAt = `@{whisperweapon} &{template:roll} {{trait=@{athleticsname}}} {{source=@{${pa}weapon}}} @{rolltAthletics} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_${pa}weapons_${pa}dmg) }} @{setmodsenc} @{showtraitmods} @{multiattack}`;
const skillSh = `@{whisperweapon} &{template:roll} {{trait=@{shootingname}}} {{source=@{${pa}weapon}}} @{rolltShooting} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_${pa}weapons_${pa}dmg) }} @{setmodsenc} @{showtraitmods} @{multiattack}`;
const skillTh = `@{whisperweapon} &{template:roll} {{trait=@{throwingname}}} {{source=@{${pa}weapon}}} @{rolltThrowing} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_${pa}weapons_${pa}dmg) }} @{setmodsenc} @{showtraitmods} @{multiattack}`;
console.log(eventInfo.sourceAttribute);
let sid = eventInfo.sourceAttribute.slice(18,38);
let skillToUse = skillFi;
console.log("sid: "+sid);
console.log("skillFi: "+skillFi);
getAttrs([`${weapon}_${pa}weaponbutton`,`${weapon}_${pa}weaponskill`], function(value) {
let tWeaponFormula = '';
if(value[wbutton] === "0" || value[wbutton] === "2") {
//Attack + Damage Roll in One
console.log("!! Attack + Damage !!");
tWeaponFormula = `@{${pa}skillNDamage}`;
switch(value[wskill]) {
case 'fighting':
skillToUse = skillFi;
break;
case 'athletics':
skillToUse = skillAt;
break;
case 'shooting':
skillToUse = skillSh;
break;
case 'throwing':
skillToUse = skillTh;
break;
case 'unskilled':
skillToUse = skillUn;
break;
default:
skillToUse = skillFi;
break;
}
console.log("weaponskill: "+value[wskill]);
console.log("skillToUse: "+skillToUse);
}
else {
//Damage roll only
console.log("!! Damage Only !!");
//tWeaponFormula = "@{repeating_weapons_"+ sid +"_damageOnly}";
tWeaponFormula = `@{${pa}damageOnly}`;
console.log(`tWeaponFormula: ${tWeaponFormula}`);
}
switch(pa) {
case 'pa':
setAttrs({
repeating_paweapons_paweaponroll: tWeaponFormula,
repeating_paweapons_paskillNDamage: skillToUse
});
break;
case 'ra':
console.log("### Updating the Robot Button Values ###");
setAttrs({
repeating_raweapons_raweaponroll: tWeaponFormula,
repeating_raweapons_raskillNDamage: skillToUse
});
break;
default:
setAttrs({
repeating_weapons_weaponroll: tWeaponFormula,
repeating_weapons_skillNDamage: skillToUse
});
break;
}
});
});
});
//Multi Attack
on("change:repeating_weapons:rof change:repeating_weapons:weaponbutton change:repeating_weapons:weaponskill", function(eventInfo) {
/* rof > 1; need to set showmulti = 1 (show Atk^+Dmg), otherwise 0 (hide Atk^+Dmg)
if weaponbutton === 2, then we need to build the multi attack formula (goes in multiattack variable)
*/
console.log("@@@ A Change Happened @@@");
console.log(`@@@ ${eventInfo.sourceAttribute} @@@`);
getAttrs(["repeating_weapons_rof","repeating_weapons_weaponbutton","repeating_weapons_weaponskill","repeating_weapons_multiattack","atkxconfig"], function(v) {
let rof = parseInt(v.repeating_weapons_rof) || 0;
let weaponbutton = v.repeating_weapons_weaponbutton;
let weaponskill = v.repeating_weapons_weaponskill;
let xconfig = v.atkxconfig
let multiattackformula ='';
console.log(`*** ROF: ${rof} ***`);
if (rof > 1) {
console.log("Show the Atk^+Dmg button");
setAttrs({repeating_weapons_showmulti: "1"}); /*show Atk^+Dmg on drop down menu*/
}
if (rof < 2 && weaponbutton === "2") { /*if ROF < 2 and Weapons Button is set to Atk^+Dmg, need set it to just Atk+Dmg*/
console.log("Hide the Atk^+Dmg Button and if it was set to Atk^+Dmg, change it to Atk+Dmg");
console.log("Set multiattack to 0, so we don't get the multi attack stuff in the roll template");
setAttrs({
repeating_weapons_showmulti: "0",
repeating_weapons_weaponbutton: "0",
repeating_weapons_multiattack: "0"
});
}
console.log(`*** weaponbutton: ${weaponbutton} ***`);
if (weaponbutton === "2") {
console.log("### Constructing the multiattack formula ###");
console.log("constructing roll query");
let templatecalls = "";
let a,b;
let loopParam, loopParam2;
//adjusting the roll query
if (xconfig === "0") {a = rof; loopParam = `a > 0`; loopParam2 = `a--`;}
else {a = 1; loopParam = `a <= ${rof}`; loopParam2 = `a++`;}
//Create the Roll Query
let rollquery = '?{Number of Skill Dice';
for (a; eval(loopParam); eval(loopParam2)) {
rollquery += `|${a}`;
console.log(`RQ: ${rollquery}`);
}
rollquery += "}";
//Create the Roll Formula
let multiattackformula = "";
for (b = 2; b <= rof; b++) {
if (b === 6 && rof > 6 && xconfig !== "2"){
console.log("!!! Using the Roll Query !!!");
console.log(`b: ${b} || rof: ${rof} || xconfig: ${xconfig}`);
multiattackformula += `{{skill_rollall=^{plus-the-next} [[${rollquery}-5]]}} `;
}
multiattackformula += `{{skill_roll${b}=[[@{${weaponskill}rollformula}]]}} `;
}
if (xconfig === "2") {
multiattackformula += `{{numrolls=[[1d0+${rof}]]}}`;
}
else {
multiattackformula += `{{numrolls=[[1d0+${rollquery}]]}} `;
}
multiattackformula = multiattackformula.trim();
console.log(`||| ${multiattackformula} |||`);
setAttrs({
repeating_weapons_multiattack: multiattackformula
});
}
else {
console.log("Change was triggered, but Weapon Button isn't Atk^+Dmg");
setAttrs({
repeating_weapons_multiattack: "0"
});
}
});
});
//Spell Button config
on("change:repeating_spells:spellbutton change:repeating_spells:spellskill", function(eventInfo) {
console.log(eventInfo.sourceAttribute);
let sid = eventInfo.sourceAttribute.slice(18,38);
const skillUn = "@{rolltUnskilled} {{trait=^{unskilled}}} @{unskilledencumbrancebutton} @{showtraitmods}";
const skillAt = "{{trait=@{athleticsname}}} @{rolltAthletics} @{setmodsenc} @{showtraitmods}";
const skillFa = "{{trait=@{faithname}}} @{rolltFaith} @{setmods} @{showtraitmods}";
const skillFo = "{{trait=@{focusname}}} @{rolltFocus} @{setmods} @{showtraitmods}";
const skillPe = "{{trait=@{performancename}}} @{rolltPerformance} @{setmods} @{showtraitmods}";
const skillPs = "{{trait=@{psionicsname}}} @{rolltPsionics} @{linkedpsionicsattbutton} @{showtraitmods}";
const skillRi = "{{trait=@{ritualname}}} @{rolltRitual} @{linkedritualattscorebutton} @{showtraitmods}";
const skillSp = "{{trait=@{spellcastingname}}} @{rolltSpellcasting} @{linkedspellcastingattscorebutton} @{showtraitmods}";
const skillWs = "{{trait=@{weirdsciencename}}} @{rolltWeirdScience} @{linkedweirdscienceattscorebutton} @{showtraitmods}";
const skilltemp = "@{whisperspell} &{template:roll} {{source=@{power}}} {{trappings=@{trappings}}} {{PowerTemplate=y}} @{shownotes}"
let skillToUse = skillSp;
console.log("sid: "+sid);
console.log("skillSp: "+skillSp);
getAttrs(["repeating_spells_spellbutton","repeating_spells_spellskill"], function(value) {
let tSpellFormula = '';
if(value.repeating_spells_spellbutton === "0" || value.repeating_spells_spellbutton === "2") {
//Attack + Damage Roll in One
console.log("!! Need to use Skills !!");
skillToUse = skilltemp + " ";
switch(value.repeating_spells_spellskill) {
case 'athletics':
skillToUse += skillAt;
break;
case 'faith':
skillToUse += skillFa;
break;
case 'focus':
skillToUse += skillFo;
break;
case 'performance':
skillToUse += skillPe;
break;
case 'psionics':
skillToUse += skillPs;
break;
case 'ritual':
skillToUse += skillRi;
break;
case 'spellcasting':
skillToUse += skillSp;
break;
case 'weirdscience':
skillToUse += skillWs;
break;
case 'unskilled':
skillToUse += skillUn;
break;
default:
skillToUse += skillSp;
break;
}
console.log("spellskill: "+value.repeating_spells_spellskill);
console.log("skillToUse: "+skillToUse);
}
if (value.repeating_spells_spellbutton === "0") {
//Atk + Damage
tSpellFormula = "@{spellskillNDamage}";
skillToUse += " {{button=y}} {{DmgRoll=[Roll Damage](~repeating_spells_spelldmg) }}";
}
else if (value.repeating_spells_spellbutton === "1") {
//Damage roll only
console.log("!! Damage Only !!");
//tspellFormula = "@{repeating_spells_"+ sid +"_damageOnly}";
tSpellFormula = "@{spelldamageOnly}";
}
else {
//skill only roll
tSpellFormula = "@{skillOnly}";
}
setAttrs({
repeating_spells_spellroll: tSpellFormula,
repeating_spells_spellskillNDamage: skillToUse,
repeating_spells_skillOnly: skillToUse
});
});
});
//Get Weapon Damage
on("change:repeating_weapons:damageatt change:repeating_weapons:dmgnumdice change:repeating_weapons:dmgdietype change:repeating_weapons:dmgbonusnum change:repeating_paweapons:padamageatt change:repeating_paweapons:padmgnumdice change:repeating_paweapons:padmgdietype change:repeating_paweapons:padmgbonusnum change:repeating_raweapons:radamageatt change:repeating_raweapons:radmgnumdice change:repeating_raweapons:radmgdietype change:repeating_raweapons:radmgbonusnum",function(eventInfo) {
let pa = '';
if (eventInfo.sourceAttribute.slice(10,12) === 'pa') {
pa = 'pa';
}
else if (eventInfo.sourceAttribute.slice(10,12) === 'ra') {
pa = 'ra';
}
getAttrs(["agility_display","smarts_rank","spirit_rank","strength_rank","vigor_rank",`repeating_${pa}weapons_${pa}damageatt`,`repeating_${pa}weapons_${pa}dmgnumdice`,`repeating_${pa}weapons_${pa}dmgdietype`,`repeating_${pa}weapons_${pa}dmgbonusnum`],function(value) {
let dmgdisplay, dmgformula = "";
let strTranslation = getTranslationByKey('strength-abbr');
let aglTranslation = getTranslationByKey('agility-abbr');
let smaTranslation = getTranslationByKey('smarts-abbr');
let spiTranslation = getTranslationByKey('spirit-abbr');
let vigTranslation = getTranslationByKey('vigor-abbr');
//Step One: Get the Attribute, if one is selected
console.log("The Value: "+value[`repeating_${pa}weapons_${pa}damageatt`]);
if (value[`repeating_${pa}weapons_${pa}damageatt`] === "strength") {
dmgdisplay = strTranslation;
dmgformula = `@{${pa}strength_rank}`;
}
else if (value.repeating_weapons_damageatt === "agility") {
dmgdisplay = aglTranslation;
dmgformula = "@{agility_rank}";
}
else if (value.repeating_weapons_damageatt === "smarts") {
dmgdisplay = smaTranslation;
dmgformula = "@{smarts_rank}";
}
else if (value.repeating_weapons_damageatt === "spirit") {
dmgdisplay = spiTranslation;
dmgformula = "@{spirit_rank}";
}
else if (value.repeating_weapons_damageatt === "vigor") {
dmgdisplay = vigTranslation;
dmgformula = "@{vigor_rank}";
}
else {
console.log("No Attribute for this selection");
dmgdisplay = "";
dmgformula = "";
}
//Step Two: Determine the number of dice
let numDice = parseInt(value[`repeating_${pa}weapons_${pa}dmgnumdice`]) || 0;
if (numDice > 100) {
console.log("Number of Dice too great, not using it as part of the damage expression");
dmgdisplay = dmgdisplay;
dmgformula = dmgformula;
}
else if (numDice === 0) {
console.log("No Dice Type to roll");
dmgdisplay = dmgdisplay;
dmgformula = dmgformula;
}
else { // Means the number of dice is bettween 1 and 100
if (value[`repeating_${pa}weapons_${pa}damageatt`] === "na") {
dmgdisplay = value[`repeating_${pa}weapons_${pa}dmgnumdice`] + value[`repeating_${pa}weapons_${pa}dmgdietype`].replace('!','');
dmgformula = value[`repeating_${pa}weapons_${pa}dmgnumdice`] + value[`repeating_${pa}weapons_${pa}dmgdietype`];
}
else {
dmgdisplay += "+" + value[`repeating_${pa}weapons_${pa}dmgnumdice`] + value[`repeating_${pa}weapons_${pa}dmgdietype`].replace('!','');
dmgformula += "+" + value[`repeating_${pa}weapons_${pa}dmgnumdice`] + value[`repeating_${pa}weapons_${pa}dmgdietype`];
}
}
console.log("___ Stuff so far: "+dmgdisplay+" ___");
//Step Three: Determine if we need to add a Modifier
let checkString = value[`repeating_${pa}weapons_${pa}dmgbonusnum`];
//will match anything from a single number to #d#!+/-###
//const modFormat = /^(\d*d?\d{1,2}!)?([\+-]?\d{0,3})$/g;
const modFormat = /^(-?\d*)((d?)(\d{1,2}))(!?)?([\+-]?)(\d{0,3})$/g;
let modifier = checkString.match(modFormat);
console.log("Modifier: " + modifier);
let names=['fullExpression','preNum','fullDieType','die','dieType','ace','modType','postNum'];
let result = modFormat.exec(checkString);
console.log("checkString Value: " + checkString);
if(modifier === null) {
if(dmgdisplay.length > 0) {
dmgdisplay = dmgdisplay;
dmgformula = dmgformula;
}
else {
dmgdisplay = "None";
dmgformula = "1d0[None]";
}
}
else { //modifier is not null
if (dmgformula.length > 0) {
dmgformula += "+" + modifier;
dmgdisplay += "+" + modifier;
}
else {
dmgformula = modifier;
dmgdisplay = modifier;
}
}
//Step Four: update the values
console.log("!!! Damage: " + dmgdisplay + " !!!");
console.log("!!! Formula: " + dmgformula + " !!!");
switch(pa) {
case 'pa':
setAttrs({
repeating_paweapons_paweapondamage: dmgdisplay,
repeating_paweapons_paweapondmg: dmgformula
});
break;
case 'ra':
setAttrs({
repeating_raweapons_raweapondamage: dmgdisplay,
repeating_raweapons_raweapondmg: dmgformula
});
break;
default:
setAttrs({
repeating_weapons_weapondamage: dmgdisplay,
repeating_weapons_weapondmg: dmgformula,
repeating_weapons_highlightdamage: "0"
});
break;
}
});
});
//Spell Damage config
on("change:repeating_spells:spelldamageatt change:repeating_spells:spelldmgnumdice change:repeating_spells:spelldmgdietype change:repeating_spells:spelldmgbonusnum",function() {
getAttrs(["agility_display","smarts_rank","spirit_rank","strength_rank","vigor_rank","repeating_spells_spelldamageatt","repeating_spells_spelldmgnumdice","repeating_spells_spelldmgdietype","repeating_spells_spelldmgbonusnum"],function(value) {
let dmgdisplay, dmgformula = "";
let strTranslation = getTranslationByKey('strength-abbr');
let aglTranslation = getTranslationByKey('agility-abbr');
let smaTranslation = getTranslationByKey('smarts-abbr');
let spiTranslation = getTranslationByKey('spirit-abbr');
let vigTranslation = getTranslationByKey('vigor-abbr');
//Step One: Get the Attribute, if one is selected
console.log("The Value: "+value.repeating_spells_spelldamageatt);
if (value.repeating_spells_spelldamageatt === "strength") {
dmgdisplay = strTranslation;
dmgformula = "@{strength_rank}";
}
else if (value.repeating_spells_spelldamageatt === "agility") {
dmgdisplay = aglTranslation;
dmgformula = "@{agility_rank}";
}
else if (value.repeating_spells_spelldamageatt === "smarts") {
dmgdisplay = smaTranslation;
dmgformula = "@{smarts_rank}";
}
else if (value.repeating_spells_spelldamageatt === "spirit") {
dmgdisplay = spiTranslation;
dmgformula = "@{spirit_rank}";
}
else if (value.repeating_spells_spelldamageatt === "vigor") {
dmgdisplay = vigTranslation;
dmgformula = "@{vigor_rank}";
}
else {
console.log("No Attribute for this selection");
dmgdisplay = "";
dmgformula = "";
}
//Step Two: Determine the number of dice
let numDice = parseInt(value.repeating_spells_spelldmgnumdice) || 0;
console.log("Number of Dice: "+ numDice);
if (numDice > 100) {
console.log("Number of Dice too great, not using it as part of the damage expression");
dmgdisplay = dmgdisplay;
dmgformula = dmgformula;
}
else if (numDice === 0) {
console.log("No Dice Type to roll");
dmgdisplay = dmgdisplay;
dmgformula = dmgformula;
}
else { // Means the number of dice is bettween 1 and 100
if (value.repeating_spells_spelldamageatt === "na") {
dmgdisplay = value.repeating_spells_spelldmgnumdice + value.repeating_spells_spelldmgdietype.replace('!','');
dmgformula = value.repeating_spells_spelldmgnumdice + value.repeating_spells_spelldmgdietype;
}
else {
dmgdisplay += "+" + value.repeating_spells_spelldmgnumdice + value.repeating_spells_spelldmgdietype.replace('!','');
dmgformula += "+" + value.repeating_spells_spelldmgnumdice + value.repeating_spells_spelldmgdietype;
}
}
console.log("___ Stuff so far: "+dmgdisplay+" ___");
//Step Three: Determine if we need to add a Modifier
let checkString = value.repeating_spells_spelldmgbonusnum;
//will match anything from a single number to #d#!+/-###
//const modFormat = /^(\d*d?\d{1,2}!)?([\+-]?\d{0,3})$/g;
const modFormat = /^(-?\d*)((d?)(\d{1,2}))(!?)?([\+-]?)(\d{0,3})$/g;
let modifier = checkString.match(modFormat);
console.log("Modifier: " + modifier);
let names=['fullExpression','preNum','fullDieType','die','dieType','ace','modType','postNum'];
let result = modFormat.exec(checkString);
console.log("checkString Value: " + checkString);
if(modifier === null) {
if(dmgdisplay.length > 0) {
dmgdisplay = dmgdisplay;
dmgformula = dmgformula;
}
else {
dmgdisplay = "None";
dmgformula = "1d0[None]";
}
}
else { //modifier is not null
if (dmgformula.length > 0) {
dmgformula += "+" + modifier;
dmgdisplay += "+" + modifier;
}
else {
dmgformula = modifier;
dmgdisplay = modifier;
}
}
//Step Four: update the values
console.log("!!! Damage: " + dmgdisplay + " !!!");
console.log("!!! Formula: " + dmgformula + " !!!");
setAttrs({
repeating_spells_powerdamage: dmgdisplay,
repeating_spells_spelldmg: dmgformula,
repeating_spells_shighlightdamage: "0"
});
});
});
//Select all Skills if "All" is selected
const static = ['staticcore','staticboating','staticclimbing','staticdriving','staticfaith','staticgambling','staticguts','statichealing','staticintimidation','staticinvestigation','staticlockpicking','staticnotice','staticpersuasion','staticpiloting','staticpsionics','staticrepair','staticriding','staticritual','staticshooting','staticspellcasting','staticstealth','staticstreetwise','staticsurvival','staticswimming','statictaunt','staticthrowing','statictracking','staticweirdscience','staticKnowledgeOther','staticacademics','staticathletics','staticbattle','staticcommonknowledge','staticelectronics','staticfocus','statichacking','staticlanguage','staticoccult','staticperformance','staticresearch','staticscience','staticthievery'];
on("change:staticall",function(eventInfo){
let sattr = {};
if (eventInfo.newValue === "1") {
//All has been checked
for(let i=0; i<static.length; i++) {
console.log("Loop 1");
sattr[static[i]] = "on";
}
console.log("Set: "+ JSON.stringify(sattr));
setAttrs(sattr);
}
else {
//All has been deselected
for(let i=0; i<static.length; i++) {
console.log("Loop 1");
sattr[static[i]] = 0;
}
console.log("Set: "+ JSON.stringify(sattr));
setAttrs(sattr);
}
});
//Select all Core Skills if "Core" is selected
on("change:staticcore",function(eventInfo){
if (eventInfo.newValue === "1") {
//All has been checked
setAttrs({
staticathletics: "on",
staticcommonknowledge: "on",
staticnotice: "on",
staticpersuasion: "on",
staticstealth: "on"
});
}
else {
//All has been deselected
setAttrs({
staticathletics: 0,
staticcommonknowledge: 0,
staticnotice: 0,
staticpersuasion: 0,
staticstealth: 0
});
}
});
//Create Trait values for rank and display hidden fields
const traits = ['agility','smarts','spirit','strength','vigor','fighting','academicsskill','athletics','battle','boating','climbing','commonknowledge','driving','electronics','faith','focus','gambling','guts','hacking','healing','intimidation','investigation','language','lockpicking','notice','occult','performance','persuasion','piloting','psionics','repair','research','riding','ritual','science','shooting','spellcasting','stealth','streetwise','survival','swimming','taunt','throwing','thievery','tracking','weirdscience','repeating_skills:skillnamerank','pastrength','rastrength'];
traits.forEach(traits => {
on(`change:${traits} change:${traits}mod`, function(eventInfo) {
console.log(`+++ Change Detected for ${traits} +++`);
console.log("Trait triggering update: " + eventInfo.sourceAttribute);
let trait = traits;
console.log("trait = "+trait);
console.log("Check for repeating: "+trait.slice(0,6));
/*if (trait.slice(0,5) === 'repeating') {
traitcheck = `repeating_skills_${traits}`;
}*/
trait = trait.replace(':','_');
console.log("trait = "+trait);
getAttrs([trait, `${trait}mod`], v => {
console.log("intMod will == "+v[`${trait}mod`]);
let tRank = '1d'+v[trait]+'!';
let tDisplay = 'd'+v[trait];
let intMod = v[`${trait}mod`];
intMod = parseInt(intMod)||0;
if(intMod > 0) {
console.log("Mod is > 0...use +");
tRank += '+'+intMod+'[trait]';
tDisplay += '+' + intMod;
}
else if(intMod < 0) {
console.log("Mod is < 0...use +");
tRank += intMod+'[trait]';
tDisplay += intMod;
}
else {console.log("Mod is 0...don't do anything");}
const sAttRank = trait + '_rank', sAttDisplay = trait + '_display';
const sattrs = {};
sattrs[sAttRank]=tRank;
sattrs[sAttDisplay]=tDisplay;
setAttrs(sattrs);
});
});
});
const setEncPenalty = function() {
getAttrs(["loadlimit", "totalloadcarried", "strength", "encumbrancerules", "loadlimitdietypedelta", "loadlimitmulitplier", "loadlimitmod"], function(lvalue) {
let load = parseFloat(lvalue.totalloadcarried)||0;
let strength = parseInt(lvalue.strength)||0;
let limit = 0;
let diedelta = parseInt(lvalue.loadlimitdietypedelta);
let loadmulitplier = parseInt(lvalue.loadlimitmulitplier);
let limitmod = parseFloat(lvalue.loadlimitmod);
let penalty = 0;
let base = 0;
console.log("### Encumbrance Rules: " + lvalue.encumbrancerules + " ###");
//determine which rules are being Used
if (lvalue.encumbrancerules === "1") {
//use SWADE rules
console.log("### Using SWADE Encumbrance Rules ###");
base = ((strength - 4)*10) + 20;
limit = base + (diedelta * 20) + limitmod;
//determine penalty
if (load > limit) {
//character is encumbered
penalty = "-2";
}
else {
penalty = "0";
}
}
else if (lvalue.encumbrancerules === "2") {
//use SWEX rules
console.log("### Using SWEX Encumbrance Rules ###");
base = strength * loadmulitplier;
limit = base + limitmod;
penalty = Math.floor((limit - load + 1) / limit);
if (penalty > 0) {
penalty = 0;
}
}
else {
//ignore encumbrance
console.log("Not using Encumbrance");
penalty = 0;
}
setAttrs({
encumbrance: penalty,
loadlimit: limit
});
});
}
const setDynamicEnc = function(field) {
getAttrs([field], function(v) {
let button = `${field}button`;
let formula = `${field}formula`;
let sattrs = {};
if(v[field] === "(AGL)" || v[field] === "(STR)" || v[field] === "1") {
console.log(`Need to set trait (${field}) to use Encumbrance`);
sattrs[button] = `@{setmodsenc}`;
sattrs[formula] = `@{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance]`;
}
else {
console.log(`Need to set trait (${field}) to NOT use Encumbrance`);
sattrs[button] = `@{setmods}`;
sattrs[formula] = `@{ModSum}[Distracted, Wounds, Fatigue]`;
}
console.log("Setting the following Values: " + JSON.stringify(sattrs));
setAttrs(sattrs);
});
}
const dynoTraits = ['unskilledencumbrance','linkedathleticsatt','linkedpsionicsatt','linkedritualattscore','linkedspellcastingattscore','linkedweirdscienceattscore','repeating_skills:linkedotherattscore'];
dynoTraits.forEach(dynoTraits => {
on(`change:${dynoTraits}`, function(eventInfo) {
console.log(`###### Changed Attribute: ${eventInfo.sourceAttribute} ######`);
setDynamicEnc(eventInfo.sourceAttribute);
});
});
//Calculate Encumbrance Penalty
on("change:totalloadcarried change:loadlimit change:strength change:encumbrancerules change:loadlimitdietypedelta change:loadlimitmulitplier change:loadlimitmod",function(){
setEncPenalty();
});
const setWoundsMod = function(flag) {
console.log("<==== Updating woundsMod ====>");
getAttrs(["wounds","reducewoundsby","increasewoundsby","maxwoundmods","reducereason","increasereason","maxreason"], function(lvalue) {
let wound = parseInt(lvalue.wounds)||0;
/*let nerves = parseInt(lvalue.NoS)||0;*/
let reduce = parseInt(lvalue.reducewoundsby)||0;
let increase = parseInt(lvalue.increasewoundsby)||0;
let max = parseInt(lvalue.maxwoundmods)||0;
console.log(`<==== Wounds: ${wound} || Reduce: ${reduce} || Increase: ${increase} || Max: ${max} ====>`);
/*var wMS = wound+nerves;*/
let wMS = Math.abs(wound) - Math.abs(reduce) + Math.abs(increase);
console.log(`+++ wMS: ${wMS} +++`);
if (wound === 0) {
console.log("Made it wounds = 0");
wMS = 0;
}
else {
console.log("Made it wounds != 0");
if (wMS < 0) {
console.log("Wounds are less than 0, make it 0");
wMS = 0;
}
if (wMS > Math.abs(max)) {
console.log("wMS is greater than the Max, make it the max");
wMS = Math.abs(max);
}
}
if (flag === "silent") {
console.log("Setting woundsMod silently");
setAttrs({woundsMod: wMS},{silent:true});
}
else {
setAttrs({woundsMod: wMS});
}
console.log("<==== Finished updating woundsMod ====>");
});
}
on("change:wounds change:NoS change:reducewoundsby change:increasewoundsby change:maxwoundmods change:reducereason change:increasereason change:maxreason",function(){
setWoundsMod();
});
const setFatigueMod = function(flag) {
console.log("<==== Updating fatigueMod ====>");
getAttrs(["fatigue","reducefatigueby","increasefatigueby","maxfatiguemods","fatiguereducereason","fatigueincreasereason","fatiguemaxreason"], function(lvalue) {
let fatigue = parseInt(lvalue.fatigue)||0;
/*let nerves = parseInt(lvalue.NoS)||0;*/
let reduce = parseInt(lvalue.reducefatigueby)||0;
let increase = parseInt(lvalue.increasefatigueby)||0;
let max = parseInt(lvalue.maxfatiguemods)||0;
console.log(`<==== Fatigue: ${fatigue} || Reduce: ${reduce} || Increase: ${increase} || Max: ${max} ====>`);
/*var wMS = wound+nerves;*/
let fMS = Math.abs(fatigue) - Math.abs(reduce) + Math.abs(increase);
console.log(`+++ fMS: ${fMS} +++`);
if (fatigue === 0) {
console.log("Made it fatigue = 0");
fMS = 0;
}
else {
console.log("Made it wounds != 0");
if (fMS < 0) {
console.log("Fatigue is less than 0, make it 0");
fMS = 0;
}
if (fMS > Math.abs(max)) {
console.log("fMS is greater than the Max, make it the max");
fMS = Math.abs(max);
}
}
if (flag === "silent") {
console.log("Setting faitugeMod silently");
setAttrs({fatigueMod: fMS},{silent:true});
}
else {
setAttrs({fatigueMod: fMS});
}
console.log("<==== Finished updating fatigueMod ====>");
});
}
on("change:fatigue change:reducefatigueby change:increasefatigueby change:maxfatiguemods change:fatiguereducereason change:fatigueincreasereason change:fatiguemaxreason",function(){
setFatigueMod();
});
const setModSums = function() {
getAttrs(["woundsMod","fatigueMod","encumbrance","distracted"], function(lvalue) {
//let tMod = parseInt(lvalue.ttmod)||0;
let wMod = parseInt(lvalue.woundsMod)||0;
let fMod = parseInt(lvalue.fatigueMod)||0;
let eMod = parseInt(lvalue.encumbrance)||0;
let dMod = parseInt(lvalue.distracted)||0;
console.log("<==== wounds:"+wMod+"||fatigue:"+fMod+"||encumbrance:"+eMod+"||distracted:"+dMod+" ====>");
let modSum = dMod-wMod-fMod;
let modSumEnc = modSum+eMod;
let modABS = Math.abs(wMod) + Math.abs(fMod) + Math.abs(dMod);
let modABSEnc = modABS + Math.abs(eMod);
console.log("!!!! modSum: "+modSum+" !!!!");
console.log("!!!! modSumEnc: "+modSumEnc+" !!!!");
console.log("!!!! absmod: "+modABS+" !!!!");
setAttrs({
ModSum: modSum,
ModSumEnc: modSumEnc,
absmod: modABS,
absmodenc: modABSEnc
});
});
}
on("change:woundsmod change:fatiguemod change:encumbrance change:distracted",function(){
setModSums();
});
on("change:promptmods", function(eventInfo) {
if (eventInfo.newValue === "on") {
//prompt for mods
let setVal, setDmgVal;
queryPop = getTranslationByKey('miscellaneous-abbr-trait-modifier-plural-singular');
queryDmgPop = getTranslationByKey('miscellaneous-abbr-damage-modifier-plural-singular');
setVal = `?{${queryPop}|0}`;
setDmgVal = `?{${queryDmgPop}|0}`;
setAttrs({
traitmods: setVal,
damagemods: setDmgVal
});
}
else {
//don't prompt for modifiers
setAttrs ({
traitmods: "@{ttmod}",
damagemods: "@{dmgmod}"
});
}
});
on("change:showmods", function(eventInfo) {
let setDamageMod, setTraitMod, setTraitModEnc;
console.log("newValue: "+eventInfo.newValue);
if (eventInfo.newValue === "on") {
setTraitMod = "{{mods=[[1d0+@{absmod}+abs(@{traitmods}) ]] }}";
setTraitModEnc = "{{mods=[[1d0+@{absmodenc}+abs(@{traitmods}) ]] }} {{showenc=[[1d0+@{encumbrance}]]}} {{encumbrance=@{encumbrance}}}";
setDamageMod = "{{mods=[[1d0+[[abs(@{traitmods})]] ]] }}";
}
else {
setTraitMod = `{{mods=[[1d0+0]]}}`;
setTraitModEnc = `{{mods=[[1d0+0]]}}`;
setDamageMod = `{{mods=[[1d0+0]]}}`;
}
console.log("setTraitMod: " + setTraitMod);
console.log("setTraitModEnc: " + setTraitModEnc);
setAttrs({
setmods: setTraitMod,
setmodsenc: setTraitModEnc,
setdmgmods: setDamageMod
});
});
on("change:majorminor change:activitiesexams", function() {
getAttrs(["majorminor","activitiesexams"], function(v) {
let showETU = "0";
if(v.majorminor === 'on' || v.activitiesexams === '1') {
showETU = "on";
}
setAttrs({useETU: showETU});
});
});
function powerLabel() {
getAttrs(["magictype","custompowerlabel"], function(v) {
let slabel = '';
let plabel = '';
switch(v.magictype) {
case '1': //Miracles
console.log("+x+ Setting Power Label to Miracles +x+");
slabel = getTranslationByKey('miracle');
plabel = getTranslationByKey('miracles');
break;
case '2': //Psionics
console.log("+x+ Setting Power Label to Psionics +x+");
slabel = getTranslationByKey('psionic-ability');
plabel = getTranslationByKey('psionics');
break;
case '3': //Spells
console.log("+x+ Setting Power Label to Spells +x+");
slabel = getTranslationByKey('spell');
plabel = getTranslationByKey('spells');
break;
case '4': //Rituals
console.log("+x+ Setting Power Label to Rituals +x+");
slabel = getTranslationByKey('ritual');
plabel = getTranslationByKey('rituals');
break;
case '5': //Weird Science Gadgets
console.log("+x+ Setting Power Label to Weird Science Gadgets +x+");
slabel = getTranslationByKey('weird-science-gadget');
plabel = getTranslationByKey('weird-science-gadgets');
break;
case '6':
console.log("+x+ Setting Power Label to Custom +x+");
if (v.custompowerlabel === '') {
slabel = getTranslationByKey('power');
plabel = getTranslationByKey('powers');
}
else {
slabel = v.custompowerlabel;
plabel = v.custompowerlabel;
}
break;
default: //Powers
console.log("+x+ Setting Power Label to Powers +x+");
slabel = getTranslationByKey('power');
plabel = getTranslationByKey('powers');
break;
}
console.log(`*** Singular Label: ${slabel} ***`);
console.log(`*** Plural Label: ${plabel} ***`);
setAttrs({
powerlabelsingular: slabel,
powerlabelplural: plabel
});
});
}
on("change:magictype change:custompowerlabel", function() {
powerLabel();
});
function getBonusFields(repSection, setField) {
//setField should = vbonusdamage || weaponsbdt || spellsbdt
let fieldlist = {};
getSectionIDs(`repeating_${repSection}`, function(idArray) {
for (var i=0; i < idArray.length; i++) {
console.log(`x-x|x-x Key: repeating_${repSection}_${idArray[i]}_${repSection}bonusdmg x-x|x-x`);
console.log(`x-x|x-x Value: @{${setField}} x-x|x-x`);
fieldlist[`repeating_${repSection}_${idArray[i]}_${repSection}bonusdmg`] = "@{"+setField+"}";
}
setAttrs(fieldlist);
});
}
on("change:raisehbrule", function(eventInfo) {
if (eventInfo.newValue === "1") {
//Using Variable Bonus Damage
console.log("Using variable bonus damage: set up query...");
let qString = getTranslationByKey('bonus-damage-die-type');
setAttrs({vbonusdamage: `?{${qString}|d6,1d6!|d8,1d8!|d10,1d10!|d12,1d12!|d4,1d4!}`});
getBonusFields("weapons","vbonusdamage");
getBonusFields("spells","vbonusdamage");
}
else if (eventInfo.newValue === "2") {
console.log("Using static variable bonus damage: determine damage to use");
/*let fieldList = ["weapons","spells"];
let finalList = {};*/
getBonusFields("weapons","weaponsbdt");
getBonusFields("spells","spellsbdt");
}
else {
console.log("Not using using Variable Bonus Damage...");
setAttrs({vbonusdamage: '1d6!'});
getBonusFields("weapons","vbonusdamage");
getBonusFields("spells","vbonusdamage");
}
});
on("change:repeating_spells:shownotes change:repeating_spells:spellbutton", function() {
/*If spellbutton is set to Atk+Dmg, then don't show notes on damage roll*/
getAttrs(["repeating_spells_shownotes","repeating_spells_spellbutton"], function(v) {
console.log(`shownotes: ${v.repeating_spells_shownotes} || spellbutton: ${v.repeating_spells_spellbutton}`);
if (v.repeating_spells_shownotes != "0") {
//showing notes is checked
console.log("Showing Notes");
if (v.repeating_spells_spellbutton === "0") {
//button is set to Attack + Damage...don't show notes on damage roll
console.log("Set Damage Rolls to not show notes");
setAttrs({repeating_spells_dmgshownotes: "0"})
}
else {
console.log("Set Damage to show Spell Notes");
setAttrs({repeating_spells_dmgshownotes: "{{notes=@{spellnotes}}}"});
}
}
else {
//Not showing notes, don't show notes on damage rolls
console.log("Set Damage Rolls to not show notes");
setAttrs({repeating_spells_dmgshownotes: "0"});
}
});
});
on("change:wealth", function(eventInfo) {
let wealth = '&{template:roll} {{name=@{character_name} }} {{trait=^{Wealth}}} {{skill_rank=@{wealth} }} {{skill_roll=[[@{wealth} + @{traitmods}]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{traitmods}]]}} {{wild_die=[[ 1d@{wilddie}! + @{traitmods} ]]}}';
if(eventInfo.newValue === "d0") {
console.log("The character is broke");
wealth = "/em is broke and can't make purchases.";
}
setAttrs({rollwealth: wealth});
});
on("clicked:repeating_weapons:wdamage", function() {
console.log("Damage Field clicked...show the Weapon config");
setAttrs({
repeating_weapons_showweaponconfig: "on",
repeating_weapons_highlightdamage: "1"
})
});
on("clicked:repeating_spells:sdamage", function() {
console.log("Damage Field clicked...show the Weapon config");
setAttrs({
repeating_spells_showspellconfig: "on",
repeating_spells_shighlightdamage: "1"
})
});
on("clicked:hideadvance", function() {
let hideval = "0";
let icon = "J";
getAttrs(["hideAdv"], function(v) {
if (v.hideAdv === "on") {
console.log("was hidden, but shouldn't be now");
}
else {
console.log("wasn't hidden, but needs to be...");
hideval = "on";
icon = "E";
}
setAttrs({
hideAdv: hideval,
journaladvancehideicon: icon
});
});
});
console.log("Make sure Skill Names have been set");
const skillnamelist = ["fighting","academics","athletics","battle","boating","climbing","common-knowledge","driving","electronics","faith","focus","gambling","guts","hacking","healing","intimidation","investigation","native-language","lockpicking","notice","occult","performance","persuasion","piloting","psionics","repair","research","riding","ritual","science","shooting","spellcasting","stealth","streetwise","survival","swimming","taunt","thievery","throwing","tracking","weirdscience"];
skillnamelist.forEach(skillnamelist => {
on("sheet:opened", function() {
getAttrs([`${skillnamelist}name`], function(v) {
if (v[`${skillnamelist}name`] === "") {
let value = getTranslationByKey(`${skillnamelist}`);
let setskill = {};
setskill[`${skillnamelist}name`] = value;
setAttrs(setskill);
}
else {
console.log("^^^ Skill Name Already Set: " + v[`${skillnamelist}name`] + " ^^^");
}
});
});
});
function setSkillDropdown(section, field, value, rowid) {
let repsection = `repeating_${section}`;
let setskill = {};
if(Array.isArray(field) && value === "get names") {
//is Array
console.log("Field array: " + field);
repsection += `_${rowid}_`;
console.log("!!! Passed an Array !!!");
getAttrs(field, function(v) {
let setfield;
let fieldprefix;
let setvalue;
if (section === "weapons") {fieldprefix = "r";}
else {fieldprefix = "s";}
for (let a = 0; a < field.length; a++) {
console.log("iii section ID: " + rowid + " iii");
setfield = repsection + fieldprefix + field[a];
setvalue = v[field[a]];
console.log(`iii setfield: ${setfield} iii`);
console.log(`iii setvalue: ${setvalue} iii`);
setskill[setfield] = setvalue;
}
let defaultval = field[0].split('name');
if (section === "weapons") { setfield = repsection + "weaponskill"; }
else { setfield = repsection + "spellskill"; }
setskill[setfield] = defaultval;
console.log("Setting: " + JSON.stringify(setskill));
setAttrs(setskill);
});
}
else {
console.log("iii passed a single field, so need to update that single field iii");
getSectionIDs(repsection, function(idArray) {
//passing in a single field
for (let i = 0; i < idArray.length; i++) {
console.log(`${repsection}_${idArray[i]}_${field}: ${value}`);
setskill[`${repsection}_${idArray[i]}_${field}`] = value;
}
setAttrs(setskill);
});
}
}
const weaponsskilllist = ["fighting","athletics","shooting","throwing"];
weaponsskilllist.forEach(weaponsskilllist => {
on(`change:${weaponsskilllist}name`, function(eventInfo) {
console.log("Triggering Attribute: " + eventInfo.sourceAttribute);
let field = "r" + eventInfo.sourceAttribute;
let value = eventInfo.newValue;
setSkillDropdown("weapons", field, value);
});
});
const spellskilllist = ["faith","athletics","focus","performance","psionics","ritual","spellcasting","weirdscience"];
spellskilllist.forEach(spellskilllist => {
on(`change:${spellskilllist}name`, function(eventInfo) {
console.log("Triggering Attribute: " + eventInfo.sourceAttribute);
let field = "s" + eventInfo.sourceAttribute;
let value = eventInfo.newValue;
setSkillDropdown("spells", field, value);
});
});
const weaponsskillnamelist = ["fightingname","athleticsname","shootingname","throwingname"];
const spellskillnamelist = ["faithname","athleticsname","focusname","performancename","psionicsname","ritualname","spellcastingname","weirdsciencename"];
on("change:repeating_spells:spellbutton change:repeating_weapons:weaponbutton", function(eventInfo) {
console.log("iii sourceAttribute: " + eventInfo.sourceAttribute + " iii");
let parts = eventInfo.sourceAttribute.split('_');
let field, value;
if (parts[1] === "weapons") { field = weaponsskillnamelist; }
else { field = spellskillnamelist; }
if (eventInfo.newValue === "2" || eventInfo.newValue === "0") {
console.log("Make sure the drop down is populated with skill names");
setSkillDropdown(parts[1], field, "get names", parts[2]);
}
else {
console.log("No need to update anything...");
}
});
const buttonlist = ["characterprofile1","vehicletab3","journaltab4","configurationtab2","releasetab5","documentationtab6"];
buttonlist.forEach(buttonlist => {
on(`clicked:${buttonlist}`, function() {
console.log(`${buttonlist} button was clicked!!`);
let radioval = `${buttonlist}`;
radioval = radioval.slice(-1);
console.log(`Value for Radio Button is: ${radioval}`);
setAttrs({ sheetTab: radioval });
});
});
/*****************************
* Skill Block functions
*****************************/
on("sheet:opened", function() {
getAttrs(["initstatblock","initdesc","initskills","initderived","initgear","initspecabilities","initpowers"], function(v) {
if(v.initstatblock === "0") {
//stat block isn't fully initialized
console.log("⚠⚠ Stat Block Not Initilized...create it ⚠⚠");
if(v.initdesc === "0") {
console.log("⚠⚠ Character Description Not Initilized...create it ⚠⚠");
descStatBlock();
setAttrs({initdesc: "1"});
}
if(v.initskills === "0") {
console.log("⚠⚠ Character Skills Not Initilized...create them ⚠⚠");
skillsStatBlock();
setAttrs({initskills: "1"});
}
if(v.initderived === "0") {
console.log("⚠⚠ Character Derived Stats Not Initilized...create them ⚠⚠");
derivedStatBlock();
setAttrs({initderived: "1"});
}
if(v.initgear === "0") {
console.log("⚠⚠ Character Gear Not Initilized...create them ⚠⚠");
gearStatBlock();
setAttrs({initgear: "1"});
}
if(v.initspecabilities === "0") {
console.log("⚠⚠ Character Hindranes, Edges, and Spec Abilities Not Initilized...create them ⚠⚠");
specabilityStatBlock();
setAttrs({
inithindrances: "1",
initsbedges: "1",
initspecabilities: "1"
});
}
}
});
});
const descStatBlock = function() {
let chardesc = "{{name=@{character_name}}}";
getAttrs(["is_npc","physdescription"], function(v) {
if(v.is_npc === "0") {
//is Wild Card
chardesc +=" {{wci=@{WCI}}}";
}
let physdesc = v.physdescription;
console.log("Description length: "+physdesc.length);
if(physdesc.length > 0) {
chardesc += " {{description=@{physdescription}}}"
}
setAttrs({chardesc: chardesc});
});
}
on("change:is_npc change:physdescription", function() {
descStatBlock();
});
const skillstatlist = ["academics","athletics","battle","boating","climbing","common-knowledge","driving","electronics","faith","fighting","focus","gambling","guts","hacking","healing","intimidation","investigation","native-language","lockpicking","notice","occult","performance","persuasion","piloting","psionics","repair","research","riding","ritual","science","shooting","spellcasting","stealth","streetwise","survival","swimming","taunt","thievery","throwing","tracking","weirdscience"];
const staticlist = ["staticAcademics","staticAthletics","staticBattle","staticBoating","staticClimbing","staticCommonKnowledge","staticDriving","staticElectronics","staticFaith","staticFighting","staticFocus","staticGambling","staticGuts","staticHacking","staticHealing","staticIntimidation","staticInvestigation","staticLanguage","staticLockpicking","staticNotice","staticOccult","staticPerformance","staticPersuasion","staticPiloting","staticPsionics","staticRepair","staticResearch","staticRiding","staticRitual","staticScience","staticShooting","staticSpellcasting","staticStealth","staticStreetwise","staticSurvival","staticSwimming","staticTaunt","staticThievery","staticThrowing","staticTracking","staticWeirdScience"]
const skillsStatBlock = function() {
console.log("skilllist length: "+skillstatlist.length+" staticlist length: "+staticlist.length);
getAttrs(staticlist, function(v) {
let charskills = '';
for(let i = 0; i < staticlist.length; i++) {
//cycle through the array
if (staticlist[i] === "staticFighting" || staticlist[i] === "staticAcademics" || staticlist[i] === "staticCommonKnowledge" || staticlist[i] === "staticLanguage") {
switch(staticlist[i]) {
case 'staticFighting':
if(charskills.length < 1) {
//no skills added to the list yet
charskills = "[@{fightingname} @{fighting_display}](~tFightingRoll)";
}
else {
charskills += ", [@{fightingname} @{fighting_display}](~tFightingRoll)";
}
break;
case 'staticAcademics':
if(v[staticlist[i]] != "0") {
if(charskills.length < 1) {
//no skills added to the list yet
charskills = "[@{academicsname} @{academicsskill_display}](~tAcademicsRoll)";
}
else {
charskills += ", [@{academicsname} @{academicsskill_display}](~tAcademicsRoll)";
}
}
break;
case 'staticCommonKnowledge':
if(v[staticlist[i]] != "0") {
if(charskills.length < 1) {
//no skills added to the list yet
charskills = "[@{common-knowledgename} @{commonknowledge_display}](~tCommonKnowledgeRoll)";
}
else {
charskills += ", [@{common-knowledgename} @{commonknowledge_display}](~tCommonKnowledgeRoll)";
}
}
break;
case 'staticLanguage':
if(v[staticlist[i]] != "0") {
if(charskills.length < 1) {
//no skills added to the list yet
charskills = "[@{native-languagename} @{language_display}](~tLanguageRoll)";
}
else {
charskills += ", [@{native-languagename} @{language_display}](~tLanguageRoll)";
}
}
break;
default:
console.log("Nothing to report");
}
}
else if(v[staticlist[i]] != "0") {
//skill is turned on
let skillname = staticlist[i];
let uskillname = staticlist[i];
skillname = skillname.replace('static','');
uskillname = uskillname.replace('static','');
skillname = skillname.toLowerCase();
if(charskills.length < 1) {
//no skills added to the list yet
charskills = `[@{${skillname}name} @{${skillname}_display}](~t${uskillname}Roll)`;
}
else {
charskills += `, [@{${skillname}name} @{${skillname}_display}](~t${uskillname}Roll)`;
}
}
else {
console.log(staticlist[i]+" isn't a shown character skill");
}
}
//Need to do custom skill
getSectionIDs("repeating_skills", function(idArray) {
for (a = 0; a < idArray.length; a++) {
if(charskills.length < 1) {
charskills = `[@{repeating_skills_${idArray[a]}_SkillName} @{repeating_skills_${idArray[a]}_skillnamerank_display}](~repeating_skills_${idArray[a]}_tSkillRoll)`;
}
else {
charskills += `, [@{repeating_skills_${idArray[a]}_SkillName} @{repeating_skills_${idArray[a]}_skillnamerank_display}](~repeating_skills_${idArray[a]}_tSkillRoll)`;
}
}
setAttrs({ charskills: charskills });
});
});
}
staticlist.forEach(staticlist => {
on(`change:${staticlist} change:repeating_skills remove:repeating_skills`, function() {
skillsStatBlock();
})
});
const derivedstats = ["usecharisma","useacademics","Corruption","potsmFame","izFirewall","hfGlory","DLGrit","neuraltoughness","ripReason","tdsanity","ripStatus","izStrain","izStreetCred"];
const derivedlabels = ["Charisma","Academics","Corruption","Fame","Firewall","Glory","Grit","Neural Toughness","Reason","Sanity","Status","Strain","Street Cred"];
const derivedcurfields = ["@{charismaCur}","@{academicsCur}","@{corruptionCur}","@{fameCur}","@{FirewallCur}","@{gloryCur}","@{gritCur}","@{ntoughnesscur}","@{reasonCur}","@{sanityCur}","@{statusCur}","@{StrainCur}","@{StreetCredCur}"];
const derivedStatBlock = function() {
const toughnessstats = ["toughnessArmor","ntoughnessArmor"];
let valuelist = derivedstats.concat(toughnessstats);
let charderived = "[**^{pace}:** @{paceCur}](~RunningRoll); **^{parry}:** @{parryCur}; **^{toughness}:** @{toughnesscur}";
let dstat = '';
getAttrs(valuelist, function(v) {
if(v.toughnessArmor != "0") {
charderived += "(@{toughnessArmor})";
}
for(a=0; a < derivedstats.length; a++) {
dstat = v[derivedstats[a]];
dstatlab = derivedlabels[a];
console.log(`^^^ ${dstatlab}: ${dstat} ^^^`);
if(dstat != "0") {
charderived += `; **${derivedlabels[a]}:** ${derivedcurfields[a]}`;
if(dstatlab === "Neural Toughness") {
console.log("Derived Stat: " + derivedstats[a]);
//add armor
charderived += `(@{ntoughnessArmor})`;
}
}
else { console.log("Not needed for stat block");}
}
setAttrs({charderived: charderived});
});
}
on("change:toughnessarmor change:ntoughnessarmor change:usecharisma change:useacademics change:corruption change:potsmfame change:izfirewall change:hfglory change:dlgrit change:neuraltoughness change:ripreason change:tdsanity change:ripstatus change:izstrain change:izstreetcred", function() {
derivedStatBlock();
});
const gearStatBlock = function() {
//Includes Armor, Weapons, Gear
console.log("Started gearStatBlock");
let chargear = '';
let gearvals = [];
let armorrows = [];
let weaponrows = [];
getSectionIDs(["armor"], function(armoridArray) {
console.log("Got Armor Section IDs");
for(a=0; a<armoridArray.length; a++) {
gearvals[gearvals.length] = `repeating_armor_${armoridArray[a]}_armorWorn`;
armorrows[armorrows.length] = `repeating_armor_${armoridArray[a]}_`;
weaponrows[weaponrows.length] = 'empty';
}
console.log("Armor ID Array: "+armoridArray);
getSectionIDs(["weapons"], function(weaponidArray) {
console.log("Got Weapon Section IDs");
console.log("Armor ID Array (again): "+armoridArray);
console.log("Weapon ID Array: "+weaponidArray);
for(b=0; b<weaponidArray.length; b++) {
gearvals[gearvals.length] = `repeating_weapons_${weaponidArray[b]}_weaponcarried`;
weaponrows[weaponrows.length] = `repeating_weapons_${weaponidArray[b]}_`;
}
getSectionIDs(["gear"], function(gearidArray) {
console.log("Got Gear Section IDs");
console.log("gearvals: "+gearvals);
console.log("Armor ID Array (again x2): "+armoridArray);
console.log("Weapon ID Array (again): "+weaponidArray);
console.log("Gear ID Array: "+gearidArray);
getAttrs(gearvals, function(v) {
console.log("Got Armor and Weapon Values");
for(c=0; c<gearvals.length; c++) {
console.log("Cycling through Armor and Weapons: "+c);
if(c < armoridArray.length) {
//getting Armor
let worn = gearvals[c];
console.log("⍚⍚⍚ Worn: "+worn+" ⍚⍚⍚");
console.log("worn value: "+v[worn]);
if (v[worn] !== "0") {
console.log("Armor is Worn");
if (chargear.length < 1) {
//First Item in List
chargear = `@{${armorrows[c]}ArmorType} (+@{${armorrows[c]}ArmorTypeProtection})`;
}
else {
//not first item in list
chargear += `, @{${armorrows[c]}ArmorType} (+@{${armorrows[c]}ArmorTypeProtection})`;
}
}
else { console.log("Armor is NOT Worn"); }
}
else {
//getting weapons
let carried = gearvals[c];
console.log("⍚⍚⍚ carried: "+carried+" ⍚⍚⍚");
if (v[carried] !== "0") {
console.log("Weapons is Carried");
if (chargear.length < 1) {
//First Item in List
chargear = `[@{${weaponrows[c]}weapon} (@{${weaponrows[c]}weapondamage})](~${weaponrows[c]}tWeapon)`;
}
else {
//not first item in list
chargear += `, [@{${weaponrows[c]}weapon} (@{${weaponrows[c]}weapondamage})](~${weaponrows[c]}tWeapon)`;
}
}
else { console.log("Weapon is NOT Carried"); }
}
}
for(d=0; d<gearidArray.length; d++) {
if (chargear.length < 1) {
//First Item in List
chargear = `@{repeating_gear_${gearidArray[d]}_item}`;
}
else {
//not first item in list
chargear += `, @{repeating_gear_${gearidArray[d]}_item}`;
}
}
setAttrs({ chargear: chargear });
});
});
});
});
}
on("change:repeating_armor change:repeating_weapons change:repeating_gear remove:repeating_armor remove:repeating_weapons remove:repeating_gear", function() {
gearStatBlock();
})
const specabilityStatBlock = function() {
let charhindrances = '';
let charedges = '';
let charspecabilities = '';
let abilityvals = [];
let hindrancerow = [];
let edgerow = [];
getSectionIDs("repeating_hindrances", function(hindranceidArray) {
for(a=0; a<hindranceidArray.length; a++) {
abilityvals[abilityvals.length] = `repeating_hindrances_${hindranceidArray[a]}_hindranceType`;
hindrancerow[hindrancerow.length] = `repeating_hindrances_${hindranceidArray[a]}_`;
edgerow[edgerow.length] = "empty";
}
getSectionIDs("repeating_edges", function(edgeidArray) {
for(b=0; b<edgeidArray.length; b++) {
abilityvals[abilityvals.length] = `repeating_edges_${edgeidArray[b]}_tookat`;
edgerow[edgerow.length] = `repeating_edges_${edgeidArray[b]}_`;
}
getAttrs(abilityvals, function(v) {
for(c=0; c<abilityvals.length; c++) {
let evalval = '';
if (c < hindrancerow.length) {
console.log("Found a Hindrance for Evaluation");
evalval = hindrancerow[c]+"hindranceType";
let speccheck = v[evalval];
console.log("Spec Check: "+speccheck);
speccheck = speccheck.toLowerCase();
console.log("Spec Check: "+speccheck);
if (speccheck === "racial") {
//Special ability
charspecabilities += `<li>**@{${hindrancerow[c]}hindrance}:** @{${hindrancerow[c]}hindrancedescription}</li>`
}
else {
//hindrance
if (charhindrances.length < 1) {
charhindrances = `[@{${hindrancerow[c]}hindrance}](~${hindrancerow[c]}tHindrance)`;
}
else {
charhindrances += `, [@{${hindrancerow[c]}hindrance}](~${hindrancerow[c]}tHindrance)`;
}
}
}
else {
console.log("Found an Edge for evaluation");
evalval = edgerow[c]+"tookat";
if (v[evalval].toLowerCase() === "racial") {
//Special ability
charspecabilities += `<li>**@{${edgerow[c]}edge}:** @{${edgerow[c]}edgedescription}</li>`
}
else {
//edge
if (charedges.length > 0) {
charedges += `, `;
}
charedges += `[@{${edgerow[c]}edge}](~${edgerow[c]}tEdge)`;
}
}
}
let salength = charspecabilities.length;
let showspec = 0;
if (salength > 0) {
showspec = `{{showspec=[[1d0+${salength}]]}}`;
}
if (charhindrances.length < 1) { charhindrances = "&mdash;"; }
if (charedges.length < 1) { charedges = "&mdash;"; }
setAttrs({
charhindrances: charhindrances,
charedges: charedges,
showspec: showspec,
charspecabilities: charspecabilities
});
});
});
});
}
on("change:repeating_hindrances change:repeating_edges remove:repeating_hindrances remove:repeating_edges", function() {
specabilityStatBlock();
});
//End Statblock stuff
</script>
<input type='hidden' name='attr_dopay' value="init" />
<input type='text' style='display: none;' name='attr_wdNum' value='1' />
<!-- Stat Block Fields -->
<input type="hidden" name="attr_initstatblock" value="0" />
<input type="hidden" name="attr_initdesc" value="0" />
<input type="hidden" name="attr_chardesc" value="{{name=@{character_name}}}" />
<input type="hidden" name="attr_charatts" value="[^{agility} @{agility_display}](~tAgilityRoll), [^{smarts} @{smarts_display}](~tSmartRoll), [^{spirit} @{spirit_display}](~tSpirRoll), [^{strength} @{strength_display}](~tStrengthRoll), [^{vigor} @{vigor_display}](~tVigorRoll)" />
<input type="hidden" name="attr_initskills" value="0" />
<input type="hidden" name="attr_charskills" />
<input type="hidden" name="attr_initderived" value="0" />
<input type="hidden" name="attr_charderived" />
<input type="hidden" name="attr_initgear" value="0" />
<input type="hidden" name="attr_chargear" />
<input type="hidden" name="attr_inithindrances" value="0" />
<input type="hidden" name="attr_charhindrances" />
<input type="hidden" name="attr_initsbedges" value="0" />
<input type="hidden" name="attr_charedges" />
<input type="hidden" name="attr_initspecabilities" value="0" />
<input type="hidden" name="attr_showspec" />
<input type="hidden" name="attr_charspecabilities" />
<!-- End Stat Block Fields -->
<div class='sheet-maindiv'>
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="1" checked />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="2" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="3" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="4" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="5" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="6" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="7" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="8" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="9" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="10" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="11" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="12" />
<div class='sheet-background'>
<div class='sheet-base'>
<div class="sheet-buttonbar">
<div class="sheet-navbuttons">
<button type="action" name="act_characterprofile1" class="sheet-topbuttons">U</button>
<input type="checkbox" class="sheet-showVehicles" name="attr_vehicle" style="display: none;" />
<button type="action" name="act_vehicletab3" class="sheet-topbuttons sheet-vehiclesT">T</button>
<button type="action" name="act_journaltab4" class="sheet-topbuttons">n</button>
<button type="action" name="act_configurationtab2" class="sheet-topbuttons">x</button>
</div>
<div class="sheet-functions">
<input type="checkbox" class="sheet-useBenniesXP" name="attr_bennies" value="1" style="display: none;" />
<button class="sheet-benniesxp" type="roll" name="roll_convertBennies" value="&{template:emote} {{name=@{character_name}}} {{does=rolls for XP on ?{Number of Bennies|1} un/spent bennies and gets [[?{Number of Bennies|1}d6>5]] extra experience point(s)!}}">S</button>
<input class="sheet-isWC" type="hidden" name="attr_is_npc" />
<button class="sheet-statblock" type="roll" name="roll_fullstatblock" value="/w gm &{template:statblock} @{chardesc} {{charatts=@{charatts}}} {{charskills=@{charskills}}} {{charderived=@{charderived}}} {{chargear=@{chargear}}} {{charhindrances=@{charhindrances}}} {{charedges=@{charedges}}} {{showspec=@{showspec}}} {{charspecabilities=@{charspecabilities}}}"><span class="sheet-showWCicon" name="attr_WCI"></span><img style="height: 28px;" src="http://imgsrv.roll20.net/?src=github.com/finderski/SWT/blob/master/BackgroundImages/statblock_profile.png%3Fraw%3Dtrue"</button>
</div>
<div class="sheet-docbuttons">
<button type="action" name="act_releasetab5" class="sheet-topbuttons">N</button>
<button type="action" name="act_documentationtab6" class="sheet-topbuttons">i</button>
</div>
</div>
<!--<input type="checkbox" class="sheet-useBenniesXP" name="attr_bennies" value="1" style="display: none;" />
<input type="checkbox" class="sheet-riftsBackground" style="display: none;" name="attr_background" value="11" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="4" />
<input type="checkbox" class="sheet-useBackground" style="display: none;" name="attr_background" value="3" />
&nbsp;&nbsp;<input type='radio' class='sheet-tab sheet-characterT' name='attr_sheetTab' data-i18n-title="main-character-view" title="Main Character View" value='1' checked /><span class="sheet-bg">U</span>
<input type="checkbox" class="sheet-showVehicles" name="attr_vehicle" style="display: none;" />
<span class="sheet-vehiclesT">&nbsp;&nbsp;</span><input type='radio' class='sheet-tab sheet-vehiclesT' name='attr_sheetTab' data-i18n-title="vehicles" title="Vehicles" value='3' /><span class="sheet-bg sheet-vehiclesT">T</span>
&nbsp;&nbsp;<input type="radio" class="sheet-tab sheet-journalT" name="attr_sheetTab" data-i18n-title="journal-and-other-info" title="Journal and other Info" value="4" /><span class="sheet-bg">n</span>
&nbsp;&nbsp;<input type='radio' class='sheet-tab sheet-configT' name='attr_sheetTab' data-i18n-title="sheet-configuration" title="Sheet Configuration" value='2' /><span class="sheet-bg">x</span>
&nbsp;&nbsp;<input type='radio' class='sheet-tab sheet-releaseN' name='attr_sheetTab' data-i18n-title="release-notes" title="Release Notes" value='5' /><span class="sheet-bg">N</span>
&nbsp;&nbsp;<input type='radio' class='sheet-tab sheet-documentatioN' name='attr_sheetTab' data-i18n-title="sheet-documentation" title="Sheet Documentation" value='6' /><span class="sheet-bg">i</span>-->
<input type='radio' class='sheet-characterT' name='attr_sheetTab' style="display: none;" value='1' checked />
<input type="radio" class="sheet-journalT" name="attr_sheetTab" style="display: none;" value="4" />
<input type='radio' class='sheet-vehiclesT' name='attr_sheetTab' style="display: none;" value='3' />
<input type='radio' class='sheet-configT' name='attr_sheetTab' style="display: none;" value='2' />
<input type='radio' class='sheet-releaseN' name='attr_sheetTab' style="display: none;" value='5' />
<input type='radio' class='sheet-documentatioN' name='attr_sheetTab' style="display: none;" value='6' />
<!--<div class="sheet-toprow">
Trait Test Modifier:
Damage Modifier:
XP/Rank:
</div>-->
<div class='sheet-character'> <!--Character Sheet Tab-->
<div class='sheet-left'>
<!--Logo-->
<!--<img src="http://i.imgur.com/iwIoTlT.png" />-->
<input type="radio" name="attr_logo" value="1" title="Savage Worlds Deluxe" checked style="display:none;"/>
<input type="radio" name="attr_logo" value="3" title="The Last Parsec" style="display: none;" />
<input type="radio" name="attr_logo" value="2" title="Pirates of the Spanish Main" style="display:none;"/>
<input type="radio" name="attr_logo" value="4" title="Savage Worlds (Bloodied)" style="display:none;"/>
<input type="radio" name="attr_logo" value="5" title="Necessary Evil" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="6" title="Deadlands" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="7" title="DeadlandsNoir" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="8" title="DeadlandsHoE" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="9" title="Interface Zero 2.0" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="10" title="Hellfrost" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="11" title="Hellfrost: Land of Fire" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="12" title="Lankhmar" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="13" title="All For One" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="14" title="ETU" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="15" title="Rifts" style="width: 15px; display: none;" />
<input type="radio" name="attr_logo" value="16" title="Rippers" style="width: 15px; display: none;" />
<div class="sheet-SWD"><img src="http://i.imgur.com/iwIoTlT.png" /></div>
<div class="sheet-PotSM"><img src="http://www.peginc.com/wp-content/uploads/2013/02/PotSM_Logo.png" /></div>
<div class="sheet-TLP"><img src="http://www.geeksville.us/roll20/Last_Parsec_Logo.png" /></div>
<div class="sheet-Zombie"><img src="http://www.geeksville.us/roll20/SWDZlogo_v2.png" /></div>
<div class="sheet-NecessaryEvil"><img src="http://www.geeksville.us/roll20/NecessaryEvil_trans.png" /></div>
<div class="sheet-Deadlands"><img src="http://www.geeksville.us/roll20/Deadlands.png" /></div>
<div class="sheet-DeadlandsNoir"><img src="http://www.geeksville.us/roll20/DLNoir_dark.png" /></div>
<div class="sheet-DeadlandsHoE"><img src="http://www.geeksville.us/roll20/HOE.png" /></div>
<div class="sheet-InterfaceZero"><img src="http://www.geeksville.us/roll20/iz_logo.png" /></div>
<div class="sheet-Hellfrost"><img src="http://www.geeksville.us/roll20/hellfrost-logo.png" /></div>
<div class="sheet-Hellfrost-LoF"><img src="http://www.geeksville.us/roll20/hellfrost-LoF-logo.png" /></div>
<div class="sheet-Lankhmar"><img src="http://www.geeksville.us/roll20/lankhmar-logo.png" /></div>
<div class="sheet-AllforOne"><img src="http://www.geeksville.us/roll20/afo_logov3.png" /></div>
<div class="sheet-ETU"><img src="http://www.geeksville.us/roll20/etu_logo2.png" /></div>
<div class='sheet-Rifts'><img src="http://i.imgur.com/YKbAtMN.png" /></div>
<div class="sheet-Rippers"><img src="http://www.geeksville.us/roll20/RippersLogo.png" /></div>
</div>
<div class='sheet-right' style='width: 607px; vertical-align: top; padding: 0px; margin: 0px; background: rgba(255,255,255,0.75);'>
<div class='sheet-base'>
<div>
<span data-i18n="wild-card">Wild Card</span>&nbsp;&nbsp;<label class='sheet-switch'><input type="checkbox" name="attr_is_npc" value="1" /><span class="sheet-slider sheet-round"></span></label>&nbsp;&nbsp;<span data-i18n="extra">Extra</span>
<span class='sheet-xpRank'>
<input type="checkbox" class="sheet-useXP" name="attr_usexplabel" style="display: none;" value="1" />
<input type="checkbox" class="sheet-useClass" name="attr_ThreatRatingClass" value="1" style="display: none;" />
<input type="checkbox" class="sheet-useThreatRating" name="attr_ThreatRatingClass" value="2" style="display:none;" />
<label class='sheet-xplabel sheet-trackXP' data-i18n="experience-points-abbr-u">XP</label><label class='sheet-xplabel sheet-advances' data-i18n="advances">Advances</label> / <label class='sheet-ranklabel sheet-useRank' data-i18n="rank">Rank</label><label class='sheet-ranklabel sheet-trackClass' data-i18n="class">Class</label><label class='sheet-ranklabel sheet-trackThreat' data-i18n="threat">Threat</label>
<input type="checkbox" class="sheet-useClass" name="attr_ETUClass" style="width: 15px; display: none;" value="1" />
<input type="number" name="attr_xp" title="@{xp}" style="text-align: center;"/>
<select class='sheet-rank' name='attr_rank' title="@{rank}" value='novice' readonly>
<option value='1' data-i18n="novice">Novice</option>
<option value='2' data-i18n="seasoned">Seasoned</option>
<option value='3' data-i18n="veteran">Veteran</option>
<option value='4' data-i18n="heroic">Heroic</option>
<option value='5' data-i18n="legendary">Legendary</option>
</select>
<select class='sheet-Class sheet-rank' name='attr_class' title="@{class}" value='freshman' readonly>
<option value='1' data-i18n="freshman">Freshman</option>
<option value='2' data-i18n="sophmore">Sophmore</option>
<option value='3' data-i18n="junior">Junior</option>
<option value='4' data-i18n="senior">Senior</option>
<option value='5' data-i18n="grad-student">Grad Student</option>
</select>
</span>
<span class='sheet-WD'><span data-i18n="wild-die">Wild Die</span>:
<select name="attr_wilddie" title="@{wilddie}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6" selected >d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>
</span>
</div>
</div>
<div class='sheet-base sheet-basicinfo' style='margin-top: 10px;'>
<div class='sheet-base' style='width:35%;'>
<input class='sheet-basicinputext' type="text" title="@{character_name}" name="attr_character_name" /><label class="sheet-basicinfolableleft" data-i18n="character-name">Name</label>
</div>
<input type="checkbox" class="sheet-useCodeName" name="attr_codename" style="width: 15px; display: none;" />
<div class="sheet-base sheet-civilian" style="width: 32.5%;">
<input class="sheet-basicinputext" type="text" name="attr_civilian_name" data-i18n-placeholder="civilian-name" placeholder='Civilian Name' /><label class='sheet-basicinfolableleft'><span data-i18n="civilian-name">Civilian Name</span></label>
</div>
<div class='sheet-base' style='width:30%;'>
<div class='sheet-base sheet-basicinfolablecenter' style='width:20%;'>
<input class='sheet-basicinputext' style='text-align: center;' type="text" title="@{age}" name="attr_age" /><label class="sheet-basicinfolablecenter" style="font-size: 1em;" data-i18n="age">Age</label>
</div>
<div class='sheet-base' style='width:77%;'>
<input class='sheet-basicinputext' type="text" title="@{gender}" name="attr_gender" /><label class="sheet-basicinfolableleft" data-i18n="gender">Gender</label>
</div>
</div>
<div class='sheet-base' style='width:32%;'>
<input type="checkbox" class="sheet-useSpecies" name="attr_tlpSpecies" style="display: none;" />
<input class='sheet-basicinputext' type="text" title="@{race}" name="attr_race" /><label class="sheet-basicinfolableleft sheet-race" data-i18n="race">Race</label><label class="sheet-basicinfolableleft sheet-species" data-i18n="species">Species</label>
</div>
<input type="checkbox" class="sheet-useIF" name="attr_IconicFramwork" style="padding-left: 10px; width: 15px; display: none;" />
<div class='sheet-base sheet-IF' style='width:32%;'>
<input class="sheet-basicinputext" type="text" name="attr_IF" title="@{IF}" data-i18n-placeholder="iconic-framework" placeholder='Iconic Framework' /><label class="sheet-basicinfolableleft" data-i18n="iconic-framework">Iconic Framework</label>
</div>
<input type="checkbox" class="sheet-usearchetype" name="attr_a41archetype" style="width: 15px; display: none;" />
<div class='sheet-base sheet-archetype' style='width:33%;'>
<input class="sheet-basicinputext" type="text" name="attr_archetype" title="@{archetype}" data-i18n-placeholder="archetype" placeholder='Archetype' /><label class="sheet-basicinfolableleft" data-i18n="archetype">Archetype</label>
</div>
<input type="checkbox" class="sheet-useHomeworld" name="attr_tlpHW" style="width: 15px; display: none;" />
<div class="sheet-base sheet-Homeworld" style='width:32%;'>
<input class="sheet-basicinputext" type="text" name="attr_homeworld" title="@{homeworld}" data-i18n-placeholder="homeworld" placeholder='Homeworld' /><label class='sheet-basicinfolableleft'><span data-i18n="homeworld">Homeworld</span></label>
</div>
<input type="checkbox" class="sheet-useOccupation" name="attr_tlpOccupation" style="width: 15px; display: none;" />
<div class='sheet-base sheet-Occupation' style='width:33%;'>
<input class="sheet-basicinputext" type="text" name="attr_occupation" title="@{occupation}" data-i18n-placeholder="occupation" placeholder='Occupation' /><label class="sheet-basicinfolableleft" data-i18n="occupation">Occupation</label>
</div>
<input type="checkbox" class="sheet-useLanguages" name="attr_Lang" style="display: none;" />
<div class="sheet-base sheet-Languages">
<!--<input class="sheet-basicstandard" type="text" name="attr_languages" style='font-weight: normal;' title="@{languages}" placholer='Languages' />-->
<input class='sheet-basicinputext' type="text" name='attr_languages' title="@{languages}" data-i18n-placeholder="languages" placeholder='Languages' /><label class='sheet-basicinfolableleft' data-i18n="languages">Languages</label>
</div>
</div>
</div>
<div class='sheet-base' style='margin-top: 10px; vertical-align: top;'>
<!--Tri-columns for Abilities and the such-->
<div class='sheet-atts'>
<input type="checkbox" class="sheet-hideCoreAtts" name="attr_hideAtts" /><span class="sheet-showCoreAtts"></span>
<h1 class='sheet-colHeader' style="margin-top: -35px;" data-i18n="attributes">Attributes</h1>
<!--<input type="checkbox" class="sheet-hideAtts" name="attr_hideAtts" /><span class="sheet-showhide"></span>-->
<div class='sheet-base sheet-attributes'>
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tAgilityRoll' title="@{tAgilityRoll}" value='@{agilitybutton}' data-i18n="agility"> Agility</button>
<input type="hidden" name="attr_agilitybutton" value="@{whisperagility} &{template:roll} @{rolltAgility} @{setmodsenc} @{showtraitmods}" />
<span><select name="attr_agility" title="@{agility}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-otraitmod" type="number" name="attr_agilitymod" title="@{agilitymod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showAgMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_agModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_agrollMod" title="@{agrollMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperagility' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_agility_rank' value='1d4!' />
<input type='hidden' name='attr_agility_display' value='1d4' />
<input type='hidden' name='attr_rolltAgility' value='{{name=@{character_name} }} {{trait=^{agility}}} {{skill_rank=@{agility_display} }} {{skill_roll=[[@{agility_rank} + @{agrollMod}+ @{ModSumEnc}[Wounds, Fatigue, Encumbrance, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{agilitymod} + @{agrollMod} + @{ModSumEnc}[Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
</div>
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tSmartsRoll' title="@{tSmartsRoll}" value='@{smartsbutton}' data-i18n="smarts"> Smarts</button>
<input type="hidden" name="attr_smartsbutton" value="@{whispersmarts} &{template:roll} @{rolltSmarts} @{setmods} @{showtraitmods}" />
<span><select name="attr_smarts" title="@{smarts}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-otraitmod" type="number" name="attr_smartsmod" title="@{smartsmod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showSmMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_smModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_smrollMod" title="@{smrollMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispersmarts' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_smarts_rank' value='1d4!' />
<input type='hidden' name='attr_smarts_display' value='1d4' />
<input type='hidden' name='attr_rolltSmarts' value='{{name=@{character_name} }} {{trait=^{smarts}}} {{skill_rank=@{smarts_display} }} {{skill_roll=[[@{smarts_rank} + @{smrollMod}+ @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{smartsmod} + @{smrollMod} + @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods}]]}}' />
</div>
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tSpiritRoll' title="@{tSpiritRoll}" value='@{spiritbutton}' data-i18n="spirit"> Spirit</button>
<input type="hidden" name="attr_spiritbutton" value="@{whisperspirit} &{template:roll} @{rolltSpirit} @{setmods} @{showtraitmods}" />
<span><select name="attr_spirit" title="@{spirit}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-otraitmod" type="number" name="attr_spiritmod" title="@{spiritmod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showSpMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_spModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_sprollMod" title="@{sprollMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperspirit' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_spirit_rank' value='1d4!' />
<input type='hidden' name='attr_spirit_display' value='1d4' />
<input type='hidden' name='attr_rolltSpirit' value='{{name=@{character_name} }} {{trait=^{spirit}}} {{skill_rank=@{spirit_display} }} {{skill_roll=[[@{spirit_rank} + @{sprollMod}+ @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{spiritmod} + @{sprollMod} + @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} ]]}}' />
</div>
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tStrengthRoll' title="@{tStrengthRoll}" value='@{strengthbutton}' data-i18n="strength"> Strength</button>
<input type="hidden" name="attr_strengthbutton" value="@{whisperstrength} &{template:roll} @{rolltStrength} @{setmodsenc} @{showtraitmods}" />
<span><select name="attr_strength" title="@{strength}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-otraitmod" type="number" name="attr_strengthmod" title="@{strengthmod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showStMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_stModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_strollMod" title="@{strollMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperstrength' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_strength_rank' value='1d4!' />
<input type='hidden' name='attr_strength_display' value='1d4' />
<input type='hidden' name='attr_rolltStrength' value='{{name=@{character_name} }} {{trait=^{strength}}} {{skill_rank=@{strength_display} }} {{skill_roll=[[@{strength_rank} + @{strollMod}+ @{ModSumEnc}[Wounds, Fatigue, Encumbrance, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{strengthmod} + @{strollMod} + @{ModSumEnc}[Wounds, Fatigue, Encumbrance, Distracted] + @{traitmods} ]]}}' />
</div>
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tVigorRoll' title="@{tVigorRoll}" value='@{vigorbutton}' data-i18n="vigor"> Vigor</button>
<input type="hidden" name="attr_vigorbutton" value="@{whispervigor} &{template:roll} @{rolltVigor} @{setmods} @{showtraitmods}" />
<span><select name="attr_vigor" title="@{vigor}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-otraitmod" type="number" name="attr_vigormod" title="@{vigormod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showViMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_viModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_virollMod" title="@{virollMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispervigor' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_vigor_rank' value='1d4!' />
<input type='hidden' name='attr_vigor_display' value='1d4' />
<input type='hidden' name='attr_rolltVigor' value='{{name=@{character_name} }} {{trait=^{vigor}}} {{skill_rank=@{vigor_display} }} {{skill_roll=[[@{vigor_rank} + @{virollMod}+ @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{vigormod} + @{virollMod} + @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} ]]}}' />
</div>
</div>
<div class="sheet-base sheet-AttsSum">
<button class="sheet-traitbutton" type='roll' name='roll_AgilitySumRoll' value='@{agilitybutton}'><span data-i18n="agility-abbr">Agl</span>: <span name='attr_agility_display'></span></button>,
<button class="sheet-traitbutton" type='roll' name='roll_SmartsSumRoll' value='@{smartsbutton}'><span data-i18n="smarts-abbr">Sma</span>: <span name='attr_smarts_display'></span></button>,
<button class="sheet-traitbutton" type='roll' name='roll_SpiritSumRoll' value='@{spiritbutton}'><span data-i18n="spirit-abbr">Spi</span>: <span name='attr_spirit_display'></span></button>,
<button class="sheet-traitbutton" type='roll' name='roll_StrengthSumRoll' value='@{strengthbutton}'><span data-i18n="strength-abbr">Str</span>: <span name='attr_strength_display'></span></button>,
<!--<button class="sheet-traitbutton" type='roll' name='roll_VigorSumRoll' value='&{template:roll} @{rolltVigor} @{setmods} @{showtraitmods}'><span data-i18n="vigor-abbr">Vig</span>: <span name='attr_vigor_display'></span></button>-->
<button class="sheet-traitbutton" type='roll' name='roll_VigorSumRoll' value='@{vigorbutton}'><span data-i18n="vigor-abbr">Vig</span>: <span name='attr_vigor_display'></span></button>
</div>
<input type="checkbox" class="sheet-hideskillsconfig" /><span class="sheet-skillList"></span>
<h1 class='sheet-colHeader' data-i18n="skills">Skills</h1>
<input type="checkbox" class="sheet-hideSkills" name="attr_hideSkills" /><span class="sheet-showhide"></span>
<!--<div class="sheet-base sheet-isSkillList">-->
<div class="sheet-base sheet-isSkillConfig">
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_altRuleSkillSpec" style='width:15px;' /><span></span> <span data-i18n="use-skill-specialization">Use Skill Specialization</span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attattr_climbingnamer_fencinginfo" style='width:15px;' /><span></span> <span data-i18n="fencing-styles-n-schools">Use Fencing Styles & Schools</span></label></span>
<hr />
<div class="sheet-isSkillList">
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticAll" style='width:15px;' value='1' /><span></span> <span data-i18n="all" style='font-weight: bold; color: maroon;'>ALL</span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticCore" style='width:15px;' value='1' /><span></span> <span data-i18n="core-skills" style='font-weight: bold; color: maroon;'>Core Skills</span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticAcademics" style='width:15px;' /><span></span> <span name="attr_academicsname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticAthletics" style='width:15px;' /><span></span> <span name="attr_athleticsname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticBattle" style='width:15px;' /><span></span> <span name="attr_battlename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticBoating" style='width:15px;' /><span></span> <span name="attr_boatingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticClimbing" style='width:15px;' /><span></span> <span name="attr_climbingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticCommonKnowledge" style='width:15px;' /><span></span> <span name="attr_common-knowledgename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticDriving" style='width:15px;' /><span></span> <span name="attr_drivingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticElectronics" style='width:15px;' /><span></span> <span name="attr_electronicsname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticFaith" style="width: 15px;" /><span></span> <span name="attr_faithname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticFocus" style='width:15px;' /><span></span> <span name="attr_focusname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticGambling" style='width:15px;' /><span></span> <span name="attr_gamblingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticGuts" style='width:15px;' /><span></span> <span name="attr_gutsname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticHacking" style='width:15px;' /><span></span> <span name="attr_hackingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticHealing" style='width:15px;' /><span></span> <span name="attr_healingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticIntimidation" style='width:15px;' /><span></span> <span name="attr_intimidationname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticInvestigation" style='width:15px;' /><span></span> <span name="attr_investigationname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticLanguage" style='width:15px;' /><span></span> <span name="attr_native-languagename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticLockpicking" style='width:15px;' /><span></span> <span name="attr_lockpickingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticNotice" style='width:15px;' /><span></span> <span name="attr_noticename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticOccult" style='width:15px;' /><span></span> <span name="attr_occultname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticPerformance" style='width:15px;' /><span></span> <span name="attr_performancename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticPersuasion" style='width:15px;' /><span></span> <span name="attr_persuasionname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticPiloting" style='width:15px;' /><span></span> <span name="attr_pilotingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticPsionics" style='width:15px;' /><span></span> <span name="attr_psionicsname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticRepair" style='width:15px;' /><span></span> <span name="attr_repairname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticResearch" style='width:15px;' /><span></span> <span name="attr_researchname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticRiding" style='width:15px;' /><span></span> <span name="attr_ridingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticRitual" style='width:15px;' /><span></span> <span name="attr_ritualname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticScience" style='width:15px;' /><span></span> <span name="attr_sciencename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticShooting" style='width:15px;' /><span></span> <span name="attr_shootingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticSpellcasting" style='width:15px;' /><span></span> <span name="attr_spellcastingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticStealth" style='width:15px;' /><span></span> <span name="attr_stealthname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticStreetwise" style='width:15px;' /><span></span> <span name="attr_streetwisename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticSurvival" style='width:15px;' /><span></span> <span name="attr_survivalname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticSwimming" style='width:15px;' /><span></span> <span name="attr_swimmingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticTaunt" style='width:15px;' /><span></span> <span name="attr_tauntname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticThievery" style='width:15px;' /><span></span> <span name="attr_thieveryname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticThrowing" style='width:15px;' /><span></span> <span name="attr_throwingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticTracking" style='width:15px;' /><span></span> <span name="attr_trackingname"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticWeirdScience" style='width:15px;' /><span></span> <span name="attr_weirdsciencename"></span></label></span>
<span class="sheet-skillItem"><label class="sheet-SkillListLabel"><input class="StaticSkill" type="checkbox" name="attr_staticKnowledgeOther" style='width:15px;' /><span></span> <span data-i18n="knowledge-other">Knowledge/Other</span></label></span>
</div>
</div>
<div class='sheet-base sheet-abilities'>
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tUnskilledRoll' title="@{tUnskilledRoll}" value='@{whisperunskilled} &{template:roll} @{rolltUnskilled} @{unskilledencumbrancebutton} @{showtraitmods}' data-i18n="unskilled"> Unskilled</button>
<span style='width:31px; line-height: 28px; padding-left:4px;'>d4</span><span style='width:7.81px; line-height: 28px;'>-</span>
<!--<input class="sheet-traitmod" type="number" name="attr_agMod" title="@{unSMod}" value="2" />-->
<span style="width:28px; height: 28px; line-height:28px; text-align: center;">2</span>
<input class='sheet-moremods' type='checkbox' name='attr_showUSMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type="checkbox" name="attr_JackOfAllTrades" value="2" />
<span class='sheet-ModDesc' data-i18n="jack-of-all-trades">Jack of All Trades</span><br/>
<input type="checkbox" name="attr_unskilledencumbrance" title="@{unskilledencumbrance}" value="1" />
<span class='sheet-ModDesc' data-i18n="apply-encumbrance">Apply Encumbrance</span><br />
<input type='checkbox' value='/w gm' name='attr_whisperunskilled' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_unskilled_rank' value='1d4!-2+@{JackOfAllTrades}[Jack of All Trades Mod]' />
<input type='hidden' name='attr_unskilled_display' value='1d4-2' />
<input type='hidden' name='attr_rolltUnskilled' value='{{name=@{character_name} }} {{trait=^{unskilled}}} {{skill_rank=@{unskilled_display} }} {{skill_roll=[[@{unskilled_rank} + @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} + (@{UnskilledEncumbrance}*@{encumbrance})[Encumbrance Penalty]]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! -2[Unskilled Penalty] + {0,@{JackOfAllTrades}}kh1[Jack of All Trades Modifier] + @{ModSum}[Modifiers] +(@{UnskilledEncumbrance}*@{encumbrance})[Encumbrance Penalty] ]] }}' />
<input type="hidden" name="attr_unskilledencumbrancebutton" value="@{setmods}" />
<input type="hidden" name="attr_unskilledrollformula" value="@{unskilled_rank} + @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} + (@{UnskilledEncumbrance}*@{encumbrance})[Encumbrance Penalty]" />
</div>
<!-- Fighting -->
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tFightingRoll' title="@{tFightingRoll}" value='@{whisperfighting} &{template:roll} {{trait=@{fightingname}}} @{rolltFighting} @{setmodsenc} @{showtraitmods}'> <span name='attr_fightingname'></span></button><span class='sheet-linkedAtt' data--i18n="agl-u">(AGL)</span>
<span><select name="attr_fighting" title="@{fighting}" class="sheet-traitdie" value="4">
<option value="4" selected>d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" style="margin-left: 0px;" type="number" name="attr_fightingmod" title="@{FightingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showFiMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_fiModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_FightingskillMod" title="@{FightingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperfighting' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_fighting_rank' value='1d4!' />
<input type='hidden' name='attr_fighting_display' value='1d4' />
<input type='hidden' name='attr_rolltFighting' value='{{name=@{character_name} }} {{skill_rank=@{fighting_display} }} {{skill_roll=[[@{fighting_rank} + @{FightingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{FightingMod} + @{FightingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="hidden" name="attr_fightingrollformula" value="@{fighting_rank} + @{FightingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_fightingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tFightingSpecRoll' title="@{tFightingSpecRoll}" value='@{whisperfighting} &{template:roll} {{trait=@{fightingSpecName} }} @{rolltFighting}'></button>
<input class="sheet-speciality" type="text" name="attr_fightingSpecName" title="@{repeating_fightingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
<input type="checkbox" class="sheet-useFencingStyle" name="attr_fencinginfo" style="display: none;" />
<div class="sheet-FencingStyle">
<hr style="margin: 2px 0px 2px 0px;" />
<h3 class='sheet-subheader'>Fencing Schools/Styles</h3>
<fieldset class="repeating_fencingstyle">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tFencingRoll' value='@{whisperfighting} &{template:roll} {{trait=@{fencingstyle} }} @{rolltFighting}'></button>
<input class="sheet-speciality" type="text" name="attr_fencingstyle" placeholder="Fencing Style" data-i18n-placeholder="fencingstyle" />
<textarea name='attr_fencingschool' class="sheet-TAspeciality" placeholder="Fencing School Information" data-i18n-placeholder="fencing-info"></textarea>
</fieldset>
</div>
</div>
<!-- Academics -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticAcademics" style='display:none;'/>
<div class='sheet-basetrait sheet-staticAcademics'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tAcademicsRoll' title="@{tAcademicsRoll}" value='@{whisperacademics} &{template:roll} {{trait=@{academicsname}}} @{rolltAcademics} @{setmods} @{showtraitmods}'> <span name='attr_academicsname'></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_academicsskill" title="@{academicsskill}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_academicsskillmod" title="@{AcademicsskillMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showAcademicsRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_academicsModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_Academics_skillMod" title="@{Academics_skillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperacademics' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_academicsskill_rank' value='1d4!' />
<input type='hidden' name='attr_academicsskill_display' value='1d4' />
<input type='hidden' name='attr_rolltAcademics' value='{{name=@{character_name} }} {{skill_rank=@{academicsskill_display} }} {{skill_roll=[[@{academicsskill_rank} + @{Academics_skillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{AcademicsskillMod} + @{Academics_skillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_academicsspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tAcademicsSpecRoll' title="@{tAcademicsSpecRoll}" value='@{whisperacademics} &{template:roll} {{trait=@{academicsSpecName} }} @{rolltAcademics}'></button>
<input class="sheet-speciality" type="text" name="attr_academicsSpecName" title="@{repeating_academicsSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Athletics Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticAthletics" style='display:none;'/>
<div class='sheet-basetrait sheet-staticAthletics'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tAthleticsRoll' title="@{tAthleticsRoll}" value='@{whisperathletics} &{template:roll} {{trait=@{athleticsname}}} @{rolltAthletics} @{linkedathleticsattbutton} @{showtraitmods}'> <span name="attr_athleticsname"></span></button>
<div class='sheet-linkedAtt' style="display: inline-block; margin-left: -4px;">
<input class="sheet-LAA" type='checkbox' name='attr_linkedathleticsatt' style="display:none;" value="(AGL)" />
<input class="sheet-LASm" type='checkbox' name='attr_linkedathleticsatt' style="display:none;" value="(SMA)" checked />
<input class="sheet-LASp" type='checkbox' name='attr_linkedathleticsatt' style="display:none;" value="(SPI)" /><input class="sheet-LASt" type='checkbox' name='attr_linkedathleticsatt' style="display:none;" value="(STR)" />
<input class="sheet-LAV" type='checkbox' name='attr_linkedathleticsatt' style="display:none;" value="(VIG)" />
<span class="sheet-LAAGI" name='attr_linkedathleticsatt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-LASMA" name='attr_linkedathleticsatt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-LASPI" name='attr_linkedathleticsatt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-LASTR" name='attr_linkedathleticsatt' data-i18n="str-u">(STR)</span>
<span class="sheet-LAVIG" name='attr_linkedathleticsatt' data-i18n="vig-u">(VIG)</span>&nbsp;
</div>
<span class="sheet-attrankselect"><select name="attr_athletics" title="@{athletics}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_athleticsmod" title="@{AthleticsMod}" value="0" style="margin-left: -4px;" />
<input class='sheet-moremods' type='checkbox' name='attr_showAthleticsRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<span class="sheet-ModDesc" data-i18n="linked-attribute">Linked Attribute</span>
<select class="sheet-LinkedAttSelect" name="attr_linkedathleticsatt">
<option value="(AGL)" data-i18n="agility" selected >Agility</option>
<option value="(SMA)" data-i18n="smarts">Smarts</option>
<option value="(SPI)" data-i18n="spirit">Spirit</option>
<option value="(STR)" data-i18n="strength">Strength</option>
<option value="(VIG)" data-i18n="vigor">Vigor</option>
</select>
<input type='hidden' name='attr_linkedathleticsattbutton' value="@{setmodsenc}" />
<input type='hidden' name='attr_linkedathleticsattformula' value="@{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance]" />
<input type='text' class='sheet-ModDesc' name='attr_athleticsModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_AthleticsskillMod" title="@{AthleticsskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperathletics' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_athletics_rank' value='1d4!' />
<input type='hidden' name='attr_athletics_display' value='1d4' />
<input type='hidden' name='attr_rolltAthletics' value='{{name=@{character_name} }} {{skill_rank=@{athletics_display} }} {{skill_roll=[[@{athletics_rank} + @{AthleticsskillMod}+ @{linkedathleticsattformula} + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{AthleticsMod} + @{AthleticsskillMod} + @{linkedathleticsattformula} + @{traitmods} ]]}}' />
<input type="hidden" name="attr_athleticsrollformula" value="@{athletics_rank} + @{AthleticsskillMod}+ @{linkedathleticsattformula} + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_athleticsspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tAthleticsSpecRoll' title="@{tAthleticsSpecRoll}" value='@{whisperathletics} &{template:roll} {{trait=@{athleticsSpecName} }} @{rolltAthletics}'></button>
<input class="sheet-speciality" type="text" name="attr_athleticsSpecName" title="@{repeating_athleticsSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Battle -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticBattle" style='display:none;'/>
<div class='sheet-basetrait sheet-staticBattle'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tBattleRoll' title="@{tBattleRoll}" value='@{whisperbattle} &{template:roll} {{trait=@{battlename}}} @{rolltBattle} @{setmods} @{showtraitmods}'> <span name="attr_battlename"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_battle" title="@{Battle}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_battlemod" title="@{BattleMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showBattleRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_battleModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_BattleskillMod" title="@{BattleskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperbattle' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_battle_rank' value='1d4!' />
<input type='hidden' name='attr_battle_display' value='1d4' />
<input type='hidden' name='attr_rolltBattle' value='{{name=@{character_name} }} {{skill_rank=@{battle_display} }} {{skill_roll=[[@{battle_rank} + @{BattleskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{BattleMod} + @{BattleskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_battlespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tBattleSpecRoll' title="@{tBattleSpecRoll}" value='@{whisperbattle} &{template:roll} {{trait=@{battleSpecName} }} @{rolltBattle}'></button>
<input class="sheet-speciality" type="text" name="attr_battleSpecName" title="@{repeating_battleSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Boating -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticBoating" style='display:none;'/>
<div class='sheet-basetrait sheet-staticBoating'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tBoatingRoll' title="@{tBoatingRoll}" value='@{whisperboating} &{template:roll} {{trait=@{boatingname}}} @{rolltBoating} @{setmodsenc} @{showtraitmods}'> <span name="attr_boatingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_boating" title="@{boating}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_boatingmod" title="@{BoatingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showBoatingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_boatingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_BoatingskillMod" title="@{BoatingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperboating' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_boating_rank' value='1d4!' />
<input type='hidden' name='attr_boating_display' value='1d4' />
<input type='hidden' name='attr_rolltBoating' value='{{name=@{character_name} }} {{skill_rank=@{boating_display} }} {{skill_roll=[[@{boating_rank} + @{BoatingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{BoatingMod} + @{BoatingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_boatingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tBoatingSpecRoll' title="@{tBoatingSpecRoll}" value='@{whisperboating} &{template:roll} {{trait=@{boatingSpecName} }} @{rolltBoating}'></button>
<input class="sheet-speciality" type="text" name="attr_boatingSpecName" title="@{repeating_boatingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Climbing Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticClimbing" style='display:none;'/>
<div class='sheet-basetrait sheet-staticClimbing'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tClimbingRoll' title="@{tClimbingRoll}" value='@{whisperclimbing} &{template:roll} {{trait=@{climbingname}}} @{rolltClimbing} @{setmodsenc} @{showtraitmods}'> <span name="attr_climbingname"></span></button><span class='sheet-linkedAtt' data-i18n="str-u">(STR)</span>
<span class="sheet-attrankselect"><select name="attr_climbing" title="@{Climbing}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_climbingmod" title="@{ClimbingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showClimbingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_climbingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_ClimbingskillMod" title="@{ClimbingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperclimbing' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_climbing_rank' value='1d4!' />
<input type='hidden' name='attr_climbing_display' value='1d4' />
<input type='hidden' name='attr_rolltClimbing' value='{{name=@{character_name} }} {{skill_rank=@{climbing_display} }} {{skill_roll=[[@{climbing_rank} + @{ClimbingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{ClimbingMod} + @{ClimbingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_climbingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tClimbingSpecRoll' title="@{tClimbingSpecRoll}" value='@{whisperclimbing} &{template:roll} {{trait=@{climbingSpecName} }} @{rolltClimbing}'></button>
<input class="sheet-speciality" type="text" name="attr_climbingSpecName" title="@{repeating_climbingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- CommonKnowledge -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticCommonKnowledge" style='display:none;'/>
<div class='sheet-basetrait sheet-staticCommonKnowledge'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tCommonKnowledgeRoll' title="@{tCommonKnowledgeRoll}" value='@{whispercommonknowledge} &{template:roll} {{trait=@{common-knowledgename}}} @{rolltCommonKnowledge} @{setmods} @{showtraitmods}'> <span name="attr_common-knowledgename"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_commonknowledge" title="@{Commonknowledge}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_commonknowledgemod" title="@{CommonknowledgeMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showCommonKnowledgeRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_commonknowledgeModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_CommonKnowledgeskillMod" title="@{CommonKnowledgeskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispercommonknowledge' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_commonknowledge_rank' value='1d4!' />
<input type='hidden' name='attr_commonknowledge_display' value='1d4' />
<input type='hidden' name='attr_rolltCommonKnowledge' value='{{name=@{character_name} }} {{skill_rank=@{commonknowledge_display} }} {{skill_roll=[[@{commonknowledge_rank} + @{CommonKnowledgeskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{CommonKnowledgeMod} + @{CommonKnowledgeskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_commonknowledgespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tCommonKnowledgeSpecRoll' title="@{tCommonKnowledgeSpecRoll}" value='@{whispercommonknowledge} &{template:roll} {{trait=@{commonknowledgeSpecName} }} @{rolltCommonKnowledge}'></button>
<input class="sheet-speciality" type="text" name="attr_commonknowledgeSpecName" title="@{repeating_commonknowledgeSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Driving Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticDriving" style='display:none;'/>
<div class='sheet-basetrait sheet-staticDriving'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tDrivingRoll' title="@{tDrivingRoll}" value='@{whisperdriving} &{template:roll} {{trait=@{drivingname}}} @{rolltDriving} @{setmodsenc} @{showtraitmods}'> <span name="attr_drivingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_driving" title="@{Driving}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_drivingmod" title="@{DrivingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showDrivingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_drivingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_DrivingskillMod" title="@{DrivingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperdriving' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_driving_rank' value='1d4!' />
<input type='hidden' name='attr_driving_display' value='1d4' />
<input type='hidden' name='attr_rolltDriving' value='{{name=@{character_name} }} {{skill_rank=@{driving_display} }} {{skill_roll=[[@{driving_rank} + @{DrivingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{DrivingMod} + @{DrivingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_drivingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tDrivingSpecRoll' title="@{tDrivingSpecRoll}" value='@{whisperdriving} &{template:roll} {{trait=@{drivingSpecName} }} @{rolltDriving}'></button>
<input class="sheet-speciality" type="text" name="attr_drivingSpecName" title="@{repeating_drivingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Electronics -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticElectronics" style='display:none;'/>
<div class='sheet-basetrait sheet-staticElectronics'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tElectronicsRoll' title="@{tElectronicsRoll}" value='@{whisperelectronics} &{template:roll} {{trait=@{electronicsname}}} @{rolltElectronics} @{setmods} @{showtraitmods}'> <span name="attr_electronicsname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_electronics" title="@{Electronics}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_electronicsmod" title="@{ElectronicsMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showElectronicsRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_electronicsModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_ElectronicsskillMod" title="@{ElectronicsskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperelectronics' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_electronics_rank' value='1d4!' />
<input type='hidden' name='attr_electronics_display' value='1d4' />
<input type='hidden' name='attr_rolltElectronics' value='{{name=@{character_name} }} {{skill_rank=@{electronics_display} }} {{skill_roll=[[@{electronics_rank} + @{ElectronicsskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{ElectronicsMod} + @{ElectronicsskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_electronicsspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tElectronicsSpecRoll' title="@{tElectronicsSpecRoll}" value='@{whisperelectronics} &{template:roll} {{trait=@{electronicsSpecName} }} @{rolltElectronics}'></button>
<input class="sheet-speciality" type="text" name="attr_electronicsSpecName" title="@{repeating_electronicsSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Faith Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticFaith" style='display:none;'/>
<div class='sheet-basetrait sheet-staticFaith'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tFaithRoll' title="@{tFaithRoll}" value='@{whisperfaith} &{template:roll} {{trait=@{faithname}}} @{rolltFaith} @{setmods} @{showtraitmods}'> <span name="attr_faithname"></span></button><span class='sheet-linkedAtt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-attrankselect"><select name="attr_faith" title="@{Faith}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_faithmod" title="@{FaithMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showFaithRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_faithModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_FaithskillMod" title="@{FaithskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperfaith' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_faith_rank' value='1d4!' />
<input type='hidden' name='attr_faith_display' value='1d4' />
<input type='hidden' name='attr_rolltFaith' value='{{name=@{character_name} }} {{skill_rank=@{faith_display} }} {{skill_roll=[[@{faith_rank} + @{FaithskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{FaithMod} + @{FaithskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="hidden" name="attr_faithrollformula" value="@{faith_rank} + @{FaithskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_faithspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tFaithSpecRoll' title="@{tFaithSpecRoll}" value='@{whisperfaith} &{template:roll} {{trait=@{faithSpecName} }} @{rolltFaith}'></button>
<input class="sheet-speciality" type="text" name="attr_faithSpecName" title="@{repeating_faithSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Focus -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticFocus" style='display:none;'/>
<div class='sheet-basetrait sheet-staticFocus'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tFocusRoll' title="@{tFocusRoll}" value='@{whisperfocus} &{template:roll} {{trait=@{focusname}}} @{rolltFocus} @{setmods} @{showtraitmods}'> <span name="attr_focusname"></span></button><span class='sheet-linkedAtt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-attrankselect"><select name="attr_focus" title="@{Focus}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_focusmod" title="@{FocusMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showFocusRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_focusModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_FocusskillMod" title="@{FocusskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperfocus' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_focus_rank' value='1d4!' />
<input type='hidden' name='attr_focus_display' value='1d4' />
<input type='hidden' name='attr_rolltFocus' value='{{name=@{character_name} }} {{skill_rank=@{focus_display} }} {{skill_roll=[[@{focus_rank} + @{FocusskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{FocusMod} + @{FocusskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="hidden" name="attr_focusrollformula" value="@{focus_rank} + @{FocusskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_focusspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tFocusSpecRoll' title="@{tFocusSpecRoll}" value='@{whisperfocus} &{template:roll} {{trait=@{focusSpecName} }} @{rolltFocus}'></button>
<input class="sheet-speciality" type="text" name="attr_focusSpecName" title="@{repeating_focusSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Gambling Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticGambling" style='display:none;'/>
<div class='sheet-basetrait sheet-staticGambling'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tGamblingRoll' title="@{tGamblingRoll}" value='@{whispergambling} &{template:roll} {{trait=@{gamblingname}}} @{rolltGambling} @{setmods} @{showtraitmods}'> <span name="attr_gamblingname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_gambling" title="@{Gambling}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_gamblingmod" title="@{GamblingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showGamblingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_gamblingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_GamblingskillMod" title="@{GamblingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispergambling' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_gambling_rank' value='1d4!' />
<input type='hidden' name='attr_gambling_display' value='1d4' />
<input type='hidden' name='attr_rolltGambling' value='{{name=@{character_name} }} {{skill_rank=@{gambling_display} }} {{skill_roll=[[@{gambling_rank} + @{GamblingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{GamblingMod} + @{GamblingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_gamblingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tGamblingSpecRoll' title="@{tGamblingSpecRoll}" value='@{whispergambling} &{template:roll} {{trait=@{gamblingSpecName} }} @{rolltGambling}'></button>
<input class="sheet-speciality" type="text" name="attr_gamblingSpecName" title="@{repeating_gamblingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Guts Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticGuts" style='display:none;'/>
<div class='sheet-basetrait sheet-staticGuts'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tGutsRoll' title="@{tGutsRoll}" value='@{whisperguts} &{template:roll} {{trait=@{gutsname}}} @{rolltGuts} @{setmods} @{showtraitmods}'> <span name="attr_gutsname"></span></button><span class='sheet-linkedAtt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-attrankselect"><select name="attr_guts" title="@{Guts}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_gutsmod" title="@{GutsMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showGutsRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_gutsModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_GutsskillMod" title="@{GutsskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperguts' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_guts_rank' value='1d4!' />
<input type='hidden' name='attr_guts_display' value='1d4' />
<input type='hidden' name='attr_rolltGuts' value='{{name=@{character_name} }} {{skill_rank=@{guts_display} }} {{skill_roll=[[@{guts_rank} + @{GutsskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{GutsMod} + @{GutsskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_gutsspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tGutsSpecRoll' title="@{tGutsSpecRoll}" value='@{whisperguts} &{template:roll} {{trait=@{gutsSpecName} }} @{rolltGuts}'></button>
<input class="sheet-speciality" type="text" name="attr_gutsSpecName" title="@{repeating_gutsSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Hacking -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticHacking" style='display:none;'/>
<div class='sheet-basetrait sheet-staticHacking'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tHackingRoll' title="@{tHackingRoll}" value='@{whisperhacking} &{template:roll} {{trait=@{hackingname}}} @{rolltHacking} @{setmods} @{showtraitmods}'> <span name="attr_hackingname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_hacking" title="@{Hacking}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_hackingmod" title="@{HackingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showHackingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_hackingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_HackingskillMod" title="@{HackingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperhacking' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_hacking_rank' value='1d4!' />
<input type='hidden' name='attr_hacking_display' value='1d4' />
<input type='hidden' name='attr_rolltHacking' value='{{name=@{character_name} }} {{skill_rank=@{hacking_display} }} {{skill_roll=[[@{hacking_rank} + @{HackingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{HackingMod} + @{HackingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_hackingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tHackingSpecRoll' title="@{tHackingSpecRoll}" value='@{whisperhacking} &{template:roll} {{trait=@{hackingSpecName} }} @{rolltHacking}'></button>
<input class="sheet-speciality" type="text" name="attr_hackingSpecName" title="@{repeating_hackingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Healing Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticHealing" style='display:none;'/>
<div class='sheet-basetrait sheet-staticHealing'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tHealingRoll' title="@{tHealingRoll}" value='@{whisperhealing} &{template:roll} {{trait=@{healingname}}} @{rolltHealing} @{setmods} @{showtraitmods}'> <span name="attr_healingname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_healing" title="@{Healing}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_healingmod" title="@{HealingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showHealingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_healingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_HealingskillMod" title="@{HealingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperhealing' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_healing_rank' value='1d4!' />
<input type='hidden' name='attr_healing_display' value='1d4' />
<input type='hidden' name='attr_rolltHealing' value='{{name=@{character_name} }} {{skill_rank=@{healing_display} }} {{skill_roll=[[@{healing_rank} + @{HealingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{HealingMod} + @{HealingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_healingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tHealingSpecRoll' title="@{tHealingSpecRoll}" value='@{whisperhealing} &{template:roll} {{trait=@{healingSpecName} }} @{rolltHealing}'></button>
<input class="sheet-speciality" type="text" name="attr_healingSpecName" title="@{repeating_healingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Intimidate Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticIntimidation" style='display:none;'/>
<div class='sheet-basetrait sheet-staticIntimidation'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tIntimidationRoll' title="@{tIntimidationRoll}" value='@{whisperintimidation} &{template:roll} {{trait=@{intimidationname}}} @{rolltIntimidation} @{setmods} @{showtraitmods}'> <span name="attr_intimidationname"></span></button><span class='sheet-linkedAtt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-attrankselect"><select name="attr_intimidation" title="@{Intimidation}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_intimidationmod" title="@{IntimidationMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showIntimidationRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_intimidateModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_IntimidationskillMod" title="@{IntimidationskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperintimidation' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_intimidation_rank' value='1d4!' />
<input type='hidden' name='attr_intimidation_display' value='1d4' />
<input type='hidden' name='attr_rolltIntimidation' value='{{name=@{character_name} }} {{skill_rank=@{intimidation_display} }} {{skill_roll=[[@{intimidation_rank} + @{IntimidationskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{IntimidationMod} + @{IntimidationskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_intimidationspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tIntimidationSpecRoll' title="@{tIntimidationSpecRoll}" value='@{whisperintimidation} &{template:roll} {{trait=@{intimidationSpecName} }} @{rolltIntimidation}'></button>
<input class="sheet-speciality" type="text" name="attr_intimidationSpecName" title="@{repeating_intimidationSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Investigation -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticInvestigation" style='display:none;'/>
<div class='sheet-basetrait sheet-staticInvestigation'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tInvestigationRoll' title="@{tInvestigationRoll}" value='@{whisperinvestigation} &{template:roll} {{trait=@{investigationname}}} @{rolltInvestigation} @{setmods} @{showtraitmods}'> <span name="attr_investigationname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_investigation" title="@{Investigation}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_investigationmod" title="@{InvestigationMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showInvestigationRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_investigationModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_InvestigationskillMod" title="@{InvestigationskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperinvestigation' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_investigation_rank' value='1d4!' />
<input type='hidden' name='attr_investigation_display' value='1d4' />
<input type='hidden' name='attr_rolltInvestigation' value='{{name=@{character_name} }} {{skill_rank=@{investigation_display} }} {{skill_roll=[[@{investigation_rank} + @{InvestigationskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{InvestigationMod} + @{InvestigationskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_investigationspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tInvestigationSpecRoll' title="@{tInvestigationSpecRoll}" value='@{whisperinvestigation} &{template:roll} {{trait=@{investigationSpecName} }} @{rolltInvestigation}'></button>
<input class="sheet-speciality" type="text" name="attr_investigationSpecName" title="@{repeating_investigationSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Language -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticLanguage" style='display:none;'/>
<div class='sheet-basetrait sheet-staticLanguage'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tLanguageRoll' title="@{tLanguageRoll}" value='@{whisperlanguage} &{template:roll} {{trait=@{native-languagename}}} @{rolltLanguage} @{setmods} @{showtraitmods}'> <span name="attr_native-languagename"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_language" title="@{Language}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_languagemod" title="@{LanguageMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showLanguageRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_languageModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_LanguageskillMod" title="@{LanguageskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperlanguage' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_language_rank' value='1d4!' />
<input type='hidden' name='attr_language_display' value='1d4' />
<input type='hidden' name='attr_rolltLanguage' value='{{name=@{character_name} }} {{skill_rank=@{language_display} }} {{skill_roll=[[@{language_rank} + @{LanguageskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{LanguageMod} + @{LanguageskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_languagespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tLanguageSpecRoll' title="@{tLanguageSpecRoll}" value='@{whisperlanguage} &{template:roll} {{trait=@{languageSpecName} }} @{rolltLanguage}'></button>
<input class="sheet-speciality" type="text" name="attr_languageSpecName" title="@{repeating_languageSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Lockpicking SKill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticLockpicking" style='display:none;'/>
<div class='sheet-basetrait sheet-staticLockpicking'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tLockpickingRoll' title="@{tLockpickingRoll}" value='@{whisperlockpicking} &{template:roll} {{trait=@{lockpickingname}}} @{rolltLockpicking} @{setmodsenc} @{showtraitmods}'> <span name="attr_lockpickingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_lockpicking" title="@{Lockpicking}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_lockpickingmod" title="@{LockpickingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showLockpickingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_lockpickingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_LockpickingskillMod" title="@{LockpickingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperlockpicking' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_lockpicking_rank' value='1d4!' />
<input type='hidden' name='attr_lockpicking_display' value='1d4' />
<input type='hidden' name='attr_rolltLockpicking' value='{{name=@{character_name} }} {{skill_rank=@{lockpicking_display} }} {{skill_roll=[[@{lockpicking_rank} + @{LockpickingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{LockpickingMod} + @{LockpickingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_lockpickingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tLockpickingSpecRoll' title="@{tLockpickingSpecRoll}" value='@{whisperlockpicking} &{template:roll} {{trait=@{lockpickingSpecName} }} @{rolltLockpicking}'></button>
<input class="sheet-speciality" type="text" name="attr_lockpickingSpecName" title="@{repeating_lockpickingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Notice Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticNotice" style='display:none;'/>
<div class='sheet-basetrait sheet-staticNotice'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tNoticeRoll' title="@{tNoticeRoll}" value='@{whispernotice} &{template:roll} {{trait=@{noticename}}} @{rolltNotice} @{setmods} @{showtraitmods}'> <span name="attr_noticename"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_notice" title="@{Notice}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_noticemod" title="@{NoticeMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showNoticeRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_noticeModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_NoticeskillMod" title="@{NoticeskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispernotice' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_notice_rank' value='1d4!' />
<input type='hidden' name='attr_notice_display' value='1d4' />
<input type='hidden' name='attr_rolltNotice' value='{{name=@{character_name} }} {{skill_rank=@{notice_display} }} {{skill_roll=[[@{notice_rank} + @{NoticeskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{NoticeMod} + @{NoticeskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_noticespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tNoticeSpecRoll' title="@{tNoticeSpecRoll}" value='@{whispernotice} &{template:roll} {{trait=@{noticeSpecName} }} @{rolltNotice}'></button>
<input class="sheet-speciality" type="text" name="attr_noticeSpecName" title="@{repeating_noticeSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Occult -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticOccult" style='display:none;'/>
<div class='sheet-basetrait sheet-staticOccult'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tOccultRoll' title="@{tOccultRoll}" value='@whisperoccult} &{template:roll} {{trait=@{occultname}}} @{rolltOccult} @{setmods} @{showtraitmods}'> <span name="attr_occultname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_occult" title="@{Occult}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_occultmod" title="@{occultmod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showOccultRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_occultModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_OccultskillMod" title="@{OccultskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperoccult' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_occult_rank' value='1d4!' />
<input type='hidden' name='attr_occult_display' value='1d4' />
<input type='hidden' name='attr_rolltOccult' value='{{name=@{character_name} }} {{skill_rank=@{occult_display} }} {{skill_roll=[[@{occult_rank} + @{OccultskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{occultmod} + @{OccultskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_occultspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tOccultSpecRoll' title="@{tOccultSpecRoll}" value='@whisperoccult} &{template:roll} {{trait=@{occultSpecName} }} @{rolltOccult}'></button>
<input class="sheet-speciality" type="text" name="attr_occultSpecName" title="@{repeating_occultSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Performance -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticPerformance" style='display:none;'/>
<div class='sheet-basetrait sheet-staticPerformance'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tPerformanceRoll' title="@{tPerformanceRoll}" value='@{whisperperformance} &{template:roll} {{trait=@{performancename}}} @{rolltPerformance} @{setmods} @{showtraitmods}'> <span name="attr_performancename"></span></button><span class='sheet-linkedAtt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-attrankselect"><select name="attr_performance" title="@{Performance}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_performancemod" title="@{PerformanceMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showPerformanceRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_performanceModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_PerformanceskillMod" title="@{PerformanceskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperperformance' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_performance_rank' value='1d4!' />
<input type='hidden' name='attr_performance_display' value='1d4' />
<input type='hidden' name='attr_rolltPerformance' value='{{name=@{character_name} }} {{skill_rank=@{performance_display} }} {{skill_roll=[[@{performance_rank} + @{PerformanceskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{PerformanceMod} + @{PerformanceskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="hidden" name="attr_performancerollformula" value="@{performance_rank} + @{PerformanceskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_performancespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tPerformanceSpecRoll' title="@{tPerformanceSpecRoll}" value='@{whisperperformance} &{template:roll} {{trait=@{performanceSpecName} }} @{rolltPerformance}'></button>
<input class="sheet-speciality" type="text" name="attr_performanceSpecName" title="@{repeating_performanceSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Persuasion -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticPersuasion" style='display:none;'/>
<div class='sheet-basetrait sheet-staticPersuasion'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tPersuasionRoll' title="@{tPersuasionRoll}" value='@{whisperpersuasion} &{template:roll} {{trait=@{persuasionname}}} @{rolltPersuasion} @{setmods} @{showtraitmods}'> <span name="attr_persuasionname"></span></button><span class='sheet-linkedAtt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-attrankselect"><select name="attr_persuasion" title="@{Persuasion}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_persuasionmod" title="@{PersuasionMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showPersuasionRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_persuasionModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_PersuasionskillMod" title="@{PersuasionskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperpersuasion' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_persuasion_rank' value='1d4!' />
<input type='hidden' name='attr_persuasion_display' value='1d4' />
<input type='hidden' name='attr_rolltPersuasion' value='{{name=@{character_name} }} {{skill_rank=@{persuasion_display} }} {{skill_roll=[[@{persuasion_rank} + @{PersuasionskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{PersuasionMod} + @{PersuasionskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_persuasionspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tPersuasionSpecRoll' title="@{tPersuasionSpecRoll}" value='@{whisperpersuasion} &{template:roll} {{trait=@{persuasionSpecName} }} @{rolltPersuasion}'></button>
<input class="sheet-speciality" type="text" name="attr_persuasionSpecName" title="@{repeating_persuasionSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Piloting Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticPiloting" style='display:none;'/>
<div class='sheet-basetrait sheet-staticPiloting'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tPilotingRoll' title="@{tPilotingRoll}" value='@{whisperpiloting} &{template:roll} {{trait=@{pilotingname}}} @{rolltPiloting} @{setmodsenc} @{showtraitmods}'> <span name="attr_pilotingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_piloting" title="@{Piloting}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_pilotingmod" title="@{PilotingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showPilotingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_pilotingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_PilotingskillMod" title="@{PilotingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperpiloting' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_piloting_rank' value='1d4!' />
<input type='hidden' name='attr_piloting_display' value='1d4' />
<input type='hidden' name='attr_rolltPiloting' value='{{name=@{character_name} }} {{skill_rank=@{piloting_display} }} {{skill_roll=[[@{piloting_rank} + @{PilotingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{PilotingMod} + @{PilotingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_pilotingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tPilotingSpecRoll' title="@{tPilotingSpecRoll}" value='@{whisperpiloting} &{template:roll} {{trait=@{pilotingSpecName} }} @{rolltPiloting}'></button>
<input class="sheet-speciality" type="text" name="attr_pilotingSpecName" title="@{repeating_pilotingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Psionics Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticPsionics" style='display:none;'/>
<div class='sheet-basetrait sheet-staticPsionics'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tPsionicsRoll' title="@{tPsionicsRoll}" value='@{whisperpsionics} &{template:roll} {{trait=@{psionicsname}}} @{rolltPsionics} @{linkedpsionicsattbutton} @{showtraitmods}'> <span name="attr_psionicsname"></span></button>
<div class='sheet-linkedAtt' style="display: inline-block; margin-left: -4px;">
<input class="sheet-LAA" type='checkbox' name='attr_linkedpsionicsatt' style="display:none;" value="(AGL)" />
<input class="sheet-LASm" type='checkbox' name='attr_linkedpsionicsatt' style="display:none;" value="(SMA)" checked />
<input class="sheet-LASp" type='checkbox' name='attr_linkedpsionicsatt' style="display:none;" value="(SPI)" /><input class="sheet-LASt" type='checkbox' name='attr_linkedpsionicsatt' style="display:none;" value="(STR)" />
<input class="sheet-LAV" type='checkbox' name='attr_linkedpsionicsatt' style="display:none;" value="(VIG)" />
<span class="sheet-LAAGI" name='attr_linkedpsionicsatt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-LASMA" name='attr_linkedpsionicsatt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-LASPI" name='attr_linkedpsionicsatt' data-i18n="spi-u">(SPI)</span>
<span class="sheet-LASTR" name='attr_linkedpsionicsatt' data-i18n="str-u">(STR)</span>
<span class="sheet-LAVIG" name='attr_linkedpsionicsatt' data-i18n="vig-u">(VIG)</span>&nbsp;
</div>
<span class="sheet-attrankselect"><select name="attr_psionics" title="@{Psionics}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_psionicsmod" title="@{PsionicsMod}" value="0" style="margin-left: -4px;" />
<input class='sheet-moremods' type='checkbox' name='attr_showPsionicsRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<span class="sheet-ModDesc" data-i18n="linked-attribute">Linked Attribute</span>
<select class="sheet-LinkedAttSelect" name="attr_linkedpsionicsatt">
<option value="(AGL)" data-i18n="agility">Agility</option>
<option value="(SMA)" data-i18n="smarts" selected >Smarts</option>
<option value="(SPI)" data-i18n="spirit">Spirit</option>
<option value="(STR)" data-i18n="strength">Strength</option>
<option value="(VIG)" data-i18n="vigor">Vigor</option>
</select>
<input type='hidden' name='attr_linkedpsionicsattbutton' value="@{setmods}" />
<input type='hidden' name='attr_linkedpsionicsattformula' value="@{ModSum}[Distracted, Wounds, Fatigue]" />
<input type='text' class='sheet-ModDesc' name='attr_psionicsModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_PsionicsskillMod" title="@{PsionicsskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperpsionics' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_psionics_rank' value='1d4!' />
<input type='hidden' name='attr_psionics_display' value='1d4' />
<input type='hidden' name='attr_rolltPsionics' value='{{name=@{character_name} }} {{skill_rank=@{psionics_display} }} {{skill_roll=[[@{psionics_rank} + @{PsionicsskillMod}+ @{linkedpsionicsattformula} + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{PsionicsMod} + @{PsionicsskillMod} + @{linkedpsionicsattformula} + @{traitmods} ]]}}' />
<input type="hidden" name="attr_psionicsrollformula" value="@{psionics_rank} + @{PsionicsskillMod}+ @{linkedpsionicsattformula} + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_psionicsspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tPsionicsSpecRoll' title="@{tPsionicsSpecRoll}" value='@{whisperpsionics} &{template:roll} {{trait=@{psionicsSpecName} }} @{rolltPsionics}'></button>
<input class="sheet-speciality" type="text" name="attr_psionicsSpecName" title="@{repeating_psionicsSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Repair Skill -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticRepair" style='display:none;'/>
<div class='sheet-basetrait sheet-staticRepair'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tRepairRoll' title="@{tRepairRoll}" value='@{whisperrepair} &{template:roll} {{trait=@{repairname}}} @{rolltRepair} @{setmods} @{showtraitmods}'> <span name="attr_repairname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_repair" title="@{Repair}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_repairmod" title="@{RepairMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showRepairRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_repairModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_RepairskillMod" title="@{RepairskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperrepair' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_repair_rank' value='1d4!' />
<input type='hidden' name='attr_repair_display' value='1d4' />
<input type='hidden' name='attr_rolltRepair' value='{{name=@{character_name} }} {{skill_rank=@{repair_display} }} {{skill_roll=[[@{repair_rank} + @{RepairskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{RepairMod} + @{RepairskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_repairspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tRepairSpecRoll' title="@{tRepairSpecRoll}" value='@{whisperrepair} &{template:roll} {{trait=@{repairSpecName} }} @{rolltRepair}'></button>
<input class="sheet-speciality" type="text" name="attr_repairSpecName" title="@{repeating_repairSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Research -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticResearch" style='display:none;'/>
<div class='sheet-basetrait sheet-staticResearch'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tResearchRoll' title="@{tResearchRoll}" value='@{whisperresearch} &{template:roll} {{trait=@{researchname}}} @{rolltResearch} @{setmods} @{showtraitmods}'> <span name="attr_researchname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_research" title="@{Research}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_researchmod" title="@{ResearchMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showResearchRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_researchModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_ResearchskillMod" title="@{ResearchskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperresearch' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_research_rank' value='1d4!' />
<input type='hidden' name='attr_research_display' value='1d4' />
<input type='hidden' name='attr_rolltResearch' value='{{name=@{character_name} }} {{skill_rank=@{research_display} }} {{skill_roll=[[@{research_rank} + @{ResearchskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{ResearchMod} + @{ResearchskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_researchspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tResearchSpecRoll' title="@{tResearchSpecRoll}" value='@{whisperresearch} &{template:roll} {{trait=@{researchSpecName} }} @{rolltResearch}'></button>
<input class="sheet-speciality" type="text" name="attr_researchSpecName" title="@{repeating_researchSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Riding (Agility) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticRiding" style='display:none;'/>
<div class='sheet-basetrait sheet-staticRiding'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tRidingRoll' title="@{tRidingRoll}" value='@{whisperriding} &{template:roll} {{trait=@{ridingname}}} @{rolltRiding} @{setmodsenc} @{showtraitmods}'> <span name="attr_ridingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_riding" title="@{Riding}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_ridingmod" title="@{RidingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showRidingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_ridingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_RidingskillMod" title="@{RidingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperriding' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_riding_rank' value='1d4!' />
<input type='hidden' name='attr_riding_display' value='1d4' />
<input type='hidden' name='attr_rolltRiding' value='{{name=@{character_name} }} {{skill_rank=@{riding_display} }} {{skill_roll=[[@{riding_rank} + @{RidingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{RidingMod} + @{RidingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_ridingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tRidingSpecRoll' title="@{tRidingSpecRoll}" value='@{whisperriding} &{template:roll} {{trait=@{ridingSpecName} }} @{rolltRiding}'></button>
<input class="sheet-speciality" type="text" name="attr_ridingSpecName" title="@{repeating_ridingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Ritual Skill (TBD) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticRitual" style='display:none;'/>
<div class='sheet-basetrait sheet-staticRitual'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tRitualRoll' title="@{tRitualRoll}" value='@{whisperritual} &{template:roll} {{trait=@{ritualname}}} @{rolltRitual} @{linkedritualattscorebutton} @{showtraitmods}'> <span name="attr_ritualname"></span></button>
<div class='sheet-linkedAtt' style="display: inline-block; margin-left: -4px;">
<input class="sheet-LAA" type='checkbox' name='attr_linkedritualattscore' style="display:none;" value="(AGL)" />
<input class="sheet-LASm" type='checkbox' name='attr_linkedritualattscore' style="display:none;" value="(SMA)" checked />
<input class="sheet-LASp" type='checkbox' name='attr_linkedritualattscore' style="display:none;" value="(SPI)" />
<input class="sheet-LASt" type='checkbox' name='attr_linkedritualattscore' style="display:none;" value="(STR)" />
<input class="sheet-LAV" type='checkbox' name='attr_linkedritualattscore' style="display:none;" value="(VIG)" />
<span class="sheet-LAAGI" name='attr_linkedritualattscore' data-i18n="agl-u">(AGL)</span>
<span class="sheet-LASMA" name='attr_linkedritualattscore' data-i18n="sma-u">(SMA)</span>
<span class="sheet-LASPI" name='attr_linkedritualattscore' data-i18n="spi-u">(SPI)</span>
<span class="sheet-LASTR" name='attr_linkedritualattscore' data-i18n="str-u">(STR)</span>
<span class="sheet-LAVIG" name='attr_linkedritualattscore' data-i18n="vig-u">(VIG)</span>&nbsp;
</div>
<span class="sheet-attrankselect"><select name="attr_ritual" title="@{Ritual}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_ritualmod" title="@{RitualMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showRitualRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<span class="sheet-ModDesc" data-i18n="linked-attribute">Linked Attribute</span>
<select class="sheet-LinkedAttSelect" name="attr_linkedritualattscore">
<option value="(AGL)" data-i18n="agility">Agility</option>
<option value="(SMA)" selected data-i18n="smarts" >Smarts</option>
<option value="(SPI)" data-i18n="spirit">Spirit</option>
<option value="(STR)" data-i18n="strength">Strength</option>
<option value="(VIG)" data-i18n="vigor">Vigor</option>
</select>
<input type="hidden" name="attr_linkedritualattscorebutton" value="@{setmods}" />
<input type="hidden" name="attr_linkedritualattscoreformula" value="@{ModSum}[Distracted, Wounds, Fatigue]" />
<input type='text' class='sheet-ModDesc' name='attr_ritualModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_RitualskillMod" title="@{RitualskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperritual' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_ritual_rank' value='1d4!' />
<input type='hidden' name='attr_ritual_display' value='1d4' />
<input type='hidden' name='attr_rolltRitual' value='{{name=@{character_name} }} {{skill_rank=@{ritual_display} }} {{skill_roll=[[@{ritual_rank} + @{RitualskillMod}+ @{linkedritualattscoreformula} + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{RitualMod} + @{RitualskillMod} + @{linkedritualattscoreformula} + @{traitmods} ]]}}' />
<input type="hidden" name="attr_ritualrollformula" value="@{ritual_rank} + @{RitualskillMod}+ @{linkedritualattscoreformula} + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_ritualspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tRitualSpecRoll' title="@{tRitualSpecRoll}" value='@{whisperritual} &{template:roll} {{trait=@{ritualSpecName} }} @{rolltRitual}'></button>
<input class="sheet-speciality" type="text" name="attr_ritualSpecName" title="@{repeating_ritualSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Science -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticScience" style='display:none;'/>
<div class='sheet-basetrait sheet-staticScience'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tScienceRoll' title="@{tScienceRoll}" value='@{whisperscience} &{template:roll} {{trait=@{sciencename}}} @{rolltScience} @{setmods} @{showtraitmods}'> <span name="attr_sciencename"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_science" title="@{Science}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_sciencemod" title="@{ScienceMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showScienceRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_scienceModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_ScienceskillMod" title="@{ScienceskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperscience' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_science_rank' value='1d4!' />
<input type='hidden' name='attr_science_display' value='1d4' />
<input type='hidden' name='attr_rolltScience' value='{{name=@{character_name} }} {{skill_rank=@{science_display} }} {{skill_roll=[[@{science_rank} + @{ScienceskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{ScienceMod} + @{ScienceskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_sciencespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tScienceSpecRoll' title="@{tScienceSpecRoll}" value='@{whisperscience} &{template:roll} {{trait=@{scienceSpecName} }} @{rolltScience}'></button>
<input class="sheet-speciality" type="text" name="attr_scienceSpecName" title="@{repeating_scienceSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Shooting SKill (Agility) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticShooting" style='display:none;'/>
<div class='sheet-basetrait sheet-staticShooting'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tShootingRoll' title="@{tShootingRoll}" value='@{whispershooting} &{template:roll} {{trait=@{shootingname}}} @{rolltShooting} @{setmodsenc} @{showtraitmods}'> <span name="attr_shootingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_shooting" title="@{Shooting}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_shootingmod" title="@{ShootingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showShootingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_shootingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_ShootingskillMod" title="@{ShootingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispershooting' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_shooting_rank' value='1d4!' />
<input type='hidden' name='attr_shooting_display' value='1d4' />
<input type='hidden' name='attr_rolltShooting' value='{{name=@{character_name} }} {{skill_rank=@{shooting_display} }} {{skill_roll=[[@{shooting_rank} + @{ShootingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{ShootingMod} + @{ShootingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="hidden" name="attr_shootingrollformula" value="@{shooting_rank} + @{ShootingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_shootingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tShootingSpecRoll' title="@{tShootingSpecRoll}" value='@{whispershooting} &{template:roll} {{trait=@{shootingSpecName} }} @{rolltShooting}'></button>
<input class="sheet-speciality" type="text" name="attr_shootingSpecName" title="@{repeating_shootingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Spellcasting (TBD) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticSpellcasting" style='display:none;'/>
<div class='sheet-basetrait sheet-staticSpellcasting'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tSpellcastingRoll' title="@{tSpellcastingRoll}" value='@{whisperspellcasting} &{template:roll} {{trait=@{spellcastingname}}} @{rolltSpellcasting} @{linkedspellcastingattscorebutton} @{showtraitmods}'> <span name="attr_spellcastingname"></span></button>
<div class='sheet-linkedAtt' style="display: inline-block; margin-left: -4px;">
<input class="sheet-LAA" type='checkbox' name='attr_linkedspellcastingattscore' style="display:none;" value="(AGL)" />
<input class="sheet-LASm" type='checkbox' name='attr_linkedspellcastingattscore' style="display:none;" value="(SMA)" checked />
<input class="sheet-LASp" type='checkbox' name='attr_linkedspellcastingattscore' style="display:none;" value="(SPI)" />
<input class="sheet-LASt" type='checkbox' name='attr_linkedspellcastingattscore' style="display:none;" value="(STR)" />
<input class="sheet-LAV" type='checkbox' name='attr_linkedspellcastingattscore' style="display:none;" value="(VIG)" />
<span class="sheet-LAAGI" name='attr_linkedspellcastingattscore' data-i18n="agl-u">(AGL)</span>
<span class="sheet-LASMA" name='attr_linkedspellcastingattscore' data-i18n="sma-u">(SMA)</span>
<span class="sheet-LASPI" name='attr_linkedspellcastingattscore' data-i18n="spi-u">(SPI)</span>
<span class="sheet-LASTR" name='attr_linkedspellcastingattscore' data-i18n="str-u">(STR)</span>
<span class="sheet-LAVIG" name='attr_linkedspellcastingattscore' data-i18n="vig-u">(VIG)</span>&nbsp;
</div>
<span class="sheet-attrankselect"><select name="attr_spellcasting" title="@{Spellcasting}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_spellcastingmod" title="@{SpellcastingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showSpellcastingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<span class="sheet-ModDesc" data-i18n="linked-attribute">Linked Attribute</span>
<select class="sheet-LinkedAttSelect" name="attr_linkedspellcastingattscore">
<option value="(AGL)" data-i18n="agility">Agility</option>
<option value="(SMA)" selected data-i18n="smarts">Smarts</option>
<option value="(SPI)" data-i18n="spirit">Spirit</option>
<option value="(STR)" data-i18n="strength">Strength</option>
<option value="(VIG)" data-i18n="vigor">Vigor</option>
</select>
<input type='hidden' name='attr_linkedspellcastingattscorebutton' value="@{setmods}" />
<input type='hidden' name='attr_linkedspellcastingattscoreformula' value="@{ModSum}[Distracted, Wounds, Fatigue]" />
<input type='text' class='sheet-ModDesc' name='attr_spellcastingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_SpellcastingskillMod" title="@{SpellcastingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperspellcasting' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_spellcasting_rank' value='1d4!' />
<input type='hidden' name='attr_spellcasting_display' value='1d4' />
<input type='hidden' name='attr_rolltSpellcasting' value='{{name=@{character_name} }} {{skill_rank=@{spellcasting_display} }} {{skill_roll=[[@{spellcasting_rank} + @{SpellcastingskillMod}+ @{linkedspellcastingattscoreformula} + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{SpellcastingMod} + @{SpellcastingskillMod} + @{linkedspellcastingattscoreformula} + @{traitmods} ]]}}' />
<input type="hidden" name="attr_spellcastingrollformula" value="@{spellcasting_rank} + @{SpellcastingskillMod}+ @{linkedspellcastingattscoreformula} + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_spellcastingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tSpellcastingSpecRoll' title="@{tSpellcastingSpecRoll}" value='@{whisperspellcasting} &{template:roll} {{trait=@{spellcastingSpecName} }} @{rolltSpellcasting}'></button>
<input class="sheet-speciality" type="text" name="attr_spellcastingSpecName" title="@{repeating_spellcastingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Stealth Skill (Agility) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticStealth" style='display:none;'/>
<div class='sheet-basetrait sheet-staticStealth'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tStealthRoll' title="@{tStealthRoll}" value='@{whisperstealth} &{template:roll} {{trait=@{stealthname}}} @{rolltStealth} @{setmodsenc} @{showtraitmods}'> <span name="attr_stealthname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_stealth" title="@{Stealth}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_stealthmod" title="@{StealthMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showStealthRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_stealthModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_StealthskillMod" title="@{StealthskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperstealth' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_stealth_rank' value='1d4!' />
<input type='hidden' name='attr_stealth_display' value='1d4' />
<input type='hidden' name='attr_rolltStealth' value='{{name=@{character_name} }} {{skill_rank=@{stealth_display} }} {{skill_roll=[[@{stealth_rank} + @{StealthskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{StealthMod} + @{StealthskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_stealthspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tStealthSpecRoll' title="@{tStealthSpecRoll}" value='@{whisperstealth} &{template:roll} {{trait=@{stealthSpecName} }} @{rolltStealth}'></button>
<input class="sheet-speciality" type="text" name="attr_stealthSpecName" title="@{repeating_stealthSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- STreetwise skill (Smarts) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticStreetwise" style='display:none;'/>
<div class='sheet-basetrait sheet-staticStreetwise'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tStreetwiseRoll' title="@{tStreetwiseRoll}" value='@{whisperstreetwise} &{template:roll} {{trait=@{streetwisename}}} @{rolltStreetwise} @{setmods} @{showtraitmods}'> <span name="attr_streetwisename"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_streetwise" title="@{Streetwise}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_streetwisemod" title="@{StreetwiseMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showStreetwiseRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_streetwiseModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_StreetwiseskillMod" title="@{StreetwiseskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperstreetwise' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_streetwise_rank' value='1d4!' />
<input type='hidden' name='attr_streetwise_display' value='1d4' />
<input type='hidden' name='attr_rolltStreetwise' value='{{name=@{character_name} }} {{skill_rank=@{streetwise_display} }} {{skill_roll=[[@{streetwise_rank} + @{StreetwiseskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{StreetwiseMod} + @{StreetwiseskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_streetwisespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tStreetwiseSpecRoll' title="@{tStreetwiseSpecRoll}" value='@{whisperstreetwise} &{template:roll} {{trait=@{streetwiseSpecName} }} @{rolltStreetwise}'></button>
<input class="sheet-speciality" type="text" name="attr_streetwiseSpecName" title="@{repeating_streetwiseSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Survival skill (Smarts) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticSurvival" style='display:none;'/>
<div class='sheet-basetrait sheet-staticSurvival'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tSurvivalRoll' title="@{tSurvivalRoll}" value='@{whispersurvival} &{template:roll} {{trait=@{survivalname}}} @{rolltSurvival} @{setmods} @{showtraitmods}'> <span name="attr_survivalname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_survival" title="@{Survival}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_survivalmod" title="@{SurvivalMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showSurvivalRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_survivalModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_SurvivalskillMod" title="@{SurvivalskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispersurvival' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_survival_rank' value='1d4!' />
<input type='hidden' name='attr_survival_display' value='1d4' />
<input type='hidden' name='attr_rolltSurvival' value='{{name=@{character_name} }} {{skill_rank=@{survival_display} }} {{skill_roll=[[@{survival_rank} + @{SurvivalskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{SurvivalMod} + @{SurvivalskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_survivalspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tSurvivalSpecRoll' title="@{tSurvivalSpecRoll}" value='@{whispersurvival} &{template:roll} {{trait=@{survivalSpecName} }} @{rolltSurvival}'></button>
<input class="sheet-speciality" type="text" name="attr_survivalSpecName" title="@{repeating_survivalSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Swimming skill (Agility) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticSwimming" style='display:none;'/>
<div class='sheet-basetrait sheet-staticSwimming'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tSwimmingRoll' title="@{tSwimmingRoll}" value='@{whisperswimming} &{template:roll} {{trait=@{swimmingname}}} @{rolltSwimming} @{setmodsenc} @{showtraitmods}'> <span name="attr_swimmingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_swimming" title="@{Swimming}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_swimmingmod" title="@{SwimmingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showSwimmingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_swimmingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_SwimmingskillMod" title="@{SwimmingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperswimming' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_swimming_rank' value='1d4!' />
<input type='hidden' name='attr_swimming_display' value='1d4' />
<input type='hidden' name='attr_rolltSwimming' value='{{name=@{character_name} }} {{skill_rank=@{swimming_display} }} {{skill_roll=[[@{swimming_rank} + @{SwimmingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{SwimmingMod} + @{SwimmingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_swimmingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tSwimmingSpecRoll' title="@{tSwimmingSpecRoll}" value='@{whisperswimming} &{template:roll} {{trait=@{swimmingSpecName} }} @{rolltSwimming}'></button>
<input class="sheet-speciality" type="text" name="attr_swimmingSpecName" title="@{repeating_swimmingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Taunt skill (Smarts) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticTaunt" style='display:none;'/>
<div class='sheet-basetrait sheet-staticTaunt'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tTauntRoll' title="@{tTauntRoll}" value='@{whispertaunt} &{template:roll} {{trait=@{tauntname}}} @{rolltTaunt} @{setmods} @{showtraitmods}'> <span name="attr_tauntname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_taunt" title="@{Taunt}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_tauntmod" title="@{TauntMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showTauntRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_tauntModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_TauntskillMod" title="@{TauntskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispertaunt' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_taunt_rank' value='1d4!' />
<input type='hidden' name='attr_taunt_display' value='1d4' />
<input type='hidden' name='attr_rolltTaunt' value='{{name=@{character_name} }} {{skill_rank=@{taunt_display} }} {{skill_roll=[[@{taunt_rank} + @{TauntskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{TauntMod} + @{TauntskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_tauntspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tTauntSpecRoll' title="@{tTauntSpecRoll}" value='@{whispertaunt} &{template:roll} {{trait=@{tauntSpecName} }} @{rolltTaunt}'></button>
<input class="sheet-speciality" type="text" name="attr_tauntSpecName" title="@{repeating_tauntSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Thievery -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticThievery" style='display:none;'/>
<div class='sheet-basetrait sheet-staticThievery'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tThieveryRoll' title="@{tThieveryRoll}" value='@{whisperthievery} &{template:roll} {{trait=@{thieveryname}}} @{rolltThievery} @{setmodsenc} @{showtraitmods}'> <span name="attr_thieveryname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_thievery" title="@{thievery}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_thieverymod" title="@{ThieveryMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showThieveryRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_thieveryModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_ThieveryskillMod" title="@{ThieveryskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperthievery' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_thievery_rank' value='1d4!' />
<input type='hidden' name='attr_thievery_display' value='1d4' />
<input type='hidden' name='attr_rolltThievery' value='{{name=@{character_name} }} {{skill_rank=@{thievery_display} }} {{skill_roll=[[@{thievery_rank} + @{ThieveryskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{ThieveryMod} + @{ThieveryskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_thieveryspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tThieverySpecRoll' title="@{tThieverySpecRoll}" value='@{whisperthievery} &{template:roll} {{trait=@{thieverySpecName} }} @{rolltThievery}'></button>
<input class="sheet-speciality" type="text" name="attr_thieverySpecName" title="@{repeating_thieverySpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Throwing skill (Agility) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticThrowing" style='display:none;'/>
<div class='sheet-basetrait sheet-staticThrowing'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tThrowingRoll' title="@{tThrowingRoll}" value='@{whisperthrowing} &{template:roll} {{trait=@{throwingname}}} @{rolltThrowing} @{setmodsenc} @{showtraitmods}'> <span name="attr_throwingname"></span></button><span class='sheet-linkedAtt' data-i18n="agl-u">(AGL)</span>
<span class="sheet-attrankselect"><select name="attr_throwing" title="@{Throwing}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_throwingmod" title="@{ThrowingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showThrowingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_throwingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_ThrowingskillMod" title="@{ThrowingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperthrowing' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_throwing_rank' value='1d4!' />
<input type='hidden' name='attr_throwing_display' value='1d4' />
<input type='hidden' name='attr_rolltThrowing' value='{{name=@{character_name} }} {{skill_rank=@{throwing_display} }} {{skill_roll=[[@{throwing_rank} + @{ThrowingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{ThrowingMod} + @{ThrowingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="hidden" name="attr_throwingrollformula" value="@{throwing_rank} + @{ThrowingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_throwingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tThrowingSpecRoll' title="@{tThrowingSpecRoll}" value='@{whisperthrowing} &{template:roll} {{trait=@{throwingSpecName} }} @{rolltThrowing}'></button>
<input class="sheet-speciality" type="text" name="attr_throwingSpecName" title="@{repeating_throwingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Tracking Skill (Smarts) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticTracking" style='display:none;'/>
<div class='sheet-basetrait sheet-staticTracking'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tTrackingRoll' title="@{tTrackingRoll}" value='@{whispertracking} &{template:roll} {{trait=@{trackingname}}} @{rolltTracking} @{setmods} @{showtraitmods}'> <span name="attr_trackingname"></span></button><span class='sheet-linkedAtt' data-i18n="sma-u">(SMA)</span>
<span class="sheet-attrankselect"><select name="attr_tracking" title="@{Tracking}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_trackingmod" title="@{TrackingMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showTrackingRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_trackingModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_TrackingskillMod" title="@{TrackingskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whispertracking' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_tracking_rank' value='1d4!' />
<input type='hidden' name='attr_tracking_display' value='1d4' />
<input type='hidden' name='attr_rolltTracking' value='{{name=@{character_name} }} {{skill_rank=@{tracking_display} }} {{skill_roll=[[@{tracking_rank} + @{TrackingskillMod}+ @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{TrackingMod} + @{TrackingskillMod} + @{ModSumEnc}[Distracted, Wounds, Fatigue, Encumbrance] + @{traitmods} ]]}}' />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_trackingspec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tTrackingSpecRoll' title="@{tTrackingSpecRoll}" value='@{whispertracking} &{template:roll} {{trait=@{trackingSpecName} }} @{rolltTracking}'></button>
<input class="sheet-speciality" type="text" name="attr_trackingSpecName" title="@{repeating_trackingSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Weird Science (TBD) -->
<input class="sheet-StaticSkill" type="checkbox" name="attr_staticWeirdScience" style='display:none;'/>
<div class='sheet-basetrait sheet-staticWeirdScience'>
<button class="sheet-traitbutton sheet-skillflexattbutton" type='roll' name='roll_tWeirdScienceRoll' title="@{tWeirdScienceRoll}" value='@{whisperweirdscience} &{template:roll} {{trait=@{weirdsciencename}}} @{rolltWeirdScience} @{linkedweirdscienceattscorebutton} @{showtraitmods}'> <span name="attr_weirdsciencename"></span></button>
<div class='sheet-linkedAtt' style="display: inline-block; margin-left: -4px;">
<input class="sheet-LAA" type='checkbox' name='attr_linkedweirdscienceattscore' style="display:none;" value="(AGL)" />
<input class="sheet-LASm" type='checkbox' name='attr_linkedweirdscienceattscore' style="display:none;" value="(SMA)" checked />
<input class="sheet-LASp" type='checkbox' name='attr_linkedweirdscienceattscore' style="display:none;" value="(SPI)" />
<input class="sheet-LASt" type='checkbox' name='attr_linkedweirdscienceattscore' style="display:none;" value="(STR)" />
<input class="sheet-LAV" type='checkbox' name='attr_linkedweirdscienceattscore' style="display:none;" value="(VIG)" />
<span class="sheet-LAAGI" name='attr_linkedweirdscienceattscore' data-i18n="agl-u">(AGL)</span>
<span class="sheet-LASMA" name='attr_linkedweirdscienceattscore' data-i18n="sma-u">(SMA)</span>
<span class="sheet-LASPI" name='attr_linkedweirdscienceattscore' data-i18n="spi-u">(SPI)</span>
<span class="sheet-LASTR" name='attr_linkedweirdscienceattscore' data-i18n="str-u">(STR)</span>
<span class="sheet-LAVIG" name='attr_linkedweirdscienceattscore' data-i18n="vig-u">(VIG)</span>&nbsp;
</div>
<span class="sheet-attrankselect"><select name="attr_weirdscience" title="@{WeirdScience}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" type="number" name="attr_weirdsciencemod" title="@{WeirdScienceMod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showWeirdScienceRollMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<span class="sheet-ModDesc" data-i18n="linked-attribute">Linked Attribute</span>
<select class="sheet-LinkedAttSelect" name="attr_linkedweirdscienceattscore">
<option value="(AGL)" data-i18n="agility">Agility</option>
<option value="(SMA)" selected data-i18n="smarts">Smarts</option>
<option value="(SPI)" data-i18n="spirit">Spirit</option>
<option value="(STR)" data-i18n="strength">Strength</option>
<option value="(VIG)" data-i18n="vigor">Vigor</option>
</select>
<input type='hidden' name='attr_linkedweirdscienceattscorebutton' value='@{setmods}' />
<input type='hidden' name='attr_linkedweirdscienceattscoreformula' value='@{ModSum}[Distracted, Wounds, Fatigue]' />
<input type='text' class='sheet-ModDesc' name='attr_weirdscienceModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_WeirdScienceskillMod" title="@{WeirdScienceskillMod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperweirdscience' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_weirdscience_rank' value='1d4!' />
<input type='hidden' name='attr_weirdscience_display' value='1d4' />
<input type='hidden' name='attr_rolltWeirdScience' value='{{name=@{character_name} }} {{skill_rank=@{weirdscience_display} }} {{skill_roll=[[@{weirdscience_rank} + @{WeirdScienceskillMod}+ @{linkedweirdscienceattscoreformula} + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{WeirdScienceMod} + @{WeirdScienceskillMod} + @{linkedweirdscienceattscoreformula} + @{traitmods} ]]}}' />
<input type="hidden" name="attr_weirdsciencerollformula" value="@{weirdscience_rank} + @{WeirdScienceskillMod}+ @{linkedweirdscienceattscoreformula} + @{traitmods}" />
<input type="checkbox" class="sheet-useSkillSpec" name="attr_altRuleSkillSpec" style="display: none;" />
<div class='sheet-SkillSpec'>
<fieldset class="repeating_weirdsciencespec">
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tWeirdScienceSpecRoll' title="@{tWeirdScienceSpecRoll}" value='@{whisperweirdscience} &{template:roll} {{trait=@{weirdscienceSpecName} }} @{rolltWeirdScience}'></button>
<input class="sheet-speciality" type="text" name="attr_weirdscienceSpecName" title="@{repeating_weirdscienceSpec_$#_SpecName}" placeholder="Specialization" data-i18n-placeholder="specialization" />
</fieldset>
</div>
</div>
<!-- Knowledge/Other -->
<input class="StaticSkill" type="checkbox" name="attr_staticKnowledgeOther" style='display: none;' />
<div class='sheet-base sheet-staticOther'>
<fieldset class="repeating_skills">
<div class='sheet-basetrait'>
<button class="sheet-traitbutton sheet-smallskillflexattbutton" type='roll' name='roll_tSkillRoll' value='@{whisperskillname} &{template:roll} {{trait=@{SkillName}}} @{rolltSkill} @{linkedotherattscorebutton} @{showtraitmods}'></button>
<input class="sheet-otherskill" type="text" name="attr_SkillName" placeholder="Skill" data-i18n-placeholder="skill" />
<div class='sheet-linkedAtt'>
<input class="sheet-LAA" type='checkbox' name='attr_linkedotherattscore' style="display:none;" value="(AGL)" />
<input class="sheet-LASm" type='checkbox' name='attr_linkedotherattscore' style="display:none;" value="(SMA)" checked />
<input class="sheet-LASp" type='checkbox' name='attr_linkedotherattscore' style="display:none;" value="(SPI)" />
<input class="sheet-LASt" type='checkbox' name='attr_linkedotherattscore' style="display:none;" value="(STR)" />
<input class="sheet-LAV" type='checkbox' name='attr_linkedotherattscore' style="display:none;" value="(VIG)" />
<span class="sheet-LAAGI" name='attr_linkedotherattscore' data-i18n="agl-u"></span>
<span class="sheet-LASMA" name='attr_linkedotherattscore' data-i18n="sma-u"></span>
<span class="sheet-LASPI" name='attr_linkedotherattscore' data-i18n="spi-u"></span>
<span class="sheet-LASTR" name='attr_linkedotherattscore' data-i18n="str-u"></span>
<span class="sheet-LAVIG" name='attr_linkedotherattscore' data-i18n="vig-u"></span>
</div>
<span class="sheet-attrankselect"><select name="attr_skillnamerank" title="@{repeating_skills_$#_SkillNameRank}" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-traitmod" style="margin-left: .5px;" type="number" name="attr_skillnamerankmod" title="@{repeating_skills_$#_skillnamerankmod}" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showOtherRollMod' checked /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<!--<label><input type="checkbox" name="attr_SkillEncumbrance" value="1" />
<span class='sheet-ModDesc' data-i18n="apply-encumbrance">Apply Encumbrance</span></label><br />-->
<span class="sheet-ModDesc" data-i18n="linked-attribute">Linked Attribute</span>
<select class="sheet-LinkedAttSelect" name="attr_linkedotherattscore">
<option value="(AGL)" data-i18n="agility">Agility</option>
<option value="(SMA)" selected data-i18n="smarts">Smarts</option>
<option value="(SPI)" data-i18n="spirit">Spirit</option>
<option value="(STR)" data-i18n="strength">Strength</option>
<option value="(VIG)" data-i18n="vigor">Vigor</option>
</select>
<input type='hidden' name='attr_linkedotherattscorebutton' value='@{setmods}' />
<input type='hidden' name='attr_linkedotherattscoreformula' value='@{ModSum}[Distracted, Wounds, Fatigue]' />
<input type='text' class='sheet-ModDesc' name='attr_otherModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_SkillMod" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperskillname' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_skillnamerank_rank' value='1d4!' />
<input type='hidden' name='attr_skillnamerank_display' value='1d4' />
<input type='hidden' name='attr_rolltSkill' value='{{name=@{character_name} }} {{skill_rank=@{skillnamerank_display} }} {{skill_roll=[[@{skillnamerank_rank} + @{SkillMod}+ @{linkedotherattscoreformula} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{skillnamerankmod} + @{SkillMod} + @{linkedotherattscoreformula} ]]}} {{ttmod=@{ttmod}}} {{wounds=-@{woundsMod} }} {{faigue=-@{fatigue}}}' />
</div>
</fieldset>
</div>
</div>
</div>
<div class='sheet-atts'>
<h4 class='sheet-sectionHeading' data-i18n="health">Health</h4>
<div class='sheet-conditions'>
<div class="sheet-distracted">
<label class="sheet-conditionlabel">
<input class="sheet-isdistracted" type="checkbox" value="-2" name="attr_distracted" /><span class="sheet-uhoh"></span>
<span class="sheet-conditionspan" data-i18n="distracted">Distracted</span>
</label>
</div>
<div class="sheet-vulnerable">
<label class="sheet-conditionlabel">
<input class="sheet-isvulnerable" type="checkbox" value="-2" name="attr_vulnerable" /><span class="sheet-uhoh"></span>
<span class="sheet-conditionspan" data-i18n="vulnerable">Vulnerable</span>
</label>
</div>
<div class="sheet-stunned">
<label class="sheet-conditionlabel">
<input class="sheet-isstunned" type="checkbox" value="-2" name="attr_stunned" /><span class="sheet-uhoh"></span>
<span class="sheet-conditionspan" data-i18n="stunned">Stunned</span>
</label>
</div>
</div>
<div class='sheet-vertRight'><span class="sheet-bigger" data-i18n="wounds">Wounds</span></div>
<div class='sheet-woundBox'>
<input class="sheet-standardHealth" type="number" name="attr_wounds" title="@{wounds}" value="0"/>
<input type='hidden' name='attr_woundsMod' />
<input type='checkbox' class="sheet-showExpansion" name='attr_showWoundmods' style="display: none;" />
<div class='sheet-expansionBox'><input class='sheet-healthmods' type='checkbox' name='attr_showWoundmods' checked /><span>y</span></div>
</div>
<div class='sheet-shakenbox' title="Shaken" data-i18n-title="shaken">
<input class="sheet-shaken" type='checkbox' name='attr_isShaken' /><span>!</span>
<span class='sheet-shakeninfo' data-i18n="shaken">Shaken</span>
</div>
<div class='sheet-incbox' title="Incapcitated" data-i18n-title="incapacitated">
<input class="sheet-inc" type='checkbox' name='attr_isinc' /><span>Y</span>
<span class='sheet-incinfo' data-i18n="incapacitated-abbr">Inc</span>
</div>
<div class='sheet-fatigueBox'>
<input class="sheet-standardHealth" type="number" name="attr_fatigue" title="@{fatigue}" value="0"/>
<input type='hidden' name='attr_fatigueMod' value="0" />
<input type='checkbox' class="sheet-showExpansion" name='attr_showFatiguemods' style="display: none;" />
<div class='sheet-expansionBox'><input class='sheet-healthmods' type='checkbox' name='attr_showFatiguemods' /><span>y</span></div>
</div>
<div class='sheet-vertLeft'><span class="sheet-bigger" data-i18n="fatigue">Fatigue</span></div>
<input type='checkbox' class="sheet-showWoundmod" name='attr_showWoundmods' style="display: none;" />
<div class='sheet-basetrait sheet-woundmod'>
<span data-i18n="max-wounds">Max Wounds</span>: <input class="sheet-standardHealth" type="number" name="attr_wounds_max" title="@{wounds_max}" value="3" /><br />
<!--<select name="attr_NoS" title="@{NoS}" class="sheet-NoS" value="0">
<option value="0" title="@{NoS}" data-i18n="no-nerves-of-steel">No Nerves of Steel</option>
<option value="-1" title="@{NoS}" data-i18n="nerves-of-steel">Nerves of Steel</option>
<option value="-2" title="@{NoS}" data-i18n="improved-nerves-of-steel">Improved Nerves of Steel</option>
</select>-->
<h5 data-i18n="wound-modifiers">Wound Modifiers</h5>
<div class="sheet-nerves">
<label class="sheet-healthlabel" data-i18n="reduce">Reduce</label>: <input class="sheet-standardHealthInfo" type="text" name="attr_reducereason" placeholder="Edges/Abilities that reduce Wound Mods" /> <input class="sheet-standardHealth" type="number" name="attr_reducewoundsby" value="0" /><br />
<label class="sheet-healthlabel" data-i18n="increase">Increase</label>: <input class="sheet-standardHealthInfo" type="text" name="attr_increasereason" placeholder="Hindrances/Abilities that reduce Wound Mods" /> <input class="sheet-standardHealth" type="number" name="attr_increasewoundsby" value="0" /><br />
<label class="sheet-healthlabel" data-i18n="maximum">Maximum</label>: <input class="sheet-standardHealthInfo" type="text" name="attr_maxreason" placeholder="Edges/Abilities that change the # of Wound Mods" /> <input class="sheet-standardHealth" type="number" name="attr_maxwoundmods" value="-3" />
</div>
</div>
<input type='checkbox' class="sheet-showFatiguemod" name='attr_showFatiguemods' style="display: none;" />
<div class='sheet-basetrait sheet-fatiguedmod'>
<span data-i18n="max-fatigue">Max Fatigue level</span>: <input class="sheet-standardNum" type="number" name="attr_fatigue_max" title="@{fatigue_max}" value="2" />
<h5 data-i18n="fatigue-modifiers">Fatigue Modifiers</h5>
<div class="sheet-nerves">
<label class="sheet-healthlabel" data-i18n="reduce">Reduce</label>: <input class="sheet-standardHealthInfo" type="text" name="attr_fatiguereducereason" placeholder="Edges/Abilities that reduce Wound Mods" /> <input class="sheet-standardHealth" type="number" name="attr_reducefatigueby" value="0" /><br />
<label class="sheet-healthlabel" data-i18n="increase">Increase</label>: <input class="sheet-standardHealthInfo" type="text" name="attr_fatigueincreasereason" placeholder="Hindrances/Abilities that reduce Wound Mods" /> <input class="sheet-standardHealth" type="number" name="attr_increasefatigueby" value="0" /><br />
<label class="sheet-healthlabel" data-i18n="maximum">Maximum</label>: <input class="sheet-standardHealthInfo" type="text" name="attr_fatiguemaxreason" placeholder="Edges/Abilities that change the # of Wound Mods" /> <input class="sheet-standardHealth" type="number" name="attr_maxfatiguemods" value="-2" />
</div>
</div>
<!-- Rifts stuff -->
<input type='checkbox' class='sheet-useBurn' name='attr_useBurn' style='display: none;' />
<div class='sheet-base sheet-corederived sheet-Burn'>
<div class="sheet-derivelabel" data-i18n="burn">Burn</div>
<div class="sheet-derivebase"><input style="text-align: center;" type='number' name='attr_burn' value='8' /></div>
<div class="sheet-derivemod">&nbsp;</div>
<div class="sheet-derivecurrent">&nbsp;</div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<input type='checkbox' class='sheet-useIRSC' name='attr_useIRSC' style='display: none;' />
<div class='sheet-base sheet-corederived sheet-IRSC'>
<div class="sheet-derivelabel" style="font-size: .75em; line-height: 30px;" data-i18n="internal-repair-system">Internal Repair System</div>
<div class="sheet-derivebase"><input style='text-align: center;' type='number' name='attr_IRSC' value='' /></div>
<div class="sheet-derivemod" style="line-height: 30px;"> / 3</div>
<div class="sheet-derivecurrent">&nbsp;</div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Unshake Button -->
<input class="sheet-useunshakebutton" type="checkbox" name="attr_showunshake" style='display:none;' checked />
<div class='sheet-basetrait sheet-unshakebutton'>
<button class="sheet-traitbutton sheet-skillflexattbutton sheet-unshake" type='roll' name='roll_unshakeroll' title="@{unshakeroll}" value='@{whisperunshake} &{template:unshake} @{rolltunshake}' data-i18n="unshake"> Unshake</button>
<input class='sheet-shakenmoremods' type='checkbox' name='attr_showunshakerollmod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_unshakemodtype' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_unshakemod" title="@{unshakemod}" value="0" /><br />
<input type='checkbox' value='/w gm' name='attr_whisperunshake' /> <span class='sheet-ModDesc' data-i18n="whisper-roll-to-gm">Whisper roll to GM</span>
</div>
<input type='hidden' name='attr_rolltunshake' value='{{name=@{character_name} }} {{skill_roll=[[@{spirit_rank} [Spirit] + @{sprollMod} + @{unshakemod} [@{unshakemodtype}] + @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! [Wild Die] + @{spiritmod} + @{sprollMod} + @{unshakemod} [@{unshakemodtype}] + @{ModSum}[Wounds, Fatigue, Distracted] + @{traitmods} ]]}}' />
</div>
<!-- Derived Stats -->
<input class='sheet-useConviction' type='checkbox' name='attr_useConviction' style="display: none" />
<div class="sheet-base sheet-corederived sheet-conviction">
<div class='sheet-basederived'>
<div class="sheet-derivelabel" style="line-height: 3.5em;" data-i18n="conviction">Conviction</div>
<div class="sheet-derivebase">&nbsp;</div>
<div class="sheet-derivemod">&nbsp;</div>
<div class="sheet-derivecurrent">&nbsp;</div>
<div class="sheet-derivemisc"><input class="sheet-hasconviction" type="checkbox" value="1" name="attr_conviction" /><span class="sheet-convictiontoken"></span></div>
</div>
</div>
<h4 class='sheet-sectionHeading' data-i18n="derived-stats">Derived Stats</h4>
<input type="checkbox" class="sheet-hideAtts" name="attr_hideCoreDerived" /><span class="sheet-showhide"></span>
<div class='sheet-base sheet-corederived'>
<div class="sheet-basederived" style='font-weight: bold; font-size: .75em;'>
<div class="sheet-derivelabel">&nbsp;</div>
<div class="sheet-derivebase" data-i18n="base">Base</div>
<div class="sheet-derivemod" data-i18n="mod">Mod</div>
<div class="sheet-derivecurrent" data-i18n="current">Current</div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Charisma -->
<input type="checkbox" class="sheet-useCharisma" name="attr_usecharisma" style="display: none;" checked />
<div class="sheet-basederived sheet-charisma">
<div class="sheet-derivelabel" data-i18n="charisma">Charisma</div>
<div class="sheet-derivebase"><input type="number" name="attr_charisma" class="sheet-derivedStat" title="@{charisma}" value="0"/></div>
<div class="sheet-derivemod"><input type="number" name="attr_charismaMod" title="@{charismaMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_charismaCur" title="@{charismaCur}" class="sheet-derivedStat" value="" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Pace -->
<div class="sheet-basederived">
<div class="sheet-derivelabel"><button class="sheet-traitbutton sheet-deriveflexbutton" type='roll' name='roll_RunningRoll' title="@{RunningRoll}" value='&{template:emote} {{name=@{character_name}}} {{does=^{running-text-before-number} [[@{paceCur}+@{runningDie}]] ^{running-text-after-number} }}' data-i18n="pace">&nbsp;Pace</button></div>
<div class="sheet-derivebase"><input type="number" name="attr_pace" title="@{pace}" class="sheet-derivedStat" style="text-align: center;" value="6" /></div>
<div class="sheet-derivemod"><input type="number" name="attr_paceMod" title="@{paceMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_paceCur" title="@{paceCur}" class="sheet-derivedStat" value="" readonly />
</div>
<div class="sheet-derivemisc">
<select name='attr_runningDie' title="@{runningDie}" class="sheet-dtype" style="margin-top: -1px;" value="1d6">
<option value='1d6' selected>&#127939;</option>
<option value='1d4'>d4</option>
<option value='1d6'>d6</option>
<option value='1d8'>d8</option>
<option value='1d10'>d10</option>
<option value='1d12'>d12</option>
</select>
</div>
<input type='hidden' name='attr_rolltrun' value='{{name=@{character_name} }} {{roll=[[@{paceCur}+@{runningDie}]]}}' />
</div>
<!-- Parry -->
<div class="sheet-basederived">
<div class="sheet-derivelabel" data-i18n="parry">Parry</div>
<div class="sheet-derivebase"><input type="number" name="attr_parry" title="@{parry}" class="sheet-derivedStat" style='color: black;' readonly /></div>
<div class="sheet-derivemod"><input type="number" name="attr_parryMod" title="@{parryMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_parryCur" title="@{parryCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc" style="position:relative; top: 15px; font-weight: bold; font-size: .75em;" data-i18n="armor">Armor</div>
</div>
<!-- Toughness -->
<div class="sheet-basederived">
<div class="sheet-derivelabel" data-i18n="toughness">Toughness</div>
<div class="sheet-derivebase"><input type="number" name="attr_toughness" title="@{toughness}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemod"><input type="number" name="attr_tufnessMod" title="@{tufnessMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_toughnesscur" title="@{toughnesscur}" class="sheet-derivedStat" value="" readonly /></div>
<div class="sheet-derivemisc"><input type="number" name="attr_toughnessArmor" title="@{toughnessArmor}" class="sheet-derivedStat" value="0" /></div>
</div>
<input type='checkbox' class='sheet-dstats' style="display: none;" name='attr_showDerived' value="1" />
<hr class="sheet-derivedhr" style="border: .45px dashed silver; margin: 2px 0px 2px 0px;" />
<!-- Neural Toughness -->
<input type="checkbox" class="sheet-useNT" name="attr_neuraltoughness" style="width: 15px; display: none;" />
<div class="sheet-basederived sheet-NT">
<div class="sheet-derivelabel" data-i18n="neural-toughness" style="font-size: .95em;">Neural Toughness</div>
<div class="sheet-derivebase"><input type="number" name="attr_ntoughness" title="@{ntoughness}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemod"><input type="number" name="attr_ntufnessMod" title="@{tufnessMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_ntoughnesscur" title="@{toughnesscur}" class="sheet-derivedStat" value="" readonly /></div>
<div class="sheet-derivemisc"><input type="number" name="attr_ntoughnessArmor" title="@{toughnessArmor}" class="sheet-derivedStat" value="0" /></div>
</div>
<!-- Academics -->
<input class='sheet-useAcademics' type='checkbox' name='attr_useacademics' value='1' style='width: 15px; display: none;' />
<div class="sheet-basederived sheet-Academics">
<div class="sheet-derivelabel" data-i18n="academics">Academics</div>
<div class="sheet-derivebase"><input type="number" name="attr_academics" class="sheet-derivedStat" title="@{academics}" value="0"/></div>
<div class="sheet-derivemod"><input type="number" name="attr_academicsMod" class="sheet-derivedStat" title="@{academicsMod}" value="0"/></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_academicsCur" title="@{academicsCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Sanity -->
<input type="checkbox" class="sheet-useSanity" name="attr_tdsanity" style="width: 15px; display: none;" />
<div class="sheet-basederived sheet-Sanity">
<div class="sheet-derivelabel" data-i18n="sanity">Sanity</div>
<div class="sheet-derivebase"><input type="number" name="attr_sanity" title="@{sanity}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemod"><input type="number" name="attr_sanityMod" title="@{sanityMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_sanityCur" title="@{sanityCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Fame -->
<input type="checkbox" class="sheet-useFame" style="width: 15px; display: none;" name="attr_potsmFame" />
<div class="sheet-basederived sheet-Fame">
<div class="sheet-derivelabel" data-i18n="fame">Fame</div>
<div class="sheet-derivebase"><input class="sheet-derivedStat" type="number" name="attr_fame" title="@{fame}" value="0"/></div>
<div class="sheet-derivemod"><input type="number" name="attr_fameMod" title="@{fameMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_fameCur" title="@{fameCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Reason -->
<input type="checkbox" class="sheet-useReason" name="attr_ripReason" style="width: 15px; display: none;" />
<div class="sheet-basederived sheet-Reason">
<div class="sheet-derivelabel" data-i18n="reason">Reason</div>
<div class="sheet-derivebase"><input class="sheet-derivedStat" type="number" name="attr_reason" title="@{reason}" value="0"/></div>
<div class="sheet-derivemod"><input type="number" name="attr_reasonMod" title="@{reasonMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_reasonCur" title="@{reasonCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Status -->
<input type="checkbox" class="sheet-useStatus" name="attr_ripStatus" style="width: 15px; display: none;" />
<div class="sheet-basederived sheet-Status">
<div class="sheet-derivelabel" data-i18n="status">Status</div>
<div class="sheet-derivebase"><input class="sheet-derivedStat" type="number" name="attr_status" title="@{status}" value="0"/></div>
<div class="sheet-derivemod"><input type="number" name="attr_statusMod" title="@{statusMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_statusCur" title="@{statusCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Glory -->
<input type="checkbox" class="sheet-useGlory" style="width: 15px; display: none;" name="attr_hfGlory" />
<div class="sheet-basederived sheet-Glory">
<div class="sheet-derivelabel" data-i18n="glory">Glory</div>
<div class="sheet-derivebase"><input class="sheet-derivedStat" type="number" name="attr_glory" title="@{glory}" value="0" /></div>
<div class="sheet-derivemod"><input type="number" name="attr_gloryMod" title="@{gloryMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_gloryCur" title="@{gloryCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Firewall -->
<input type="checkbox" class="sheet-useFirewall" style="width: 15px; display: none;" name="attr_izFirewall" />
<div class="sheet-basederived sheet-Firewall">
<div class="sheet-derivelabel" data-i18n="firewall">Firewall</div>
<div class="sheet-derivebase"><input class="sheet-derivedStat" type="number" name="attr_Firewall" title="@{Firewall}" value="4"/></div>
<div class="sheet-derivemod"><input type="number" name="attr_FirewallMod" title="@{FirewallMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_FirewallCur" title="@{FirewallCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Grit -->
<input type="checkbox" class="sheet-useGrit" name="attr_DLGrit" style="width: 15px; display: none;" />
<div class="sheet-basederived sheet-Grit">
<div class="sheet-derivelabel" data-i18n="grit">Grit</div>
<div class="sheet-derivebase"><input type="number" name="attr_grit" title="@{grit}" class="sheet-derivedStat" style='color: black;' readonly /></div>
<div class="sheet-derivemod"><input type="number" name="attr_gritMod" title="@{gritMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_gritCur" title="@{gritCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Corruption -->
<input type="checkbox" class="sheet-useCorruption" name="attr_Corruption" style="display: none;" />
<div class="sheet-basederived sheet-Corruption">
<div class="sheet-derivelabel" data-i18n="corruption">Corruption</div>
<div class="sheet-derivebase"><input type="number" name="attr_corruptionStat" title="@{corruptionStat}" class="sheet-derivedStat" style='color: black;' value="0" /></div>
<div class="sheet-derivemod"><input type="number" name="attr_corruptionMod" title="@{corruptionMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_corruptionCur" title="@{corruptionCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Street Cred -->
<input type="checkbox" class="sheet-useStreetCred" style="width: 15px; display: none;" name="attr_izStreetCred" />
<input type="checkbox" class="sheet-useStrain" style="width: 15px; display: none;" name="attr_izStrain" />
<div class="sheet-basederived sheet-StreetCred sheet-Strain" style='font-weight: bold; font-size: .75em;'>
<div class="sheet-derivelabel">&nbsp;</div>
<div class="sheet-derivebase" data-i18n="base">Base</div>
<div class="sheet-derivemod" data-i18n="mod">Mod</div>
<div class="sheet-derivecurrent" data-i18n="current">Current</div>
<div class="sheet-derivemisc">Max</div>
</div>
<div class="sheet-basederived sheet-StreetCred">
<div class="sheet-derivelabel" data-i18n="street-cred">Street Cred</div>
<div class="sheet-derivebase"><input class="sheet-derivedStat" type="number" name="attr_StreetCred" title="@{StreetCred}" value="@{Rank}*2" readonly /></div>
<div class="sheet-derivemod"><input type="number" name="attr_StreetCredMod" title="@{StreetCredMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent"><input type="number" name="attr_StreetCredCur" title="@{StreetCredCur}" class="sheet-derivedStat" readonly /></div>
<div class="sheet-derivemisc"><input type="number" name="attr_maxStreetCredCur" title="@{maxStreetCredCur}" class="sheet-derivedStat" value="10" /></div>
</div>
<!-- Strain -->
<div class="sheet-basederived sheet-Strain">
<div class="sheet-derivelabel" data-i18n="strain">Strain</div>
<div class="sheet-derivebase">
<select name="attr_strain" title="@{strain}" class="sheet-dtype" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>
</div>
<div class="sheet-derivemod"><input type="number" name="attr_StrainMod" title="@{StrainMod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent">
<input class="sheet-danger" type="checkbox" name="attr_straindanger" value="1" />
<input class="sheet-critical" type="checkbox" name="attr_straincrit" value="1" />
<input type="number" name="attr_StrainCur" title="@{StrainCur}" class="sheet-derivedStat sheet-strain" value="0" readonly />
</div>
<div class="sheet-derivemisc"><input class="sheet-derivedStat" type="number" name="attr_Strain_max" title="@{Strain_max}" /></div>
</div>
</div>
<hr class="sheet-mischr" style="border: .45px dashed silver; margin: -4px 0px 8px 0px;" />
<!-- Miscellaneous -->
<h4 class='sheet-sectionHeading' data-i18n="miscellaneous">Miscellaneous</h4>
<input type="checkbox" class="sheet-hideMisc" name="attr_hideCoreMisc" /><span class="sheet-showhide"></span>
<div class='sheet-base sheet-miscderived'>
<input type="checkbox" class="sheet-hideMods" name="attr_promptmods" style="display: none;" />
<div class="sheet-basederived sheet-useMods" style='font-weight: bold; font-size: .75em;'>
<div class="sheet-derivelabel">&nbsp;</div>
<div class="sheet-derivebase" data-i18n="trait">Trait;</div>
<div class="sheet-derivemod" data-i18n="damage">Damage</div>
<div class="sheet-derivecurrent">&nbsp;</div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<!-- Modifiers -->
<div class="sheet-basederived sheet-useMods">
<div class="sheet-derivelabel" data-i18n="modifiers">Modifiers</div>
<div class="sheet-derivebase"><input type="number" name="attr_ttmod" title="@{ttmod}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivemod"><input type="number" name="attr_dmgmod" title="@{dmgmod}" class="sheet-derivedStat" value="0" /></div>
<input type='hidden' name='attr_traitmods' value='@ttmod' />
<input type='hidden' name='attr_damagemods' value='@dmgmod' />
<div class="sheet-derivecurrent">&nbsp;</div>
<div class="sheet-derivemisc">&nbsp;</div>
</div>
<input class="sheet-useLoad" type="checkbox" name="attr_useLoad" style="display:none;" checked />
<div class="sheet-basederived sheet-loadstuff" style='font-weight: bold; font-size: .75em; margin-top: 5px; margin-bottom: -3px;'>
<div class="sheet-derivelabel sheet-loadstuff">&nbsp;</div>
<div class="sheet-derivebase" data-i18n="mod">Mod</div>
<div class="sheet-derivemod" data-i18n="limit">Limit</div>
<div class="sheet-derivecurrent" data-i18n="carried">Carried</div>
<div class="sheet-derivemisc" data-i18n="penalty">Penalty</div>
</div>
<!-- Encumbrance -->
<input class="sheet-useLoad" type="checkbox" name="attr_useLoad" style="display:none;" checked />
<div class="sheet-basederived sheet-loadstuff">
<div class="sheet-derivelabel" data-i18n="load">Load</div>
<div class="sheet-derivebase"><input type="number" class="sheet-derivedStat" name="attr_loadlimitmod" style="text-align:center;" title="@{loadlimitmod}" value="0"/></div>
<div class="sheet-derivemod"><input type="number" class="sheet-derivedStat" name="attr_loadlimit" title="@{loadlimit}" readonly /></div>
<div class="sheet-derivecurrent"><input type="number" class="sheet-derivedStat" name="attr_totalloadcarried" title="@{totalloadcarried}" readonly /></div>
<div class="sheet-derivemisc"><input type="number" class="sheet-derivedStat" name="attr_encumbrance" title="@{encumbrance}" readonly /></div>
</div>
<input class='sheet-loadmods sheet-showLoadConfig' type='checkbox' name='attr_showLoadconfig' /><span>y</span>
<div class='sheet-loadconfig sheet-basetrait'>
<select name="attr_encumbrancerules" title="@{encumbrancerules}">
<option value="0" title="@{encumberancerules}" data-i18n="ignore-encumbrance">Ignore Encumbrance</option>
<option value="1" title="@{encumberancerules}" data-i18n="use-savage-worlds-adventure-edition-abbr-u-encumbrance" selected>Use SWADE Encumbrance</option>
<option value="2" title="@{encumberancerules}" data-i18n="use-savage-worlds-explorers-edition-abbru-u-encumbrance">Use SWEX Encumbrance</option>
</select>
<input type='hidden' name='attr_encumbrancerules' class="sheet-encrules" />
<div class="sheet-swadeenc">
<span data-i18n="dice-singular-type-delta">Die Type Delta</span>: <input type="number" class="sheet-modifier" name="attr_loadlimitdietypedelta" title="@{loadlimitmultiplier}" value="0"/>
</div>
<div class="sheet-swexenc">
<span data-i18n="load-limit-multiplier">Load Limit Multiplier</span>: <input type="number" class="sheet-modifier" name="attr_loadlimitmulitplier" title="@{loadlimitmultiplier}" value="5"/>
</div>
</div>
<!-- Money -->
<input type="checkbox" class="sheet-usewealth" name="attr_usewealth" style="display: none;" />
<input type="checkbox" class="sheet-useLankhmar" name="attr_50fPo8Clams" value="3" style="display: none;"/>
<div class="sheet-basederived sheet-lankhmar" style='font-weight: bold; font-size: .75em; margin-top: 5px; margin-bottom: -3px;'>
<div class="sheet-derivelabel">&nbsp;</div>
<div class="sheet-derivebase" data-i18n="iron-tiks">Tiks</div>
<div class="sheet-derivemod" data-i18n="bronze-agols">Agols</div>
<div class="sheet-derivecurrent" data-i18n="silver-smerduks">Smerduks</div>
<div class="sheet-derivemisc" data-i18n="gold-rilks">Rilks</div>
</div>
<div class="sheet-basederived sheet-nonwealth">
<input type="hidden" class="sheet-usePieces" value="0" name="attr_50fPo8Clams" />
<!-- Labels -->
<div class="sheet-derivelabel sheet-money" data-i18n="money">Money</div>
<div class='sheet-derivelabel sheet-PofE' data-i18n="pieces-of-eight">Pieces of Eight</div>
<div class="sheet-derivelabel sheet-Clams" data-i18n="money-clams">Clams</div>
<div class="sheet-derivelabel sheet-Credits" data-i18n="money-credits">Credits</div>
<div class="sheet-derivelabel sheet-Livre" data-i18n="livre">Livre</div>
<!-- Money Fields -->
<div class="sheet-derivebase"><input class="sheet-derivedStat sheet-moneyfield" type="number" step="any" name="attr_money" title="@{money}" value="0" /></div>
<div class="sheet-derivemod sheet-lankhmar"><input type="number" step="any" name="attr_bagols" title="@{bagols}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivecurrent sheet-lankhmar"><input type="number" step="any" name="attr_ssmerduks" title="@{ssmerduks}" class="sheet-derivedStat" value="0" /></div>
<div class="sheet-derivemisc sheet-lankhmar"><input type="number" step="any" name="attr_grilks" title="@{grilks}" class="sheet-derivedStat" value="0" /></div>
</div>
<div class="sheet-basederived sheet-usewealth">
<!-- Label -->
<div class="sheet-derivelabel sheet-wealth"><button class="sheet-traitbutton sheet-deriveflexbutton" type='roll' name='roll_WealthRoll' value="@{rollwealth}" data-i18n="wealth">&nbsp;Wealth</button></div>
<!-- Wealth Field -->
<select class='sheet-derivebaseplus' name="attr_wealth">
<option value="d0" data-i18n="broke">Broke</option>
<option value="d4">d4</option>
<option value="d6" selected>d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
</select>
<input type="checkbox" class="sheet-useWealthMod" name="attr_useWealthMod" value="1" style="display: none;" />
<div class="sheet-derivebaseplus sheet-wealthmod">
+ <input type='number' name='attr_wealthmod' value="0" style="text-align: center;" />
</div>
<input type='hidden' name='attr_rollwealth' value="&{template:roll} {{name=@{character_name} }} {{trait=^{wealth}}} {{skill_rank=@{wealth} }} {{skill_roll=[[1@{wealth}! + @{wealthmod} + @{traitmods}]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{wealthmod}[wealth mod] + @{traitmods}]]}}" />
</div>
<!-- End Money -->
</div>
<input type="hidden" name="attr_ModSum" value="0"> <!-- ttmod-woundsMod-fatigue -->
<input type="hidden" name="attr_ModSumEnc" value="0"> <!-- ttmod-woundsMod-fatigue+encumbrance -->
</div>
<div class='sheet-atts'>
<input type="checkbox" class="sheet-usetap" name="attr_iztap" style="width: 15px; display: none;" />
<div class='sheet-tap'>
<h1 class='sheet-colHeader' data-i18n="tap-readout">TAP Readout</h1>
<input type="checkbox" class="sheet-hideTAP" name="attr_hideTAP" /><span class="sheet-showhide"></span>
<table class='sheet-taptable' style="position: relative; top:-40px;">
<tr>
<td class='sheet-tapreadout'><span data-i18n="firewall">Firewall</span></td><td class='sheet-tapreadout'><span data-i18n="ams">AMS</span></td><td class='sheet-tapreadout'><span data-i18n="neural-toughness">Neural Toughness</span></td><td class='sheet-tapreadout'><span data-i18n="range">Range</span></td>
</tr>
<tr class='sheet-taprow'>
<td>
<input type="number" name="attr_FirewallCur" title="@{FirewallCur}" readonly style='width: 100%; text-align: center; border: none; background-color: none;' />
<input class='sheet-moreTAP' type='checkbox' name='attr_showFirewallConfig' /><span>y</span>
</td>
<td>
<input type='number' name='attr_ams' value='4' class='sheet-derivedStat' style='width: 100%; text-align: center; border: none; background-color: none;' />
</td>
<td>
<input type="number" name="attr_ntoughnesscur" title="@{ntoughnesscur}" class="sheet-derivedStat" readonly style='width: 100%; text-align: center; border: none; background-color: none;' />
<input class='sheet-moreTAP' type='checkbox' name='attr_showNTConfig' /><span>y</span>
</td>
<td>
<input type='number' name='attr_TAPRange' title='@{TAPRange}' class='sheet-derivedStat' readonly style='width: 100%; text-align: center; border: none; background-color: none;' />
<input class='sheet-moreTAP' type='checkbox' name='attr_showTAPRangeConfig' /><span>y</span>
</td>
</tr>
</table>
<input class='sheet-moreFirewall' type='checkbox' name='attr_showFirewallConfig' />
<div class='sheet-fwplus'>
<span data-i18n="firewall">Firewall</span> <input type='text' class='sheet-ModDesc' name='attr_Firewall' />
<span data-i18n="firewall-mod">Firwall Mod</span> <input type="number" name="attr_FirewwallMod" title="@{FirewallMod}" value="0" />
</div>
<input class='sheet-moreNT' type='checkbox' name='attr_showNTConfig' />
<div class='sheet-ntplus'>
<span data-i18n="neural-toughness">Neural Toughness</span> <input type='text' class='sheet-ModDesc' name='attr_Firewall' />
<span data-i18n="neural-toughness-mod">Neural Toughness Mod</span> <input type="number" name="attr_FirewwallMod" title="@{FirewallMod}" value="0" />
</div>
<input class='sheet-moreTRange' type='checkbox' name='attr_showTAPRangeConfig' />
<div class='sheet-trplus'>
<span data-i18n="tap-range">TAP Range</span> <input type='text' class='sheet-ModDesc' name='attr_Firewall' />
<span data-i18n="tap-range-mod">TAP Range Mod</span> <input type='text' class='sheet-ModDesc' name='attr_Firewall' /> <input type="number" name="attr_FirewwallMod" title="@{FirewallMod}" value="0" />
</div>
</div>
<input type="checkbox" class="sheet-useEngrams" name="attr_izengrams" style="width: 15px; display: none;" />
<div class='sheet-base sheet-engrams'>
<h1 class="sheet-colHeader" data-i18n="engrams">Engrams</h1>
<input type="checkbox" class="sheet-hideEngrams" name="attr_hideEngrams" /><span class="sheet-showhide"></span>
<div class='sheet-base sheet-engramsDeets' style="position: relative; top:-40px;">
<div class='sheet-col' style='width: 70%; margin: 0px; padding: 0px; font-size: .9em; font-weight: bold;'>Engram</div>
<div class='sheet-col' style='width: 16%; margin: 0px; margin-left: -3px; padding: 0px; text-align: center; font-size: .9em; font-weight: bold;'>AMS</div>
<div class='sheet-col' style='width: 8%; margin: 0px; padding: 0px; text-align: center; font-size: .9em; font-weight: bold;'>Active</div>
<fieldset class="repeating_engrams">
<div class='sheet-row' style='width: 100%; margin: 0px; padding:0px;'>
<div class='sheet-col' style='width: 70%; margin: 0px; padding:0px;'>
<input type='text' name='attr_engramquality' style='width: 100%; font-size: .8em; font-weight: normal' placeholder='Engram' />
</div>
<div class='sheet-col' style='width: 16%; margin: 0px; padding:0px;'>
<input type='number' name='attr_amsrating' style='text-align: center; font-size: .85em;' />
</div>
<div class='sheet-col' style='width: 8%; margin: 0px; padding: 0px; text-align: center;'>
<input type='checkbox' name='attr_amsactive' />
</div>
</div>
</fieldset>
</div>
</div>
<h1 class='sheet-colHeader' data-i18n="hindrances">Hindrances</h1>
<input type="checkbox" class="sheet-hideHindrances" name="attr_hideHindrances" /><span class="sheet-showhide"></span>
<div class='sheet-base sheet-hindrances'>
<fieldset class="repeating_hindrances">
<div class="sheet-base sheet-hindranceNedge">
<button type='roll' class="sheet-hindranceOutput" name='roll_tHindrance' value="@{whisperDeets} &{template:info} {{name=@{character_name}}} {{type=Hindrance}} {{item=@{hindrance}}} {{description=@{hindrancedescription}}}">w</button>
<input class="sheet-hinfield" type="text" name="attr_hindrance" title="@{repeating_hindrances_$#_hindrance}" />
<input class="sheet-hintype" type="text" name="attr_hindranceType" title="@{repeating_hindrances_$#_hindranceType}" style='width:75px;'/>
<input class='sheet-moremods' type='checkbox' name='attr_showHindraceDesc' checked /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='checkbox' name='attr_whisperDeets' value="/w gm " /> <span data-i18n="whisper-hindrance">Whisper Hindrance Description</span>
<textarea name='attr_hindrancedescription' title="@{repeating_hindrances_$#_hindrancedescription}" placeholder="Hindrance description/details" data-i18n-placeholder="hindrance-desc"></textarea>
</div>
</div>
</fieldset>
</div>
<h1 class='sheet-colHeader' style="margin-top:-35px;" data-i18n="edges">Edges</h1>
<input type="checkbox" class="sheet-hideEdges" name="attr_hideEdges" /><span class="sheet-showhide"></span>
<div class='sheet-base sheet-edges'>
<fieldset class="repeating_edges">
<div class="sheet-base sheet-hindranceNedge">
<button type='roll' class="sheet-edgeOutput" name='roll_tEdge' value="@{whisperEdgeDeets} &{template:info} {{name=@{character_name}}} {{type=Edge}} {{item=@{edge}}} {{description=@{edgedescription}}}">w</button>
<input class="sheet-edgefield" type="text" name="attr_edge" title="@{repeating_edges_$#_edge}" style='width:90%;' />
<input class='sheet-moremods' type='checkbox' name='attr_showEdgeDesc' checked /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='checkbox' name='attr_whisperEdgeDeets' value="/w gm " /> <span data-i18n="whisper-edge">Whisper Edge Description</span><br />
<div class="sheet-base" style="width:69%;"><span data-i18n="edge-type">Type or Took at...</span></div> <input type="text" name="attr_tookat" title="@{repeating_edges_$#_tookat}" style='border: none; border-bottom: 1px solid black; text-align: center; width:75px;'/>
<textarea name='attr_edgedescription' title="@{repeating_edges_$#_edgedescription}" placeholder="Edge description/details" data-i18n-placeholder="edge-desc"></textarea>
</div>
</div>
</fieldset>
</div>
<input type='checkbox' name='attr_advanceonjournal' class="sheet-advanceonjournal" style='display: none;' />
<div class="sheet-showadvancements">
<h1 class='sheet-colHeader' style="margin-top:-35px;" data-i18n="advancements">Advancements</h1>
<input type="checkbox" class="sheet-hideAdv" name="attr_hideAdv" /><span class="sheet-showhide"></span>
<div class='sheet-base sheet-advancements'>
<div class="sheet-xp">
<input type="checkbox" class="sheet-useXP" name="attr_useXP" style="display: none;" value="1" />
<h4 class='sheet-trackXP' data-i18n="experience-points-abbr-u">XP</h4>
<h4 class='sheet-advances' data-i18n="advance">Advance</h4>
</div>
<div class="sheet-advancement">
<h4 data-i18n="advancement">Advancement</h4>
</div>
<fieldset class="repeating_advancement">
<input class="sheet-xp sheet-advfield" type="text" name="attr_tookat" title="@{repeating_advancement_$#_tookat}" />
<input class="sheet-advancement sheet-advfield" type="text" name="attr_advancement" title="@{repeating_advancement_$#_advancement}" />
</fieldset>
</div>
</div>
</div>
</div>
<div class='sheet-base' style="background: rgba(255,255,255,0.75);">
<input type="checkbox" class="sheet-hideWeapons" name="attr_hideWeapons" /><span class="sheet-showNhide"></span>
<h1 class="sheet-gearcolHeader" data-i18n="weapons">Weapons</h1>
<div class="sheet-weapons">
<!--<h4 class="sheet-weaponItem sheet-button">&nbsp;</h4>
<h4 class="sheet-weaponItem sheet-weapon" data-i18n="weapon">Weapon</h4>
<h4 class="sheet-weaponItem sheet-range" data-i18n="range">Range</h4>
<h4 class="sheet-weaponItem sheet-rof" data-i18n="rate-of-fire-abbr">ROF</h4>
<h4 class="sheet-weaponItem sheet-damage" data-i18n="damage">Damage</h4>
<h4 class="sheet-weaponItem sheet-weaponap" data-i18n="armor-piercing-abbr-u">AP</h4>
<h4 class="sheet-weaponItem sheet-shots" data-i18n="number-of-shots-shortened">Shots</h4>
<h4 class="sheet-weaponItem sheet-weaponweight" data-i18n="weight-abbr">Wt</h4>
<h4 class="sheet-weaponItem sheet-weaponcarried" data-i18n="carried">Carried</h4>-->
<span class="sheet-weaponHeader sheet-weaponItem sheet-button">&nbsp;</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-weapon" data-i18n="weapon">Weapon</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-range" data-i18n="range">Range</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-rof" data-i18n="rate-of-fire-abbr">ROF</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-damage" data-i18n="damage">Damage</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-weaponap" data-i18n="armor-piercing-abbr-u">AP</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-shots" data-i18n="number-of-shots-shortened">Shots</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-weaponweight" data-i18n="weight-abbr">Wt</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-weaponcarried" data-i18n="carried">Carried</span>
<hr class="sheet-weaponItem sheet-hr" />
<input type='hidden' name='attr_vbonusdamage' value='1d6!' />
<input class="sheet-vdamage" type="checkbox" name="attr_RaiseHBRule" value="2" style="display: none;" />
<fieldset class="repeating_weapons" style="width: 100%;">
<!--<div class='sheet-weaponitem'>-->
<div class='sheet-weapons'>
<button type='roll' class="sheet-weaponItem sheet-button" name='roll_tWeapon' value="@{weaponroll}"><input type="hidden" name="attr_weaponbutton" class="sheet-weaponbutton" value="1" /><span class="sheet-buttonand" data-i18n="attack-and-damage-abbr">Atk+Dmg</span><span class="sheet-buttondo" data-i18n="damage">Damage</span><span class="sheet-buttonma" data-i18n="multi-attack-and-damage-abbr">Atk<sup>x</sup>+Dmg</span></button>
<button type='roll' style='display: none;' name='roll_dmg' value='@{damageOnly}'></button>
<input type='text' class='sheet-weaponItem sheet-weapon' name='attr_weapon' title="@{repeating_weapons_$#_weapon}" data-i18n-placeholder="weapon" placeholder="Weapon" />
<input type='text' class='sheet-weaponItem sheet-range' name='attr_range' title="@{repeating_weapons_$#_range}" data-i18n-placeholder="range" placeholder="Range" />
<input type='number' class='sheet-weaponItem sheet-rof' name='attr_rof' title="@{repeating_weapons_$#_rof}" data-i18n-placeholder="rate-of-fire-abbr" placeholder="ROF" />
<input type='hidden' class='sheet-weaponItem sheet-damage' name='attr_weapondamage' value="Str+d4" readonly />
<button type="action" name="act_wdamage" class="sheet-weaponItem sheet-damage sheet-invisbutton"><span name="attr_weapondamage"></span></button>
<input type="number" class='sheet-weaponItem sheet-weaponap' name='attr_weaponap' title="@{repeating_weapons_$#_weaponap}" />
<input type='number' class='sheet-weaponItem sheet-shots' name='attr_shots' title="@{repeating_weapons_$#_shots}" data-i18n-placeholder="number-of-shots-shortened" placeholder="Shots" />
<input type='number' class='sheet-weaponItem sheet-weaponweight' step="any" name='attr_weaponweight' title="@{repeating_weapons_$#_weaponweight}" data-i18n-placeholder="weight-abbr" placeholder="Wt" />
<div class='sheet-weaponItem sheet-weaponcarried'><input type='checkbox' class='sheet-itemCarried sheet-isCarried' name='attr_weaponcarried' title="@{repeating_weapons_$#_weaponcarried}" /><span class="sheet-isCarriedIcon"></span></div>
<input class='sheet-moreweapon' type='checkbox' name='attr_showweaponconfig' checked /><span>y</span>
<textarea name='attr_weaponnotes' class='sheet-weaponItem sheet-weaponnotes' title="@{repeating_weapons_$#_weaponnotes}" data-i18n-placeholder="notes" placeholder="Notes"></textarea>
<div class="sheet-weaponconfig">
<label class="sheet-configlabels sheet-configcheckbox"><input type='checkbox' value='/w gm' name='attr_whisperweapon' title="@{repeating_weapons_$#_whisperweapon}" /> <span data-i18n="whisper-roll-to-gm">Whisper roll to GM</span></label><br />
<label class="sheet-configlabels" data-i18n="button-behavior">Button Behavior</label>
<input class='sheet-showmultiattack' type="hidden" name="attr_showmulti" value="0" />
<select name="attr_weaponbutton" title="@{repeating_weapons_$#_weaponbutton}" class="sheet-weaponbutton">
<option value="0" data-i18n="attack-and-damage-abbr">Atk + Dmg</option>
<option value="1" data-i18n="damage-only" selected>Damage Only</option>
<option class="sheet-multiattack" value="2" data-i18n="multi-attack-and-damage-abbr">Atk^+Dmg</option>
</select>
<input type="hidden" name="attr_weaponbutton" class="sheet-weaponbutton" />
<div class='sheet-weaponskill'>
<label class="sheet-configlabels" data-i18n="skill">Skill</label>
<!--<select name="attr_weaponskill" class="sheet-weaponbutton" value="1">
<option value="fighting" data-i18n="fighting" selected>Fighting</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="shooting" data-i18n="shooting">Shooting</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unskilled" data-i18n="unskilled">Unskilled</option>
</select>-->
<div class="sheet-container">
<div class="sheet-child">
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-fighting" name="attr_weaponskill" title="@{repeating_weapons_$#_weaponskill}" value="fighting" checked="checked" />&nbsp;<span name='attr_rfightingname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-athletics" name="attr_weaponskill" title="@{repeating_weapons_$#_weaponskill}" value="athletics" />&nbsp;<span name='attr_rathleticsname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-shooting" name="attr_weaponskill" title="@{repeating_weapons_$#_weaponskill}" value="shooting" />&nbsp;<span name='attr_rshootingname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-throwing" name="attr_weaponskill" title="@{repeating_weapons_$#_weaponskill}" value="throwing" />&nbsp;<span name='attr_rthrowingname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-unskilled" name="attr_weaponskill" title="@{repeating_weapons_$#_weaponskill}" value="unskilled" />&nbsp;<span data-i18n='unskilled'>Unskilled</span></label>
<input type="checkbox" class="sheet-select-radio sheet-fighting" name="attr_weaponskill" value="fighting" checked="checked" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-athletics" name="attr_weaponskill" value="athletics" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-shooting" name="attr_weaponskill" value="shooting" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-throwing" name="attr_weaponskill" value="throwing" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-unskilled" name="attr_weaponskill" value="unskilled" style='display:none;' />
<div class="sheet-fighting"><span name='attr_rfightingname'></span></div>
<div class="sheet-athletics"><span name='attr_rathleticsname'></span></div>
<div class="sheet-shooting"><span name='attr_rshootingname'></span></div>
<div class="sheet-throwing"><span name='attr_rthrowingname'></span></div>
<div class="sheet-unskilled"><span data-i18n='unskilled'>Unskilled</span></div>
</div>
</div>
</div>
<div class='sheet-weapondamage'>
<input type="checkbox" class="sheet-highlight" name="attr_highlightdamage" value="1" style="display: none;" />
<label class='sheet-configlabels' data-i18n="damage">Damage</label>
<select class='sheet-weaponatt' name="attr_damageatt" title="@{repeating_weapons_$#_damageatt}" >
<option value="na" data-i18n="not-applicable-abbr">N/A</option>
<option value="strength" data-i18n="strength" selected>Strength</option>
<option value="agility" data-i18n="agility">Agility</option>
<option value="smarts" data-i18n="smarts">Smarts</option>
<option value="spirit" data-i18n="spirit">Spirit</option>
<option value="vigor" data-i18n="vigor">Vigor</option>
</select>
+
<input type="number" class="sheet-weaponnum" name="attr_dmgnumdice" title="@{repeating_weapons_$#_dmgnumdice}" style="text-align: right;" value="1" />
<select name="attr_dmgdietype" title="@{repeating_weapons_$#_dmgdietype}" class="sheet-dtype">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
<option value="d20!">d20</option>
</select>
+
<input type="text" class="sheet-weaponnum" name="attr_dmgbonusnum" title="@{repeating_weapons_$#_dmgbonusnum}" />
</div>
<div class="sheet-vbonusdamage">
<label class='sheet-configlabels' data-i18n="bonus-damage-die-type">Bonus Damage Die Type</label>
<select name="attr_weaponsbdt" title="@{repeating_weapons_$#_weaponsbdt}" class="sheet-dtype">
<option value="d4!">d4</option>
<option value="d6!" selected>d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
<option value="d20!">d20</option>
</select>
</div>
</div>
<!-- Hidden Fields for the roll button(s), etc -->
<input type='hidden' name='attr_weaponroll' value='@{damageOnly}' />
<input type='hidden' name='attr_skillNDamage' value="@{whisperweapon} &{template:roll} {{trait=Fighting}} {{source=@{weapon}}} @{rolltFighting} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_weapons_dmg) }} @{multiattack}" /> <!--Used for Skill and Damage roll -->
<input type="hidden" name='attr_multiattack' value='0' /> <!-- Used for Multiattack -->
<input type='hidden' name='attr_damageOnly' value='@{dmgTemplate}' /> <!-- Used for Damage Only -->
<!-- Build the Damage Roll Template Info -->
<input type='hidden' name='attr_weapondmg' value="@{strength_rank}+1d4!" /> <!-- the damage formula -->
<input type='hidden' name='attr_weaponsbonusdmg' value='@{vbonusdamage}' />
<input type='text' style='display: none;' name='attr_dmgTemplate' value='@{whisperweapon} &{template:damage} {{name=@{character_name}}} {{source=@{weapon} }} {{dmg_rank=@{weapondamage}}} {{dmg_roll=[[@{weapondmg} + @{damagemods}]]}} {{bonus_die=[[@{weaponsbonusdmg}]]}} {{showap=[[1d0+@{weaponap}]]}} {{ap=@{weaponap}}} {{notes=@{weaponnotes}}} {{button=y}} {{DmgRoll=[Re-Roll Damage](~repeating_weapons_dmg) }} @{gritty} {{GrittyRoll=[Roll Injury](~repeating_weapons_grittyroll)}}' />
<button type='roll' style='display: none;' name='roll_grittyroll' value='&{template:gritty} {{name=Injury Result}} {{result=[[1t[@{injurytablename}]]]}}'></button>
</div>
</fieldset>
<input class="sheet-useLoad" type="checkbox" name="attr_useLoad" style="display:none;" checked />
<div class='sheet-weaponTotalWeight sheet-loadstuff' style="margin-left: 504px;"><!-- Set up the Total Weight Carried box -->
<div class='sheet-col' style='width:200px; text-align:right;'> <!-- Protection (240px)-->
<h4 class="sheet-weight"><span data-i18n="total-weapon-weight-carried">Total Weapon Weight Carried</span>:</h4>
</div>
<div class='sheet-col' style='width:60px;'> <!-- Weight (60px)-->
<input type="number" style="width:65px;" class='sheet-weaponweight' name="attr_weapontotalweightcarried" title="@{weapontotalweightcarried}" value="0" readonly />
</div>
</div>
</div> <!-- End Weapons -->
<hr class="sheet-sectionSeperator" />
<input type="checkbox" class="sheet-hideArcanum" name="attr_ArcanumTab" style="display: none;">
<div class="sheet-arcanum">
<input type="checkbox" class="sheet-hidePowers" name="attr_hidepowers" /><span class="sheet-showNhide"></span>
<h1 class="sheet-gearcolHeader"><span name="attr_powerlabelplural"></span></h1>
<div class="sheet-arcane">
<input type="checkbox" class="sheet-NoPP" name="attr_NoPPRule" style="display: none;" />
<div class="sheet-powerpoints">
<input type="checkbox" class="sheet-usePPE" name="attr_ppe" style="width: 15px; display: none;" />
<span class="sheet-mainPP">
<span class="sheet-pplabel" name="attr_ppelabel"></span>
<input type="number" style="margin-right: 5px;" name="attr_PowerPoints" title="@{PowerPoints}" value="0" />
<span data-i18n="of">&nbsp;of&nbsp;</span>
<input type="number" style="margin-left: 5px;" name="attr_PowerPoints_max" title="@{PowerPoints_max}" value="0" />
</span>
<span class="sheet-spacer" name="attr_spacer"></span>
<input type="checkbox" class="sheet-useISP" name="attr_useISP" style="width: 15px; display: none;" />
<span class='sheet-ISP'>
<span class="sheet-pplabel" data-i18n="isp-u">ISP</span>
<input type="number" style="margin-right: 5px;" name="attr_InnerStrPts" title="@{InnerStrPts}" value="0" />
<span data-i18n="of"> of </span>
<input type="number" style="margin-left: 5px;" name="attr_InnerStrPts_max" title="@{InnerStrPts_max}" value="0" />
</span>
</div>
<div class='sheet-powerrow' style="align-items: flex-end; margin-bottom: 20px; border-bottom: 1px solid silver; overflow: hidden;">
<h4 class="sheet-repeatingHeader sheet-spellOutput">&nbsp;</h4>
<h4 class="sheet-repeatingHeader sheet-powerbutton">&nbsp;</h4>
<h4 class="sheet-repeatingHeader sheet-power" style='margin-left:'><span name="attr_powerlabelsingular"></span></h4>
<h4 class="sheet-repeatingHeader sheet-pp" data-i18n="power-point-abbr-u">PP</h4>
<h4 class="sheet-repeatingHeader sheet-powerrange" data-i18n="range">Range</h4>
<h4 class="sheet-repeatingHeader sheet-powerdamage" data-i18n="damage">Damage</h4>
<h4 class="sheet-repeatingHeader sheet-duration" data-i18n="duration">Duration</h4>
<h4 class="sheet-repeatingHeader sheet-invested" data-18n="power-point-abbr-u-invested">PP Invested</h4>
</div>
<input class="sheet-vdamage" type="checkbox" name="attr_RaiseHBRule" value="2" style="display: none;" />
<fieldset class='repeating_spells'>
<div class='sheet-fullrow'>
<div class='sheet-powerrow'>
<div class="sheet-spellOutput">
<button type="roll" name="roll_spellinfo" class="sheet-hindranceOutput" value="&{template:info} {{name=@{character_name}}} {{item=@{power}}} {{trappings=@{trappings}}} {{Notes=@{spellnotes}}}">w</button>
</div>
<div class="sheet-powerbutton">
<button class="sheet-powerbutton" style="margin: 0 0 0 -1px;" type='roll' name='roll_tPower' value="@{spellroll}"><input type="hidden" name="attr_spellbutton" class="sheet-spellbutton" value="1" /><span class="sheet-buttonand" data-i18n="attack-and-damage-abbr">Atk+Dmg</span><span class="sheet-buttondo" data-18n="damage">Damage</span><span class="sheet-buttonsk" data-18n="skill">Cast</span></button>
<button type='roll' style='display: none;' name='roll_spelldmg' value='@{spelldamageOnly}'></button>
</div>
<div class="sheet-power">
<input class='sheet-power' type='text' name='attr_power' title="@{repeating_spells_$#_power}" data-i18n-placeholder='power' placeholder="Power" />
</div>
<div class='sheet-pp'>
<input class='sheet-pp' type='text' name='attr_pp' title="@{repeating_spells_$#_pp}" data-i18n-placeholder='power-point-abbr-u' placeholder="PP" />
</div>
<div class="sheet-powerrange">
<input class='sheet-powerrange' type='text' name='attr_powerrange' title="@{repeating_spells_$#_powerrange}" data-i18n-placeholder='range' placeholder="Range" />
</div>
<div class="sheet-powerdamage">
<input type='hidden' name='attr_powerdamage' />
<button type="action" name="act_sdamage" class="sheet-powerdamage sheet-invisbutton"><span name="attr_powerdamage"></span></button>
</div>
<div class="sheet-duration">
<input class='sheet-duration' type='text' name='attr_powerduration' title="@{repeating_spells_$#_powerduration}" data-i18n-placeholder='duration' placeholder="Duration" />
</div>
<div class="sheet-invested">
<input class='sheet-invested' type='text' name='attr_ppinvested' title="@{repeating_spells_$#_ppinvested}" data-i18n-placeholder='power-point-abbr-u-invested' placeholder="PP Invested" />
</div>
</div>
<input class='sheet-morespell' type='checkbox' name='attr_showspellconfig' checked /><span>y</span>
<textarea name="attr_trappings" class='sheet-spelltrappings' title="@{repeating_spells_$#_spelltrappings}" data-i18n-placeholder="trappings" placeholder="Trappings"></textarea>
<textarea name='attr_spellnotes' class='sheet-spellnotes' title="@{repeating_spells_$#_spellnotes}" data-i18n-placeholder="notes" placeholder="Notes"></textarea>
<div class="sheet-spellconfig">
<label class="sheet-configlabels sheet-configcheckbox"><input type='checkbox' value='/w gm' name='attr_whisperspell' title="@{repeating_spells_$#_whisperspell}" /> <span data-i18n="whisper-roll-to-gm">Whisper roll to GM</span></label><br />
<label class="sheet-configlabels" data-i18n="button-behavior">Button Behavior</label>
<select name="attr_spellbutton" title="@{repeating_spells_$#_spellbutton}" class="sheet-spellbutton">
<option value="2" data-i18n="skill-only">Skill Only</option>
<option value="0" data-i18n="attack-and-damage-abbr">Atk + Dmg</option>
<option value="1" data-i18n="damage-only" selected>Damage Only</option>
</select>
<input type="hidden" name="attr_spellbutton" class="sheet-spellbutton" />
<div class='sheet-spellskill'>
<label class="sheet-configlabels" data-i18n="skill">Skill</label>
<!--<select name="attr_spellskill" class="sheet-spellbutton" value="1">
<option value="faith" data-i18n="faith">Faith</option>
<option value="focus" data-i18n="focus">Focus</option>
<option value="performance" data-i18n="performance">Performance</option>
<option value="psionics" data-i18n="psionics">Psionics</option>
<option value="ritual" data-i18n="ritual">Ritual</option>
<option value="spellcasting" data-i18n="spellcasting" selected >Spellcasting</option>
<option value="weirdscience" data-i18n="weird-science">Weird Science</option>
<option value="unskilled" data-i18n="unskilled">Unskilled</option>
</select>-->
<div class="sheet-container">
<div class="sheet-child">
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-athletics" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="athletics" />&nbsp;<span name='attr_sathleticsname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-faith" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="faith" checked="checked" />&nbsp;<span name='attr_sfaithname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-focus" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="focus" />&nbsp;<span name='attr_sfocusname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-performance" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="performance" />&nbsp;<span name='attr_sperformancename'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-psionics" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="psionics" />&nbsp;<span name='attr_spsionicsname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-ritual" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="ritual" />&nbsp;<span name='attr_sritualname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-spellcasting" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="spellcasting" />&nbsp;<span name='attr_sspellcastingname'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-weirdscience" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="weirdscience" />&nbsp;<span name='attr_sweirdsciencename'></span></label>
<label class="sheet-ddmenu"><input type="checkbox" class="sheet-select-radio sheet-unskilled" name="attr_spellskill" title="@{repeating_spells_$#_spellskill}" value="unskilled" />&nbsp;<span data-i18n='unskilled'>Unskilled</span></label>
<input type="checkbox" class="sheet-select-radio sheet-athletics" name="attr_spellskill" value="athletics" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-faith" name="attr_spellskill" value="faith" checked="checked" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-focus" name="attr_spellskill" value="focus" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-performance" name="attr_spellskill" value="performance" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-psionics" name="attr_spellskill" value="psionics" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-ritual" name="attr_spellskill" value="ritual" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-spellcasting" name="attr_spellskill" value="spellcasting" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-weirdscience" name="attr_spellskill" value="weirdscience" style='display:none;' />
<input type="checkbox" class="sheet-select-radio sheet-unskilled" name="attr_spellskill" value="unskilled" style='display:none;' />
<div class="sheet-athletics"><span name='attr_sathleticsname'></span></div>
<div class="sheet-faith"><span name='attr_sfaithname'></span></div>
<div class="sheet-focus"><span name='attr_sfocusname'></span></div>
<div class="sheet-performance"><span name='attr_sperformancename'></span></div>
<div class="sheet-psionics"><span name='attr_spsionicsname'></span></div>
<div class="sheet-ritual"><span name='attr_sritualname'></span></div>
<div class="sheet-spellcasting"><span name='attr_sspellcastingname'></span></div>
<div class="sheet-weirdscience"><span name='attr_sweirdsciencename'></span></div>
<div class="sheet-unskilled"><span data-i18n='unskilled'>Unskilled</span></div>
</div>
</div>
</div>
<div class='sheet-spelldamage'>
<input type="checkbox" name="attr_shighlightdamage" class="sheet-highlight" value="1" style="display:none;" />
<label class='sheet-configlabels' data-i18n="damage">Damage</label>
<select class='sheet-spellatt' name="attr_spelldamageatt" title="@{repeating_spells_$#_spelldamageatt}">
<option value="na" data-i18n="not-applicable-abbr">N/A</option>
<option value="strength" data-i18n="strength" selected>Strength</option>
<option value="agility" data-i18n="agility">Agility</option>
<option value="smarts" data-i18n="smarts">Smarts</option>
<option value="spirit" data-i18n="spirit">Spirit</option>
<option value="vigor" data-i18n="vigor">Vigor</option>
</select>
+
<input type="number" class="sheet-spellnum" name="attr_spelldmgnumdice" title="@{repeating_spells_$#_spelldmgnumdice}" style="text-align: right;" value="1" />
<select name="attr_spelldmgdietype" title="@{repeating_spells_$#_spelldmgdietype}" class="sheet-dtype">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
<option value="d20!">d20</option>
</select>
+
<input type="text" class="sheet-spellnum" name="attr_spelldmgbonusnum" title="@{repeating_spells_$#_spelldmgbonusnum}" value="0" />
</div>
<div class="sheet-vbonusdamage">
<label class='sheet-configlabels' data-i18n="bonus-damage-die-type">Bonus Damage Die Type</label>
<select name="attr_spellsbdt" title="@{repeating_spells_$#_spellsbdt}" class="sheet-dtype">
<option value="d4!">d4</option>
<option value="d6!" selected>d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
<option value="d20!">d20</option>
</select>
</div>
<div class="sheet-spellnotesconfig">
<label class='sheet-configlabels' data-i18n="show-notes-with-roll">Show notes with roll</label>
<input type="checkbox" name="attr_shownotes" value="{{notes=@{spellnotes}}}" />
</div>
<!-- Hidden Fields for the roll button(s), etc -->
<input type='hidden' name='attr_spellroll' value='@{damageOnly}' />
<input type='hidden' name='attr_spellskillNDamage' /> <!--Used for Skill and Damage roll -->
<input type='hidden' name='attr_spelldamageOnly' value='@{spelldmgTemplate}' /> <!-- Used for Damage Only -->
<input type='hidden' name='attr_skillOnly' value='@{skTemplate}' /> <!-- Used for Damage Only -->
<!-- Build the Damage Roll Template Info -->
<input type='hidden' name='attr_spelldmg' /> <!-- the damage formula -->
<input type='hidden' name='attr_spellsbonusdmg' value='@{vbonusdamage}' />
<input type='text' style='display: none;' name='attr_spelldmgTemplate' value='@{whisperspell} &{template:damage} {{name=@{character_name}}} {{source=@{power} }} {{trappings=@{trappings}}} {{dmg_rank=@{powerdamage}}} {{dmg_roll=[[@{spelldmg} + @{damagemods}]]}} {{bonus_die=[[@{spellsbonusdmg}]]}} @{dmgshownotes} {{button=y}} {{DmgRoll=[Re-Roll Damage](~repeating_spells_spelldmg) }} @{gritty} {{GrittyRoll=[Roll Injury](~repeating_spells_spellgrittyroll)}}' />
<input type='hidden' name='attr_skTemplate' value='1d6!' />
<input type='hidden' name='attr_dmgshownotes' value='{{notes=@{spellnotes}}}' />
<button type='roll' style='display: none;' name='roll_spellgrittyroll' value='&{template:gritty} {{name=Injury Result}} {{result=[[1t[@{injurytablename}]]]}}'></button>
</div>
<input class='sheet-spellconfigb' type='checkbox' name='attr_showspellconfig' style="display:none;" checked />
</div>
</fieldset>
</div><!-- End Powers -->
<hr class="sheet-sectionSeperator" />
</div>
<input type="checkbox" class="sheet-hideArmor" name="attr_hideArmor" /><span class="sheet-showNhide"></span>
<h1 class="sheet-gearcolHeader" data-i18n="armor">Armor</h1>
<div class="sheet-armor">
<h4 class="sheet-repeatingHeader sheet-armorWorn" data-i18n="worn">Worn</h4>
<h4 class="sheet-repeatingHeader sheet-armorType" style="text-align: left;" data-i18n="armor-type">Armor Type</h4>
<h4 class="sheet-repeatingHeader sheet-armorProtected" data-i18n="area-protected">Area Protected</h4>
<h4 class="sheet-repeatingHeader sheet-armorProtection" data-i18n="protection">Protection</h4>
<h4 class="sheet-armorStacks" data-i18n="protection-stacks">Stacks</h4>
<h4 class="sheet-repeatingHeader sheet-armorWeight" data-i18n="weight">Weight</h4>
<h4 class="sheet-repeatingHeader sheet-armorCarried" data-i18n="carried">Carried</h4>
<!--<h4 class="sheet-repeatingHeader" data-i18n="description-notes">Description/Notes</h4>-->
<fieldset class="repeating_armor">
<div class="sheet-armorWornContainer"><input class="sheet-armorWorn sheet-isWorn" type="checkbox" name="attr_armorWorn" value="1" checked /><span class="sheet-isWornIcon"></span></div>
<input class="sheet-armorType" type="text" name="attr_ArmorType" title="@{repeating_armor_$#_ArmorType}" data-i18n-placeholder="leather" placeholder="Leather" />
<select class="sheet-armorProtected" name="attr_AreaProtected" style="text-align-last: center;">
<option value="1" data-i18n="head"> Head</option>
<option value="2" data-i18n="torso">Torso</option>
<option value="3" data-i18n="torso-plus-arms">Torso+Arms</option>
<option value="4" data-i18n="torso-plus-legs">Torso+Legs</option>
<option value="5" data-i18n="torso-plus-arms-plus-legs">Torso+Arms+Legs</option>
<option value="6" data-i18n="arms">Arms</option>
<option value="7" data-i18n="legs">Legs</option>
<option value="8" data-i18n="full-body">Full Body</option>
</select>
<input class="sheet-armorProtection" style="margin-left: -5px; width: 75px;" type="number" name="attr_ArmorTypeProtection" title="@{repeating_armor_$#_ArmorTypeProtection}" placeholder="1" />
<select class="sheet-armorStacks" style="margin-left: -5px;" name="attr_armorstack">
<option Value="0" data-i18n="no" selected>No</option>
<option value=".5">50%</option>
<option value="1">100%</option>
</select>
<input class="sheet-armorWeight" style="width:50px;" type="number" step="any" name="attr_ArmorTypeWeight" title="@{repeating_armor_$#_ArmorTypeWeight}" />
<div class="sheet-armorCarriedContainer"><input class="sheet-armorCarried sheet-isCarried" type="checkbox" name="attr_ArmorCarried" title="@{repeating_armor_$#_ArmorCarried}" checked /><span class="sheet-isCarriedIcon"></span></div>
<textarea class="sheet-armorDesc" name="attr_ArmorNotes" title="@{repeating_armor_$#_ArmorNotes}" style="height:50px;" placeholder="Description/Notes" data-i18n-placeholder="description-notes"></textarea>
</fieldset>
<input class="sheet-useLoad" type="checkbox" name="attr_useLoad" style="display:none;" checked />
<div class='sheet-armorTotalWeight sheet-loadstuff' style="margin-left: 504px;"><!-- Set up the Total Weight Carried box -->
<div class='sheet-col' style='width:200px; text-align:right;'> <!-- Protection (240px)-->
<h4 class="sheet-weight"><span data-i18n="total-armor-weight-carried">Total Armor Weight Carried</span>:</h4>
</div>
<div class='sheet-col' style='width:60px;'> <!-- Weight (60px)-->
<input type="number" name="attr_armortotalweightcarried" title="@{armortotalweightcarried}" class="sheet-armorWeight" value="0" readonly />
</div>
</div>
</div><!-- End Armor -->
<hr class="sheet-sectionSeperator" />
<input type="checkbox" class="sheet-hideGear" name="attr_hidegear" /><span class="sheet-showNhide"></span>
<h1 class="sheet-gearcolHeader" data-i18n="gear">Gear</h1>
<div class="sheet-gear">
<div class="sheet-worn">
<h1 class="sheet-colHeader" data-i18n="worn">Worn</h1>
<h4 class="sheet-repeatingHeader sheet-item" data-i18n="item">Item</h4>
<h4 class="sheet-repeatingHeader sheet-itemweight" data-i18n="weight">Weight</h4>
<fieldset class="repeating_gear">
<input class="sheet-standard sheet-item" placeholder="Item" type="text" name="attr_item" title="@{repeating_gear_$#_item}" />
<input type="number" style="width:65px;" data-i18n-placeholder="weight" placeholder="weight" step="any" name="attr_itemWeight" title="@{repeating_gear_$#_itemWeight}" class="sheet-weaponweight" />
</fieldset>
<input class="sheet-useLoad" type="checkbox" name="attr_useLoad" style="display:none;" checked />
<div class='sheet-weaponTotalWeight sheet-loadstuff' style="margin-left: 160px;"><!-- Set up the Total Weight Carried box -->
<div class='sheet-col' style='width:200px; text-align:right;'> <!-- Protection (240px)-->
<h4 class="sheet-weight"><span data-i18n="total-gear-weight-carried">Total Gear Weight Carried</span>:</h4>
</div>
<div class='sheet-col' style='width:60px;'> <!-- Weight (60px)-->
<input type="number" style="width:65px;" class='sheet-weaponweight' name="attr_geartotalweightcarried" title="@{geartotalweightcarried}" value="0" readonly />
</div>
</div>
</div>
<div class="sheet-stashed">
<h1 class="sheet-colHeader" data-i18n="stashed">Stashed</h1>
<textarea name="attr_gear" class="sheet-standardtext" style='width:97%;'></textarea>
</div>
</div><!-- End Gear -->
<hr class="sheet-sectionSeperator" />
<input type='checkbox' class='sheet-useRippertech' name='attr_useRippertech' style='display: none;' />
<div class='sheet-showRippertech' style="width: 100%;">
<input type="checkbox" class="sheet-hideRipper" name="attr_hideripper" /><span class="sheet-showNhide"></span>
<h1 class="sheet-gearcolHeader" data-i18n="rippertech">Rippertech</h1>
<div class="sheet-rippertech">
<h4 class="sheet-repeatingHeader sheet-rtbutton" style="margin-right: 10px;">&nbsp;</h4>
<h4 class="sheet-repeatingHeader sheet-rtitem" data-i18n="rippertech">Rippertech</h4>
<h4 class="sheet-repeatingHeader sheet-rtbenefit" data-i18n="benefits-side-effects-details">Benefits/Side Effects/Details</h4>
<h4 class="sheet-repeatingHeader sheet-rtdamage" data-i18n="damage-formula">Damage Formula</h4>
<fieldset class="repeating_rippertech">
<div class="sheet-ripperitem">
<button class="sheet-rtbutton" type='roll' name='roll_tRTdmgRoll' title="@{repeating_rippertech_$#_tRTdmgRoll}" value='&{template:damage} @{rolltRTdmg}'>Damage</button>
<input class="sheet-rtitem" type="text" name="attr_RTtype" title="@{repeating_rippertech_$#_RTtype}" />
<input class="sheet-rtbenefit" type="text" name="attr_RTinfo" title="@{repeating_rippertech_$#_RTinfo}" />
<input class="sheet-rtdamage" type="text" name="attr_RTdmg" title="@{repeating_rippertech_$#_RTdmg}" placeholder='e.g. @{strength}+1d6!' />
<!-- Hiddent Fields -->
<input type='hidden' name='attr_rollRTDmg' value="[[@{RTdmg}[Weapon Damage]+@{dmgmod}[Damage Modifier] ]]" />
<input type='hidden' name='attr_rolltRTdmg' value="{{name=@{character_name}}} {{source=@{RTtype}}} {{dmg_rank=@{RTdmg}}} {{dmg_roll=@{rollRTDmg}}} {{dmgmod=@{dmgmod}}} {{notes=@{RTinfo}}}" />
</div>
</fieldset>
</div>
<hr class="sheet-sectionSeperator" />
</div><!-- End Rippertech -->
<input type='checkbox' class='sheet-useAugmentations' name='attr_augment' style='display: none;' />
<div class='sheet-showAugments' style="width: 100%;">
<input type="checkbox" class="sheet-hideAugments" name="attr_hideaugments" /><span class="sheet-showNhide"></span>
<input type="checkbox" class="sheet-useCybernetics" name="attr_Cybernetics" style="display:none;" value="1" />
<h1 class="sheet-gearcolHeader sheet-aug" data-i18n="augmentations">Augmentations</h1>
<h1 class="sheet-gearcolHeader sheet-cybernetics" data-i18n="cybernetics">Cybernetics</h1>
<div class="sheet-augmentations">
<h4 class="sheet-repeatingHeader sheet-augitem sheet-aug" data-i18n="augmentation">Augmentation</h4>
<h4 class="sheet-repeatingHeader sheet-augitem sheet-cybernetics" data-i18n="cybernetic-enhancement">Cybernetic Enhancement</h4>
<h4 class="sheet-repeatingHeader sheet-augstrain" data-i18n="strain">Strain</h4>
<h4 class="sheet-repeatingHeader sheet-augdetails" data-i18n="details">Details</h4>
<fieldset class="repeating_augmentation">
<div class="sheet-augrow">
<input type="text" class="sheet-augitem" name="attr_augment" title="@{repeating_augmentation_$#_augment}" data-i18n-placeholder="augmentation" placeholder="Augmentation" style="width:200px;"/>
<input type="number" class="sheet-augstrain" name="attr_augStrain" title="@{repeating_augmentation_$#_augStrain}" style="width:50px;" value="0" />
<textarea class="sheet-augdetails" name="attr_augDeets" title="@{repeating_augmentation_$#_augDeets}"></textarea>
</div>
</fieldset>
<div class='sheet-augmentTotalWeight'><!-- Set up the Total Weight Carried box -->
<div class='sheet-col' style='width:140px; text-align:right; margin-left: 58px;'> <!-- Protection (240px)-->
<h4 class="sheet-weight"><span data-i18n="total-strain">Total Strain</span>:</h4>
</div>
<div class='sheet-col' style='width:85px;'> <!-- Weight (60px)-->
<input class="sheet-danger" type="checkbox" name="attr_straindanger" value="1" />
<input class="sheet-critical" type="checkbox" name="attr_straincrit" value="1" />
<input type="number" style="width: 85px; text-align: center;" class="sheet-strain" name="attr_totalStrain" title="@{totalStrain}" readonly />
</div>
</div>
</div>
</div>
</div>
</div>
<div class='sheet-notes'>
<!-- Permanent Injuries -->
<input type="checkbox" class="sheet-useInjuries" name="attr_permInjuries" style="width: 15px; display: none;" />
<div class="sheet-Injuries sheet-standardDiv">
<h4 class="sheet-subsectionHeader" data-i18n="permanent-injuries">Permanent Injuries</h4>
<textarea class="sheet-standardTextArea" name='attr_injuries'></textarea>
</div>
<!-- End Permanent Injuries -->
<!-- Worst Nightmare -->
<input type="checkbox" class="sheet-useWorstNightmare" name="attr_worstNightmare" style="width: 15px; display: none;" />
<div class="sheet-WorstNightmare sheet-standardDiv">
<h4 class="sheet-subsectionHeader" data-i18n="worst-nightmare">Worst Nightmare</h4>
<textarea class="sheet-standardTextArea" name='attr_nightmare'></textarea>
</div>
<!-- End Worst Nightmare -->
<!-- ETU Major/Minor/Activities/Exams -->
<input type="checkbox" class="sheet-useETU" name="attr_useETU" style="display:none;" />
<div class="sheet-etuSection">
<input class='sheet-useMajor' type='checkbox' name='attr_majorminor' style='width: 15px; display: none;' />
<div class="sheet-Major sheet-etuItem">
<h4 class="sheet-subsectionHeader" data-i18n="major">Major:</h4>
<textarea class="sheet-mmItem" name='attr_mmajor'></textarea>
</div>
<div class="sheet-Major sheet-etuItem">
<h4 class="sheet-subsectionHeader" data-i18n="minor">Minor:</h4>
<textarea class="sheet-mmItem" name='attr_mminor'></textarea>
</div>
<input type='checkbox' class='sheet-useActExams' name='attr_activitiesexams' value='1' style=' width: 15px; display: none;' />
<div class="sheet-ActExams sheet-etuItem">
<h4 class="sheet-subsectionHeader" data-i18n="activities">Activities</h4>
<fieldset class='repeating_activities'>
<textarea name="attr_activities" class="sheet-mmItem" title="@{activities}"></textarea>
</fieldset>
</div>
<div class="sheet-ActExams sheet-etuItem">
<h4 class="sheet-subsectionHeader" data-i18n="exams">Exams</h4>
<fieldset class='repeating_exams'>
<textarea name="attr_exams" class="sheet-mmItem" title="@{exams}"></textarea>
</fieldset>
</div>
</div>
<!-- End ETU Major/Minor/Activities/Exams -->
<!-- Motivation -->
<input type="checkbox" class="sheet-useMotivation" name="attr_a41motivation" style="width: 15px; display: none;" />
<div class="sheet-Motivation sheet-standardDiv">
<h4 class="sheet-subsectionHeader" data-i18n="motivation">Motivation</h4>
<textarea class="sheet-standardTextArea" name='attr_motivation'></textarea>
</div>
<!-- End Motivation -->
<!-- Physical Appearance/History/Orgin of Powers -->
<input type="checkbox" class="sheet-useBGDesc" name="attr_useBGPhysicalDesc" style="display:none;" checked />
<div class="sheet-BGDesc sheet-standardDiv">
<input type="checkbox" class="sheet-useParaHuman" name="attr_powerOrigins" style="width: 15px; display: none;" />
<h4 class="sheet-CharacterHistory sheet-subsectionHeader" data-i18n="physical-appearance-personal-history">Physical Appearance + Personal History</h4>
<h4 class="sheet-CharacterOrigin sheet-subsectionHeader" data-i18n="physical-appearance-personal-history-parahuman-origin">Physical Appearance + Personal History + Origins of Parahuman Abilities</h4>
<textarea class="sheet-standardTextArea" name='attr_physdescription'></textarea>
</div>
<!-- End Physical Appearance, etc. -->
<!-- Quest Log -->
<input type='checkbox' class='useQuestLog' name="attr_questlog" style="display:none;" checked />
<div class="sheet-QuestLog sheet-standardDiv">
<div class="sheet-showhidebox">
<input type="checkbox" class="sheet-hideQL" name="attr_hideQL" /><span class="sheet-showQL"></span>
</div>
<h1 class="sheet-sectionTitle" data-i18n="quest-log">Quest Log</h1>
<input type="checkbox" class="sheet-hideQL" name="attr_hideQL" style="display:none;" />
<div class="sheet-QL">
<h3 class="sheet-qlItem sheet-title">Title</h3>
<h3 class="sheet-qlItem sheet-boss">Boss</h3>
<h3 class="sheet-qlItem sheet-goal">Goal</h3>
<h3 class="sheet-qlItem sheet-qlComplete" style="text-align:center;">Done</h3>
<fieldset class="repeating_quests">
<div class="sheet-QL">
<input class="sheet-qlItem sheet-title" type="text" data-i18n-placeholder="quest-title" placeholder="Quest Title" name="attr_Quest" />
<input class="sheet-qlItem sheet-boss" data-i18n-placeholder="who-hired-you" placeholder="Who Hired You?" type="text" name="attr_QuestBoss" />
<input class="sheet-qlItem sheet-goal" type="text" data-i18n-placeholder="whats-the-goal-of-the-quest" placeholder="What's the goal of the quest?" name="attr_QuestGoal" />
<div class="sheet-qlItem sheet-qlComplete">
<input type="checkbox" class='sheet-goalDone' name="attr_QuestComplete" /><span class="sheet-goalCheck"></span>
</div>
<textarea class="sheet-qlItem sheet-qlNotes" data-i18n-placeholder="notes-about-the-quest" placeholder="Notes about the quest..." name="attr_questLog"></textarea>
</div>
</fieldset>
</div>
</div>
<!-- Hero's Journey -->
<input type="checkbox" class="sheet-useHeroicPath" name="attr_heroicpath" style="width: 15px; display: none;" />
<div class="sheet-HeroicPath sheet-standardDiv">
<div class="sheet-showhidebox">
<input type="checkbox" class="sheet-hideHJ" name="attr_hideHJ" /><span class="sheet-showHJ"></span>
</div>
<h1 class="sheet-sectionTitle" data-i18n="heros-journey">Hero's Journey</h1>
<input type="checkbox" class="sheet-hideHJ" name="attr_hideHJ" style="display: none;" />
<div class="sheet-HJ">
<h3 class="sheet-hjItem sheet-result" style="text-align: center;" data-i18n="result">Result</h3>
<h3 class="sheet-hjItem sheet-event" data-i18n="table-event">Table/Event</h3>
<fieldset class='repeating_HeroicPath'>
<div class="sheet-HJ">
<input type="text" class="sheet-hjItem sheet-result" name="attr_hpResult" />
<textarea class="sheet-hjItem sheet-event" name="attr_hptableevent"></textarea>
</div>
</fieldset>
</div>
</div>
<!-- End Hero's Journey -->
<!-- Notes -->
<div class="sheet-flexdiv">
<div class="sheet-charnotes">
<h4 class="sheet-subsectionHeader" data-i18n="notes">Notes</h4>
<textarea name="attr_CharNotes" class="sheet-standardTextArea" title="@{CharNotes}"></textarea>
</div>
<input type='checkbox' name='attr_advanceonjournal' class="sheet-advanceonjournal" style='display: none;' />
<div class="sheet-journaladvances">
<div class="sheet-buttonwrapper">
<button type="action" name="act_hideadvance" class="sheet-showhidebutton"><span name="attr_journaladvancehideicon"></span></button>
</div>
<h1 class='sheet-colHeader' data-i18n="advancements">Advancements</h1>
<!--<input type="checkbox" class="sheet-hideAdv" name="attr_hideAdv" /><span class="sheet-showhide"></span>-->
<input type="checkbox" class="sheet-hideAdv" name="attr_hideAdv" style="display: none;" />
<div class='sheet-base sheet-jadvancements'>
<div class="sheet-xp">
<input type="checkbox" class="sheet-useXP" name="attr_useXP" style="display: none;" value="1" />
<h4 class='sheet-trackXP' data-i18n="experience-points-abbr-u">XP</h4>
<h4 class='sheet-advances' data-i18n="advance">Advance</h4>
</div>
<div class="sheet-advancement">
<h4 data-i18n="advancement">Advancement</h4>
</div>
<fieldset class="repeating_advancement">
<input class="sheet-xp sheet-advfield" type="text" name="attr_tookat" title="@{repeating_advancement_$#_tookat}" />
<input class="sheet-advancement sheet-advfield" type="text" name="attr_advancement" title="@{repeating_advancement_$#_advancement}" />
</fieldset>
</div>
</div>
</div>
<!-- Party Bag -->
<input type="checkbox" class="sheet-usePartyBag" style="display:none;" name="attr_usePG" checked />
<div class="sheet-PartyBag sheet-standardDiv">
<h4 class="sheet-subsectionHeader" data-i18n="party-bag">Party Bag</h4>
<textarea name="attr_partybag" class="sheet-standardTextArea" title="@{partybag}" data-i18n-placeholder="community-property-money" placeholder="Community property and money"></textarea>
</div>
</div>
<!-- Start Vehicles -->
<div class='sheet-vehicles'>
<!-- Start Sailing Ship -->
<input class="sheet-useSailingShips" type="checkbox" name="attr_sailingShip" style="display: none;" />
<div class="sheet-ship-sailing">
<input type="checkbox" class="sheet-hideShip" name="attr_is_sailing" /><span class="sheet-showShip"></span>
<h3 class="sheet-configSectionTitle" data-i18n="sailing-ship">Sailing Ship</h3>
<div class="sheet-ship">
<div class="sheet-shipheaderrow">
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_SailingShipName" title="@{SailingShipName}" />
<div class="sheet-shiplabel" data-i18n="ship-name">Ship Name</div>
</div>
<div class="sheet-shipItem sheet-capnname">
<input type="text" class="sheet-shipField" name="attr_SShipCaptain" title="@{SShipCaptain}" />
<div class="sheet-shiplabel" data-i18n="captain">Captain</div>
</div>
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_SShipType" title="@{SShipType}" />
<div class="sheet-shiplabel" data-i18n="ship-type">Ship Type</div>
</div>
</div>
<div class="sheet-shipMainSection">
<div class="sheet-shipMainColumn1">
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="wounds">Wounds:</label>
<input type="number" class="sheet-shipWound" name="attr_SShipWounds" />&nbsp;<span data-i18n="of">of</span>&nbsp;<input type="number" class="sheet-shipWound" name="attr_SShipWounds_max" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="acceleration">Acceleration:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipAcc" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="top-speed">Top Speed:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipTopSpeed" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="toughness">Toughness:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipToughness" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="handling">Handling:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipHandling" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="crew">Crew:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipCrew" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="cargo-slots">Cargo Slots:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipSlots" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="original-cost">Original Cost:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipOCost" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="days-at-sea">Days at Sea:</label>
<input type="number" class="sheet-shipMainInput" name="attr_SShipAtSea" />
</div>
</div> <!-- End Column 1 -->
<div class="sheet-shipMainColumn2">
<h4 class="sheet-subsectionHeader" data-i18n="provisions">Provisions</h4>
<textarea class="sheet-vtext" name="attr_SShipProv" title="@{SShipProv}"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="cargo">Cargo</h4>
<textarea class="sheet-vtext" name="attr_SShipCargo" title="@{SShipCargo}"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="critical-hits">Critical Hits</h4>
<textarea class="sheet-vtext" name="attr_SShipCritHit" title="@{SShipCritHit}"></textarea>
</div> <!-- End Column 2 -->
<div class="sheet-shipMainColumn3">
<h4 class="sheet-subsectionHeader"><span data-i18n="hindrances">Hindrances</span></h4>
<textarea class="sheet-vtext" name="attr_SShipHindrances" title="@{SShipHindrances}"></textarea>
<h4 class="sheet-subsectionHeader"><span data-i18n="edges">Edges</span></h4>
<textarea class="sheet-vtext" name="attr_SShipEdges" title="@{SShipEdges}"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="notes-and-upgrades">Notes and Upgrades</h4>
<textarea class='sheet-vtext' name="attr_SShipNotes"></textarea>
</div> <!-- End Column 3 -->
</div>
<div class="sheet-shipArmaments">
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipweapons" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="armaments">Armaments</h4>
<div class="sheet-shipWeapons">
<h4 class="sheet-weaponItem sheet-shipbutton">&nbsp;</h4>
<h4 class="sheet-weaponItem sheet-shipweapon" data-i18n="weapon">Weapon</h4>
<h4 class="sheet-weaponItem sheet-shiprange" data-i18n="range">Range</h4>
<h4 class="sheet-weaponItem sheet-shiprof" data-i18n="rate-of-fire-abbr">ROF</h4>
<h4 class="sheet-weaponItem sheet-shipdamage" data-i18n="damage">Damage</h4>
<h4 class="sheet-weaponItem sheet-shipplacement" data-i18n="placement">Placement</h4>
<fieldset class='repeating_sailweapons'>
<div class="sheet-shipWeapons">
<button class='sheet-weaponItem sheet-shipbutton' type='roll' name='roll_tRangeWeapon' title="@{repeating_sailweapons_$#_tRangeWeaponRoll}" value='@{rolltSSRangeWeapon}'></button>
<input type="text" class="sheet-weaponItem sheet-shipweapon" name="attr_SShipWeaponType" data-i18n-placeholder="weapon" placeholder="Weapon" />
<input type="text" class="sheet-weaponItem sheet-shiprange" name="attr_SShipWeaponRange" data-i18n-placeholder="range" placeholder="Range" />
<input type="number" class="sheet-weaponItem sheet-shiprof" name="attr_SShipWeaponRoF" data-i18n-placeholder="rof" placeholder="RoF" />
<div class="sheet-weaponItem sheet-shipdamage">
<input type="number" name="attr_NoDmgDice" class="sheet-short" style="width: 35px;" value="2" />
<select name="attr_RDmgType" class="dtype" style="margin:0px;'">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
</select>+<input class="sheet-modifier" style="margin: 0px; width: 35px;" type="number" name="attr_RDmgMod" value="0" />
</div>
<input type="text" class="sheet-weaponItem sheet-shipplacement" name="attr_SShipWeaponPlacement" data-i18n-placeholder="placement" placeholder="Placement" />
<textarea class="sheet-weaponItem sheet-shipweaponnotes" name="attr_SShipWeaponNotes"></textarea>
</div>
<input type='hidden' name='attr_rolltSSRangeWeapon' value="&{template:damage} {{name=@{SailingShipName}}} {{source=@{SShipWeaponType}}} {{dmg_rank=@{NoDmgDice}@{RDmgType}+@{RDmgMod}}} {{dmg_roll=@{SSRangeWeapon}}} {{bonus_die=[[@{vbonusdamage}]]}} {{notes=@{SShipWeaponNotes}}}" />
<input type="hidden" name="attr_SSRangeWeapon" value="[[@{NoDmgDice}@{RDmgType}+@{RDmgMod} + @{damagemods}]]" />
</fieldset>
</div>
</div>
<div class='sheet-shipRoster'>
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipcrew" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="crew">Crew</h4>
<div class='sheet-shipCrew'>
<!--<h4 class="sheet-crewMember sheet-shipcrewbutton">&nbsp;</h4>-->
<h4 class="sheet-crewMember sheet-shipcrewname" data-i18n="name-or-number">Name or Number</h4>
<h4 class="sheet-crewMember sheet-shipcrewtype" data-i18n="type">Type</h4>
<h4 class="sheet-crewMember sheet-shipcrewposition" data-i18n="position">Position</h4>
<h4 class="sheet-crewMember sheet-shipcrewsalary" data-i18n="pay">Pay</h4>
<h4 class="sheet-crewMember sheet-shipcrewnotes" data-i18n="notes">Notes</h4>
<fieldset class='repeating_SShipCrew'>
<div class="sheet-shipCrew">
<!--<button type='roll' name='roll_crewInfo' class="sheet-crewMember sheet-shipcrewbutton" value="">w</button>-->
<input type="text" class="sheet-crewMember sheet-shipcrewname" name="attr_SShipCrewName" />
<input type="text" class="sheet-crewMember sheet-shipcrewtype" name="attr_SShipCrewType" />
<input type="text" class="sheet-crewMember sheet-shipcrewposition" name="attr_SShipCrewPos" />
<input type="text" class="sheet-crewMember sheet-shipcrewsalary" name="attr_SShipCrewSalary" />
<textarea class='sheet-crewMember sheet-shipcrewnotes' name="attr_SShipCrewNotes"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<!-- End Sailing Ship -->
<!-- Start Flying Ship -->
<input class="sheet-useFlyingShips" type="checkbox" name="attr_flyingShip" style="display: none;" />
<div class="sheet-ship-flying">
<input type="checkbox" class="sheet-hideShip" name="attr_is_flying" /><span class="sheet-showShip"></span>
<h3 class="sheet-configSectionTitle" data-i18n="flying-vehicle">Flying Vehicle</h3>
<div class="sheet-ship">
<div class="sheet-shipheaderrow">
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_FlyingShipName" />
<div class="sheet-shiplabel" data-i18n="vehicle-name">Vehicle Name</div>
</div>
<div class="sheet-shipItem sheet-capnname">
<input type="text" class="sheet-shipField" name="attr_FShipCaptain" />
<div class="sheet-shiplabel" data-i18n="captain">Captain</div>
</div>
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_FShipType" />
<div class="sheet-shiplabel" data-i18n="vehicle-type">Vehicle Type</div>
</div>
</div>
<div class="sheet-shipMainSection">
<div class="sheet-shipMainColumn1">
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="wounds">Wounds:</label>
<input type="number" class="sheet-shipWound" name="attr_FShipWounds" />&nbsp;<span data-i18n="of">of</span>&nbsp;<input type="number" class="sheet-shipWound" name="attr_FShipWounds_max" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="size">Size:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipSize" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="acceleration">Acceleration:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipAcc" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="top-speed">Top Speed:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipTopSpeed" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="toughness">Toughness:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipToughness" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="handling">Handling:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipHandling" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="climb">Climb:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipClimb" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="energy">Energy:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipEnergy" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="crew">Crew:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipCrew" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="total-mod-slots">Total Mod Slots:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipSlots" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="used-mod-slots">Used Mod Slots:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipSlotsUsed" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="original-cost">Original Cost:</label>
<input type="number" class="sheet-shipMainInput" name="attr_FShipOCost" />
</div>
</div> <!-- End Column 1 -->
<div class="sheet-shipMainColumn2">
<h4 class="sheet-subsectionHeader" data-i18n="provisions">Provisions</h4>
<textarea class="sheet-vtext" name="attr_FShipProv"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="cargo">Cargo</h4>
<textarea class="sheet-vtext" name="attr_FShipCargo"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="critical-hits">Critical Hits</h4>
<textarea class="sheet-vtext" name="attr_FShipCritHit"></textarea>
</div> <!-- End Column 2 -->
<div class="sheet-shipMainColumn3">
<h4 class="sheet-subsectionHeader"><span data-i18n="hindrances">Hindrances</span></h4>
<textarea class="sheet-vtext" name="attr_FShipHindrances"></textarea>
<h4 class="sheet-subsectionHeader"><span data-i18n="edges">Edges</span></h4>
<textarea class="sheet-vtext" name="attr_FShipEdges"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="notes-and-upgrades">Notes and Upgrades</h4>
<textarea class='sheet-vtext' name="attr_FShipNotes"></textarea>
</div> <!-- End Column 3 -->
</div>
<div class="sheet-shipArmaments">
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipweapons" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="armaments">Armaments</h4>
<div class="sheet-shipWeapons">
<h4 class="sheet-weaponItem sheet-shipbutton">&nbsp;</h4>
<h4 class="sheet-weaponItem sheet-shipweapon" data-i18n="weapon">Weapon</h4>
<h4 class="sheet-weaponItem sheet-shiprange" data-i18n="range">Range</h4>
<h4 class="sheet-weaponItem sheet-shiprof" data-i18n="rate-of-fire-abbr">ROF</h4>
<h4 class="sheet-weaponItem sheet-shipdamage" data-i18n="damage">Damage</h4>
<h4 class="sheet-weaponItem sheet-shipplacement" data-i18n="placement">Placement</h4>
<fieldset class='repeating_flyingweapons'>
<div class="sheet-shipWeapons">
<button class='sheet-weaponItem sheet-shipbutton' type='roll' name='roll_tFSRangeWeapon' value='@{rolltFSRangeWeapon}'></button>
<input type="text" class="sheet-weaponItem sheet-shipweapon" name="attr_FShipWeaponType" data-i18n-placeholder="weapon" placeholder="Weapon" />
<input type="text" class="sheet-weaponItem sheet-shiprange" name="attr_FShipWeaponRange" data-i18n-placeholder="range" placeholder="Range" />
<input type="number" class="sheet-weaponItem sheet-shiprof" name="attr_FShipWeaponRoF" data-i18n-placeholder="rof" placeholder="RoF" />
<div class="sheet-weaponItem sheet-shipdamage">
<input type="number" name="attr_NoDmgDice" class="sheet-short" style="width: 35px;" value="2" />
<select name="attr_RDmgType" class="dtype" style="margin:0px;'">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
</select>+<input class="sheet-modifier" style="margin: 0px; width: 35px;" type="number" name="attr_RDmgMod" value="0" />
</div>
<input type="text" class="sheet-weaponItem sheet-shipplacement" name="attr_FShipWeaponPlacement" data-i18n-placeholder="placement" placeholder="Placement" />
<textarea class="sheet-weaponItem sheet-shipweaponnotes" name="attr_FShipWeaponNotes"></textarea>
</div>
<input type='hidden' name='attr_rolltFSRangeWeapon' value="&{template:damage} {{name=@{FlyingShipName}}} {{source=@{FShipWeaponType}}} {{dmg_rank=@{NoDmgDice}@{RDmgType}+@{RDmgMod}}} {{dmg_roll=@{FSRangeWeapon}}} {{bonus_die=[[@{vbonusdamage}]]}} {{notes=@{FShipWeaponNotes}}}" />
<input type="hidden" name="attr_FSRangeWeapon" value="[[@{NoDmgDice}@{RDmgType}+@{RDmgMod} + @{damagemods}]]" />
</fieldset>
</div>
</div>
<div class='sheet-shipRoster'>
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipcrew" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="crew">Crew</h4>
<div class='sheet-shipCrew'>
<!--<h4 class="sheet-crewMember sheet-shipcrewbutton">&nbsp;</h4>-->
<h4 class="sheet-crewMember sheet-shipcrewname" data-i18n="name-or-number">Name or Number</h4>
<h4 class="sheet-crewMember sheet-shipcrewtype" data-i18n="type">Type</h4>
<h4 class="sheet-crewMember sheet-shipcrewposition" data-i18n="position">Position</h4>
<h4 class="sheet-crewMember sheet-shipcrewsalary" data-i18n="pay">Pay</h4>
<h4 class="sheet-crewMember sheet-shipcrewnotes" data-i18n="notes">Notes</h4>
<fieldset class='repeating_FShipCrew'>
<div class="sheet-shipCrew">
<!--<button type='roll' name='roll_crewInfo' class="sheet-crewMember sheet-shipcrewbutton" value="">w</button>-->
<input type="text" class="sheet-crewMember sheet-shipcrewname" name="attr_FShipCrewName" />
<input type="text" class="sheet-crewMember sheet-shipcrewtype" name="attr_FShipCrewType" />
<input type="text" class="sheet-crewMember sheet-shipcrewposition" name="attr_FShipCrewPos" />
<input type="text" class="sheet-crewMember sheet-shipcrewsalary" name="attr_FShipCrewSalary" />
<textarea class='sheet-crewMember sheet-shipcrewnotes' name="attr_FShipCrewNotes"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<!-- End Flying Ship -->
<!-- Start Ground Vehicle -->
<input class="sheet-useGroundVehicle" type="checkbox" name="attr_groundVehicle" style="display: none;" />
<div class="sheet-ship-groundvehicle">
<input type="checkbox" class="sheet-hideShip" name="attr_is_ground" /><span class="sheet-showShip"></span>
<h3 class="sheet-configSectionTitle" data-i18n="ground-vehicle">Ground Vehicle</h3>
<div class="sheet-ship">
<div class="sheet-shipheaderrow">
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_gvmanufacturer" />
<div class="sheet-shiplabel" data-i18n="vehicle-manufacturer">Vehicle Manufacturer</div>
</div>
<div class="sheet-shipItem sheet-capnname">
<input type="text" class="sheet-shipField" name="attr_gvdriver" />
<div class="sheet-shiplabel" data-i18n="driver">Driver</div>
</div>
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_GVType" />
<div class="sheet-shiplabel" data-i18n="vehicle-type">Vehicle Type</div>
</div>
</div>
<div class="sheet-shipMainSection">
<div class="sheet-shipMainColumn1">
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="wounds">Wounds:</label>
<input type="number" class="sheet-shipWound" name="attr_GVWounds" />&nbsp;<span data-i18n="of">of</span>&nbsp;<input type="number" class="sheet-shipWound" name="attr_GVWounds_max" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="size">Size:</label>
<input type="number" class="sheet-shipMainInput" name="attr_GVSize" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="acceleration">Acceleration:</label>
<input type="number" class="sheet-shipMainInput" name="attr_GVAcc" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="top-speed">Top Speed:</label>
<input type="number" class="sheet-shipMainInput" name="attr_GVTopSpeed" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="toughness">Toughness:</label>
<input type="number" class="sheet-shipMainInput" name="attr_GVToughness" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="original-cost">Original Cost:</label>
<input type="number" class="sheet-shipMainInput" name="attr_GVOCost" />
</div>
</div> <!-- End Column 1 -->
<div class="sheet-shipMainColumn2">
<h4 class="sheet-subsectionHeader" data-i18n="provisions">Provisions</h4>
<textarea class="sheet-vtext" name="attr_GVProv"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="cargo">Cargo</h4>
<textarea class="sheet-vtext" name="attr_GVCargo"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="critical-hits">Critical Hits</h4>
<textarea class="sheet-vtext" name="attr_GVCritHit"></textarea>
</div> <!-- End Column 2 -->
<div class="sheet-shipMainColumn3">
<h4 class="sheet-subsectionHeader"><span data-i18n="hindrances">Hindrances</span></h4>
<textarea class="sheet-vtext" name="attr_GVHindrances"></textarea>
<h4 class="sheet-subsectionHeader"><span data-i18n="edges">Edges</span></h4>
<textarea class="sheet-vtext" name="attr_GVEdges"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="notes-and-upgrades">Notes and Upgrades</h4>
<textarea class='sheet-vtext' name="attr_GVNotes"></textarea>
</div> <!-- End Column 3 -->
</div>
<div class="sheet-shipArmaments">
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipweapons" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="armaments">Armaments</h4>
<div class="sheet-shipWeapons">
<h4 class="sheet-weaponItem sheet-shipbutton">&nbsp;</h4>
<h4 class="sheet-weaponItem sheet-shipweapon" data-i18n="weapon">Weapon</h4>
<h4 class="sheet-weaponItem sheet-shiprange" data-i18n="range">Range</h4>
<h4 class="sheet-weaponItem sheet-shiprof" data-i18n="rate-of-fire-abbr">ROF</h4>
<h4 class="sheet-weaponItem sheet-shipdamage" data-i18n="damage">Damage</h4>
<h4 class="sheet-weaponItem sheet-shipplacement" data-i18n="placement">Placement</h4>
<fieldset class='repeating_groundweapons'>
<div class="sheet-shipWeapons">
<button class='sheet-weaponItem sheet-shipbutton' type='roll' name='roll_tGVRangeWeapon' value='@{rolltGVRangeWeapon}'></button>
<input type="text" class="sheet-weaponItem sheet-shipweapon" name="attr_GVWeaponType" data-i18n-placeholder="weapon" placeholder="Weapon" />
<input type="text" class="sheet-weaponItem sheet-shiprange" name="attr_GVWeaponRange" data-i18n-placeholder="range" placeholder="Range" />
<input type="number" class="sheet-weaponItem sheet-shiprof" name="attr_GVWeaponRoF" data-i18n-placeholder="rof" placeholder="RoF" />
<div class="sheet-weaponItem sheet-shipdamage">
<input type="number" name="attr_NoDmgDice" class="sheet-short" style="width: 35px;" value="2" />
<select name="attr_RDmgType" class="dtype" style="margin:0px;'">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
</select>+<input class="sheet-modifier" style="margin: 0px; width: 35px;" type="number" name="attr_RDmgMod" value="0" />
</div>
<input type="text" class="sheet-weaponItem sheet-shipplacement" name="attr_GVWeaponPlacement" data-i18n-placeholder="placement" placeholder="Placement" />
<textarea class="sheet-weaponItem sheet-shipweaponnotes" name="attr_GVWeaponNotes"></textarea>
</div>
<input type='hidden' name='attr_rolltGVRangeWeapon' value="&{template:damage} {{name=@{GVType}}} {{source=@{GVWeaponType}}} {{dmg_rank=@{NoDmgDice}@{RDmgType}+@{RDmgMod}}} {{dmg_roll=@{rollGVRangeWeapon}}} {{bonus_die=[[@{vbonusdamage}]]}} {{notes=@{GVWeaponNotes}}}" />
<input type="hidden" name="attr_rollGVRangeWeapon" value="[[@{NoDmgDice}@{RDmgType}+@{RDmgMod} + @{damagemods}]]" />
</fieldset>
</div>
</div>
<div class='sheet-shipRoster'>
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipcrew" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="crew">Crew</h4>
<div class='sheet-shipCrew'>
<!--<h4 class="sheet-crewMember sheet-shipcrewbutton">&nbsp;</h4>-->
<h4 class="sheet-crewMember sheet-shipcrewname" data-i18n="name-or-number">Name or Number</h4>
<h4 class="sheet-crewMember sheet-shipcrewtype" data-i18n="type">Type</h4>
<h4 class="sheet-crewMember sheet-shipcrewposition" data-i18n="position">Position</h4>
<h4 class="sheet-crewMember sheet-shipcrewsalary" data-i18n="pay">Pay</h4>
<h4 class="sheet-crewMember sheet-shipcrewnotes" data-i18n="notes">Notes</h4>
<fieldset class='repeating_GShipCrew'>
<div class="sheet-shipCrew">
<!--<button type='roll' name='roll_crewInfo' class="sheet-crewMember sheet-shipcrewbutton" value="">w</button>-->
<input type="text" class="sheet-crewMember sheet-shipcrewname" name="attr_GVCrewName" />
<input type="text" class="sheet-crewMember sheet-shipcrewtype" name="attr_GVCrewType" />
<input type="text" class="sheet-crewMember sheet-shipcrewposition" name="attr_GVCrewPos" />
<input type="text" class="sheet-crewMember sheet-shipcrewsalary" name="attr_GVCrewSalary" />
<textarea class='sheet-crewMember sheet-shipcrewnotes' name="attr_GVCrewNotes"></textarea>
<input type="hidden" name="attr_WalkerCrewShares" />
</div>
</fieldset>
</div>
</div>
</div>
</div>
<!-- End Ground Vehicles -->
<!-- Start Walker -->
<input class="sheet-useWalker" type="checkbox" name="attr_Walker" style="display: none;" />
<div class="sheet-ship-walker">
<input type="checkbox" class="sheet-hideShip" name="attr_is_walker" /><span class="sheet-showShip"></span>
<h3 class="sheet-configSectionTitle" data-i18n="walker">Walker</h3>
<div class="sheet-ship">
<div class="sheet-shipheaderrow">
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_WalkerName" />
<div class="sheet-shiplabel" data-i18n="walker-name">Walker Name</div>
</div>
<div class="sheet-shipItem sheet-capnname">
<input type="text" class="sheet-shipField" name="attr_WalkerCaptain" />
<div class="sheet-shiplabel" data-i18n="captain">Captain</div>
</div>
<div class="sheet-shipItem sheet-shipname">
<input type="text" class="sheet-shipField" name="attr_WalkerType" />
<div class="sheet-shiplabel" data-i18n="walker-type">Walker Type</div>
</div>
</div>
<div class="sheet-shipMainSection">
<div class="sheet-shipMainColumn1">
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="wounds">Wounds:</label>
<input type="number" class="sheet-shipWound" name="attr_WalkerWounds" />&nbsp;<span data-i18n="of">of</span>&nbsp;<input type="number" class="sheet-shipWound" name="attr_WalkerWounds_max" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="size">Size:</label>
<input type="number" class="sheet-shipMainInput" name="attr_WalkerSize" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="acceleration">Acceleration:</label>
<input type="number" class="sheet-shipMainInput" name="attr_WalkerAcc" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="top-speed">Top Speed:</label>
<input type="number" class="sheet-shipMainInput" name="attr_WalkerTopSpeed" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="toughness">Toughness:</label>
<input type="number" class="sheet-shipMainInput" name="attr_WalkerToughness" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="handling">Handling:</label>
<input type="number" class="sheet-shipMainInput" name="attr_WalkerHandling" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="crew">Crew:</label>
<input type="number" class="sheet-shipMainInput" name="attr_WalkerCrew" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="original-cost">Original Cost:</label>
<input type="number" class="sheet-shipMainInput" name="attr_WalkerOCost" />
</div>
</div> <!-- End Column 1 -->
<div class="sheet-shipMainColumn2">
<h4 class="sheet-subsectionHeader" data-i18n="provisions">Provisions</h4>
<textarea class="sheet-vtext" name="attr_WalkerProv"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="cargo">Cargo</h4>
<textarea class="sheet-vtext" name="attr_WalkerCargo"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="critical-hits">Critical Hits</h4>
<textarea class="sheet-vtext" name="attr_WalkerCritHit"></textarea>
</div> <!-- End Column 2 -->
<div class="sheet-shipMainColumn3">
<h4 class="sheet-subsectionHeader"><span data-i18n="hindrances">Hindrances</span></h4>
<textarea class="sheet-vtext" name="attr_WalkerHindrances"></textarea>
<h4 class="sheet-subsectionHeader"><span data-i18n="edges">Edges</span></h4>
<textarea class="sheet-vtext" name="attr_WalkerEdges"></textarea>
<h4 class="sheet-subsectionHeader" data-i18n="notes-and-upgrades">Notes and Upgrades</h4>
<textarea class='sheet-vtext' name="attr_WalkerNotes"></textarea>
</div> <!-- End Column 3 -->
</div>
<div class="sheet-shipArmaments">
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipweapons" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="armaments">Armaments</h4>
<div class="sheet-shipWeapons">
<h4 class="sheet-weaponItem sheet-shipbutton">&nbsp;</h4>
<h4 class="sheet-weaponItem sheet-shipweapon" data-i18n="weapon">Weapon</h4>
<h4 class="sheet-weaponItem sheet-shiprange" data-i18n="range">Range</h4>
<h4 class="sheet-weaponItem sheet-shiprof" data-i18n="rate-of-fire-abbr">ROF</h4>
<h4 class="sheet-weaponItem sheet-shipdamage" data-i18n="damage">Damage</h4>
<h4 class="sheet-weaponItem sheet-shipplacement" data-i18n="placement">Placement</h4>
<fieldset class='repeating_wsweapons'>
<div class="sheet-shipWeapons">
<button class='sheet-weaponItem sheet-shipbutton' type='roll' name='roll_tWalkerRangeWeapon' value='@{rolltWalkerRangeWeapon}'></button>
<input type="text" class="sheet-weaponItem sheet-shipweapon" name="attr_WalkerWeaponType" data-i18n-placeholder="weapon" placeholder="Weapon" />
<input type="text" class="sheet-weaponItem sheet-shiprange" name="attr_WalkerWeaponRange" data-i18n-placeholder="range" placeholder="Range" />
<input type="number" class="sheet-weaponItem sheet-shiprof" name="attr_WalkerWeaponRoF" data-i18n-placeholder="rof" placeholder="RoF" />
<div class="sheet-weaponItem sheet-shipdamage">
<input type="number" name="attr_NoDmgDice" class="sheet-short" style="width: 35px;" value="2" />
<select name="attr_RDmgType" class="dtype" style="margin:0px;'">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
</select>+<input class="sheet-modifier" style="margin: 0px; width: 35px;" type="number" name="attr_RDmgMod" value="0" />
</div>
<input type="text" class="sheet-weaponItem sheet-shipplacement" name="attr_WalkerWeaponPlacement" data-i18n-placeholder="placement" placeholder="Placement" />
<textarea class="sheet-weaponItem sheet-shipweaponnotes" name="attr_WalkerWeaponNotes"></textarea>
</div>
<input type='hidden' name='attr_rolltWalkerRangeWeapon' value="&{template:damage} {{name=@{WalkerType}}} {{source=@{WalkerWeaponType}}} {{dmg_rank=@{NoDmgDice}@{RDmgType}+@{RDmgMod}}} {{dmg_roll=@{rollWRangeWeapon}}} {{bonus_die=[[@{vbonusdamage}]]}} {{notes=@{WalkerWeaponNotes}}}" />
<input type="hidden" name="attr_rollWRangeWeapon" value="[[@{NoDmgDice}@{RDmgType}+@{RDmgMod} + @{damagemods}]]" />
</fieldset>
</div>
</div>
<div class='sheet-shipRoster'>
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipcrew" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="crew">Crew</h4>
<div class='sheet-shipCrew'>
<!--<h4 class="sheet-crewMember sheet-shipcrewbutton">&nbsp;</h4>-->
<h4 class="sheet-crewMember sheet-shipcrewname" data-i18n="name-or-number">Name or Number</h4>
<h4 class="sheet-crewMember sheet-shipcrewtype" data-i18n="type">Type</h4>
<h4 class="sheet-crewMember sheet-shipcrewposition" data-i18n="position">Position</h4>
<h4 class="sheet-crewMember sheet-shipcrewsalary" data-i18n="pay">Pay</h4>
<h4 class="sheet-crewMember sheet-shipcrewnotes" data-i18n="notes">Notes</h4>
<fieldset class='repeating_WShipCrew'>
<div class="sheet-shipCrew">
<!--<button type='roll' name='roll_crewInfo' class="sheet-crewMember sheet-shipcrewbutton" value="">w</button>-->
<input type="text" class="sheet-crewMember sheet-shipcrewname" name="attr_WalkerCrewName" />
<input type="text" class="sheet-crewMember sheet-shipcrewtype" name="attr_WalkerCrewType" />
<input type="text" class="sheet-crewMember sheet-shipcrewposition" name="attr_WalkerCrewPos" />
<input type="text" class="sheet-crewMember sheet-shipcrewsalary" name="attr_WalkerCrewSalary" />
<textarea class='sheet-crewMember sheet-shipcrewnotes' name="attr_WalkerCrewNotes"></textarea>
<input type="hidden" name="attr_WalkerCrewShares" />
</div>
</fieldset>
</div>
</div>
</div>
</div>
<!-- End Walker -->
<!-- Start Power Armor -->
<input class="sheet-usePowerArmor" type="checkbox" name="attr_PowerArmor" style="display: none;" />
<div class="sheet-ship-PowerArmor">
<input type="checkbox" class="sheet-hideShip" name="attr_is_powerarmor" /><span class="sheet-showShip"></span>
<h3 class="sheet-configSectionTitle" data-i18n="power-armor">Power Armor</h3>
<div class="sheet-ship">
<div class="sheet-shipMainSection">
<div class="sheet-shipMainColumn1">
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="wounds">Wounds:</label>
<input type="number" class="sheet-shipWound" name="attr_PAWounds" />&nbsp;<span data-i18n="of">of</span>&nbsp;<input type="number" class="sheet-shipWound" name="attr_PAWounds_max" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="size">Size:</label>
<input type="number" class="sheet-shipMainInput" name="attr_PASize" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="armor">Armor:</label>
<input type="number" class="sheet-shipMainInput" name="attr_PAArmor" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="toughness">Toughness:</label>
<input type="number" class="sheet-shipMainInput" name="attr_PAToughness" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="weight">Weight:</label>
<input type="number" class="sheet-shipMainInput" step="any" name="attr_PAWeight" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="cost">Cost:</label>
<input type="number" class="sheet-shipMainInput" name="attr_PACost" />
</div>
</div> <!-- End Column 1 -->
<div class="sheet-shipMainColumn2">
<img class='sheet-paimg' src='http://www.geeksville.us/roll20/PowerArmor.png'>
</div> <!-- End Column 2 -->
<div class="sheet-shipMainColumn3">
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel">&nbsp;</label>
<label class="sheet-shipMainLabel sheet-shipPAGround" data-i18n="ground">Ground</label>
<label class="sheet-shipMainLabel sheet-shipPAFlight" data-i18n="flight">Flight</label>
<label class="sheet-shipMainLabel sheet-shipPASwim" data-i18n="swim">Swim</label>
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="pace">Pace</label>
<input class="sheet-shipPAGround" type="number" name="attr_PAGroundPace" />
<input class="sheet-shipPAFlight" type="number" name="attr_PAFlightPace" />
<input class="sheet-shipPASwim" type="number" name="attr_PASwimPace" />
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="acceleration">Acceleration</label>
<input class="sheet-shipPAGround" type="number" name="attr_PAGroundAcc" />
<input class="sheet-shipPAFlight" type="number" name="attr_PAFlightAcc" />
<input class="sheet-shipPASwim" type="number" name="attr_PASwimAcc" />
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="top-speed">Top Speed</label>
<input class="sheet-shipPAGround" type="number" name="attr_PAGroundTS" />
<input class="sheet-shipPAFlight" type="number" name="attr_PAFlightTS" />
<input class="sheet-shipPASwim" type="number" name="attr_PASwimTS" />
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="climb">Climb</label>
<span class="sheet-shipPAGround">&nbsp;</span>
<input class="sheet-shipPAFlight" type="number" name="attr_PAFlightClimb" />
<span class="sheet-shipPASwim">&nbsp;</span>
</div>
<!-- PA Strength -->
<div class='sheet-basetrait' style="border-bottom: none;">
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tPAStrengthRoll' value='&{template:roll} @{rolltPAStrength} @{setmodsenc} @{showtraitmods}' data-i18n="strength"> Strength</button>
<span><select name="attr_pastrength" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-otraitmod" type="number" name="attr_pastrengthmod" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showpaStMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_pastModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_pastrollmod" value="0" />
</div>
<input type='hidden' name='attr_pastrength_rank' value='1d4!' />
<input type='hidden' name='attr_pastrength_display' value='1d4' />
<input type='hidden' name='attr_rolltPAStrength' value='{{name=@{character_name} }} {{trait=Strength}} {{skill_rank=@{pastrength_display} }} {{skill_roll=[[@{pastrength_rank} + @{pastrollmod}+ @{ModSumEnc}[Wounds, Fatigue, Encumbrance, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{pastrengthmod} + @{pastrollmod} + @{ModSumEnc}[Wounds, Fatigue, Encumbrance, Distracted] + @{traitmods} ]]}}' />
</div>
</div> <!-- End Column 3 -->
</div>
<div class="sheet-shipArmaments">
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipweapons" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="armaments">Armaments</h4>
<div class="sheet-shipWeapons">
<span class="sheet-weaponHeader sheet-weaponItem sheet-button">&nbsp;</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-paweapon" data-i18n="weapon">Weapon</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-range" data-i18n="range">Range</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-rof" data-i18n="rate-of-fire-abbr">ROF</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-damage" data-i18n="damage">Damage</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-weaponap" data-i18n="armor-piercing-abbr-u">AP</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-shots" data-i18n="number-of-shots-shortened">Shots</span>
<hr class="sheet-weaponItem sheet-hr" />
<input type='hidden' name='attr_vbonusdamage' value='1d6!' />
<fieldset class="repeating_paweapons" style="width: 100%;">
<!--<div class='sheet-weaponitem'>-->
<div class='sheet-weapons'>
<button type='roll' class="sheet-weaponItem sheet-button" name='roll_tpaWeapon' value="@{paweaponroll}"><input type="hidden" name="attr_paweaponbutton" class="sheet-weaponbutton" value="1" /><span class="sheet-buttonand" data-i18n="attack-and-damage-abbr">Atk+Dmg</span><span class="sheet-buttondo" data-i18n="damage">Damage</span></button>
<button type='roll' style='display: none;' name='roll_padmg' value='@{padamageOnly}'></button>
<input type='text' class='sheet-weaponItem sheet-paweapon' name='attr_paweapon' data-i18n-placeholder="weapon" placeholder="Weapon" />
<input type='text' class='sheet-weaponItem sheet-range' name='attr_parange' data-i18n-placeholder="range" placeholder="Range" />
<input type='number' class='sheet-weaponItem sheet-rof' name='attr_parof' data-i18n-placeholder="rate-of-fire-abbr" placeholder="ROF" />
<input type='text' class='sheet-weaponItem sheet-damage' name='attr_paweapondamage' value="Str+d4" readonly />
<input type="number" class='sheet-weaponItem sheet-weaponap' name='attr_paweaponap' />
<input type='number' class='sheet-weaponItem sheet-shots' name='attr_pashots' data-i18n-placeholder="number-of-shots-shortened" placeholder="Shots" />
<input class='sheet-moreweapon' type='checkbox' name='attr_showpaweaponconfig' checked /><span>y</span>
<textarea name='attr_paweaponnotes' class='sheet-weaponItem sheet-weaponnotes' data-i18n-placeholder="notes" placeholder="Notes"></textarea>
<div class="sheet-weaponconfig">
<label class="sheet-configlabels" data-i18n="button-behavior">Button Behavior</label>
<select name="attr_paweaponbutton" class="sheet-weaponbutton">
<option value="0" data-i18n="attack-and-damage-abbr">Atk + Dmg</option>
<option value="1" data-i18n="damage-only" selected>Damage Only</option>
</select>
<input type="hidden" name="attr_paweaponbutton" class="sheet-weaponbutton" />
<div class='sheet-weaponskill'>
<label class="sheet-configlabels" data-i18n="skill">Skill</label>
<select name="attr_paweaponskill" class="sheet-weaponbutton" value="1">
<option value="fighting" data-i18n="fighting" selected>Fighting</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="shooting" data-i18n="shooting">Shooting</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unskilled" data-i18n="unskilled">Unskilled</option>
</select>
</div>
<div class='sheet-weapondamage'>
<label class='sheet-configlabels' data-i18n="damage">Damage</label>
<select class='sheet-weaponatt' name="attr_padamageatt">
<option value="na" data-i18n="not-applicable-abbr">N/A</option>
<option value="strength" data-i18n="strength" selected>Strength</option>
<!--<option value="agility" data-i18n="agility">Agility</option>
<option value="smarts" data-i18n="smarts">Smarts</option>
<option value="spirit" data-i18n="spirit">Spirit</option>
<option value="vigor" data-i18n="vigor">Vigor</option>-->
</select>
+
<input type="number" class="sheet-weaponnum" name="attr_padmgnumdice" style="text-align: right;" value="1" />
<select name="attr_padmgdietype" class="sheet-dtype">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
<option value="d20!">d20</option>
</select>
+
<input type="text" class="sheet-weaponnum" name="attr_padmgbonusnum" />
</div>
</div>
<!-- Hidden Fields for the roll button(s), etc -->
<input type='hidden' name='attr_paweaponroll' value='@{padamageOnly}' />
<input type='hidden' name='attr_paskillNDamage' value="&{template:roll} {{trait=Fighting}} {{source=@{paweapon}}} @{rolltFighting} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_paweapons_padmg) }}" /> <!--Used for Skill and Damage roll -->
<input type='hidden' name='attr_padamageOnly' value='@{padmgTemplate}' /> <!-- Used for Damage Only -->
<!-- Build the Damage Roll Template Info -->
<input type='hidden' name='attr_paweapondmg' value="@{pastrength_rank}+1d4!" /> <!-- the damage formula -->
<input type='hidden' name='attr_pabonusdmg' value='1d6!' />
<input type='text' style='display: none;' name='attr_padmgTemplate' value='&{template:damage} {{name=@{character_name}}} {{source=@{paweapon} }} {{dmg_rank=@{paweapondamage}}} {{dmg_roll=[[@{paweapondmg} + @{damagemods}]]}} {{bonus_die=[[@{vbonusdamage}]]}} {{showap=[[1d0+@{paweaponap}]]}} {{ap=@{paweaponap}}} {{notes=@{paweaponnotes}}} {{button=y}} {{DmgRoll=[Re-Roll Damage](~repeating_paweapons_padmg) }}' />
</div>
</fieldset>
</div>
</div>
<h4 class="sheet-subsectionHeader sheet-panotesheader" data-i18n="notes-and-upgrades">Notes and Upgrades</h4>
<textarea class='sheet-vtext sheet-panotes' name="attr_PANotes"></textarea>
</div>
</div>
<!-- End Power Armor -->
<!-- Start Robot Armor -->
<input class="sheet-useRobotArmor" type="checkbox" name="attr_RobotArmor" style="display: none;" />
<div class="sheet-ship-RobotArmor">
<input type="checkbox" class="sheet-hideShip" name="attr_is_robotarmor" /><span class="sheet-showShip"></span>
<h3 class="sheet-configSectionTitle" data-i18n="robots-armor">Robot Armor</h3>
<div class="sheet-ship">
<div class="sheet-shipMainSection">
<div class="sheet-shipMainColumn1">
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="wounds">Wounds:</label>
<input type="number" class="sheet-shipWound" name="attr_RAWounds" />&nbsp;<span data-i18n="of">of</span>&nbsp;<input type="number" class="sheet-shipWound" name="attr_RAWounds_max" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="size">Size:</label>
<input type="number" class="sheet-shipMainInput" name="attr_RASize" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="crew">Crew:</label>
<input type="number" class="sheet-shipMainInput" name="attr_RACrew" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="passengers">Passengers:</label>
<input type="number" class="sheet-shipMainInput" name="attr_RAPassengers" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="armor">Armor:</label>
<input type="number" class="sheet-shipMainInput" name="attr_RAArmor" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="toughness">Toughness:</label>
<input type="number" class="sheet-shipMainInput" name="attr_RAToughness" />
</div>
<div class="sheet-shipMainItem">
<label class="sheet-shipMainLabel" data-i18n="cost">Cost:</label>
<input type="number" class="sheet-shipMainInput" name="attr_RACost" />
</div>
</div> <!-- End Column 1 -->
<div class="sheet-shipMainColumn2">
<img class='sheet-paimg' src='http://www.geeksville.us/roll20/RobotArmor.png'>
</div> <!-- End Column 2 -->
<div class="sheet-shipMainColumn3">
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel">&nbsp;</label>
<label class="sheet-shipMainLabel sheet-shipPAGround" data-i18n="ground">Ground</label>
<label class="sheet-shipMainLabel sheet-shipPAFlight" data-i18n="flight">Flight</label>
<label class="sheet-shipMainLabel sheet-shipPASwim" data-i18n="swim">Swim</label>
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="pace">Pace</label>
<input class="sheet-shipPAGround" type="number" name="attr_RAGroundPace" />
<input class="sheet-shipPAFlight" type="number" name="attr_RAFlightPace" />
<input class="sheet-shipPASwim" type="number" name="attr_RASwimPace" />
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="acceleration">Acceleration</label>
<input class="sheet-shipPAGround" type="number" name="attr_RAGroundAcc" />
<input class="sheet-shipPAFlight" type="number" name="attr_RAFlightAcc" />
<input class="sheet-shipPASwim" type="number" name="attr_RASwimAcc" />
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="top-speed">Top Speed</label>
<input class="sheet-shipPAGround" type="number" name="attr_RAGroundTS" />
<input class="sheet-shipPAFlight" type="number" name="attr_RAFlightTS" />
<input class="sheet-shipPASwim" type="number" name="attr_RASwimTS" />
</div>
<div class='sheet-shipPAStatBlock'>
<label class="sheet-shipMainLabel sheet-shipPALabel" data-i18n="climb">Climb</label>
<span class="sheet-shipPAGround">&nbsp;</span>
<input class="sheet-shipPAFlight" type="number" name="attr_RAFlightClimb" />
<span class="sheet-shipPASwim">&nbsp;</span>
</div>
<!-- RA Strength -->
<div class='sheet-basetrait' style="border-bottom: none;">
<button class="sheet-traitbutton sheet-traitflexattbutton" type='roll' name='roll_tRAStrengthRoll' value='&{template:roll} @{rolltRAStrength} @{setmodsenc} @{showtraitmods}' data-i18n="strength"> Strength</button>
<span><select name="attr_rastrength" class="sheet-traitdie" value="4">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>+</span>
<input class="sheet-otraitmod" type="number" name="attr_rastrengthmod" value="0" />
<input class='sheet-moremods' type='checkbox' name='attr_showraStMod' /><span>y</span>
<div class='sheet-basetrait sheet-traitmodplus'>
<input type='text' class='sheet-ModDesc' name='attr_rastModType' placeholder='Modifier due to edges, hindrances, etc' data-i18n-placeholder="att-mod-description" />
+<input class="sheet-otraitmod" type="number" name="attr_rastrollmod" value="0" />
</div>
<input type='hidden' name='attr_rastrength_rank' value='1d4!' />
<input type='hidden' name='attr_rastrength_display' value='1d4' />
<input type='hidden' name='attr_rolltRAStrength' value='{{name=@{character_name} }} {{trait=Strength}} {{skill_rank=@{rastrength_display} }} {{skill_roll=[[@{rastrength_rank} + @{rastrollmod}+ @{ModSumEnc}[Wounds, Fatigue, Encumbrance, Distracted] + @{traitmods} ]] }} {{mook=[[1d0+@{wdNum}]]}} {{wild_die=[[ 1d@{wilddie}! + @{rastrengthmod} + @{rastrollmod} + @{ModSumEnc}[Wounds, Fatigue, Encumbrance, Distracted] + @{traitmods} ]]}}' />
</div>
</div> <!-- End Column 3 -->
</div>
<div class="sheet-shipArmaments">
<input type="checkbox" class="sheet-hideshiprepeating" name="attr_hidesshipweapons" /><span class="sheet-showshipweapons"></span>
<h4 class="sheet-repTitle" data-i18n="armaments">Armaments</h4>
<div class="sheet-shipWeapons">
<span class="sheet-weaponHeader sheet-weaponItem sheet-button">&nbsp;</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-paweapon" data-i18n="weapon">Weapon</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-range" data-i18n="range">Range</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-rof" data-i18n="rate-of-fire-abbr">ROF</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-damage" data-i18n="damage">Damage</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-weaponap" data-i18n="armor-piercing-abbr-u">AP</span>
<span class="sheet-weaponHeader sheet-weaponItem sheet-shots" data-i18n="number-of-shots-shortened">Shots</span>
<hr class="sheet-weaponItem sheet-hr" />
<input type='hidden' name='attr_vbonusdamage' value='1d6!' />
<fieldset class="repeating_raweapons" style="width: 100%;">
<!--<div class='sheet-weaponitem'>-->
<div class='sheet-weapons'>
<button type='roll' class="sheet-weaponItem sheet-button" name='roll_traWeapon' value="@{raweaponroll}"><input type="hidden" name="attr_raweaponbutton" class="sheet-weaponbutton" value="1" /><span class="sheet-buttonand" data-i18n="attack-and-damage-abbr">Atk+Dmg</span><span class="sheet-buttondo" data-i18n="damage">Damage</span></button>
<button type='roll' style='display: none;' name='roll_radmg' value='@{radamageOnly}'></button>
<input type='text' class='sheet-weaponItem sheet-paweapon' name='attr_raweapon' data-i18n-placeholder="weapon" placeholder="Weapon" />
<input type='text' class='sheet-weaponItem sheet-range' name='attr_rarange' data-i18n-placeholder="range" placeholder="Range" />
<input type='number' class='sheet-weaponItem sheet-rof' name='attr_rarof' data-i18n-placeholder="rate-of-fire-abbr" placeholder="ROF" />
<input type='text' class='sheet-weaponItem sheet-damage' name='attr_raweapondamage' value="Str+d4" readonly />
<input type="number" class='sheet-weaponItem sheet-weaponap' name='attr_raweaponap' />
<input type='number' class='sheet-weaponItem sheet-shots' name='attr_rashots' data-i18n-placeholder="number-of-shots-shortened" placeholder="Shots" />
<input class='sheet-moreweapon' type='checkbox' name='attr_showraweaponconfig' checked /><span>y</span>
<textarea name='attr_raweaponnotes' class='sheet-weaponItem sheet-weaponnotes' data-i18n-placeholder="notes" placeholder="Notes"></textarea>
<div class="sheet-weaponconfig">
<label class="sheet-configlabels" data-i18n="button-behavior">Button Behavior</label>
<select name="attr_raweaponbutton" class="sheet-weaponbutton">
<option value="0" data-i18n="attack-and-damage-abbr">Atk + Dmg</option>
<option value="1" data-i18n="damage-only" selected>Damage Only</option>
</select>
<input type="hidden" name="attr_raweaponbutton" class="sheet-weaponbutton" />
<div class='sheet-weaponskill'>
<label class="sheet-configlabels" data-i18n="skill">Skill</label>
<select name="attr_raweaponskill" class="sheet-weaponbutton" value="1">
<option value="fighting" data-i18n="fighting" selected>Fighting</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="shooting" data-i18n="shooting">Shooting</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unskilled" data-i18n="unskilled">Unskilled</option>
</select>
</div>
<div class='sheet-weapondamage'>
<label class='sheet-configlabels' data-i18n="damage">Damage</label>
<select class='sheet-weaponatt' name="attr_radamageatt">
<option value="na" data-i18n="not-applicable-abbr">N/A</option>
<option value="strength" data-i18n="strength" selected>Strength</option>
<!--<option value="agility" data-i18n="agility">Agility</option>
<option value="smarts" data-i18n="smarts">Smarts</option>
<option value="spirit" data-i18n="spirit">Spirit</option>
<option value="vigor" data-i18n="vigor">Vigor</option>-->
</select>
+
<input type="number" class="sheet-weaponnum" name="attr_radmgnumdice" style="text-align: right;" value="1" />
<select name="attr_radmgdietype" class="sheet-dtype">
<option value="d4!">d4</option>
<option value="d6!">d6</option>
<option value="d8!">d8</option>
<option value="d10!">d10</option>
<option value="d12!">d12</option>
<option value="d20!">d20</option>
</select>
+
<input type="text" class="sheet-weaponnum" name="attr_radmgbonusnum" />
</div>
</div>
<!-- Hidden Fields for the roll button(s), etc -->
<input type='hidden' name='attr_raweaponroll' value="@{radamageOnly}" />
<input type='hidden' name='attr_raskillNDamage' value="&{template:roll} {{trait=Fighting}} {{source=@{raweapon}}} @{rolltFighting} {{button=y}} {{DmgRoll=[Roll Damage](~repeating_raweapons_radmg) }}" /> <!--Used for Skill and Damage roll -->
<input type='hidden' name='attr_radamageOnly' value='@{radmgTemplate}' /> <!-- Used for Damage Only -->
<!-- Build the Damage Roll Template Info -->
<input type='hidden' name='attr_raweapondmg' value="@{rastrength_rank}+1d4!" /> <!-- the damage formula -->
<input type='hidden' name='attr_rabonusdmg' value='1d6!' />
<input type='text' style='display: none;' name='attr_radmgTemplate' value='&{template:damage} {{name=@{character_name}}} {{source=@{raweapon} }} {{dmg_rank=@{raweapondamage}}} {{dmg_roll=[[@{raweapondmg} + @{damagemods}]]}} {{bonus_die=[[@{vbonusdamage}]]}} {{showap=[[1d0+@{raweaponap}]]}} {{ap=@{raweaponap}}} {{notes=@{raweaponnotes}}} {{button=y}} {{DmgRoll=[Re-Roll Damage](~repeating_raweapons_radmg) }}' />
</div>
</fieldset>
</div>
<!-- Crew & Passengers -->
</div>
<h4 class="sheet-subsectionHeader sheet-panotesheader" data-i18n="notes-and-upgrades">Notes and Upgrades</h4>
<textarea class='sheet-vtext sheet-panotes' name="attr_RANotes"></textarea>
</div>
</div>
<!-- End Robot Armor -->
</div>
<!-- End Vehicles -->
<div class='sheet-config'> <!--Configuration Tab-->
<!-- -->
<!-- BEGIN CONFIGURATION STUFF -->
<!-- -->
<div class="sheet-configSection">
<input type="checkbox" class="sheet-hideQS" name="attr_hideQS" /><span class="sheet-showQS"></span>
<h3 class="sheet-configSectionTitle" data-i18n="quick-setting-configuration">Quick Setting Configuration</h3>
<div class="sheet-quickconfig">
<div class='sheet-quickItem'>
<input type='checkbox' class='sheet-configReset' name='attr_settingconfig' value='0' /><span class='sheet-reset'><span data-i18n="reset-to-default">Reset to Default</span>&nbsp;<span style='font-family: "Pictos";'>0</span></span>
</div>
<label class='sheet-quickItem'><input type='checkbox' name='attr_settingconfig' value='1' /> <span data-i18n="50-fathoms">50 Fathoms</span></label>
<label class='sheet-quickItem'><input type='checkbox' name='attr_settingconfig' value='2' /> <span data-i18n="all-for-one">All For One</span></label>
<label class='sheet-quickItem'><input type='checkbox' name='attr_settingconfig' value='3' /> <span data-i18n="deadlands-reloaded">Deadlands Reloaded</span></label>
<label class='sheet-quickItem'><input type='checkbox' name='attr_settingconfig' value='4' /> <span data-i18n="east-texas-university">East Texas University</span></label>
<label class='sheet-quickItem'><input type='checkbox' name='attr_settingconfig' value='5' /> <span data-i18n="hellfrost">Hellfrost</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='6' /> <span data-i18n="interface-zero">Interface Zero 2.0</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='7' /> <span data-i18n="lankhmar">Lankhmar</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='8' /> <span data-i18n="last-parsec">Last Parsec</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='9' /> <span data-i18n="low-life">Low Life</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='10' /> <span data-i18n="necessary-evil">Necessary Evil</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='11' /> <span data-i18n="pirates-of-the-spanish-main">Pirates of the Spanish Main</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='13' /> <span data-i18n="rifts">Rifts</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='14' /> <span data-i18n="rippers">Rippers</span></label>
<label class="sheet-quickItem"><input type='checkbox' name='attr_settingconfig' value='12' /> <span data-i18n="tour-of-darkness">Tour of Darkness</span></label>
</div>
</div>
<div class="sheet-configSection">
<input type="checkbox" class="sheet-hideBG" name="attr_hideBG" /><span class="sheet-showBG"></span>
<h3 class='sheet-configSectionTitle' data-i18n="backgrounds">Backgrounds</h3>
<div class="sheet-bgconfig">
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="1" data-i18n-title="no-background-image" title="No Background Image" checked /> <span data-i18n="no-background-image">No Background Image</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="7" data-i18n-title="cyberpunk" title="Cyberpunk" /> <span data-i18n="cyberpunk">Cyberpunk</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="8" data-i18n-title="hellfrost" title="Hellfrost" /> <span data-i18n="hellfrost">Hellfrost</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="9" data-i18n-title="hellfrost-land-of-fire" title="Hellfrost: Land of Fire" /> <span data-i18n="hellfrost-land-of-fire">Hellfrost: Land of Fire</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="5" data-i18n-title="last-parsec" title="Last Parsec" /> <span data-i18n="last-parsec">Last Parsec</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="4" data-i18n-title="noir" title="Noir" /> <span data-i18n="noir">Noir</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="2" data-i18n-title="old-map-postsm" title="Old Map (PotSM)" /> <span data-i18n="old-map">Old Map</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="10" data-i18n-title="parchment" title="Parchment" /> <span data-i18n="parchment">Parchment</span></label>
<label class='sheet-bgItem'><input type='radio' class='sheet-useBackground' style='width: 15px;' name='attr_background' value='12' data-i18n-title="rippers" title='Rippers' /> <span data-i18n="rippers">Rippers</span> </label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="11" data-i18n-title="rifts" title="Rifts" /> <span data-i18n="rifts-scifi">Rifts/Sci Fi</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="6" data-i18n-title="supers" title="Supers" /> <span data-i18n="superhero">Superhero</span></label>
<label class='sheet-bgItem'><input type="radio" class="sheet-useBackground" style="width: 15px;" name="attr_background" value="3" data-i18n-title="zombiepocalypse" title="Zombiepocalypse" /> <span data-i18n="zombie-esque">Zombie-esque</span></label>
</div>
</div>
<div class="sheet-configSection">
<input type="checkbox" class="sheet-hideLogo" name="attr_hideLogo" /><span class="sheet-showLogo"></span>
<h3 class='sheet-configSectionTitle' data-i18n="logos">Logos</h3>
<div class="sheet-logoconfig">
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="1" data-i18n-title="savage-worlds-deluxe" title="Savage Worlds Deluxe" checked /> <span data-i18n="savage-worlds-deluxe">Savage Worlds Deluxe</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="4" data-i18n-title="zombie-swd" title="Zombie SWD" /> <span data-i18n="savage-worlds-deluxe-bloodied">Savage Worlds Deluxe (Bloodied)</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="13" data-i18n-title="all-for-one" title="All For One" /> <span data-i18n="all-for-one">All For One</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="6" data-i18n-title="deadlands" title="Deadlands" /> <span data-i18n="deadlands">Deadlands</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="7" data-i18n-title="deadlands-noir" title="Deadlands: Noir" /> <span data-i18n="deadlands-noir">Deadlands: Noir</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="8" data-i18n-title="deadlands-hell-on-earth" title="Deadlands: Hell on Earth" /> <span data-i18n="deadlands-hell-on-earth">Deadlands: Hell on Earth</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="14" data-i18n-title="east-texas-university" title="East Texas University" /> <span data-i18n="east-texas-university">East Texas University</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="10" data-i18n-title="hellfrost" title="Hellfrost" style="width: 15px;" /> <span data-i18n="hellfrost">Hellfrost</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="11" data-i18n-title="hellfrost-land-of-fire" title="Hellfrost: Land of Fire" style="width: 15px;" /> <span data-i18n="hellfrost-land-of-fire">Hellfrost: Land of Fire</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="9" data-i18n-title="interface-zero" title="Interface Zero 2.0" style="width: 15px;" /> <span data-i18n="inteface-zero-20">Interface Zero 2.0</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="12" data-i18n-title="lankhmar" title="Lankhmar" style="width: 15px;" /> <span data-i18n="lankhmar">Lankhmar</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="3" data-i18n-title="the-last-parsec" title="The Last Parsec" /> <span data-i18n="the-last-parsec">The Last Parsec</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="5" data-i18n-title="necessary-evil" title="Necessary Evil" /> <span data-i18n="necessary-evil">Necessary Evil</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="2" data-i18n-title="pirates-of-the-spanish-main" title="Pirates of the Spanish Main" /> <span data-i18n="pirates-of-the-spanish-main">Pirates of the Spanish Main</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="15" data-i18n-title="rifts" title="Rifts" /> <span data-i18n="rifts">Rifts</span></label>
<label class='sheet-logoItem'><input type="checkbox" class="sheet-ShowLogo" name="attr_logo" value="16" data-i18n-title="rippers" title="Rippers" /> <span data-i18n="rippers">Rippers</span></label>
<!-- Need to update the Disclaimer Information section of the CSS File with the appropriate information
Also need to update the bottom of this html page; be sure to use the checkbox input and not the radio input-->
</div>
</div>
<div class='sheet-configSection'>
<input type="checkbox" class="sheet-hideOST" name="attr_hideOST" /><span class="sheet-showOST"></span>
<h3 class='sheet-configSectionTitle' data-i18n="other-sheet-tweaks">Other Sheet Tweaks</h3>
<div class="sheet-miscconfig">
<select name="attr_atkxconfig" title="May need to change your ROF for changes to take affect.">
<option value="0" selected>Atk^ roll query sorted High to Low</option>
<option value="1">Atk^ roll query sorted Low to High</option>
<option value="2">Atk^ always roll max (no roll query)</option>
</select>
<label class='sheet-miscItem'><input type='checkbox' class="sheet-advanceonjournal" name='attr_advanceonjournal' /> <span data-i18n="move-advances-to-journal-tab">Move Advances to the Journal Tab</span></label>
<label class='sheet-miscItem'><input type="checkbox" class="sheet-hideArcanum" name="attr_ArcanumTab" style="width: 15px;"> <span data-i18n="hide-powers-section">Hide Powers Section</span></label>
<label class='sheet-miscItem'><input type="checkbox" name="attr_promptmods" title="Wounds, Fatigue, Distracted, and Encumbrance are not part of Misc. Modifiers and are accounted for automatically" /> <span data-i18n="prompt-modifiers-text">Prompt for Misc. Modifiers</span></label>
<label class='sheet-miscItem'><input type="checkbox" name="attr_useBGPhysicalDesc" checked /> <span data-i18n="show-background-description">Show Background and Description</span></label>
<label class='sheet-miscItem'><input type="checkbox" name="attr_useLoad" checked /> <span data-i18n="show-load-and-encumbrance">Show Load and Encumberance</span></label>
<label class='sheet-miscItem'><input type="checkbox" name="attr_showmods" checked /> <span data-i18n="show-modifiers">Show Modifiers For Trait Rolls</span></label>
<!-- Hidden Fields to set whether to show mods in the Roll Template or not -->
<input type="hidden" name="attr_setmods" value="{{mods=[[1d0+@{absmod}+abs(@traitmods)]] }}" />
<input type="hidden" name="attr_setmodsenc" value="{{mods=[[1d0+@{absmodenc}+abs(@traitmods))]] }} {{showenc=[[1d0+@{encumbrance}]]}} {{encumbrance=@{encumbrance}}}" />
<input type="hidden" name="attr_setdmgmods" value="{{mods=[[1d0+abs(@traitmods)]] }}" />
<!-- Hidden Fields to set the rest of the Roll Template Information -->
<input type="hidden" name="attr_showtraitmods" value="{{showtt=[[1d0+@{traitmods}]]}} {{ttmod=@{traitmods}}} {{showwounds=[[1d0+@{woundsMod}]]}} {{wounds=-@{woundsMod} }} {{showfatigue=[[1d0+@{fatigue}]]}} {{fatigue=-@{fatigueMod}}} {{showdistracted=[[1d0+@{distracted}]]}} {{distracted=@{distracted}}}" />
<input type="hidden" name="attr_showdmgmods" value="{{showdmg=[[1d0+@{damagemods}]]}} {{ttmod=@{traitmods}}}" />
<!-- Hidden Fields to make Dice Rolling easier -->
<input type="hidden" name="attr_traitmods" value="@{ttmod}" />
<input type="hidden" name="attr_damagemods" value="@{dmgmod}" />
<!-- Absolute Values of all the different Modifier fields -->
<input type="hidden" name="attr_absmod" value="0" />
<input type="hidden" name="attr_absmodenc" value="0" />
<!-- End Hidden Fields -->
<label class="sheet-miscItem"><input type="checkbox" class="sheet-usePartyBag" name="attr_usePG" checked /> <span data-i18n="show-party-bag">Show Party Bag</span></label>
<label class="sheet-miscItem"><input type='checkbox' class='sheet-useQuestLog' name="attr_questlog" checked /> <span data-i18n="show-quest-log">Show Quest Log</span></label>
<label class="sheet-miscItem"><input type="checkbox" class="sheet-useunshakebutton" name="attr_showunshake" checked /> <span data-i18n="show-unshake-button">Show Unshake Button</span></label>
<label class="sheet-miscItem"><input type="checkbox" class="sheet-showVehicles sheet-useVehicles" name="attr_vehicle" style="width: 15px;"> <span data-i18n="show-the-vehicles-tab">Show the Vehicles Tab</span></label>
<input type="checkbox" class="sheet-showVehicles" name="attr_vehicle" style="display: none;" />
<label class="sheet-miscItem sheet-vehicleTypes"><input class="sheet-useSailingShips" type="checkbox" name="attr_sailingShip" /> <span data-i18n="show-sailing-ship">Show Sailing Ship</span></label>
<label class="sheet-miscItem sheet-vehicleTypes"><input class="sheet-useFlyingShips" type="checkbox" name="attr_flyingShip" /> <span data-i18n="show-flying-ship">Show Flying Ship</span></label>
<label class="sheet-miscItem sheet-vehicleTypes"><input class="sheet-useGroundVehicle" type="checkbox" name="attr_groundVehicle" /> <span data-i18n="show-ground-vehicle">Show Ground Vehicle</span></label>
<label class="sheet-miscItem sheet-vehicleTypes"><input class="sheet-usePowerArmor" type="checkbox" name="attr_PowerArmor" /> <span data-i18n="show-power-armor">Show Power Armor</span></label>
<label class="sheet-miscItem sheet-vehicleTypes"><input class="sheet-useRobotArmor" type="checkbox" name="attr_RobotArmor" /> <span data-i18n="show-robot-armor">Show Robot Armor</span></label>
<label class="sheet-miscItem sheet-vehicleTypes"><input class="sheet-useWalker" type="checkbox" name="attr_Walker" /> <span data-i18n="show-walker">Show Walker</span></label>
<!--<label class='sheet-miscItem'><input type="checkbox" name="attr_whisperrolls" value='1' style="width: 15px;"> <span data-i18n="whisper-all-rolls-to-gm">Whisper all rolls to GM</span></label>-->
<input type='hidden' name='attr_whisperall' />
<label class='sheet-miscItem'>
<span data-i18n="wild-card-icon">Wild Card Icon</span>: <!--<select name='attr_WCI' class="sheet-wcIcon">
<option value="⊛">⊛</option>
<option value="✪">✪</option>
<option value="♕">♕</option>
<option value="†">†</option>
<option value="༒">༒</option>
</select>--><input type='text' class="sheet-wci" name='attr_WCI' maxlength="2" />
</label>
<label class="sheet-miscItem"><button type="roll" class="sheet-APIOutput" name="roll_apifield" value="!deal-init --help">i</button><span data-i18n="api-initiative-edge">API Iniative Edges</span> <input class="sheet-standard" type="text" title="@{InitEdges}" name="attr_InitEdges"/></label>
</div>
</div>
<div class='sheet-configSection'>
<input type="checkbox" class="sheet-hideDS" name="attr_hideDS" /><span class="sheet-showDS"></span>
<h3 class='sheet-configSectionTitle' data-i18n="additional-derived-stats">Additional Derived Stats</h3>
<div class="sheet-dsconfig">
<!--Academics--><label class="sheet-dsItem" data-i18n-title="academic-text" title="Used to track a character's academic score. ETU uses this field."><input class='sheet-useAcademics' type='checkbox' name='attr_useacademics' value='1' style='width: 15px;' /><span data-i18n="academics">Academics</span></label>
<!--Corruption--><label class="sheet-dsItem" data-i18n-title="corruption-text" title="Used to track a character's corruption. Settings like Lankhmar use this field."><input type="checkbox" class="sheet-useCorruption" name="attr_Corruption" style="width: 15px;" /><span data-i18n="corruption">Corruption</span></label>
<!--Fame--><label class="sheet-dsItem" data-i18n-title="fame-text" title="Used to track how famous a character is. Settings like Pirates of the Spanish Main use this field."><input type="checkbox" class="sheet-useFame" name="attr_potsmFame" style="width: 15px;" /><span data-i18n="fame">Fame</span></label>
<!--Firewall--><label class="sheet-dsItem" data-i18n-title="firewall-text" title="Protects a character from being hacked. Starts at 4 and can be modified. This field is useful for settings like Interface Zero 2.0 or other Cyberpunk settings."><input type="checkbox" class="sheet-useFirewall" style="width: 15px;" name="attr_izFirewall" /><span data-i18n="firewall">Firewall</span></label>
<!--Glory--><label class="sheet-dsItem" data-i18n-title="glory-text" title="Used to track how glorious a character is. Settings like Hellfrost use this field."><input type="checkbox" class="sheet-useGlory" name="attr_hfGlory" style="width: 15px;" /><span data-i18n="glory">Glory</span></label>
<!--Grit--><label class="sheet-dsItem" data-i18n-title="grit-text" title="A measure of one's resistance against horrors. Useful in Horror-esque settings such as Deadlands. This is a derived stat based on the character's Rank."><input type="checkbox" class="sheet-useGrit" name="attr_DLGrit" style="width: 15px;" /><span data-i18n="grit">Grit</span></label>
<!--Neural Toughness--><label class="sheet-dsItem" data-i18n-title="neural-toughness-text" title="A measure of one's resistance against hacking attacks. Useful in cyberpunk settings such as Interface Zero 2.0. This is a derived stat based on the character's Toughness."><input type="checkbox" class="sheet-useNT" name="attr_neuraltoughness" style="width: 15px;" /><span data-i18n="neural-toughness">Neural Toughness</span></label>
<!--Reason--><label class="sheet-dsItem" data-i18n-title="reason-text" title="Used in Rippers to measure one's sanity."><input type="checkbox" class="sheet-useReason" name="attr_ripReason" style="width: 15px;" /><span data-i18n="reason">Reason</span></label>
<!--Sanity--><label class="sheet-dsItem" data-i18n-title="sanity-text" title="Used to track a character's sanity. Useful for most Horroresque settings. This is a derived stat based on (Spirit/2)+2."><input type="checkbox" class="sheet-useSanity" name="attr_tdsanity" style="width: 15px;" /><span data-i18n="sanity">Sanity</span></label>
<!--Status--><label class="sheet-dsItem" data-i18n-title="status-text" title="A reflection of ones position in society, and the esteem with which others regard the hero. This is used in Rippers."><input type="checkbox" class="sheet-useStatus" name="attr_ripStatus" style="width: 15px;" /><span data-i18n="status">Status</span></label>
<!--Strain--><label class="sheet-dsItem" data-i18n-title="strain-text" title="Used to measure how much strain a character is under due to augmentation from bioware. This field is useful for settings like Interface Zero 2.0 or other Cyberpunk settings."><input type="checkbox" class="sheet-useStrain" style="width: 15px;" name="attr_izStrain" /><span data-i18n="strain">Strain</span></label>
<!--Street Cred--><label class="sheet-dsItem" data-i18n-title="street-cred-text" title="Used to measure a character's reputation on the streets. Base = 2 per Character Rank. This field is useful for settings like Interface Zero 2.0 or other Cyberpunk settings."><input type="checkbox" class="sheet-useStreetCred" style="width: 15px;" name="attr_izStreetCred" /><span data-i18n="street-cred">Street Cred</span></label>
</div>
</div>
<div class='sheet-configSection'>
<input type="checkbox" class="sheet-hideFN" name="attr_hideFN" /><span class="sheet-showFN"></span>
<h3 class='sheet-configSectionTitle' data-i18n="field-name-replacements">Field Name Replacements</h3>
<div class="sheet-fnconfig">
<!--Class--><label class="sheet-fnItem" data-i18n-title="class-rank-text" title="Replaces 'Rank' with 'Class'. Appropriate for ETU."><input type="checkbox" class="sheet-useClass" name="attr_ThreatRatingClass" value="1" style="width: 15px;" /><span data-i18n="class-rank">Class (Rank)</span></label>
<!--Clams--><label class="sheet-fnItem" data-i18n-title="clams-money-text" title="Replaces 'Money' with 'Clams'. Appropriate for Low Life or any other setting where Clams may be an appropriate replacement for money."><input type="checkbox" class="sheet-usePieces" name="attr_50fPo8Clams" style="width: 15px;" value="2" /><span data-i18n="clams-money">Clams (Money)</span></label>
<!--Code Name--><label class="sheet-fnItem" data-i18n-title="code-name-character-text" title="Useful for games where the character is known by a code- or superhero name such as Necessary Evil or spy themed games. This will add an additional field for Civilian Name."><input type="checkbox" class="sheet-useCodeName" name="attr_codename" style="width: 15px;" /><span data-i18n="code-name-character">Code Name (Character Name)</span></label>
<!--Credits--><label class="sheet-fnItem" data-i18n-title="credits-money-text" title="Replaces 'Money' with 'Credits'. Appropriate for Interface Zero or any other setting where Credits may be an appropriate replacement for money."><input type="checkbox" class="sheet-usePieces" name="attr_50fPo8Clams" style="width: 15px;" value="4" /><span data-i18n="credits-money">Credits (Money)</span></label>
<!--Cybernetics--><label class="sheet-fnItem" data-i18n-title="cybernetics-augmentations-text" title="Replaces 'Augmentations' with 'Cybernetics'. Appropriate for Rifts and any othe setting where Cybernetics is the vernacular."><input type="checkbox" class="sheet-useCybernetics" name="attr_Cybernetics" style="width: 15px;" value="1" /><span data-i18n="cybernetics-augmentations">Cybernetics (Augmentations)</span></label>
<!--Lankhmar Money--><label class="sheet-fnItem" data-i18n-title="lankhmar-currency-money-text" title="Replaces 'Money' with: Iron Tiks, Bronze Agols, Silver Smerduks, and Gold Rilks. Appropriate for the Lankhmar: City of Thieves setting."><input type="checkbox" class="sheet-usePieces" name="attr_50fPo8Clams" style="width: 15px;" value="3" /><span data-i18n="lankhmar-currency-money">Lankhmar Currency (Money)</span></label>
<!--All for One Money--><label class="sheet-fnItem" data-i18n-title="livre-money-text" title="Replaces 'Money' with 'Livre. Appropriate for the All for One setting."><input type="checkbox" class="sheet-usePieces" name="attr_50fPo8Clams" style="width: 15px;" value="5" /><span data-i18n="livre-money">Livre (Money)</span></label>
<!--Pieces of Eight--><label class="sheet-fnItem" data-i18n-title="pieces-of-eight-money-text" title="Replaces 'Money' with 'Pieces of Eight'. Appropriate for 50 Fathoms or any other Pirate themed setting."><input type="checkbox" class="sheet-usePieces" name="attr_50fPo8Clams" style="width: 15px;" value="1" /><span data-i18n="pieces-of-eight-money">Pieces of Eight (Money)</span></label>
<!--Origin of Parahuman Abilities--><label class="sheet-fnItem" data-i18n-title="origin-of-parahuman-abilities-text" title="Modify the Physical Appearance Text Area to include the Origins of Parahuman Abilties. Useful for Necessary Evil and other Superhero-esque settings."><input type="checkbox" class="sheet-useParaHuman" name="attr_powerOrigins" style="width: 15px;" /><span data-i18n="origin-of-parahuman-abilities">Origin of Parahuman Abilities</span></label>
<!--PPE for Rifts--><label class="sheet-fnItem" data-i18n-title="ppe-power-points-text" title="Change Power Points to PPE (Potential Psychic Energy) for Rifts"><input type="checkbox" class="sheet-usePPE" value="PPE" name="attr_ppe" style="width: 15px;" /><span data-i18n="ppe-power-points">PPE (Power Points)</span></label>
<input type='hidden' name='attr_ppelabel' value="Power Points" />
<!--Power Type"--><label class="sheet-fnItem" data-i18n-title="power-type-desc" title="Check this box to show other options for Power Lables, such as Miracles, Spells, etc"><input type="checkbox" class="sheet-showPowerTypes" name="attr_usePowerTypes"> <span data-i18n="power-type">Power Type</span></label>
<input type="checkbox" class="sheet-showPowerTypes" name="attr_usePowerTypes" style="display:none;" />
<!--Miracles--><label class="sheet-fnItem sheet-PowerTypes" data-i18n-title="miracles-text" title="Replaces Powers with Miracles. Can be used for characters with Faith-based magic."><input type="checkbox" class="sheet-useMagicType" name="attr_magictype" value='1' /><span data-i18n="miracles">Miracles</span></label>
<!--Psionics--><label class="sheet-fnItem sheet-PowerTypes" data-i18n-title="psionics-text" title="Replaces Powers with Psionics. Can be used for characters with Psionics."><input type="checkbox" class="sheet-useMagicType" name="attr_magictype" style="width: 15px;" value='2' /><span data-i18n="psionics">Psionics</span></label>
<!--Spells--><label class="sheet-fnItem sheet-PowerTypes" data-i18n-title="spells-text" title="Replaces Powers with Spells. Can be used for characters with traditional-type magic."><input type="checkbox" class="sheet-useMagicType" name="attr_magictype" value='3' /><span data-i18n="spells">Spells</span></label>
<!--Rituals--><label class="sheet-fnItem sheet-PowerTypes" data-i18n-title="rituals-text" title="Replaces Powers with Rituals. Can be used for characters or settings (like ETU) where all powers are Ritualistic in nature."><input type="checkbox" class="sheet-useMagicType" name="attr_magictype" style="width: 15px;" value='4' /><span data-i18n="rituals">Rituals</span></label>
<!--Weird Science--><label class="sheet-fnItem sheet-PowerTypes" data-i18n-title="weird-science-gadgets-text" title="Replaces Powers with Weird Science. Can be used for characters who create magic through gadgets, such as Mad Scientists in Deadlands."><input type="checkbox" class="sheet-useMagicType" name="attr_magictype" style="width: 15px;" value='5' /><span data-i18n="weird-science-gadgets">Weird Science Gadgets</span></label>
<!--Custom Power Label--><label class="sheet-fnItem sheet-PowerTypes" data-i18n-title="custom-power-label-text" title="Replaces the generic Powers lable with one you write in"><input type="checkbox" class="sheet-useMagicType" name="attr_magictype" value='6' /><input class="sheet-customLabel" type="text" name="attr_custompowerlabel" data-i18n-placeholder="enter-custom-power-label" placeholder="Enter custom Power Label" /></label>
<!-- Hidden Fields for Power Labels -->
<input type='hidden' name='attr_powerlabelsingular' value="Power" />
<input type='hidden' name='attr_powerlabelplural' value="Powers" />
<!-- End of Hiddent Fields for Power Labels -->
<!--Species--><label class="sheet-fnItem" data-i18n-title="species-race-text" title="Can be used for Sci-Fi settings like The Last Parsec, or any setting where Species is used instead of Race."><input type="checkbox" class="sheet-useSpecies" name="attr_tlpSpecies" style="width: 15px;" /><span data-i18n="species-race">Species (Race)</span></label>
<!--Threat Rating--><label class="sheet-fnItem" data-i18n-title="threat-rating-rank-text" title="Change the Rank designation to Threat Rating ala Necessary Evil."><input type="checkbox" class="sheet-useThreatRating" name="attr_ThreatRatingClass" value="2" style="width: 15px;" /><span data-i18n="threat-rating-rank">Threat Rating (Rank)</span></label>
<!--XP--><label class="sheet-fnItem" data-i18n-title="experience-points-text" title="Change the Advances designation used to determine rank to XP."><input type="checkbox" class="sheet-useXP" name="attr_usexplabel" value="1" checked /><span data-i18n="experience-points-abbr-u-advances">XP (Advances)</span></label>
</div>
</div>
<div class='sheet-configSection'>
<input type="checkbox" class="sheet-hideCSN" name="attr_hideCSN" /><span class="sheet-showCSN"></span>
<h3 class='sheet-configSectionTitle' data-i18n="change-skill-names">Change Skill Names</h3>
<div class="sheet-csnconfig">
<!--Fighting--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="fighting">Fighting</label> = <input type="text" class="sheet-csnInput" name="attr_fightingname" value="" /></div>
<!--Academics--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="academics">Academics</label> = <input type="text" class="sheet-csnInput" name="attr_academicsname" value="" /></div>
<!--Athletics--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="athletics">Athletics</label> = <input type="text" class="sheet-csnInput" name="attr_athleticsname" value="" /></div>
<!--Battle--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="battle">Battle</label> = <input type="text" class="sheet-csnInput" name="attr_battlename" value="" /></div>
<!--Boating--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="boating">Boating</label> = <input type="text" class="sheet-csnInput" name="attr_boatingname" value="" /></div>
<!--Climbing--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="climbing">Climbing</label> = <input type="text" class="sheet-csnInput" name="attr_climbingname" value="" /></div>
<!--Common Knowledge--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="common-knowledge">Common Knowledge</label> = <input type="text" class="sheet-csnInput" name="attr_common-knowledgename" value="" /></div>
<!--Driving--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="driving">Driving</label> = <input type="text" class="sheet-csnInput" name="attr_drivingname" value="" /></div>
<!--Electronics--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="electronics">Electronics</label> = <input type="text" class="sheet-csnInput" name="attr_electronicsname" value="" /></div>
<!--Faith--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="faith">Faith</label> = <input type="text" class="sheet-csnInput" name="attr_faithname" value="" /></div>
<!--Focus--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="focus">Focus</label> = <input type="text" class="sheet-csnInput" name="attr_focusname" value="" /></div>
<!--Gambling--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="gambling">Gambling</label> = <input type="text" class="sheet-csnInput" name="attr_gamblingname" value="" /></div>
<!--Guts--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="guts">Guts</label> = <input type="text" class="sheet-csnInput" name="attr_gutsname" value="" /></div>
<!--Hacking--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="hacking">Hacking</label> = <input type="text" class="sheet-csnInput" name="attr_hackingname" value="" /></div>
<!--Healing--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="healing">Healing</label> = <input type="text" class="sheet-csnInput" name="attr_healingname" value="" /></div>
<!--Intimidation--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="intimidation">Intimidation</label> = <input type="text" class="sheet-csnInput" name="attr_intimidationname" value="" /></div>
<!--Investigation--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="investigation">Investigation</label> = <input type="text" class="sheet-csnInput" name="attr_investigationname" value="" /></div>
<!--Native Language--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="native-language">Native Language</label> = <input type="text" class="sheet-csnInput" name="attr_native-languagename" value="" /></div>
<!--Lockpicking--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="lockpicking">Lockpicking</label> = <input type="text" class="sheet-csnInput" name="attr_lockpickingname" value="" /></div>
<!--Notice--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="notice">Notice</label> = <input type="text" class="sheet-csnInput" name="attr_noticename" value="" /></div>
<!--Occult--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="occult">Occult</label> = <input type="text" class="sheet-csnInput" name="attr_occultname" value="" /></div>
<!--Performance--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="performance">Performance</label> = <input type="text" class="sheet-csnInput" name="attr_performancename" value="" /></div>
<!--Persuasion--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="persuasion">Persuasion</label> = <input type="text" class="sheet-csnInput" name="attr_persuasionname" value="" /></div>
<!--Piloting--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="piloting">Piloting</label> = <input type="text" class="sheet-csnInput" name="attr_pilotingname" value="" /></div>
<!--Psionics--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="psionics">Psionics</label> = <input type="text" class="sheet-csnInput" name="attr_psionicsname" value="" /></div>
<!--Repair--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="repair">Repair</label> = <input type="text" class="sheet-csnInput" name="attr_repairname" value="" /></div>
<!--Research--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="research">Research</label> = <input type="text" class="sheet-csnInput" name="attr_researchname" value="" /></div>
<!--Riding--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="riding">Riding</label> = <input type="text" class="sheet-csnInput" name="attr_ridingname" value="" /></div>
<!--Ritual--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="ritual">Ritual</label> = <input type="text" class="sheet-csnInput" name="attr_ritualname" value="" /></div>
<!--Science--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="science">Science</label> = <input type="text" class="sheet-csnInput" name="attr_sciencename" value="" /></div>
<!--Shooting--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="shooting">Shooting</label> = <input type="text" class="sheet-csnInput" name="attr_shootingname" value="" /></div>
<!--Spellcasting--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="spellcasting">Spellcasting</label> = <input type="text" class="sheet-csnInput" name="attr_spellcastingname" value="" /></div>
<!--Stealth--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="stealth">Stealth</label> = <input type="text" class="sheet-csnInput" name="attr_stealthname" value="" /></div>
<!--Streetwise--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="streetwise">Streetwise</label> = <input type="text" class="sheet-csnInput" name="attr_streetwisename" value="" /></div>
<!--Survival--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="survival">Survival</label> = <input type="text" class="sheet-csnInput" name="attr_survivalname" value="" /></div>
<!--Swimming--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="swimming">Swimming</label> = <input type="text" class="sheet-csnInput" name="attr_swimmingname" value="" /></div>
<!--Taunt--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="taunt">Taunt</label> = <input type="text" class="sheet-csnInput" name="attr_tauntname" value="" /></div>
<!--Thievery--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="thievery">Thievery</label> = <input type="text" class="sheet-csnInput" name="attr_thieveryname" value="" /></div>
<!--Throwing--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="throwing">Throwing</label> = <input type="text" class="sheet-csnInput" name="attr_throwingname" value="" /></div>
<!--Tracking--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="tracking">Tracking</label> = <input type="text" class="sheet-csnInput" name="attr_trackingname" value="" /></div>
<!--Weird Science--><div class="sheet-csnItem"><label class="sheet-csnLabel" data-i18n="weird-science">Weird Science</label> = <input type="text" class="sheet-csnInput" name="attr_weirdsciencename" value="" /></div>
</div>
</div>
<div class='sheet-configSection'>
<input type="checkbox" class="sheet-hideASF" name="attr_hideASF" /><span class="sheet-showASF"></span>
<h3 class='sheet-configSectionTitle' data-i18n="additional-setting-fields">Additional Setting Fields</h3>
<div class="sheet-asfconfig">
<!--Activities/Exams--><label class="sheet-asfItem" data-i18n-title="activities-and-exams-text" title="Show fields to record Activities and Exams. Used in ETU."><input type='checkbox' class='sheet-useActExams' name='attr_activitiesexams' value='1' style=' width: 15px;' /><span data-i18n="activities-and-exams">Activities & Exams</span></label>
<!--Archetype--><label class="sheet-asfItem" data-i18n-title="archetype-text" title="The character's archetype. Used in settings like All for One."><input type="checkbox" class="sheet-useHomeworld" name="attr_a41archetype" style="width: 15px;" /><span data-i18n="archetype">Archetype</span></label>
<!--Augmentation--><label class="sheet-asfItem" data-i18n-title="augmentations-text" title="Record the Character's Augmentations. Appropriate for Interface Zero 2.0 or any other cyberpunk/sci-fi setting where people can implant augmentation devices."><input type="checkbox" class="sheet-useAugmentations" name="attr_augment" style="width: 15px;" /><span data-i18n="augmentations">Augmentations</span></label>
<!--Burn --><label class="sheet-asfItem" data-i18n-title="burn-text" title="Track the character's Burn. Appropriate for the Juicer Iconic Framework in Rifts."><input type='checkbox' class='sheet-useBurn' name='attr_useBurn' /><span data-i18n="burn">Burn</span></label>
<!--Conviction--><label class="sheet-asfItem" data-i18n-title="conviction-text" title="If using the Setting Rule for Conviction, this provides a visual checkbox above the Derived Stats to track Convction."><input class='sheet-useConviction' type='checkbox' name='attr_useConviction' /><span data-i18n="conviction">Conviction</span></label>
<!--Engrams--><label class="sheet-asfItem" data-i18n-title="engrams-text" title="Record the Character's Engrams s/he has. Appropriate for Interface Zero 2.0"><input type="checkbox" class="sheet-useEngrams" name="attr_izengrams" style="width: 15px;" /><span data-i18n="engrams">Engrams</span></label>
<!--Fencing Styles and School--><label class="sheet-asfItem" data-i18n-title="fencing-styles-schools-text" title="Fencing Style and Fencing Schools provide characters bonuses when fencing in certain styles. This rule is used in All For One"><input type="checkbox" class="sheet-useFencingStyle" name="attr_fencinginfo" /> <span data-i18n="fencing-styles-n-schools">Fencing Styles & Schools</span></label>
<!--Homeworld--><label class="sheet-asfItem" data-i18n-title="home-world-text" title="Can be used for Sci-Fi settings like The Last Parsec, etc."><input type="checkbox" class="sheet-useHomeworld" name="attr_tlpHW" style="padding-left: 10px; width: 15px;" /><span data-i18n="home-world">Home World</span></label>
<!--Hero's Journey--><label class="sheet-asfItem" data-i18n-title="heros-journey-text" title="Hero's Journey as found in Rifts."><input type="checkbox" class="sheet-useHeroicPath" name="attr_heroicpath" style="width: 15px;" /><span data-i18n="heros-journey">Hero's Journey</span></label>
<!--Iconic Frameworks--><label class="sheet-asfItem" data-i18n-title="iconic-framework-text" title="Used for Rifts to capture a character's iconic framework, if one exists."><input type="checkbox" class="sheet-useIF" name="attr_IconicFramwork" style="padding-left: 10px; width: 15px;" /><span data-i18n="iconic-framework">Iconic Framework</span></label>
<!--Inner Strength Points--><label class="sheet-asfItem" data-i18n-title="inner-strength-points-text" title="Adds ISP (Inner Strength Points) as found in Rifts. This is part of the Arcanum section of the sheet."><input type="checkbox" class="sheet-useISP" name="attr_useISP" style="width: 15px;" /><span data-i18n="inner-strength-points">Inner Strength Points (ISP)</span></label>
<!--Internal Repair System Charges--><label class="sheet-asfItem" data-i18n-title="internal-repair-system-charges-text" title="Used for Rifts to record the character's Internal Repair System Charges (IRSC or IRS Charges) for the Juicer Iconic Framework."><input type='checkbox' class='sheet-useIRSC' name='attr_useIRSC' /><span data-i18n="internal-repair-system-charges">Internal Repair System Charges</span></label>
<!--Languages--><label class="sheet-asfItem" data-i18n-title="languages-text" title="Can be used for any setting where Languages are known and no Knowledge skills is required"><input type="checkbox" class="sheet-useLanguages" name="attr_Lang" style="padding-left: 10px; width: 15px;" /><span data-i18n="languages">Languages</span></label>
<!--Max Load--><label class="sheet-asfItem" data-i18n-title="max-load-modifier-text" title="Enable the Max Load to be modified by a flat bonus/penalty"><input type="checkbox" class="sheet-useMaxLoad" name="attr_MaxLoad" style="width: 15px;" /><span data-i18n="max-load-modifier">Max Load Modifier</span></label>
<!--Minor/Major--><label class="sheet-asfItem" data-i18n-title="minor-major-text" title="Used to declare a Minor and Major. Used in ETU. Each field is a textarea so carriage returns and resizing are allowed."><input class='sheet-useMajor' type='checkbox' name='attr_majorminor' style='width: 15px;' /><span data-i18n="minor-major">Minor/Major</span></label>
<!--Motivation--><label class="sheet-asfItem" data-i18n-title="motivation-text" title="Motivation can be used in settings where the character's motivation is important, such All for One."><input type="checkbox" class="sheet-useMotivation" name="attr_a41motivation" style="width: 15px;" /><span data-i18n="motivation">Motivation</span></label>
<!--Occupation--><label class="sheet-asfItem" data-i18n-title="occupation-text" title="Can be used for any setting where a character's occupation is important."><input type="checkbox" class="sheet-useOccupation" name="attr_tlpOccupation" style="width: 15px;" /><span data-i18n="occupation">Occupation</span></label>
<!--Permanent Injuries--><label class="sheet-asfItem" data-i18n-title="permanent-injuries-text" title="Record the Character's Permanent Injuries."><input type="checkbox" class="sheet-useInjuries" name="attr_permInjuries" style="width: 15px;" /><span data-i18n="permanent-injuries">Permanent Injuries</span></label>
<!--Rippertech--><label class="sheet-asfItem" data-i18n-title="rippertech-text" title='Add Rippertech to the equipment section. Appropriate for Rippers'><input type='checkbox' class='sheet-useRippertech' name='attr_useRippertech' style='width: 15px;' /><span data-i18n="rippertech">Rippertech</span></label>
<!--Ship Name--><label class="sheet-asfItem" data-i18n-title="ship-name-text" title="Can be used for any setting where the characters may have a ship of some sort."><input type="checkbox" class="sheet-useShipName" name="attr_tlpShipName" style="width: 15px;" /><span data-i18n="ship-name">Ship Name</span></label>
<!--Talismans--><label class="sheet-asfItem" data-i18n-title="talismans-text" title="Shows Talismans repeating section on the Arcanum tab."><input class='sheet-useTalismans' type='checkbox' name='attr_talismans' value='1' style='width: 15px;' /><span data-i18n="talismans">Talismans</span></label>
<!--TAP Readout--><label class="sheet-asfItem" data-i18n-title="tap-readout-text" title="Displays the TAP Readout Information in one location. Used in the setting: Interface Zero 2.0"><input type="checkbox" class="sheet-usetap" name="attr_iztap" style="width: 15px;" /><span data-i18n="tap-readout">TAP Readout</span></label>
<!--Worst Nightmare--><label class="sheet-asfItem" data-i18n-title="worst-nightmare-text" title="Record the Character's Worst Nightmare. This is important for Deadlands, but may be useful for other settings where a character's worst dreams can come true."><input type="checkbox" class="sheet-useWorstNightmare" name="attr_worstNightmare" style="width: 15px;" /><span data-i18n="worst-nightmare">Worst Nightmare</span></label>
</div>
</div>
<div class='sheet-configSection'>
<input type="checkbox" class="sheet-hideSRM" name="attr_hideSRM" /><span class="sheet-showSRM"></span>
<h3 class='sheet-configSectionTitle' data-i18n="rules-modifications">Rules Modifications</h3>
<div class="sheet-srmconfig">
<label class="sheet-srmItem" data-i18n-title="use-charisma"><input type="checkbox" class="sheet-useCharisma" name="attr_usecharisma" checked /><span data-i18n="use-charisma">Use Charisma</span></label>
<label class="sheet-srmItem" data-i18n-title="power-pointless"><input type="checkbox" class="sheet-NoPP" name="attr_NoPPRule" /><span data-i18n="no-power-points">No Power Points</span></label>
<label class="sheet-srmItem" data-i18n-title="use-xp"><input type="checkbox" class="sheet-usexp" name="attr_usexp" checked /><span data-i18n="use-xp">Use Experience Points</span></label>
<label class="sheet-srmItem" data-i18n-title="gritty-damage"><input type='checkbox' class="sheet-usegritty" name='attr_gritty' value="{{getgritty=gritty}}" /> <span data-i18n="use-gritty-damage">Use Gritty Damage</span></label>
<input type='checkbox' class="sheet-usegritty" name='attr_gritty' value="{{getgritty=gritty}}" style="display: none;" />
<label class="sheet-srmItem sheet-injurytable" data-i18n-title="injury-table-name">Injury Table Name: <input type='text' class="sheet-injury" name="attr_injurytablename" /></label>
<label class="sheet-srmItem" data-i18n-title="use-xp"><input type="checkbox" name="attr_setrank" /><span data-i18n="manually-set-rank">Manually set Rank</span></label>
<label class="sheet-srmItem"><input type="checkbox" class="sheet-useCharisma" name="attr_paceignoreswounds" /><span data-i18n="pace-ignores-wounds">Pace Ignores Wounds</span></label>
<input type="checkbox" class="sheet-usexp" name="attr_usexp" style="display: none;" checked />
<label class="sheet-srmItem sheet-xpmod" data-i18n-title="roll-for-extra-xp-left-text"><input type='checkbox' name='attr_bennies' class='sheet-Bennies' value='1' /><span data-i18n="roll-extra-xp-for-bennies">Roll XP for un-/spent Bennies</span></label>
<label class="sheet-srmItem" data-i18n-title="variable-bonus-damage-die"><input type="checkbox" class="sheet-useRaiseHB" name="attr_RaiseHBRule" value="1" /><span data-i18n="variable-bonus-damage-raise-based">Variable Bonus Damage (Raise based)</span></label>
<label class="sheet-srmItem" data-i18n-title="variable-bonus-damage-die"><input type="checkbox" class="sheet-useRaiseHB" name="attr_RaiseHBRule" value="2" /><span data-i18n="variable-bonus-damage-edge-based">Variable Bonus Damage (Edge based)</span></label>
<label class="sheet-srmItem"><input type="checkbox" name="attr_usewealth" /> <span data-i18n="use-the-wealth-system">Use the Wealth System</span></label>
<label class="sheet-srmItem"><input type="checkbox" name="attr_useWealthMod" value="1" /> <span data-i18n="use-wealth-modifier-field">Use the Wealth Modifier field</span></label>
</div>
</div>
<!--<input class='sheet-sbButtonCheck' type='checkbox' style='display: none;' name='attr_initializeStatblock' />
<label class='sheet-isbButton' style='cursor: pointer; width: 150px;'><span data-i18n="initialize-statblock">Initialize Statblock</span><input type='checkbox' style='display: none;' name='attr_initializeStatblock' /></label>-->
</div>
<!-- -->
<!-- BEGIN RELEASE NOTES -->
<!-- -->
<div class="sheet-release">
<h3 class='subsectionHeader' data-i18n="release-notes">Release Notes</h3>
<label class="sheet-rowlabel">
<input type='checkbox' class='sheet-releasenotes' name='attr_releasenotes34' value='1' /><span class='sheet-releasenotes' style='color: red;'><h4 class="sheet-rnversion"><span data-i18n="version">Version</span> 3.4</h4></span>
</label>
<input type='checkbox' class='sheet-releasenotes' style='display: none;' name='attr_releasenotes33' value='1' />
<div class='sheet-releasenotes'>
<p data-i18n="changes-this-release">
Changes this release:
</p>
<ul>
<li><strong data-i18n="bug-fixes">Bug Fixes</strong></li>
<ul>
<li data-i18n="robot-armor-wasn't-working">Robot Armor Weapon wasn't working</li>
<li data-i18n="running-roll-output-wasnt-display-properly">Running Roll output wasn't displaying properly</li>
<li data-i18n="wounds-werent-reducing-pace">Wounds weren't reducing Pace</li>
<li data-i18n="derived-stats-not-using-sheet-workers">Derived Stats weren't using Sheet Workers and should have been.</li>
</ul>
<li><strong data-i18n="sheet-enhancements">Functionality Enhancements</strong></li>
<ul>
<li data-i18n="support-for-gritty-damage">Support for Gritty Damage (see documentation tab for details)</li>
<li data-i18n="option-to-move-advancements-to-journal">Option to move Advancements to the Journal Tab</li>
<li data-i18n="setting-to-allow-pace-to-ignore-wounds">Setting to allow Pace to ignore Wounds</li>
<li data-i18n="option-for-custom-wild-card-icon">Option for custom Wild Card Icon (supports unicode characters)</li>
<li data-i18n="statblock-output-button">Statblock Output button</li>
</ul>
<li><strong data-i18n="known-issues">Known Issues</strong></li>
<ul>
<li data-i18n="statblock-doesnt-support">Statblock Output Button doesn't currently output:</li>
<ul>
<li data-i18n="spell-information">Spell information</li>
<li data-i18n="talismans">Talismans</li>
<li data-i18n="cybernetics-slash-augmentations">Cybernetics/Augmentations</li>
<li data-i18n="rippertech">Rippertech</li>
</ul>
<li data-i18n="talismans-are-missing-from-sheet">Talismans are missing from the sheet completely</li>
</ul>
</ul>
</div>
<label class="sheet-rowlabel">
<input type='checkbox' class='sheet-releasenotes' name='attr_releasenotes33' value='1' /><span class='sheet-releasenotes' style='color: red;'><h4 class="sheet-rnversion"><span data-i18n="version">Version</span> 3.3</h4></span>
</label>
<input type='checkbox' class='sheet-releasenotes' style='display: none;' name='attr_releasenotes33' value='1' />
<div class='sheet-releasenotes'>
<p data-i18n="changes-this-release">
Changes this release:
</p>
<ul>
<li><strong data-i18n="bug-fixes">Bug Fixes</strong></li>
<ul>
<li data-i18n="power-armor-bug">Power Armor and Robot Armor Strength rolls (including Damage) were incorrect</li>
<li data-i18n="config-window-bug">Configuration Window had sections with odd displays for some users</li>
<li data-i18n="armor-stacking-bug">Armor stacking wasn’t working when all Protection values were 1</li>
<li data-i18n="fatiguemod-bug">Many rolls were getting an error due to fatigueMod not being found</li>
<li data-i18n="vigor-failed-bug">Vigor roll failed when Attributes were collapsed</li>
<li data-i18n="agility-roll-bug">Agility roll was odd when Attributes were collapsed</li>
<li data-i18n="occult-roll-bug">Occult rolls had an error</li>
</ul>
</ul>
</div>
<label class="sheet-rowlabel">
<input type='checkbox' class='sheet-releasenotes' name='attr_releasenotes32' value='1' /><span class='sheet-releasenotes' style='color: red;'><h4 class="sheet-rnversion"><span data-i18n="version">Version</span> 3.2</h4></span>
</label>
<input type='checkbox' class='sheet-releasenotes' style='display: none;' name='attr_releasenotes32' value='1' />
<div class='sheet-releasenotes'>
<p data-i18n="changes-this-release">
Changes this release:
</p>
<ul>
<li><strong data-i18n="bug-fixes">Bug Fixes</strong></li>
<ul>
<li data-i18n="internationalization-expansion">Various items were missing or had malformed data-i18n tags.</li>
<ul>
<li data-i18n="thanks-gronyon-for-your-help">Thanks Gronyon, for your help!</li>
</ul>
</ul>
<li><strong data-i18n="sheet-enhancements">Functionality Enhancements</strong></li>
<ul>
<li data-i18n="ability-to-rename-skills">Ability to rename skills</li>
<li data-i18n="nerves-of-steel-type-functionality-for-fatigue">Nerves of Steel type functionality for Fatigue</li>
<li data-i18n="wealth-modifier-for-wealth-rolls">Wealth modifier for Wealth Rolls</li>
</ul>
</ul>
</div>
<label class="sheet-rowlabel">
<input type='checkbox' class='sheet-releasenotes' name='attr_releasenotes31' value='1' /><span class='sheet-releasenotes' style='color: red;'><h4 class="sheet-rnversion"><span data-i18n="version">Version</span> 3.1</h4></span>
</label>
<input type='checkbox' class='sheet-releasenotes' style='display: none;' name='attr_releasenotes31' value='1' />
<div class='sheet-releasenotes'>
<p data-i18n="changes-this-release">
Changes this release:
</p>
<ul>
<li><strong data-i18n="bug-fixes">Bug Fixes</strong></li>
<ul>
<li data-i18n="language-skill-changed-to-native-language">Language Skill changed to Native Language for clarity</li>
<li data-i18n="athletics-linked-to-agility">Athletics now linked to Agility by default</li>
<li data-i18n="wrong-titles-age-gender-place">Wrong titles displaying for age, gender, and pace</li>
<li data-i18n="use-xp-rules-modification-fixed">Fixed the Use Experience Points rules modification</li>
<li data-i18n="fixed-whisper-for-hindrances-and-edges">Fixed the Whisper capability for Edges and updated with the correct roll template</li>
<li data-i18n="augments-no-hide">Augments weren't hiding when clicking the hide button</li>
<li data-i18n="whisper-checkboxes-for-whispering-spells">Missing checkbox for whispering spells rolls to chat has been found</li>
<li data-i18n="spells-section-now-hides">Spells section wasn't hiding when configuration section indicated it should be hidden</li>
<li data-i18n="removed-extra-space-in-rolltemplate">Removed the extra space in the roll template header when rolling a Custom Skill</li>
</ul>
<li><strong data-i18n="sheet-enhancements">Functionality Enhancements</strong></li>
<ul>
<li data-i18n="savage-worlds-adventure-edition-abbr-wealth-system">SWADE Wealth System</li>
<li data-i18n="completely-hide-load-and-encumbrance">Ability to completely hide Load/Encumbrance info</li>
<li data-i18n="variable-bonus-damage-edge-based">Variable Bonus Damage based on Edges rather than Raises</li>
<li data-i18n="unshake-button">Added an Unshake button</li>
<ul>
<li data-i18n="configure-in-other-sheet-tweaks">Shown by default, but can be hidden via the Configuration tab (Other Sheet Tweaks)</li>
</ul>
<li data-i18n="chat-out-button-for-spells">Added Chat Output button for Spells</li>
<li data-i18n="rate-of-fire-support">Rate of Fire support</li>
<li data-i18n="decimal-points-for-money">Decimal points can be used in the Money field</li>
</ul>
<li><strong data-i18n="sheet-enhancements">Usability Enhancements</strong></li>
<ul>
<li data-i18n="weapon-spell-config-section-different-color">Weapon and Spell config sections have a different background color to make them stand out a bit more</li>
<li data-i18n="made-money-field-longer">Lengthened the Money input field if it's the only field to display</li>
<li data-i18n="different-color-add-modify-remove-repeating-section-buttons">Repeating Fields (such as Weapons, Edges/Hindrances, etc) have different colored icons for modification; this is intended to help them stand out and be a little more visible</li>
<li data-i18n="trashcan-icon-larger">The trashcan icon to delet a repeating section row has been enlarged and made red so it's easier to see and click</li>
<li data-i18n="color-background-header-for-sections">Section headers Weapons, Spells, etc. have been given a background color to make them easier to find</li>
<li data-i18n="separate-field-for-power-trappings">Separate field for power Trappings</li>
<li data-i18n="action-button-for-weapon-spell-damage">Action button replaced readonly field for Weapon and Spell damage; opens the config section and highlights the damage fields</li>
</ul>
</ul>
</div>
<label class="sheet-rowlabel">
<input type='checkbox' class='sheet-releasenotes' name='attr_releasenotes' value='1' /><span class='sheet-releasenotes' style='color: red;'><h4 class="sheet-rnversion"><span data-i18n="version">Version</span> 3.0</h4></span>
</label>
<input type='checkbox' class='sheet-releasenotes' style='display: none;' name='attr_releasenotes' value='1' />
<div class='sheet-releasenotes'>
<p data-i18n="changes-this-release">
Changes this release:
</p>
<ul>
<li data-i18n="complete-rewrite-from-the-ground-up">Complete re-write from the ground up</li>
<ul>
<li data-i18n="about-half-the-size">The sheet is about half the size of it used to be</li>
</ul>
<li data-i18n="complete-visual-redesign">Complete visual redesign</li>
<ul>
<li data-i18n="layout-more-streamlined">This layout should be more streamlined</li>
<li data-i18n="commonly-used-features-on-one-page">The most commonly used features on one page</li>
<li data-i18n="moved-from-configuration">Moved some things from the configuration page for ease of use</li>
<ul>
<li data-i18n="running-die-on-main-page">The Running Die can now be changed on the main page</li>
<li data-i18n="nerves-of-steel-under-wounds">Nerves of Steel is now accessible under the Wounds configuration</li>
<li data-i18n="skill-specialization-under-skill-config">Skill Specialization is now toggle-able under the Skills configuration</li>
</ul>
</ul>
<li data-i18n="savage-worlds-adventure-edition-abbr-compatability">SWADE Compatibility</li>
<li data-i18n="insheet-documentation">In-sheet documentation</li>
<ul>
<li data-i18n="built-out-over-time">This will be built out over time</li>
</ul>
</ul>
</div>
</div>
<!-- -->
<!-- BEGIN DOCUMENTATION -->
<!-- -->
<div class='sheet-documentation'>
<h2 class='subsectionheader' data-i18n='documentation'>Documentation</h2>
<input type='checkbox' class='sheet-hideIntroSection' name='attr_is_intro' /><span class='sheet-showSection'></span>
<h3 class='sheet-configSectionTitle' data-i18n='introduction-shortened'>Intro</h3>
<div class='sheet-intro'>
<p class='sheet-docparagraph' data-i18n='intro-p1v1'>This sheet is designed to be more Core Rules focused, but does allow for some customization (such as changing the Wild Die type, or modifying the Bonus Damage from Raises, etc).</p>
<p class='sheet-docparagraph' data-i18n='intro-p2v1'>A quick note on character sheet conventions that apply to all sections:</p>
<ul>
<li><span class='sheet-pictos'>y</span>: <span data-i18n='cog-explanation'>Any place you see the cog icon, you can congfigure that item. In most places the cog is hidden until you hover over the configurable item; clicking the cog will force it to remain visible until clicked again.</span></li>
<li><span class='sheet-pictos'>J</span>/<span class='sheet-pictos'>E</span>:<span data-i18n='hide-n-show-explanation'>These two icons hide and show (respectively) the given section.</span></li>
</ul>
<p class='sheet-docparagraph' data-i18n='intro-p3v1'>This sheet includes all the necessary core data for a Savage Worlds character, but leverages the unique capabilities of Roll20. The sheet auto-calculates, Parry and Toughness and a few other setting specific/game expanding derived stats like Strain (cyberpunk) or Sanity (horror). Additionally, this sheet includes every skill from the <em>Savage Worlds Deluxe</em> and <em>Savage Worlds Adventure Edition</em> Core rules; there are also a few popular skills, such as Faith, Guts, etc.</p>
</div>
<input type='checkbox' class='sheet-hideMainViewSection' name='attr_is_main' /><span class='sheet-showSection'></span>
<h3 class='sheet-configSectionTitle'><span data-i18n='main-character-view'>Main Character View</span> <span class='sheet-pictos'>U</span></h3>
<div class='sheet-maincvpage'>
<p class='sheet-docparagraph' data-i18n='maincv-p1v1'>The Main Character View page contains the information that will be used mostly frequently. Here, you can: indicate whether the character is a Wild Card or an Extra, track your advances, manage your Attributes and Skills, etc.</p>
<h4 data-i18n='traits'>Traits</h4>
<h5 data-i18n='attributes'>Attributes</h5>
<p class='sheet-docparagraph' data-i18n='maincv-p2v1'>All five attributes have a drop down menu to select the die rank and a modifier field. The 'always' visible modifier field counts as part of the attribute rank—this means the field will usually be 0, but certain Edges can modify that. Each attribute can also be configured to Whisper the roll to the GM and also provides another modifier box; this second modifier field is really for Edges/Hindrances that may always modify a given attribute, but is not considered part of the rank.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p3v1'>If the Attribute section is 'hidden' a list of buttons will replace it; there is a button for each of the Core Attributes along with the current rank.</p>
<h5 data-i18n='skills'>Skills</h5>
<p class='sheet-docparagraph' data-i18n='maincv-p4v1'>The layout of the skills is identical to the Attributes section in terms of managing the Rank and modifier fields. There are a couple key differences, however.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p5v1'>One of the key differences is how to show each skill. Clicking the <span class='sheet-pictos'>x</span> icon will reveal the Skills Configuration panel. Here you can select optional rules, such as using Skill Specialization and/or Fencing styles and schoosl, and you can, also, select which skills to show on the character sheet. Fighting is shown by default, it's a skill that's used quite frequently and is necessary for calculating Parry. Selecting 'All' will check all the skills to be shown, selecting 'Core Skills' will show the <em>Savage Worlds Adventure Edition</em> Core skills (Athletics, Common Knowledge, Notice, Persuasion, and Stealth). When you're done configuring your skills, click the green <span class='sheet-pictos'>2</span> to close the panel.</p>
<h5 data-i18n='health-and-derived-stats'>Health and Derived Stats</h5>
<p class='sheet-docparagraph' data-i18n='maincv-p6v1'>Starting with Version 3.0 of this sheet, support for other conditions (e.g. Distracted, Vulnerable, and Stunned) is included. Any penalties to rolls as a result of these conditions is automatically accounted for in rolls made from the sheet. For great flexibility, the sheet allows you to set the maximum Wound and Fatigue levels; hoving over each field will show the configuration cog.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p7-v1'>The Core Derived stats (Pace, Parry, Toughness) automatically calculate based on the various inputs. For example, Parry will take the Fighting rank and determine the Base Parry score. Adding any sort of modifiers will then be taken into consideration and the final score will appear in the current column.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p8-v1'><strong>A Note on Toughness:</strong> The Toughness score is calculated per the book in terms of the Base. The Current column also includes any armor worn, however, it is only worn armor that covers the Torso; this is because non-called shots automatically target the Torso (per the rules).</p>
<h5 data-i18n='weapons'>Weapons</h5>
<p class='sheet-docparagraph' data-i18n='maincv-p9-v1'>Melee and Ranged weapons have been combined into a single section. This should help with keeping the clutter down, but also keep all the weapons in a single place, allowing for easier management. It also makes it easier for a weapon that is both Melee and Ranged to be documented in one place.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p13-v1'><em>Rolling Attack and Damage</em></p>
<p class='sheet-docparagraph' data-i18n='maincv-p14-v1'>Each weapon has a roll button, which can be set up to roll damage only, or Attack and Damage (Atk + Dmg). If the weapon has a rate of fire greater than 1, an additional option becomes available to support full-auto rolls; this option is called Atkx+Dmg. These options are available in the weapon config section (visible by default directly under the weapon—the section has a yellow-ish tint). To configure the roll button, select an option from the <b>Button Behavior</b> drop down menu.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p10-v2'>Setting the buttonroll to Atk + Dmg, will present a drop down menu to select which skill will be rolled for the Attack the Roll. The list of skills are only those which can normally be used for attacks, such as Fighting, Athletics/Throwing, Shooting, etc. </p>
<p class='sheet-docparagraph' data-i18n='maincv-p15-v1'>Configuring the damage is also done in this section. Weapons can use any of the Core Attributes (though it defaults to Strength), or none of them (N/A). The field directly after the Core Attribute drop down is for the number of dice typically rolled for damage followed immediately by the the die type. After the die type is a field for additional modifiers that are part of the damage. This field is not for situational modifiers, though. Additionally, this field is a text field, allowing you to add additional attack modifiers. Here are some examples:</p>
<ul>
<li data-i18n='rollexample1-v1'>N/A + 2d6 + __ (rolls 2d6)</li>
<li data-i18n='rollexample1-v2'>Strength + 1d4 + __ (rolls Str+d4)</li>
<li data-i18n='rollexample1-v3'>N/A + 2d6 + 1 (rolls 2d6+1)</li>
<li data-i18n='rollexample1-v4'>Strength + 1d10 + 1d8! (Rolls Str+d10+d8)</li>
<li data-i18n='rollexample1-v5'>N/A + 0d4 + __ (No damage to roll)</li>
</ul>
<p class='sheet-docparagraph' data-i18n='maincv-p16-v1'>Each weapon can be configured to whisper the roll(s) to the GM, as well as modify what the roll button does.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p17-v1'><em>Auto-fire</em></p>
<p class='sheet-docparagraph' data-i18n='maincv-p18-v1'>If the ROF is 2+ the Atkx+Dmg option becomes visible. By default this button is configured to present a query asking how many skill dice you’d like to roll; this query has a list of options counting down from the ROF to 1 (highest to lowest). This behavior can be changed to offer the query with the options listed from 1 to the ROF (lowest to highest), or to not present a roll query and just always roll the ROF. This configuration is handled under the Other Sheet Tweaks section of the configuration tab.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p19-v1'>When using the Atkx+Dmg button, the number of skill dice rolled will be however you have it configured (and whichever option you selected from the drop down), but will only every roll a single Wild Die.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p20-v1'>You can still select Atk + Dmg for the roll button, and that will only do a single attack and a single wild die.</p>
<p class='sheet-docparagraph' data-i18n='maincv-p21-v1'><b>NOTE</b>: If any weapon is configured for Auto-fire before you change the configuration for how auto-fire is handled, those weapons will not be automatically updated to use the new configuration…you will need to change the ROF and then change it back to get the new configuration</p>
<p class='sheet-docparagraph' data-i18n='maincv-p22-v1'><b>Pro Tip</b>: You can set the ROF to 2 for a melee weapon and use this option for things like Frenzy.</p>
<h5 data-i18n='powers'>Powers</h5>
<p class='sheet-docparagraph' data-i18n='maincv-p12-v1'>Powers have the same configuration options as Weapons; the skill selection drop down menu only contains Arcane skills, however.</p>
</div>
<input type='checkbox' class='sheet-hideVehicleSection' name='attr_is_vehicle' /><span class='sheet-showSection'></span>
<h3 class='sheet-configSectionTitle'><span data-i18n='vehicles'>Vehicles</span> <span class='sheet-pictos'>T</span></h3>
<div class='sheet-vehiclepage'>
<p class='sheet-docparagraph' data-i18n='vehicle-p1v1'>Vehicles page coming soon</p>
</div>
<input type='checkbox' class='sheet-hideJournalSection' name='attr_is_journal' /><span class='sheet-showSection'></span>
<h3 class='sheet-configSectionTitle'><span data-i18n='journal'>Journal</span> <span class='sheet-pictos'>n</span></h3>
<div class='sheet-journalpage'>
<p class='sheet-docparagraph' data-i18n='journal-p1v1'>Journal page coming soon</p>
</div>
<input type='checkbox' class='sheet-hideConfigSection' name='attr_is_config' /><span class='sheet-showSection'></span>
<h3 class='sheet-configSectionTitle'><span data-i18n='configuration'>Configuration</span> <span class='sheet-pictos'>x</span></h3>
<div class='sheet-configpage'>
<p class='sheet-docparagraph' data-i18n='config-p1v1'>The configuration window allows the GM and Player a little more control over various aspects of the character sheet. One can tweak the User Interface slightly by changing the Logo or the Background image. Additional tweaks include modifying how some of the fields display themselves, and even hiding some of the pages (like the Vehicle page).</p>
<p class='sheet-docparagraph' data-i18n='config-p2v1'>There are 8 groupings of configurations. They are:</p>
<ul>
<li data-i18n='quick-setting-configuration'>Quick Settings Configuration</li>
<ul>
<li data-i18n='quick-setting-explanation'>Automatically selects all the necessary fields for a particular setting</li>
</ul>
<li data-i18n='backgrounds'>Backgrounds</li>
<ul>
<li data-i18n='background-explanation'>Select a more theme appropriate background for your character sheet.</li>
</ul>
<li data-i18n='logos'>Logos</li>
<ul>
<li data-i18n='select-a-different-logo'>Select a different logo</li>
</ul>
<li data-i18n='other-sheet-tweaks'>Other Sheet Tweaks</li>
<ul>
<li data-i18n='hide-sections-explanation'>Hide different sections and tabs (e.g. Powers and Vehicles)</li>
<li data-i18n='configure-modifiers-explanation'>Configure modifiers; the sheet can prompt for roll modifiers and you can choose to have them display in the roll template when rolls are made</li>
<li data-i18n='configure-rate-of-fire-abbr-rolling'>Configure Rate of Fire rolling</li>
<li data-i18n="wild-card-icon-info">Wild Card Icon can be up to two (2) characters, including unicode. Some examples include (copy/paste from below):</li>
<textarea class="sheet-configtextarea" readonly name="attr_iconexamples">⊛ ✪ ♕ † ༒</textarea>
<li data-i18n='configure-api-settings'>Configure API settings</li>
</ul>
<li data-i18n='additional-derived-stats'>Additional Derived Stats</li>
<li data-i18n='field-name-replacements'>Field Name Replacements</li>
<li data-i18n='change-skill-names'>Change Skill Names</li>
<ul>
<li data-i18n="skills-can-be-named-anything">Skills can be named anything you like.</li>
<li data-i18n="changes-reflected-in-all-areas">Changes to skill names will be reflected in all areas of the character sheet</li>
</ul>
<li data-i18n='additional-setting-fields'>Additional Setting Fields</li>
<ul>
<li data-i18n='activities-and-exams'>Activies & Exams</li>
<li data-i18n='archetype'>Archetype</li>
<li data-i18n='conviction'>Conviction</li>
<li data-i18n='etcetera-abbr'>etc</li>
</ul>
<li data-i18n='rules-modifications'>Rules Modifications</li>
<ul>
<li data-i18n='use-charisma'>Use Charisma</li>
<li data-i18n='dont-use-power-points'>Don't use Power Points</li>
<li data-i18n='use-experience-points-explanation'>Use experinece points instead of the SWADE advancement mechanic</li>
<li data-i18n='use-gritty-damage'>Use Gritty Damage</li>
<ul>
<li>Selecting this option will add a roll button to the damage output of weapons and spells</li>
<li>You will need to specify the name of the Injury Table; a field will display for this input</li>
<li>The Injury Table needs to be a rollable table in order for this functionality to work</li>
<li>You can set up the Rollable with the following weights</li>
<table class="sheet-infotable">
<tr>
<th>Result (2d6)</th><th>Description</th><th>Sub-effect</th><th>Weight</th>
</tr>
<tr>
<td>2</td><td>Unmentionables</td><td>N/A</td><td>12</td>
</tr>
<tr>
<td>3-4</td><td>Arm</td><td>Left Arm</td><td>30</td>
</tr>
<tr>
<td>3-4</td><td>Arm</td><td>Right Arm</td><td>30</td>
</tr>
<tr>
<td>5-9</td><td>Guts</td><td>Broken</td><td>96</td>
</tr>
<tr>
<td>5-9</td><td>Guts</td><td>Battered</td><td>96</td>
</tr>
<tr>
<td>5-9</td><td>Guts</td><td>Busted</td><td>96</td>
</tr>
<tr>
<td>10-11</td><td>Leg</td><td>Left Leg</td><td>30</td>
</tr>
<tr>
<td>10-11</td><td>Leg</td><td>Right Leg</td><td>30</td>
</tr>
<tr>
<td>12</td><td>Head</td><td>Hideous Scar</td><td>6</td>
</tr>
<tr>
<td>12</td><td>Head</td><td>Blinded</td><td>4</td>
</tr>
<tr>
<td>12</td><td>Head</td><td>Brain Damage</td><td>2</td>
</tr>
</table>
</ul>
<li data-i18n='use-variable-die-type-bonus-damage-explanation'>Use variable die types for bonus damage (based on the number of raises)</li>
</ul>
</ul>
</div>
<input type='checkbox' class='sheet-hideReleaseSection' name='attr_is_release' /><span class='sheet-showSection'></span>
<h3 class='sheet-configSectionTitle'><span data-i18n='release-notes'>Release Notes</span> <span class='sheet-pictos'>N</span></h3>
<div class='sheet-releasepage'>
<p class='sheet-docparagraph' data-i18n='release-p1v1'>Release Notes page coming soon</p>
</div>
<input type='checkbox' class='sheet-hideDocSection' name='attr_is_doc' /><span class='sheet-showSection'></span>
<h3 class='sheet-configSectionTitle'><span data-i18n='documentation'>Documentation</span> <span class='sheet-pictos'>i</span></h3>
<div class='sheet-docpage'>
<p class='sheet-docparagraph' data-i18n='doc-p1v1'>Documentation page info coming soon</p>
</div>
</div>
</div>
</div>
</div>
<div class="sheet-disclaimer">
<input class="sheet-logo" type="hidden" name="attr_logo" />
<span data-i18n="the">The</span>&nbsp;<span class="sheet-logotext"></span>&nbsp;<span class="sheet-logostandard" data-i18n="logo-info">logo is a trademark of</span>&nbsp;<span class="sheet-trademarkholder"></span><span class="sheet-logoallforone" data-i18n="all-for-one-logo-info">logo &copy; 2016 Triple Ace Games Ltd. All for One: R&eacute;gime Diabolique and all related marks and logos are trademarks of Triple Ace Games Ltd. Ubiquity Roleplaying System, Exile Games Studio, and all associated logos and trademarks are copyright, Exile Games Studio, LLC</span><span class="sheet-logorifts" data-i18n="rifts-logo-info">logo and Megaverse are registered trademarks of PALLADIUM BOOKS, INC. All character names and likenesses are copyright and trademarks owned by Palladium Books, Inc. Savage Worlds logo is a trademark of Pinnacle Entertainment Group</span>. <span data-i18n="used-with-permission-visit-website">Used with permission. Visit their website at</span>:&nbsp;<span class="sheet-website"></span>
</div>
<!--- templates -->
<rolltemplate class="sheet-rolltemplate-roll">
<div class="sheet-templateMain">
{{^PowerTemplate}}
<h2 class="sheet-templateBlack">{{name}}</h2>
<h3 class="sheet-templateBlack">({{trait}}{{#source}}: {{source}}{{/source}})</h3>
{{/PowerTemplate}}
{{#PowerTemplate}}
<h2 class="sheet-templateBlue">{{name}}</h2>
<h3 class="sheet-templateBlue">{{trait}}{{#source}}: {{source}}{{/source}}</h3>
{{#trappings}}<h4 class="sheet-templateBlue">Trappings: {{trappings}}</h4>{{/trappings}}
{{/PowerTemplate}}
<div class="sheet-templateRoll sheet-trollLeft">
<span class="sheet-rollLabel">{{skill_rank}}</span>
<span class="sheet-rollContainer">{{skill_roll}}</span>
{{#rollGreater() numrolls 1}}
{{#skill_roll2}}<span class="sheet-rollContainer">{{skill_roll2}}</span>{{/skill_roll2}}
{{/rollGreater() numrolls 1}}
{{#rollGreater() numrolls 2}}
{{#skill_roll3}}<span class="sheet-rollContainer">{{skill_roll3}}</span>{{/skill_roll3}}
{{/rollGreater() numrolls 2}}
{{#rollGreater() numrolls 3}}
{{#skill_roll4}}<span class="sheet-rollContainer">{{skill_roll4}}</span>{{/skill_roll4}}
{{/rollGreater() numrolls 3}}
{{#rollGreater() numrolls 4}}
{{#skill_roll5}}<span class="sheet-rollContainer">{{skill_roll5}}</span>{{/skill_roll5}}
{{/rollGreater() numrolls 4}}
{{#rollGreater() numrolls 5}}
{{#allprops() skill_rank mook showtt showwounds showfatigue showdistracted showenc skill_roll skill_roll2 skill_roll3 skill_roll4 skill_roll5 name trait source PowerTemplate wild_die wild_die2 wild_die3 wild_die4 wild_die5 mods ttmod wounds fatigue distracted encumbrance notes button DmgRoll numrolls}}<span class="sheet-rollContainer">{{value}}</span>{{/allprops() skill_rank mook showtt showwounds showfatigue showdistracted showenc skill_roll skill_roll2 skill_roll3 skill_roll4 skill_roll5 name trait source PowerTemplate wild_die wild_die2 wild_die3 wild_die4 wild_die5 mods ttmod wounds fatigue distracted encumbrance notes button DmgRoll numrolls}}
{{/rollGreater() numrolls 5}}
</div>
<div class="sheet-templateRoll sheet-trollRight">
{{#^rollTotal() mook 0}}<span class="sheet-rollLabel">Wild Die</span>{{/^rollTotal() mook 0}}<!--Is a Wild Card-->
{{#rollTotal() mook 0}}<span class="sheet-rollLabel">Group/Crit Check</span>{{/rollTotal() mook 0}}<!--Is an Extra-->
<span class="sheet-rollContainer">{{wild_die}} </span>
{{#wild_die2}}<span class="sheet-rollContainer">{{wild_die2}}</span>{{/wild_die2}}
{{#wild_die3}}<span class="sheet-rollContainer">{{wild_die3}}</span>{{/wild_die3}}
{{#wild_die4}}<span class="sheet-rollContainer">{{wild_die4}}</span>{{/wild_die4}}
{{#wild_die5}}<span class="sheet-rollContainer">{{wild_die5}}</span>{{/wild_die5}}
</div>
{{#^rollTotal() mods 0}}
<div class="sheet-templateModifiers">
{{#^rollTotal() showtt 0}}Misc. Modifers: {{ttmod}}{{/^rollTotal() showtt 0}}{{#^rollTotal() showwounds 0}} Wounds: {{wounds}}{{/^rollTotal() showwounds 0}}{{#^rollTotal() showfatigue 0}} Fatigue: {{fatigue}}{{/^rollTotal() showfatigue 0}}{{#^rollTotal() showdistracted 0}} Distracted: {{distracted}}{{/^rollTotal() showdistracted 0}}{{#^rollTotal() showenc 0}} Enc: {{encumbrance}}{{/^rollTotal() showenc 0}}
</div>
{{/^rollTotal() mods 0}}
{{#notes}}
<div class="sheet-templateModifiers">
{{notes}}
</div>
{{/notes}}
{{#button}}
<div class="sheet-templateButton">
{{DmgRoll}}
</div>
{{/button}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-damage">
<div class="sheet-templateMain">
<h2>{{name}}</h2>
<h3>{{source}}{{#rollGreater() showap 0}} (<span data-i18n="armor-piercing-abbr-u">AP</span>: {{ap}}){{/rollGreater() showap 0}}</h3>
<div class="sheet-templateRoll sheet-trollLeft">
<span class="sheet-rollLabel">{{dmg_rank}}</span>
<span class="sheet-rollContainer">{{dmg_roll}} </span>
{{#dmg_roll2}}<span class="sheet-rollContainer">{{dmg_roll2}}</span>{{/dmg_roll2}}
{{#dmg_roll3}}<span class="sheet-rollContainer">{{dmg_roll3}}</span>{{/dmg_roll3}}
{{#dmg_roll4}}<span class="sheet-rollContainer">{{dmg_roll4}}</span>{{/dmg_roll4}}
{{#dmg_roll5}}<span class="sheet-rollContainer">{{dmg_roll5}}</span>{{/dmg_roll5}}
</div>
<div class="sheet-templateRoll sheet-trollRight">
<span class="sheet-rollLabel">Bonus Damage</span>
<span class="sheet-rollContainer">{{bonus_die}} </span>
{{#bonus_die2}}<span class="sheet-rollContainer">{{bonus_die2}}</span>{{/bonus_die2}}
{{#bonus_die3}}<span class="sheet-rollContainer">{{bonus_die3}}</span>{{/bonus_die3}}
{{#bonus_die4}}<span class="sheet-rollContainer">{{bonus_die4}}</span>{{/bonus_die4}}
{{#bonus_die5}}<span class="sheet-rollContainer">{{bonus_die5}}</span>{{/bonus_die5}}
</div>
{{#notes}}
<div class="sheet-templateModifiers">
{{notes}}
</div>
{{/notes}}
{{#button}}
<div class="sheet-templateButton">
{{DmgRoll}}
</div>
{{/button}}
{{#getgritty}}
<div class="sheet-templateButton">
{{GrittyRoll}}
</div>
{{/getgritty}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-info">
<div class="sheet-templateMain">
<h2 class="sheet-templateheader">{{name}}</h2>
<h3 class="sheet-templatesubheader">{{item}}{{#type}} ({{type}}){{/type}}</h3>
<div class="sheet-templatedescription">
{{#description}}{{description}}{{/description}}
{{#allprops() description item type}}<p><strong>{{key}}:</strong> {{value}}</p>{{/allprops() description item type}}
</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-description">
<table class="sheet-templatetable">
<tr>
<td class="sheet-theader">
<span style="display:block;">{{name}}</span>
<span style="display:block;">{{item}} {{#type}}({{type}}){{/type}}</span>
</td>
</tr>
<tr>
<td>{{description}}</td>
</tr>
</table>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-unshake">
<div class="sheet-emoteish">
{{name}} <span data-i18n="unshake-desc1">attempts to unshake (Spi</span>: {{skill_roll}} / <span data-i18n="unshake-desc2">Wild</span>: {{wild_die}}) <span data-i18n="unshake-desc3">and</span>
{{#rollGreater() skill_roll wild_die}}
{{#rollGreater() skill_roll 3}}<span data-i18n="unshake-desc4">succeeds</span>! {{name}} <span data-i18n="unshake-desc5">can now act</span>.{{/rollGreater() skill_roll 3}}
{{#^rollGreater() skill_roll 3}}<span data-i18n="unshake-desc6">fails</span>!{{/^rollGreater() skill_roll 3}}
{{/rollGreater() skill_roll wild_die}}
{{#rollGreater() wild_die skill_roll}}
{{#rollGreater() wild_die 3}}<span data-i18n="unshake-desc4">succeeds</span>! {{name}} <span data-i18n="unshake-desc5">can now act</span>.{{/rollGreater() wild_die 3}}
{{#^rollGreater() wild_die 3}}<span data-i18n="unshake-desc6">fails</span>!{{/^rollGreater() wild_die 3}}
{{/rollGreater() wild_die skill_roll}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-running">
<div class="sheet-emoteish">
{{name}} <span data-i18n="runs">runs for</span> {{roll}} <span data-i18n="inches">inches</span>.
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-emote">
<div class="sheet-emoteish">
{{name}} {{does}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-gritty">
<div class="sheet-card">
<h2 data-i18n="injury-roll">Injury Roll</h2>
<div class='sheet-injuryresult'>{{result}}</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-statblock">
<div class="sheet-statblockheader">
<h2 class="sheet-fullwidth">{{#wci}}{{wci}} {{/wci}}{{name}}</h2>
</div>
<div class="sheet-statblockbod">
{{#description}}<div class="sheet-justify">{{description}}</div>{{/description}}
{{#charatts}}<div class="sheet-bodsection">**<span data-i18n="attributes">Attributes</span>**: {{charatts}}</div>{{/charatts}}
{{#charskills}}<div class="sheet-bodsection">**<span data-i18n="skills">Skills</span>**: {{charskills}}</div>{{/charskills}}
{{#charderived}}<div class="sheet-bodsection">{{charderived}}</div>{{/charderived}}
{{#chargear}}<div class="sheet-bodsection">**<span data-i18n="gear">Gear</span>**: {{chargear}}</div>{{/chargear}}
{{#charhindrances}}<div class="sheet-bodsection">**<span data-i18n="hindrances">Hindrances</span>**: {{charhindrances}}</div>{{/charhindrances}}
{{#charedges}}<div class="sheet-bodsection">**<span data-i18n="edges">Edges</span>**: {{charedges}}</div>{{/charedges}}
{{#rollGreater() showspec 0}}{{#charspecabilities}}<div class="sheet-bodsection">**<span data-i18n="special-abilities">Special Abilities</span>**:<br /><ul>{{charspecabilities}}</ul></div>{{/charspecabilities}}{{/rollGreater() showspec 0}}
{{#charpowers}}<div class="sheet-bodsection">**{{power label}}**: {{charpowers}}</div>{{/charpowers}}
</div>
</rolltemplate>