Areatrigger create properties

Материал из World of WarCraft Developers Wiki
Перейти к навигации Перейти к поиску

Таблица 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_templateId.

Пример: 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