← All proposalsWork blog
Oil painting of a duelist in brown leather armor ducking fluidly under the massive sword swing of a plate-armored knight in a torchlit stone courtyard

The Art of Not Being There

A deep dive into Shroud of the Avatar's Light Armor school, what the genre learned about dodging in twenty-five years, and thirty concrete proposals.

Light Armor is the most-worn, least-committed school in the game. Its five castable skills were used by more distinct players in the last thirty days than any weapon school's, and at a third of any weapon school's volume: everyone samples it, nobody mains it. Eighty percent of every character ever created learned Dodge; one in twenty of them kept leveling it. The passives out-invest the actives by more than double, which means players buy this school as a stat package, not a fighting style. Its Specialization converts worse than any of the twenty-one schools in the game, fifty-two grandmasters ever, because it mostly buys longer durations on buffs that already outlast their own cooldowns. Its most-cast skill is a farm-loop tool for a handful of players that the forum calls useless. Its skill-ID block still carries the scars where the stealth limb was amputated into Subterfuge. And this week, unprompted, the community sat down and wrote this page's design brief in two forum threads. The school's fantasy is being missed. The school's problem is being skipped.

0 · Executive summary 1 · The school we have 2 · What the numbers say 3 · The community's brief 4 · Lessons: Ultima Online to Path of Exile 5 · Where light armor fits 6 · The thirty proposals    Tier 1 · Read the school (S1–S8)    Tier 2 · Kit repairs (S9–S17)    Tier 3 · New verbs (S18–S25)    Tier 4 · Doctrine (S26–S30)    Considered and rejected 7 · The composed school 8 · Sequencing 9 · Appendix
Section 0

Executive summary

The genre has run the light-armor experiment continuously since 1997, and the results have a shape. Ultima Online, this game's direct ancestor, made leather the armor of the dexterity fighter because plate destroyed the stat his damage ran on, then accidentally made leather the mage's armor too, because only leather let mana meditation work; the light fighter's identity drowned in a decade of everyone wearing his suit. EverQuest gave its leather-class monks the genre's founding aggro trick, Feign Death, and watched an exploit become a beloved raid profession. World of Warcraft let random dodge grow until tanks approached untouchable, clamped it with diminishing-returns curves in 2008, then deleted avoidance from gear entirely in 2014, on the stated grounds that random defense makes damage spiky and healers miserable. The Elder Scrolls Online, which runs an actual medium-armor skill line, the same structural object as a Shroud school, converted its signature 15 percent random dodge buff into a flat 25 percent damage reduction against area attacks in 2018, because a single-target attack randomly vanishing felt terrible to the person who aimed it. And Path of Exile kept random-looking evasion honest with an entropy counter that guarantees a 25 percent chance to be hit means exactly one hit in four. The through-line: pure dice-roll avoidance is the genre's most-retrofitted mechanic, and every survivor either capped it, converted it, activated it, or made the dice tell the truth.

Shroud's Light Armor school predates all of those verdicts and inherited none of their fixes, but its actual condition is stranger than neglect. Thirty days of live telemetry and a census of the entire live database sort the school's problems into three clusters:

Oil painting of a lone skirmisher in worn leather sprinting across a battlefield at dusk while a column of heavily armored knights trudges far behind
The school's fantasy: travel light, move first, be somewhere else when the blow lands. The census says everyone owns the jacket and almost nobody learns the footwork.
  1. The commitment gap. More distinct players cast Light Armor skills than any weapon school's, and the school still has no mains: 581 casts per caster against a weapon school's thousands, passives invested at double the rate of actives, and a Specialization that converts worst of all twenty-one schools because what it sells is duration nobody needs. The school is priced and shaped as seasoning, and a cloth chest piece alone turns all of it on, so its largest constituency is mages who will never press Dodge.
  2. The counterplay gap. The kit has no answer to the things that actually kill a light fighter. A root cuts dodge in half, a stun deletes it, mesmerize has had no practical counter since smelling salts were slowed, and Escape's threat drop fails at its one job when you are alone, because the monster simply picks you again. Meanwhile the school's own defensive stat is itemized backwards: base plate carries dodge-flavored avoidance on the armor itself, base leather carries none.
  3. The rot. Two decades of drift: a parenthesis error that quietly made raw Dexterity the main input of the Evasion buff, a stat named Armor Movement Effects that offsets no armor movement penalty anywhere in the game, dodge math that halves a rooted defender's chance and then skips the roll it was halved for, a creature copy of Dodge missing half its duration, two creature skills no monster uses, dead stats, unreachable set-bonus rows, tooltips that have answered a decade of forum questions wrongly or not at all, and zero dedicated tests. Six defect tickets were filed from this page's research before a word of it was written.

Thirty proposals follow, in four tiers.

TierThemeCardsCost bandWho asked
1 · Read the schoolThe corrected school book (shipped with this page), a dedicated balance-test suite, and the verified defects: the Evasion parenthesis, the wasted rooted roll, creature parity, Escape's doubled cleanse, dead stats and dead rows, and tooltips that finally state their numbersS1–S8small, one mediuma decade of "what does this skill even do" threads
2 · Kit repairsEvery skill's specific fix: Dodge's missing cooldown discount, Evasion and Sprint specialization moved from duration to power, a Flurry rider that works on locked bars, Specialization parity with Heavy Armor's concrete promise, honest Acrobatics, a broken-chest warning, and the Escape rework the forum asked for by nameS9–S17small to largeCora Cuz'avich, Barugon, Akandriel, Wishdragon (Aug 2026)
3 · New verbsThe school learns to fight back: a Dexterity buff, a crowd-control-resist innate, a strike that pays for footwork, Escape that can split a pull, a damage floor against undodgeable attacks, honest dice, per-piece armor scaling, and the school's first comboS18–S25largeCora Cuz'avich, Akandriel, and the genre
4 · DoctrineThe owner calls everything above hangs on: how dodge stays fair to attackers, the undodgeable-flag contract, the cloth free-rider ruling, the school's identity, and the standing promise to pay Heavy Armor in its own coinS26–S30rulings, not codethe next two ring pages
Section 1

The school we have

Eight skills: five castable, three passive. The five castables are all self-buffs or utility; the school deals no damage, participates in no combo, and interacts with an enemy exactly once, when Escape edits a threat table. In the skills window it looks like this.

Skills · Light Armor
                    DODGE                          (1)
                    (school root, granted at
                     character creation)
        ______________|________________________
       |              |                        |
   EVASION         ESCAPE                 SWIFTNESS    (5)
   (Dodge 10) (3)  (Dodge 10)  (4)        (Dodge 10)
   ____|_____                                  |
  |          |                            ACROBATICS   (6)
FLURRY    SPRINT                          (Swiftness 40)
(Evasion  (Evasion                             |
 40) (7)   40) (8)              LIGHT ARMOR SPECIALIZATION  (9)
                                          (Acrobatics 80)

Two more facts about the tree that no tooltip states. First, the school used to be bigger: two skill identifiers inside its contiguous numeric block now belong to Subterfuge's Camouflage and Silent Movement. The stealth limb was carved off deliberately, and this page does not try to regrow it; that territory is the Subterfuge page's. Second, the whole school keys off one gate: you are "wearing light armor" if and only if your chest piece is light, and cloth counts. A mage in a cloth robe satisfies every gate in this school without ever slotting a skill from it. The other four armor slots only feed a set-count bonus that tops out at 25 percent with four matching pieces.

Ground rules every card obeys. Combat resolution is client-side and the server holds no player positions, so nothing here proposes server-side dodge verification or positional checks. Subterfuge owns stealth, visibility, and detection AI; Escape may shed threat but never makes you unseen. Tactics owns reaction glyphs, stances, combos and the deck; nothing here forks its catalog or adds a charge pool. The Focus page owns sprint focus costs and dodge-triggered card draw. The armor program owns armor itemization, has already ruled out a third armor tree, and owns the durability system; this page touches school-side mechanics only. The avoidance flag vocabulary, which attacks can be blocked, parried, dodged, comes from the Polearms page. And every number change below ships through a balance changeset, not a quiet edit.

How a swing actually resolves

