Saltar al contenido principal

Hitlag

El hitlag son los frames de congelamiento que ocurren cuando un ataque golpea a un enemigo. Afecta el tiempo real de una rotación, por eso una rotación puede durar unos frames más de lo que parece en papel.

caution

Los ataques enemigos pueden causar hitlag al personaje y a ciertos objetos, pero Evilsim no simula ataques enemigos ni objetos recibiendo hitlag.

Atributos de hitlag

Los frames de hitlag se calculan con cinco atributos:

NombreDescripción
hitHaltTimeDuración base del hitlag en segundos.
hitHaltTimeScaleLa velocidad a la que avanza el tiempo para las entidades afectadas durante el hitlag. Se escribe como porcentaje en formato decimal.
canBeDefenseHaltValor booleano que decide si hitHaltTime se alarga 0.06 s cuando el enemigo golpeado no tiene el poise roto.
deployableValor booleano que decide si el hitlag también se aplica al personaje. El enemigo u objeto golpeado siempre recibe hitlag. Este valor se confirma con pruebas.
framerateCantidad de frames que equivalen a 1 segundo. Sirve para convertir el hitlag de segundos a frames.
info

Para simplificar, Evilsim asume que el tiempo queda congelado durante el hitlag. Esto se hace porque los valores de hitHaltTimeScale y el tiempo dentro de hitlag suelen ser tan pequeños que el impacto práctico es mínimo. Por eso los cálculos siguientes ignoran hitHaltTimeScale.

caution

El poise enemigo no se simula; por eso, si canBeDefenseHalt es verdadero para un ataque, Evilsim siempre añade 0.06 s. La mayoría de jefes y enemigos pesados, como los Guardias de las Ruinas, no pueden perder el poise de forma normal.

Cálculo de hitlag

hitlag in frames(framerate)={(hitHaltTime+0.06)framerateif canBeDefenseHalt=trueenemy is poise no rotohitHaltTimeframerateif canBeDefenseHalt=false(canBeDefenseHalt=trueenemy is poise roto)\text{hitlag in frames(\text{framerate})} = \begin{cases} \lceil (\text{hitHaltTime} + 0.06) * \text{framerate} \rceil &\text{if } \text{canBeDefenseHalt} = \text{true} \land \text{enemy is poise no roto}\\ \lceil \text{hitHaltTime} * \text{framerate} \rceil &\text{if } \text{canBeDefenseHalt} = \text{false} \lor (\text{canBeDefenseHalt} = \text{true} \land \text{enemy is poise roto}) \end{cases}

Ejemplo: Keqing N1

Cálculo

Por ejemplo, el N1 de Keqing usa estos valores para los atributos descritos:

NombreValor
hitHaltTime0.03
hitHaltTimeScale0.01
canBeDefenseHalttrue
deployablefalse
framerate60

Si insertas esos valores en la formula anterior, obtienes esto:

hitlag in frames(60)={(0.03+0.06)60=6if canBeDefenseHalt=trueenemy is poise no roto0.0360=2if canBeDefenseHalt=false(canBeDefenseHalt=trueenemy is poise roto)\text{hitlag in frames(60)} = \begin{cases} \lceil (0.03 + 0.06) * 60 \rceil = 6 &\text{if } \text{canBeDefenseHalt} = \text{true} \land \text{enemy is poise no roto}\\ \lceil 0.03 * 60 \rceil = 2 &\text{if } \text{canBeDefenseHalt} = \text{false} \lor (\text{canBeDefenseHalt} = \text{true} \land \text{enemy is poise roto}) \end{cases}

En el juego

Al revisar un video del N1 de Keqing contra un árbol y contar los frames de hitlag en cada caso, se confirma que el cálculo coincide con el juego. El hitlag empieza 1 frame después de que el personaje se frena claramente. También puedes usar el movimiento o sacudida de cámara como referencia. Termina cuando el personaje vuelve a moverse.

note

Los árboles tienen poise y ese poise puede romperse.

  • poise no roto: 12601254=61260 - 1254 = 6
  • poise roto: 15221520=21522 - 1520 = 2

Extensión por hitlag

La gran mayoría de habilidades, estados o modificadores pueden extenderse por hitlag. La excepción principal son habilidades desplegadas, como el Pyronado de Xiangling o el Campo de inspiración de Bennett.

info

La regla actual de Evilsim asume que la extensión por hitlag es igual a la cantidad de frames de hitlag.

Dónde revisar atributos de hitlag de ataques específicos

info

Puedes revisar:

  • cuánto hitlag recibe un personaje o enemigo en Evilsim
  • qué modificadores se están extendiendo por hitlag

activando la categoría de log hitlag en el menú de configuración de la pestaña Sample.