Hay tres armas. Cada jugador elige una en secreto cada ronda. Son la base de todo: el resto del juego son capas encima de esta elección.

WEAPONS = ['puno', 'punal', 'bate']

Daño base

ArmaEmojiDaño baseCarácter
Puño👊5Rápido, débil, pero el único que [[el-bate
Puñal🔪10Equilibrado; su [[pasivas
Bate🏏15El más fuerte, pero solo lo tiene quien [[el-bate

El daño base casi nunca es el daño final

Estos números entran en la tubería de daño, donde pasivas, lanzamiento, last-stand, combo y furor los transforman. Un puño de 5 puede pegar 30+.

El ciclo

No es “el más fuerte gana”. Es un ciclo cerrado tipo piedra-papel-tijera:

WINS_AGAINST = {
  puno:  'bate',   // 👊 vence a 🏏
  bate:  'punal',  // 🏏 vence a 🔪
  punal: 'puno'    // 🔪 vence a 👊
}
graph LR
  puno["👊 Puño"] -->|vence| bate["🏏 Bate"]
  bate -->|vence| punal["🔪 Puñal"]
  punal -->|vence| puno
  • 👊 Puño vence a Bate — le quitas el bate de las manos. Aquí ocurre el robo.
  • 🏏 Bate vence a Puñal — el alcance gana al filo.
  • 🔪 Puñal vence a Puño — el filo gana a la carne.

Misma arma = empate (draw): nadie recibe daño, y eso alimenta el furor y rompe el combo.

function resolve(me, rival) {
  if (me === rival) return 'draw'
  return WINS_AGAINST[me] === rival ? 'win' : 'lose'
}

La tensión de diseño

El bate pega 3× el puño (15 vs 5), pero el puño es la única respuesta al bate (lo roba). Esto crea el yo-yo central de Xorisu: quien tiene el bate domina el daño, pero vive con miedo a un puño bien tirado. Ver el-bate y roles.

Conexiones

  • Cada arma tiene su pasiva dedicada.
  • El resultado de la ronda determina combo (rachas) y furor (rondas sin daño).
  • El arma elegida puede lanzarse para +50% daño.