mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-31 12:12:30 +00:00
86 lines
4.1 KiB
Plaintext
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
|