Every attack in the game carries flags naming which defenses may answer it: block, parry, dodge. If the attack is dodgeable and the attacker is not behind you and you are not stunned, your dodge chance is your dodge stat plus half your Dexterity minus a quarter of the attacker's. Then everything is settled by one roll: dodge, glancing blow, normal hit and critical are bands on a single line, and the roll walks them in order. Dodge here is proportional, not an additive percent chance, which means it naturally self-dilutes as the attacker's own hit chance grows. That is the school's quiet, built-in answer to "is dodge capped": no cap, but the bigger the attacker's number, the smaller your band's share.

flowchart TD
  ATK["Incoming attack: flag bits say
  what may answer it
  (block / parry / dodge)"] --> PRE["Block and parry
  roll separately, first"]
  PRE --> DC["Dodge chance =
  dodge stat + your Dex/2
  minus attacker Dex/4"]
  DC --> GATE{"Attacker behind you,
  or you stunned?"}
  GATE -- "yes" --> ZERO["dodge band removed"]
  GATE -- "no" --> ROOT{"Rooted?"}
  ROOT -- "yes" --> HALF["chance halved, then the
  band is skipped anyway
  (defect: the halved number
  still widens the roll)"]
  ROOT -- "no" --> SUM
  ZERO --> SUM
  HALF --> SUM["one roll line:
  dodge + glancing + hit + crit"]
  SUM --> ROLL["single random roll
  walks the bands in order"]
  ROLL --> R1["Dodged: zero damage"]
  ROLL --> R2["Glancing: 1/3 damage
  (from Damage Avoidance:
  the Evasion buff + gear)"]
  ROLL --> R3["Normal hit"]
  ROLL --> R4["Critical
  (divided by Evasion's
  crit-defense rider)"]
  R2 --> DR["then damage resistance
  subtracts, physical only;
  spells never touch it"]
  R3 --> DR
  R4 --> DR
  DR --> OUT["final damage"]

Note the small print that stayed wrong for years: a glancing blow did 25 percent damage in the code while the player-facing text said "one third," until the constant was raised to match the tooltip in August 2026. And the rooted branch was a genuine defect this page filed: rooted halved your dodge chance, but the dodge band was skipped entirely while rooted, so the halved number did nothing except pad the roll and dilute the attacker's crit share. Both halves are closed now, and a root takes your dodge away outright. Card S4.

The gate: one chest piece

flowchart LR
  TORSO["Chest slot"] --> Q{"Light or universal
  chest, unbroken?"}
  Q -- "no" --> OFF["wearing light armor = NO
  every buff amount multiplies to zero
  Swiftness and Acrobatics switch off"]
  Q -- "yes" --> ON["wearing light armor = YES"]
  PIECES["Head, legs, feet, hands:
  unbroken light pieces"] --> CNT["count 0 to 4
  (chest not counted)"]
  CNT --> TBL["set bonus: 1 piece +4%,
  2 +8%, 3 +15%, 4 +25%
  (table rows for 5 and 6
  pieces are unreachable)"]
  ON --> LAB["light armor bonus =
  1 + set bonus + artifact set stat"]
  TBL --> LAB
  LAB --> USE["multiplies Dodge and Evasion
  amounts and Sprint's duration;
  divides Escape's cooldown"]

Three consequences. A cloth robe turns the school on, which is the free-rider question card S28 puts to the owner. A broken chest piece silently deletes 13.3 percent move speed, 13.3 percent attack speed and four points of dodge, with no message of any kind, card S17. And Escape's cooldown is the only one in the school that gets better the more of the set you wear, the school's best-kept secret, which card S8 finally prints on the label.

Section 2

What the numbers say

Thirty days of live skill telemetry, ending the day this page was written, plus a census of all 120,340 character sheets ever created. Passives never appear in the cast log by design; their story is told by the census alone. One line frames everything: the school's five castables were used by 286 distinct players, more than any weapon school (Blades: 162), for a total of 166,083 casts, less than half of Blades' volume. That is 581 casts per caster against a weapon school's roughly 2,840. Everyone samples the school. Almost nobody lives in it.

The five castables, thirty days of live casts
Light Armor
[Escape]     40,384 casts    59 casters   (1)
[Sprint]     36,629 casts   158 casters   (2)
[Evasion]    35,549 casts    89 casters
[Dodge]      35,051 casts   153 casters
[Flurry]     18,470 casts    69 casters   (3)

school total ... 166,083 casts, 286 casters
                 1.87% of all skill use
Concentration: how much of each skill is its top five casters
Cast concentration
Escape    top 1: 36.6%   top 5: 70.8%   (1)
Evasion   top 1: 24.0%   top 5: 53.9%
Dodge     top 1: 18.8%   top 5: 37.4%
Flurry    top 1: 13.8%   top 5: 37.2%
Sprint    top 1:  7.3%   top 5: 29.4%   (2)

healthy skills spread wide;
farm loops spike narrow

The census: who actually invests

Dodge learned
95,889 of 120,340 sheets (80%)
Dodge past level 40
5,019 (5.2% of learners)
Any castable past 40
9,180
Swiftness past 40
12,154 — the school's most-invested skill is a passive
Acrobatics past 40
9,161 (92% of its learners), 2,521 GMs
Specialization learned
586 ever
Specialization at 80
114 — worst conversion of all 21 schools (19%)
Specialization GM
52

Read the two passive rows again. Swiftness at 12,154 and Acrobatics at 9,161 dwarf every castable in the school; Acrobatics converts 92 percent of the people who touch it and is the school's most-grandmastered skill. The school's actual product, as purchased by the player base, is a passive speed-and-dodge stat package that runs while they play some other school's buttons. The buttons themselves, and the Specialization meant to crown them, go unbought. Sibling weapon schools run 200 to 500 specialists at level 80; Light Armor has 114, and 52 grandmasters, ever, out of a hundred and twenty thousand characters.

Section 3

The community's brief

On August 12th and 13th, the week of this page's data pull, the official forum produced two threads that together read like a commissioned design review: "Light Armor Ideas" and "armor trees - light/medium/heavy." The asks were specific, unanimous where it matters, and in one case asked for a feature the code already half-contains. This page credits them by name on the cards; here is the ledger, every ask mapped to a card or an explicit answer.

AskWhoAnswer
Fix Escape: make it remove roots and mesmerize, make the aggro drop work soloCora Cuz'avich, Barugon, Akandriel, WishdragonS10, S21, S6, S11
Specialization parity: Heavy's spec grants concrete damage resistance, Light's should grant something realCora Cuz'avichS15
A Dexterity buff somewhere in the treeCora Cuz'avich, WishdragonS18
Crowd-control protection for the mobility schoolCora Cuz'avich, AkandrielS19, S10
Make Evasion matter in actual cloth and leather; spec should scale power, not durationCora Cuz'avichS12, S3, S22
Sprint spec: more speed, not more secondsCora Cuz'avichS13
A critical-hit strand for the school's offenseCora Cuz'avichS14, S18 (dex feeds crit; no standalone crit rune)
A third armor tree for medium armor and robesJack SinAssistRejected: the armor deep dive ruled it out, as Cora noted in the thread. The parity asks land in S15, S18, S19 instead.
Mesmerize counterplay after the smelling-salts slowdownBarugon, WishdragonS10 (specialized Escape removes it); the salts item itself is consumables territory
Tooltips and documentation that say what the passives actually doa decade of threads: Xail 2016, Ogarious 2016, Time Lord 2016, Cora 2026S8, S1

The historical record deepens the picture. In 2016 a thread asked what Acrobatics does and the accepted answer of its day was wrong. In 2016 a thread asked whether Swiftness affects cast speed and never got an authoritative answer. In 2017, when avoidance stacking got its nerf, one player observed that "heavy armor currently has more avoidance while light has resistance... Odd!", an inversion in the base itemization that is still true today. In 2019, light armor plus a bugged artifact set briefly made archers the terror of PvP, and the school has carried that reputation tax since. And through all of it, casters have worn cloth, which counts as light armor, collected the school's gate for free, and skipped its skills entirely, because, as one put it flatly in 2016, there is "no reason to wear leather as a pure mage."

Section 4

Lessons: Ultima Online to Path of Exile

Twenty-five years of the genre repeatedly discovering the same truths about avoidance, mobility, and the suit you can move in.

1997
UO: the dexxer
plate wrecks Dexterity, so the damage class wears leather: light armor as the tempo fighter's suit
1999
EQ: Feign Death
the leather-class monk gets the genre's founding aggro drop; an exploit becomes a beloved raid profession
2003
UO: Age of Shadows
45%-capped dodge stat with an attacker counter-property: avoidance stays attackable
2008
WoW 3.0.2
dodge-stacking tanks meet the asymptotic curve: small bonuses keep value, the ceiling stays put
2012
GW2
dodge becomes a costed, visible action everyone owns; a year later its regen is halved to stop dodge-spam
2013
UO Publish 81
after a decade of dead plate: pay heavy armor its own compensations, do not tax leather
2014
WoW: Warlords
avoidance deleted from gear: random defense makes damage spiky and healers miserable
2017
FFXIV 4.0
the last evasion stats removed on purpose: scripted bosses demand plannable defense
2018
ESO: Murkmire
the medium-armor line's 15% random dodge becomes 25% flat reduction against area attacks: keep the fantasy, delete the whiff
2022
Elden Ring
equip-load ratio gates roll quality: armor weight as a continuous, felt tradeoff
now
PoE entropy
an entropy counter makes 25% evasion exactly one hit in four: the flavor of dice, the honesty of math

And Shroud's own lane: 2015, dodge learns to avoid magic and Evasion becomes damage avoidance. 2017, the avoidance-stack nerf, "avoidance is the #2 mitigation stat in the game." 2017, bone armor ships as the light-armor tank loophole. 2019, stun deletes dodge and root halves it. 2019, the Bandit set bug and the archer scare. August 2026, the community writes this page's brief. The school itself has never had a dedicated pass. This is it.

Capability matrix

What the genre's light-armor systems can do, what Shroud's can do today, and what it could do if this page ships. Full circle: first-class mechanic. Half: partial or indirect. Empty: absent.

CapabilityUOEQWoWGW2ESOPoESoulsSotA todaySotA proposed
Capped or self-limiting avoidanceS26
Attacker counter-tool◐ (sufficient: S26)
Honest randomness (entropy)S24
Mitigation floor vs undodgeable hitsS22
Threat-drop and pull-splitting toolsS10, S21
Crowd-control counterplay in the schoolS19, S10
Mobility that feeds offenseS20
Crit as light-armor identityS14, S18
Per-piece armor scalingS23 (owner-gated)
Spec that states a real numberS15, S8

Six lessons carried into the catalog. One: entropy accounting (Path of Exile) is the cheapest honesty upgrade in the genre: keep the dodge chance, delete the streaks; it needs no visible change at all. Two: two studios independently converted random dodge buffs into flat reduction against area or unavoidable damage (ESO 2018, WoW's tertiary avoidance); when two rivals converge on the same fix, it is load-bearing. Three: pay heavy, never tax light: UO spent a decade with dead plate before Publish 81 paid heavy armor its own compensations; this page proposes no Heavy Armor nerfs and hands the Heavy page its own dossier. Four: the light suit's genre identity is a bundle, tempo, crit, resource economy, escape artistry, not a single dodge stat; ESO's medium line is the proof it works as an armor school. Five: threat tools made a class raid-essential exactly once in genre history, and it was the leather class; Escape's ceiling is high if threat becomes legible. Six: scripted-encounter design and random defense are natural enemies (FFXIV deleted evasion over it); the cheap insurance is flag discipline, attacks that must not be dodged say so, and the school gets a floor instead of a whiff.

Section 5

Where light armor fits

Heavy Armor is the wall: it soaks, it taunts, its specialization doubles damage resistance and says so. Cloth is the battery: zero fizzle, focus and intelligence masterworks, the caster's uniform. Light Armor's seat at that table is tempo: you act more often, move faster, recover quicker, and are briefly, deliberately, not where the blow lands. The genre canon for the archetype is the swashbuckler, the fencer who wins by footwork, the skirmisher in the treeline. Shroud already owns every piece of that identity on paper: attack speed in Flurry and Swiftness, movement in Sprint and Swiftness, the sidestep in Dodge and Evasion, the vanishing act in Escape. What it never built is the connective tissue: the kit does not feed itself (a dodge changes nothing about your next action), does not protect its own premise (the mobility school is the easiest to root), and does not pay commitment (the deepest investment, Specialization, buys the least). The catalog below is that tissue. What this school is not, and stays not: a stealth school (Subterfuge's), a third armor tree (ruled out), a tank via the bone-armor loophole (an itemization question for the armor program), and a nerf delivery vehicle aimed at plate (the Heavy page pays heavy in its own coin, card S30).

Section 6

The thirty proposals

Tier 1 · Read the school (S1–S8)

Truth before change. Every card in this tier makes the school legible: corrected documentation, pinned tests, verified defect fixes, and tooltips that state their numbers. No design changes; six of these began as defect tickets filed from this page's research.

S1 · The corrected school book

BuiltTier 1Size SServer: none

Built with this page. The school's reference guide has been corrected end to end; the fixes ship in the same change as this page. Not on the test shard yet.

The school's written guide carried nine claims that did not survive contact with the code, and they were load-bearing: it taught that two identically-named bonus variables were different things (they are one, case-blind); that Acrobatics feeds every skill formula (its dodge half feeds none of them, it is a flat passive contribution); that its 4.0 dodge grant is a "400 percent modifier" (it is four additive points in a proportional roll); that the Specialization applies unconditionally once trained (it switches off unless set to learning or maintaining); that Sprint's math starts from zero without Acrobatics (it starts from a base of one, Acrobatics multiplies it); and that Escape's threat formula halves without a party (the condition is effect success, not grouping). Worst of all, it never mentioned the one thing players keep asking for: Escape already removes breakable roots. Every claim is now corrected against the shipped expressions.

Seen in: the sibling pages' errata cards; every school page in this series now ships its corrected book first.

Implementation notes

Nine corrections applied to the school's reference doc, each verified against the shipped skill data and combat code rather than prior prose. The two worst myths, the two-variable story and the 400 percent gloss, each traced to a plausible misreading of the data files; the corrected text explains the actual mechanism so the myth does not regrow.

client noneserver noneimpact the school becomes learnabletests n/a

S2 · A test suite for the school

BuiltTier 1Size MServer: none

was zero test classes; now one class, 24 cases, all five runes

Every numeric card below changes a formula, and today nothing pins any of them: the school has no dedicated tests at all. One editor-mode test class captures the five skills' amount and duration expressions at fixed inputs, the chest-decides gate with its broken-piece behavior, the set-count bonus table, the specialization on-off gates, and the locked-versus-drawn cooldown pairs. The goldens deliberately pin today's bugs, the parenthesis error included, so that every later fix shows up as a reviewed, intentional diff instead of a silent drift.

Seen in: the Subterfuge balance-test suite, this project's own proven pattern for pinning a school before rebalancing it.

Implementation notes

One new editor-mode test class evaluating the school's expressions through the same formula evaluator the game uses, at fixed dexterity, skill level, mastery, and set-count inputs. Covers: five amount and five duration expressions, the two-effect Dodge structure, Escape's radius, threat and cleanse counts with and without specialization, the gate function's chest-only rule and broken-chest behavior, the set-count table including its currently-unreachable rows, and the cooldown pairs. Existing neighboring suites already cover dodge timestamps, swing-roll sharing, and the creature-rune mastery reads; this class does not duplicate them.

Built. The suite pins all five runes: every amount, duration, tick-count, focus and lock-time expression, the locked and drawn cooldown pairs, Escape’s threat drop and radius, the chest-only wear gate with its broken-piece behaviour, the 4/8/15/25 set-count table, the specialization gradient at four points, and the Learning-or-Maintaining rule that switches it off. Each formula golden checks the stored token stream as well as the readable text, because the game runs the tokens and an edit to the text alone would display one formula and run another. It earned its keep immediately: writing the goldens is what showed that S3 described a defect the game does not have.

client Mserver noneimpact every later card ships against goldenstests is the tests

S3 · The parenthesis that never escaped

SettledTier 1Size SServer: nonenot a defect

measured: the proposed fix changes nothing at any input. Withdrawn.

This card read Evasion’s buff amount as “4, plus dexterity over five, plus skill level over twenty”, with only the skill term divided, against sibling Dodge’s “5, plus the whole sum, together over ten”. One parenthesis apart, and it looked as though a high-Dexterity character was drawing most of the buff from the stat sheet while skill investment barely registered.

That reading assumes multiplication and division bind tighter than addition. The formula evaluator has no operator precedence at all: it walks a token stream strictly left to right, applying each pending operator before the next arrives. In this engine 2+3*4 is 20, not 14. Evasion’s addition is therefore applied before the division reaches it, the whole sum is already divided, and the proposed rewrite returns identical values at every input. Measured against the shipped evaluator, Evasion grants 6.8 damage avoidance at 80 Dexterity and skill 40, 10.5 at 150 and 100, and 12 at 200 and 120, rather than the 22, 39 and 50 this card claimed. A point of Dexterity is worth 0.01 and a level of skill 0.05, so skill investment already outweighs the stat sheet five to one, which is what the card was asking for.

Seen in: our own tracker, four times. The report was filed and then independently re-confirmed on three later passes, each re-deriving the same arithmetic from the same misleading text.

What was done instead

No data changed. The authored text is genuinely hard to read correctly, so the rule that governs it now has a written home in the engine formula reference and an executable one in two of S2’s cases: one asserts the no-precedence rule on literal expressions, the other evaluates Evasion’s shipped text against the proposed rewrite at all three reference builds and fails if they ever diverge. If the engine ever does gain operator precedence, that test goes red and every authored formula in the game needs re-reading, not only this one. The school reference document carries the real numbers.

The lesson generalises past this school: a formula review that reads authored data with algebra habits will keep finding defects that are not there.

client noneserver noneimpact a four-times-confirmed report retiredtests two, so it stays retired

S4 · The rooted roll that pays nobody

BuiltTier 1Size MServer: noneverified bug

Built, the harder way. A rooted defender now has no dodge chance at all, unbreakable roots included. Not on the test shard yet.

rooted defenders: dodge chance zero, with none of it left sitting in the roll

The 2019 rules said rooted targets dodge at half chance. The code did that, and then also skipped the dodge outcome completely for rooted targets, and the two rules fought: the halved dodge chance still widened the total roll, but the band it bought could never pay out, so a rooted defender's dodge stat turned into extra normal-hit weight and diluted the attacker's critical share. Nobody got what anyone intended. The August repair let the band run at the halved chance. This card closes the other half, and the owner took the harder reading over the patch note: a dodge is a step out of the attack's path, and a root is the loss of that step, which is why stun and knockdown have always shut dodge off completely. Root now joins them. The chance is removed before the roll is assembled rather than scaled afterwards, so nothing unspendable is left behind, and the check reads the shared root-lock accessor, which also catches unbreakable roots. Those had been leaving dodge at the full rate, so the harder hold was the weaker one.

Seen in: World of Warcraft's combat-table hygiene after 2008: every point of width on the roll must belong to an outcome that can happen.

Implementation notes

Two sites in the hit-resolution routine disagreed: the chance calculation halved for rooted, the band walk excluded rooted. The exclusion went in August. The halving is now gone too, replaced by folding root into the same suppression argument that behind-target, knockdown and stun already share, so the chance never enters the total roll and there is no second site to keep in step. The gate moved from the plain rooted flag to the root-lock accessor, which covers unbreakable roots and exempts a defender whose free-will flag means the root cannot hold it. Block, parry and the glancing channel are untouched. The regression fixture that pinned the halving now pins the lockout, alongside the unchanged rule that the band is never gated on the defender's state. Root, Skewer, Bedrock and the Dodge glyph all say so in their descriptions.

client Mserver noneimpact a root is an opener, not a snaretests source-pinned fixture

S5 · Creature parity and the two dead runes

Tier 1Size SServer: noneverified bug

creature copies of this school's skills: one in use by two monsters, two used by none

Monsters have their own copies of Dodge, Flurry and Sprint. The creature Dodge's long buff is missing the doubled duration the player version has, so every dodging monster gets half the intended window. Two of the three creature skills are wired to no monster at all, they exist as data and nothing casts them, and the bookkeeping rows behind them are inconsistent with each other. One cleanup pass: restore the doubling, either give the dead runes to light-footed creatures where they would be at home, bandits, satyrs, or retire them, and align the rows.

Seen in: nowhere; authoring drift between a player asset and its creature mirror.

Implementation notes

One duration expression gains its missing factor of two, matching the player asset and both sibling defensive skills' pattern. The two unreferenced creature runes either get assigned to appropriate monster attack lists or are removed along with their identifiers; the skill-table rows for the three creature skills become consistent. Also guard the wearing-light-armor check for creatures: an armed monster technically has equipment, which can zero its own dodge buff through a check meant for players.

client Sserver noneimpact dodging monsters work as authoredtests parity golden

S6 · Escape: one cleanse, stated once

Tier 1Size SServer: noneverified

one Escape cast can remove up to four slow effects; the tooltip says one

Escape carries two overlapping cleanse effects: one removes movement-rate debuffs, the other removes movement-rate debuffs, movement-speed debuffs, and breakable roots. The first is a strict subset of the second, a belt-and-suspenders authoring artifact, and together they can strip four slows per cast while the tooltip promises one. Consolidate to a single cleanse with a single stated count, so the Escape rework in S10 builds on a base that means what it says.

Seen in: nowhere; duplicated authoring.

Implementation notes

Delete the subset effect, keep the broader one with its specialization-scaled count of one, or two when specialized. Net removal capability is preserved for the common case of a single slow. The S10 rework then modifies exactly one effect. Changeset documents the before and after.

client Sserver noneimpact the skill matches its labeltests cleanse-count golden

S7 · Dead stats, dead rows, backwards fizzle

Tier 1Size MServer: none

two dead stats, two unreachable table rows, one comment describing rules that do not exist

A hygiene sweep under the school's floorboards. One armor stat is subtracted in the damage math but written by nothing anywhere. Another, the one literally named "glancing blow chance," is written nowhere and read nowhere; the real glancing chance rides a different stat. The set-bonus table has rows for five and six matching pieces that no outfit can reach, because only four slots count. A comment in the equipment code describes a three-piece rule the code never had. And standing still adds a sliver of spell-fizzle chance while moving subtracts one, the opposite polarity of every other stand-still bonus in the game; either it is a deliberate oddity or a sign slip, and either way it should be decided and documented.

Seen in: nowhere; this is what two decades of accretion looks like under any live game.

Implementation notes

Remove the dead read and the fully dead stat, or wire them, an owner taste call per item. Delete the unreachable table rows or make five-piece counting reachable, a decision shared with S23's gate question. Fix the stale comment. The fizzle polarity gets an explicit ruling and, if flipped, a changeset entry, the magnitude is tiny but casters are many.

client Mserver noneimpact the plumbing means somethingtests table + polarity pins

S8 · Numbers in the tooltips

Tier 1Size MServer: none

the only skill description in the game that states a concrete number belongs to the rival school, and the number is true

Heavy Armor Specialization's tooltip says "at 80, it will double the damage resistance." That sentence is the gold standard of the entire game's skill text, and it belongs to the other armor school. Light Armor's strings say things like "increases dodge and Sprint movement effects," which is how a decade of forum threads came to ask what Acrobatics and Swiftness actually do, with wrong answers accepted in good faith. Every string in the school gets its real numbers and its real behaviors: Dodge's two windows and their durations, Evasion's glancing chance and its crit defense, Escape's threat drop, its root removal, and its unique set-count cooldown, Flurry's speed, Sprint's speed, the passives' per-level grants, and the Specialization's concrete promise once S15 gives it one. The "one third" glancing claim, once the school's loudest wrong number, is now true: the damage constant was raised to match it in August 2026.

Seen in: modern tooltip discipline everywhere; ESO and GW2 state magnitude and duration on every buff.

Implementation notes

Localization strings for the eight skills rewritten with the numbers the S2 goldens pin, so text and code cannot drift apart silently. The Escape line finally says it removes roots. The one-third glancing claim already matches the code: the damage constant was raised to one third in August 2026. Final Specialization wording waits on S15 and S16 so the stated numbers are the shipped ones. Player-facing voice rules apply throughout.

client M (loc)server noneimpact ten years of questions answered on the labeltests strings match goldens

Tier 2 · Kit repairs (S9–S17)

Every existing skill's specific fix, driven by the telemetry verdicts and the community's brief. The specialization cards, S12, S13, S15, share one doctrine: the spec pays in power, not seconds.

S9 · Dodge's missing discount

Tier 2Size SServer: none

cooldowns, locked vs drawn: Evasion 5/10, Escape 10/20, Sprint 15/30, Flurry 20/40, Dodge 30/30

Every castable in the school rewards locking the glyph on your bar with a halved cooldown, except the school's root: Dodge sits at thirty seconds either way, the only skill in the school without the split. The community's verdict on Dodge is otherwise "good as it is," so this card does the one honest thing: give it the standard locked discount, fifteen and thirty, and change nothing else.

Seen in: the school's own four other skills; this is internal consistency, not innovation.

Implementation notes

One cooldown field gains the halved locked value, matching the sibling pattern. If the flat thirty was a deliberate anti-spam choice, the ruling gets written down where the next reader can find it, and the tooltip states it either way. Changeset plus an S2 cooldown golden update.

client Sserver noneimpact locked bars get the school's own ruletests cooldown golden

S10 · Escape: break the chains, lose the room

Tier 2Size LServer: nonecommunity #1 ask

40,384 casts, 59 casters, one player is 36.6% of the total; forum verdict: "currently useless" solo

Three fixes make Escape a skill instead of a macro. First, say what it does: it already removes breakable roots, and after S8 the label admits it. Second, give the specialization the job the players proposed for it: specialized Escape also removes mesmerize, the crowd-control effect that has had no practical counter since smelling salts were slowed to a crawl; "it is in the name after all." Third, make the threat drop mean something when you are alone: for a few seconds after Escape, enemies cannot re-acquire threat against you unless you act against them, so the monster genuinely disengages instead of blinking and picking you again. Move away, and you have escaped; swing, and you have chosen not to.

Seen in: EverQuest's Feign Death, the genre's founding aggro drop; World of Warcraft's Fade, which proved a temporary drop balances better than a permanent wipe.

Implementation notes

Root removal is existing behavior, unbreakable roots stay excluded. Mesmerize removal is a new specialization-gated effect following the existing cleanse's pattern and gate. The re-acquire suppression is bookkeeping in the threat system: a short per-caster timestamp checked where threat is added, window a few seconds and specialization-scaled, cleared by any hostile act from the caster. It is not stealth, not invisibility, and touches no detection AI, that territory belongs to the Subterfuge page. The farm loop this skill currently powers gets no stronger: suppression breaks on any hostile act, and the cooldown is untouched.

client Lserver noneimpact the aggro drop works solotests cleanse + suppression goldens

S11 · Escape: show your work

Tier 2Size SServer: none

Escape's entire output today: an invisible number changes somewhere

Half of Escape's reputation problem is that nothing about it is visible. You cast it, a threat number changes inside the AI, and the monster either turns away or does not; the player cannot tell success from failure, and "the system is perceived as broken" whether or not it is. One combat-log line and one floating message, "Escape: threat dropped on 3 enemies," turns the school's least-trusted button into one whose effect you can read. Threat tools only matter in games where players can see threat.

Seen in: every game with threat meters; aggro tools died precisely where players could not see them working.

Implementation notes

The application site already knows how many targets were affected and whether the component succeeded, the same condition that silently halves the drop today. Surface both through the existing execution-message path: a floaty with the count, a log line with the count and the halved-effect case stated. Client-side only.

client Sserver noneimpact trust, restored by a sentencetests message-path smoke

S12 · Evasion: power, not duration

BuiltTier 2Size MServer: none

was 70 seconds stretched to 157 by the spec; now a flat 70, and the spec doubles the avoidance

Evasion's buff outlasts its cooldown seven times over; duration is the one thing it does not need, and duration is exactly what the specialization buys, which is one reason fifty-two people ever grandmastered the spec. Meanwhile, in the cloth and leather the school is named for, you cannot stack enough damage avoidance for glancing blows to matter, the player who asked for this card said so in as many words. Move the specialization multiplier from the duration to the amount, and retune the base so an invested light fighter actually glances.

Seen in: ESO's Major Evasion, the buff worth pressing is the one whose magnitude scales; WoW's Warlords deletion, duration-stacked avoidance died, magnitude-based mitigation survived.

Implementation notes

The duration expression drops its specialization multiplier, the amount expression gains it; base coefficients retuned with the 2017 avoidance-stack history in the room, the target is glancing relevance in leather, not a bone-armor tank revival. This card no longer waits on S3, which was withdrawn, so it stands on its own: the reference build reads 10.5 damage avoidance unspecialized, and the specialization is what should move that number rather than the clock. The crit-defense rider keeps its existing specialization scaling. Base armor's itemized avoidance inversion, plate carries it, leather does not, is the armor program's to fix and is referenced, not changed, here.

Built. The specialization multiplier moved off both of Evasion’s duration expressions and onto its damage-avoidance amount, and nothing else changed. At 150 Dexterity and skill 100 a grandmastered specialist reads 23.6 damage avoidance where they read 10.5, for a flat 70 seconds instead of 157.5; an unspecialized fighter is untouched at 10.5 and 70. Seventy seconds is still seven times the drawn cooldown, so the skill stays trivially maintainable, and nobody lost anything to pay for it. The base retune this card also proposed was left out: it is a buff to every character in light armor rather than a payoff for the specialization, and it needs a target number of its own.

client Mserver noneimpact the spec buys glances, not secondstests amount/duration goldens

S13 · Sprint: speed, not seconds

Tier 2Size SServer: none

Sprint: 50 seconds on a 15-second cooldown; spec extends the 50

Same disease, same cure. Sprint already runs three times its cooldown; the specialization pouring more seconds into it is water into the sea. Move the specialization onto the speed itself: a specialized sprinter is faster, not longer. The card the community wrote asked in five words: "more speed, not more seconds."

Seen in: ESO's Athletics line, sprint speed per piece; the Souls games, where light equipment pays in motion quality, never in stamina duration.

Implementation notes

Duration expression drops the specialization term; the amount gains a half-rate specialization multiplier, sized against the existing ceiling, the Acrobatics-scaled bonus already reaches just under two meters per second over base. PvP chase creep is the watch item; the changeset states the specialized top speed explicitly. The buff's persistence across zoning is untouched.

client Sserver noneimpact specialists outrun, not outlasttests amount/duration goldens

S14 · Flurry: a rider for locked bars

Tier 2Size SServer: none

18,470 casts in 30 days, the school's cellar; its spec rider pays only random-deck players

Flurry costs the most focus in the school, locks your bar the longest, and its specialization rider accelerates card draw, a benefit that does not exist for anyone playing a locked bar. Keep the draw rider for random decks, it is a fine reward there, and add a second, small specialization rider that works for everybody: a modest critical-hit bonus for the buff's duration. The school gains the crit strand the community asked for without a new button, and its priciest cast finally pays both play styles.

Seen in: ESO's medium-armor Dexterity passive, crit is the genre's light-armor offense strand; the swashbuckler canon of precision over weight.

Implementation notes

One new specialization-gated effect on the existing buff: a small weapon-crit bonus, the same stat leather crafting materials already carry, so itemization and skill speak the same language. The number stays modest, it stacks with dexterity's native crit contribution. The accessibility note from the forum record stands: Flurry's auto-attack speed matters to players with hand-strain, so its focus cost does not rise.

client Sserver noneimpact the priciest cast pays everyonetests rider golden

S15 · Specialization parity: a number worth training

Tier 2Size LServer: nonecommunity #2 ask

Light Armor Specialization: 586 ever learned, 114 at 80, 52 GMs, worst conversion of all 21 schools

Heavy Armor Specialization doubles damage resistance at 80 and its tooltip says so. Light Armor Specialization, after S12 and S13 move its duration riders to power, needs its own concrete, tooltip-stateable grant, and the natural one mirrors Heavy's shape: specialized wearers gain flat damage avoidance for every unbroken piece of light armor worn. Wear the whole suit as a specialist and the school's signature defense is finally itemized on your body, the inversion the community spotted in 2017, plate carrying the avoidance while leather carries none, answered on the school side. One number, statable in one sentence, worth eighty levels.

Seen in: ESO's medium-armor line, per-piece scaling is the armor-school identity; WoW's tank masteries, a specialization is a number on your sheet.

Implementation notes

Heavy's analog multiplies per-piece damage resistance; light pieces itemize no avoidance today, so the light hook adds a flat specialization-scaled avoidance per unbroken light piece where total avoidance is summed. Sizing starts against Heavy's grant and ships in a changeset with the number stated. Optionally the mastery row also gains a small school-wide focus-cost reduction, the row supports more grants, and today the only focus relief in the school is a single head masterwork. The tooltip sentence lands via S8 once the number is final.

client Lserver noneimpact a spec with a sentence-sized reason to existtests per-piece golden

S16 · Acrobatics: make the second half real

Tier 2Size SServer: noneverified

no armor in the game carries a movement penalty; the stat that offsets armor movement penalties therefore does nothing but scale Sprint

Half of Acrobatics grants a stat named Armor Movement Effects. The name promises that agility training offsets your armor's drag; the game contains no armor drag to offset, and the stat's one real function is multiplying Sprint's speed. The school's most-grandmastered skill, 2,521 GMs, has spent years granting a mystery. Rewire the innate to grant Sprint's own power stat directly, mathematically identical, honestly named, and let the tooltip finally say the true sentence: Acrobatics makes you harder to hit and your Sprint faster.

Seen in: the D&D lineage's max-dex-bonus rules, which is where the name came from; the mechanic it describes never shipped here.

Implementation notes

The innate's reward row swaps the misnamed stat for the Sprint power stat at the same per-level rate; Sprint's amount multiplies both today, so the product is unchanged to the decimal. The orphaned stat keeps its two remaining minor consumers until a later retirement pass. Tooltip wording rides S8. No player's numbers move.

client Sserver noneimpact the mystery stat retirestests identity golden (before = after)

S17 · Broken chest, visible consequence

Tier 2Size MServer: none

a broken light chest silently removes +13.3% move speed, +13.3% attack speed, and 4 dodge

When your light chest piece breaks, Swiftness and Acrobatics switch off, that is the gate working as designed, and the game tells you nothing, which is the design failing its player. The armor program owns the durability system itself; what the school owes is the warning: a status icon and a log line the moment the passives drop, and again when repair restores them. The players this bites hardest are exactly the school's biggest constituency, the passive investors who are not watching a buff bar.

Seen in: every modern MMO's broken-gear indicator; the red armor doll has been standard equipment since 2005.

Implementation notes

The innate gate already re-evaluates on equipment state; detect the transition, fire a status-effect icon and a combat-log line each way. Warn-only in this card: making the passives degrade gracefully instead of cliff is the armor program's durability-curve territory, referenced not built here. No numbers change.

client Mserver noneimpact the cliff gets a guardrail signtests transition smoke

Tier 3 · New verbs (S18–S25)

The school learns to fight back. Every new mechanism here reuses plumbing the game already has, the dodge timestamp, the threat table, the innate-row system, the combo data format, and every new skill obeys the identity ruling in S29.

S18 · A Dexterity buff for the Dexterity school

Tier 3Size LServer: mirror syncnew skill

Heavy Armor's neighborhood buffs Strength; the dex school has no Dexterity buff

Dexterity is this game's tempo stat: it feeds dodge directly, melee and ranged crit, and swing economy. The school built around Dexterity has no way to raise it. One new castable, a self-buff granting Dexterity for a duration, lights up the entire light-fighter kit through stats that already exist, no new mechanism, no new math, just the buff the tree conspicuously lacks. Born specialized correctly: its spec rider scales the amount, per this page's power-not-duration doctrine.

Seen in: ESO's medium-armor Dexterity passive; the whole UO dexxer lineage, dex is the light fighter's engine.

Implementation notes

New skill identifier and skill-table row, prerequisite in the Evasion branch, standard glyph-copy tiers, one stat effect on the established buff-channel pattern so it contends like every other stat buff. The watch item is stacking with dexterity potions and food in PvP, the 2019 archer scare is the cautionary tale, so the amount starts conservative and ships through a changeset. The strength-buff precedents elsewhere in the game provide the sizing reference.

client Lserver mirror syncimpact the engine stat gets a pedaltests new goldens

S19 · Unfettered: steadiness for the mobility school

Tier 3Size LServer: mirror syncnew skill

Heavy Armor has a stun-resist innate; the school whose whole identity is moving can be rooted indefinitely

The heavy tree hardens its wearer against stuns. The light tree, whose entire premise is motion, has no protection against the effects that deny motion: roots and mesmerize land on a leather-clad skirmisher exactly as hard as on anyone else, and harder in practice, because a rooted light fighter has also lost half his dodge. A new passive innate, Unfettered, grants resistance to root and mesmerize effects while wearing light armor: the school's answer to "the fast character who cannot move," without touching anyone's stun tools or anyone else's counterplay.

Seen in: the community's own stat-keyed proposal, dexterity resists roots; WoW's tank-specialization CC-reduction passives.

Implementation notes

Mirrors the heavy stun-resist innate's row mechanism: new skill identifier, prerequisite in Escape's branch, which gives that line its first reason to level past 40, resistance keyed to the root and mesmerize effect families, equipment-gated to light armor like the school's other innates. Unbreakable roots remain unbreakable; encounter designers keep their hard tool. Numbers ship via changeset with the CC schools' counterplay reviewed in the same pass.

client Lserver mirror syncimpact the premise finally protectedtests resist goldens

S20 · Momentum: a strike that pays for footwork

Tier 3Size LServer: mirror syncnew skill

the game already stamps the moment you dodge; nothing in this school reads the stamp

The swashbuckler loop the genre keeps rebuilding: movement converts into offense. The game already records the instant you dodge, another school's ambush skill reads that very stamp, and this school, the one that caused the dodge, does nothing with it. Momentum is a new strike buff whose potency roughly doubles when cast within a few seconds of a successful dodge. No new resource, no new pool, no reaction system: your footwork becomes ammunition, and the school's skills finally talk to each other.

Seen in: Pathfinder's swashbuckler panache, flashy footwork fuels finishers; Monster Hunter's evade-offense weaving.

Implementation notes

Built on the existing time-since-last-dodge token, the same one the Subterfuge ambush window reads, their tuning stays theirs, the token is shared plumbing. New skill identifier and asset: a weapon-damage buff whose amount checks the stamp's age against a small window, specialization widening the window modestly. Deliberately not a reaction glyph, the Tactics page owns that catalog, and deliberately not a charge pool, the Tactics fence again. Burst stacking with the ambush skill off the same stamp is the watch item; the changeset states the combined ceiling.

client Lserver mirror syncimpact the kit becomes a looptests window goldens

S21 · Escape splits the pull

Tier 3Size MServer: none

the genre made a leather class raid-essential exactly once, with a working aggro drop

The ceiling of a working Escape: when a specialized Escape leaves a monster with nobody on its threat list, the monster gives up and walks home. A light fighter can peel one creature out of a bad pull for the group, the school's first real party job, and the most sandbox-flavored trick in this catalog, straight from the game this one descends from in spirit. EverQuest called it feign-death splitting, called it an exploit, then called it the monk's profession.

Seen in: EverQuest's Feign Death splitting, the exploit that became a beloved raid identity.

Implementation notes

Builds on S10's suppression: at Escape application, if the threat table holds no other positive entry for the target, trigger the existing leash walk-home path, which already wipes threat as it returns, exactly the desired end state. Specialization-gated, consistent with Escape's other spec unlocks. Solo, this is a true disengage; grouped, it is a splitting tool, since other attackers hold the rest of the pull. Encounter trivialization is the watch item: bosses and leash-immune creatures are naturally exempt because the leash path is theirs to refuse.

client Mserver noneimpact the school's first party jobtests threat-empty branch golden

S22 · A floor when dodge cannot answer

Tier 3Size LServer: nonegated on S27

some attacks ship flagged undodgeable; against those, a light fighter defends like a naked one

Certain attacks carry a flag that says dodge may not answer them, and hammer specials already ship that way. Against those hits, today, the school's entire defensive identity evaluates to zero. Give Dodge's sustained buff a second face: a modest damage reduction that applies only when your dodge could not, flagged-undodgeable hits and attacks from behind. Two other studios converged on exactly this conversion after random dodge proved unfixable against unavoidable damage; this version keeps the dodge and adds only the floor.

Seen in: ESO's Murkmire conversion, random dodge to flat reduction versus area attacks; WoW's tertiary Avoidance stat, the same landing spot reached independently.

Implementation notes

One new defensive stat, consumed in the physical damage path only when the attack lacks the dodgeable flag or the roll context suppressed the dodge band, written by a new rider on Dodge's sustained effect, specialization-scaled. Hangs on S27's flag-discipline ruling so "undodgeable" is a contract, not an accident. The number is small; this is a floor, not a wall, the wall is the other school.

client Lserver noneimpact the identity survives the flagstests flag-path goldens

S23 · The gate counts the pieces

Tier 3Size MServer: nonegated on S28

"wearing light armor" today = one chest piece; a robe turns on the whole school

Scale the school's payout with how much light armor you actually wear. The machinery half-exists: four slots already feed a set-count bonus. The change extends the counting to the on-off gate itself, a jacket gets you a taste, the full suit gets you the school, which is the ESO-proven mechanism that separates a light fighter from a mage in a shirt. This is the catalog's most consequential change and it is hard-gated on the owner's free-rider ruling in S28, because thousands of cloth casters ride the current gate and taking things from casters is a decision, not a patch note.

Seen in: ESO's medium-armor line, a decade of per-piece scaling on the same structural object as a Shroud school; the UO medable-leather decade as the cautionary tale for the status quo.

Implementation notes

The binary wearing-light-armor factor becomes a scaled one, chest-weighted so the current rule remains the anchor, creatures keep their exemption; or equivalently the set-count bonus absorbs the gate and the binary token retires. Every skill amount already multiplies both factors, so no per-skill edits are needed for the basic form. S7's unreachable table rows get their answer here. If S28 chooses the grandfather option, the scaling applies only to this page's new grants, S15's per-piece avoidance and S19, leaving legacy passives on the old gate.

client Mserver noneimpact wearing the school means wearing ittests gate-scaling goldens

S24 · Honest dice

Tier 3Size LServer: nonegated on S26

a 25% dodge chance can miss five times running or land five times running; both feel wrong to somebody

Keep the dodge chance, delete the streaks. An entropy counter per defender accrues each attacker's hit chance swing by swing and only lands the hit when the accumulator crosses the line, so 25 percent avoidance means almost exactly one hit in four, never a lucky god-run, never a death-by-streak. Attackers stop eating improbable whiff chains, healers stop absorbing variance spikes, and nothing visible changes at all: same stats, same tooltips, same average, minus the outrage. The best-known engineering answer to "random dodge feels unfair," proven for a decade in the genre's most numbers-obsessed game.

Seen in: Path of Exile's evasion entropy, a shared counter, reset after a few unattacked seconds, that makes the advertised chance exact over small samples.

Implementation notes

A per-defender accumulator consulted by the dodge band only, inside the existing single-roll resolution; the swing-roll registry, which already keeps one swing resolving as a whole, is the precedent for stateful roll infrastructure and stays compatible. Client-side by construction, combat resolution already lives there. Hangs on the S26 doctrine ruling; ships after S4 cleans the rooted branch so the band being made honest is the real band.

client Lserver noneimpact the advertised chance becomes truetests distribution goldens

S25 · The school joins a combo

Tier 3Size MServer: none

no combo in the game consumes a Light Armor glyph; a combo named Piercing Flurry exists in the code with no skill behind it

Light Armor is the only fighting style whose glyphs combine with nothing: five castables, zero combo participation. Better: the game's code already contains a skill identifier named Piercing Flurry, sitting in the combo lists next to Shock Arrow and Piercing Breeze, with no actual skill behind it, a Flurry combo was designed once and never shipped. Finish the thought. Propose one or two Light Armor combos through the Tactics page's combo mechanism, Piercing Flurry first, so a light fighter's deck finally has something to build toward.

Seen in: the game's own ghost data; Guild Wars 2's movement-skill combo inputs for the shape of it.

Implementation notes

Combos are result-skill data referencing component glyphs; the mechanism and naming conceit belong to the Tactics page's combo card, this card supplies the candidates and the archaeological evidence. Piercing Flurry's orphaned identifier, present in the combo case lists, absent as an asset, is either revived as the result skill or formally retired; reviving it is one rune asset plus a combo set naming Flurry and a piercing-weapon glyph as components.

client Mserver noneimpact the deck gets a destinationtests combo-set golden

Tier 4 · Doctrine (S26–S30)

Rulings, not code. Everything structural above hangs on one of these five; they cost the owner an opinion each, and they are cheap only if made before the building starts.

S26 · The fairness doctrine

Tier 4Owner call

Before the school gets stronger, rule how dodge stays fair to the people swinging at it. The genre offers four answers: attacker counter-stats, entropy accounting, conversion to flat mitigation, and full activation. Shroud already has a fifth working quietly in its favor: dodge here is a proportional share of a single roll, so it self-dilutes as the attacker's hit chance grows, and a purchasable counter already shipped in another school's dodge-shredding shot. The recommendation this page carries: adopt entropy (S24), decline a hard cap, and decline any new attacker counter-stat, the proportional roll plus the existing counter suffice. The healer's argument gets quoted for the record: the problem with high avoidance was never the whiff, it was the variance.

gates S24informs S22cost a ruling

S27 · The undodgeable contract

Tier 4Owner call

The quiet contract behind every card here: attacks that should never be dodged carry the flag that says so, and attacks that lack the flag are genuinely dodgeable. The hammer school's specials already honor it. The ruling makes it policy for encounter authors, boss signature attacks flag undodgeable and the light fighter's compensation is S22's floor, never a dodge that ignores the flag, plus a lint pass over creature attack data for flag intent. This is the cheap insurance that lets Shroud keep random dodge where a scripted-encounter game had to delete it.

gates S22cost a ruling + a data audit

S28 · The free-rider ruling

Tier 4Owner call

A cloth chest alone switches on the entire school, and cloth zeroes spell fizzle for free, so the school's largest constituency is mages who will never press Dodge. The census says the passive-dip population is thousands strong; the forum has recommended the arrangement since 2016. Changing the gate (S23) makes the school an identity and takes something from those casters in the same motion. Three options on the table: keep the chest-only gate and accept the school as a stat package; per-piece scaling for everything; or the recommended compromise, per-piece scaling for this page's new grants only, with the legacy passives grandfathered on the old gate. The ancestor's cautionary tale is on the record: UO let light armor be everyone's armor for a decade, and the light fighter's identity drowned in it.

gates S23shapes S15, S19cost the page's hardest call

S29 · The identity ruling: the tempo suit

Tier 4Owner call

Name what the school is, so every future card has a test to pass. The proposal: Heavy is the wall, cloth is the battery, Light is tempo, act more often, move faster, be missed on purpose, and leave when you choose. What it lost and does not reclaim: stealth, carved off into Subterfuge with the skill identifiers to prove it. What it is not: a third armor tree, a stealth school, or a tank by bone-armor loophole, that last one an itemization question this ruling formally hands to the armor program. The fiction anchors are the swashbuckler canon: the fencer who wins with footwork, the outlaw in leathers who is gone when the gate shuts. Every new verb in Tier 3 serves one of tempo's four faces: speed (S18), steadiness (S19), conversion of motion into offense (S20), and the exit (S21).

informs S18–S21 placementcost a ruling

S30 · Pay heavy, don't tax light

Tier 4Standing contract

The one durable lesson of twenty-five years of armor balance: when light armor wins, you pay plate its own compensations; you do not tax leather. This page holds its side: no Heavy Armor nerf appears in this catalog, S15's per-piece grant is sized against Heavy's own per-piece multiplier, and S19 is sized against Heavy's stun resist. And the page hands the future Heavy Armor page its dossier: Heavy's aggro tools are this school's problem in a mirror, Taunt reached 15 casters in thirty days and Provoking Shout 12, numbers as bad as anything in this document. The two armor pages should ship as the two halves of one settlement.

contract with the Heavy Armor pagecost discipline

Considered and rejected

Section 7

The composed school

The same tree, after the catalog ships. Three new skills at most appear on the chart, the tree stays readable, and every change traces to a card.

Skills · Light Armor (proposed)
                    DODGE
                    (locked-bar discount: S9;
                     undodgeable floor rider: S22)
        ______________|________________________
       |              |                        |
   EVASION         ESCAPE                 SWIFTNESS
   (dex paren      (removes Root, says so;     |
    fixed: S3;      spec removes Mesmerize;    |
    spec adds       solo drop works: S10;  ACROBATICS
    power: S12)     can split a pull: S21) (honest reward: S16)
   ____|_____________                          |
  |          |       |          LIGHT ARMOR SPECIALIZATION
FLURRY    SPRINT  MOMENTUM (new)  (concrete per-piece
(crit     (spec =  (S20: strike     avoidance grant: S15;
 rider:    speed:   pays for        stated in the tooltip: S8)
 S14)      S13)     footwork)
                                UNFETTERED (new innate)
   DEXTERITY BUFF (new)         (S19: root + mesmerize
   (S18: the engine stat)        steadiness in leather)

And the same fight, before and after. Left is today, right is the catalog; nothing on the right is invented, every line traces to a card in this page.

The fight today
Combat
A bandit swings. You dodge.
  (the game records the moment;
   nothing in this school uses it)

You cast Flurry. Your swings
speed up.

A root catches your feet. Your
dodge is cut in half and the
half does nothing.

Three more bandits close in.
You cast Escape. The bandits
pick you again at once.

You run for the treeline at
the same speed as the man
in full plate behind you.
The fight after
Combat
A bandit swings. You dodge.
Momentum is ready.          [S20]

You cast Flurry. Your swings
speed up and bite harder.   [S14]

A root catches your feet.
Your training holds and the
root breaks early.          [S19]

Three more bandits close in.
You cast Escape. Threat
dropped on 3 enemies. They
lose interest long enough
to lose you.           [S10,S11]

You sprint. The full suit of
leather is why you make
the treeline.          [S13,S15]
Section 8

Sequencing

PhaseWhat shipsCardsGate
1 · Read the schoolThe corrected book (already shipped with this page), the test suite, visible Escape output, honest tooltips; the six defect tickets are filed; the four owner rulings are requested nowS1, S2, S8, S11none
2 · Defect changesetsThe verified defects, shipped as balance changesets against the goldens; the parenthesis fix and the Evasion retune travel as one atomic changeS3+S12, S4, S5, S6, S7, S9, S16S2 goldens
3 · Kit repairsThe community's kit asks: the Escape rework, Sprint and Flurry spec repairs, Specialization parity, the broken-chest warningS10, S13, S14, S15, S17phase 2
4 · New verbsThe new skills, placed by the identity ruling; the pull-splitter builds on the Escape rework; the combo rides the Tactics mechanismS18, S19, S20, S21, S25S29; Tactics combo card
5 · Doctrine-gated structuralsThe three cards that change what avoidance is, each behind its rulingS22, S23, S24S27, S28, S26
graph LR
  subgraph P1["Phase 1: read"]
    T1A["S1 book (Built)"]
    T1B["S2 tests"]
    T1C["S8 tooltips + S11 visibility"]
  end
  subgraph P2["Phase 2: defects"]
    D1["S3+S12 Evasion (atomic)"]
    D2["S4 rooted roll"]
    D3["S5 S6 S7 S9 S16 sweep"]
  end
  subgraph P3["Phase 3: kit"]
    K1["S10 Escape rework"]
    K2["S13 S14 S15 S17"]
  end
  subgraph P4["Phase 4: new verbs"]
    N1["S18 S19 S20"]
    N2["S21 pull split"]
    N3["S25 combo"]
  end
  subgraph P5["Phase 5: structurals"]
    X1["S22 floor"]
    X2["S23 gate"]
    X3["S24 entropy"]
  end
  R1["S26 fairness ruling"]
  R2["S27 flag contract"]
  R3["S28 free-rider ruling"]
  R4["S29 identity ruling"]
  TAC["Tactics combo card"]
  T1B --> D1
  T1B --> D2
  T1B --> D3
  D1 --> K2
  D3 --> K1
  K1 --> N2
  R4 -.-> N1
  TAC -.-> N3
  R2 -.-> X1
  R3 -.-> X2
  R1 -.-> X3
  D2 --> X3
Section 9

Appendix

Data sources

SourceWhat it providedVintage
Live skill-use telemetryPer-cast counts, caster samples, concentration shares for the five castables and the Heavy comparison30 days ending Aug 14, 2026
Live character census120,340 character sheets: learned / level 40 / level 80 / grandmaster counts for all eight skillsall-time, pulled Aug 14, 2026
Skill data files and combat codeEvery formula, cooldown, gate, and flag cited on this page; all defect verifications first-handcurrent build
Official forumThe August 2026 threads and eight historical threads back to 2016; all asks credited by name2016–2026
Community wiki release notesThe school's balance history: R21, R38, R65, the 2017 avoidance nerf, the Bandit incident2015–2019
Genre researchUO, EQ, WoW, GW2, ESO, FFXIV, BDO, Albion, Souls, Monster Hunter, PoE, tabletop; every "Seen in" line1997–2026

Constraints honored

Test surface

The S2 suite at a glance: ten expression goldens (five amounts, five durations), the two-effect Dodge structure, Escape's radius, threat and cleanse counts with and without specialization, the chest-decides gate with broken-chest transitions, the set-count table including the unreachable rows' fate, five cooldown pairs, the rooted-defender outcome distribution (pins S4), creature-versus-player Dodge parity (pins S5), and, as cards ship: the S12/S13 spec-rider relocations, S15's per-piece grant, S19's resists, S20's window, and S24's entropy distribution. Existing adjacent suites, dodge timestamps, swing-roll sharing, creature mastery reads, stay authoritative for their own ground.

Sources

Forum: "Light Armor Ideas" (Aug 13, 2026), "armor trees - light/medium/heavy" (Aug 12, 2026), "Nerf to Evasion / Glancing Blows / Fortify Defense" (Sep 2017), "Archer OP?" (Nov 2019), "Mage Build - Leather vs Cloth Armor" (Sep 2016), "damage resistance and damage avoidance" (Aug 2024), "Did Flurry get nerfed?" (May 2019), "Acrobatics in the 'light armour tree'..." (May 2016), "Swiftness" (Aug 2016), "Bandit armor questions" (May 2020). Wiki: Light Armor school, Dodge, Escape, Release 21, R65 instruction changes, Bone Armor, Patch notes. Steam: developer reply on avoidance caps (Nov 2014), solo-build threads (2016–2017). Genre: UO armor and Publish 81 documentation, EQ monk and Feign Death references, WoW Warlords itemization changes and avoidance-attribute documentation, GW2 dodge and vigor documentation and the June 2013 balance coverage, ESO medium-armor line and the Murkmire Evasion change, FFXIV 4.0 parry-to-Tenacity notes, BDO evasion-versus-DR guides, Albion armor-ability documentation, Elden Ring equip-load references, Monster Hunter evade-window references, Path of Exile evasion-entropy documentation, Pathfinder 2e swashbuckler rules.

Written from thirty days of live telemetry, a full census of the live database, the shipped skill data and combat code, ten years of forum record, and the genre's twenty-five-year avoidance experiment. Six defect tickets were filed from this research before the page was published. Discussion and votes below; every card has its own thread.

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