← All proposalsWork blog
Oil painting of a lone knight in full plate standing in a shattered stone gateway at night, war maul grounded, torchlit spears massing in the dark beyond

The Steel Between

A deep dive into Shroud of the Avatar's Heavy Armor school, thirty years of the genre's armor and tanking designs, and thirty concrete proposals.

Nearly every fighter in New Britannia straps on chain or plate before walking into trouble. Far fewer ever cast what the school actually teaches. Over the last thirty days on the live server, 462 players held an investment in Heavy Armor, 204 cast even one of its runes, and 21 used the skills that define its role in a group. This page walks all twelve skills and the mitigation math beneath them, traces the genre's armor and tanking designs back to Ultima Online, and lays out thirty concrete proposals to give the wall a will of its own. Every card is open for comments and votes below.

0 · Executive summary 1 · The school we have 2 · Lessons: Ultima Online to the modern tank 3 · The thirty proposals    Tier 1 · Straightened Rivets (S1–S8)    Tier 2 · The Refitted Harness (S9–S17)    Tier 3 · New-Forged Steel (S18–S27)    Tier 4 · The Council Table (S28–S30)    Considered and rejected 4 · The composed kit 5 · Sequencing 6 · Appendix
Section 0

Executive summary

Heavy armor's price tag is the oldest design decision in the genre. Ultima Online decided in 1997 that a mage in plate keeps his walking speed and loses his mana engine: the Meditation skill simply refuses to work through metal. EverQuest invented Taunt two years later and with it the whole grammar of tanking, a number nobody could see called hate, and twenty years of addons trying to display it. Dark Age of Camelot gave the tank four different ways to stand in front of somebody. World of Warcraft formalized threat, then spent a decade learning that a tank whose survival lives entirely in the character sheet is bored, and moved mitigation into timed decisions. Elder Scrolls Online made heavy armor itself a skill line that levels by wearing it and answers crowd control with immovability. Final Fantasy XIV deleted the last damage penalty from its tank stance in 2019, and the genre effectively voted: the tank pays in something, but never in the ability to do their job.

Shroud's Heavy Armor school sits on the historically literate side of most of those arguments. Its costs are spell fizzle and triple durability wear, set deliberately in the June 2020 update that also shipped Provoking Shout, and never a step of movement speed, which both Ultima Online's precedent and the historical record of men vaulting onto horses in full harness would endorse. Its specialization is the rare one that visibly transforms the kit, doubling the armor value of every worn piece of chain and plate. Players notice: 53 percent of everyone who learns the specialization pushes it to 80, the strongest conversion signal of any armor school, against Light Armor's 19. But thirty days of live telemetry and the school's own data files tell three uncomfortable stories:

  1. The role nobody can play. The school's group identity is aggro, and the aggro kit reaches 21 of 1,237 active players. Taunt adds a one-time flat bump to a threat table that damage feeds continuously, so any committed damage dealer buries it within a swing or two; its level scaling spends itself on cooldown and radius rather than magnitude. Threat itself is invisible, so a tank cannot tell whether the button did anything. The complaint has a nine-year paper trail, and the newest entry was filed this month.
  2. The dishonest ledger. Verified defects stand between players and the school's real rules: the glancing-blow tooltip promised one third damage while the game dealt one quarter, fixed August 15 by raising the number to match the tooltip; Hard Headed lists three resists and grants one; Knight's Grace advertises an instant slow cleanse while a vestigial second effect fires about one percent of the time; Provoking Shout bills its focus cost to the Shield school's cost stat and wears Taunt's icon. And the largest single fact about armor appears nowhere a player can read it: damage resistance and absorption apply to physical damage only. The magic path subtracts neither.
  3. The missing decisions. The school is maintained buffs and passives. There is no short-window mitigation to time against a big hit, no poise to hold a cast steady while the blows land, no per-piece scaling for the half-plate hybrid, and the protect verb is one genre generation behind. The code even carries finished, unused hooks: reaction timestamps for glancing blows that no rune reads, a protection stat with no reader, an armor penalty channel with no writer.

Thirty proposals follow, in four tiers.

TierThemeCardsCost bandWho asked
1 · Straightened RivetsMake every number the game shows a Heavy Armor player true: the school book's eight wrong claims, four tooltip and data defects, dead effects, a misbilled focus cost, and the piece-count table's silent holesS1–S8all smallevery player who learned the wrong number from a tooltip
2 · The Refitted HarnessRepair the kit that exists: the taunt scaling regression diagnosed and fixed, threat made visible, Valiant Warden grown into a real guard, Knight's Grace uptime, the durability cliff, the borrowed buffS9–S17mostly mediumAkandriel, Osunn, Punkbeach, Segalleon2, and nine years of taunt threads
3 · New-Forged SteelNew verbs the genre has proven: poise that holds your cast, a timed mitigation window, a flat shave against swarms, per-piece scaling for hybrids, a priced ward against sorceryS18–S27medium to extra largethe genre canon, and the half of the school currently parked
4 · The Council TableOwner rulings: the aggro doctrine ceiling, taunt in PvP, and Body Slam's cloth-brawler quirkS28–S30rulings firstHemswal The Descended, and the design record itself
Section 1

The school we have

"Their ideas are good, but maybe there's a math issue or corner case code trap that renders them useless." — Akandriel, on Taunt and Provoking Shout, wishlist forum, August 1, 2026. This page is the investigation that post asked for.

Who actually plays it

Heavy Armor ranks 12th of 21 adventuring trees by specialization: 462 players learned the mastery, 243 pushed it to 80. That 53 percent conversion is the school's quiet endorsement. The specialization is the only one in the game wired directly into the damage pipeline, doubling the base armor value of every worn chain and plate piece at skill 80, and the players who try it keep it. Light Armor, the mirror school, converts at 19 percent. The pairings sketch the archetypes: Blades with Heavy Armor is the 11th most common specialization pair in the game at 97 players, the classic sword-and-board silhouette minus the shield school's own low numbers, and Bludgeons, Earth, Polearms and Tactics pairings follow.

The cast telemetry tells the other half. In the thirty days ending August 14, players cast 8,898,439 skills; the eight Heavy Armor runes account for 140,991 of them, 1.58 percent, by 204 distinct casters. The funnel from wearing to playing narrows hard:

active players, 30 days
1,237 players cast something
learned the specialization
462 players, all time
specialization at 80
243 players: 53% of learners
cast any school rune
204 players in 30 days
cast a defensive buff
141 cast Glancing Blow or Absorb Impacts
cast Taunt or Provoking Shout
21 players: 1.7% of the active game

Thirty days on the live server

