Areatrigger create properties
Таблица areatrigger_create_properties
Таблица areatrigger_create_properties из базы данных world хранит «набор свойств» (create properties) для серверных area trigger’ов: ссылку на шаблон areatrigger_template, флаги поведения, параметры визуалов/анимаций, параметры движения/формы (Shape + ShapeData), а также имя скрипта.
Запись идентифицируется составным ключом (Id, IsCustom):
- Id — обычно равен MiscValue/MiscId у спеллов, создающих area trigger (эффекты создания area trigger).
- IsCustom — позволяет использовать произвольные (кастомные) значения Id, не совпадающие с клиентскими данными.
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| Id | int | UNSIGNED | PRIMARY | NO | ||
| IsCustom | tinyint | UNSIGNED | PRIMARY | NO | ||
| AreaTriggerId | int | UNSIGNED | NO | |||
| IsAreatriggerCustom | tinyint | UNSIGNED | NO | |||
| Flags | int | UNSIGNED | NO | 0 | ||
| MoveCurveId | int | UNSIGNED | NO | 0 | ||
| ScaleCurveId | int | UNSIGNED | NO | 0 | ||
| MorphCurveId | int | UNSIGNED | NO | 0 | ||
| FacingCurveId | int | UNSIGNED | NO | 0 | ||
| AnimId | int | NO | -1 | |||
| AnimKitId | int | NO | 0 | |||
| DecalPropertiesId | int | UNSIGNED | NO | 0 | ||
| SpellForVisuals | int | YES | NULL | |||
| TimeToTargetScale | int | UNSIGNED | NO | 0 | ||
| Speed | float | NO | 1 | |||
| SpeedIsTime | tinyint | UNSIGNED | NO | 0 | ||
| Shape | tinyint | UNSIGNED | NO | 0 | ||
| ShapeData0 | float | NO | 0 | |||
| ShapeData1 | float | NO | 0 | |||
| ShapeData2 | float | NO | 0 | |||
| ShapeData3 | float | NO | 0 | |||
| ShapeData4 | float | NO | 0 | |||
| ShapeData5 | float | NO | 0 | |||
| ShapeData6 | float | NO | 0 | |||
| ShapeData7 | float | NO | 0 | |||
| ScriptName | varchar(64) | utf8mb4_unicode_ci | NO | |||
| VerifiedBuild | int | UNSIGNED | NO | 0 |
Id
ID набора свойств area trigger’а.
Обычно соответствует MiscValue/MiscId у спеллов, создающих area trigger (эффекты создания area trigger). Если IsCustom = 1, может быть произвольным кастомным значением.
Пример: 116011
IsCustom
Флаг, определяющий является ли Id кастомным (произвольным) ID.
| Value | Описание |
|---|---|
| 0 | Не кастомный (ID связан с «обычным» источником, например со спеллом) |
| 1 | Кастомный (произвольный ID) |
Пример: 0
AreaTriggerId
ID шаблона area trigger’а (какой areatrigger_template использовать при создании).
Ссылка на areatrigger_template → Id.
Пример: 2947
IsAreatriggerCustom
Флаг, определяющий является ли AreaTriggerId кастомным ID.
| Value | Описание |
|---|---|
| 0 | areatrigger_template используется по обычному ID |
| 1 | areatrigger_template выбирается по кастомному ID |
Пример: 0
Flags
Битовая маска флагов поведения/передачи данных area trigger’а.
| Mask (hex) | Name | Описание |
|---|---|---|
| 0x00001 | HasAbsoluteOrientation | У area trigger’а есть «абсолютная» ориентация |
| 0x00002 | HasDynamicShape | Форма может динамически менять параметры/вершины (например ShapeDataTarget / VerticeTarget*) |
| 0x00004 | HasAttached | Привязан (attach) к объекту/юниту-носителю |
| 0x00008 | HasFaceMovementDir | Ориентация следует направлению движения |
| 0x00010 | HasFollowsTerrain | Следует рельефу (NYI/может быть не реализовано) |
| 0x00020 | Unk1 | Неизвестный флаг |
| 0x00040 | HasTargetRollPitchYaw | Есть целевые углы (NYI/может быть не реализовано) |
| 0x00080 | HasAnimId | Есть AnimId (DEPRECATED) |
| 0x00100 | Unk3 | Неизвестный флаг |
| 0x00200 | HasAnimKitId | Есть AnimKitId (DEPRECATED) |
| 0x00400 | HasCircularMovement | Круговое движение (DEPRECATED; см. также таблицу areatrigger_create_properties_orbit) |
| 0x00800 | Unk5 | Неизвестный флаг |
Пример: 2
MoveCurveId
ID кривой (curve), описывающей движение area trigger’а. 0 — кривая не задана.
Пример: 0
ScaleCurveId
ID кривой (curve) изменения масштаба (scale). 0 — кривая не задана.
Пример: 0
MorphCurveId
ID кривой (curve) морфинга/изменения формы (morph). 0 — кривая не задана.
Пример: 0
FacingCurveId
ID кривой (curve) изменения направления/поворота (facing). 0 — кривая не задана.
Пример: 0
AnimId
ID анимации (обычно -1 означает «не задано»).
| Value | Описание |
|---|---|
| -1 | Не задано |
| >= 0 | ID анимации |
Пример: -1
AnimKitId
ID AnimKit (набор анимаций/эффектов). 0 — не задано.
Пример: 0
DecalPropertiesId
ID настроек «декали» (Decal) для визуала area trigger’а. 0 — не задано.
Пример: 0
SpellForVisuals
ID спелла (Spell.db2), который следует использовать для визуальной части area trigger’а. NULL — не задано.
Пример: 116011
TimeToTargetScale
Время (обычно в мс), за которое масштаб должен перейти к «целевому» значению (target), если используется динамическое масштабирование. 0 — без перехода/по умолчанию.
Пример: 8000
Speed
Параметр скорости/темпа движения (float). По умолчанию 1.
Пример: 1
SpeedIsTime
Флаг интерпретации Speed.
| Value | Описание |
|---|---|
| 0 | Speed трактуется как скорость (обычный режим) |
| 1 | Speed трактуется как время/длительность (используется ядром для расчётов движения) |
Пример: 0
Shape
Тип геометрии area trigger’а. От типа зависит, как интерпретируются поля ShapeData0–ShapeData7, а также какие дополнительные таблицы используются (например, вершины полигона в areatrigger_create_properties_polygon_vertex).
| ID | Name | Описание |
|---|---|---|
| 0 | AREATRIGGER_TYPE_SPHERE | Сфера/круг по радиусу (2D/3D в зависимости от использования) |
| 1 | AREATRIGGER_TYPE_BOX | Параллелепипед (box) с extents |
| 2 | AREATRIGGER_TYPE_UNK | Неизвестный тип |
| 3 | AREATRIGGER_TYPE_POLYGON | Полигон (вершины задаются отдельно) |
| 4 | AREATRIGGER_TYPE_CYLINDER | Цилиндр |
| 5 | AREATRIGGER_TYPE_MAX | Техническое значение (не использовать как реальную форму) |
Пример: 3
ShapeData0 – ShapeData7
Набор параметров формы. Значение каждого поля зависит от Shape.
Соответствие ShapeData* параметрам формы
| Field | SPHERE | BOX | UNK | POLYGON | CYLINDER |
|---|---|---|---|---|---|
| ShapeData0 | Radius | ExtentsX | Height | Radius | Radius |
| ShapeData1 | RadiusTarget | ExtentsY | HeightTarget | RadiusTarget | RadiusTarget |
| ShapeData2 | - | ExtentsZ | - | - | Height |
| ShapeData3 | - | ExtentsTargetX | - | - | HeightTarget |
| ShapeData4 | - | ExtentsTargetY | - | - | LocationZOffset |
| ShapeData5 | - | ExtentsTargetZ | - | - | LocationZOffsetTarget |
| ShapeData6 | - | - | - | - | - |
| ShapeData7 | - | - | - | - | - |
Пример: Shape=SPHERE, ShapeData0=8.0, ShapeData1=8.0
ScriptName
Имя скрипта (scripting engine), связанного с данным набором свойств area trigger’а.
Пример: "at_mage_rune_of_power"
VerifiedBuild
Служебное поле TrinityDB Team: отметка, из какого build клиента подтверждён шаблон.
| Value | Описание |
|---|---|
| 0 | Не проверено/не распарсено |
| >0 | Распарсено из WDB указанного build клиента |
| -1 | Заглушка до появления корректных данных |
| -(Client Build) | Распарсено из WDB указанного build и затем вручную правилось |
Пример: 0