Creature summon groups

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

Таблица creature_summon_groups

Таблица creature_summon_groups из базы данных world описывает **наборы призывов (summon groups)**: какие существа и в каких координатах должны призываться для определённого «призывателя» (summoner). Одна строка = один призываемый NPC в конкретной группе.

PRIMARY KEY составной: (summonerId, summonerType, groupId, entry).

Field Type Attributes Key Null Default Extra
summonerId int UNSIGNED PRIMARY NO 0
summonerType tinyint UNSIGNED PRIMARY NO 0
groupId tinyint UNSIGNED PRIMARY NO 0
entry int UNSIGNED PRIMARY NO 0
position_x float NO 0
position_y float NO 0
position_z float NO 0
orientation float NO 0
summonType tinyint UNSIGNED NO 0
summonTime int UNSIGNED NO 0
Comment varchar(255) utf8mb4_unicode_ci YES NULL

summonerId

Идентификатор «призывателя» — смысл зависит от summonerType.

Примеры:

Пример: 12345

summonerType

Тип «призывателя», определяет трактовку summonerId.

Value Описание
0 Призыватель = существо (Creature Template entry)
1 Призыватель = игровой объект (GameObject Template entry)
2 Призыватель = карта (MapId)

Пример: 0

groupId

Идентификатор группы призыва в рамках данного призывателя.

Value Описание
0 Группа по умолчанию
1..255 Пользовательская группа

Пример: 1

entry

ID призываемого существа (шаблон). Ссылка на creature_templateentry.

Пример: 67890

position_x

X-координата точки призыва.

Пример: -8833.12

position_y

Y-координата точки призыва.

Пример: 628.44

position_z

Z-координата точки призыва.

Пример: 94.23

orientation

Ориентация призываемого существа (в радианах).

Пример: 1.5708

summonType

Тип временного призыва (TempSummonType), определяет, **когда** призванный NPC должен исчезнуть.

Value Name Описание
1 TEMPSUMMON_TIMED_OR_DEAD_DESPAWN Исчезает по таймеру или при смерти
2 TEMPSUMMON_TIMED_DESPAWN Исчезает строго по таймеру
3 TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT Исчезает по таймеру вне боя
4 TEMPSUMMON_CORPSE_DESPAWN Исчезает после появления трупа
5 TEMPSUMMON_CORPSE_TIMED_DESPAWN Труп исчезает по таймеру
6 TEMPSUMMON_DEAD_DESPAWN Исчезает при смерти
7 TEMPSUMMON_MANUAL_DESPAWN Исчезает только вручную (скриптом/логикой)

Пример: 2

summonTime

Время существования призыва в **миллисекундах** (используется, если summonType подразумевает таймер).

Value Описание
0 Таймер не используется (или определяется логикой summonType)
>0 Длительность в миллисекундах

Пример: 30000

Comment

Комментарий (необязательный), используется для удобства сопровождения.

Пример: "Boss add wave #1"