Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AelarTheElfRogue/7a99e2b07b42e50e056e4ca9d25a66e0 to your computer and use it in GitHub Desktop.
Save AelarTheElfRogue/7a99e2b07b42e50e056e4ca9d25a66e0 to your computer and use it in GitHub Desktop.
[Archetype] - Warlock - The Infinite Hunger Patron
var iFileName = "Astrophel's Astronomical Arcanum - Infinite Hunger Patron.js";
//Create the source
SourceList["AAA:IH"] ={
name : "Astrophel's Astronomical Arcanum - Infinite Hunger Patron",
abbreviation : "AAA:IH",
group : "Astrophel's Astronomical Arcanum",
url : "https://www.gmbinder.com/share/-Lb4_S-mYZsAkjo_z-Hi",
date : "2018/10/01"
};
AddSubClass("warlock", "the infinite hunger", {
regExpSearch : /^(?=.*infinite)(?=.*hunger)(?=.*warlock).*$/i,
subname : "the Infinite Hunger",
source : ["AAA:IH", 1],
spellcastingExtra : ["dissonant whispers", "false life", "blindness/deafness", "blur", "clairvoyance", "haste", "evard's black tentacles", "greater invisibility", "antilife shell", "cone of cold"],
features : {
"subclassfeature1" : {
name : "Tenebrous Armor",
source : ["AAA:IH", 1],
minlevel : 1,
description : desc ([
"I gain a +1 to AC when not wielding a shield.",
"When I am damaged by an attack that does not deal psychic damage, I gain temporary",
"hit points equal to twice my Warlock level plus my Charisma modifier as a reaction"
]),
recovery : "short rest",
usages : levels.map(function (n) { return (n + What('Cha Mod')) + "+Cha Mod Temp HP / "; }),
usagescalc : "event.value = !classes.known.warlock ? '' : ((classes.known.warlock.level) + What('Cha Mod')) + ' Temp HP';",
action : ["reaction", ""],
eval : "AddACMisc(1, 'Tenebrous Armor', 'When not wielding a shield, the Infinite Hunger patron grants a +1 bonus to AC', 'ACshield');",
removeeval : "AddACMisc(0, 'Tenebrous Armor', 'When not wielding a shield, the Infinite Hunger patron grants a +1 bonus to AC');"
},
"subclassfeature6" : {
name : "Gravity Well",
source : ["AAA:IH", 1],
minlevel : 6,
description : desc ([
"I can create a Gravity Well in a location within 60 feet of me. The well is a sphere with",
"a 15ft radius, and is considered difficult terrain for all creatures except for me. All",
"creatures within the radius when the well appears must make a Strength saving throw",
"against my Warlock spellcasting DC. If a creature is forced into the well, it must also",
"make this save. On a success, the creature moves the the closest unoccupied space outside",
"of the well’s radius. On a failure, the creature is pulled 10ft towards the center of the",
"well. Any creature that starts it turn within the well is pulled 10ft towards the center.",
]),
action : ["action", ""],
recovery : "short rest",
usages : 1
},
"subclassfeature10" : {
name : "Consume the Light",
source : ["CoFSA", 11],
minlevel : 10,
description :desc ([
"I gain resistance to necrotic and radiant damage.",
"As a reaction when I would take necrotic or radiant damage, I can instead absorb it,",
"dealing my Charisma mod necrotic damage to all creatures currently in my Gravity Well.",
"I can now center my Gravity Well on myself, and have it move with me as I move."
]),
dmgres : ["Radiant", "Necrotic"],
action : ["reaction", ""]
},
"subclassfeature14" : {
name : "Singularity",
source : ["CoFSA", 11],
minlevel : 14,
description : desc ([
"I can cause my Gravity Well to collapse into a Singularity. All creatures within the",
"radius of the Gravity Well must make a Strength saving throw. On a failure, a creature",
"is forcibly pulled to the center of the Gravity Well and their speed is reduced to 0.",
"At the start of my next turn, the Singularity explodes, dealing 12d6 necrotic damage.",
"On a success, a creature is not pulled slowed, and takes half damage. After I trigger",
"Singularity, my Gravity Well dissipates."
]),
recovery : "long rest",
usages : 1,
action : ["action", ""]
}
}
});
AddWarlockInvocation("Pockets in Space (prereq: the Infinite Hunger patron, level 7 warlock)", {
name : "Pockets in Space",
source : ["AAA:IH", 1],
description : desc([
"I can exclude a number of creatures equal to my Charisma mod from the effects of my",
"Gravity Well",
]),
prereqeval : "(/infinite/).test(classes.known.warlock.subclass) && classes.known.warlock.level >= 7",
});
AddWarlockInvocation("Growing Hunger (prereq: the Infinite Hunger patron, level 12 warlock)", {
name : "Growing Hunger",
source : ["AAA:IH", 1],
description : desc([
"I deal extra necrotic damage equal to my Charisma modifier with melee attacks to",
"creatures adjacent to me when my Gravity Well is centered on me.",
]),
prereqeval : "(/infinite/).test(classes.known.warlock.subclass) && classes.known.warlock.level >= 12",
});
AddWarlockInvocation("Plunge Into Darkness (prereq: the Infinite Hunger patron, level 7 warlock)", {
name : "Plunge Into Darkness",
source : ["AAA:IH", 1],
description : desc([
"I can cast Darkness without expending a spell slot as part of the action to create my ",
"Gravity Well",
]),
prereqeval : "(/infinite/).test(classes.known.warlock.subclass) && classes.known.warlock.level >= 12",
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment