Forger of Souls (5e Subclass)

Forger of Souls

All creatures, save for most constructs and undead, have souls. There are those who fear the dark magic used to manipulate souls, there are those who use their own souls to strengthen them, and then there are the forgers of souls who use the souls of their fallen enemies and comrades to strengthen them. Wielding weapons and clocked in armor made of a combination of raw souls and mundane metals, these mighty warriors are a force to fear.

Quick Build

You can make a Forger of Souls quickly by following these suggestions: First, make Strength or Dexterity your highest ability score, depending on whether you want to focus on melee weapons or on archery (or finesse weapons). Your next-highest score should be Charisma. Second, choose the Clan Crafter or Guild Artisan background.

Soul Binding

At 3rd Level you learn to create runes, usually out of bone or wood, that you can use to bind and hold souls. To capture a soul, the creature must be dead and fail a Wisdom saving throw; the DC is 8 + Charisma modifier + your proficiency modifier. You can store a certain number of souls, based on your level, in these runes. You can also use souls in conjunction with mundane materials in order to craft gear and other items. Souls count as 5 x the CR of the creature it came from gp-worth of crafting material, and crafting uses up the soul, trapping it in the crafted item. Items crafted with souls are worth the same as their normal counterpart, however due to looking slightly ethereal and otherworldly you get a +3 to rolls to haggle the price or generally sell the item.

Fighter
Level
Bound
Souls
3rd6
4th6
5th7
6th7
7th7
8th8
9th8
10th9
11th9
12th9
13th10
14th10
15th11
16th11
17th12
18th13
19th15
20th17

Soul Casting

At 3rd Level you learn spells based on the Eldritch Knight in the Core Rulebook (page 73), however you use the warlock spell list and Charisma is you spell casting modifier. Instead of only using spell slots however you also need to expend a certain number of souls based on the level of the base spell (example: magic missile is a 1st level spell, no matter what level it is cast at spend the number of souls needed for a first level spell). When you use a soul in this way it is weakened but not lost. It takes a long rest to strengthen the souls to a point where they can be used again or be crafted into items.

Spell
Level
Spent
souls
1st1
2nd3
3rd5
4th7

Soul Tearing

At 7th Level you can try to preemptively take the soul of an individual. Instead of attacking you can make one target in a 10ft radius make a Wisdom save DC = 8 + Charisma modifier, if the target is at or bellow either 10% health or 10 health (whichever is lower) you may add your proficiency mod.

Soul Resilience

At 10th Level you may use a bonus action to weaken 3 souls to gain resistance to one damage type. You can also as a bonus action weaken 5 souls to give disadvantage to a target within a 15ft radius.

Soul Magic Binding

At 15th Level you may use an extra 3 souls to give a crafted item spell storing. This spell storing may hold 1 charge of any first level spell or cantrip. The item can be activated with a bonus action and can be recharged on a short or long rest.

Soul Summoning

At 18th Level you can manifest one soul you have into a CR 2 or lower creature. This creature has 1 Hit point but can either move or attack on your bonus action. If the creature is adjacent to you or an ally it can make a DC 15 acrobatics check to take the damage for you or your ally.


Back to Main Page 5e Homebrew Character Options Subclasses

gollark: In parallel!
gollark: It enumerates and executes all possible strings.
gollark: ```pythonimport itertoolsimport multiprocessing as mchars = [chr(x) for x in range(32, 126)]chars.extend(["\t", "\n"])def generate_for_length(length): return map(lambda chars: "".join(chars),itertools.combinations(chars, length))def generate(): for i in itertools.count(): for s in generate_for_length(i): yield sif __name__ == "__main__": def start(func): proc = m.Process(target=func) proc.start() io_queue = m.Queue(maxsize=128) def printer(): while True: print(io_queue.get()) code_queue = m.Queue(maxsize=128) def generator(): for x in generate(): code_queue.put(x) def executor(): while True: code = code_queue.get() result = None try: result = repr(exec(code)) except Exception as e: result = repr(e) if result != "None": io_queue.put(code + ": " + result) start(generator) for _ in range(4): start(executor) printer()```Expanded version.
gollark: But the exec is *important*.
gollark: What?
This article is issued from Dandwiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.