From 88d9707b3f1ff970adbd943b3183e1c2262e909a Mon Sep 17 00:00:00 2001 From: Peter Bjerg Lidegaard Date: Tue, 16 Jan 2024 18:29:52 +0100 Subject: [PATCH] Small refactor for scrolls datalists. --- ADnD_2E_Revised/2ESheet.html | 125 ++++++++++++++++++ .../html/components/dynamicDatalists.html | 100 ++++++++++++++ ADnD_2E_Revised/pug/spellScrollsDatalists.pug | 26 +++- 3 files changed, 247 insertions(+), 4 deletions(-) diff --git a/ADnD_2E_Revised/2ESheet.html b/ADnD_2E_Revised/2ESheet.html index e627938accb..3b99842ee0c 100644 --- a/ADnD_2E_Revised/2ESheet.html +++ b/ADnD_2E_Revised/2ESheet.html @@ -22475,6 +22475,7 @@

Monster Sheet specific

+ @@ -22493,6 +22494,7 @@

Monster Sheet specific

+ @@ -22548,6 +22550,7 @@

Monster Sheet specific

+ @@ -22560,10 +22563,13 @@

Monster Sheet specific

+ + + @@ -22606,6 +22612,7 @@

Monster Sheet specific

+ @@ -22638,6 +22645,7 @@

Monster Sheet specific

+ @@ -22645,8 +22653,10 @@

Monster Sheet specific

+ + @@ -22721,6 +22731,7 @@

Monster Sheet specific

+ @@ -22746,6 +22757,7 @@

Monster Sheet specific

+ @@ -22765,8 +22777,10 @@

Monster Sheet specific

+ + @@ -22778,6 +22792,7 @@

Monster Sheet specific

+ @@ -22799,6 +22814,7 @@

Monster Sheet specific

+ @@ -22822,6 +22838,7 @@

Monster Sheet specific

+ @@ -22854,6 +22871,7 @@

Monster Sheet specific

+ @@ -22869,8 +22887,10 @@

Monster Sheet specific

+ + @@ -22889,6 +22909,7 @@

Monster Sheet specific

+ @@ -22975,6 +22996,7 @@

Monster Sheet specific

+ @@ -22987,6 +23009,7 @@

Monster Sheet specific

+ @@ -22995,6 +23018,7 @@

Monster Sheet specific

+ @@ -23008,6 +23032,7 @@

Monster Sheet specific

+ @@ -23028,6 +23053,7 @@

Monster Sheet specific

+ @@ -23046,6 +23072,7 @@

Monster Sheet specific

+ @@ -23099,6 +23126,7 @@

Monster Sheet specific

+ @@ -23111,10 +23139,13 @@

Monster Sheet specific

+ + + @@ -23157,6 +23188,7 @@

Monster Sheet specific

+ @@ -23187,6 +23219,7 @@

Monster Sheet specific

+ @@ -23194,8 +23227,10 @@

Monster Sheet specific

+ + @@ -23268,6 +23303,7 @@

Monster Sheet specific

+ @@ -23293,6 +23329,7 @@

Monster Sheet specific

+ @@ -23310,8 +23347,10 @@

Monster Sheet specific

+ + @@ -23323,6 +23362,7 @@

Monster Sheet specific

+ @@ -23344,6 +23384,7 @@

Monster Sheet specific

+ @@ -23367,6 +23408,7 @@

Monster Sheet specific

+ @@ -23397,6 +23439,7 @@

Monster Sheet specific

+ @@ -23412,8 +23455,10 @@

Monster Sheet specific

+ + @@ -23432,6 +23477,7 @@

Monster Sheet specific

+ @@ -23514,6 +23560,7 @@

Monster Sheet specific

+ @@ -23524,6 +23571,7 @@

Monster Sheet specific

+ @@ -23532,6 +23580,7 @@

Monster Sheet specific

+ @@ -23545,6 +23594,7 @@

Monster Sheet specific

+ @@ -23565,6 +23615,7 @@

Monster Sheet specific

+ @@ -23583,6 +23634,7 @@

Monster Sheet specific

+ @@ -23638,6 +23690,7 @@

Monster Sheet specific

+ @@ -23650,10 +23703,13 @@

Monster Sheet specific

+ + + @@ -23696,6 +23752,7 @@

Monster Sheet specific

