Game event npc vendor

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

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