77 lines
No EOL
2.4 KiB
JavaScript
77 lines
No EOL
2.4 KiB
JavaScript
const renderHealthBoxes = () => {
|
|
//let physicalBoxes = calculateBoxes('physical')
|
|
//let stunBoxes = calculateBoxes('stun')
|
|
//let overflowBoxes = calculateBoxes('overflow')
|
|
for (let j = 0; j < 12; j++) {
|
|
let newRowId = generateRowID()
|
|
let tempObject = {}
|
|
tempObject[`repeating_physicaltracker_${newRowId}_boxNum`] = j
|
|
tempObject[`repeating_physicaltracker_${newRowId}_woundMod`] = Math.trunc(j / 3) * -1
|
|
tempObject[`repeating_physicaltracker_${newRowId}_isCrossed`] = 'false'
|
|
setAttrs(tempObject)
|
|
}
|
|
}
|
|
|
|
const clearAllHealthBoxes = () => {
|
|
getSectionIDs('physicaltracker', function (ids) {
|
|
ids.forEach(id => {
|
|
removeRepeatingRow(`repeating_physicaltracker_${id}`)
|
|
});
|
|
})
|
|
}
|
|
|
|
const clearTracker = (tracker, resetWounds) => {
|
|
getSectionIDs(`${tracker}tracker`, function (ids) {
|
|
let tempObject = {}
|
|
ids.forEach(id => {
|
|
tempObject[`repeating_${tracker}tracker_${id}_isCrossed`] = 'false'
|
|
});
|
|
if (resetWounds) {
|
|
tempObject[`${tracker}Wounds`] = 0
|
|
}
|
|
setAttrs(tempObject)
|
|
})
|
|
}
|
|
|
|
const setTrackerTo = (tracker, toId) => {
|
|
clearTracker(tracker, false)
|
|
getSectionIDs(`${tracker}tracker`, function (ids) {
|
|
let tempObject = {}
|
|
ids.forEach(id => {
|
|
getAttrs([`repeating_${tracker}tracker_${id}_boxNum`], function (values) {
|
|
if (values[`repeating_${tracker}tracker_${id}_boxNum`] <= toId) {
|
|
tempObject[`repeating_${tracker}tracker_${id}_isCrossed`] = 'true'
|
|
} else {
|
|
tempObject[`repeating_${tracker}tracker_${id}_isCrossed`] = 'false'
|
|
}
|
|
if (values[`repeating_${tracker}tracker_${id}_boxNum`] == toId) {
|
|
tempObject[`${tracker}Wounds`] = toId + 1
|
|
console.log(tempObject)
|
|
setAttrs(tempObject)
|
|
}
|
|
})
|
|
})
|
|
})
|
|
}
|
|
|
|
on('clicked:testBox', function() {
|
|
renderHealthBoxes()
|
|
})
|
|
|
|
on('clicked:clearBoxes', function() {
|
|
clearAllHealthBoxes()
|
|
})
|
|
|
|
on('clicked:repeating_physicaltracker:check-phys', function (ev) {
|
|
getAttrs(['repeating_physicaltracker_boxNum', 'repeating_physicaltracker_isCrossed', 'physicalWounds'], function (values) {
|
|
let _isCrossed = values.repeating_physicaltracker_isCrossed
|
|
let _boxId = values.repeating_physicaltracker_boxNum
|
|
let _physicalWounds = values.physicalWounds
|
|
if (_isCrossed === 'false') {
|
|
setTrackerTo('physical', _boxId)
|
|
} else if (_physicalWounds - 1 != _boxId) {
|
|
setTrackerTo('physical', _boxId)
|
|
} else {
|
|
clearTracker('physical', true)
|
|
}
|
|
})}) |