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) } })})