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