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. thrownse 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.