Area de efecto
El área de efecto (AoE) es:
- una propiedad de los ataques que define en qué zona pueden golpear objetivos (hitbox).
- una propiedad de los objetivos que define qué zona cuenta como golpeada (hurtbox).
- una propiedad de algunas habilidades que define en qué zona detectan objetivos (Ejemplo: Bennett Inspiration Field).
Sistema de coordenadas
Evilsim usa un sistema de coordenadas 2D basado en el Cartesian coordinate system. Eso significa que cada punto del campo se identifica con una combinación de coordenadas x e y.
Evilsim usa metros (m) como unit of length.
Algunos pisos del abismo tienen losetas. Por ejemplo, los pisos 7 y 8 usan losetas de 2.55 m x 2.55 m.
Dirección
Evilsim representa la dirección del jugador y de las formas usando vectors. Las formas se orientan desde su centro según esa dirección.
Normalmente, la dirección de una forma se basa en la dirección del jugador. La dirección del jugador apunta al enemigo más cercano, que se toma como objetivo principal. Para lograrlo, se actualiza cuando ocurre alguno de estos eventos:
- el jugador se mueve
- el enemigo se mueve
- el objetivo principal muere
Cada vector (x, y) se puede convertir en un ángulo.
Ejemplos de direcciones y sus equivalencias:
| Dirección | Ángulo | Descripción |
|---|---|---|
| (0, 1) | 0° | "mirando hacia delante", direccion por defecto |
| (1, 0) | 90° | "mirando a la derecha" |
| (0, -1) | 180° | "mirando hacia atrás" |
| (-1, 0) | 270° | "mirando a la izquierda" |

Ejemplo for a 3m x 5m rectangle with the center at (0, 0) and a direction of (1, 1) (45°):
Antes de rotar por dirección:

Después de rotar por dirección:

For some manual rotation calculations for shapes that have their center at (0, 0), you can use this website.
Hitbox, hurtbox y área de detección
The AoE of an attack (hitbox) and AoE of a target (hurtbox) is represented by their shape in combination with a direction.
El jugador tiene una hurtbox circular de 0.3 m de radio.
Los objetivos tienen por defecto una hurtbox circular de 1 m de radio. See the config page in the reference section for information on how to customize the radius.
In the case of a detection area, only the center point of the hurtbox matters and it has to be in that detection area.
Forma
Here is a list of shapes that is used in Evilsim:
| Forma | Descripción | Atributos |
|---|---|---|
| Objetivo único | This means the attack is hitting a single enemy directly. | Enemy Key |
| Círculo | A circle with a certain radius. If the circle has a fan angle, then it becomes a circular segment. | Centro, Desplazamiento X, Desplazamiento Y, Radio, Ángulo de abanico |
| Caja | A 2D box (rectangle) with a certain width and length. | Centro, Desplazamiento X, Desplazamiento Y, Caja X (width), Caja Y (length) |
Evilsim is implemented entirely in 2D, but Genshin is a 3D game. This means we have the following mappings between 3D and 2D shapes:
| Forma 3D | Representación 2D |
|---|---|
| Esfera | Círculo with same radius. |
| Cilindro | Círculo with same radius. |
| Caja | Rectángulo with same width and length. |
Centro
Every shape except for Objetivo único has a point that defines its center.
Usually, it is the position of the player or an enemy.
While circles and circular segments in Evilsim have the usual center definition, rectangles have their center not in their geometric center, but in the middle of the lower side defined by the Caja X parameter.
Desplazamiento
The center point of every shape can be shifted by a certain amount in the x direction (Desplazamiento X) and/or y direction (Desplazamiento Y).
The values for Desplazamiento X and Desplazamiento Y assume a direction of (0, 1) (0°), so they get rotated to match the shape's direction.
Most attacks do not have Desplazamiento X, but they usually have Desplazamiento Y.
Ángulo de abanico
The fan angle of a circle describes a circular segment. It is a value between 0° (single line) and 360° (full circle). As the value increases, the Circular segment expands 1:1 counterclockwise and clockwise beginning from the circle's direction.
Colisión
Evilsim performs collision detection between the attack's hitbox and target's hurtbox. If Evilsim detected a collision, then the attack hits the target. For more details, please refer to the código fuente de Evilsim/Evilsim.