Armored
What it is
Armored is a boss-flavored affix that scales every incoming damage hit on the host by a flat multiplier. The default multiplier is 0.5 (host takes 50% of normal damage). The affix has no spawn cost, no update tick, and no side effects — it is a single pure filter on the damage pipeline.
Identity
| Field | Value |
|---|---|
| Affix ID | armored |
| Category | boss-flavored |
| Priority | 20 |
| Hooks | filterIncomingDamage |
| Roll pool | none (excluded from world-roaming elite rolls) |
| Halo palette entry | none |
Armored sits near the bottom of the boss-affix priority order. Higher-priority filters (shielded at 100, gated at 90, respawn_as at 95, periodic_invuln at 85, reflective at 80) all run first. Armored only scales whatever damage value survives those earlier filters.
What it does
On every incoming hit against the host, the filter multiplies the damage value by the configured multiplier and returns the result. The host takes the scaled damage; nothing else changes.
| Step | Effect |
|---|---|
| Pre-filter damage | dmg |
| Filter return | dmg × armorMult |
| Host HP delta | dmg × armorMult |
| Other side effects | none |
Per-tier values
The affix exposes one tunable, read from the per-host instance state:
| State key | Type | Default | Meaning |
|---|---|---|---|
| armorMult | number | 0.5 | Multiplier applied to incoming damage |
Defaults map:
| Value name | Default |
|---|---|
| Damage multiplier | 0.5 |
Mistyped values (a string written where a number is expected) throw at first hook invocation rather than silently falling back.
No v1 boss roster entry currently overrides the default, so the live multiplier on every armored host is 0.5 unless a future boss definition supplies its own armorMult.
How it interacts
- Priority position. Priority 20 places armored after every other boss-flavored damage filter. A higher-priority filter that returns 0 (shielded with anchors alive, gated with siblings alive, periodic_invuln during its active window) short-circuits the chain and armored never runs. When armored does run, it scales whatever damage value the earlier filters produced.
- No spawn or update hook. Armored never runs on host spawn or per-frame update — it only fires when a hit is incoming. Hosts pay no per-frame cost from the affix.
- Pure scaling, no side effects. The host takes scaled damage. There is no retaliation projectile, no anchor spawn, no telemetry record, no particle effect, and no death drop.
- Relationship to hardened. Armored and hardened both reduce incoming damage on the host, but they live in different roll pools (armored is boss-flavored at priority 20; hardened is world-roaming at priority 25) and use different math. Armored applies a fixed multiplier from the first hit. Hardened ramps a reduction from 0 up to a configured maximum over a duration and exposes an onUpdate tick to advance the ramp.
- Stacking with shielded / gated / periodic_invuln. When the host carries armored alongside a zeroing filter, the zeroing filter wins for as long as its gate is closed. Once the gate opens (anchors dead, siblings dead, invuln window over), armored resumes scaling.
EXTRACT-CANDIDATE
- The priority-ordered damage-filter chain rule (higher priority runs first, a 0 return short-circuits the chain) is a global affix-system rule shared with shielded, gated, periodic_invuln, reflective, hardened, and reflective_burst. Canonical home is the affixes overview page.
- The boss-flavored vs. world-roaming roll-pool split (boss-flavored affixes are excluded from elite-pack rolls) is a system-level distinction shared by every boss-flavored entry. Canonical home is the affixes overview page.
- The mistyped-state-crashes rule (number-typed params throw on string input) is a global runtime contract shared by every affix that reads numeric params. Canonical home is the affixes overview page.