{"version":"TU Y8S3.1","updated":"2026-10-06","sections":[{"id":"base-game","label":"Base Game","kind":"base","blocks":[{"type":"p","text":"Level 40 hostiles. Every value below is worked out from the archetype's base progression and the scaling multipliers. Pick a player count to see group-scaled numbers. Faction variants share their archetype's progression values unless noted."},{"type":"formula","parts":["Health","=","ROUND( FLOOR( HealthBase × Difficulty × 663.6225 ) × GroupHealth )"]},{"type":"formula","parts":["Armor","=","FLOOR( ArmorBase × Difficulty × 663.6225 × RankArmor × GroupArmor )"]},{"type":"formula","parts":["Plate / weak point","=","FLOOR( Health × GaugeSize × RankModifier )"]}],"enemies":[{"id":"standard","name":"Standard hostile","role":"base_npc / npc_default","description":"The default progression. Every faction's default (Hyenas, Outcasts, True Sons, Black Tusk, Cleaners, Rikers) uses these same base values.","base":{"health":1200,"armor":1200},"tags":["Assault","Controller","Engineer","Medic","Thrower","Support","Shield","RPG","Disruptor","Flamer","Immobilizer"]},{"id":"sniper","name":"Sniper","role":"npc_weak","base":{"health":800,"armor":800},"tags":["All factions’ snipers"]},{"id":"rusher","name":"Rusher","role":"npc_rusher","base":{"health":800,"armor":400},"tags":["All factions’ rushers"],"description":"Rikers rushers use their own npc_rik_rusher progression with the same health and armor (lower damage)."},{"id":"heavy-weapons","name":"Gunner / Heavy Weapons","role":"npc_strong","base":{"health":1800,"armor":1800,"parts":[{"label":"Head armor (True Sons, Rikers)","kind":"plate","size":1}]},"tags":["Outcasts","True Sons","Rikers"],"description":"Only the True Sons and Rikers gunners have head armor. RPG / launcher troops use the standard progression, not this one."},{"id":"heavy","name":"Heavy / Tank / Chunga","role":"npc_heavy","base":{"health":2400,"heavy":true,"ranks":["Elite","Named"],"parts":[{"label":"Armor plate","kind":"plate","size":2,"rankMod":{"Named":2}},{"label":"Ammo belt","kind":"weakpoint","size":0.25,"rankMod":{"Named":2}}]},"tags":["Hyenas","True Sons","Black Tusk","Cleaners","Rikers"],"description":"Cleaners and Rikers tanks have their own progressions with the same 2400 health base (Cleaners tanks are burn immune)."},{"id":"heavy-melee","name":"Heavy / Tank / Chunga (Outcast)","role":"npc_heavy_melee","base":{"health":2100,"heavy":true,"ranks":["Elite","Named"],"parts":[{"label":"Armor plate","kind":"plate","size":2,"rankMod":{"Named":2}}]},"tags":["Outcasts"],"description":"The Outcast & Ambusher/Underground melee tank. Lower health base than the other tanks."},{"id":"warhound","name":"Warhound","role":"npc_bigdog","tags":["Black Tusk"],"description":"Robotic quadruped. Health scales with rank on top of the usual multipliers (Elite ×1.5, Named ×2, from NPCRoleHealthOverrideMultiplier). Minimum rank is Veteran.","base":{"health":2375,"armor":1200,"rankHealth":{"Veteran":1,"Elite":1.5,"Named":2},"parts":[{"label":"Plate","kind":"plate","size":2,"rankMod":{"Named":2}}]}}],"scaling":{"curve":663.6225290834745,"difficulties":[{"name":"Normal","value":1,"label":"Normal / Incursion"},{"name":"Hard","value":1.55},{"name":"Challenging","value":2.1},{"name":"Heroic","value":3.55},{"name":"Legendary","value":3.9},{"name":"Master","value":4.5}],"otherDifficulties":[{"name":"Raid Normal","value":3.45},{"name":"Raid Discovery","value":1.55}],"players":[1,2,3,4],"groupHealth":[1,1.2,1.44,1.73],"groupHealthHeavy":[1,1.25,1.56,1.95],"ranks":[{"name":"Normal","label":"Normal (red)","armor":0,"group":[1,1,1,1],"colour":"red"},{"name":"Veteran","armor":1.25,"group":[1,1.2,1.4,1.6],"colour":"purple"},{"name":"Elite","armor":2.5,"group":[1,1.3,1.5,1.7],"colour":"named"},{"name":"Named","armor":6,"group":[1,1.43,2.04,2.5],"colour":"highend"}]}},{"id":"paradise-lost","label":"Paradise Lost","kind":"incursion","blocks":[{"type":"p","text":"Meret Estate (ninc01). Level 40, Normal only, forced 4-player scaling: health ×1.73 (heavies ×1.95), armor ×6 × 2.5."}],"enemies":[{"id":"moss","name":"Moss","role":"Mini-boss · heavy","immunities":["Burn"],"stats":{"Normal":{"health":11646574,"armor":0,"mitigation":0.25,"parts":[{"label":"Armor plate","value":46586296,"count":6,"kind":"plate","size":2,"mod":2},{"label":"Fuel tank","value":17469861,"kind":"weakpoint","size":1.5},{"label":"Fuel tank armor","value":23293148,"kind":"plate","size":1,"mod":2},{"label":"Molotov bag","value":2329315,"kind":"weakpoint","size":0.2},{"label":"Oxygen tank","value":4658630,"kind":"weakpoint","size":0.2,"mod":2}]}},"calc":{"health":{"Normal":9000},"armor":{},"group":1.95}},{"id":"wright","name":"Wright","role":"Boss 1","immunities":["Burn"],"stats":{"Normal":{"health":12940639,"armor":895890414,"mitigation":0}},"gates":[{"of":"armor","at":0.7,"label":"70%"},{"of":"armor","at":0.4,"label":"40%"},{"of":"armor","at":0.1,"label":"10%"}],"windows":[{"type":"immune","label":"Between phases","note":"Invulnerable at each armor gate until the next phase."}],"tables":[{"caption":"","columns":["Damage per Gate","Damage"],"rows":[["One armor bar",89589041],["100% → 70%",268767124],["70% → 40%",268767124],["40% → 10%",268767124],["Last bar + health",102529680],["Total",908831053]]}],"calc":{"health":{"Normal":10000},"armor":{"Normal":90000},"group":1.95}},{"id":"martinez","name":"Martinez","role":"Boss 2","stats":{"Normal":{"health":12940639,"armor":597260276,"mitigation":0.1}},"windows":[{"type":"immune","label":"Protector drone","note":"When Martinez takes too much damage, Johnson deploys a protector drone. If it reaches her, it re-applies a protection buff every 1.5 seconds and she's immune while it stays in range. Kill the drone before it gets to her."}],"calc":{"health":{"Normal":10000},"armor":{"Normal":60000},"group":1.95},"immunities":["Stagger"]},{"id":"johnson","name":"Johnson","role":"Boss 2","resistances":["50% burn resistance","50% blast resistance"],"stats":{"Normal":{"health":11480669,"armor":398173517,"mitigation":0.1}},"windows":[{"type":"immune","label":"Protector drone","note":"The drone protects any friendly NPC in range, so Johnson can also be covered if he's near it."}],"calc":{"health":{"Normal":10000},"armor":{"Normal":40000},"group":1.73}}],"calc":{"difficulty":{"Normal":1},"rank":"Named","armorRole":6,"armorGroup":2.5}},{"id":"broken-rain","label":"Broken Rain","kind":"incursion","blocks":[{"type":"p","text":"Dam (ninc02), the Steel family. Level 40, Normal only, forced 4-player scaling: health ×1.73 (Dwayne ×1.95), armor ×6 × 2.5. Add scaling skips the bosses."}],"enemies":[{"id":"lester","name":"Lester","role":"Boss 1","immunities":["Burn","Disrupt","Shock"],"stats":{"Normal":{"health":11480669,"armor":746575345,"mitigation":0}},"calc":{"health":{"Normal":10000},"armor":{"Normal":75000},"group":1.73},"windows":[{"type":"mitigation","label":"Target lock","value":0.2,"note":"Each time he locks onto a player he gains 20% damage mitigation for 8 seconds (ninc02_damage_mitigation)."},{"type":"event","label":"75% / 50% / 25% armor","note":"Each threshold triggers an arena event (fire over part of the area). Not a damage gate."}]},{"id":"dwayne","name":"Dwayne","role":"Boss 2 · heavy","stats":{"Normal":{"health":12940639,"armor":248858448,"mitigation":0,"parts":[{"label":"Armor plate","value":25881278,"count":6,"kind":"plate","size":1,"mod":2},{"label":"Air tank","value":5176256,"count":2,"kind":"weakpoint","size":0.2,"mod":2},{"label":"Riot shield","kind":"weakpoint","value":"Invulnerable"}]}},"calc":{"health":{"Normal":10000},"armor":{"Normal":25000},"group":1.95},"windows":[{"type":"mitigation","label":"On spawn","value":0.2,"note":"20% damage mitigation for the first 5 seconds after he spawns."}]},{"id":"iris","name":"Iris","role":"Boss 3","immunities":["Electric damage"],"stats":{"Normal":{"health":11480669,"armor":99543379,"mitigation":0}},"calc":{"health":{"Normal":10000},"armor":{"Normal":10000},"group":1.73},"gates":[{"of":"armor","at":0.75,"label":"75%"},{"of":"armor","at":0.5,"label":"50%"},{"of":"armor","at":0.25,"label":"25%"}],"windows":[{"type":"immune","label":"Electric shield","note":"Invulnerable while her electric shield is up. EMP her while her charge bar is recharging to knock the shield off (EMP stagger, 10-second cooldown). The shield comes back when the charge bar is full again."}]},{"id":"marguerite","name":"Marguerite","role":"Boss 4","stats":{"Normal":{"health":11480669,"armor":398173517,"mitigation":0,"parts":[{"label":"Gas mask","value":11480669,"kind":"weakpoint","size":1},{"label":"Back","value":11480669,"kind":"weakpoint","size":1}]}},"gates":[{"of":"armor","at":0.49,"label":"Gate"}],"windows":[{"type":"mitigation","label":"Below 50% armor","value":0.05,"note":"The first time her armor drops below 50% she gains 5% damage mitigation. It's removed when she restores her weak points (her crate interaction)."}],"tables":[{"caption":"","columns":["Damage per Gate","Damage"],"intro":"Her 5% mitigation switches on as soon as her armor drops below 50%, so everything after the gate is reduced by 5%.","rows":[["Full → gate (51% of armor)",203068494],["Gate → dead: in-game damage numbers",206585692],["Gate → dead: Turmoil follow-up (5% mitigation)",217458624]]}],"calc":{"health":{"Normal":10000},"armor":{"Normal":40000},"group":1.73}}],"calc":{"difficulty":{"Normal":1},"rank":"Named","armorRole":6,"armorGroup":2.5}},{"id":"dark-hours","label":"Dark Hours","kind":"raid","blocks":[{"type":"p","text":"Operation Dark Hours (inc01). Level 40, Named, 4-player scaling: health ×1.73, armor ×6 × 2.5. Normal ×3.45, Discovery ×1.55."}],"enemies":[{"id":"boomer","name":"Boomer","role":"Boss 1","stats":{"Normal":{"health":22465834,"armor":245995083,"mitigation":0.3,"parts":[{"label":"Backpack (back box)","value":4493167,"kind":"weakpoint","size":0.2},{"label":"Front box","value":1797267,"kind":"weakpoint","size":0.08}]},"Discovery":{"health":7064630,"armor":77377557,"mitigation":0.15,"parts":[{"label":"Backpack (back box)","value":1412926,"kind":"weakpoint","size":0.2},{"label":"Front box","value":565170,"kind":"weakpoint","size":0.08}]}},"calc":{"health":{"Normal":5672,"Discovery":3970},"armor":{"Normal":7163,"Discovery":5015},"group":1.73},"windows":[{"type":"immune","label":"Until the backpack breaks","note":"Immune until his backpack (back box) weak point is broken by the minigun. Each break opens a window where 2 armor bars can be damaged before he gates again. This repeats every time the backpack is broken."}],"strats":["Negotiator's Dilemma bypasses the damage gate entirely.","Turmoil: during a 2-bar window, the first hit takes him from full to 8 bars (his gate), and the next hit goes past it, so it needs to cover the remaining 8 bars + health."],"gates":[{"of":"armor","at":0.8,"label":"8 bars"}],"tables":[{"caption":"","columns":["Damage per Gate","Normal (in-game)","Normal (raw)","Discovery (in-game)","Discovery (raw)"],"rows":[["Full → 8 bars (2 bars, his gate)",49199017,70284309,15475511,18206484],["Remaining 8 bars + health",219261900,313231286,68966676,81137265]],"intro":"In-game = the damage numbers you see on screen. Raw = your build's damage before his mitigation, the number to use when working out damage."}]},{"id":"weasel","name":"Weasel","role":"Boss 2","stats":{"Normal":{"health":15011549,"armor":235417604,"mitigation":0.3},"Discovery":{"health":4715684,"armor":86095069,"mitigation":0.2}},"calc":{"health":{"Normal":3790,"Discovery":2650},"armor":{"Normal":6855,"Discovery":5580},"group":1.73},"windows":[{"type":"event","label":"Spawn","note":"Weasel spawns after either Dizzy or Ricochet has died."}]},{"id":"dizzy-ricochet","name":"Dizzy / Ricochet","role":"Boss 2 · sub-bosses (each)","stats":{"Normal":{"health":11545821,"armor":152240151,"mitigation":0.25},"Discovery":{"health":3647982,"armor":58168174,"mitigation":0.175}},"calc":{"health":{"Normal":2915,"Discovery":2050},"armor":{"Normal":4433,"Discovery":3770},"group":1.73}},{"id":"buddy","name":"Buddy","role":"Boss 3","immunities":["Bleed","Toxin"],"stats":{"Normal":{"health":8971282,"armor":212888946,"mitigation":0.465},"Discovery":{"health":2847205,"armor":67117124,"mitigation":0.35}},"calc":{"health":{"Normal":2265,"Discovery":1600},"armor":{"Normal":6199,"Discovery":4350},"group":1.73},"windows":[{"type":"mitigation","label":"Keep their armor together","values":{"Normal":"40% → 87%","Discovery":"20% → 60%"},"note":"Buddy and Lucy's armor needs to stay within 15% of each other. If the gap goes over 15%, defense mitigation kicks in, scaling from the minimum up to the maximum as the gap grows."}]},{"id":"lucy","name":"Lucy","role":"Boss 3","immunities":["Bleed","Toxin"],"stats":{"Normal":{"health":8971282,"armor":212888946,"mitigation":0.33},"Discovery":{"health":2847205,"armor":67117124,"mitigation":0.22}},"calc":{"health":{"Normal":2265,"Discovery":1600},"armor":{"Normal":6199,"Discovery":4350},"group":1.73},"windows":[{"type":"mitigation","label":"Keep their armor together","values":{"Normal":"40% → 87%","Discovery":"20% → 60%"},"note":"Buddy and Lucy's armor needs to stay within 15% of each other. If the gap goes over 15%, defense mitigation kicks in, scaling from the minimum up to the maximum as the gap grows."}]},{"id":"razorback","name":"Razorback","role":"Boss 4 · Weak Points Only","stats":{"Normal":{"health":49510387,"armor":0,"mitigation":0,"parts":[{"label":"Lower weak point","value":118824929,"count":4,"kind":"weakpoint","size":1.2,"mod":2},{"label":"Main weak point","value":205468106,"count":2,"kind":"weakpoint","size":2.075,"mod":2},{"label":"Trapdoor","value":66839022,"count":2,"kind":"weakpoint","size":1,"mod":1.35}]},"Discovery":{"health":14458468,"armor":0,"mitigation":0,"parts":[{"label":"Lower weak point","value":34700323,"count":4,"kind":"weakpoint","size":1.2,"mod":2},{"label":"Main weak point","value":60002642,"count":2,"kind":"weakpoint","size":2.075,"mod":2},{"label":"Trapdoor","value":19518932,"count":2,"kind":"weakpoint","size":1,"mod":1.35}]}},"windows":[{"type":"gate","label":"25% health gates","note":"Razorback can only be damaged through its main weak points. Damage to an open main carries over to Razorback's own health (not 1:1). He's health gated in 25% steps: each step is worth 50% of one main weak point, which can be split across both mains. Once a step is reached, both mains go invulnerable until the next opening."},{"type":"cap","label":"Main weak point damage per opening","values":{"Normal":102734053,"Discovery":30001321},"note":"50% of one main gauge, combined across both mains. Opening lasts 22 seconds (+10 seconds bonus time)."},{"type":"refill","label":"Lower weak points","note":"Breaking a side's 2 lower weak points opens that side's main weak point. The lowers respawn every time their side has been opened."},{"type":"refill","label":"Trapdoors","note":"Reset each time Razorback opens."}],"tables":[],"calc":{"health":{"Normal":12500,"Discovery":8125},"armor":{},"group":1.73},"strats":["Open one side by breaking its 2 lower weak points, take that main weak point to 50% (reaching the next 25% gate), then open the other side.","Go back, back, front, front (usually preferred) or alternate back / front, taking 50% of a main each time.","While one side is open, break one of the other side's lower weak points and chip the second to prepare the next phase.","A Tac 50 (piercing) with enough buffs can one-shot both main weak points completely, ignoring the gates."],"warnings":["Don't open both sides at once. You still damage Razorback, but the two mains can be damaged unevenly, which means more work and potentially extra phases."],"healthLabel":"Technical health (refer to weak points)","gates":[{"of":"health","at":0.75,"label":"75%"},{"of":"health","at":0.5,"label":"50%"},{"of":"health","at":0.25,"label":"25%"}],"overview":{"Normal":{"health":410936212,"armor":0,"mitigation":0},"Discovery":{"health":120005284,"armor":0,"mitigation":0}},"overviewName":"Razorback (mains)","overviewGates":"Every 25%"}],"calc":{"difficulty":{"Normal":3.45,"Discovery":1.55},"rank":"Named","armorRole":6,"armorGroup":2.5}},{"id":"iron-horse","label":"Iron Horse","kind":"raid","blocks":[{"type":"p","text":"Operation Iron Horse (inc02). Level 40, Named, 4-player scaling: health ×1.73, armor ×6 × 2.5. Normal ×3.45, Discovery ×1.55 (same base values)."}],"enemies":[{"id":"gray","name":"Gray","role":"Boss 1","stats":{"Normal":{"health":30550682,"armor":174219329,"mitigation":0.2,"parts":[{"label":"Shock pads","value":6110136,"kind":"weakpoint","size":0.2}]},"Discovery":{"health":13725668,"armor":78272452,"mitigation":0.2,"parts":[{"label":"Shock pads","value":2745134,"kind":"weakpoint","size":0.2}]}},"windows":[{"type":"mitigation","label":"Shields","values":{"Normal":0.25,"Discovery":0.2},"note":"Added per shield alive; recalculated whenever a shield dies or respawns."},{"type":"immune","label":"Catwalk intro","note":"Gray and the 3 shields are invulnerable during the catwalk intro."},{"type":"heal","label":"Over-armor","note":"145,500 per stack, overflow capped at 50% max armor (87,109,664 Normal)."}],"tables":[{"caption":"","columns":["Shields alive","Normal","Normal raw damage","Discovery","Discovery raw damage"],"rows":[["0","20%",255962514,"20%",114997650],["1","45%",372309111,"40%",153330200],["2","70%",682566703,"60%",229995300],["3","95%",4095400220,"80%",459990600]]}],"calc":{"health":{"Normal":7713.200195,"Discovery":7713.200195},"armor":{"Normal":5073,"Discovery":5073},"group":1.73},"strats":["Negotiator's Dilemma bypasses the catwalk intro invulnerability."]},{"id":"fieser","name":"Fieser","role":"Boss 2","stats":{"Normal":{"health":25777484,"armor":270038247,"mitigation":0.3,"parts":[{"label":"Back weak point (Ring of Fire)","value":5155497,"kind":"weakpoint","size":0.2}]},"Discovery":{"health":11581187,"armor":121321531,"mitigation":0.3,"parts":[{"label":"Back weak point (Ring of Fire)","value":2316237,"kind":"weakpoint","size":0.2}]}},"gates":[{"of":"armor","at":0.4,"label":"Heal gate"}],"windows":[{"type":"immune","label":"Heal run","note":"At the gate he goes invulnerable and runs to heal; full heal on reaching the spot or after 15 seconds."}],"tables":[{"caption":"","columns":["Damage per Gate","Normal (in-game)","Normal (raw)","Discovery (in-game)","Discovery (raw)"],"rows":[["Full → gate (6 bars)",162022948,231461355,72792919,103989884],["Gate → dead (4 bars + health)",133792783,191132547,60109799,85871142]],"intro":"In-game = the damage numbers you see on screen. Raw = your build's damage before his mitigation, the number to use when working out damage."},{"caption":"","columns":["Negotiator's Dilemma","Prep damage (in-game)","Prep damage (raw)","ND needed"],"rows":[["Normal",162022948,231461355,133792783],["Discovery",72792919,103989884,60109799]],"intro":"Strip armor bars, then use Negotiator's Dilemma to push past the heal gate. You can't strip more than 6 bars (the gate sits at 4 bars left), so most players keep him above 6 and only take him under it while stacking for the ND shot."}],"calc":{"health":{"Normal":6508.100098,"Discovery":6508.100098},"armor":{"Normal":7863.100098,"Discovery":7863.100098},"group":1.73},"strats":["Turmoil: the first hit reaches the heal gate, the next one goes past it, so the second hit needs to cover 4 bars + health."]},{"id":"williams","name":"Williams","role":"Boss 3","stats":{"Normal":{"health":76377493,"armor":156800824,"mitigation":0.4,"parts":[{"label":"Backpack (riot foam tank)","value":3818875,"kind":"weakpoint","size":0.05}]},"Discovery":{"health":34314526,"armor":70446747,"mitigation":0.4,"parts":[{"label":"Backpack (riot foam tank)","value":1715726,"kind":"weakpoint","size":0.05}]}},"windows":[{"type":"gate","label":"Diagnostic check gates","note":"Each diagnostic check's first phase caps armor damage: 20%, then 30%, then 30% (Discovery 15%, 20%, 20%). Reaching the cap ends the phase: he goes invulnerable and despawns, keeping his health for the next check."},{"type":"heal","label":"Healing module","note":"6.7% per 0.5 seconds for the first 5 seconds, then every 15 seconds (Discovery 2.5%, 7.5 seconds, then every 30 seconds)."}],"calc":{"health":{"Normal":19283.199219,"Discovery":19283.199219},"armor":{"Normal":4565.799805,"Discovery":4565.799805},"group":1.73},"gates":[{"of":"armor","at":0.8,"label":"80%"},{"of":"armor","at":0.5,"label":"50%"},{"of":"armor","at":0.2,"label":"20%"}],"tables":[{"caption":"","columns":["Damage per Gate","Normal (in-game)","Normal (raw)","Discovery (in-game)","Discovery (raw)"],"rows":[["Diagnostic check 1",31360165,52266941,10567012,17611687],["Diagnostic check 2",47040247,78400412,14089349,23482249],["Diagnostic check 3",47040247,78400412,14089349,23482249],["Remaining armor + health",107737658,179562763,66015562,110025937]],"intro":"In-game = the damage numbers you see on screen. Raw = your build's damage before his mitigation, the number to use when working out damage."}]},{"id":"morozova","name":"Morozova","role":"Boss 4","stats":{"Normal":{"health":52075420,"armor":214829295,"mitigation":0.35},"Discovery":{"health":23396203,"armor":96517509,"mitigation":0.35}},"windows":[{"type":"gate","label":"Wipe mechanic gates","note":"Health gates at 70% and 40% armor (Boss_Armor_Threshold_p2 / _p3; same on Discovery). Reaching one makes her invulnerable and starts the wipe mechanic phase. The phase script then strips her armor to 69% / 39%."}],"gates":[{"of":"armor","at":0.7,"label":"70%"},{"of":"armor","at":0.4,"label":"40%"}],"tables":[{"caption":"","columns":["Damage per Gate","Normal (in-game)","Normal (raw)","Discovery (in-game)","Discovery (raw)"],"intro":"In-game = the damage numbers you see on screen. Raw = your build's damage before her mitigation, the number to use when working out damage.","rows":[["Full → 70% (3 bars)",64448788,99151982,28955253,44546543],["70% → 40% (3 bars)",64448788,99151982,28955253,44546543],["40% → dead (4 bars + health)",138007138,212318674,62003207,95389549]]}],"calc":{"health":{"Normal":13147.599609,"Discovery":13147.599609},"armor":{"Normal":6255.5,"Discovery":6255.5},"group":1.73}},{"id":"train-heavy","name":"Heavy / Tank / Chunga","role":"Elite · not a boss","stats":{"Normal":{"health":11743863,"armor":0,"mitigation":0.15,"parts":[{"label":"Armor plate","value":23487726,"count":6,"kind":"plate","size":2},{"label":"Riot-foam weak point","value":2348773,"kind":"weakpoint","size":0.2}]},"Discovery":{"health":5276228,"armor":0,"mitigation":0.15,"parts":[{"label":"Armor plate","value":10552456,"count":6,"kind":"plate","size":2},{"label":"Riot-foam weak point","value":1055246,"kind":"weakpoint","size":0.2}]}},"calc":{"health":{"Normal":2965,"Discovery":2965},"armor":{},"group":1.73},"tags":["Minigun Key Carrier"]}],"calc":{"difficulty":{"Normal":3.45,"Discovery":1.55},"rank":"Named","armorRole":6,"armorGroup":2.5}}],"guide":{"id":"how-it-works","label":"How mitigation works","blocks":[{"type":"p","text":"Every enemy has a health bar and, above Normal (red) rank, an armor bar split into 10 segments. Health + armor is the full pool your damage has to remove."},{"type":"formula","parts":["Raw damage needed","=","(Health + Armor)","÷","(1 − Mitigation)"]},{"type":"list","items":["Damage numbers in game are after mitigation, so they add up to health + armor. Raw damage needed is the damage before the enemy's mitigation is applied.","Mitigation is NPCAllDamageMitigationPercentageBase plus flat bonuses added by encounter scripts. Bonuses add together, e.g. Gray is 20% + 25% per shield alive.","NPCs skip the player-side 90% cap, e.g. Gray reaches 95% with 3 shields up.","Two enemies with the same health + armor: extra effort = (1 − easier mitigation) ÷ (1 − harder mitigation). Buddy (46.5%) vs Lucy (33%) = ×1.2523.","Negotiator's Dilemma transfers appear to bypass mitigation and invulnerability, so for ND use health + armor, not raw damage needed.","Boss formulas use 663.6225 (level 40 curve), 1.73 or 1.95 (4-player group health, 1.95 for heavies) and 6 × 2.5 (Named rank armor × 4-player group armor). Diff is the difficulty multiplier shown next to each column (Raid Normal ×3.45, Discovery ×1.55)."]},{"type":"p","text":"Health gates sit on the armor bar (cap = Health + X × Armor). The hit that reaches a gate is clamped there and anything past it from that hit is lost, but follow-up hits straight after can still go past the gate. E.g. Fieser at 4.2 bars with his gate at 4: one big ND shot stops at 4 and triggers the gate, then more shots straight afterwards carry on past it."}]}}