Quest template

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

Таблица quest_template

Таблица quest_template из базы данных world — **основная таблица системы квестов**: награды, ограничения, флаги, POI на карте и тексты, которые видит игрок в журнале/окне квеста.

Field Type Attributes Key Null Default Extra
ID int UNSIGNED PRIMARY NO 0
QuestType tinyint UNSIGNED NO 2
QuestPackageID int UNSIGNED NO 0
ContentTuningID int UNSIGNED NO 0
QuestSortID smallint NO 0
QuestInfoID smallint UNSIGNED NO 0
SuggestedGroupNum tinyint UNSIGNED NO 0
RewardNextQuest int UNSIGNED NO 0
RewardXPDifficulty int UNSIGNED NO 0
RewardXPMultiplier float NO 1
RewardMoneyDifficulty int UNSIGNED NO 0
RewardMoneyMultiplier float NO 1
RewardBonusMoney int UNSIGNED NO 0
RewardDisplaySpell1 int UNSIGNED NO 0
RewardDisplaySpell2 int UNSIGNED NO 0
RewardDisplaySpell3 int UNSIGNED NO 0
RewardSpell int UNSIGNED NO 0
RewardHonor int UNSIGNED NO 0
RewardKillHonor int UNSIGNED NO 0
StartItem int UNSIGNED NO 0
RewardArtifactXPDifficulty int UNSIGNED NO 0
RewardArtifactXPMultiplier float NO 1
RewardArtifactCategoryID int UNSIGNED NO 0
Flags int UNSIGNED NO 0
FlagsEx int UNSIGNED NO 0
FlagsEx2 int UNSIGNED NO 0
FlagsEx3 int UNSIGNED NO 0
RewardItem1 int UNSIGNED NO 0
RewardAmount1 int UNSIGNED NO 0
RewardItem2 int UNSIGNED NO 0
RewardAmount2 int UNSIGNED NO 0
RewardItem3 int UNSIGNED NO 0
RewardAmount3 int UNSIGNED NO 0
RewardItem4 int UNSIGNED NO 0
RewardAmount4 int UNSIGNED NO 0
ItemDrop1 int UNSIGNED NO 0
ItemDropQuantity1 int UNSIGNED NO 0
ItemDrop2 int UNSIGNED NO 0
ItemDropQuantity2 int UNSIGNED NO 0
ItemDrop3 int UNSIGNED NO 0
ItemDropQuantity3 int UNSIGNED NO 0
ItemDrop4 int UNSIGNED NO 0
ItemDropQuantity4 int UNSIGNED NO 0
RewardChoiceItemID1 int UNSIGNED NO 0
RewardChoiceItemQuantity1 int UNSIGNED NO 0
RewardChoiceItemDisplayID1 int UNSIGNED NO 0
RewardChoiceItemID2 int UNSIGNED NO 0
RewardChoiceItemQuantity2 int UNSIGNED NO 0
RewardChoiceItemDisplayID2 int UNSIGNED NO 0
RewardChoiceItemID3 int UNSIGNED NO 0
RewardChoiceItemQuantity3 int UNSIGNED NO 0
RewardChoiceItemDisplayID3 int UNSIGNED NO 0
RewardChoiceItemID4 int UNSIGNED NO 0
RewardChoiceItemQuantity4 int UNSIGNED NO 0
RewardChoiceItemDisplayID4 int UNSIGNED NO 0
RewardChoiceItemID5 int UNSIGNED NO 0
RewardChoiceItemQuantity5 int UNSIGNED NO 0
RewardChoiceItemDisplayID5 int UNSIGNED NO 0
RewardChoiceItemID6 int UNSIGNED NO 0
RewardChoiceItemQuantity6 int UNSIGNED NO 0
RewardChoiceItemDisplayID6 int UNSIGNED NO 0
POIContinent int UNSIGNED NO 0
POIx float NO 0
POIy float NO 0
POIPriority int NO 0
RewardTitle int UNSIGNED NO 0
RewardArenaPoints int UNSIGNED NO 0
RewardSkillLineID int UNSIGNED NO 0
RewardNumSkillUps int UNSIGNED NO 0
PortraitGiver int UNSIGNED NO 0
PortraitGiverMount int NO 0
PortraitGiverModelSceneID int NO 0
PortraitTurnIn int UNSIGNED NO 0
RewardFactionID1 int UNSIGNED NO 0
RewardFactionValue1 int NO 0
RewardFactionOverride1 int NO 0
RewardFactionCapIn1 int NO 0
RewardFactionID2 int UNSIGNED NO 0
RewardFactionValue2 int NO 0
RewardFactionOverride2 int NO 0
RewardFactionCapIn2 int NO 0
RewardFactionID3 int UNSIGNED NO 0
RewardFactionValue3 int NO 0
RewardFactionOverride3 int NO 0
RewardFactionCapIn3 int NO 0
RewardFactionID4 int UNSIGNED NO 0
RewardFactionValue4 int NO 0
RewardFactionOverride4 int NO 0
RewardFactionCapIn4 int NO 0
RewardFactionID5 int UNSIGNED NO 0
RewardFactionValue5 int NO 0
RewardFactionOverride5 int NO 0
RewardFactionCapIn5 int NO 0
RewardFactionFlags int UNSIGNED NO 0
RewardCurrencyID1 int UNSIGNED NO 0
RewardCurrencyQty1 int UNSIGNED NO 0
RewardCurrencyID2 int UNSIGNED NO 0
RewardCurrencyQty2 int UNSIGNED NO 0
RewardCurrencyID3 int UNSIGNED NO 0
RewardCurrencyQty3 int UNSIGNED NO 0
RewardCurrencyID4 int UNSIGNED NO 0
RewardCurrencyQty4 int UNSIGNED NO 0
AcceptedSoundKitID int UNSIGNED NO 0
CompleteSoundKitID int UNSIGNED NO 0
AreaGroupID int UNSIGNED NO 0
TimeAllowed bigint NO 0
AllowableRaces bigint UNSIGNED YES 0
Expansion int NO 0
ManagedWorldStateID int NO 0
QuestSessionBonus int NO 0
LogTitle mediumtext utf8mb4_unicode_ci YES NULL
LogDescription mediumtext utf8mb4_unicode_ci YES NULL
QuestDescription mediumtext utf8mb4_unicode_ci YES NULL
AreaDescription mediumtext utf8mb4_unicode_ci YES NULL
PortraitGiverText mediumtext utf8mb4_unicode_ci YES NULL
PortraitGiverName mediumtext utf8mb4_unicode_ci YES NULL
PortraitTurnInText mediumtext utf8mb4_unicode_ci YES NULL
PortraitTurnInName mediumtext utf8mb4_unicode_ci YES NULL
QuestCompletionLog mediumtext utf8mb4_unicode_ci YES NULL
ResetByScheduler tinyint NO 0
VerifiedBuild int NO 0

