Is my adaptation of the Battle Master as a Wizard subclass balanced relative to other Wizard subclasses and to the original Battle Master?

Background Motivation

I wanted to create a subclass for Wizard that uses an expendable die resource to augment its magic and benefit its allies, similar to how the Battle Master Fighter expends superiority dice to fuel maneuvers which augments its attacks and benefit its allies.

Design Process

The following were some significant steps and motivations in my design process.

  • I called the subclass the School of Pedagogy because, thematically, a Wizard of this subclass is an academic who studies magic at a theoretical level. I called the equivalent of Battle Master maneuvers “theorems” for the Pedagogy Wizard and the equivalent of superiority dice “savant dice.”
  • I evolved the Pedagogy concept from the Unearthed Arcana Lore Master and School of Invention, but almost nothing from those inspirations remains.
  • I ported the Battle Master subclass features (at 3rd, 7th, 10th, 15th, and 18th Fighter levels) into the chassis of the Wizard (at 2nd, 6th, 10th, and 14th Wizard levels), trying to keep a similar pacing of improvements.
  • I reduced the die size progression and the utility/skill features for the Pedagogy Wizard to include only d8 and d10 savant dice to account for Wizards generally being more powerful than Fighters at higher levels and for Wizards generally having more skills.
  • I ported many of the Battle Master maneuvers directly into theorems with minimal changes to apply the benefits to spells and magical effects. However, not every maneuver was sensible to port, so I excluded some. Then I created original theorems to fill unique magical needs that exist for a Wizard but not for a Fighter.
  • I compared the resulting theorems to all subclass features of other Wizard subclasses to avoid stepping on their toes. Some features and theorems are inspired by class/subclass features from other classes, in which case I tried to avoid impeding on those as well. I specifically avoided duplicating any Sorcerer Metamagic features.
  • For wording all theorems that add or subtract a die on an attack, check, or save, I tried to use wording identical to that used in Battle Master maneuvers, Bardic Inspiration, and the bless and bane spells: if the intent is that you can add/subtract before or after the roll is resolved, it’s explicitly stated; otherwise, you add it when you make the roll.
  • I iterated the subclass many times using feedback from several other DM’s. We will be playtesting the subclass for two Wizard characters in two campaigns (one where I am the DM and one where I play the Wizard), but it hasn’t made it to the table as of this posting.

Text of the Subclass (version 1.0)

The following is the result of my design effort.

Arcane Expertise

At 2nd level, you gain proficiency in the Arcana skill if you aren’t already proficient in it, and your proficiency bonus is doubled for any ability check you make that uses Arcana.

Magical Savant

When you choose this school at 2nd level, you learn magical theorems that are fueled by special dice called savant dice.

Theorems. You learn three theorems of your choice, which are detailed under “Theorems” below. Many theorems enhance a spell or other magical effect in some way. You can use only one theorem per effect.

You learn two additional theorems of your choice at 6th, 10th, and 14th level. Each time you learn new theorems, you can also replace one theorem you know with a different one.

Savant Dice. You have four savant dice, which are d8s. A savant die is expended when you use it. You regain all of your expended savant dice when you finish a short or long rest.

You gain another savant die at 6th level and one more at 14th level.


The theorems are presented in alphabetical order.

Applied Studies

When you make an Intelligence (Arcana, History, Nature, or Religion) check, you can expend one savant die to add it to the check. Alternatively, when you or a friendly creature who can see or hear you makes an Intelligence (Investigation) check, you can use your reaction and expend one savant die to add it to the check before or after making the check, but before any effects of the check are applied.

Beguiling Spell

When you cast a spell that forces a creature to make a Wisdom saving throw against being charmed or frightened, you can expend one savant die to make the spell especially beguiling and hard to ignore. Subtract the savant die from that creature’s first saving throw against the condition.

Damping Defense

When a creature damages you with a weapon attack, you can use your reaction and expend one savant die to reduce the damage by the number you roll on your savant die + your Constitution modifier.

Distracting Spell

When you hit a creature with a spell attack, you can expend one savant die to distract that creature, giving your allies an opening. You add the savant die to the attack’s damage roll. The next attack roll against the target by an attacker other than you has advantage if the attack is made before the start of your next turn.

Dual Strike

When you cast a spell with a duration of Instantaneous and it deals damage to a creature on your turn, you can use a bonus action to direct one of your companions to strike in tandem. When you do so, choose a friendly creature who can see or hear you and expend one savant die. That creature can immediately use its reaction to make one weapon attack against the same target, adding the savant die to its attack roll.

Elemental Flux

When you cast a spell that deals acid, cold, fire, lightning, or thunder damage, you can expend one savant die and choose one of the spell’s damage types from that list to substitute for another type from that list for the spell’s duration. The first time you roll damage for the spell using the substituted type, add the savant die to the damage roll.

Focusing Oration

When a friendly creature that can see or hear you misses with an attack, you can use your reaction and expend one savant die to refocus that creature’s efforts. Add the savant die to the attack roll, possibly changing the outcome.

Galvanizing Oration

