|
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)); |
|
|
|
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`; |
|
} |
|
}; |
|
|