ID

ID квеста.

Пример: 12345

QuestType

Тип поведения квеста в ядре.

Value Описание
0 Квест включён, но автозавершается при принятии (пропускает цели/детали)
1 Квест отключён (ядро обычно игнорирует)
2 Обычный квест (включён, без автозавершения)
3 World Quest (если поддерживается ядром)

Пример: 2

QuestPackageID

ID «пакета» квеста (клиентские данные/настройки). Если не используется — 0.

Пример: 0

ContentTuningID

ID настройки скейлинга контента (клиентские данные). Если не используется — 0.

Пример: 0

QuestSortID

Категория в журнале квестов:

  • > 0 — AreaTable/зона (ID зоны);
  • < 0 — QuestSort (профессии/классы/ивенты и т.п.).

Пример: -101

QuestInfoID

Тип/класс квеста (QuestInfo).

Value Name
1 Group
21 Life
41 PvP
62 Raid
81 Dungeon
82 World Event
83 Legendary
84 Escort
85 Heroic
88 Raid (10)
89 Raid (25)

Пример: 81

SuggestedGroupNum

Рекомендуемое количество игроков для прохождения.

Пример: 3

RewardNextQuest

ID следующего квеста в цепочке, который становится доступен сразу после сдачи текущего.

Пример: 12346