When a friendly creature that can see or hear you makes a saving throw to end an ongoing effect on itself or to maintain concentration, you can use your reaction and expend one savant die to add it to the saving throw.

Maneuvering Spell

When you cast a spell with an area of effect, you can expend one savant die to direct one of your comrades to exit the area. Choose a friendly creature who can see or hear you in the area. Before the spell takes effect, that creature can use its reaction to move up to its speed, adding the savant die to its AC until it stops moving.

Mental Agility

When you roll initiative at the start of combat, you can expend one savant die to add it to the roll. When you use this theorem and aren’t incapacitated, you can’t be surprised on your first turn in combat.

Merciful Spell

When you reduce a creature to 0 hit points with a spell and the target isn’t killed outright, you can expend one savant die to hold back some of the spell’s energy and merely knock the target out. The target falls unconscious and is stable. You gain temporary hit points equal to the savant die roll + your Wisdom modifier.

Precision Spell

When you make a spell attack against a creature, you can expend one savant die to add it to the attack roll. You can use this theorem before or after making the attack roll, but before any effects of the attack are applied.

Reactive Cantrip

When a creature misses you with a melee attack, you can use your reaction and expend one savant die to cast a damaging cantrip that targets only that creature and has a duration of Instantaneous. Add the savant die to the cantrip’s damage roll.

Stirring Oration

When you cast a spell with verbal components on your turn, you can use a bonus action and expend one savant die to encourage one of your companions with an insightful speech woven into your spellcasting. Choose a friendly creature who can see or hear you. That creature gains temporary hit points equal to the savant die roll + your Charisma modifier.

Swift Spell

When you cast a spell that forces a creature to make a Dexterity saving throw, you can expend one savant die to make the spell especially swift and hard to avoid. Subtract the savant die from that creature’s first saving throw against the spell.

Tough Spell

When you cast a spell that forces a creature to make a Constitution saving throw, you can expend one savant die to make the spell especially tough and hard to withstand. Subtract the savant die from that creature’s first saving throw against the spell. This theorem can’t hinder a Constitution saving throw made to maintain concentration.

Expeditious Research

Starting at 6th level, you can use the Search action as a bonus action.

Improved Magical Savant

At 10th level, your savant dice turn into d10s.

Timely Epiphany

Starting at 14th level, when you roll initiative and have no savant dice remaining, you regain one savant die.


Is this Wizard School of Pedagogy balanced relative to other Wizard subclasses and to the original Fighter Battle Master that inspired it? In other words, can the School of Pedagogy coexist with those other subclasses as a useful, distinct, and coequal option without impinging on their design? Things to watch for…

  • Flawed language with ambiguity or unintended consequences.
  • Features that are not level-comparable with similar features from other classes/subclasses.
  • Features granting benefits that are too powerful relative to existing options.
  • Features that are game-breaking within the game’s existing design.
  • Features that are so niche or unhelpful they would never be chosen or used.

I am not at all concerned with whether the Pedagogy Wizard seems thematically or mechanically similar to the Sorcerer, so any similarity between the concept of theorems and of metamagic isn’t considered to be infringing on the use case of Sorcerers for purposes of my question, unless a theorem directly replicates a particular Sorcerer metamagic option.

(To the best of my ability, I’ve followed the recommendations on Meta for how to present a homebrew balancing question. I’m happy to accommodate actionable suggestions for improvement of the question. However, if I need to iterate the subclass design again after reviewing the answers, that will be done in a separate question. Finally, sorry for the wall of text. I hope it’s easy to follow.)

Does the range of your original familiar increase to 1 mile when you cast Flock of Familiars

My question is about how the Flock of Familiars1 spell interacts with the Find Familiar spell.

According to the spell description of the Flock of Familiars spell:

If you already have a familiar conjured by the Find Familiar spell or similar means, then one fewer familiars are conjured by this spell.

Which would be fine if the Familiars conjured by the Find Familiar spell are equivalent to the familiars conjured by the Flock of Familiars spell, but in their respective spell descriptions the ranges for telepathic communication are 100 feet for a Find Familiar and 1 mile for a Flock of Familiars.

Find Familiar:

While your familiar is within 100 feet of you, you can communicate with it telepathically.

Flock of Familiars:

Familiars summoned by this spell can telepathically communicate with you and share their visual or auditory senses while they are within 1 mile of you.

RAW, does this mean already having conjured a familiar through Find Familiar and then casting Flock of Familiars causes you to be worse off – during the one hour Flock of Familiars lasts – then if you had only casted Flock of Familiars?

1 From the digitally published adventure, Lost Laboratory of Kwalish

I am seeing ICMP type 3 error message from my firewall logs. However , I am unable to find the original request sent to that external IP [closed]

No matching connection for ICMP error message: icmp src inside: X.X.X.98 dst outside: X.X.X.11 (type 3, code 2) on inside interface. Original IP payload: udp src X.X.X.11/53 dst X.X.X.98/52906.

Can somebody please help me understand the cause.

How to roll for avoiding damage when using Black Hack 1e with optional rule “Original armor”?

The Black Hack 1e has an optional rule called "Original Armour". It reads like this:

