Advertisement
Xanjaycof

Treefolk Race for 5E D&D (MPMB's Sheet)

Nov 14th, 2019
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var iFileName = "Homebrew Syntax - Treefolk.js"; // Optional; This is how the file will be named in the sheet if you import it as a file and not copy-paste its content. Only the first occurrence of this variable will be used
  2. RequiredSheetVersion(12.999); // Optional; This is the minimum required version number of the sheet for the script to work. If the sheet being used to import the script is of an earlier version, the user will be warned
  3.  
  4. RaceList["treefolk - hardwoods"] = { //Object name; Note the use of only lower case! Also note the absence of the word "var" and the use of brackets []
  5.  
  6.     regExpSearch : /^(?=.*treefolk)(?=.*hardwoods).*$/i, //required; regular expression of what to look for (i.e. now it looks for any entry that has both the words "something" and "catlike" in it, disregarding capitalization). If this looks too complicated, just write: /something catlike/i
  7.  
  8.     name : "Treefolk, Oak/Pine/Redwood/Walnut", //required; the name to use for the race
  9.  
  10.     sortname : "Treefolk, Hardwoods", //optional; this is the name used to fill the drop-down boxes. If you don't include this, the 'name' will used instead
  11.  
  12.     source : ["HB", 0], //required; the source and the page number. "HB" stands for homebrew. See the "Complete SourceList" for an overview of sources that are already defined. Or define a new source using the "Homebrew Syntax - SourceList.js". // This can be an array of arrays to indicate the things appears in multiple sources. For example, if something appears on page 7 of the Elemental Evil Player's Companion and on page 115 of the Sword Coast Adventure Guide, use the following: [["E", 7], ["S", 115]]
  13.  
  14.     plural : "Treefolks, Oaks/Pines/Redwoods/Walnuts", //required; the name to use for the race when the plural form is used
  15.  
  16.     size : 3, //required;  the size of the race (Gargantuan = 0, Huge = 1, Large = 2, Medium = 3, Small = 4, Tiny = 5)
  17.  
  18.     speed : { //required; This sets a value for one or more speed modes, and/or a value to be added to a specific speed mode or to all speed modes // the attributes of this object can be "walk", "burrow", "climb", "fly", "swim", and "allModes"
  19.  
  20.         // all of the following attributes are optional and you can add more ("burrow" isn't part of this example!)
  21.  
  22.         walk : { spd : 25, enc : 15 }, // the objects "walk", "burrow", "climb", "fly", "swim" are all the same, they are an object with two attributes, 'spd' for the speed in feet, and 'enc' for the encumbered speed in feet.
  23.  
  24.     },
  25.  
  26. /* SYNTAX CHANGE v12.998 >> old syntax for 'tools' and 'languages' are no longer supported!! */
  27.     toolProfs : [[""], ["", ""], ""], // optional; this is an array with the tool proficiencies gained. Each entry can be its own array of 2 entries (but doesn't have to be). The first entry is the name of the tool and the second entry is either 1) a number if the tool is yet to be chosen, or 2) the 3-letter ability score abbreviation if the tool is to be listed in the skill section and have a bonus calculated
  28.  
  29.     languageProfs : ["Sylvan", "Common"], // optional; this is an array of the language proficiencies gained. An entry can either be 1) a string that represents the language learned or 2) a number which is the number of language gained that can be chosen by the player
  30.  
  31.     weapons : [""], //optional; an array of weapons that are added to the attacks section; This will be the name of the weapon how it appears in the attack section, not necessarily the object name in the WeaponsList
  32.  
  33.     addarmor : "Natural Armor", //optional; a string of the name of the armour that is literally put in the Armor Description field when the class feature is applicable, and removed if not
  34.  
  35.     dmgres : ["Bludgeoning (nonmagical)"], //optional; damage resistance(s) the race has. This line can be deleted if you don't have anything to put here // If the resistance has a condition attached to it, like only being against nonmagical attacks, substitute the entry in the array with an array of 2: [the damage type, the damage type with the condition]. // For example: [["Bludgeoning", "Bludg. (nonmagical)"], ["Piercing", "Pierc. (nonmagical)"], ["Slashing", "Slash. (nonmagical)"]]
  36.  
  37.     savetxt : { // Optional; this attribute defines entries to add to the field for "Saving Throw Advantages / Disadvantages"
  38.  
  39.         immune : ["sleep"], // Optional; this is an array of strings that the character is immune to. This is put in the field after the text "Immune to ", so in this example it would result in "Immune to poison and disease"
  40.  
  41.     },
  42.  
  43.     age : " reach adulthood at 15 to 30 years and live around 300 years", //optional; the age tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  44.  
  45.     height : " range from 5 to over 6 feet tall (4'9\" + 2d8\")", //optional; the height tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  46.  
  47.     weight : " weigh around 155 lb (110 + 2d8 \xD7 2d4 lb)", //optional; the weight tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  48.  
  49.     heightMetric : " range from 1,5 to over 1,8 metres tall (145 + 5d8 cm)", //optional; the height tooltip/mouseover text (will be displayed in combination with the "plural" entry), when the metric system is chosen
  50.  
  51.     weightMetric : " weigh around 70 kg (50 + 5d8 \xD7 4d4 / 10 kg)", //optional; the weight tooltip/mouseover text (will be displayed in combination with the "plural" entry), when the metric system is chosen
  52.  
  53.     improvements : "Treefolk, Oak/Pine/Redwood/Walnut: +2 Constitution, +1 Strength;", //required; the text that is displayed when listing all the ability score improvements
  54.  
  55.     scores : [1, 0, 2, 0, 0, 0], //required; the ability score improvements as used by the Ability Score dialog. The syntax is: [Str, Dex, Con, Int, Wis, Cha]
  56.  
  57.     trait : "Treefolk, Oak/Pine/Redwood/Walnut (+2 Constitution, +1 Strength)\nTake Root: I do not sleep, but I must put down roots each night and enter a semi-conscious similar to an elf's trance for at least 6 hours. I can take root in sand, dirt, mud, loose gravel or similar material; but not worked stone or bare rock. While rooted, my speed becomes 0, but I become immune to both the prone condition and any form of forced movement, but have disadvantage on Dexterity saving throws. I may root or uproot myself as an action\nFlammable: I have vulnerability to fire damage. I am weak to fire and burn easily.\nNon-Humanoid: I am not subject to spells and effects that target humanoids, such as Charm Person. I count as a plant creature for the proposes of spells which target plants such as Blight.\nThick Bark: I have an AC of 14 + my proficiency modifier and my bark is considered heavy armor for all intents and purposes.\nHeavy: Even when uprooted, I have advantage on any save or ability check to resist forced movement.", //required; the racial trait as it will be put in the Racial Trait field on the second page (note that "\n" is a line break).
  58.  
  59. };
  60.  
  61. RaceList["treefolk - softwoods"] = { //Object name; Note the use of only lower case! Also note the absence of the word "var" and the use of brackets []
  62.  
  63.     regExpSearch : /^(?=.*treefolk)(?=.*softwoods).*$/i, //required; regular expression of what to look for (i.e. now it looks for any entry that has both the words "something" and "catlike" in it, disregarding capitalization). If this looks too complicated, just write: /something catlike/i
  64.  
  65.     name : "Treefolk, Willow/Birch/Cedar", //required; the name to use for the race
  66.  
  67.     sortname : "Treefolk, Softwoods", //optional; this is the name used to fill the drop-down boxes. If you don't include this, the 'name' will used instead
  68.  
  69.     source : ["HB", 0], //required; the source and the page number. "HB" stands for homebrew. See the "Complete SourceList" for an overview of sources that are already defined. Or define a new source using the "Homebrew Syntax - SourceList.js". // This can be an array of arrays to indicate the things appears in multiple sources. For example, if something appears on page 7 of the Elemental Evil Player's Companion and on page 115 of the Sword Coast Adventure Guide, use the following: [["E", 7], ["S", 115]]
  70.  
  71.     plural : "Treefolkw, Willows/Birches/Cedars", //required; the name to use for the race when the plural form is used
  72.  
  73.     size : 3, //required;  the size of the race (Gargantuan = 0, Huge = 1, Large = 2, Medium = 3, Small = 4, Tiny = 5)
  74.  
  75.     speed : { //required; This sets a value for one or more speed modes, and/or a value to be added to a specific speed mode or to all speed modes // the attributes of this object can be "walk", "burrow", "climb", "fly", "swim", and "allModes"
  76.  
  77.         // all of the following attributes are optional and you can add more ("burrow" isn't part of this example!)
  78.  
  79.         walk : { spd : 35, enc : 25 }, // the objects "walk", "burrow", "climb", "fly", "swim" are all the same, they are an object with two attributes, 'spd' for the speed in feet, and 'enc' for the encumbered speed in feet.
  80.  
  81.     },
  82.  
  83. /* SYNTAX CHANGE v12.998 >> old syntax for 'tools' and 'languages' are no longer supported!! */
  84.     toolProfs : [[""], ["", ""], ""], // optional; this is an array with the tool proficiencies gained. Each entry can be its own array of 2 entries (but doesn't have to be). The first entry is the name of the tool and the second entry is either 1) a number if the tool is yet to be chosen, or 2) the 3-letter ability score abbreviation if the tool is to be listed in the skill section and have a bonus calculated
  85.  
  86.     languageProfs : ["Sylvan", "Common"], // optional; this is an array of the language proficiencies gained. An entry can either be 1) a string that represents the language learned or 2) a number which is the number of language gained that can be chosen by the player
  87.  
  88.     weapons : [""], //optional; an array of weapons that are added to the attacks section; This will be the name of the weapon how it appears in the attack section, not necessarily the object name in the WeaponsList
  89.  
  90.     addarmor : "Natural Armor", //optional; a string of the name of the armour that is literally put in the Armor Description field when the class feature is applicable, and removed if not
  91.  
  92.     dmgres : ["Bludgeoning (nonmagical)"], //optional; damage resistance(s) the race has. This line can be deleted if you don't have anything to put here // If the resistance has a condition attached to it, like only being against nonmagical attacks, substitute the entry in the array with an array of 2: [the damage type, the damage type with the condition]. // For example: [["Bludgeoning", "Bludg. (nonmagical)"], ["Piercing", "Pierc. (nonmagical)"], ["Slashing", "Slash. (nonmagical)"]]
  93.  
  94.     savetxt : { // Optional; this attribute defines entries to add to the field for "Saving Throw Advantages / Disadvantages"
  95.  
  96.         immune : ["sleep"], // Optional; this is an array of strings that the character is immune to. This is put in the field after the text "Immune to ", so in this example it would result in "Immune to poison and disease"
  97.  
  98.     },
  99.  
  100.     age : " reach adulthood at 15 to 30 years and live around 300 years", //optional; the age tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  101.  
  102.     height : " range from 5 to over 6 feet tall (4'9\" + 2d8\")", //optional; the height tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  103.  
  104.     weight : " weigh around 155 lb (110 + 2d8 \xD7 2d4 lb)", //optional; the weight tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  105.  
  106.     heightMetric : " range from 1,5 to over 1,8 metres tall (145 + 5d8 cm)", //optional; the height tooltip/mouseover text (will be displayed in combination with the "plural" entry), when the metric system is chosen
  107.  
  108.     weightMetric : " weigh around 70 kg (50 + 5d8 \xD7 4d4 / 10 kg)", //optional; the weight tooltip/mouseover text (will be displayed in combination with the "plural" entry), when the metric system is chosen
  109.  
  110.     improvements : "Treefolk, Willow/Birch/Cedar: +2 Constitution, +1 Dexterity;", //required; the text that is displayed when listing all the ability score improvements
  111.  
  112.     scores : [0, 1, 2, 0, 0, 0], //required; the ability score improvements as used by the Ability Score dialog. The syntax is: [Str, Dex, Con, Int, Wis, Cha]
  113.  
  114.     trait : "Treefolk, Willow/Birch/Cedar (+2 Constitution, +1 Dexterity)\nTake Root: I do not sleep, but I must put down roots each night and enter a semi-conscious similar to an elf's trance for at least 6 hours. I can take root in sand, dirt, mud, loose gravel or similar material; but not worked stone or bare rock. While rooted, my speed becomes 0, but I become immune to both the prone condition and any form of forced movement, but have disadvantage on Dexterity saving throws. I may root or uproot myself as an action\nFlammable: I have vulnerability to fire damage. I am weak to fire and burn easily.\nNon-Humanoid: I am not subject to spells and effects that target humanoids, such as Charm Person. I count as a plant creature for the proposes of spells which target plants such as Blight.\nPaper Bark: I have an AC of 10 + half my proficiency modifier + my Dexterity modifier.", //required; the racial trait as it will be put in the Racial Trait field on the second page (note that "\n" is a line break).
  115.  
  116. };
  117.  
  118. RaceList["treefolk - flowerwoods"] = { //Object name; Note the use of only lower case! Also note the absence of the word "var" and the use of brackets []
  119.  
  120.     regExpSearch : /^(?=.*treefolk)(?=.*flowerswoods).*$/i, //required; regular expression of what to look for (i.e. now it looks for any entry that has both the words "something" and "catlike" in it, disregarding capitalization). If this looks too complicated, just write: /something catlike/i
  121.  
  122.     name : "Treefolk, Flowering Cherry/Dogwood", //required; the name to use for the race
  123.  
  124.     sortname : "Treefolk, Flowerwoods", //optional; this is the name used to fill the drop-down boxes. If you don't include this, the 'name' will used instead
  125.  
  126.     source : ["HB", 0], //required; the source and the page number. "HB" stands for homebrew. See the "Complete SourceList" for an overview of sources that are already defined. Or define a new source using the "Homebrew Syntax - SourceList.js". // This can be an array of arrays to indicate the things appears in multiple sources. For example, if something appears on page 7 of the Elemental Evil Player's Companion and on page 115 of the Sword Coast Adventure Guide, use the following: [["E", 7], ["S", 115]]
  127.  
  128.     plural : "Treefolk, Flowering Cherries/Dogwoods", //required; the name to use for the race when the plural form is used
  129.  
  130.     size : 3, //required;  the size of the race (Gargantuan = 0, Huge = 1, Large = 2, Medium = 3, Small = 4, Tiny = 5)
  131.  
  132.     speed : { //required; This sets a value for one or more speed modes, and/or a value to be added to a specific speed mode or to all speed modes // the attributes of this object can be "walk", "burrow", "climb", "fly", "swim", and "allModes"
  133.  
  134.         // all of the following attributes are optional and you can add more ("burrow" isn't part of this example!)
  135.  
  136.         walk : { spd : 25, enc : 15 }, // the objects "walk", "burrow", "climb", "fly", "swim" are all the same, they are an object with two attributes, 'spd' for the speed in feet, and 'enc' for the encumbered speed in feet.
  137.  
  138.     },
  139.  
  140. /* SYNTAX CHANGE v12.998 >> old syntax for 'tools' and 'languages' are no longer supported!! */
  141.     toolProfs : [[""], ["", ""], ""], // optional; this is an array with the tool proficiencies gained. Each entry can be its own array of 2 entries (but doesn't have to be). The first entry is the name of the tool and the second entry is either 1) a number if the tool is yet to be chosen, or 2) the 3-letter ability score abbreviation if the tool is to be listed in the skill section and have a bonus calculated
  142.  
  143.     languageProfs : ["Sylvan", "Common"], // optional; this is an array of the language proficiencies gained. An entry can either be 1) a string that represents the language learned or 2) a number which is the number of language gained that can be chosen by the player
  144.  
  145.     weapons : [""], //optional; an array of weapons that are added to the attacks section; This will be the name of the weapon how it appears in the attack section, not necessarily the object name in the WeaponsList
  146.  
  147.     addarmor : "Natural Armor", //optional; a string of the name of the armour that is literally put in the Armor Description field when the class feature is applicable, and removed if not
  148.  
  149.     dmgres : ["Bludgeoning (nonmagical)"], //optional; damage resistance(s) the race has. This line can be deleted if you don't have anything to put here // If the resistance has a condition attached to it, like only being against nonmagical attacks, substitute the entry in the array with an array of 2: [the damage type, the damage type with the condition]. // For example: [["Bludgeoning", "Bludg. (nonmagical)"], ["Piercing", "Pierc. (nonmagical)"], ["Slashing", "Slash. (nonmagical)"]]
  150.  
  151.     savetxt : { // Optional; this attribute defines entries to add to the field for "Saving Throw Advantages / Disadvantages"
  152.  
  153.         immune : ["sleep"], // Optional; this is an array of strings that the character is immune to. This is put in the field after the text "Immune to ", so in this example it would result in "Immune to poison and disease"
  154.  
  155.     },
  156.  
  157.     age : " reach adulthood at 15 to 30 years and live around 300 years", //optional; the age tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  158.  
  159.     height : " range from 5 to over 6 feet tall (4'9\" + 2d8\")", //optional; the height tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  160.  
  161.     weight : " weigh around 155 lb (110 + 2d8 \xD7 2d4 lb)", //optional; the weight tooltip/mouseover text (will be displayed in combination with the "plural" entry)
  162.  
  163.     heightMetric : " range from 1,5 to over 1,8 metres tall (145 + 5d8 cm)", //optional; the height tooltip/mouseover text (will be displayed in combination with the "plural" entry), when the metric system is chosen
  164.  
  165.     weightMetric : " weigh around 70 kg (50 + 5d8 \xD7 4d4 / 10 kg)", //optional; the weight tooltip/mouseover text (will be displayed in combination with the "plural" entry), when the metric system is chosen
  166.  
  167.     improvements : "Treefolk, Flowering Cherry/Dogwood: +2 Constitution, +1 Charisma;", //required; the text that is displayed when listing all the ability score improvements
  168.  
  169.     scores : [0, 0, 2, 0, 0, 1], //required; the ability score improvements as used by the Ability Score dialog. The syntax is: [Str, Dex, Con, Int, Wis, Cha]
  170.  
  171.     trait : "Treefolk, Flowering Cherry/Dogwood (+2 Constitution, +1 Charisma)\nTake Root: I do not sleep, but I must put down roots each night and enter a semi-conscious similar to an elf's trance for at least 6 hours. I can take root in sand, dirt, mud, loose gravel or similar material; but not worked stone or bare rock. While rooted, my speed becomes 0, but I become immune to both the prone condition and any form of forced movement, but have disadvantage on Dexterity saving throws. I may root or uproot myself as an action\nFlammable: I have vulnerability to fire damage. I am weak to fire and burn easily.\nNon-Humanoid: I am not subject to spells and effects that target humanoids, such as Charm Person. I count as a plant creature for the proposes of spells which target plants such as Blight.\nSwirling Blossoms: I can duplicate the effects of a 1st-level Fog Cloud spell by releasing all my flowers at once, which fills a 20-foot radius sphere centered on me. Once I use this ability, I cannot use it again until I complete a long rest.", //required; the racial trait as it will be put in the Racial Trait field on the second page (note that "\n" is a line break).
  172.  
  173.     spellcastingAbility : 6, //required for a spellcaster; the ability score to use for spellcasting. Remove this line if your race has no spellcasting. (Str=1, Dex=2, Con=3, Int=4, Wis=5, Cha=6)
  174.  
  175.     spellcastingBonus : { //optional; an object that adds something to the "Bonus Spells" section of the spell selection dialog //this object can have all the same attributes as the "spellcastingList" object as defined in the ClassList, but must also have a "name" defined //the other things that can be defined in this that are not in the "spellcastingList" object, are the "selection", "times" and "prepared" values
  176.  
  177.         name : "Natural Gift", //required; this is used to identify the object, so must be an unique name
  178.  
  179.         level : [0], //Optional; The lower and upper limit of spell levels that the class has access to.
  180.  
  181.         ritual : false, //Optional; Donates if only ritual (true) or only non-ritual (false) spells should be included in the list
  182.  
  183.         spells : ["druidcraft", "guidance"], //Optional, but required if not including the "class" entry; If a "spells" array is present, all other objects will be ignored and only this list of spells will populate the list of available spells. each entry has to match the name of the spell in the SpellsList
  184.  
  185.         times : 2, //optional; this is the number of times the bonus spells should be added. //This can also be an array of 20 values. That way the number of times are level-dependent
  186.  
  187.         prepared : true, //optional; if set to 'true', this makes the spell selected for this/these bonus spells to automatically get a checked off checkbox in the first column, similar to domain spells for a cleric
  188.  
  189.         atwill : true, //optional; if set to 'true', this makes the spell selected for this/these bonus spells to get "At Will" in the first column
  190.  
  191.         oncesr : true, //optional; if set to 'true', this makes the spell selected for this/these bonus spells to get "1×SR" in the first column
  192.  
  193.         oncelr : true, //optional; if set to 'true', this makes the spell selected for this/these bonus spells to get "1×LR" in the first column
  194.     },
  195. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement