From wowdev
Jump to navigation Jump to search

≥ Wrath

3.3.5a 12340

Column Field Type Notes Extra info
0 eventID Integer Holiday event ID
1 eventStageDuration Integer[10] Stage1 event length in hours. (for stage, either as preparation, main event, ... or cooldown. See eventSchedulerType for more info)
11 eventDate Integer[26] Packed blizzdate (integers with bits (LSB->MSB) 6: minutes, 5: hours, 3: day of week, 6: day of month, 4: month, 5: year, 2: time zone, last bit unused) - Epochdate=01.01.2000-00:00
37 Region integer bitmask, connected to Cfg_Regions::m_region_group_mask field
38 Looping integer ??? (needs more research - used only on Call To Arms events -click)
 283 - Call to Arms: Alterac Valley
 284 - Call to Arms: Warsong Gulch
 285 - Call to Arms: Arathi Basin
 353 - Call to Arms: Eye of the Storm
 400 - Call to Arms: Strand of the Ancient
 420 - Call to Arms: Isle of Conquest
39 calendarFlags integer[10] ??? (needs more research -click)
49 eventCalendarName iRefID Ref to Loc in HolidayNames.dbc
50 eventCalendarDescription iRefID Ref to Loc in HolidayDescriptions.dbc
51 eventCalendarOverlay String Overlay texture used for ingame calendar event-decorations
52 priority Integer ??? (needs more research -click)
53 eventSchedulerType Integer Definition of which timer is used, see eventSchedulerType below
 -1: repeat, yearly
  0: repeat, weekly
  1: repeat, use defined dates
  2: repeat, hourly
54 eventFlags Integer ??? (needs more research -click)
 eventSchedulerType defines what kind of timer is used for when the event is to stop, start etc. - and if it uses different stages during it's "buildup"-phase (2 stages available)
   -1: event repeats every year based on column11, column12 etc dates - length and possible event stages is taken from the information given in column1 and column2
       (adjusted in DBC to keep it in line with **yearly** changes) - if column12=0, use DATE only from field11
    0: event repeats every 7 days, with a duration of <eventStage1Duration> hours (hardcoded startdate serverside depending on eventID)
    1: event repeats based on column11, column12 etc values (see -1) - if <eventStage2Duration> exists, use <eventStage1Duration> as event prestage length
    2: event repeats every X hours (with <eventStage2Duration> being the eventPause/eventWait timer)

struct HolidaysRec {
  uint32_t m_ID;
  uint32_t m_duration[10];
  uint32_t m_date[26];
  uint32_t m_region;
  uint32_t m_looping;
  uint32_t m_calendarFlags[10]; // &1: Alliance, &2: Horde
  uint32_t m_holidayNameID;
  uint32_t m_holidayDescriptionID;
  stringref m_textureFilename;
  uint32_t m_priority;
  uint32_t m_calendarFilterType;
  uint32_t m_flags;  // &1: IsRegionwide, &2: DontShowInCalendar, &4: DontDisplayEnd, &8: DontDisplayBanner