Npc vendor

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

Таблица npc_vendor

Таблица npc_vendor из базы данных world задаёт ассортимент продавцов (NPC vendor): какие предметы/валюты продаются, лимиты, стоимость (в т.ч. через ExtendedCost) и дополнительные ограничения.

Field Type Attributes Key Null Default Extra
entry int UNSIGNED PRIMARY NO 0
slot smallint INDEX NO 0
item int 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 utf8mb4_unicode_ci YES
PlayerConditionID int UNSIGNED NO 0
IgnoreFiltering tinyint UNSIGNED NO 0
VerifiedBuild int NO 0

entry

ID продавца (обычно creature_template.entry).

Пример: 12345

slot

Позиция строки в окне торговца (порядок отображения). Обычно: 0, 1, 2, ... слева-направо, сверху-вниз.

Пример: 0

item

Идентификатор продаваемого объекта. Смысл зависит от type:

  • при type = 1 — ID предмета;
  • при type = 2 — ID валюты (или другой сущности, если ядро так трактует тип).

Пример: 6948

maxcount

Максимальный запас (лимит) у продавца:

  • 0 — безлимитно;
  • > 0 — лимитированное количество.

Пример: 0

incrtime

Время пополнения лимитированного товара в секундах (работает вместе с maxcount):

  • при maxcount = 0 обычно можно ставить 0;
  • при лимите задаёт интервал «рестока».

Пример: 3600

ExtendedCost

ID расширенной стоимости (обычно ItemExtendedCost.ID), для не-денежной цены (honor/arena/badges и т.п.).

  • 0 — используется обычная цена предмета (BuyPrice/BuyCount и т.п.).

Пример: 0

type

Тип записи у торговца (как ядро трактует поле item).

Value Name Описание
0 ITEM_VENDOR_TYPE_NONE Обычно не используется
1 ITEM_VENDOR_TYPE_ITEM Продаётся предмет (item = ItemID)
2 ITEM_VENDOR_TYPE_CURRENCY Продаётся валюта (item = CurrencyID)
3 ITEM_VENDOR_TYPE_SPELL Продаётся/выдаётся заклинание (зависит от ядра)
4 ITEM_VENDOR_TYPE_MAW_POWER Спец. тип (зависит от версии ядра)

Пример: 1

BonusListIDs

Доп. модификаторы продаваемого предмета (bonus list). Обычно это список ID бонусов (BonusList) в текстовом виде.

  • NULL — без бонусов.

Пример: "6419 6652"

PlayerConditionID

ID условия для игрока (система PlayerCondition):

  • 0 — без условий;
  • > 0 — показывать/разрешать покупку только при выполнении условия.

Пример: 0

IgnoreFiltering

Флаг игнорирования фильтрации ассортимента:

  • 0 — обычная фильтрация;
  • 1 — игнорировать фильтрацию (показывать «как есть», по логике ядра).

Пример: 0

VerifiedBuild

Служебное поле парсинга/верификации (номер билда). Часто:

  • 0 — не заполняется;
  • > 0 — подтверждённый билд.

Пример: 0