File size: 9,070 Bytes
760ff9a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
const _ = require('lodash');
const dedent = require('dedent-tabs').default;
const features = [
'Astrological Botany', 'Biochemical Sorcery', 'Civil Divination',
'Consecrated Augury', 'Demonic Anthropology', 'Divinatory Mineralogy',
'Exo Interfacer', 'Genetic Banishing', 'Gunpowder Torturer',
'Gunslinger Corruptor', 'Hermetic Geography', 'Immunological Cultist',
'Malefic Chemist', 'Mathematical Pharmacy', 'Nuclear Biochemistry',
'Orbital Gravedigger', 'Pharmaceutical Outlaw', 'Phased Linguist',
'Plasma Gunslinger', 'Police Necromancer', 'Ritual Astronomy',
'Sixgun Poisoner', 'Seismological Alchemy', 'Spiritual Illusionism',
'Statistical Occultism', 'Spell Analyst', 'Torque Interfacer'
].map((f)=>_.padEnd(f, 21)); // Pad to equal length of 21 chars long
const classnames = [
'Ackerman', 'Berserker-Typist', 'Concierge', 'Fishmonger',
'Haberdasher', 'Manicurist', 'Netrunner', 'Weirkeeper'
];
module.exports = {
non : function(snippetClasses){
return dedent`
{{${snippetClasses}
##### The ${_.sample(classnames)}
| Level | Proficiency Bonus | Features | ${_.sample(features)} |
|:-----:|:-----------------:|:---------|:---------------------:|
| 1st | +2 | ${_.sample(features)} | 2 |
| 2nd | +2 | ${_.sample(features)} | 2 |
| 3rd | +2 | ${_.sample(features)} | 3 |
| 4th | +2 | ${_.sample(features)} | 3 |
| 5th | +3 | ${_.sample(features)} | 3 |
| 6th | +3 | ${_.sample(features)} | 4 |
| 7th | +3 | ${_.sample(features)} | 4 |
| 8th | +3 | ${_.sample(features)} | 4 |
| 9th | +4 | ${_.sample(features)} | 4 |
| 10th | +4 | ${_.sample(features)} | 4 |
| 11th | +4 | ${_.sample(features)} | 4 |
| 12th | +4 | ${_.sample(features)} | 5 |
| 13th | +5 | ${_.sample(features)} | 5 |
| 14th | +5 | ${_.sample(features)} | 5 |
| 15th | +5 | ${_.sample(features)} | 5 |
| 16th | +5 | ${_.sample(features)} | 5 |
| 17th | +6 | ${_.sample(features)} | 6 |
| 18th | +6 | ${_.sample(features)} | 6 |
| 19th | +6 | ${_.sample(features)} | 6 |
| 20th | +6 | ${_.sample(features)} | unlimited |
}}\n\n`;
},
full : function(snippetClasses){
return dedent`
{{${snippetClasses}
##### The ${_.sample(classnames)}
| Level | Proficiency | Features | Cantrips | --- Spell Slots Per Spell Level ---|||||||||
| ^| Bonus ^| ^| Known ^|1st |2nd |3rd |4th |5th |6th |7th |8th |9th |
|:-----:|:-----------:|:-------------|:--------:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
| 1st | +2 | ${_.sample(features)} | 2 | 2 | β | β | β | β | β | β | β | β |
| 2nd | +2 | ${_.sample(features)} | 2 | 3 | β | β | β | β | β | β | β | β |
| 3rd | +2 | ${_.sample(features)} | 2 | 4 | 2 | β | β | β | β | β | β | β |
| 4th | +2 | ${_.sample(features)} | 3 | 4 | 3 | β | β | β | β | β | β | β |
| 5th | +3 | ${_.sample(features)} | 3 | 4 | 3 | 2 | β | β | β | β | β | β |
| 6th | +3 | ${_.sample(features)} | 3 | 4 | 3 | 3 | β | β | β | β | β | β |
| 7th | +3 | ${_.sample(features)} | 3 | 4 | 3 | 3 | 1 | β | β | β | β | β |
| 8th | +3 | ${_.sample(features)} | 3 | 4 | 3 | 3 | 2 | β | β | β | β | β |
| 9th | +4 | ${_.sample(features)} | 3 | 4 | 3 | 3 | 2 | 1 | β | β | β | β |
| 10th | +4 | ${_.sample(features)} | 3 | 4 | 3 | 3 | 2 | 1 | β | β | β | β |
| 11th | +4 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 2 | 1 | 1 | β | β | β |
| 12th | +4 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 2 | 1 | 1 | β | β | β |
| 13th | +5 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 2 | 1 | 1 | 1 | β | β |
| 14th | +5 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 2 | 1 | 1 | 1 | β | β |
| 15th | +5 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 2 | 1 | 1 | 1 | 1 | β |
| 16th | +5 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 2 | 1 | 1 | 1 | 1 | β |
| 17th | +6 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 2 | 1 | 1 | 1 | 1 | 1 |
| 18th | +6 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 3 | 1 | 1 | 1 | 1 | 1 |
| 19th | +6 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 3 | 2 | 2 | 1 | 1 | 1 |
| 20th | +6 | ${_.sample(features)} | 4 | 4 | 3 | 3 | 3 | 2 | 2 | 2 | 1 | 1 |
}}\n\n`;
},
half : function(snippetClasses){
return dedent`
{{${snippetClasses}
##### The ${_.sample(classnames)}
| Level | Proficiency | Features | Spells |--- Spell Slots Per Spell Level ---|||||
| ^| Bonus ^| ^| Known ^| 1st | 2nd | 3rd | 4th | 5th |
|:-----:|:-----------:|:-------------|:------:|:-----:|:-----:|:-----:|:-----:|:-----:|
| 1st | +2 | ${_.sample(features)} | β | β | β | β | β | β |
| 2nd | +2 | ${_.sample(features)} | 2 | 2 | β | β | β | β |
| 3rd | +2 | ${_.sample(features)} | 3 | 3 | β | β | β | β |
| 4th | +2 | ${_.sample(features)} | 3 | 3 | β | β | β | β |
| 5th | +3 | ${_.sample(features)} | 4 | 4 | 2 | β | β | β |
| 6th | +3 | ${_.sample(features)} | 4 | 4 | 2 | β | β | β |
| 7th | +3 | ${_.sample(features)} | 5 | 4 | 3 | β | β | β |
| 8th | +3 | ${_.sample(features)} | 5 | 4 | 3 | β | β | β |
| 9th | +4 | ${_.sample(features)} | 6 | 4 | 3 | 2 | β | β |
| 10th | +4 | ${_.sample(features)} | 6 | 4 | 3 | 2 | β | β |
| 11th | +4 | ${_.sample(features)} | 7 | 4 | 3 | 3 | β | β |
| 12th | +4 | ${_.sample(features)} | 7 | 4 | 3 | 3 | β | β |
| 13th | +5 | ${_.sample(features)} | 8 | 4 | 3 | 3 | 1 | β |
| 14th | +5 | ${_.sample(features)} | 8 | 4 | 3 | 3 | 1 | β |
| 15th | +5 | ${_.sample(features)} | 9 | 4 | 3 | 3 | 2 | β |
| 16th | +5 | ${_.sample(features)} | 9 | 4 | 3 | 3 | 2 | β |
| 17th | +6 | ${_.sample(features)} | 10 | 4 | 3 | 3 | 3 | 1 |
| 18th | +6 | ${_.sample(features)} | 10 | 4 | 3 | 3 | 3 | 1 |
| 19th | +6 | ${_.sample(features)} | 11 | 4 | 3 | 3 | 3 | 2 |
| 20th | +6 | ${_.sample(features)} | 11 | 4 | 3 | 3 | 3 | 2 |
}}\n\n`;
},
third : function(snippetClasses){
return dedent`
{{${snippetClasses}
##### ${_.sample(classnames)} Spellcasting
| Level | Cantrips | Spells |--- Spells Slots per Spell Level ---||||
| ^| Known ^| Known ^| 1st | 2nd | 3rd | 4th |
|:-----:|:--------:|:------:|:-------:|:-------:|:-------:|:-------:|
| 3rd | 2 | 3 | 2 | β | β | β |
| 4th | 2 | 4 | 3 | β | β | β |
| 5th | 2 | 4 | 3 | β | β | β |
| 6th | 2 | 4 | 3 | β | β | β |
| 7th | 2 | 5 | 4 | 2 | β | β |
| 8th | 2 | 6 | 4 | 2 | β | β |
| 9th | 2 | 6 | 4 | 2 | β | β |
| 10th | 3 | 7 | 4 | 3 | β | β |
| 11th | 3 | 8 | 4 | 3 | β | β |
| 12th | 3 | 8 | 4 | 3 | β | β |
| 13th | 3 | 9 | 4 | 3 | 2 | β |
| 14th | 3 | 10 | 4 | 3 | 2 | β |
| 15th | 3 | 10 | 4 | 3 | 2 | β |
| 16th | 3 | 11 | 4 | 3 | 3 | β |
| 17th | 3 | 11 | 4 | 3 | 3 | β |
| 18th | 3 | 11 | 4 | 3 | 3 | β |
| 19th | 3 | 12 | 4 | 3 | 3 | 1 |
| 20th | 3 | 13 | 4 | 3 | 3 | 1 |
}}\n\n`;
}
};
|