Added updated datalists for nonweapon proficiencies

This commit is contained in:
Peter Bjerg Lidegaard
2022-06-11 22:36:36 +02:00
parent 00a7bd817d
commit de29f3d82e
5 changed files with 1239 additions and 940 deletions
+1034 -782
View File
File diff suppressed because it is too large Load Diff
+42 -6
View File
@@ -6,6 +6,42 @@ const jsFolder = path.join(sourceFolder, 'javascript');
const pugFolder = path.join(sourceFolder, 'pug');
const htmlFolder = path.join(sourceFolder, 'html', 'components');
const miscFolder = path.join(sourceFolder, 'misc');
const booksPriority = [
'PHB',
'The Complete Fighter\'s Handbook',
'The Complete Thief\'s Handbook',
'The Complete Priest\'s Handbook',
'The Complete Wizard\'s Handbook',
'Tome of Magic',
'Arms and Equipment Guide',
'The Complete Book of Dwarves',
'The Complete Bard\'s Handbook',
'The Complete Book of Elves',
'The Complete Book of Humanoids',
'The Complete Ranger\'s Handbook',
'The Complete Paladin\'s Handbook',
'The Complete Druid\'s Handbook',
'The Complete Barbarian\'s Handbook',
'The Complete Book of Necromancers',
'The Complete Ninja\'s Handbook',
'Player\'s Option: Combat & Tactics',
'Player\'s Option: Skills & Powers',
'Player\'s Option: Spells & Magic',
];
function bookShorthand(books) {
return books.map(b => b.replace('The Complete', '')
.replace('Book of', '')
.replace('Handbook', '')
.replace('Player\'s Option:','')
.replace('Arms and Equipment Guide', 'A&E')
.replace('Tome of Magic','ToM')
.replace('Combat & Tactics', 'PO: C&T')
.replace('Skills & Powers', 'PO: S&P')
.replace('Spells & Magic', 'PO: S&M')
.replace('\'','')
.trim())
.join(', ')
}
console.log('---- Generating dynamicDatalists ----');
const spellsJs = ['wizardSpells.js', 'priestSpells.js'];
@@ -30,15 +66,15 @@ console.log('weapons.js');
console.log('weaponProficiencies.js');
const weapons = require(path.join(jsFolder, 'weapons.js'));
const weaponsProficiencies = require(path.join(jsFolder, 'weaponProficiencies.js'));
html += pug.renderFile(path.join(pugFolder, 'weaponsDatalists.pug'), {pretty: true, data: weapons, proficiencies: weaponsProficiencies});
const nonWeaponProfs = require(path.join(jsFolder, 'nonweaponProficiencies.js'));
const nonWeaponProfTable = pug.renderFile(path.join(pugFolder, 'nonweaponProficienciesOverview.pug'), {pretty: true, data: nonWeaponProfs});
fs.writeFileSync(path.join(miscFolder, 'nonweapon-proficiencies-overview.html'), nonWeaponProfTable);
html += pug.renderFile(path.join(pugFolder, 'weaponsDatalists.pug'), {pretty: true, data: weapons, proficiencies: weaponsProficiencies, booksPriority: booksPriority, bookShorthand: bookShorthand});
let weaponTable = pug.renderFile(path.join(pugFolder, 'weaponsOverview.pug'), {pretty: true, data: weapons});
fs.writeFileSync(path.join(miscFolder, 'weapons-overview.html'), weaponTable);
const nonWeaponProfs = require(path.join(jsFolder, 'nonweaponProficiencies.js'));
html += pug.renderFile(path.join(pugFolder, 'nonweaponProficienciesDatalist.pug'), {pretty: true, data: nonWeaponProfs, booksPriority: booksPriority, bookShorthand: bookShorthand})
const nonWeaponProfTable = pug.renderFile(path.join(pugFolder, 'nonweaponProficienciesOverview.pug'), {pretty: true, data: nonWeaponProfs});
fs.writeFileSync(path.join(miscFolder, 'nonweapon-proficiencies-overview.html'), nonWeaponProfTable);
const simpleDatalists = [
['players-option-talents.js','talents'],
['players-option-traits.js','traits'],
@@ -3130,7 +3130,7 @@
<option value="Reading/Writing">Priest/Wizard</option>
<option value="Religion">Priest/Wizard</option>
<option value="Running">Warrior</option>
<option value="Set-Snares">Rogue/Warrior</option>
<option value="Set Snares">Rogue/Warrior/Fighter</option>
<option value="Spellcraft">Priest/Wizard</option>
<option value="Survival">Warrior</option>
<option value="Tightrope Walking">Rogue</option>
@@ -3138,151 +3138,151 @@
<option value="Tumbling">Rogue</option>
<option value="Ventriloquism">Rogue</option>
<option value="Weaponsmithing">Warrior</option>
<option value="Alertness">The Complete Thief's Handbook</option>
<option value="Animal Noise">The Complete Thief's Handbook</option>
<option value="Begging">The Complete Thief's Handbook</option>
<option value="Boating">The Complete Thief's Handbook</option>
<option value="Fast-Talking">The Complete Thief's Handbook</option>
<option value="Fortune Telling">The Complete Thief's Handbook</option>
<option value="Information Gathering">The Complete Thief's Handbook</option>
<option value="Intimidation">The Complete Thief's Handbook</option>
<option value="Locksmithing">The Complete Thief's Handbook</option>
<option value="Looting">The Complete Thief's Handbook</option>
<option value="Observation">The Complete Thief's Handbook</option>
<option value="Trailing">The Complete Thief's Handbook</option>
<option value="Voice Mimicry">The Complete Thief's Handbook</option>
<option value="Appraising (Dwarf)">The Complete Book of Dwarves</option>
<option value="Dwarf Runes">The Complete Book of Dwarves</option>
<option value="Dwarf Runes (Dwarf)">The Complete Book of Dwarves</option>
<option value="Endurance (Dwarf)">The Complete Book of Dwarves</option>
<option value="Fungi Recognition">The Complete Book of Dwarves</option>
<option value="Local Dwarf History">The Complete Book of Dwarves</option>
<option value="Navigation, Underground">The Complete Book of Dwarves</option>
<option value="Riding, Land-Based (Dwarf)">The Complete Book of Dwarves</option>
<option value="Sign Language">The Complete Book of Dwarves</option>
<option value="Signalling">The Complete Book of Dwarves</option>
<option value="Singing (Dwarf)">The Complete Book of Dwarves</option>
<option value="Slow Respiration">The Complete Book of Dwarves</option>
<option value="Sound Analysis">The Complete Book of Dwarves</option>
<option value="Survival, Underground">The Complete Book of Dwarves</option>
<option value="Armorer (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Blacksmithing (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Bowyer/Fletcher (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Brewing (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Engineering (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Gem Cutting (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Herbalism (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Locksmithing (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Mining (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Pottery (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Seamstress/Tailor (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Smelting">Crafts, The Complete Book of Dwarves</option>
<option value="Stonemasonry (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Weaponsmithing (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Weaving (Dwarf)">Crafts, The Complete Book of Dwarves</option>
<option value="Ancient History (Dwarf)">Priest, The Complete Book of Dwarves</option>
<option value="Blind-fighting (Dwarf)">Warrior/Thief, The Complete Book of Dwarves</option>
<option value="Disguise (Dwarf)">Thief, The Complete Book of Dwarves</option>
<option value="Forgery (Dwarf)">Thief, The Complete Book of Dwarves</option>
<option value="Hunting (Dwarf)">Warrior, The Complete Book of Dwarves</option>
<option value="Juggling (Dwarf)">Thief, The Complete Book of Dwarves</option>
<option value="Lip Reading (Dwarf)">Thief, The Complete Book of Dwarves</option>
<option value="Musical Instrument (Dwarf)">Thief/Priest, The Complete Book of Dwarves</option>
<option value="Pest Control">Thief, The Complete Book of Dwarves</option>
<option value="Survival (Hill, Mountain)">Warrior, The Complete Book of Dwarves</option>
<option value="Boating (Dwarf)">Special Background, The Complete Book of Dwarves</option>
<option value="Boatwright">Special Background, The Complete Book of Dwarves</option>
<option value="Navigation (Dwarf)">Special Background, The Complete Book of Dwarves</option>
<option value="Swimming (Dwarf)">Special Background, The Complete Book of Dwarves</option>
<option value="Grade or Slope in Passage">(Optional) Dwarven Detection, The Complete Book of Dwarves</option>
<option value="New Tunnel/Passage Construction">(Optional) Dwarven Detection, The Complete Book of Dwarves</option>
<option value="Sliding/Shifting Walls or Rooms">(Optional) Dwarven Detection, The Complete Book of Dwarves</option>
<option value="Stonework Traps, Pits, and Deadfalls">(Optional) Dwarven Detection, The Complete Book of Dwarves</option>
<option value="Approximate Depth Underground">(Optional) Dwarven Detection, The Complete Book of Dwarves</option>
<option value="Acting">The Complete Bard's Handbook</option>
<option value="Chanting">The Complete Bard's Handbook</option>
<option value="Craft Instrument">The Complete Bard's Handbook</option>
<option value="Crowd Working">The Complete Bard's Handbook</option>
<option value="Poetry">The Complete Bard's Handbook</option>
<option value="Whistling/Humming">The Complete Bard's Handbook</option>
<option value="Cheesemaking">The Complete Book of Humanoids</option>
<option value="Danger Sense">The Complete Book of Humanoids</option>
<option value="Drinking">The Complete Book of Humanoids</option>
<option value="Eating">The Complete Book of Humanoids</option>
<option value="Hiding">The Complete Book of Humanoids</option>
<option value="Winemaking">The Complete Book of Humanoids</option>
<option value="Close-quarter Fighting">Warrior/Rogue, The Complete Book of Humanoids</option>
<option value="Natural Fighting">Warrior, The Complete Book of Humanoids</option>
<option value="Wild Fighting">Warrior, The Complete Book of Humanoids</option>
<option value="Cartography">The Complete Ranger's Handbook</option>
<option value="Distance Sense">The Complete Ranger's Handbook</option>
<option value="Falconry">The Complete Ranger's Handbook</option>
<option value="Persuasion">The Complete Ranger's Handbook</option>
<option value="Riding, Sea-based">The Complete Ranger's Handbook</option>
<option value="Signaling">The Complete Ranger's Handbook</option>
<option value="Camouflage">Fighter/Rogue, The Complete Ranger's Handbook</option>
<option value="Foraging">Warrior/Rogue, The Complete Ranger's Handbook</option>
<option value="Spelunking">Warrior, The Complete Ranger's Handbook</option>
<option value="Trail Marking">Warrior, The Complete Ranger's Handbook</option>
<option value="Trail Signs">Warrior/Rogue, The Complete Ranger's Handbook</option>
<option value="Veterinary Healing">Priest, The Complete Ranger's Handbook</option>
<option value="Weaponsmithing, Crude">Warrior, The Complete Ranger's Handbook</option>
<option value="Bureaucracy">Priest/Rogue, The Complete Paladin's Handbook</option>
<option value="Diagnostics">Priest, The Complete Paladin's Handbook</option>
<option value="Jousting">Warrior, The Complete Paladin's Handbook</option>
<option value="Law">Warrior/Priest, The Complete Paladin's Handbook</option>
<option value="Oratory">Warrior/Priest, The Complete Paladin's Handbook</option>
<option value="Clothesmaking, Crude">The Complete Barbarian's Handbook</option>
<option value="Animal Rending">Warrior, The Complete Barbarian's Handbook</option>
<option value="Armorer, Crude">Warrior, The Complete Barbarian's Handbook</option>
<option value="Bartering">Rogue, The Complete Barbarian's Handbook</option>
<option value="Bowyer/Fletcher, Crude">Warrior, The Complete Barbarian's Handbook</option>
<option value="Horde Summoning">Warrior, The Complete Barbarian's Handbook</option>
<option value="Leadership">Warrior, The Complete Barbarian's Handbook</option>
<option value="Light Sleeping">Warrior, The Complete Barbarian's Handbook</option>
<option value="Soothsaying">Priest, The Complete Barbarian's Handbook</option>
<option value="Weapon Improvisation">Warrior, The Complete Barbarian's Handbook</option>
<option value="Anatomy">The Complete Book of Necromancers</option>
<option value="Necrology">The Complete Book of Necromancers</option>
<option value="Netherworld Knowledge">The Complete Book of Necromancers</option>
<option value="Spirit Lore">The Complete Book of Necromancers</option>
<option value="Venom Handling">The Complete Book of Necromancers</option>
<option value="City Familiarity">The Complete Ninja's Handbook</option>
<option value="Style Analysis">Warrior, The Complete Ninja's Handbook</option>
<option value="Assimilation">Rogue, The Complete Ninja's Handbook</option>
<option value="Detect Signing">Rogue, The Complete Ninja's Handbook</option>
<option value="Enamor">Rogue, The Complete Ninja's Handbook</option>
<option value="Escape">Rogue, The Complete Ninja's Handbook</option>
<option value="Feign/Detect Sleep">Rogue, The Complete Ninja's Handbook</option>
<option value="Giant Kite Flying">Rogue, The Complete Ninja's Handbook</option>
<option value="Hold Breath">Rogue, The Complete Ninja's Handbook</option>
<option value="Night Vision">Rogue, The Complete Ninja's Handbook</option>
<option value="Toxicology">Rogue, The Complete Ninja's Handbook</option>
<option value="Quick Study">Rogue, The Complete Ninja's Handbook</option>
<option value="Underclass">Rogue, The Complete Ninja's Handbook</option>
<option value="Water Walking">Rogue, The Complete Ninja's Handbook</option>
<option value="Alchemy">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Arcanology">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Bookbinding">Priest/Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Concentration">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Dowsing">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Glassblowing">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Hypnotism">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Mental Resistance">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Omen Reading">Priest/Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Papermaking">Priest/Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Prestidigitation">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Research">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Sage Knowledge">Priest/Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Scribe">Priest/Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Tactics of Magic">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Thaumaturgy">Wizard, Player's Option: Spells &amp; Magic</option>
<option value="Administration">Priest, Player's Option: Spells &amp; Magic</option>
<option value="Alms">Priest, Player's Option: Spells &amp; Magic</option>
<option value="Ceremony">Priest, Player's Option: Spells &amp; Magic</option>
<option value="Diplomacy">Priest, Player's Option: Spells &amp; Magic</option>
<option value="Investigation">Priest, Player's Option: Spells &amp; Magic</option>
<option value="Undead Lore">Priest, Player's Option: Spells &amp; Magic</option>
<option value="Alertness">Books: Thiefs, Humanoids, Rangers, Barbarians</option>
<option value="Animal Noise">Books: Thiefs, Humanoids</option>
<option value="Begging">Books: Thiefs, Humanoids</option>
<option value="Boating">Books: Thiefs, Rangers, Barbarians</option>
<option value="Fast-Talking">Books: Thiefs, Humanoids</option>
<option value="Fortune Telling">Books: Thiefs, Humanoids</option>
<option value="Information Gathering">Books: Thiefs, Humanoids, Ninjas</option>
<option value="Intimidation">Books: Thiefs, Dwarves, Humanoids</option>
<option value="Locksmithing">Books: Thiefs</option>
<option value="Looting">Books: Thiefs, Humanoids</option>
<option value="Observation">Books: Thiefs, Humanoids, Ninjas, PO: S&amp;M</option>
<option value="Trailing">Books: Thiefs</option>
<option value="Voice Mimicry">Books: Thiefs, Humanoids, Ninjas</option>
<option value="Appraising (Dwarf)">Books: Dwarves</option>
<option value="Dwarf Runes">Books: Dwarves</option>
<option value="Dwarf Runes (Dwarf)">Books: Dwarves</option>
<option value="Endurance (Dwarf)">Books: Dwarves</option>
<option value="Fungi Recognition">Books: Dwarves</option>
<option value="Local Dwarf History">Books: Dwarves</option>
<option value="Navigation, Underground">Books: Dwarves</option>
<option value="Riding, Land-Based (Dwarf)">Books: Dwarves</option>
<option value="Sign Language">Books: Dwarves, Barbarians</option>
<option value="Signalling">Books: Dwarves</option>
<option value="Singing (Dwarf)">Books: Dwarves</option>
<option value="Slow Respiration">Books: Dwarves</option>
<option value="Sound Analysis">Books: Dwarves</option>
<option value="Survival, Underground">Books: Dwarves</option>
<option value="Armorer (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Blacksmithing (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Bowyer/Fletcher (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Brewing (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Engineering (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Gem Cutting (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Herbalism (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Locksmithing (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Mining (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Pottery (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Seamstress/Tailor (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Smelting">Crafts, Books: Dwarves</option>
<option value="Stonemasonry (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Weaponsmithing (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Weaving (Dwarf)">Crafts, Books: Dwarves</option>
<option value="Ancient History (Dwarf)">Priest, Books: Dwarves</option>
<option value="Blind-fighting (Dwarf)">Warrior/Thief, Books: Dwarves</option>
<option value="Disguise (Dwarf)">Thief, Books: Dwarves</option>
<option value="Forgery (Dwarf)">Thief, Books: Dwarves</option>
<option value="Hunting (Dwarf)">Warrior, Books: Dwarves</option>
<option value="Juggling (Dwarf)">Thief, Books: Dwarves</option>
<option value="Lip Reading (Dwarf)">Thief, Books: Dwarves</option>
<option value="Musical Instrument (Dwarf)">Thief/Priest, Books: Dwarves</option>
<option value="Pest Control">Thief, Books: Dwarves</option>
<option value="Survival (Hill, Mountain)">Warrior, Books: Dwarves</option>
<option value="Boating (Dwarf)">Special Background, Books: Dwarves</option>
<option value="Boatwright">Special Background, Books: Dwarves</option>
<option value="Navigation (Dwarf)">Special Background, Books: Dwarves</option>
<option value="Swimming (Dwarf)">Special Background, Books: Dwarves</option>
<option value="Grade or Slope in Passage">(Optional) Dwarven Detection, Books: Dwarves</option>
<option value="New Tunnel/Passage Construction">(Optional) Dwarven Detection, Books: Dwarves</option>
<option value="Sliding/Shifting Walls or Rooms">(Optional) Dwarven Detection, Books: Dwarves</option>
<option value="Stonework Traps, Pits, and Deadfalls">(Optional) Dwarven Detection, Books: Dwarves</option>
<option value="Approximate Depth Underground">(Optional) Dwarven Detection, Books: Dwarves</option>
<option value="Acting">Books: Bards, Humanoids, Ninjas</option>
<option value="Chanting">Books: Bards, Humanoids</option>
<option value="Craft Instrument">Books: Bards, Humanoids</option>
<option value="Crowd Working">Books: Bards</option>
<option value="Poetry">Books: Bards, Humanoids, Paladins</option>
<option value="Whistling/Humming">Books: Bards, Humanoids</option>
<option value="Cheesemaking">Books: Humanoids</option>
<option value="Danger Sense">Books: Humanoids, Barbarians</option>
<option value="Drinking">Books: Humanoids</option>
<option value="Eating">Books: Humanoids</option>
<option value="Hiding">Books: Humanoids, Barbarians</option>
<option value="Winemaking">Books: Humanoids</option>
<option value="Close-quarter Fighting">Warrior/Rogue, Books: Humanoids</option>
<option value="Natural Fighting">Warrior, Books: Humanoids</option>
<option value="Wild Fighting">Warrior, Books: Humanoids, Barbarians</option>
<option value="Cartography">Books: Rangers</option>
<option value="Distance Sense">Books: Rangers</option>
<option value="Falconry">Books: Rangers</option>
<option value="Persuasion">Priest, Books: Rangers, PO: S&amp;M</option>
<option value="Riding, Sea-based">Books: Rangers</option>
<option value="Signaling">Books: Rangers, Barbarians</option>
<option value="Camouflage">Fighter/Rogue, Books: Rangers</option>
<option value="Foraging">Warrior/Rogue, Books: Rangers, Barbarians</option>
<option value="Spelunking">Warrior, Books: Rangers</option>
<option value="Trail Marking">Warrior, Books: Rangers</option>
<option value="Trail Signs">Warrior/Rogue, Books: Rangers</option>
<option value="Veterinary Healing">Priest, Books: Rangers</option>
<option value="Weaponsmithing, Crude">Warrior, Books: Rangers, Barbarians</option>
<option value="Bureaucracy">Priest/Rogue, Books: Paladins, PO: S&amp;M</option>
<option value="Diagnostics">Priest, Books: Paladins</option>
<option value="Jousting">Warrior, Books: Paladins</option>
<option value="Law">Warrior/Priest/Priest, Books: Paladins, PO: S&amp;M</option>
<option value="Oratory">Warrior/Priest/Priest, Books: Paladins, PO: S&amp;M</option>
<option value="Clothesmaking, Crude">Books: Barbarians</option>
<option value="Animal Rending">Warrior, Books: Barbarians</option>
<option value="Armorer, Crude">Warrior, Books: Barbarians</option>
<option value="Bartering">Rogue, Books: Barbarians</option>
<option value="Bowyer/Fletcher, Crude">Warrior, Books: Barbarians</option>
<option value="Horde Summoning">Warrior, Books: Barbarians</option>
<option value="Leadership">Warrior, Books: Barbarians</option>
<option value="Light Sleeping">Warrior, Books: Barbarians</option>
<option value="Soothsaying">Priest, Books: Barbarians</option>
<option value="Weapon Improvisation">Warrior, Books: Barbarians</option>
<option value="Anatomy">Books: Necromancers, PO: S&amp;M</option>
<option value="Necrology">Books: Necromancers</option>
<option value="Netherworld Knowledge">Books: Necromancers</option>
<option value="Spirit Lore">Books: Necromancers</option>
<option value="Venom Handling">Books: Necromancers</option>
<option value="City Familiarity">Books: Ninjas</option>
<option value="Style Analysis">Warrior, Books: Ninjas</option>
<option value="Assimilation">Rogue, Books: Ninjas</option>
<option value="Detect Signing">Rogue, Books: Ninjas</option>
<option value="Enamor">Rogue, Books: Ninjas</option>
<option value="Escape">Rogue, Books: Ninjas</option>
<option value="Feign/Detect Sleep">Rogue, Books: Ninjas</option>
<option value="Giant Kite Flying">Rogue, Books: Ninjas</option>
<option value="Hold Breath">Rogue, Books: Ninjas</option>
<option value="Night Vision">Rogue, Books: Ninjas</option>
<option value="Toxicology">Rogue, Books: Ninjas</option>
<option value="Quick Study">Rogue, Books: Ninjas</option>
<option value="Underclass">Rogue, Books: Ninjas</option>
<option value="Water Walking">Rogue, Books: Ninjas</option>
<option value="Alchemy">Wizard, Books: PO: S&amp;M</option>
<option value="Arcanology">Wizard, Books: PO: S&amp;M</option>
<option value="Bookbinding">Priest/Wizard, Books: PO: S&amp;M</option>
<option value="Concentration">Wizard, Books: PO: S&amp;M</option>
<option value="Dowsing">Wizard, Books: PO: S&amp;M</option>
<option value="Glassblowing">Wizard, Books: PO: S&amp;M</option>
<option value="Hypnotism">Wizard, Books: PO: S&amp;M</option>
<option value="Mental Resistance">Wizard, Books: PO: S&amp;M</option>
<option value="Omen Reading">Priest/Wizard, Books: PO: S&amp;M</option>
<option value="Papermaking">Priest/Wizard, Books: PO: S&amp;M</option>
<option value="Prestidigitation">Wizard, Books: PO: S&amp;M</option>
<option value="Research">Wizard, Books: PO: S&amp;M</option>
<option value="Sage Knowledge">Priest/Wizard, Books: PO: S&amp;M</option>
<option value="Scribe">Priest/Wizard, Books: PO: S&amp;M</option>
<option value="Tactics of Magic">Wizard, Books: PO: S&amp;M</option>
<option value="Thaumaturgy">Wizard, Books: PO: S&amp;M</option>
<option value="Administration">Priest, Books: PO: S&amp;M</option>
<option value="Alms">Priest, Books: PO: S&amp;M</option>
<option value="Ceremony">Priest, Books: PO: S&amp;M</option>
<option value="Diplomacy">Priest, Books: PO: S&amp;M</option>
<option value="Investigation">Priest, Books: PO: S&amp;M</option>
<option value="Undead Lore">Priest, Books: PO: S&amp;M</option>
</datalist>
<datalist id="talents">
<option value="Alertness">Player's Option: Combat &amp; Tactics</option>
@@ -0,0 +1,15 @@
- let processedNonweaponProficiencies = new Set()
datalist(id='nonweapon-proficiencies')
each book in booksPriority
each nonweaponProficiencyList, name in data
- let classes = nonweaponProficiencyList.map(n => n.classes).filter(Boolean).filter((v, i, a) => a.indexOf(v) === i).join('/')
each nonweaponProficiency in nonweaponProficiencyList
if (!nonweaponProficiency.book.includes(book))
- continue;
if processedNonweaponProficiencies.has(name.toLowerCase())
- continue
- processedNonweaponProficiencies.add(name.toLowerCase())
if (!nonweaponProficiency.book.includes('PHB'))
- books = 'Books: ' + bookShorthand(nonweaponProficiencyList.flatMap(w => w.book))
- classes += (classes ? ', ' : '') + books
option(value=name)= classes
+2 -6
View File
@@ -1,7 +1,3 @@
- const booksPriority = ['PHB','The Complete Fighter\'s Handbook','The Complete Priest\'s Handbook','The Complete Wizard\'s Handbook','Arms and Equipment Guide','The Complete Book of Dwarves','The Complete Book of Elves','The Complete Book of Humanoids','The Complete Ranger\'s Handbook','The Complete Barbarian\'s Handbook','The Complete Ninja\'s Handbook','Player\'s Option: Combat & Tactics'];
- function bookShorthand(books) {return books.map(b => b.replace('The Complete', '').replace('Book of', '').replace('Handbook', '').replace('Arms and Equipment Guide', 'A\&E').replace('Player\'s Option: Combat & Tactics', 'PO: C&T').replace('\'','').trim()).join(', ')}
- let processedWeapons = new Set()
datalist(id='melee-weapons')
each book in booksPriority
@@ -13,8 +9,8 @@ datalist(id='melee-weapons')
- continue;
if processedWeapons.has(weapon.name.toLowerCase())
- continue
- books = 'Books: ' + bookShorthand(weaponList.filter(w => w['category'].includes('Melee')).flatMap(w => w.book))
- processedWeapons.add(weapon.name.toLowerCase())
- books = 'Books: ' + bookShorthand(weaponList.filter(w => w['category'].includes('Melee')).flatMap(w => w.book))
- let group = weapon.group || ''
- group += (group ? ', ' : '') + books
option(value=weapon.name)= group
@@ -45,8 +41,8 @@ datalist(id='all-weapons')
- continue;
if processedWeapons.has(weapon.name.toLowerCase())
- continue
- books = 'Books: ' + bookShorthand(weaponList.flatMap(w => w.book))
- processedWeapons.add(weapon.name.toLowerCase())
- books = 'Books: ' + bookShorthand(weaponList.flatMap(w => w.book))
- let group = weapon.group || ''
- group += (group ? ', ' : '') + books
option(value=weapon.name)= group