Puedes lanzar tu arma en vez de usarla normal: hace +50% de daño… pero te quedas sin ella y, si lanzas el puño, te arriesgas a romperte la mano.

// al elegir arma con opts.throw:
player.thrown = true
// en la tubería de daño (paso 3):
if (attacker.thrown) dmg = Math.ceil(dmg * 1.5)

El riesgo del puño

Lanzar 🔪 o 🏏 es solo un trade de tempo. Lanzar 👊 tiene 30% de romperte la mano — salvo que lleves una skin protectora:

if (weapon === 'puno') {
  const PROTECTED = ['🧤', '🥊', '🪬']   // Guante, Manopla, Mano mágica
  if (!PROTECTED.includes(player.skinEmojis.puno) && Math.random() < 0.3) {
    player.handBroken = true
  }
}

Aquí una skin deja de ser cosmética

El lanzamiento es el único punto del juego donde equipar la skin correcta cambia el resultado. 🧤/🥊/🪬 convierten “apuesta arriesgada” en “+50% sin downside”. Diseñar nuevas skins funcionales empieza por aquí.

Detalles de implementación

  • El cambio de skin se difiere a la siguiente ronda (pendingSkinSwap / thrownNewItem) para no cortar la animación del resultado.
  • thrown se resetea al final de cada ronda (p.thrown = false).
  • Si lanzas el bate, ojo: combinarlo con la posibilidad de perderlo al robo crea decisiones jugosas.

Tensión de diseño

  • +50% ya (×1.5) vs conservar el arma para la próxima ronda.
  • Se apila multiplicativamente con last-stand y combo → es un ingrediente del golpe máximo.
  • Es el puente entre el sistema de combate y el de objetos: el sitio donde “rizar el rizo” con items con efecto es más natural.

Conexiones

dano · skins · armas · el-bate