Original armor

The traditional concept of ascending AC bonuses can still be used with The Black Hack. Attacks are still made by rolling below attributes (such as STR and DEX) however the AC bonus of the target is added to the roll.

For example in ascending AC systems Leather typically adds +2 to a base of 10 (giving you AC12) – with TBH you would roll an attribute test to see if you hit or are able to avoid taking damage, and add +2 to the dice roll. The quick way to read AC from existing resources is just use the last number as a bonus.

But to avoid taking damage in this edition of the The Black Hack one also has to roll under a stat. In which case it makes no sense, in my opinion, to add +2 to the dice roll. Rather, it makes sense to add +2 to the target number. Is my interpretation correct?

For reference, the Black Hack 1e SRD is here. And the optional rules, including the one in question, are here.

Is there any way for a Mind Flayer to go back to their original human(oid) form?

According to 5e lore, the Mind Flayer / Illithid lore reproduces via ceremorphosis: a tiny illithid-creature eats its way into the (sentient) target’s brain, forcing transformation to occur some time later.

Under what conditions is this either preventable &/or entirely reversible (Regeneration or Mind Protection rings, restorative / regenerative spells, back-up clones, polymorphs… anything at all)? Is there, once again, nothing lower level than Wish to solve this?

This is valuable for DMing & story-construction: many transformed illithids might / would / could miss their previous existence (such as an Illithid Arcanist or Mind Witness might). If such a reversal is possible, it would be fine to know.

Does the Rune Knight choose the new target for Cloud Rune or does the original target choose the new target?

Quoting from the Rune Knight’s Skye (Cloud Rune)

In addition, when you or a creature you can see within 30 feet of you is hit by an attack roll, you can use your reaction to invoke the rune and cause that attack to target a different creature within 30 feet of you (other than the attacker), using the same roll. This magic can transfer the attack regardless of the attack’s range. Once you invoke the rune, you can’t do so again until you finish a short or long rest.

Does that mean the Rune Knight chooses the new target for the attack?

Thank you so much for your help!

Find original array from array with pairs of adjacent elements

Given an array composed of pairs, like this:


Each element in the array (call it pair) means that pair[0] and pair[1] are adjacent in the original array. Note, they can come in either order. For instance, for the sample array above, the original array would be:

4,1,5,3,2 (or the reversed version of this)

How can I do this quickly? I tried doing this as follows, which works, but it’s too slow:

Create a hashmap that maps adjacent elements. Map = {3: [5,2], 1: [5,4], 5: [1,3], 4: [1], 2:[3]}. My algorithm would then start with one of the keys that only has a corresponding value length of 1 (in this case either 4 or 2), and then add to an output array, and go through the hashmap. I.e. First I would add 4 to my output, and then go from key of 4 (with a corresponding value of 1), to the key of 1, with corresponding values of 5 and 4. I’d ignore 4 (since it’s already in output), and add 5, then go to the key of 5, and so on and so forth. This is too slow! Is there a better algorithm?

Can you tell if someone transfers Hunter’s Mark or Hex if the original target is reduced to 0HP?

The spells hunter’s mark and hex both have this clause:

If the target drops to 0 hit points before this spell ends, you can use a bonus action on a subsequent turn of yours to [mark/curse] a new creature.

Both of these spells have spellcasting components that would be observable to another creature when the spell is cast. If I want to mark or curse someone, anyone nearby will know.

If the original target is reduced to 0HP, is it observable in any way should the caster choose to transfer their mark/curse to another creature? Or is this essentially untraceable after the initial casting?

Obviously for this question, I am ignoring a sorcerer’s Subtle Spell metamagic. We can also assume that this is not from stealth; the caster is not trying to hide what they are doing, this is more about whether or not there is anything to hide beyond the initial casting.


  • Is a creature aware that a Hex or Hunter's Mark spell has been cast on it? (but related to the initial casting from stealth)
  • Are Hunter's Mark and similar spells noticeable to the target? (duplicate of the above, still about the original casting)
  • Does moving the curse from the Hex spell to a new target have any spell components? (regarding if this transferring part has components)

Was Original D&D an Historical Wargame?

At the dawn of roleplaying, the Castle & Crusade Society and Lake Geneva Tactical Studies Association (LGTSA) focused on Medieval Britain, and produced the Chainmail tabletop wargame rules with a fantasy supplement, which in turn spawned the original Dungeons & Dragons game.

Design choices indicate that the focus was historical. Consider pole arms, extensively described in OD&D supplements and AD&D 1e, all of which inflict the same damage but which are individually specific to certain nationalities.

Was D&D originally intended to be an historical wargame with certain fantasy additions, roleplaying optional? (Bonus: Cite specific historical/wargame bits which were included.)

Mass update all cells in a column with a substring of it’s original value

I need to trim the last seven characters off of all the cells in a column.

This query returns the results that I need

SELECT test_date, SUBSTRING(test_date FROM 1 FOR CHAR_LENGTH(test_date) - 7) as test from results; 

I now need to take the computed result from the substring and replace the original values.

Here’s what the data looks like, if it helps.

Data Table