+ @@ -23728,6 +23785,7 @@

Monster Sheet specific

+ @@ -23735,8 +23793,10 @@

Monster Sheet specific

+ + @@ -23811,6 +23871,7 @@

Monster Sheet specific

+ @@ -23836,6 +23897,7 @@

Monster Sheet specific

+ @@ -23855,8 +23917,10 @@

Monster Sheet specific

+ + @@ -23868,6 +23932,7 @@

Monster Sheet specific

+ @@ -23889,6 +23954,7 @@

Monster Sheet specific

+ @@ -23912,6 +23978,7 @@

Monster Sheet specific

+ @@ -23944,6 +24011,7 @@

Monster Sheet specific

+ @@ -23959,8 +24027,10 @@

Monster Sheet specific

+ + @@ -23979,6 +24049,7 @@

Monster Sheet specific

+ @@ -24065,6 +24136,7 @@

Monster Sheet specific

+ @@ -24077,6 +24149,7 @@

Monster Sheet specific

+ @@ -24085,6 +24158,7 @@

Monster Sheet specific

+ @@ -24098,6 +24172,7 @@

Monster Sheet specific

+ @@ -24118,6 +24193,7 @@

Monster Sheet specific

+ @@ -24136,6 +24212,7 @@

Monster Sheet specific

+ @@ -24189,6 +24266,7 @@

Monster Sheet specific

+ @@ -24201,10 +24279,13 @@

Monster Sheet specific

+ + + @@ -24247,6 +24328,7 @@

Monster Sheet specific

+ @@ -24277,6 +24359,7 @@

Monster Sheet specific

+ @@ -24284,8 +24367,10 @@

Monster Sheet specific

+ + @@ -24358,6 +24443,7 @@

Monster Sheet specific

+ @@ -24383,6 +24469,7 @@

Monster Sheet specific

+ @@ -24400,8 +24487,10 @@

Monster Sheet specific

+ + @@ -24413,6 +24502,7 @@

Monster Sheet specific

+ @@ -24434,6 +24524,7 @@

Monster Sheet specific

+ @@ -24457,6 +24548,7 @@

Monster Sheet specific

+ @@ -24487,6 +24579,7 @@

Monster Sheet specific

+ @@ -24502,8 +24595,10 @@

Monster Sheet specific

+ + @@ -24522,6 +24617,7 @@

Monster Sheet specific

+ @@ -24604,6 +24700,7 @@

Monster Sheet specific

+ @@ -24614,6 +24711,7 @@

Monster Sheet specific

+ @@ -24622,6 +24720,7 @@

Monster Sheet specific

+ @@ -24635,6 +24734,7 @@

Monster Sheet specific

+ @@ -45482,6 +45582,7 @@

Monster Sheet specific

'level': '1', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Alteration, Dimension (Reversible)', + 'reversible': 'Reduce', 'range': '[[5*[[@{level-wizard}]] ]] yards', 'duration': '[[5*[[@{level-wizard}]] ]] rounds', 'aoe': '1 creature or object', @@ -45818,6 +45919,7 @@

Monster Sheet specific

'level': '1', 'school': 'Abjuration (Reversible)', 'school-spells-and-magic': 'Abjuration, Alchemy (Reversible)', + 'reversible': 'Protection From Good', 'range': 'Touch', 'duration': '[[2*[[@{level-wizard}]] ]] rounds', 'aoe': 'Creature touched', @@ -46210,6 +46312,7 @@

Monster Sheet specific

