Tabla: quest_template
Contiene todas las definiciones básicas de las misiones disponibles.
| Field | Type | Attribute | Key | Null | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| ID | MEDIUMINT | UNSIGNED | PRI | NO | 0 | ||
| QuestType | TINYINT | UNSIGNED | NO | 2 | |||
| QuestLevel | SMALLINT | NO | 1 | ||||
| MinLevel | TINYINT | UNSIGNED | NO | 0 | |||
| QuestSortID | SMALLINT | NO | 0 | ||||
| QuestInfoID | SMALLINT | UNSIGNED | NO | 0 | |||
| SuggestedGroupNum | TINYINT | UNSIGNED | NO | 0 | |||
| RequiredFactionId1 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredFactionId2 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredFactionValue1 | MEDIUMINT | NO | 0 | ||||
| RequiredFactionValue2 | MEDIUMINT | NO | 0 | ||||
| RewardNextQuest | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardXPDifficulty | TINYINT | UNSIGNED | NO | 0 | |||
| RewardMoney | INT | NO | 0 | ||||
| RewardMoneyDifficulty | INT | UNSIGNED | NO | 0 | |||
| RewardDisplaySpell | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardSpell | INT | NO | 0 | ||||
| RewardHonor | INT | NO | 0 | ||||
| RewardKillHonor | FLOAT | NO | 0 | ||||
| StartItem | MEDIUMINT | UNSIGNED | NO | 0 | |||
| Flags | INT | UNSIGNED | NO | 0 | |||
| RequiredPlayerKills | TINYINT | UNSIGNED | NO | 0 | |||
| RewardItem1 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardAmount1 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardItem2 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardAmount2 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardItem3 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardAmount3 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardItem4 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardAmount4 | SMALLINT | UNSIGNED | NO | 0 | |||
| ItemDrop1 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| ItemDropQuantity1 | SMALLINT | UNSIGNED | NO | 0 | |||
| ItemDrop2 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| ItemDropQuantity2 | SMALLINT | UNSIGNED | NO | 0 | |||
| ItemDrop3 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| ItemDropQuantity3 | SMALLINT | UNSIGNED | NO | 0 | |||
| ItemDrop4 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| ItemDropQuantity4 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemID1 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemQuantity1 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemID2 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemQuantity2 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemID3 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemQuantity3 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemID4 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemQuantity4 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemID5 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemQuantity5 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemID6 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardChoiceItemQuantity6 | SMALLINT | UNSIGNED | NO | 0 | |||
| POIContinent | SMALLINT | UNSIGNED | NO | 0 | |||
| POIx | FLOAT | NO | 0 | ||||
| POIy | FLOAT | NO | 0 | ||||
| POIPriority | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardTitle | TINYINT | UNSIGNED | NO | 0 | |||
| RewardTalents | TINYINT | UNSIGNED | NO | 0 | |||
| RewardArenaPoints | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardFactionID1 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardFactionValue1 | MEDIUMINT | NO | 0 | ||||
| RewardFactionOverride1 | MEDIUMINT | NO | 0 | ||||
| RewardFactionID2 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardFactionValue2 | MEDIUMINT | NO | 0 | ||||
| RewardFactionOverride2 | MEDIUMINT | NO | 0 | ||||
| RewardFactionID3 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardFactionValue3 | MEDIUMINT | NO | 0 | ||||
| RewardFactionOverride3 | MEDIUMINT | NO | 0 | ||||
| RewardFactionID4 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardFactionValue4 | MEDIUMINT | NO | 0 | ||||
| RewardFactionOverride4 | MEDIUMINT | NO | 0 | ||||
| RewardFactionID5 | SMALLINT | UNSIGNED | NO | 0 | |||
| RewardFactionValue5 | MEDIUMINT | NO | 0 | ||||
| RewardFactionOverride5 | MEDIUMINT | NO | 0 | ||||
| TimeAllowed | INT | UNSIGNED | NO | 0 | |||
| AllowableRaces | SMALLINT | UNSIGNED | NO | 0 | |||
| LogTitle | TEXT | YES | |||||
| LogDescription | TEXT | YES | |||||
| QuestDescription | TEXT | YES | |||||
| AreaDescription | TEXT | YES | |||||
| QuestCompletionLog | TEXT | YES | |||||
| RequiredNpcOrGo1 | MEDIUMINT | NO | 0 | ||||
| RequiredNpcOrGo2 | MEDIUMINT | NO | 0 | ||||
| RequiredNpcOrGo3 | MEDIUMINT | NO | 0 | ||||
| RequiredNpcOrGo4 | MEDIUMINT | NO | 0 | ||||
| RequiredNpcOrGoCount1 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredNpcOrGoCount2 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredNpcOrGoCount3 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredNpcOrGoCount4 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredItemId1 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RequiredItemId2 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RequiredItemId3 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RequiredItemId4 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RequiredItemId5 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RequiredItemId6 | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RequiredItemCount1 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredItemCount2 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredItemCount3 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredItemCount4 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredItemCount5 | SMALLINT | UNSIGNED | NO | 0 | |||
| RequiredItemCount6 | SMALLINT | UNSIGNED | NO | 0 | |||
| Unknown0 | TINYINT | UNSIGNED | NO | 0 | |||
| ObjectiveText1 | TEXT | YES | |||||
| ObjectiveText2 | TEXT | YES | |||||
| ObjectiveText3 | TEXT | YES | |||||
| ObjectiveText4 | TEXT | YES | |||||
| VerifiedBuild | SMALLINT | YES | 0 |
Descripción de los campos
El ID de la misión. Esta columna es la clave primaria de la tabla. ¡Cada ID de misión debe ser único!
Valores aceptados: 0, 1 o 2. Su significado se describe en la tabla siguiente.
| Value | Result |
|---|---|
| 0 | La misión está habilitada, pero se completa automáticamente al aceptarse; esto omite los objetivos y los detalles de la misión. |
| 1 | La misión está deshabilitada (aún no implementado en el core). |
| 2 | La misión está habilitada (no se completa automáticamente). |
Nivel de la misión. El jugador recibe la cantidad completa de experiencia solo si su nivel es menor o igual a Level+5. Si Level se establece a -1, se usará el nivel del jugador como (Quest)Level para el cálculo de experiencia.
Nivel mínimo al que un jugador puede obtener la misión.
Este campo define bajo qué categoría cae la misión en el registro de misiones.
Si valor > 0 entonces el valor son IDs de zona tomados de AreaTable.dbc.
si valor < 0 entonces (-valor) es el id de orden de misión (quest sort id): (en general misiones de profesión o de clase. Ver también RequiredSkillPoints ). El valor es el ID de QuestSort.dbc
Estos valores son IDs tomados de QuestInfo.dbc
| Value | Result |
|---|---|
| 0 | None |
| 1 | Group |
| 21 | Life |
| 41 | PvP |
| 62 | Raid |
| 81 | Dungeon |
| 82 | Event |
| 83 | Legendary |
| 84 | Escort |
| 85 | Heroic |
| 88 | Raid (10) |
| 89 | Raid (25) |
Número recomendado de jugadores para hacer la misión juntos.
Id de facción (de Faction.dbc) para la que la misión da puntos de reputación. Número de puntos de reputación ganados o perdidos para la facción al completar la misión. Esta es la recompensa de reputación especial. La recompensa de reputación normal para la facción de la criatura que recompensa la misión se calcula y añade automáticamente.
Id de facción (de Faction.dbc) para la que la misión da puntos de reputación. Número de puntos de reputación ganados o perdidos para la facción al completar la misión. Esta es la recompensa de reputación especial. La recompensa de reputación normal para la facción de la criatura que recompensa la misión se calcula y añade automáticamente.
Este campo se usa para la búsqueda de reputación en QuestFactionReward.dbc si quest_template#RewardFactionValueId es 0. El valor X en este campo indica la columna RepX de QuestFactionReward.dbc. Si RewardRepValueId es positivo, se usará la reputación de la primera fila de QuestFactionReward.dbc; para valores negativos se usa la segunda fila.
Este campo se usa para la búsqueda de reputación en QuestFactionReward.dbc si quest_template#RewardFactionValueId es 0. El valor X en este campo indica la columna RepX de QuestFactionReward.dbc. Si RewardRepValueId es positivo, se usará la reputación de la primera fila de QuestFactionReward.dbc; para valores negativos se usa la segunda fila.
** RewardNextQuest (nombre antiguo del campo: NextQuestIdChain)**
El entry de misión de una criatura o gameobject que finaliza una misión e inicia una nueva. El resultado es que, si finalizas la misión, la nueva misión aparece al instante desde el que da la misión.
Ver la sección de ejemplos para ejemplos.
Según el Level, la experiencia básica con índice RewardXPDifficulty se toma de QuestXP.dbc.
Este campo también controla la XP otorgada, ya que la XP se calcula a partir del valor de este campo mediante la siguiente fórmula. Si la misión es repetible, la XP se dará solo una vez. La XP total que recibirá un personaje también se ve afectada por la diferencia de nivel entre el nivel del personaje y el nivel de la misión.
La fórmula para calcular la XP a partir del valor de este campo:
Dinero ganado al completar la misión (si el valor > 0) o requisito de dinero para completar la misión (si el valor < 0).
El ID hace referencia a uno de los factores de dinero incluidos en MoneyFactor ordenados por nivel.
Hechizo que se muestra como lanzado al completar la misión en el registro de misiones. Ten en cuenta que este hechizo NO se lanzará si RewardSpell es distinto de cero. En su lugar se lanzará el hechizo del otro campo, en cuyo caso el hechizo de aquí solo sirve de visual en el registro de misiones.
Hechizo que se muestra como lanzado al completar la misión en el registro de misiones. Ten en cuenta que este hechizo NO se lanzará si RewardSpell es distinto de cero. En su lugar se lanzará el hechizo del otro campo, en cuyo caso el hechizo de aquí solo sirve de visual en el registro de misiones.
NOTA: Este campo viene directamente del WDB y no debe cambiarse.
Número de honor de muerte honorable recompensado por completar esta misión.
Ejemplo: un valor de ejemplo es 15 para la misión 8388: a nivel 80 una muerte honorable vale 124 de honor. Multiplica esto por 15 y obtienes 1860; tras la multiplicación el valor se redondea hacia arriba. Así que el honor recompensado a nivel 80 es 1860 para esta misión.
Objetos entregados por el que da la misión al comienzo de la misión. Los objetos se eliminarán cuando se abandone la misión.
Este campo de flag define más específicamente el tipo de misión que es. Aparte del flag diario (daily) y el flag compartible (sharable), este campo se usa solo con fines de agrupación y NO para ningún otro requisito de misión. Los requisitos de la misión se calculan a partir de valores distintos de cero en otros campos de la plantilla de misión. Además, aunque algunos de estos flags son conocidos, otros tienen todavía un propósito desconocido y los comentarios de abajo son simplemente conjeturas sobre ellos.
| Flag | Name | Comments |
|---|---|---|
| 0 | QUEST_FLAGS_NONE | Sin flags, así que no hay grupos asignados a esta misión. |
| 1 | QUEST_FLAGS_STAY_ALIVE | Si el jugador muere, la misión falla. |
| 2 | QUEST_FLAGS_PARTY_ACCEPT | Misiones de escolta o cualquier otra misión dirigida por eventos. Si el jugador está en grupo, todos los jugadores que puedan aceptar esta misión recibirán un cuadro de confirmación para aceptarla. |
| 4 | QUEST_FLAGS_EXPLORATION | Implica la activación de un areatrigger. |
| 8 | QUEST_FLAGS_SHARABLE | Permite compartir la misión con otros jugadores. |
| 16 | QUEST_FLAGS_HAS_CONDITION | No se usa actualmente |
| 32 | QUEST_FLAGS_HIDE_REWARD_POI | No se usa actualmente: contenido incierto |
| 64 | QUEST_FLAGS_RAID | Se puede completar estando en banda (raid) |
| 128 | QUEST_FLAGS_TBC | No se usa actualmente: disponible solo si la expansión TBC está habilitada |
| 256 | QUEST_FLAGS_NO_MONEY_FROM_XP | No se usa actualmente: la experiencia no se convierte en oro al nivel máximo |
| 512 | QUEST_FLAGS_HIDDEN_REWARDS | Las recompensas de objetos y monetarias están ocultas en la página inicial de detalles de la misión y en el registro de misiones, pero aparecerán una vez listas para recompensarse. |
| 1024 | QUEST_FLAGS_TRACKING | Estas misiones se recompensan automáticamente al completarse y nunca aparecerán en el registro de misiones del lado del cliente. |
| 2048 | QUEST_FLAGS_DEPRECATE_REPUTATION | No se usa actualmente |
| 4096 | QUEST_FLAGS_DAILY | Misiones diarias repetibles (el único flag para el que el core aplica un comportamiento específico) |
| 8192 | QUEST_FLAGS_FLAGS_PVP | Tener esta misión en el registro fuerza el flag de PvP |
| 16384 | QUEST_FLAGS_UNAVAILABLE | Usado en misiones que no están disponibles de forma genérica |
| 32768 | QUEST_FLAGS_WEEKLY | Misiones semanales repetibles (el único flag para el que el core aplica un comportamiento específico) |
| 65536 | QUEST_FLAGS_AUTOCOMPLETE | Autocompletado |
| 131072 | QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER | Muestra un objeto usable en el rastreador de misiones |
| 262144 | QUEST_FLAGS_OBJ_TEXT | Usa el texto de objetivo como texto de completado |
| 524288 | QUEST_FLAGS_AUTO_ACCEPT | El cliente reconoce este flag como aceptación automática. Sin embargo, NINGUNA de las misiones actuales (3.3.5a) tiene este flag. Quizá blizz lo usaba, o lo usará en el futuro. |
| 1048576 | QUEST_FLAGS_PLAYER_CAST_ON_ACCEPT | En las misiones con este flag el jugador envía automáticamente mediante un botón especial en la GUI del jugador |
| 2097152 | QUEST_FLAGS_PLAYER_CAST_ON_COMPLETE | Sugerencia automática de aceptar la misión. No desde un npc. |
| 4194304 | QUEST_FLAGS_UPDATE_PHASE_SHIFT | |
| 8388608 | QUEST_FLAGS_SOR_WHITELIST | |
| 16777216 | QUEST_FLAGS_LAUNCH_GOSSIP_COMPLETE | |
| 54432 | QUEST_FLAGS_REMOVE_EXTRA_GET_ITEMS | |
| 67108864 | QUEST_FLAGS_HIDE_UNTIL_DISCOVERED | |
| 134217728 | QUEST_FLAGS_PORTRAIT_IN_QUEST_LOG | |
| 268435456 | QUEST_FLAGS_SHOW_ITEM_WHEN_COMPLETED | |
| 536870912 | QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT | |
| 1073741824 | QUEST_FLAGS_ITEMS_GLOW_WHEN_DONE | |
| 2147483648 | QUEST_FLAGS_FAIL_ON_LOGOUT |
Como todos los campos basados en flags, QuestFlags pueden sumarse para los distintos tipos de misión.
Ten en cuenta que algunos flags pueden no estar soportados por el core.
Muestra a cuántos jugadores necesitas matar betd class=td class=a class=/td data-linked-resource-default-alias=fore completar la misión.
item Id 1 entregado como recompensa (sin elección).
Cantidad a obtener del objeto mencionado arriba
item Id 2 entregado como recompensa (sin elección).
Cantidad a obtener del objeto mencionado arriba
item Id 3 entregado como recompensa (sin elección).
Cantidad a obtener del objeto mencionado arriba
item Id 4 entregado como recompensa (sin elección).
Cantidad a obtener del objeto mencionado arriba
MapId de un punto de interés de misión (POI - Point Of Interest). El POI se mostrará en el mapa cuando la misión esté activa.
Coordenada X del POI de la misión.
Coordenada Y del POI de la misión.
TODO
El número máximo de copias del objeto en ItemDrop que pueden recogerse (y soltarse por el core).
Título de la misión.
Objetivos de la misión. Si está vacío, la misión es de autocompletado y puede finalizarse inmediatamente sin aceptarla primero.
El texto de la misión. Puedes usar ciertos placeholders que se rellenarán en el juego: $B - salto de línea, $N - nombre, $R - raza, $C - clase, $Gmasculino:femenino; (masculino y femenino pueden reemplazarse por cualquier sinónimo que quieras, pero el orden debe mantenerse. P. ej.: chico:chica / hombre:mujer / señor:señora / tío:tía)
Texto enviado al jugador cuando el jugador intenta hablar con el NPC con la misión activa pero incompleta. (El texto bajo el título "Progreso" en Wowhead.) Puedes usar ciertos placeholders que se rellenarán en el juego: $B - salto de línea, $N - nombre, $R - raza, $C - clase, $Gmasculino:femenino; (masculino y femenino pueden reemplazarse por cualquier sinónimo que quieras, pero el orden debe mantenerse. P. ej.: chico:chica / hombre:mujer / señor:señora / tío:tía)
NOTA: Si RequiredSpellCast es != 0 y el hechizo tiene efectos Send Event o Quest Complete, este campo puede dejarse vacío.
El número de veces que la criatura o gameobject debe ser matado o lanzado sobre él.
Id del objeto requerido para completar la misión.
Cantidad de objetos requeridos
Se usa para definir textos de objetivo no estándar que aparecen en el registro de misiones. Ejemplo, "Curar al guerrero caído" y el número lo añaden los valores de Count.