This is an automated archive made by the Lemmit Bot.

The original was posted on /r/dota2 by /u/mglassen on 2025-03-26 04:25:02+00:00.


Hi all,

Last week I made a visualization of the damage provided by Daedalus Vs RevBrooch while varying 3 variables(Target Armor, Target Magic Resist, User Attack Damage before purchase). This graphic (pasted below) showed Daedalus to provide more damage in almost all scenarios except for extremely high(60+) armor and low magic resist. Someone pointed out that this was ignoring the fact that Brooch costs much less than Daedalus, so I deleted the post to create an additional graphic that displays damage per gold instead. This change flips the result, showing that Brooch provides more damage per gold in almost all but the most extreme cases.

So if you think the game will go late, you may want to opt for Daedalus as it is better in a vacuum, but if you think you can press an advantage and end the game, Brooch provides a much more efficient damage boost in most cases. The formulas I used to calculate the damages are provided below, with

Explanation of Figures:

  • The 2 main figures show damage comparisons and damage/gold comparisons.
  • Each of the 4 sub graphs assumes a different User damage before purchasing the item.
  • The vertical axis represents the target’s Magic Resistance.
  • The horizontal axis represents the target’s Armor.
  • The color in the graph represents the value (RevBroochDmg - DaedalusDmg). These values were rescaled to 1 if greater than 0 and to -1 if less than 0. This means for any value of Armor and Magic Resistance in the graph, if the color is Yellow Brooch provides more damage, and if Blue then Daedalus provides more damage(or damage/gold, depending on the graph).

Brooch - Daedalus Dmg(1:Brooch Higher, -1:Daedalus Higher)

Brooch - Daedalus Dmg/Gold(1:Brooch Higher, -1:Daedalus Higher)

def calcDmgMult(currArmor):
    dmgMult = 1-((.06*currArmor)/(1+(.06*abs(currArmor))))

    return dmgMult

def calcRevBroochDmg(currDmg,magicResist,currArmor):
    revDmg = (.3*.8*(currDmg+35)*(1-(magicResist/100)))+calcDmgMult(currArmor)*(currDmg+35)

    return revDmg

def calcDaeDmg(currDmg,currArmor):
    daeDmg = (.3*2.25*(currDmg+88))*calcDmgMult(currArmor)+calcDmgMult(currArmor)*(currDmg+35)
    return daeDmgdef calcDmgMult(currArmor):
    dmgMult = 1-((.06*currArmor)/(1+(.06*abs(currArmor))))

    return dmgMult

def calcRevBroochDmg(currDmg,magicResist,currArmor):
    revDmg = (.3*.8*(currDmg+35)*(1-(magicResist/100)))+calcDmgMult(currArmor)*(currDmg+35)

    return revDmg

def calcDaeDmg(currDmg,currArmor):
    daeDmg = (.3*2.25*(currDmg+88))*calcDmgMult(currArmor)+calcDmgMult(currArmor)*(currDmg+35)
    return daeDmg