wiz2['Detect Evil'] = { 'level': '2', 'school': 'Divination (Reversible)', + 'reversible': 'Detect Good', 'range': '0', 'duration': '[[5*[[@{level-wizard}]] ]] rounds', 'aoe': '10 x 180 feet', @@ -46434,6 +46537,7 @@

Monster Sheet specific

'level': '2', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Universal Magic (Reversible)', + 'reversible': 'Lock', 'range': '60 yards', 'duration': 'Special', 'aoe': '[[10*[[@{level-wizard}]] ]] feet', @@ -46452,6 +46556,7 @@

Monster Sheet specific

wiz2['Know Alignment'] = { 'level': '2', 'school': 'Divination (Reversible)', + 'reversible': 'Undetectable Alignment', 'range': '10 yards', 'duration': '[[@{level-wizard}]] rounds', 'aoe': '1 creature or object per 2 rounds', @@ -46508,6 +46613,7 @@

Monster Sheet specific

wiz2['Locate Object'] = { 'level': '2', 'school': 'Divination (Reversible)', + 'reversible': 'Obscure Object', 'range': '0', 'duration': '[[@{level-wizard}]] rounds', 'aoe': '[[20*[[@{level-wizard}]] ]] yards', @@ -47312,6 +47418,7 @@

Monster Sheet specific

'level': '3', 'school': 'Abjuration (Reversible)', 'school-spells-and-magic': 'Abjuration, Alchemy (Reversible)', + 'reversible': 'Protection from Good, 10\' Radius', 'range': 'Touch', 'duration': '[[2*[[@{level-wizard}]] ]] rounds', 'aoe': '10-foot radius', @@ -47441,6 +47548,7 @@

Monster Sheet specific

wiz3['Tongues'] = { 'level': '3', 'school': 'Alteration (Reversible)', + 'reversible': 'Babble', 'range': '0', 'duration': '[[@{level-wizard}]] rounds', 'aoe': '30-foot radius', @@ -47478,6 +47586,7 @@

Monster Sheet specific

'level': '3', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Alteration, Elemental (Air, Water) (Reversible)', + 'reversible': 'Air Breating', 'range': 'Touch', 'duration': '[[ [[@{level-wizard}]]+1d4]] hours', 'aoe': 'Creature touched', @@ -48152,6 +48261,7 @@

Monster Sheet specific

'level': '4', 'school': 'Abjuration (Reversible)', 'school-spells-and-magic': 'Universal Magic (Reversible)', + 'reversible': 'Bestow Curse', 'range': 'Touch', 'duration': 'Permanent', 'aoe': 'Special', @@ -48358,6 +48468,7 @@

Monster Sheet specific

wiz5['Animal Growth'] = { 'level': '5', 'school': 'Alteration (Reversible)', + 'reversible': 'Shrink Animal', 'range': '60 yards', 'duration': '[[@{level-wizard}]] rounds', 'aoe': 'Up to 8 animals in a 20-foot cube', @@ -48396,6 +48507,7 @@

Monster Sheet specific

'level': '5', 'school': 'Abjuration, Alteration (Reversible)', 'school-spells-and-magic': 'Abjuration, Alteration, Geometry (Reversible)', + 'reversible': 'Attraction', 'range': '10 yards', 'duration': 'Permanent until dispelled', 'aoe': 'Up to 3-foot cube', @@ -48603,6 +48715,7 @@

Monster Sheet specific

wiz5['Dream'] = { 'level': '5', 'school': 'Invocation, Illusion/Phantasm (Reversible)', + 'reversible': 'Nightmare', 'range': 'Touch', 'duration': 'Special', 'aoe': '1 creature', @@ -48999,6 +49112,7 @@

Monster Sheet specific

'level': '5', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Alteration, Elemental (Earth, Water), Alchemy (Reversible)', + 'reversible': 'Transmute Mud to Rock', 'range': '[[10*[[@{level-wizard}]] ]] yards', 'duration': 'Special', 'aoe': '[[20*[[@{level-wizard}]] ]]-foot cube', @@ -49449,6 +49563,7 @@

Monster Sheet specific

'level': '6', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Alteration, Elemental Water (Reversible)', + 'reversible': 'Raise Water', 'range': '80 yards', 'duration': '[[5*[[@{level-wizard}]] ]] rounds', 'aoe': '[[10*[[@{level-wizard}]] ]]-foot square', @@ -49727,6 +49842,7 @@

Monster Sheet specific

'level': '6', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Alteration, Elemental Earth, Alchemy (Reversible)', + 'reversible': 'Flesh to Stone', 'range': '[[10*[[@{level-wizard}]] ]] yards', 'duration': 'Permanent', 'aoe': '1 creature', @@ -49765,6 +49881,7 @@

Monster Sheet specific

'level': '6', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Alteration, Elemental (Earth, Water), Alchemy (Reversible)', + 'reversible': 'Transmute Dust to Water', 'range': '60 yards', 'duration': 'Permanent', 'aoe': '[[@{level-wizard}]] 10-foot cubes', @@ -50834,6 +50951,7 @@

Monster Sheet specific

wiz9['Imprisonment'] = { 'level': '9', 'school': 'Abjuration (Reversible)', + 'reversible': 'Freedom', 'range': 'Touch', 'duration': 'Permanent', 'aoe': '1 creature', @@ -50984,6 +51102,7 @@

Monster Sheet specific

wiz9['Temporal Stasis'] = { 'level': '9', 'school': 'Alteration (Reversible)', + 'reversible': 'Temporal Reinstatement', 'range': '10 yards', 'duration': 'Permanent', 'aoe': '1 creature', @@ -52652,6 +52771,7 @@

Monster Sheet specific

'level': '4', 'school': 'Alteration (Reversible)', 'school-spells-and-magic': 'Alteration, Elemental Earth (Reversible)', + 'reversible': 'Turn Bolder to Pebble', 'range': 'Touch', 'duration': 'Special', 'aoe': 'Special', @@ -53925,6 +54045,7 @@

Monster Sheet specific

wiz5['Bone Blight'] = { 'level': '5', 'school': 'Necromancy/Alteration (Reversible)', + 'reversible': 'Bone Growth', 'range': '30 yards', 'duration': 'Permanent', 'aoe': 'One creature', @@ -53997,6 +54118,7 @@

Monster Sheet specific

wiz6['Transmute Bone to Steel'] = { 'level': '6', 'school': 'Alteration, Necromancy (Reversible)', + 'reversible': 'Transmute Steel to Bone', 'range': '30 yards', 'duration': 'Permanent', 'aoe': '1 creature or object', @@ -54051,6 +54173,7 @@

Monster Sheet specific

wiz8['Life Force Transfer'] = { 'level': '8', 'school': 'Necromancy (Reversible)', + 'reversible': 'Revoke Life Force Transfer', 'range': '1”', 'duration': 'Permanent', 'aoe': '1 creature', @@ -54087,6 +54210,7 @@

Monster Sheet specific

wiz9['Life Force Exchange'] = { 'level': '9', 'school': 'Necromancy (Reversible)', + 'reversible': 'Revoke Life Force Exchange', 'range': '60 yards', 'duration': 'Permanent', 'aoe': 'Two creatures', @@ -54197,6 +54321,7 @@

Monster Sheet specific

wiz2['Featherfoot'] = { 'level': '2', 'school': 'Alteration (Reversible)', + 'reversible': 'Leadfoot', 'range': 'Touch', 'duration': '[[5*[[@{level-wizard}]] ]] rounds', 'aoe': 'One creature', diff --git a/ADnD_2E_Revised/html/components/dynamicDatalists.html b/ADnD_2E_Revised/html/components/dynamicDatalists.html index e41b5c961e4..42d1f17ae7b 100644 --- a/ADnD_2E_Revised/html/components/dynamicDatalists.html +++ b/ADnD_2E_Revised/html/components/dynamicDatalists.html @@ -16,6 +16,7 @@ + @@ -34,6 +35,7 @@ + @@ -89,6 +91,7 @@ + @@ -101,10 +104,13 @@ + + + @@ -147,6 +153,7 @@ + @@ -179,6 +186,7 @@ + @@ -186,8 +194,10 @@ + + @@ -262,6 +272,7 @@ + @@ -287,6 +298,7 @@ + @@ -306,8 +318,10 @@ + + @@ -319,6 +333,7 @@ + @@ -340,6 +355,7 @@ + @@ -363,6 +379,7 @@ + @@ -395,6 +412,7 @@ + @@ -410,8 +428,10 @@ + + @@ -430,6 +450,7 @@ + @@ -516,6 +537,7 @@ + @@ -528,6 +550,7 @@ + @@ -536,6 +559,7 @@ + @@ -549,6 +573,7 @@ + @@ -569,6 +594,7 @@ + @@ -587,6 +613,7 @@ + @@ -640,6 +667,7 @@ + @@ -652,10 +680,13 @@ + + + @@ -698,6 +729,7 @@ + @@ -728,6 +760,7 @@ + @@ -735,8 +768,10 @@ + + @@ -809,6 +844,7 @@ + @@ -834,6 +870,7 @@ + @@ -851,8 +888,10 @@ + + @@ -864,6 +903,7 @@ + @@ -885,6 +925,7 @@ + @@ -908,6 +949,7 @@ + @@ -938,6 +980,7 @@ + @@ -953,8 +996,10 @@ + + @@ -973,6 +1018,7 @@ + @@ -1055,6 +1101,7 @@ + @@ -1065,6 +1112,7 @@ + @@ -1073,6 +1121,7 @@ + @@ -1086,6 +1135,7 @@ + @@ -1106,6 +1156,7 @@ + @@ -1124,6 +1175,7 @@ + @@ -1179,6 +1231,7 @@ + @@ -1191,10 +1244,13 @@ + + + @@ -1237,6 +1293,7 @@ + @@ -1269,6 +1326,7 @@ + @@ -1276,8 +1334,10 @@ + + @@ -1352,6 +1412,7 @@ + @@ -1377,6 +1438,7 @@ + @@ -1396,8 +1458,10 @@ + + @@ -1409,6 +1473,7 @@ + @@ -1430,6 +1495,7 @@ + @@ -1453,6 +1519,7 @@ + @@ -1485,6 +1552,7 @@ + @@ -1500,8 +1568,10 @@ + + @@ -1520,6 +1590,7 @@ + @@ -1606,6 +1677,7 @@ + @@ -1618,6 +1690,7 @@ + @@ -1626,6 +1699,7 @@ + @@ -1639,6 +1713,7 @@ + @@ -1659,6 +1734,7 @@ + @@ -1677,6 +1753,7 @@ + @@ -1730,6 +1807,7 @@ + @@ -1742,10 +1820,13 @@ + + + @@ -1788,6 +1869,7 @@ + @@ -1818,6 +1900,7 @@ + @@ -1825,8 +1908,10 @@ + + @@ -1899,6 +1984,7 @@ + @@ -1924,6 +2010,7 @@ + @@ -1941,8 +2028,10 @@ + + @@ -1954,6 +2043,7 @@ + @@ -1975,6 +2065,7 @@ + @@ -1998,6 +2089,7 @@ + @@ -2028,6 +2120,7 @@ + @@ -2043,8 +2136,10 @@ + + @@ -2063,6 +2158,7 @@ + @@ -2145,6 +2241,7 @@ + @@ -2155,6 +2252,7 @@ + @@ -2163,6 +2261,7 @@ + @@ -2176,6 +2275,7 @@ + diff --git a/ADnD_2E_Revised/pug/spellScrollsDatalists.pug b/ADnD_2E_Revised/pug/spellScrollsDatalists.pug index d70f237cea0..c07cc54b8de 100644 --- a/ADnD_2E_Revised/pug/spellScrollsDatalists.pug +++ b/ADnD_2E_Revised/pug/spellScrollsDatalists.pug @@ -1,10 +1,28 @@ -- function getScrollName(spellName) {return `Scroll of ${spellName}`} -- function getDisplayLevel(spell,type){let displayLevel;switch(spell.level){case"1":displayLevel="1st level";break;case"2":displayLevel="2nd level";break;case"3":displayLevel="3rd level";break;case"q":displayLevel="Quest Spell";break;default:displayLevel=`${spell.level}th level`}return displayLevel+=` ${type}`,spell.category&&(displayLevel+=`, ${spell.category}`),"PHB"!==spell.book&&(displayLevel+=`, ${spell.book}`),displayLevel} +- + function getScrollName(spellName) { + return `Scroll of ${spellName}` + } + function getDisplayLevel(spell) { + switch (spell.level) { + case"1": return "1st level"; + case"2": return "2nd level"; + case"3": return "3rd level"; + case"q": return "Quest Spell"; + default: return `${spell.level}th level` + } + } + function getLabel(spell, type) { + let label = [`${getDisplayLevel(spell)} ${type}`, spell.category]; + if (spell.book !== "PHB") + label.push(spell.book); + + return label.filter(Boolean).join(', '); + } datalist(id=`scroll-spells`) each spell, spellName in wizardSpells['wizmonster'] - option(value!=getScrollName(spellName))= getDisplayLevel(spell, 'Wizard') + option(value!=getScrollName(spellName))= getLabel(spell, 'Wizard') each spell, spellName in priestSpells['primonster'] - option(value!=getScrollName(spellName))= getDisplayLevel(spell, 'Priest') + option(value!=getScrollName(spellName))= getLabel(spell, 'Priest') - let processedSpells = new Set() datalist(id=`scroll-spells-ff`)