RewardXPDifficulty

Индекс «сложности»/колонки для расчёта опыта (используется таблицами/формулами XP в ядре). Часто 0.

Пример: 0

RewardXPMultiplier

Множитель опыта (обычно 1).

Пример: 1

RewardMoneyDifficulty

Индекс «сложности» для расчёта денег (логика зависит от ядра). Часто 0.

Пример: 0

RewardMoneyMultiplier

Множитель денег (обычно 1).

Пример: 1

RewardBonusMoney

Базовая денежная награда (до множителей/скейла, если они применяются в вашем ядре).

Пример: 25000

RewardDisplaySpell1

Визуальный спелл награды №1 (Spell ID), отображаемый в журнале/окне награды.

Пример: 0

RewardDisplaySpell2

Визуальный спелл награды №2 (Spell ID).

Пример: 0

RewardDisplaySpell3

Визуальный спелл награды №3 (Spell ID).

Пример: 0

RewardSpell

Спелл, который реально кастуется/применяется к игроку при завершении (Spell ID). Если задан — обычно он «главнее», чем RewardDisplaySpell*.

Пример: 0

RewardHonor

Награда честью (Honor points), если используется.

Пример: 0

RewardKillHonor

Награда честью в виде «N honorable kills worth of honor» (логика зависит от ядра).

Пример: 0

StartItem

Item ID предмета, который выдаётся при принятии квеста (обычно удаляется при отмене квеста).

Пример: 0

RewardArtifactXPDifficulty

Индекс «сложности» для Artifact XP (если система используется).

Пример: 0

RewardArtifactXPMultiplier

Множитель Artifact XP (обычно 1).

Пример: 1

RewardArtifactCategoryID

Категория Artifact XP (если применимо). Иначе 0.

Пример: 0

Flags

Основные флаги квеста (битовая маска). Значения суммируются.

Value Name Описание
1 QUEST_FLAGS_STAY_ALIVE Если игрок умер — квест проваливается (зависит от ядра)
2 QUEST_FLAGS_PARTY_ACCEPT Принятие группой/подтверждение (зависит от ядра)
4 QUEST_FLAGS_EXPLORATION Завязано на areatrigger/исследование (зависит от ядра)
8 QUEST_FLAGS_SHARABLE Квест можно расшарить
16 QUEST_FLAGS_HAS_CONDITION Условия (зависит от ядра)
32 QUEST_FLAGS_HIDE_REWARD_POI Скрывать POI награды (зависит от ядра)
64 QUEST_FLAGS_RAID Можно сдавать/выполнять в рейде
4096 QUEST_FLAGS_DAILY Ежедневный
32768 QUEST_FLAGS_WEEKLY Еженедельный
65536 QUEST_FLAGS_AUTOCOMPLETE Автозавершение (клиент/ядро)
131072 QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER Показывать используемый предмет в трекере
524288 QUEST_FLAGS_AUTO_ACCEPT Автопринятие (клиент/ядро)

Пример: 4096

FlagsEx

Дополнительные флаги квеста (битовая маска). Если не используете — 0.

Пример: 0

FlagsEx2

Дополнительные флаги квеста (битовая маска). Если не используете — 0.

Пример: 0

FlagsEx3

Дополнительные флаги квеста (битовая маска). Если не используете — 0.

Пример: 0

RewardItem1

Гарантированная награда №1 (Item ID), без выбора.

Пример: 0

RewardAmount1

Количество для RewardItem1.

Пример: 1

RewardItem2

Гарантированная награда №2 (Item ID).

Пример: 0

RewardAmount2

Количество для RewardItem2.

Пример: 0

RewardItem3

Гарантированная награда №3 (Item ID).

Пример: 0

RewardAmount3

Количество для RewardItem3.

Пример: 0

RewardItem4

Гарантированная награда №4 (Item ID).

Пример: 0

RewardAmount4

Количество для RewardItem4.

Пример: 0

ItemDrop1

Скрытый «технический» предмет-дроп №1 (Item ID), который ядру нужен для логики (не обязательно показывается в тексте квеста).

