Game event npc vendor
Таблица game_event_npc_vendor
Таблица game_event_npc_vendor из базы данных world задаёт ассортимент продавца (vendor) для конкретного спавна NPC на время игрового события. Используется подсистемой Game Events для добавления/переопределения товаров у продавцов по creature.guid только в период активности события.
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| eventEntry | tinyint | NO | ||||
| guid | bigint | UNSIGNED | PRIMARY | NO | 0 | |
| slot | smallint | INDEX | NO | 0 | ||
| item | int | UNSIGNED | PRIMARY | NO | 0 | |
| maxcount | int | UNSIGNED | NO | 0 | ||
| incrtime | int | UNSIGNED | NO | 0 | ||
| ExtendedCost | int | UNSIGNED | PRIMARY | NO | 0 | |
| type | tinyint | UNSIGNED | PRIMARY | NO | 1 | |
| BonusListIDs | mediumtext | CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci | YES | |||
| PlayerConditionID | int | UNSIGNED | NO | 0 | ||
| IgnoreFiltering | tinyint | UNSIGNED | NO | 0 |
eventEntry
ID события из game_event. Определяет, в рамках какого события действует этот набор товаров у продавца.
Пример: 12
guid
GUID спавна NPC-продавца. Обычно соответствует creature.guid и указывает на конкретный спавн в мире, для которого будет задан ассортимент.
Пример: 103344
slot
Номер слота в списке товаров продавца. Используется для упорядочивания/индексации строк ассортимента; конкретное поведение отображения зависит от реализации ядра.
Пример: 4
item
ID предмета, который продаётся. Обычно соответствует item_template.entry и определяет, какой предмет будет доступен у продавца на время события.
Пример: 43583
maxcount
Максимальное количество предметов в наличии. Если значение больше 0, предмет считается ограниченным по запасу; механика списания и пополнения зависит от реализации ядра.
Пример: 5
incrtime
Время пополнения запаса (в секундах) для ограниченных товаров. Обычно используется вместе с maxcount: после продажи ядро восстанавливает количество через incrtime.
Пример: 7200
ExtendedCost
ID расширенной стоимости. Обычно соответствует item_extended_cost.ID и задаёт альтернативную цену (жетоны, очки, дополнительные предметы); зависит от реализации ядра.
Пример: 2456
type
Тип записи продавца. Используется ядром для определения формата «что именно продаётся» (например, предмет/другая сущность); конкретные значения зависят от реализации ядра.
Пример: 1
BonusListIDs
Список идентификаторов бонус-листов, применяемых к продаваемому предмету. Формат хранения зависит от реализации ядра (как правило, список ID в строковом виде).
Пример: 1805,1806
PlayerConditionID
ID условия игрока, ограничивающего видимость/доступность товара. Обычно соответствует playercondition.ID и используется ядром как фильтр по требованиям к игроку (уровень, репутация, флаги и т.п.; зависит от реализации).
Пример: 1023
IgnoreFiltering
Флаг игнорирования части фильтров при показе товара. Конкретная логика фильтрации и эффект этого поля зависят от реализации ядра.
Пример: 1