El documento más importante del códice

El daño final no es el daño base. Es el resultado de pasar el daño base por una tubería de modificadores en orden fijo (getEffectiveDamage). El orden importa: cambiarlo cambia el equilibrio. Esta nota refleja la tubería completa y actual (incluye skins, dobles golpes y críticos).

El orden exacto (lado atacante)

function getEffectiveDamage(attacker, weapon) {
  if (attacker.stunned) return 0                    // 0. aturdido -> no pega
 
  let dmg = WEAPON_DAMAGE[weapon]                    // 1. base 5/10/15
  if (puño  && passives.puno)  dmg = 10             // 2. pasiva puño
  if (puño  && Guante)         dmg += 1             //    Guante
  if (puño  && Manopla)        dmg += 2 * stacks    //    Manopla (combo)
  if (puñal && passives.punal) dmg = 5              //    pasiva puñal (baja)
  if (bate  && Hacha)          dmg += 2             //    Hacha
  if (puñal && Espada)         dmg += 3             //    Espada
  if (puñal && Tridente)       dmg = 15             //    Tridente (override)
 
  if (thrown)        dmg = ceil(dmg * 1.5)          // 3. lanzamiento
  if (hp <= 10)      dmg = ceil(dmg * 1.5)          // 4. last-stand
  if (comboReady)    dmg = ceil(dmg * 2)            // 5. combo
  if (martilloHit)   dmg = ceil(dmg * 2)            // 6. Martillo (cada 3)
  if (garraHit)      dmg = ceil(dmg * 2)            // 7. Garra (50%)
  if (critMult > 1)  dmg = ceil(dmg * critMult)     // 8. critico (x2 / x2.5)
  dmg += 2 * furor                                  // 9. furor (suma plana)
  return dmg
}
#CapaEfectoTipo
0Aturdido→0corte total
1Base5 / 10 / 15
2Pasivas + skins de dañoreemplazo / sumaobjetos-funcionales
3lanzamiento×1.5multiplicador
4last-stand×1.5multiplicador
5combo×2multiplicador
6-7Martillo / Garra×2multiplicador
8Crítico×2 / ×2.5multiplicador
9furor+2 por stacksuma al final

Por qué el orden

  • Las sumas/reemplazos (pasivas, skins planas) fijan el daño base antes de multiplicar.
  • Los multiplicadores (lanzamiento, last-stand, combo, dobles, crítico) se apilan multiplicativamente → se disparan juntos.
  • El furor suma después: un suelo fiable que no escala con los críticos.

La capa de defensa (lado receptor)

Tras calcular el daño, pasa por la defensa del rival antes de restar vida — ver defensa:

incomingDamage(attacker, defender, dmg):
  if (attacker Rayo)            return dmg   // ignora la defensa
  if (defender Paraguas && !usado) return 0  // bloquea el primer ataque
  if (defender Sartén)          dmg -= 1
  return dmg

Y antes, la Varita 🪄 tiene un 20% de anular el golpe (esquiva).

El golpe máximo teórico

Bate (15) → lanzado → last-stand → combo → con crítico de Katana (×2.5)… el techo es altísimo cuando todo se alinea. Que sea posible pero difícil de alinear es lo que premia la lectura experta. Ver 50 HP.

Lo que NO entra aquí

  • El veneno y la quemadura se aplican fuera de esta función (daño fijo por ronda, ignoran estos modificadores).
  • La curacion (Bate de oro, Rosa) suma vida; no resta.

Conexiones

Cruce de pasivas · objetos-funcionales · lanzamiento · last-stand · combo · criticos · furor · defensa. Si tocas cualquiera, revísala aquí.