Перейти к основному содержимому

Область действия

Область действия (AoE) is:

  • a property of attacks that determines in what area it can hit targets (hitbox).
  • a property of targets that determines in what area it counts attacks as hitting it (hurtbox).
  • a property of abilities that determines in what area it detects targets (Пример: Bennett Inspiration Field).

Система координат

Evilsim is using a 2D coordinate system that follows the Cartesian coordinate system. That means every point in space can be uniquely identified by a combination of its x and y coordinate values.

предупреждение

Evilsim uses meters (m) as its unit of length.

подсказка

Some abyss floors have tiles. Например: Floor 7 and 8. These tiles have a size of 2.55m x 2.55m.

Направление

Evilsim represents the (viewing) direction of the player and shapes by using vectors. Формы are oriented according to the direction starting from their center.

к сведению

Usually, the direction of a shape is based on the direction of the player. The player direction is always set to the direction of the closest enemy (primary target). In order to achieve this, it updates on the following events:

  • player is moved
  • enemy is moved
  • primary target dies

Each (x, y) vector can be mapped to a certain angle.

к сведению

Пример directions and their mappings:

НаправлениеAngleОписание
(0, 1)"looking forward", по умолчанию direction
(1, 0)90°"looking to the right"
(0, -1)180°"looking backward"
(-1, 0)270°"looking to the left"

к сведению

Пример for a 3m x 5m rectangle with the center at (0, 0) and a direction of (1, 1) (45°):

Before rotation by direction:

After rotation by direction:

For some manual rotation calculations for shapes that have their center at (0, 0), you can use this website.

Хитбокс, hurtbox and detection area

The AoE of an attack (hitbox) and AoE of a target (hurtbox) is represented by their shape in combination with a direction.

к сведению

The player has a Круг hurtbox with 0.3m radius.

к сведению

Цельs have a Круг hurtbox with 1m radius by по умолчанию. 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.

Форма

Here is a list of shapes that is used in Evilsim:

ФормаОписаниеAttributes
SingleЦельThis means the attack is hitting a single enemy directly.Enemy Key
КругA circle with a certain radius. If the circle has a fan angle, then it becomes a circular segment.Центр, Смещение X, Смещение Y, Радиус, Угол сектора
ПрямоугольникA 2D box (rectangle) with a certain width and length.Центр, Смещение X, Смещение Y, Прямоугольник X (width), Прямоугольник 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:

3D shape2D representation
SphereКруг with same radius.
CylinderКруг with same radius.
ПрямоугольникRectangle with same width and length.

Центр

Every shape except for SingleЦель 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 Прямоугольник X parameter.

Offset

The center point of every shape can be shifted by a certain amount in the x direction (Смещение X) and/or y direction (Смещение Y). The values for Смещение X and Смещение Y assume a direction of (0, 1) (0°), so they get rotated to match the shape's direction.

к сведению

Most attacks do not have Смещение X, but they usually have Смещение Y.

Fan angle

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.

Столкновение

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 исходный код Evilsim.

Where to find AoE data