Пример: 0

ItemDropQuantity1

Количество для ItemDrop1.

Пример: 0

ItemDrop2

Скрытый предмет-дроп №2 (Item ID).

Пример: 0

ItemDropQuantity2

Количество для ItemDrop2.

Пример: 0

ItemDrop3

Скрытый предмет-дроп №3 (Item ID).

Пример: 0

ItemDropQuantity3

Количество для ItemDrop3.

Пример: 0

ItemDrop4

Скрытый предмет-дроп №4 (Item ID).

Пример: 0

ItemDropQuantity4

Количество для ItemDrop4.

Пример: 0

RewardChoiceItemID1

Награда «на выбор» №1: ID сущности (обычно Item ID; тип может уточняться отдельными таблицами наград).

Пример: 0

RewardChoiceItemQuantity1

Количество для RewardChoiceItemID1.

Пример: 1

RewardChoiceItemDisplayID1

DisplayID для отображения награды «на выбор» №1 в UI (если нужно отличное отображение от базового предмета).

Пример: 0

RewardChoiceItemID2

Награда «на выбор» №2.

Пример: 0

RewardChoiceItemQuantity2

Количество для RewardChoiceItemID2.

Пример: 0

RewardChoiceItemDisplayID2

DisplayID для награды «на выбор» №2.

Пример: 0

RewardChoiceItemID3

Награда «на выбор» №3.

Пример: 0

RewardChoiceItemQuantity3

Количество для RewardChoiceItemID3.

Пример: 0

RewardChoiceItemDisplayID3

DisplayID для награды «на выбор» №3.

Пример: 0

RewardChoiceItemID4

Награда «на выбор» №4.

Пример: 0

RewardChoiceItemQuantity4

Количество для RewardChoiceItemID4.

Пример: 0

RewardChoiceItemDisplayID4

DisplayID для награды «на выбор» №4.

Пример: 0

RewardChoiceItemID5

Награда «на выбор» №5.

Пример: 0

RewardChoiceItemQuantity5

Количество для RewardChoiceItemID5.

Пример: 0

RewardChoiceItemDisplayID5

DisplayID для награды «на выбор» №5.

Пример: 0

RewardChoiceItemID6

Награда «на выбор» №6.

Пример: 0

RewardChoiceItemQuantity6

Количество для RewardChoiceItemID6.

Пример: 0

RewardChoiceItemDisplayID6

DisplayID для награды «на выбор» №6.

Пример: 0

POIContinent

Континент/карта для точки POI (обычно MapID/Continent ID в клиентских данных). Если не задано — 0.

Пример: 0

POIx

X координата POI (float). Если не задано — 0.

Пример: 0

POIy

Y координата POI (float). Если не задано — 0.

Пример: 0

POIPriority

Приоритет POI (чем выше — тем важнее/выше в списках, зависит от клиента/ядра).

Пример: 0

RewardTitle

ID титула, выдаваемого за квест (если используется). Иначе 0.

Пример: 0

RewardArenaPoints

Награда арена-поинтами (если система используется). Иначе 0.

Пример: 0

RewardSkillLineID

SkillLine ID (профессия/умение), за которое дают апы.

Пример: 0

RewardNumSkillUps

Сколько skill-up дать по RewardSkillLineID.

Пример: 0

PortraitGiver

ID портрета квестодателя для окна квеста (клиентские данные). Если не используется — 0.

Пример: 0

PortraitGiverMount

ID маунта/маунт-слоя для портрета квестодателя (если используется). Иначе 0.

Пример: 0

PortraitGiverModelSceneID

ModelSceneID для портрета квестодателя (если используется). Иначе 0.

Пример: 0

PortraitTurnIn

ID портрета NPC, которому сдаём квест (клиентские данные). Если не используется — 0.

Пример: 0

RewardFactionID1

Faction ID награды репутацией №1.

Пример: 72

RewardFactionValue1

Значение репутации (обычно «ступень/значение», зависит от ядра).

Пример: 3000

RewardFactionOverride1

