Damage Scaling

From Binding of Isaac: Rebirth Wiki
(Redirected from Damage scaling)
Jump to: navigation, search

Damage scaling is an unclear mechanic introduced by Nicalis in The Binding of Isaac: Afterbirth to provide a more challenging experience to the players, enabling some enemies to retaliate against high damage attacks by deploying an "armor" of a sort to greatly reduce the amount of damage taken.

The higher your DPS is, the less effective your tears are, it's a balanced approach to keep the fight challenging and the difficulty high.

Overview[edit | edit source]

The armor is based on 4 different criteria: how much base HP the entity has, how much damage it has taken in the last 240 frames (4 seconds), how effective its armor is (every entity has its unique value) and how deployed said armor is (from 0 to 120).

Every entity in the game is predisposed to make use of this mechanic: in fact, every entity sports an "armor deployment status" counter and an "armor value" field, but only 5 use it.

How damage scaling works[edit | edit source]

When an "armor enabled" entity spawns, it'll increase its armor by 1 step each tick, going from 0 (no armor) to 120 (fully deployed), and use this value to compute the degree of damage reduction to be granted. While the "reduction mechanic" is applied globally during the Entity_NPC::Update() loop, the parameters for each entity are hard-coded in each one's AI loop and are not loaded from the disk/config files.

Formula[edit | edit source]

in Entity_NPC::Update():


// increase armor deployment from 0 to 120 during game loop code here


// damage reduction starts here

if (entity->current_armor_deployement)  // from 0 to 120
    // is: this entity's master reduction factor, derived from its HP
    //     and an arbitrary, hard-coded value for that entity
    //                | entity hp       | changes for each entity
    //                ↓                 ↓ defined in its AI
    float hp_factor = entity->base_hp / entity->armor_scaling_value;

    // is: how much this entity has been hurt in the last 4 seconds,
    //     note that the "recent raw damage" is how much un-scaled,
    //     un-armored damage taken by the entity, so your full tear
    //     damage.
    float hurt_factor = hp_factor /
    //                   ↓ un-scaled damage taken in the last 240 frames
                       ((entity->recent_raw_damage / 
                         entity->current_armor_deployement) * 30.0f);
    //                   ↑ from 0 to 120 as before

    float hp_hurt = 0.09 - (hurt_factor * 0.18);

    // is: the final amount of reduction applied to the incoming tear.
    //     the higher the "armor deployement" is, the higher this value
    //     gets. high value = high reduction.
    float reduction = hp_hurt + hurt_factor;

// is: final damage taken by the entity
float damage = tear_damage * reduction;

In short, big, slow, high-powered attacks are very ineffective. That's why Guppy (relatively) melts Hush: the more damage sources put to work, the faster the HP will go down, regardless of the raw amount of damage one might pull off.

Entities and Their Armor Values[edit | edit source]

Currently (version b193), the game enables the armor for 5 different entities, 1 of which has a twist:

Entity HP Armor
Hush (first phase) 1,000 20
Hush (second phase) 6,666 160
Ultra Greed 3,500 85
Ultra Greedier 2,500 85
Delirium 10,000 X
Big Horn no longer applied in b193 480 60

Notes[edit | edit source]

  • Delirium only has an armor while assuming the form of random bosses. Its armor will start from 0 and increase with every damage taken while in "minion form"— once taking the shape of its true form, it won't have any. Its armor only protects its alternate forms.
  • The armor is always active, not only when doing damage. The "reduction" value is computed on every Update() on the current DPS, that's why if you stop hitting Hush it'll suffer more damage later.
  • The armor can sometimes go above 1.0 when recovering from a barrage of attacks, allowing for double or triple damage, and even beyond in some cases.
  • You can apply the armor effect to any entity. See this video for an example and a visual representation of how the armor works.

FAQs[edit | edit source]

One-shotting Hush[edit | edit source]

Is it possible? Yes, it is possible. Just stack up as many damage sources as possible. This test has been done using: Epic Fetus, Brimstone, Ipecac, Magic Mushroom, Midas' Touch and 2x Mutant Spider (yay Diplopia). Of course, it's rare, but it's doable. Drop the extra Mutant Spider and you're 2-shotting it. Drop Magic Mush and it's 3 shots.

Does Midas' Touch do anything useful?[edit | edit source]

Apart from preventing Hush to hide, no. It won't even completely remove the armor from Ultra Greed either, instead, it will apply a 25% handicap on its value.

The Binding of Isaac: Rebirth The Binding of Isaac: Rebirth The Binding of Isaac: Rebirth
Achievements Achievements Attributes Attributes Bosses Bosses TarotCard.png Cards and Runes Challenges Challenges Chapters Chapters
Characters Characters MainPageBabies.png Co-op Items Items Item pools Item pools Monsters Monsters Objects Objects
Pickups Pickups Pills Pills Rooms Rooms Seeds Seeds Transformations Transformations Trinkets Trinkets