The rune bar, thirty days of live casts
Heavy Armor
[Body Slam]        60,464 casts    86 players   (1)
[Inner Strength]   29,248 casts   161 players   (2)
[Glancing Blow]    28,678 casts   138 players
[Knight's Grace]    8,294 casts    51 players   (3)
[Absorb Impacts]    6,692 casts    52 players
[Taunt]             3,015 casts    16 players   (4)
[Valiant Warden]    2,359 casts    22 players   (5)
[Provoking Shout]   2,241 casts    12 players   (4)

school total ..... 140,991 casts   204 players
combo: Titan Smash     746 casts     7 players
What the numbers say
  • 1The workhorse is a fist. The school's most-cast rune is its damage and stun button, not its defenses. Body Slam alone is 43 percent of school volume. Its identity ruling is card S30; its mastery upgrade is S22.
  • 2The borrowed buff. Inner Strength reaches the most hands, and 39 of its 161 casters cast nothing else in the school: they wear the plate, take the Strength, and never meet the kit. Card S15 makes the door teach the room.
  • 3The thirty-second chore. Knight's Grace demands reapplication every 30 seconds in any real fight. Card S11.
  • 4The role, exercised by 21 people. Taunt and Provoking Shout, the skills that define the school in a group, reach 16 and 12 players. The diagnosis and repair are cards S9 and S10.
  • 5The protect verb idles. Valiant Warden, the card most worth building a group role on, found 22 casters. Card S12 grows it into a guard.

Concentration runs high: the top five casters produce 42 percent of the school's entire cast volume, and the single busiest produces 17. The school's public life is a handful of committed tanks and a wide population borrowing two buffs. The passives never appear in cast telemetry at all; their story is the 462-learner census above.

The tree as the skills window shows it

Skills: Combat · Heavy Armor
Glancing Blow      L1    Chance for blows to glance
                         for partial damage
Body Slam          L10   Charge and stun. Cannot be
                         used while rooted
Inner Strength     L10   Raises Strength. Usable
                         outside combat
Deflection         L10   Passive. Raises damage
                         absorption
Absorb Impacts     L40   Raises damage resistance.
                         Wears armor faster        (1)
Hard Headed        L40   Passive. Raises stun
                         resistance                (2)
Endurance          L40   Passive. Raises Strength
Knight's Grace     L40   Breaks stuns, clears slows
                         and bleeds                (3)
Valiant Warden     L40   Carries a share of one
                         ally's harm for 20 seconds
Taunt              L40   Draws the attention of up
                         to 15 nearby foes
Provoking Shout    L80   Raises all threat you
                         generate for a time       (4)
Specialization     L80   Doubles the armor value of
                         worn chain and plate
Callouts
  • 1The real cost is stated nowhere: unspecialized, the buff multiplies armor wear by up to ten while active. Specialization shrinks the penalty. Card S14 prints the bill.
  • 2The tooltip lists stun, knockback and knockdown. The data grants stun only. Card S4 delivers the other two or corrects the promise.
  • 3A vestigial second effect claims to cleanse slows and fires about one percent of the time; a different effect on the same rune does the real work at 100 percent. Card S5 removes the ghost.
  • 4Bills its focus cost to the Shield school's cost stat and shares Taunt's icon. Card S3.

The mitigation math, in order

Every proposal on this page plugs into one pipeline, and none of its order is stated anywhere in the game. When a physical hit lands on an armored character, the game rolls whether the blow glances (armor's damage avoidance feeds that chance, and a glancing hit deals one third damage), then applies block and parry, then subtracts flat damage resistance, capped so that resistance can remove at most a fixed share of the hit. Specialization intervenes three times: it doubles each worn chain or plate piece's base resistance, it raises the absorption ceiling, and it lowers the big-hit threshold above which resistance scales itself up, which quietly makes specialists better against exactly the crits that kill tanks.

flowchart TD
  H[Incoming hit] --> P{Physical or magic}
  P -->|Physical| G[Glancing roll
chance rises with Damage Avoidance
a glancing hit deals 1/3] G --> B[Block and parry] B --> DR[Flat damage resistance
per piece, doubled per chain or plate piece
at Specialization 80] DR --> CAP[Absorption ceiling
resistance removes at most a capped share
of the hit. Specialization raises the cap] CAP --> SC[Very large hits
damage above the scaling threshold
scales resistance up to meet it] SC --> OUT[Damage applied] P -->|Magic| MG[Partial resist roll only, 0.25x] --> MB[Block and parry] --> MOUT[Damage applied
no armor resistance, no absorption] style MOUT stroke-width:3px
The largest unstated fact in the school: the magic damage path applies no armor damage resistance and no absorption at all. A wall of plate and a linen shirt subtract the same zero from an incoming fireball; only attunements, blocks and parries answer spells. This page does not propose deleting that identity. It proposes saying it out loud (card S1) and selling one priced, active exception (card S26).

What the armor costs

Oil painting still life of a dented breastplate on an armor stand beside a cracked helm, repair hammer, rivets and folded gambeson in warm forge light
Plate wears out three times faster than cloth, and the game's strongest defensive buff can multiply that bill by ten. The trade was set on purpose in June 2020, and this page keeps it.

Heavy armor charges three currencies and famously refuses a fourth. A full plate set adds roughly 64 points of spell fizzle chance before skills reduce it, which is the wall between plate and serious spellcasting; only the Focus school sells relief, and the school itself contains none, which is deliberate. Plate takes durability damage at three times cloth's rate, a multiplier set alongside Provoking Shout in the June 2020 update. Every rune in the school bills focus through its own cost stat, which masterworked heavy helms can discount. And there is no movement or dexterity penalty anywhere in the code: the slow knight is a myth the game correctly declined to implement, and modern experiments in genuine 15th century harness agree. Heavy Armor's own runes never fizzle; they are combat skills, not spells. What this page fixes is not the tax but the receipts: the fizzle number a player actually pays is assembled from five sources and displayed in none of them (card S17).

The constraint every card honors: combat in Shroud resolves on the players' machines, and the server holds no threat table and no player positions. Every proposal below is therefore computable identically on every client from data both sides already share, threat displays are labeled as the local view, and all final tuning numbers belong to the balance program, not this page. Armor itemization belongs to the armor crafting page, stances and reactions to the Tactics page, and the Shield and Light Armor kits to their own pages.
Section 2

Lessons: Ultima Online to the modern tank

Shroud's ancestor invented this school's central bargain. In 1997 Ultima Online let anyone wear anything, and charged the mage who chose plate in the currency that mattered to him: the Meditation skill, the engine of mana recovery, simply refuses to function in metal armor. Movement was never touched. That is precisely Shroud's fizzle tax, twenty years early, and UO also demonstrated how the bargain dies: the later Mage Armor item property deleted the meditation penalty piece by piece, and once every caster could buy the exemption, armor choice collapsed into a gold cost. The 2003 Age of Shadows publish then replaced armor ratings with rolled item resists, and the community still argues that armor identity never recovered. Both halves of that story are load-bearing here: the tax belongs on the character, and no item may ever sell the way around it.

EverQuest built the other pillar in 1999. Taunt set your hate to one point above the current leader, hate itself was invisible, and two decades of threat-meter addons were born from that opacity. World of Warcraft formalized threat with multipliers and stances, capped armor's physical reduction at 75 percent on a curve of explicit diminishing returns, and then delivered the genre's most important tanking lesson in 2012: once threat generation stopped being the moment-to-moment problem, passive-mitigation tanks were bored, so Mists of Pandaria moved survival into short, resource-priced defensive windows. The tank's skill expression became timing, and it never went back. Dark Age of Camelot had already shown how rich the protective grammar could be, with four distinct verbs for standing in front of somebody: Guard, Protect, Intercept and Engage. Warhammer Online then perfected the form in 2008: its Guard split half a groupmate's damage and a third of their hate onto the tank, but only within thirty feet, which made bodyguarding a positioning game and is still cited as the best tank mechanic ever shipped in PvP.

The modern entries frame Shroud's choices from both sides. Elder Scrolls Online is the closest structural cousin: heavy armor there is a skill line that levels by being worn, scales its passives per piece so a five-heavy hybrid is a real build, and spends its one active on immovability, six seconds of immunity to knockback and disable. It also carries the cautionary scar: the passive that returned resources when struck made heavy armor mandatory in PvP for years. Final Fantasy XIV solved tank scarcity by deleting every penalty from tank stance and moving all skill expression into a layered rotation of mitigation cooldowns. Guild Wars 2 ran the control experiment, shipping no taunt and no threat table, and had to bolt tanking back on for raids by making bosses fixate the highest-toughness player: proof that some deterministic answer to "hit me instead" is load-bearing in group content. Dark Souls contributed poise, the best non-numeric armor fantasy in games: heavy armor buys the right to not flinch, to finish your swing while being hit. And the tabletop tradition supplies the oldest ideas still worth importing: D&D's Heavy Armor Master shaves a flat amount off every physical hit, chip-damage immunity that percentage reduction cannot express, and Pathfinder's Bulwark trait lets the armor itself stand in for agility, which is exactly the argument Glancing Blow has been making quietly all along.

1997
Ultima Online
Meditation refuses to work in metal. The caster tax lands on the mana engine, never the legs.
1999
EverQuest
Taunt sets hate one point above the leader. Invisible threat births twenty years of meter addons.
2001
Dark Age of Camelot
Guard, Protect, Intercept, Engage: four distinct ways to stand in front of somebody.
2004 / 2012
World of Warcraft
Defensive Stance formalizes tank mode; Mists of Pandaria moves tank skill into timed mitigation.
2008
Warhammer Online
Guard perfected: half an ally's damage and a slice of their hate, only within thirty feet.
2014
Elder Scrolls Online
Heavy armor becomes a skill line: levels by wearing, scales per piece, answers CC with Immovable.
2019
FFXIV Shadowbringers
Tank stance loses its damage penalty for good. The genre votes against paying to do your job.
2020
Shroud, Update 385
Provoking Shout ships beside the 300 percent plate durability trade. Six years on, 21 players cast the aggro kit.

The capability matrix

Rows are things a heavy-armor player might reasonably expect the school to offer. A filled dot is a first-class mechanic, a half dot is partial or conditional, an empty dot is absent. The two Shroud columns are the point of the table.

CapabilityUOEQWoWDAoCWARESOFFXIVGW2SotA todaySotA proposed
Hold aggro on demand◔ loses to DPSS9
See threat◔ addons● nativeS10
Protect an ally● four verbs● Guard◔ one target, no hateS12
Timed mitigation window● 2012 on● rotation◔ dodge○ maintained buffs onlyS19
CC immunity window◔ cooldowns● Immovable◔ stability◔ resist + cleanseS20
No-flinch action (poise)S18
Mitigation vs magic◔ parry absorbs spells◔ spell resist● damage-agnostic○ none at all◔ priced, S26
Per-piece hybrid scaling◔ count table with holesS24
Resource from being hit● rage● and it warped PvP◔ XP pooling onlyS23, capped
Cost charged to the wearer● mana engine● fizzle + durability● unchanged
Honest tooltips○ four defects verified● Tier 1 entire

"SotA today" holds two filled dots on that board, and one of them is the cost column. The proposed column fills the rest without inventing a new resource system: every row lands on plumbing the game already runs, and three of the biggest land on hooks the code has carried, finished and unread, for years.

Section 3

The thirty proposals

Oil painting of a knight in heavy plate stepping between a fallen companion and a hulking troll silhouette, one arm thrown wide
Valiant Warden carries a share of one ally's harm for twenty seconds. The cards below ask it to carry more.

Numbered S1 through S30, in four tiers: the wrong numbers first, then the kit, then the new verbs, then the owner's desk. Every card names its cost, its risk, and where it plugs into the shipping data. Tuning numbers are illustrations for discussion, not commitments; the balance program owns every final value.

Tier 1 · Straightened Rivets · eight cards of true numbers

S1 · Rewrite the school book

BuiltTier 1Size SServer: nonedocs

Built August 14. The internal school reference and the formula guide were corrected as this page shipped.

eight wrong claims verified in the school reference, one in the formula guide

The team's own Heavy Armor reference taught eight things the code does not do. It said every rune checks for worn heavy armor; three do. It said Absorb Impacts reduces armor wear; the buff's third effect multiplies armor wear, up to ten times unspecialized, and that bill is the skill's deliberate cost. It said Knight's Grace cleanses slows one hundred percent of the time at level 80; the expression is on the percent scale and fires about one percent of the time, and a different effect does the real cleansing. It said specialization raises the big-hit scaling cap; it lowers it, which is the good direction. The corrected book also now states the facts the old one omitted: glancing blows deal a third damage, the school's own runes never fizzle, one mastery can be trained while a second is maintained, and armor resistance applies to physical damage only.

Seen in: every long-lived game whose internal docs drifted from its code. The fix is reading the assets instead of the folklore.

Implementation notes

Eight corrections in the school reference covering the armor-check claim, the Absorb Impacts durability direction, the Knight's Grace chance scale, the scaling-cap direction and mechanism, the Body Slam multiplier arithmetic, the Provoking Shout aggro-vector claim, the lighter-armor zeroing claim, and the specialization slot rule; plus the piece-count bonus table in the formula guide, whose real values run 4, 8, 15, 25, 25, 28 percent by piece count and fall to zero past six, a hole card S8 closes in code.

client noneserver noneimpact the book matches the gametests n/a

S2 · A quarter is not a third

BuiltTier 1Size SServer: noneverified defect

Built August 15. Resolved in the opposite direction from the card below: the damage constant was raised to one third, so the tooltip and its eight translations were right all along. Glancing hits now deal a third of normal damage instead of a quarter.

tooltip: glancing blows inflict "only 1/3rd damage"; the constant in both damage paths was 0.25

The Damage Avoidance tooltip, the one stat description every Glancing Blow student reads, promises that a glancing hit deals a third of normal damage. The game dealt a quarter, in the physical path and the magic partial-resist path alike. The error had escaped into the community: the most-cited veteran explanation of avoidance on the forum teaches 66 percent reduction, when the armor was actually 9 points better than its own advertisement. The card proposed correcting the string; the shipped fix moved the number instead, an accepted balance change.

Asked by: the confusion in Ysold's 2024 avoidance-versus-resistance thread, where even the correct answers carried the wrong fraction.

Implementation notes

The constant lives beside the other combat tuning values and is applied at the two glancing sites, physical and magic partial resist; both picked up the new value from the one change. An EditMode test now pins the multiplier and the tooltip text together, so a future retune has to change both on purpose.

client Sserver noneimpact armor performs as advertisedtests glancing multiplier pin

S3 · Provoking Shout pays the wrong school's bill

Tier 1Size SServer: noneverified defect

30 days live: 2,241 casts by 12 players, the least-used rune in the school

Every Heavy Armor rune bills its focus through the school's own cost stat, the one a masterworked heavy helm can discount by a quarter. Every rune except one: Provoking Shout, the school's newest skill, multiplies its 25 focus by the Shield school's cost stat instead. The tank who masterworks a helm to make the aggro kit cheaper discounts seven runes and not the one that defines the job. The same skill also has no icon of its own; the skill catalog points it at Taunt's art, so the school's two aggro buttons are visually the same button. Rebill the focus cost to the right stat and give the Shout a face.

Seen in: nowhere. This is a copy-paste artifact on the school's 2020 addition, invisible until someone reads the asset.

Implementation notes

One token in the rune's focus cost expression, Shield's cost stat swapped for Heavy Armor's, and one icon entry in the skill catalog plus the new art. The 12 current casters see a focus cost that now responds to heavy-armor gear instead of shield gear; at base values the number itself does not move.

client S (data + icon)server noneimpact the aggro rune joins its own schooltests cost-stat read pin

S4 · Hard Headed keeps two of its three promises

Tier 1Size SServer: shared dataverified defect

tooltip: "resist stun, knockback, and knockdown effects"; data: one reward row, stun only

The passive's description sells three resistances. The skill table grants exactly one, stun. The other two are not hard to grant: knockback and knockdown exist as damage types, and the skill table's reward parser already understands resist entries for any of them, so delivering the full promise is two data rows, no code. The alternative is shrinking the tooltip to match the single reward. Recommend delivering: the school that markets itself as the immovable one should resist being moved, and card S18 builds its footing on exactly these rows.

Seen in: D&D's heavy armor tradition, where stability against forced movement is the category's signature.

Implementation notes

Two additional innate reward columns on the Hard Headed row, mirroring the stun entry's constants, equipment-gated to heavy armor like the original. The reward magnitude is the balance program's call; the parser path is covered by an EditMode test asserting all three rows parse and apply. If the owner prefers the string fix, it is one localization edit.

client S (data)server same rows, mirroredimpact the tooltip's promise deliveredtests reward-row parse pin

S5 · Knight's Grace sheds its ghost

Tier 1Size SServer: noneverified defect

30 days live: 8,294 casts by 51 players

Knight's Grace carries five effects, and one of them is a ghost. A leftover slow-cleanse rolls its chance on an expression that reaches about one percent at skill 80, while a second, correct effect on the same rune removes slows at one hundred percent. The ghost does nothing but appear in tooltips and confuse anyone reading the asset, and it once confused the team's own documentation into calling it the real cleanse. Two other effects on the rune carry a copied specialization stat reference their effect types never read. Delete the ghost, strip the residue, and the rune's behavior does not change at all, which is the point: this is the cleanup that makes every future Knight's Grace card safe to tune.

Seen in: every ten-year-old data file. Assets accrete; the cleanse should not.

Implementation notes

Remove the vestigial second effect and the two stray stat references from the removal effects. An EditMode regression pins the surviving behavior: stun cleanse gated on unbreakable roots, slow and bleed removal at full chance, specialization self-buff intact, so the cleanup provably preserves the rune.

client S (data)server noneimpact identical behavior, honest assettests cleanse regression pin

S6 · Taunt's specialization sells the wrong bonus

Tier 1Size SServer: noneverified defect

spec bonus in data: 25 percent chance per mastery point of a second pulse on up to 5 targets, same radius

The Taunt description tells specialists their investment "increases the area of effect." It does not; the specialization effect's radius expression is identical to the base skill's. What specialization actually buys is better than advertised: a chance, scaling with mastery, that the taunt pulses a second time on up to five targets. A specialist reading the real rule learns their taunt double-taps; a specialist reading the current tooltip walks the field expecting a bigger circle that never comes. Fix the string to sell the mechanic that exists.

Seen in: the same family as S2. The school's numbers are better than its copy.

Implementation notes

One localized string on the Taunt skill description. The second-pulse chance, target cap and identical radius are all verifiable in the rune asset; no behavior change.

client Sserver noneimpact specialists told the truthtests n/a

S7 · Sweep the mitigation pipeline's attic

Tier 1Size SServer: nonechore

one stale TODO, one commented-out multiplier, one stat never written and never read

The function that totals armor damage resistance carries a TODO asking for a calculation that sits, implemented, seven lines above it. One line further up, a commented-out set-bonus multiplier references a tuning value the game still defines and never uses. And the stat table holds a glancing-chance stat with no writer and no reader, shadowed by the avoidance stat that does the real work. None of this misbehaves; all of it misleads the next person who opens the file, and this school's file gets opened by every card in this catalog. Delete the TODO, rule on the dead multiplier, and retire the orphan stat's label.

Seen in: the attic of every codebase. The pipeline every proposal touches should read clean.

Implementation notes

The stale TODO goes; the commented multiplier either revives under card S8's table decision or leaves with its tuning value; the orphan stat keeps its enum slot, which is append-only by contract, and gains a comment marking it reserved. No behavior change anywhere.

client Sserver noneimpact a clean room for every later cardtests n/a

S8 · Close the holes in the piece-count table

Tier 1Size SServer: nonelatent defect

bonus by pieces worn: 4, 8, 15, 25, 25, 28 percent, then zero at seven and beyond

Several school formulas scale with a bonus derived from how many matching armor pieces you wear. The lookup behind that bonus rewards one through six pieces and then, past six, silently returns zero. Nothing reaches those branches today, because only four non-torso slots count, which is exactly why the table has never been caught: the fifth and sixth entries are unreachable, and the seventh is a cliff waiting for the first future change to slot counting. Make the function honest and total, monotone through its whole range, so the school's scaling can never fall off the end of a switch statement.

Seen in: defensive programming everywhere. A lookup that answers every question except "seven" is not finished.

Implementation notes

Extend the count lookup's final case to cover all higher counts, correct the stale comment above it that still describes a ten percent ceiling, and pin the whole table zero through eight with an EditMode test, the cheapest pure-formula pin in the catalog. The formula guide's copy of the table was corrected with S1.

client Sserver noneimpact scaling that cannot fall off a clifftests table pin, counts 0 to 8

Tier 2 · The Refitted Harness · the kit repaired

S9 · The taunt that ten years bought

Tier 2Size LServer: none (client sim)flagship

30 days live: Taunt 3,015 casts by 16 players; Provoking Shout 2,241 by 12; the union is 21 of 1,237 active players

Here is the investigation Akandriel asked for. Taunt adds a one-time, flat bump to the target's threat: fifty points, plus your skill level, plus half your adventurer level, multiplied by any threat boost you carry. Call it 250 to 500 points on a serious build. Meanwhile every point of damage anyone deals feeds the same table continuously, so a committed damage dealer landing four-digit hits several times a second buries the bump inside one swing. Skill investment makes it worse in the cruelest way: Taunt's scaling spends itself on cooldown, reaching zero around level 140, and on radius, so ten years of investment buys more casts of a number that stopped mattering years ago as player damage inflated past it. This is a scaling regression, not a design flaw, and the record proves it: losing aggro to damage was ruled by design in 2017, a 2018 rework made taunt priority real for a while, Provoking Shout arrived in 2020 as the multiplier on top, and by 2023 the complaints were back because the flat bump underneath had been outgrown again. The repair: teach the aggro effect a relative mode, so Taunt sets the tank's threat to the target's current leader plus a margin that scales with skill, the answer EverQuest shipped in 1999. Provoking Shout's multiplier then multiplies something that cannot be outrun. Contention is the target, never immunity: a top damage dealer who keeps pouring it on can still take the monster back, which is the line card S28 asks the owner to draw exactly.

Asked by: Akandriel (August 2026, the investigation this card performs), Osunn (2023), Bahamut Arc (2017), and the 2018 Steam tanking thread. Seen in: EverQuest's Taunt, WoW's threat multipliers.

Implementation notes

The aggro effect handler gains a relative mode alongside its flat mode: read the target's current top threat from the creature-side table the client simulation already keeps, set the caster to top plus a skill-scaled percentage, and let the existing threat-boost multiplier apply. No server involvement exists to change; the threat table lives in the client sim on every machine and the computation is deterministic from shared state. Taunt's and Provoking Shout's assets flip to the new mode; magnitudes wait on the S28 ruling and ship through the balance program. EditMode tests pin the relative math, the flat-mode regression, and the boost interaction.

client Lserver noneimpact taunt scales with the game againtests relative-threat math pins

S10 · Threat you can see

Tier 2Size MServer: noneUI

the recurring forum question since 2017 is not "taunt is weak," it is "does taunt do anything"

Tanks cannot see threat, so every few years the same thread returns to ask whether Taunt is broken, and nobody can answer from inside the game. The creature simulation on each client already keeps the threat table; this card displays it. A fixation marker on the nameplate says this enemy is on you, or on an ally; a read-only script API exposes the local threat view so addon authors can build the meters this genre has demanded since EverQuest. No new combat truth is invented, and the display is labeled as the local view, because that is what it is.

Asked by: Punkbeach (wishlist, July 2026). Seen in: two decades of threat meters, and FFXIV's native enmity list, the genre's proof that showing the number ends the argument.

Implementation notes

Nameplate badge driven by the local creature AI's current target and threat-leader state; a script binding that returns the local table read-only, following the same client-side resolution pattern the item search API uses. Party members' meters are approximations of each other's sims and the API documentation says so.

client Mserver noneimpact the taunt argument endstests manual sweep with S9

S11 · Knight's Grace holds its blessing longer

Tier 2Size SServer: nonequality of life

forum consensus: "useful but requires frequent reapplication every 30 seconds"

The school's cleanse doubles as a specialization self-buff with a thirty-second life, which in any real fight means the tank spends a glyph slot and a cast every half minute on upkeep. The school already knows how to fix this: Provoking Shout's duration multiplies with mastery. Give Knight's Grace the same courtesy, scaling its buff duration with skill toward a minute at grandmaster, with the mastery multiplier on top. The cleanse-on-cast behavior, the part that saves lives, does not change.

Asked by: the consensus of Segalleon2's 2023 build thread. Seen in: FFXIV's lesson that upkeep without decision is chore, not gameplay.

Implementation notes

Duration expressions on the rune's buff effects gain skill and mastery terms following the Provoking Shout pattern already in the school. Ships after S5 so the tuning lands on a clean asset. Numbers to the balance program.

client S (data)server noneimpact less upkeep, same rescuetests duration expression pin

S12 · Valiant Warden grows into a guard

Tier 2Size LServer: none (client sim)role power

30 days live: 2,359 casts by 22 players

Valiant Warden is the school's most honorable idea and its least evolved: pick one ally, carry a quarter and change of their harm for twenty seconds, stand anywhere. The genre finished this design in 2008: Warhammer's Guard split half the ward's damage and a slice of their threat onto the tank, but only while the tank stayed within thirty feet, and that leash turned bodyguarding into a positioning game. Bring the Warden forward one generation: while the ward holds and the warden stays inside the leash, a fraction of the ward's damage and a share of their threat route to the warden. Both parties keep risk, the split never redirects entirely, two wardens cannot cross-guard each other, and the range readout on screen makes the leash a visible promise to keep.

Seen in: Warhammer Online's Guard, Dark Age of Camelot's Protect and Intercept, FFXIV's Intervention. The protect verb is the one tanking mechanic that works identically in PvE and PvP, because it never consults a threat table it cannot trust.

Implementation notes

The damage share rides the existing protection weight machinery rather than new netcode, extended with a leash check computed from client-local distance; the threat share applies on the warden's sim through the same aggro path as S9. The protection modifier stat the game defines and never reads becomes the split's tuning knob, finally employed. Self-warding and mutual warding are excluded at cast time. Numbers to the balance program.

client Lserver noneimpact bodyguarding becomes gameplaytests split and leash math pins

S13 · Provoking Shout becomes a presence

Tier 2Size MServer: none (client sim)role power

30 days live: 12 casters; the room should know when a knight walks in

Provoking Shout stays exactly what 2020 intended, a buff that raises all the threat you generate. This card adds the presence the fantasy is missing: while the Shout is up, the wearer periodically pulses a small amount of soft threat to enemies nearby, so a tank holds a doorway by standing in it, with the Taunt rune as the loud override on top. City of Heroes proved ambient aggro reads instantly and feels ancient in the right way; it also proved the aura must stay weaker than the button, and that ordering is kept here by construction, because the aura's pulses use the same relative-threat math as S9 at a fraction of the margin.

Seen in: City of Heroes' Gauntlet and taunt auras. Depends on S9 for the math and S10 for the visibility that keeps ambient threat from being invisible confusion.

Implementation notes

A periodic area aggro effect added to the Shout's buff, radius modest, magnitude a fraction of S9's taunt margin, any chance components rolled through the deterministic per-effect randomness so every client agrees. Ships with S3's icon so the presence has a face.

client M (data)server noneimpact tanking by positioningtests pulse cadence and magnitude pins

S14 · Absorb Impacts prints its bill

Tier 2Size MServer: nonelegibility + shape

unspecialized, the buff multiplies armor durability damage by up to ten while active; specialization shrinks the penalty toward two

Absorb Impacts is the school's plainest deal: more damage resistance now, more armor wear later. The game never states the size of the later. Unspecialized, the buff's durability rider bottoms out the divisor and multiplies armor wear by roughly ten while active; with specialization the same rider relaxes toward a factor of two. Players deserve the number, and the cliff deserves a slope. Step one, the tooltip prints the wear multiplier at your mastery. Step two, flatten the unspecialized extreme so the cost curve is a hill rather than a wall. The cost itself stays; the June 2020 durability trade is deliberate design, and this page defends it. What changes is that the school stops charging its harshest fee to exactly the players too new to know the fee exists.

Seen in: the smith's ledger. Every economy needs its repair sink; no economy needs it hidden.

Implementation notes

Tooltip term computed from the same expression the effect evaluates, so the display cannot drift from the charge. The curve reshape edits one expression on the rune's durability effect; the divisor floor in the damage code is unchanged. Economic impact flagged to the balance program; an EditMode test pins the divisor curve across mastery values.

client Mserver noneimpact the fee visible, the cliff a slopetests durability curve pin

S15 · Inner Strength teaches the room

Tier 2Size SServer: noneon-ramp

30 days live: 161 casters, the school's widest rune; 39 of them cast nothing else in the school

Inner Strength is how most players meet Heavy Armor: the only rune in the school castable on the overworld, a clean Strength buff, worth borrowing even if you never intend to tank. Thirty-nine of its hundred and sixty-one casters borrow exactly that way, casting nothing else the school teaches. Keep the door open and let it whisper what the house does: add a modest damage-resistance rider that scales with how many heavy pieces the caster actually wears. The pure borrower in cloth gets today's buff unchanged; the wearer in half plate feels the school answer their investment; and the most-cast on-ramp in the tree starts pointing inward.

Seen in: ESO's per-piece philosophy, applied to a single rune as a taste of card S24.

Implementation notes

One additional stat effect on the rune, damage resistance, amount scaled by the piece-count bonus token, physical path by definition. Overworld castability is untouched; it is the reason the rune is the door. Smallest viable number, balance program's call.

client S (data)server noneimpact the borrowed buff points hometests piece-scaling pin

S16 · Armored foes fight like it

Tier 2Size MServer: shared enumcontent hook

creature mirrors today: Taunt and Body Slam only; Blades has four, Ranged four, Light Armor three

Creatures borrow player schools through mirror skills, and Heavy Armor lends only its fist and its shout. An armored captain who turns a blow with Glancing Blow, or a knight-errant who wards their liege the way Valiant Warden wards a healer, teaches players the school's verbs by demonstration and makes armored encounters read as armored. Two new creature mirrors, Glancing Blow and Valiant Warden, close the gap with the sibling schools and hand the content team a bodyguard behavior that has never existed in the bestiary.

Seen in: every game whose elite guards actually guard. The best tutorial for a protect verb is being on the wrong side of one.

Implementation notes

Two creature skill rows and assets following the existing mirror pattern, two appended creature skill identifiers in the shared contract, propagated to both sides of the mirror by the branching script. Encounter placement is the content team's; the warden mirror inherits whatever S12 makes of the player verb.

client M (data)server 2 enum rows, mirroredimpact the bestiary learns to guardtests mirror-row parse pin

S17 · The fizzle receipt

Tier 2Size MServer: nonelegibility

a full plate set adds roughly 64 fizzle before relief; the assembled total appears nowhere in the game

The plate-caster tax is the school's oldest deliberate cost, and this card does not move it by a single point. What no player can currently do is read their own bill. The fizzle a cast actually rolls is assembled from five sources: the sum of every worn piece, a base modifier, a subtraction per free hand, a quarter point per skill level, and the Focus school's relief, clamped to a percentage at the end. None of that assembly is displayed, and fizzle display has a documented history of lying, including a 2018 defect where a plate chest charged 46 percent while listing 32. Add one line to the character sheet: your assembled fizzle chance, computed by the same code that rolls it. The paladin deciding between chain and plate deserves to make the school's most famous trade with the real number on the table.

Asked by: DalTXColtsFan's 2022 build lament that plate closed off fire and moon magic, on the lineage of Antrax Artek's 2018 measurements and FBohler's 2021 thread. The tax is fine; the blindfold is not.

Implementation notes

A character-sheet stat line that calls the existing fizzle assembly against the equipped set with a neutral rune, plus an audit pass asserting each worn piece's displayed contribution matches its applied one. The gear-cap exemption on fizzle stays exactly as coded; it is deliberate. An EditMode test pins the assembly order.

client Mserver noneimpact the famous trade, priced honestlytests fizzle assembly pin

Tier 3 · New-Forged Steel · verbs the genre has proven

S18 · Poise: plate does not flinch

Tier 3Size LServer: shared datanew verb

the fizzle tax punishes the caster's execution; nothing in the school defends execution in return

Dark Souls gave the genre its best non-numeric armor idea: heavy armor buys the right to not flinch, to finish what you started while the blows land. Shroud is unusually ready for it. The game already interrupts and staggers through flinch reactions, damage pushes and knockdowns, and card S4 restores the knockback and knockdown resists the school already promises. Poise assembles those parts: while wearing heavy pieces, resist flinch, stagger and knockdown interruptions during rune execution, scaling with pieces worn. It costs no mobility, because this school never charges mobility; it defends the cast the way fizzle taxes it, which makes it the most thematically earned import in the catalog. The wall's promise is not that you cannot be hurt. It is that hurting you does not stop you.

Seen in: Dark Souls and Elden Ring's poise, ESO's Immovable, Monster Hunter's lance. Builds on S4's restored resists.

Implementation notes

Interruption and push handling reads the restored knockdown and knockback resist rows, scaled per piece through the existing count bonus. If flinch proves not to be expressible through those damage-type resists, one appended stagger-resist stat carries it, the only conditional enum in this card. PvP interaction capped and tuned by the balance program.

client Lserver resist rows, mirroredimpact the cast survives the blowtests interrupt-resist matrix pin

S19 · Brace: the timed window

Tier 3Size LServer: shared enumnew rune

the school's biggest genre-relative gap: no mitigation button rewards reading the incoming hit

Absorb Impacts is a maintained buff; Deflection is a passive; nothing in the school asks the tank to read the fight. Brace is the missing button: a large damage-resistance surge lasting three or four seconds, on a real cooldown, priced in focus and a pulse of armor wear, the school's two legal currencies. Cast it into the troll's overhead swing and the window swallows the hit; cast it idly and the cooldown teaches you. This is the lesson World of Warcraft's 2012 active mitigation rework and every FFXIV tank kit since have proven: survival as a timed decision engages where survival as a checklist numbs. Brace rides the damage-resistance channel, so it stacks decision on top of Absorb Impacts instead of competing with Glancing Blow's avoidance channel, and it touches the physical path only, stated here so nobody reads a spell shield into it; that job belongs to S26.

Seen in: WoW's Shield Block and Barrier, FFXIV's short-cooldown mitigation. Answers the spirit of Nikko's 2018 tank-role thread, imported without the movement penalty his version carried, because the school does not charge legs.

Implementation notes

One new rune asset in the school's folder with the heavy equipment requirement, a damage-resistance stat effect on a short duration, focus billed through the school's cost stat, a self durability pulse per the Absorb Impacts pattern, and the one unconditional new skill identifier in this catalog, appended to the shared contract and registered through the skill table and school switch tables together. Window length is generous by design; on player-simulated combat, a too-tight timing window punishes latency instead of judgment.

client Lserver 1 enum row, mirroredimpact the tank gets a decisiontests window, cooldown, stacking pins

S20 · Immovable: the mastery glyph earns its name

Tier 3Size MServer: nonespec reward

mastery at 80 already grants a bonus glyph; ESO spent its whole heavy line's one active on immovability

When a school's mastery reaches 80, the game deals its deck a bonus glyph, and Knight's Grace's bonus copy currently reads as one more cleanse. Elder Scrolls Online settled what the single active of a heavy armor line should be: immovability. Repurpose the mastery bonus so the specialist's extra Knight's Grace becomes a short window of immunity to knockback, stun and root, priced in focus and durability, never in a self-snare, because this school does not sell its legs. The base rune keeps rescuing; the mastery copy starts promising. React becomes pre-empt, and specialization 80 becomes a destination with a feeling attached.

Seen in: ESO's Unstoppable and Immovable, minus the self-snare cost SotA's doctrine forbids.

Implementation notes

Rides the existing mastery bonus glyph hook and the existing stun and root stat gates; a distinct rune asset is needed only if the bonus copy cannot carry different effects, which would add one conditional skill identifier. Short window, long cooldown, PvP numbers to the balance program. Ships after S5's cleanup.

client Mserver none expectedimpact spec 80 becomes a destinationtests immunity window pin

S21 · Iron threshold: the flat shave

Tier 3Size MServer: nonenew passive shape

a stat named ProtectionModifier exists in the game today with no reader and no writer

Percentage resistance treats a wolf bite and a troll slam as the same problem at different sizes. Flat reduction does not: subtract a fixed amount from every physical hit and swarms of small attackers break on the plate like rain, which is the oldest armor fantasy there is, Ultima Online's original armor rating and D&D's Heavy Armor Master in one. The hook is already in the building: the game defines a protection modifier stat that nothing writes and nothing reads. Give it a writer, a passive reward scaling with level, and a reader, a flat shave applied at the end of the physical pipeline after resistance and absorption, clamped above zero. The anti-swarm identity arrives without a single new enum entry.

Seen in: D&D's Heavy Armor Master, UO's pre-2003 armor rating. The chip-damage immunity percentage math cannot express.

Implementation notes

Shave applied in the physical damage application after the resistance and absorption step, ordering against the glancing multiplier pinned by test before tuning; the dead stat becomes the amount, written by a new innate reward row or a Deflection rider. Must scale with level or it is dead content at 80, and its ceiling is what keeps trash camps from becoming literally free; both numbers to the balance program.

client Mserver noneimpact swarms break on the platetests shave ordering pin, mandatory

S22 · Sunder: the fist learns a job

Tier 3Size MServer: nonemastery rider

30 days live: Body Slam is 43 percent of school volume; ArmorPenalty is a debuff channel read by the pipeline and written by nothing

The mitigation pipeline subtracts a stat called armor penalty from every defender's resistance, and in ten years nothing has ever written to it: a debuff channel installed and never wired to a switch. Meanwhile Body Slam is the school's workhorse and its most popular use is stun-spam. Connect them: with specialization, Body Slam's impact dents the target's armor, applying an armor penalty debuff for a few seconds. The tank softens the monster for the whole party, a job that generates group value without being damage, which is precisely the niche a tank's damage button should fill. Sixty thousand casts a month acquire a reason beyond the stun.

Seen in: WoW's Sunder Armor, the classic tank contribution that is not a damage number.

Implementation notes

One debuff effect added to Body Slam, gated on mastery, writing the armor penalty stat the resistance total already subtracts and clamps. Stack cap and magnitude to the balance program; creature resistance values vary widely, so the debuff is a flat dent, not a percentage.

client M (data)server noneimpact the tank softens the bosstests penalty clamp pin

S23 · Second wind of the struck

Tier 3Size MServer: shared enumsustain, capped

the school already pools experience from taking physical hits; nothing else in it feeds on being struck

A tank's fuel should include being hit, or the role is all cost. Add a focus trickle when physical blows land on a heavy-armored character, limited by an internal cooldown so it cannot be farmed. The school already recognizes damage taken as a currency, pooling experience from it; this extends the idea to the resource the kit actually spends. And the card ships with its warning label attached, because the genre already ran this experiment to failure once: Elder Scrolls Online's version of exactly this passive made heavy armor mandatory in PvP for years. Hence the internal cooldown from day one, a reduced PvP rate, and this card's standing as first against the wall if the tier's power budget tightens.

Seen in: ESO's Constitution, imported with its scar tissue. WoW's rage is the older cousin.

Implementation notes

Hooked in the same damage-taken region that gates experience pooling, deterministic cooldown rather than proc rolls, one appended stat for the recovery rate, mirrored. PvE and PvP rates split at the data level; both to the balance program.

client Mserver 1 stat row, mirroredimpact being the target pays focustests cooldown gate pin

S24 · The hybrid ramp: per-piece honesty

Tier 3Size LServer: nonestructural

today three rune formulas gate on a yes-or-no armor check; the piece-count machinery already exists beside it

The school's formulas ask a binary question, wearing heavy armor or not, while the game separately maintains a per-piece count bonus that already knows the difference between four pieces and seven. The paladin in five plate and two cloth deserves the honest middle: convert the binary gates to per-piece fractions, so partial armor pays partial fizzle for partial benefit instead of cliff or nothing. Elder Scrolls Online proved per-piece scaling is the cleanest hybridization mechanism the genre has found. One law governs the conversion: a full seven-piece wearer lands exactly where they stand today, to the decimal, because a structural card that quietly nerfs every existing tank is not a proposal, it is an incident.

Seen in: ESO's per-piece passives. The 39 players borrowing Inner Strength in partial plate are this card's constituency, already in the data.

Implementation notes

Consumers of the binary token migrate to fraction-of-seven scaling where it improves builds, rune by rune, with the full-set case pinned equal to current values by EditMode table tests across zero to seven pieces per converted rune, mandatory before any of it ships. Sequenced late; S1's corrected book states which runes check what before this card moves any of them.

client Lserver noneimpact half plate becomes a buildtests piece-fraction tables, mandatory

S25 · Answer in iron: the glancing riposte

Tier 3Size MServer: nonewired hook

reaction timestamps for glancing blows, by me and on me, are fully wired into the formula system and read by no rune in the game

Somebody built the plumbing years ago: the combat formula system tracks the time since your armor last turned a blow, exposes it as tokens any expression can read, and no rune has ever read them. This card gives the finished mechanic its first author. After your armor glances a hit, a short window opens in which your next Body Slam is empowered, a cost refund or a bonus to the stun's chance. Defense creates an offense beat; the wall answers. This is not a new reaction system, which is the Tactics page's territory; it is an amount expression reading an existing combat token, the same way formulas read whether you are rooted.

Seen in: Monster Hunter's guard points and every parry-riposte tradition, arriving here through tokens the code already ships.

Implementation notes

Amount expressions on Glancing Blow's buff and Body Slam read the time-since-glanced token inside a threshold, any chance component rolled through the deterministic per-effect randomness. Window length tuned with S2's honest glancing numbers in front of players first.

client M (data)server noneimpact the wall answers backtests token window pin

S26 · The ward against sorcery

Tier 3Size LServer: shared enumbiggest power add

armor subtracts exactly nothing from magical damage; the fact appears nowhere a player can read

Plate's silence against magic is real identity and this page keeps it, but the genre's oldest version of this school already crossed the line once: Ultima Online's Parrying absorbed the majority of monster spell damage on a warrior who trained it. The priced exception: an active ward, a rider on Absorb Impacts' specialization or a sibling buff, that applies a fraction of your armor's damage resistance against magical damage while it runs, paid in the school's currencies and off between casts. Elemental resist gear remains the passive answer and loses nothing to an active with real downtime. Both paths are decided explicitly, which this school must always do: physical unchanged, magic gains only this buff's fraction while it is up. It is the largest single power addition in the catalog and the power budget below treats it accordingly.

Seen in: UO's Parrying crossing the physical-magical line, ESO's Unstoppable carrying spell resist. The gap is the matrix's emptiest row.

Implementation notes

The magic damage application gains one read of an appended ward-fraction stat, zero except while the buff runs; the buff ships as a specialization rider first, which needs no new skill identifier. Uptime is the whole balance question and belongs to the balance program with the ESO chapter open on the desk.

client Lserver 1 stat row, mirroredimpact a priced answer to the fireballtests ward fraction and uptime pins

S27 · Plate is not chain

Tier 3Size XLServer: nonelate wave

specialization today multiplies chain and plate identically; the materials differ only in their item stats

The specialization's doubling treats chain and plate as the same metal at different prices; only their item stats differ. Pathfinder's armor specialization shows the richer answer: the material shapes the bonus. Plate specialization leans into the flat shave and anti-burst, the S21 identity; chain specialization leans into glancing and the riposte, the S25 identity. Two silhouettes emerge where one number stood, and the choice of what to smith becomes a choice of how to fight. This is the catalog's widest re-evaluation of existing builds and it goes last, after the shapes it borrows have shipped and settled, with the crafting page's itemization fences fully respected: this card changes what the skill does with a material, never what the material rolls.

Seen in: Pathfinder 2e's armor group specializations, UO's pre-2003 material identities.

Implementation notes

The specialization multiplier site branches by armor category into the two bonus shapes, reusing S21's shave stat and S25's window rather than inventing new machinery. Every mixed-set build re-evaluates, which is why this ships in the final wave with the balance program driving.

client XLserver noneimpact two materials, two identitiestests per-category multiplier pins

Tier 4 · The Council Table · rulings before numbers

S28 · The aggro doctrine

Tier 4Rulinggates S9's ceiling

2017: losing aggro to damage ruled by design. 2018: taunt priority shipped anyway. 2026: the bump cannot keep up.

Before S9's numbers can be final, the owner draws one line: where between "taunt is a suggestion" and "taunt is a lock" does this game sit? The record shows the pendulum has swung once in each direction. The recommendation on the table: taunt guarantees contention, a tank who plays the kit holds the monster against equal effort, and a top damage dealer who keeps pouring it on can still take it back, so the fight over the monster's attention stays a fight. One paragraph from the council table unblocks the flagship.

Seen in: the 2017 by-design tag, the 2018 rework, and every game that ever tuned a taunt.

cost a rulingunblocks S9, S13

S29 · Taunt in PvP

Tier 4Size XL if builtparked until S9 settles

proposed 2018: forced facing, half a second to two by skill level; opposed on parity grounds the same week

Hemswal The Descended proposed in 2018 that Taunt do something to players: force the target to face the taunter for up to two seconds. The thread pre-negotiated its own compromise, resists and diminishing returns from Numa, a fizzle-and-accuracy debuff variant from Gyzarus, and recorded its opposition, Jezebel Caerndow's position that PvE and PvP parity is a non-goal. It was never adopted. It stays on the council table rather than in the catalog proper: real support, real opposition, real desync surface on player-simulated combat, and no version of it should move before the PvE taunt has been repaired and settled.

Asked by: Hemswal The Descended (2018), with Numa's caveats attached. Parked deliberately.

cost XL, if everwaits on S9 shipped and settled

S30 · The cloth brawler

Tier 4Rulingone asset either way

Body Slam in cloth deals full base damage; the armor bonus multiplier falls back to one, never zero

A quirk the corrected book now records: strip to cloth and Body Slam still lands at full base damage, because its formula multiplies by the armor set bonus, which gracefully becomes one for the unarmored, rather than the strict armor check, which would become zero. The stun already scales with worn pieces, so the naked slam is a weaker stun with an intact fist. Options for the council: call it a fun fact and keep it, since a hard gate would stealth-nerf a sixty-thousand-cast rune to fix a corner case nobody has complained about; or scale the impact per piece so the fist is honestly heavier in plate. The recommendation is the fun fact, in writing.

Seen in: every game's beloved edge cases. Sometimes the right fix is a sentence in the book.

cost a ruling, then one expression at mostblocks nothing

Considered and rejected

Section 4

The composed kit

The test of thirty cards is whether they compose into one playable half minute. Below is a tank's thirty seconds with the proposed kit, every element riding a UI surface the game already has: the buff bar, the nameplate, the combat log, the hotbar. No new window is proposed anywhere in this catalog.

ONE PULL, PROPOSED KIT · a tank's thirty seconds
[ BUFF BAR ]    Glancing Blow 22s | Absorb Impacts 8s | Inner Strength 4m
                Provoking Shout 38s | Brace 4s | Poise steady          (1)

[ TARGET ]      Troll             fixated on YOU                       (2)
[ WARD ]        Warden bond: Elowen   9m of 10m                        (3)

[ COMBAT LOG ]
  Your armor turned the blow. Glancing hit for 61.                    (4)
  Brace caught the slam. 214 damage prevented.                        (5)
  Your plate held your footing. Casting continued.                    (6)
  Elowen took 180. You carried 90 of it.                              (3)
  Focus returned: struck while in full plate.                         (7)
  The troll turns to face you.                                        (2)

[ HOTBAR ]      Q Taunt (ready) | E Brace (2s) | R Warden swap | F Slam
every surface above already exists in the gamenumbers illustrative
Section 5

Sequencing

WaveShipsGate
1 · True numbersS1 (built), S2–S8 entire, S10, S11, S14 tooltip, S16, S17none: defects and legibility, zero power spend
2 · The repairS9 with S13 (shared aggro math), S12, S14 curve, S15, S30 rulingS28 ruling sets S9's ceiling
3 · New steel, cappedS18 with S4's rows, S19, S21, S25; then at most one of S20, S23, S26 per releasepower budget below
4 · The wide onesS24, then S27after wave 3 settles; full-set parity pinned by test
ParkedS29S9 shipped and settled
flowchart LR
  S28[S28 ruling] --> S9[S9 taunt repair]
  S9 --> S13[S13 aura]
  S10[S10 threat visible] -.pairs.-> S9
  S4[S4 resists] --> S18[S18 poise]
  S5[S5 cleanup] --> S11[S11 uptime]
  S5 --> S20[S20 immovable]
  S2[S2 honest glancing] --> S25[S25 riposte]
  S21[S21 shave] --> S27[S27 materials]
  S25 --> S27
  S1[S1 book, built] --> S24[S24 per piece]
  S9 --> S29[S29 PvP, parked]

The power budget. Six cards raise tank power in earnest: poise, Brace, the shave, immovable, the focus trickle and the spell ward. No release should ship more than two of them, and the trickle and the ward never together, because sustain plus magic mitigation in one patch is the exact recipe that made heavy armor mandatory in another game's PvP for half a decade. And one optics rule, owed to the Light Armor thread that watched this page being researched: every wave that ships a heavy power raiser ships heavy repairs and legibility beside it. The Light Armor page carries the mirror catalog, so the parity ledger has two open books.

Section 6

Appendix

Where the numbers come from

ClaimSource
Casts and casters per rune, 30 dayslive-server skill telemetry, thirty days ending August 14, exact per-rune counts and distinct-caster counts
8,898,439 total skill events; 1,237 active playerssame telemetry, whole-game window
462 learners, 243 specialized at 80, rank 12 of 21, the pairing tablethe August 2026 specialization census of the live database
Every formula, cooldown, cost and duration quotedthe school's eight rune assets and the skill table, read directly; the corrected school reference (S1) carries the full record
The mitigation order of operations and the magic path's zerothe damage application code, both paths, verified line by line for this page
Forum history and requester creditsthe official forum threads named on each card, 2017 through August 2026

Constraints honored

The test surface

Cards whose changes are pure formula carry EditMode pins as part of their cost, not as an afterthought: the piece-count table (S8), the glancing multiplier (S2), the shave ordering (S21), the per-piece fraction tables (S24), the relative-threat math and its boost interaction (S9), the fizzle assembly (S17), the durability curve (S14), the Knight's Grace regression (S5), and the resist-row parse (S4). The school currently has no dedicated test class; wave 1 creates it.

Sources and credit

Game systems consulted for the lessons section: Ultima Online's armor rating, Meditation rule, Mage Armor property, Parrying, and the Age of Shadows resist retrofit; EverQuest's Taunt and the birth of the trinity; World of Warcraft's threat formalization, armor curves, and the Mists of Pandaria active mitigation rework; Dark Age of Camelot's Guard, Protect, Intercept and Engage; Warhammer Online's Guard and the Ironbreaker; Elder Scrolls Online's heavy armor skill line, Unstoppable, Constitution and its PvP history; Final Fantasy XIV's tank stance history and mitigation rotation doctrine; Guild Wars 2's trinity experiment and toughness fixation; Dark Souls and Elden Ring's poise and equip load; Monster Hunter's lance; D&D fifth edition's heavy armor rules and Heavy Armor Master; Pathfinder second edition's Bulwark trait and armor specialization effects; and the historical record, including modern mobility experiments in genuine fifteenth-century harness. This game's own record: the skills window, the corrected school reference, the armor crafting page of this series, the specialization research notes, and the telemetry and census described above.

Heavy Armor's costs were set with care: fizzle for the caster, durability for the purse, and never a step of speed, a choice both Ultima Online's meditation rule and the historical record would endorse. What the school owes its players now is smaller and harder: numbers that mean what the tooltips say, a taunt that repays ten years of investment, and a handful of real decisions to make while the blows land. Nothing in this catalog is final. The defect fixes are filed, the rest are arguments, and the balance work ships elsewhere. If you carry plate for a living, the comment threads under each card are where your dents count. Credit where it is due: Akandriel, Osunn, Punkbeach, Segalleon2, Ysold, DalTXColtsFan, Cora Cuz'avich, Hemswal The Descended, Numa, Nikko, Antrax Artek, FBohler, Bahamut Arc, and the posters of nine years of taunt threads whose reports shaped this page.

Feedback

General comments

No account needed. Every proposal above also has its own Discussion box for talking about that one alone; this thread is for the plan as a whole. Comments are plain text, held to basic decency, and may be trimmed.

← All proposalsWork blog