diff --git a/AD&D 2E Revised/2ESheet.html b/AD&D 2E Revised/2ESheet.html
index 3e60472892..86aabcbf08 100644
--- a/AD&D 2E Revised/2ESheet.html
+++ b/AD&D 2E Revised/2ESheet.html
@@ -18338,34 +18338,36 @@ function recursiveSum(tail, acc) {
console.log(`Recursion ended for spells${head}. Current sum is ${acc}`);
}
-function spellCastSum(sections) {
- sections.forEach(section => {
- on(`change:repeating_spells${section}:cast-value${section} remove:repeating_spells${section}`, function () {
+function setupSpellCastSum(allSections) {
+ allSections.forEach(levelSections => {
+ levelSections.forEach(section => {
+ on(`change:repeating_spells${section}:cast-value${section} remove:repeating_spells${section}`, function () {
- console.log(`Summing started by section spell${section}`);
- let levelsCopy = [...sections];
- let accumulator = 0;
+ console.log(`Summing started by section spell${section}`);
+ let levelsCopy = [...levelSections];
+ let accumulator = 0;
- recursiveSum(levelsCopy, accumulator);
+ recursiveSum(levelsCopy, accumulator);
- console.log(`Summing ended by section spell${section}. Final sum is ${accumulator}`);
+ console.log(`Summing ended by section spell${section}. Final sum is ${accumulator}`);
+ });
});
});
}
-spellCastSum(wizardSpellSections);
-spellCastSum(priestSpellSections);
+setupSpellCastSum(wizardSpellSections);
+setupSpellCastSum(priestSpellSections);
-function spellSlotsTotal (levels, prefix, uniqueField) {
+function setupSpellSlotsTotal (levels, prefix, uniqueField) {
levels.forEach(level => {
- let castable = `${prefix}${level}-castable`;
- let uniqueField = `${prefix}${level}-${uniqueField}`;
- let misc = `${prefix}${level}-misc`;
- on(`change:${castable} change:${uniqueField} change:${misc}`, function (){
- getAttrs([castable, uniqueField, misc], function (values) {
- let intCastable = parseInt(values[castable]) || 0;
- let intUniqueField = parseInt(values[uniqueField]) || 0;
- let intMisc = parseInt(values[misc]) || 0;
+ let castableFieldName = `${prefix}${level}-castable`;
+ let uniqueFieldName = `${prefix}${level}-${uniqueField}`;
+ let miscFieldName = `${prefix}${level}-misc`;
+ on(`change:${castableFieldName} change:${uniqueFieldName} change:${miscFieldName}`, function (){
+ getAttrs([castableFieldName, uniqueFieldName, miscFieldName], function (values) {
+ let intCastable = parseInt(values[castableFieldName]) || 0;
+ let intUniqueField = parseInt(values[uniqueFieldName]) || 0;
+ let intMisc = parseInt(values[miscFieldName]) || 0;
let total = intCastable + intUniqueField + intMisc;
console.log(total);
@@ -18380,8 +18382,8 @@ function spellSlotsTotal (levels, prefix, uniqueField) {
let wizardLevels = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15'];
let priestLevels = ['1', '2', '3', '4', '5', '6', '7', 'q'];
-spellSlotsTotal(wizardLevels, 'spell-level', 'specialist');
-spellSlotsTotal(priestLevels, 'spell-priest-level', 'wisdom');
+setupSpellSlotsTotal(wizardLevels, 'spell-level', 'specialist');
+setupSpellSlotsTotal(priestLevels, 'spell-priest-level', 'wisdom');
//Level 1 Wizard Spells
on('change:repeating_spells remove:repeating_spells', function(){