SR6_Roll20_Sheet/output/main.html

345 lines
No EOL
17 KiB
HTML

<div class="charsheet-wrapper">
<input class="sheet-tabstoggle" type="hidden" name="attr_sheetTab" value="main">
<div class="tabflex">
<!-- ANCHOR: Tab Buttons-->
<input class="sheet-tabstoggle" type="hidden" name="attr_sheetTab" value="main">
<button class="tabbtn" type="action" name="act_main">Main</button>
<button class="tabbtn" type="action" name="act_skills">Skills</button>
<button class="tabbtn" type="action" name="act_magic">Magic</button>
<button class="tabbtn" type="action" name="act_enhancements">Enhancements</button>
<button class="tabbtn" type="action" name="act_matrix">Matrix</button>
<button class="tabbtn" type="action" name="act_vehicles">Vehicles</button>
<button class="tabbtn" type="action" name="act_equipment">Equipment</button>
<button class="tabbtn" type="action" name="act_character">Character</button>
</div>
<div class="img-wrapper"><img src="https://talasu.files.wordpress.com/2019/05/sr6_title.png" alt="SR6 Logo"></div>
<div class="gmroll">
<!-- ANCHOR: Toggle Buttons-->
<input class="toggmroll" type="hidden" name="attr_gmroll">
<input class="togedge" type="hidden" name="attr_edgeroll">
<button class="togbtn" type="action" name="act_toggmroll">GM </button>
<button class="togbtn" type="action" name="act_togedge">Edge</button>
</div>
<div class="tab main-tab">
<div class="generic-grid">
<div class="ability-box">
<h2>Attributes</h2>
<div class="abilityBox">
<p class="abilityLabel"></p>
<p class="abilityLabel">Rating</p>
<p class="abilityLabel"></p>
<p class="abilityLabel">Mod</p>
<p class="abilityLabel"></p>
<p class="abilityLabel">Pool</p>
<p class="abilityLabel">Roll</p>
<input type="hidden" name="attr_abilityname_Bod" value="Body"><span name="attr_abilityname_bod"></span>
<input type="number" name="attr_abilityrtg_bod" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_bod" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_bod" value="@{abilityrtg_bod}+@{abilitymod_bod}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Agi" value="Agility"><span name="attr_abilityname_agi"></span>
<input type="number" name="attr_abilityrtg_agi" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_agi" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_agi" value="@{abilityrtg_agi}+@{abilitymod_agi}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Rea" value="Reaction"><span name="attr_abilityname_rea"></span>
<input type="number" name="attr_abilityrtg_rea" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_rea" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_rea" value="@{abilityrtg_rea}+@{abilitymod_rea}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Str" value="Strength"><span name="attr_abilityname_str"></span>
<input type="number" name="attr_abilityrtg_str" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_str" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_str" value="@{abilityrtg_str}+@{abilitymod_str}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Wil" value="Willpower"><span name="attr_abilityname_wil"></span>
<input type="number" name="attr_abilityrtg_wil" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_wil" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_wil" value="@{abilityrtg_wil}+@{abilitymod_wil}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Log" value="Logic"><span name="attr_abilityname_log"></span>
<input type="number" name="attr_abilityrtg_log" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_log" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_log" value="@{abilityrtg_log}+@{abilitymod_log}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Int" value="Intuition"><span name="attr_abilityname_int"></span>
<input type="number" name="attr_abilityrtg_int" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_int" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_int" value="@{abilityrtg_int}+@{abilitymod_int}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Cha" value="Charisma"><span name="attr_abilityname_cha"></span>
<input type="number" name="attr_abilityrtg_cha" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_cha" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_cha" value="@{abilityrtg_cha}+@{abilitymod_cha}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Mag" value="Magic"><span name="attr_abilityname_mag"></span>
<input type="number" name="attr_abilityrtg_mag" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_mag" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_mag" value="@{abilityrtg_mag}+@{abilitymod_mag}" disabled="true">
<button type="roll"></button>
<input type="hidden" name="attr_abilityname_Edg" value="Edge"><span name="attr_abilityname_edg"></span>
<input type="number" name="attr_abilityrtg_edg" value="1">
<p>+</p>
<input type="number" name="attr_abilitymod_edg" value="0">
<p>=</p>
<input type="number" name="attr_abilitypool_edg" value="@{abilityrtg_edg}+@{abilitymod_edg}" disabled="true">
<button type="roll"></button>
</div>
</div>
<div class="healthBox">
<h2>Damage Tracks</h2>
<div class="healthBox">
<button class="interact-button" type="action" name="act_renderPhysBoxes" title="%{renderPhysBoxes}" value="3">Re-Render Boxes</button>
<button type="action" name="act_testBox" title="%{testBox}" value="2">Add</button>
<button type="action" name="act_clearBoxes" title="%{clearBoxes}" value="1">Remove</button>
<div class="healthTrackerGrid">
<fieldset class="repeating_stuntracker">
<input type="hidden" name="attr_boxNum" value="0">
<input type="hidden" name="attr_isCrossed" value="false">
<input type="hidden" name="attr_woundMod" value="0">
<button type="action" name="act_check-tracker" value="3"><span class="woundModDisplay" name="attr_woundMod">0</span>
<div></div>
</button>
</fieldset>
<fieldset class="repeating_physicaltracker">
<input type="hidden" name="attr_boxNum" value="0">
<input type="hidden" name="attr_isCrossed" value="false">
<input type="hidden" name="attr_woundMod" value="0">
<button type="action" name="act_check-tracker" value="3"><span class="woundModDisplay" name="attr_woundMod">0</span>
<div></div>
</button>
</fieldset>
<fieldset class="repeating_overflowtracker">
<input type="hidden" name="attr_boxNum" value="0">
<input type="hidden" name="attr_isCrossed" value="false">
<input type="hidden" name="attr_woundMod" value="0">
<button type="action" name="act_check-tracker" value="3"><span class="woundModDisplay" name="attr_woundMod">0</span>
<div></div>
</button>
</fieldset>
</div>
</div>
</div>
<div class="attr-rolls">
<h2>Attribute Rolls</h2>
<div class="attr-rolls-grid">
<p>Surprise (R+I)</p>
<button type="roll"></button>
<p>Composure (C+W)</p>
<button type="roll"></button>
<p>Judge Intentions (C+I)</p>
<button type="roll"></button>
<p>Memory (L+W)</p>
<button type="roll"></button>
<p>Poison/Drug (B+W)</p>
<button type="roll"></button>
<p>Carry/Lift (B+S)</p>
<button type="roll"></button>
</div>
</div>
<div class="attr-container"></div>
</div>
</div>
</div>
<script type="text/worker">var srTabs = [
"main",
"skills",
"magic",
"enhancements",
"matrix",
"vehicles",
"equipment",
"character"
];
srTabs.forEach(function(tab) {
on("clicked:".concat(tab), function() {
setAttrs({
"sheetTab": tab
});
});
});
on("clicked:togedge", function() {
getAttrs([
"edgeroll",
"gmroll"
], function(values) {
var _edgeroll;
var currentVal = (_edgeroll = values.edgeroll) !== null && _edgeroll !== void 0 ? _edgeroll : "";
var newVal = "";
if (currentVal === "") newVal = "!/";
console.log("Setting Edge Value to: " + newVal);
setAttrs({
"edgeroll": newVal
});
});
});
on("clicked:toggmroll", function() {
getAttrs([
"gmroll",
"edgeroll"
], function(values) {
var _gmroll;
var currentVal = (_gmroll = values.gmroll) !== null && _gmroll !== void 0 ? _gmroll : "";
var newVal = "";
if (currentVal === "") newVal = "/w gm ";
console.log("Setting GM roll Value to: " + newVal);
setAttrs({
"gmroll": newVal
});
});
});
var renderHealthBoxes = function renderHealthBoxes() {
//let physicalBoxes = calculateBoxes('physical')
//let stunBoxes = calculateBoxes('stun')
//let overflowBoxes = calculateBoxes('overflow')
var tempObject = {};
for(var j = 0; j < 12; j++){
var newRowId = generateRowID();
console.log("Generating Physical Row Number: ".concat(j));
while(tempObject["repeating_physicaltracker_".concat(newRowId, "_boxNum")] != j){
tempObject["repeating_physicaltracker_".concat(newRowId, "_boxNum")] = j;
tempObject["repeating_physicaltracker_".concat(newRowId, "_woundMod")] = Math.trunc(j / 3) * -1;
tempObject["repeating_physicaltracker_".concat(newRowId, "_isCrossed")] = "false";
}
}
for(var j1 = 0; j1 < 12; j1++){
var newRowId1 = generateRowID();
console.log("Generating Stun Row Number: ".concat(j1));
while(tempObject["repeating_stuntracker_".concat(newRowId1, "_boxNum")] != j1){
tempObject["repeating_stuntracker_".concat(newRowId1, "_boxNum")] = j1;
tempObject["repeating_stuntracker_".concat(newRowId1, "_woundMod")] = Math.trunc(j1 / 3) * -1;
tempObject["repeating_stuntracker_".concat(newRowId1, "_isCrossed")] = "false";
}
}
for(var j2 = 0; j2 < 12; j2++){
var newRowId2 = generateRowID();
console.log("Generating Overflow Row Number: ".concat(j2));
while(tempObject["repeating_overflowtracker_".concat(newRowId2, "_boxNum")] != j2){
tempObject["repeating_overflowtracker_".concat(newRowId2, "_boxNum")] = j2;
tempObject["repeating_overflowtracker_".concat(newRowId2, "_woundMod")] = Math.trunc(j2 / 3) * -1;
tempObject["repeating_overflowtracker_".concat(newRowId2, "_isCrossed")] = "false";
}
}
console.log(tempObject);
setAttrs(tempObject);
};
var clearAllHealthBoxes = function clearAllHealthBoxes() {
getSectionIDs("physicaltracker", function(ids) {
ids.forEach(function(id) {
removeRepeatingRow("repeating_physicaltracker_".concat(id));
});
});
getSectionIDs("stuntracker", function(ids) {
ids.forEach(function(id) {
removeRepeatingRow("repeating_stuntracker_".concat(id));
});
});
getSectionIDs("overflowtracker", function(ids) {
ids.forEach(function(id) {
removeRepeatingRow("repeating_overflowtracker_".concat(id));
});
});
};
var calculateBoxes = function calculateBoxes(tracker, stat, freeBoxes, woundReduction) {
var trackerInfo = {};
trackerInfo.tracker = tracker;
trackerInfo.startWoundCalc = freeBoxes;
trackerInfo.normalBoxes = Math.trunc(stat / 2) + 8 + freeBoxes;
};
var clearTracker = function clearTracker(tracker, resetWounds) {
getSectionIDs("".concat(tracker, "tracker"), function(ids) {
var tempObject = {};
ids.forEach(function(id) {
tempObject["repeating_".concat(tracker, "tracker_").concat(id, "_isCrossed")] = "false";
});
if (resetWounds) tempObject["".concat(tracker, "Wounds")] = 0;
setAttrs(tempObject);
});
};
var setTrackerTo = function setTrackerTo(tracker, toId) {
clearTracker(tracker, false);
getSectionIDs("".concat(tracker, "tracker"), function(ids) {
var tempObject = {};
ids.forEach(function(id) {
getAttrs([
"repeating_".concat(tracker, "tracker_").concat(id, "_boxNum")
], function(values) {
if (values["repeating_".concat(tracker, "tracker_").concat(id, "_boxNum")] <= toId) tempObject["repeating_".concat(tracker, "tracker_").concat(id, "_isCrossed")] = "true";
else tempObject["repeating_".concat(tracker, "tracker_").concat(id, "_isCrossed")] = "false";
if (values["repeating_".concat(tracker, "tracker_").concat(id, "_boxNum")] == toId) {
tempObject["".concat(tracker, "Wounds")] = toId + 1;
setAttrs(tempObject);
}
});
});
});
};
on("clicked:testBox", function() {
renderHealthBoxes();
});
on("clicked:clearBoxes", function() {
clearAllHealthBoxes();
});
on("clicked:repeating_physicaltracker:check-tracker", function(ev) {
getAttrs([
"repeating_physicaltracker_boxNum",
"repeating_physicaltracker_isCrossed",
"physicalWounds"
], function(values) {
var _isCrossed = values.repeating_physicaltracker_isCrossed;
var _boxId = values.repeating_physicaltracker_boxNum;
var _physicalWounds = values.physicalWounds;
if (_isCrossed === "false") setTrackerTo("physical", _boxId);
else if (_physicalWounds - 1 != _boxId) setTrackerTo("physical", _boxId);
else clearTracker("physical", true);
});
});
on("clicked:repeating_stuntracker:check-tracker", function(ev) {
getAttrs([
"repeating_stuntracker_boxNum",
"repeating_stuntracker_isCrossed",
"stunWounds"
], function(values) {
var _isCrossed = values.repeating_stuntracker_isCrossed;
var _boxId = values.repeating_stuntracker_boxNum;
var _wounds = values.stunWounds;
if (_isCrossed === "false") setTrackerTo("stun", _boxId);
else if (_wounds - 1 != _boxId) setTrackerTo("stun", _boxId);
else clearTracker("stun", true);
});
});
on("clicked:repeating_overflowtracker:check-tracker", function(ev) {
getAttrs([
"repeating_overflowtracker_boxNum",
"repeating_overflowtracker_isCrossed",
"overflowWounds"
], function(values) {
var _isCrossed = values.repeating_overflowtracker_isCrossed;
var _boxId = values.repeating_overflowtracker_boxNum;
var _wounds = values.overflowWounds;
if (_isCrossed === "false") setTrackerTo("overflow", _boxId);
else if (_wounds - 1 != _boxId) setTrackerTo("overflow", _boxId);
else clearTracker("overflow", true);
});
});
</script>