Thirteenth Hour - Mechanus (5e Subclass)

Thirteenth Hour - Mechanus

Sorcerous Origin

Long ago, a powerful archdevil called Kankerok devised a way to break down the barriers between planes. Argentahl, god of balance and order, gifted sixteen newborn children on the material plane immense power. Forty years later, Kankerok began his ritual. Unbeknownst to him, the sixteen had been preparing, being recognised as protectors of the worlds by their immense power. They had assembled a massive army of billions, the full forces of the material plane. The army traversed the sixteen Outer Planes, guarding the portals that opened and thwarting those who would attempt to pass through. During this time, the sorcerers conducted an almighty ritual sealing the barrier. After sixteen hours, the ritual and the journey of the army were complete, but during the seventeenth Kankerok enacted a devious plan- he captured the billions of fallen souls that could not move on to outer planes due to the ritual's completion, for it had negated all travel between the planes for an hour after it was complete, and transmuted them into an army of ghasts that marched upon the material plane. For this battle, however, the sixteen could lead the army, and they conquered the ghasts, freeing them in time for their souls to escape to the outer planes. Over the course of these seventeen hours, the fate of the world was changed, causing gargantuan magical ripples across time that cause some to be touched by planar magic.

Law of Averages

Starting at 1st level, when a creature rolls one or more dice, you may choose to have the result instead be the average for that roll before modifiers (so a d20 roll becomes 10 + mods, and a 5d10 roll becomes 29 + mods). You may do this a number of times equal to your Charisma modifier + 1 (minumum 1). You regain all uses when you finish a long rest.

Imposing Order

Starting at 1st level, your spell save DC increases by 3 when applying it to enchantment and transmutation spells.

Unbreakable Laws

Starting at 6th level, your spell save DC increases by 4 when applying it to enchantment and transmutation spells, and you regain all uses of Law of Averages when you finish a short or long rest.

Steadfast

Starting at 14th level, your Wisdom score increases by 4 to a maximum of 24.

Master of Order

Starting at 18th level, your Intelligence, Charisma and Constitution scores each increase by 2 to a maximum of 22 each.


Back to Main Page 5e Homebrew Character Options Subclasses

gollark: - Checks if the available-items list already contains the item needed. If so, just return that.- If not, checks for recipes to do what is wanted- If one exists, iterate over them (not sure what to *do* with them)- If none exists, we can't do anything, so just return no tasks, no costs and no outputs.
gollark: ```rusttype Items = HashMap<ItemType, u32>;fn quantity(items: &Items, desired: &ItemType) -> u32 { if let Some(available_quantity) = items.get(desired) { *available_quantity } else { 0 }}fn contains(items: &Items, desired: &Item) -> bool { quantity(items, &to_item_type(desired)) >= desired.quantity}fn satisfies(available: &Items, desired: &Items) -> bool { for (typ, desired_quantity) in desired.iter() { if quantity(available, typ) < *desired_quantity { return false } } true}fn to_map(is: &Vec<Item>) -> Items { let out = HashMap::new(); for i in is.iter() { out.entry(to_item_type_clone(i)) .and_modify(|e| { *e += 1 }) .or_insert(0); } out}fn one_item(i: Item) -> Items { let out = HashMap::new(); out.insert(to_item_type(&i), i.quantity); out}#[derive(Debug, Deserialize, PartialEq, Eq, Serialize, Clone)]pub struct CraftingResult { pub tasks: Vec<Recipe>, pub costs: Items, pub outputs: Items}fn solve(desired: Item, available: Items, recipes: &MultiMap<ItemType, Recipe>) -> CraftingResult { if contains(&available, &desired) { // If our available items list already contains the desired item, yay, we can just do nothing return CraftingResult { tasks: vec![], costs: one_item(desired), outputs: one_item(desired) } } if let Some(recipes) = recipes.get_vec(&to_item_type(&desired)) { for recipe in recipes.iter() { let result = solve() // ??? } } else { CraftingResult { tasks: vec![], costs: HashMap::new(), outputs: HashMap::new() } }}```My code, or at least part of it.
gollark: That is NOT THE HARD PART.
gollark: (I'm still confused though)
gollark: People have already given helpful suggestions how to, soo...
This article is issued from Dandwiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.