Here's the wiki on how to use sheet workers . And here's a snippet of how I did something similar in the Savage Worlds (Tabbed) sheet: //Set Rank according to the XP value
on("sheet:opened change:xp change:rank", function() {
getAttrs(["xp", "rank", "class"], function(value) {
console.log("xp value: " + value.xp);
console.log("rank value: " + value.rank);
var xpVal = parseInt(value.xp)||0;
console.log(xpVal);
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});
}
});
});
//End Rank