Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AelarTheElfRogue/42fa8b387c5b86197bf3733a95d9b906 to your computer and use it in GitHub Desktop.
Save AelarTheElfRogue/42fa8b387c5b86197bf3733a95d9b906 to your computer and use it in GitHub Desktop.
[Race] - Gnoll (Daemons and Deathrays)
var iFileName = "Gnoll Race - Daemons and Deathrays [AelarTheElfRogue].js";
RequiredSheetVersion(12.999);
SourceList["DD:G"] ={
name : "Gnoll Race - Daemons and Deathrays",
abbreviation : "DD:G",
group : "Homebrew",
url : "https://daemonsanddeathrays.wordpress.com/2015/12/05/gnolls-a-ferocious-race-for-dd-5e/",
date : "2018/08/21"
};
// Converted for use with MPMB's Character Sheet by /u/AelarTheElfRogue
// Gnoll's Bite Weapon
WeaponsList["gnoll bite"] = {
regExpSearch : /^gnoll(?=.*bite).*$/i,
name : "Gnoll Bite",
source : ["DD:G", 0],
list : "melee",
ability : 1,
type : "Natural",
damage : [1, 4, "piercing"],
range : "Melee",
description : "Special (See Racial Features)",
abilitytodamage : true,
};
// Plains Gnoll
RaceList["plains gnoll"] = {
regExpSearch : /^(?=.*plains)(?=.*gnoll).*$/i,
name : "Plains Gnoll",
sortname : "Gnoll, Plains",
source : ["DD:G", 0],
plural : "Plains Gnolls",
size : 3,
speed : {
walk : { spd : 35, enc : 25 },
},
weapons : ["gnoll bite"],
vision : ["Darkvision", 60],
savetxt : {
adv_vs : ["disease", "poison"]
},
skills : ["Stealth"],
age : " reach adulthood around 10 and live around 60 years",
improvements : "Plains Gnoll: +1 Dexterity, +2 Strength;",
scores : [2, 1, 0, 0, 0, 0],
trait : "Plains Gnoll (+1 Dexterity, +2 Strength)\nFeral Dash: I can drop to all fours as free action, increasing my speed by 5 ft. My dash increases by 10ft. The normal rules for standing from prone apply to ending this stance. Any attack not using my bite is done at disadvantage.\nBite: I can use my bite as a natural weapon, using Strength for the attack and dealing 1d4 + Strength piercing damage. This base damage increases to 1d6 at 6th level, 1d8 at 12th level, and 1d10 at 18th level. I may also use this attack as an “off-hand” bonus action." ,
features : {
"gnoll bite" : {
name : "Gnoll Bite",
minlevel : 1,
tooltip : "",
action : ["bonus action", " (Off-Hand)"],
additional : levels.map(function (n) {
return "1d" + (n < 6 ? 4 : n < 12 ? 6 : n < 18 ? 8 : 10);
}),
calcChanges : {
atkAdd : ["var gnollBiteDie = function(n) {return n < 6 ? 4 : n < 12 ? 6 : n < 18 ? 8 : 10;}; if ((/gnoll bite/i).test(theWea.name)) {var agnollBiteDie = gnollBiteDie(Number(What('Character Level'))); try {var curDie = eval(fields.Damage_Die.replace('d', '*'));} catch (e) {var curDie = 'x';}; if (isNaN(curDie) || curDie < agnollBiteDie) {fields.Damage_Die = '1d' + agnollBiteDie;}; fields.Mod = StrDex;}; ", "Gnoll Bite Scales"]
}
},
}
};
// Desert Gnoll
RaceList["desert gnoll"] = {
regExpSearch : /^(?=.*desert)(?=.*gnoll).*$/i,
name : "Desert Gnoll",
sortname : "Gnoll, Desert",
ource : ["DD:G", 0],
plural : "Desert Gnolls",
size : 3,
speed : {
walk : { spd : 30, enc : 20 },
},
weapons : ["gnoll bite"],
vision : ["Darkvision", 60],
savetxt : {
adv_vs : ["disease", "poison"]
},
skills : ["Survival"],
age : " reach adulthood around 10 and live around 60 years",
improvements : "Desert Gnoll: +1 Constitution, +2 Strength;",
scores : [2, 0, 1, 0, 0, 0],
trait : "Desert Gnoll (+1 Constitution, +2 Strength)\nFeral Dash: I can drop to all fours as free action, increasing my speed by 5 ft. My dash increases by 10ft. The normal rules for standing from prone apply to ending this stance. Any attack not using my bite is done at disadvantage.\nBite: I can use my bite as a natural weapon, using Strength for the attack and dealing 1d4 + Strength piercing damage. This base damage increases to 1d6 at 6th level, 1d8 at 12th level, and 1d10 at 18th level. I may also use this attack as an “off-hand” bonus action." ,
features : {
"gnoll bite" : {
name : "Gnoll Bite",
minlevel : 1,
tooltip : "",
action : ["bonus action", " (Off-Hand)"],
additional : levels.map(function (n) {
return "1d" + (n < 6 ? 4 : n < 12 ? 6 : n < 18 ? 8 : 10);
}),
calcChanges : {
atkAdd : ["var gnollBiteDie = function(n) {return n < 6 ? 4 : n < 12 ? 6 : n < 18 ? 8 : 10;}; if ((/gnoll bite/i).test(theWea.name)) {var agnollBiteDie = gnollBiteDie(Number(What('Character Level'))); try {var curDie = eval(fields.Damage_Die.replace('d', '*'));} catch (e) {var curDie = 'x';}; if (isNaN(curDie) || curDie < agnollBiteDie) {fields.Damage_Die = '1d' + agnollBiteDie;}; fields.Mod = StrDex;}; ", "Gnoll Bite Scales"]
}
},
"savage attacker" : {
name: "Savage Attacker",
minlevel: 1,
tooltip : " - When I reduce a creature to 0 hit points with a melee attack on my turn, I can take a bonus action to move up to half my speed and make a bite attack. Once I use this feature, I must complete a short or long rest to use it again.",
usages : 1,
recovery : "short rest",
action : ["bonus action", " (See Extra Notes)"],
eval : "AddString(\"Extra.Notes\", \"\\u25C6 Savage Attacker (Desert Gnoll Feature)\\n - When I reduce a creature to 0 hit points with a melee attack on my turn, I can take a\\n bonus action to move up to half my speed and make a bite attack. Once I use this feature, I\\n must complete a short or long rest to use it again.\", true);",
removeeval : "RemoveString(\"Extra.Notes\", \"\\u25C6 Savage Attacker (Desert Gnoll Feature)\\n - When I reduce a creature to 0 hit points with a melee attack on my turn, I can take a\\n bonus action to move up to half my speed and make a bite attack. Once I use this feature, I\\n must complete a short or long rest to use it again.\", false);",
}
}
};
// Spirit-Blooded Gnoll
RaceList["spirit-blooded gnoll"] = {
regExpSearch : /^(?=.*spirit)(?=.*blooded)(?=.*gnoll).*$/i,
name : "Spirit-Blooded Gnoll",
sortname : "Gnoll, Spirit-Blooded",
source : ["DD:G", 0],
plural : "Spirit-Blooded Gnolls",
size : 3,
speed : {
walk : { spd : 35, enc : 25 },
},
weapons : ["gnoll bite"],
vision : ["Darkvision", 60],
savetxt : {
adv_vs : ["disease", "poison"]
},
age : " reach adulthood around 10 and live around 60 years",
improvements : "Spirit-Blooded Gnoll: +1 Wisdom, +2 Strength;",
scores : [2, 0, 0, 0, 1, 0],
trait : "Spirit-Blooded Gnoll (+1 Wisdom, +2 Strength)\nFeral Dash: I can drop to all fours as free action, increasing my speed by 5 ft. My dash increases by 10ft. The normal rules for standing from prone apply to ending this stance. Any attack not using my bite is done at disadvantage.\nBite: I can use my bite as a natural weapon, using Strength for the attack and dealing 1d4 + Strength piercing damage. This base damage increases to 1d6 at 6th level, 1d8 at 12th level, and 1d10 at 18th level. I may also use this attack as an “off-hand” bonus action." ,
spellcastingAbility : 5,
spellcastingBonus : {
name : "Cackling Mystic",
spells : ["vicious mockery", "minor illusion"],
selection : ["vicious mockery", "minor illusion"],
times : 2,
atwill : true,
},
features : {
"gnoll bite" : {
name : "Gnoll Bite",
minlevel : 1,
tooltip : "",
action : ["bonus action", " (Off-Hand)"],
additional : levels.map(function (n) {
return "1d" + (n < 6 ? 4 : n < 12 ? 6 : n < 18 ? 8 : 10);
}),
calcChanges : {
atkAdd : ["var gnollBiteDie = function(n) {return n < 6 ? 4 : n < 12 ? 6 : n < 18 ? 8 : 10;}; if ((/gnoll bite/i).test(theWea.name)) {var agnollBiteDie = gnollBiteDie(Number(What('Character Level'))); try {var curDie = eval(fields.Damage_Die.replace('d', '*'));} catch (e) {var curDie = 'x';}; if (isNaN(curDie) || curDie < agnollBiteDie) {fields.Damage_Die = '1d' + agnollBiteDie;}; fields.Mod = StrDex;}; ", "Gnoll Bite Scales"]
}
},
}
};
// Gnoll Paragon [Plains]
FeatsList["gnoll paragon [plains]"] = {
name : "Gnoll Paragon [Plains]",
source : ["DD:G", 0],
description : "My bite attack becomes finesse. I gain advantage on Stealth checks in natural areas (such as tall grass and behind trees). [+1 Dexterity]",
prerequisite : "Being a Plains Gnoll",
prereqeval : "CurrentRace.known.indexOf('plains gnoll') !== -1",
improvements : "Gnoll Paragon [Plains] (feat): +1 Dexterity;",
scores : [0, 1, 0, 0, 0, 0],
calcChanges : {
atkAdd : ["if ((/gnoll bite/i).test(WeaponName) && fields.Proficiency) {fields.Description = fields.Description.replace('Special (See Racial Features)', 'Finesse, Special (See Racial Features)'); fields.Mod = StrDex; };", "My bite attacks count as finesse weapons."]
},
};
// Gnoll Paragon [Desert]
FeatsList["gnoll paragon [desert]"] = {
name : "Gnoll Paragon [Desert]",
source : ["DD:G", 0],
description : "My bite attack becomes finesse. I can use my Savage Attacker feature at will. [+1 Constitution]",
prerequisite : "Being a Desert Gnoll",
prereqeval : "CurrentRace.known.indexOf('desert gnoll') !== -1",
improvements : "Gnoll Paragon [Desert] (feat): +1 Constitution;",
scores : [0, 0, 1, 0, 0, 0],
calcChanges : {
atkAdd : ["if ((/gnoll bite/i).test(WeaponName) && fields.Proficiency) {fields.Description = fields.Description.replace('Special (See Racial Features)', 'Finesse, Special (See Racial Features)'); fields.Mod = StrDex; };", "My bite attacks count as finesse weapons."]
},
};
// Gnoll Paragon [Spirit-Blooded]
FeatsList["gnoll paragon [spirit-blooded]"] = {
name : "Gnoll Paragon [Spirit-Blooded]",
source : ["DD:G", 0],
description : "My bite attack becomes finesse. I gain Gnollish Magic. I can cast Disguise Self at-will. I can also cast each of the following once per Long Rest: Fear, Misty Step, Haste, Tasha’s Hideous Laughter. Wisdom is my casting ability stat for these spells. [+1 Wisdom]",
prerequisite : "Being a Spirit-Blooded Gnoll",
prereqeval : "CurrentRace.known.indexOf('spirit-blooded gnoll') !== -1",
improvements : "Gnoll Paragon [Spirit-Blooded] (feat): +1 Wisdom;",
scores : [0, 0, 0, 0, 1, 0],
calcChanges : {
atkAdd : ["if ((/gnoll bite/i).test(WeaponName) && fields.Proficiency) {fields.Description = fields.Description.replace('Special (See Racial Features)', 'Finesse, Special (See Racial Features)'); fields.Mod = StrDex; };", "My bite attacks count as finesse weapons."]
},
spellcastingBonus : {
name : "Gnollish Magic",
spellcastingAbility : 5,
spells : ["fear", "misty step", "haste", "tasha's hideous laughter"],
selection : ["fear", "misty step", "haste", "tasha's hideous laughter"],
times : 4,
prepared : true,
oncelr : true,
},
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment