Tabla `game_event`
Estructura
Esta tabla contiene las definiciones de todos los eventos de juego que el sistema de eventos (Game Event System) del core activa o desactiva automáticamente.
| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| eventEntry | TINYINT | UNSIGNED | PRI | NO | Unique | Entry del evento de juego | |
| start_time | TIMESTAMP | YES | NULL | Fecha de inicio absoluta; el evento nunca empezará antes de esta | |||
| end_time | TIMESTAMP | YES | NULL | Fecha de fin absoluta; el evento nunca empezará después de esta; si es NULL se fija implícitamente a 2 años en el futuro en cada arranque del servidor | |||
| occurrence | BIGINT | UNSIGNED | NO | Retardo en minutos entre repeticiones del evento | |||
| length | BIGINT | UNSIGNED | NO | Duración en minutos del evento | |||
| holiday | MEDIUMINT | UNSIGNED | NO | Id de festividad del lado del cliente (del dbc) | |||
| holidayStage | TINYINT | UNSIGNED | NO | ||||
| description | VARCHAR(255) | SIGNED | YES | NULL | Descripción del evento mostrada en consola | ||
| world_event | TINYINT | UNSIGNED | NO | 0 si es un evento normal, 1 si es un evento mundial | |||
| announce | TINYINT | UNSIGNED | YES | 2 | 0 no anunciar, 1 anunciar, 2 valor de la configuración |
Descripción de los campos
Entry del evento. Mantenlo tan bajo como sea posible y evita dejar huecos en la lista. Cuanto mayor sea el id máximo, más memoria se usará para almacenar los datos del evento.
Fecha de inicio absoluta del evento. El evento solo empezará a ocurrir si la hora local del servidor es posterior a la fijada aquí.
Fecha de fin absoluta del evento. El evento dejará de ocurrir si la hora local del servidor es posterior a la fijada aquí.
Número de minutos entre 2 repeticiones del evento. (2880 = 2 días, 1440 = 1 día, etc.)
Número de minutos que durará el evento tras el inicio de la repetición. (2880 = 2 días, 1440 = 1 día, etc.) Este valor debe ser menor que el de occurrence o el evento nunca terminará.
Id de festividad del archivo DBC Holidays. Se envía al cliente para actualizar el calendario.
Cadena que contiene el nombre del evento mostrado en consola cada vez que empieza o termina.
Este es un campo booleano que determina si este evento de juego es un evento mundial o no. 0 = evento normal, 1 = evento mundial. Para que el evento mundial funcione necesitas, como mínimo, poblar game_event_condition y game_event_quest_condition.
| Value | Description |
|---|---|
| 0 | No anunciar el evento |
| 1 | Anunciar la descripción del evento al mundo |
| 2 | Usar la configuración event.announce del config |
Algunas festividades ocurren en fechas que varían de un año a otro. Para estas festividades, el servidor calcula automáticamente las fechas correctas al arrancar mediante algoritmos astronómicos y reglas de calendario.
| Holiday ID | Holiday Name | Método de cálculo |
|---|---|---|
| 141 | Feast of Winter Veil | 6 días antes del solsticio de invierno (15-16 dic) |
| 181 | Noblegarden | El día después del Domingo de Pascua |
| 201 | Children's Week | Primer lunes en o después del 25 de abril |
| 283 | Harvest Festival | 2 días antes del equinoccio de otoño |
| 301 | Hallow's End | Fijo el 18 oct |
| 321 | Lunar Festival | El día antes del Año Nuevo Chino (cálculo lunar astronómico) |
| 324 | Midsummer Fire Festival | Fijo el 21 jun |
| 327 | Brewfest | Primer sábado en o después del 15 sep, menos 7 días |
| 335 | Love is in the Air | Primer lunes en o después del 3 feb |
| 341 | Day of the Dead | Fijo el 1 nov |
| 372 | Pilgrim's Bounty | 4.º jueves de noviembre menos 4 días |
| 374 | Darkmoon Faire (Elwynn) | Primer domingo de mar/jun/sep/dic menos 2 días |
| 375 | Darkmoon Faire (Mulgore) | Primer domingo de ene/abr/jul/oct menos 2 días |
| 376 | Darkmoon Faire (Terokkar) | Primer domingo de feb/may/ago/nov menos 2 días |
GameEventMgr::LoadHolidayDates() recorre todas las reglas de festividadesHolidays.dbc para mostrarlas en el calendariostart_time y end_time del game_event correspondiente se actualizan para coincidir con la siguiente repeticiónholiday_dates ha sido eliminada: ahora todas las fechas se calculan dinámicamente