Переопределение репутации (часто используется как «*100» от реального значения, если так принято в ядре). Если не надо — 0.

Пример: 0

RewardFactionCapIn1

Ограничение (cap) репутации для выдачи (если используется). Иначе 0.

Пример: 0

RewardFactionID2

Faction ID награды репутацией №2.

Пример: 0

RewardFactionValue2

Значение репутации №2.

Пример: 0

RewardFactionOverride2

Override репутации №2.

Пример: 0

RewardFactionCapIn2

Cap репутации №2.

Пример: 0

RewardFactionID3

Faction ID №3.

Пример: 0

RewardFactionValue3

Значение №3.

Пример: 0

RewardFactionOverride3

Override №3.

Пример: 0

RewardFactionCapIn3

Cap №3.

Пример: 0

RewardFactionID4

Faction ID №4.

Пример: 0

RewardFactionValue4

Значение №4.

Пример: 0

RewardFactionOverride4

Override №4.

Пример: 0

RewardFactionCapIn4

Cap №4.

Пример: 0

RewardFactionID5

Faction ID №5.

Пример: 0

RewardFactionValue5

Значение №5.

Пример: 0

RewardFactionOverride5

Override №5.

Пример: 0

RewardFactionCapIn5

Cap №5.

Пример: 0

RewardFactionFlags

Флаги репутационной награды (битовая маска, зависит от ядра). Если не используете — 0.

Пример: 0

RewardCurrencyID1

Currency ID награды №1.

Пример: 0

RewardCurrencyQty1

Количество валюты №1.

Пример: 0

RewardCurrencyID2

Currency ID №2.

Пример: 0

RewardCurrencyQty2

Количество валюты №2.

Пример: 0

RewardCurrencyID3

Currency ID №3.

Пример: 0

RewardCurrencyQty3

Количество валюты №3.

Пример: 0

RewardCurrencyID4

Currency ID №4.

Пример: 0

RewardCurrencyQty4

Количество валюты №4.

Пример: 0

AcceptedSoundKitID

SoundKit ID звука при принятии квеста.

Пример: 0

CompleteSoundKitID

SoundKit ID звука при завершении/сдаче квеста.

Пример: 0

AreaGroupID

AreaGroup ID (группа зон), если квест завязан на группу областей. Если не используется — 0.

Пример: 0

TimeAllowed

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

  • 0 — без таймера.

Пример: 600

AllowableRaces

Маска рас, которым доступен квест.

  • 0 — всем.

Примечание: значения суммируются как битовая маска.

Пример: 0

Expansion

Ограничение по дополнению/эпохе (как трактуется — зависит от ядра). Если не используется — 0.

Пример: 0

ManagedWorldStateID

ID WorldState, который квест может переключать/использовать (если поддерживается). Иначе 0.

Пример: 0

QuestSessionBonus

Бонус «quest session» (если поддерживается). Иначе 0.

Пример: 0

LogTitle

Заголовок квеста в журнале.

Пример: "A Hero's Call"

LogDescription

Короткое описание для журнала.

Пример: "Speak to the commander."

QuestDescription

Полный текст описания квеста (основной текст в окне квеста).

Пример: "Our scouts report..."

AreaDescription

Описание зоны/области в окне квеста (если используется). Может быть NULL.

Пример: NULL

PortraitGiverText

Текст рядом с портретом квестодателя (если используется).

Пример: NULL

PortraitGiverName

Имя рядом с портретом квестодателя (если используется).

Пример: NULL

PortraitTurnInText

Текст рядом с портретом сдачи (если используется).

Пример: NULL

PortraitTurnInName

Имя рядом с портретом сдачи (если используется).

Пример: NULL

QuestCompletionLog

Текст цели, который показывается после выполнения всех прочих целей (обычно “Return to …”).

Пример: "Return to the quest giver."

ResetByScheduler

Флаг сброса/обновления квеста планировщиком (0/1), если поддерживается.

Value Описание
0 Нет
1 Да

Пример: 0

VerifiedBuild

Номер билда клиента, из которого получены/проверены данные.

  • 0 — не верифицировано.

Пример: 0