Creature summon groups
Таблица 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.
Примеры:
- summonerType = 0 (Creature) — это creature_template → entry
- summonerType = 1 (GameObject) — это gameobject_template → entry
- summonerType = 2 (Map) — это MapId (DB2:
Map.db2)
Пример: 12345
summonerType
Тип «призывателя», определяет трактовку summonerId.
| Value | Описание |
|---|---|
| 0 | Призыватель = существо (Creature Template entry) |
| 1 | Призыватель = игровой объект (GameObject Template entry) |
| 2 | Призыватель = карта (MapId) |
Пример: 0
groupId
Идентификатор группы призыва в рамках данного призывателя.
| Value | Описание |
|---|---|
| 0 | Группа по умолчанию |
| 1..255 | Пользовательская группа |
Пример: 1
entry
ID призываемого существа (шаблон). Ссылка на creature_template → entry.
Пример: 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"