Files
roll20-character-sheets/ADnD_2E_Revised/pug/weaponsOverview.pug
T

86 lines
4.1 KiB
Plaintext

style("text/css").
table {
border-collapse: collapse;
position: relative;
text-align: left;
width: 100%;
}
tr.gray th {
background: lightgray;
}
th, td {
padding: 2px;
}
th {
position: sticky;
top: 0;
}
table
tr(class="gray")
th Name
th Group
th NoProf
th Size
th Ammo<br>size
th Type
th Speed
th Reach
th Rof
th Range
th Strength
th Small<br>Medium
th Large
th Knockdown
th Category
th Book
th Printing
- let processedWeapons = new Set()
- let keys = Object.keys(data).sort()
each key in keys
- let weaponList = data[key]
if processedWeapons.has(weaponList)
- continue
- processedWeapons.add(weaponList)
- let nameColor = weaponList.every( (ele,i,arr) => ele.name === arr[0].name) ? "white" : "orange"
- let groupColor = weaponList.every( (ele,i,arr) => ele.group === arr[0].group) ? "white" : "orange"
- let noProfColor = weaponList.every( (ele,i,arr) => ele.noProf === arr[0].noProf) ? "white" : "orange"
- let sizeColor = weaponList.every( (ele,i,arr) => ele.size === arr[0].size) ? "white" : "orange"
- let ammoColor = weaponList.every( (ele,i,arr) => ele['ammo-size'] === arr[0]['ammo-size']) ? "white" : "orange"
- let typeColor = weaponList.every( (ele,i,arr) => ele.type === arr[0].type) ? "white" : "orange"
- let speedColor = weaponList.every( (ele,i,arr) => ele.speed === arr[0].speed) ? "white" : "orange"
- let rofColor = weaponList.every( (ele,i,arr) => ele.rof === arr[0].rof) ? "white" : "orange"
- let strengthColor = weaponList.every( (ele,i,arr) => ele.strength === arr[0].strength) ? "white" : "orange"
- let smallColor = weaponList.every( (ele,i,arr) => ele['small-medium'] === arr[0]['small-medium']) ? "white" : "orange"
- let largeColor = weaponList.every( (ele,i,arr) => ele.large === arr[0].large) ? "white" : "orange"
- let categoryColor = weaponList.every( (ele,i,arr) => ele.category.join() === arr[0].category.join() ) ? "white" : "orange"
each priority in booksPriority
- let weapon = weaponList.find(w => w.book.includes(priority.book))
if !weapon
- continue
- let rangeColor
if priority.book.startsWith('Player\'s Option:')
- rangeColor = weaponList.filter(w => w.book.some(b => b.startsWith('Player\'s Option:'))).every((ele,i,arr) => ele.range === arr[0].range) ? "white" : "orange"
else
- rangeColor = weaponList.filter(w => w.book.some(b => !b.startsWith('Player\'s Option:'))).every((ele,i,arr) => ele.range === arr[0].range) ? "white" : "orange"
tr
td(style=`background-color:${nameColor}`) #{weapon.name}
td(style=`background-color:${groupColor}`) #{weapon.group}
td(style=`background-color:${noProfColor}`) #{weapon.noProf}
td(style=`background-color:${sizeColor}`) #{weapon.size}
td(style=`background-color:${ammoColor}`) #{weapon['ammo-size']}
td(style=`background-color:${typeColor}`) #{weapon.type}
td(style=`background-color:${speedColor}`) #{weapon.speed}
td #{weapon.reach}
td(style=`background-color:${rofColor}`) #{weapon.rof}
td(style=`background-color:${rangeColor}`) #{weapon.range}
td(style=`background-color:${strengthColor}`) #{weapon.strength}
td(style=`background-color:${smallColor}`) #{weapon['small-medium']}
td(style=`background-color:${largeColor}`) #{weapon.large}
td #{weapon.knockdown}
td(style=`background-color:${categoryColor}`) #{weapon.category.join(', ')}
td #{priority.book === 'PHB' ? 'Player\'s Handbook' : priority.book}
td #{priority.print}
tr
td &nbsp;