Gameobject

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

Таблица gameobject

Таблица gameobject из базы данных world хранит спавны игровых объектов в мире. Связывает GUID спавна с шаблоном объекта (id), картой/зоной/областью и параметрами появления. Используется подсистемой Gameobject System совместно с шаблонами объектов и логикой фазирования/сложностей (зависит от реализации ядра).

Field Type Attributes Key Null Default Extra
guid bigint UNSIGNED PRIMARY NO 0
id int UNSIGNED NO 0
map smallint UNSIGNED NO 0
zoneId smallint UNSIGNED NO 0
areaId smallint UNSIGNED NO 0
spawnDifficulties varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NO '0'
phaseUseFlags tinyint UNSIGNED NO 0
PhaseId int YES 0
PhaseGroup int YES 0
terrainSwapMap int NO -1
position_x float NO 0
position_y float NO 0
position_z float NO 0
orientation float NO 0
rotation0 float NO 0
rotation1 float NO 0
rotation2 float NO 0
rotation3 float NO 0
spawntimesecs int NO 0
animprogress tinyint UNSIGNED NO 0
state tinyint UNSIGNED NO 0
ScriptName varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NO
StringId varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci YES NULL
VerifiedBuild int NO 0

guid

GUID спавна игрового объекта. Уникально идентифицирует конкретную точку/экземпляр объекта в мире.

Пример: 9000001

id

Идентификатор шаблона игрового объекта. Обычно соответствует gameobject_template.entry и определяет тип/поведение объекта.

Пример: 179965

map

Идентификатор карты (MapID), на которой расположен объект. Определяет, в каком мире/инстансе применяются координаты спавна.

Пример: 0

zoneId

Идентификатор зоны (ZoneID) для спавна. Используется для привязки к зоне и может участвовать в фильтрации/поиске (зависит от реализации ядра).

Пример: 12

areaId

Идентификатор области (AreaID) для спавна. Уточняет локацию внутри зоны; использование зависит от реализации ядра.

Пример: 87

spawnDifficulties

Набор сложностей, на которых объект должен появляться. Хранится строкой; формат списка и интерпретация зависят от реализации ядра.

Пример: 0

phaseUseFlags

Флаги применения фазирования для спавна. Поле используется как набор флагов; конкретные биты и их смысл зависят от реализации ядра.

Пример: 0

PhaseId

ID фазы, в которой должен появляться объект. Используется вместе с фазированием; точная связь с таблицами фаз зависит от реализации ядра.

Пример: 169

PhaseGroup

ID группы фаз для спавна. Используется как альтернативный/дополнительный механизм фазирования; зависит от реализации ядра.

Пример: 3

terrainSwapMap

Идентификатор terrain swap для карты/террейна. Значение -1 обычно означает «не задано»; точная логика применения зависит от реализации ядра.

Пример: -1

position_x

Координата X точки спавна. Используется вместе с position_y, position_z и map.

Пример: -8949.95

position_y

Координата Y точки спавна. Используется вместе с position_x, position_z и map.

Пример: -132.493

position_z

Координата Z точки спавна. Используется вместе с position_x, position_y и map.

Пример: 83.5312

orientation

Ориентация объекта в мире. Для части объектов может использоваться совместно с rotation* (зависит от реализации ядра).

Пример: 1.5708

rotation0

Компонента кватерниона вращения (rotation0). Используется вместе с rotation1, rotation2, rotation3 для точного вращения объекта (зависит от ядра).

Пример: 0

rotation1

Компонента кватерниона вращения (rotation1). Используется вместе с rotation0, rotation2, rotation3.

Пример: 0

rotation2

Компонента кватерниона вращения (rotation2). Используется вместе с rotation0, rotation1, rotation3.

Пример: 0.7071068

rotation3

Компонента кватерниона вращения (rotation3). Используется вместе с rotation0, rotation1, rotation2.

Пример: 0.7071068

spawntimesecs

Время респавна объекта в секундах. Поведение респавна (когда и при каких условиях) зависит от реализации ядра.

Пример: 300

animprogress

Прогресс анимации объекта при спавне. Используется как числовое значение прогресса (часто диапазон 0–255), но трактовка зависит от реализации ядра.

Пример: 255

state

Начальное состояние объекта. Интерпретация значений зависит от реализации ядра и типа объекта (GO state).

Пример: 1

ScriptName

Имя скрипта, привязанного к спавну объекта. Используется системой скриптов; должно соответствовать скрипту, реализованному в ядре.

Пример: go_dark_portal

StringId

Строковый идентификатор спавна. Используется как дополнительная метка (например, для поиска/связей), либо может не применяться — зависит от реализации ядра.

Пример: Portal_Spawn_01

VerifiedBuild

Номер билда, в котором данные были проверены/подтверждены. Используется как служебное поле качества/источника данных; применение зависит от реализации ядра.

Пример: 0