DB/Holidays: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}
==3.3.5a 12340==
==3.3.5a 12340==
{| style="background:#f3f3f3; color:black; border: 1px dashed;"
{| style="background:#f3f3f3; color:black; border: 1px dashed;"
|-  
|-  
! width="70" | Column  
! width="50" | Column  
! width="200" | Field  
! width="150" | Field  
! width="70" | Type  
! width="100" | Type  
! width="700" | Notes
! width="800" | Notes
! width="500" | Extra info
|-  
|-  
|0  || eventID  || Integer || Reference to the Holiday eventID
|0  || eventID  || Integer || Holiday event ID
|-  
|-  
|1  || eventStage1Duration || Integer || stage1 event length (either preparation or main event, see eventSchedulerType for more info)
|1  || eventStageDuration || Integer[10] || Stage1 event length in hours. (for stage, either as preparation, main event, ... or cooldown. See eventSchedulerType for more info)
|-
|-
||| eventStage2Duration || Integer || stage2 event length (starts stage2 directly after stage1 is completed, 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
|-
|-
|11 || eventDate || Integer || packed blizzdate (NOTE: Epoch date is 01.01.2000 00:00, and only the day/month is used if column12-> is 0)
|37 || Region || integer || bitmask, connected to Cfg_Regions::m_region_group_mask field ||
|-
|-
|37 || Region || integer || (??? schlumpf added this - needs more research -click)
|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
|-
|-
|38 || Looping || integer || (??? schlumpf added this - needs more research - only valid for Call To Arms events... -click)
|39 || calendarFlags || integer[10] || ??? (needs more research -click) ||
|-
|-
|39 || calendarFlags || integer || (??? schlumpf added this - needs more research --click)
|49 || eventCalendarName || [[HolidayNames.dbc|iRefID]] || Ref to [[Loc]] in HolidayNames.dbc ||
|-
|-
|40 || eventName || [[HolidayNames.dbc|iRefID]] || Ref to [[Loc]] in HolidayNames.dbc (??? schlumpf added this, needs more research -click)
|50 || eventCalendarDescription || [[HolidayDescriptions.dbc|iRefID]] || Ref to [[Loc]] in HolidayDescriptions.dbc ||
|-
|-
|41 || eventDescription|| [[HolidayDescriptions.dbc|iRefID]] || Ref to [[Loc]] in HolidayDescriptions.dbc (??? schlumpf added this, needs more research -click)
|51 || eventCalendarOverlay || String || Overlay texture used for ingame calendar event-decorations ||
|-
|-
|49 || eventCalendarName || [[HolidayNames.dbc|iRefID]] || Ref to [[Loc]] in HolidayNames.dbc
|52 || priority || Integer || ??? (needs more research -click) ||
|-
|-
|50 || eventCalendarDescription || [[HolidayDescriptions.dbc|iRefID]] || Ref to [[Loc]] in HolidayDescriptions.dbc
|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
|-
|-
|51 || eventCalendarOverlay || String || Overlay texture used for ingame calendar event-decorations
|54 || eventFlags || Integer || ??? (needs more research -click) ||
|-
|52 || priority || Integer || (??? schlumpf added this, needs more research -click)
|-
|53 || eventSchedulerType|| Integer || -1: yearly, 0:weekly, 1:???, 2:repeated
|-
|54 || eventFlags || Integer || (??? schlumpf added this, 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)
==6.0.1.18179==
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];
  uint32_t m_holidayNameID;
  uint32_t m_holidayDescriptionID;
  {{Template:Type|stringref}} m_textureFilename;
  uint32_t m_priority;
  uint32_t m_calendarFilterType;
  uint32_t m_flags;  // &1: use region time
};
[[Category:DBC]][[Category:DBC_WotLK]]
[[Category:DBC]][[Category:DBC_WotLK]]
'''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)
[[Category:DBC_WoD]][[Category:6.0.1.18179]]
  -1: event repeats every year based on column11, column12 etc dates - length and possible event stages is calculated by the information from 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 <eventTimer1> hours (hardcoded startdate serverside depending on eventID)
  1: event repeats based on column11, column12 etc values (see -1) - if eventTimer2 exists do eventTimer1 as event prestage, start eventTimer2 at once as it's timed out
  2: event repeats every X hours (with eventTimer2 being the eventPause/eventWait timer)

Revision as of 18:45, 25 May 2019

≥ 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)

6.0.1.18179

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];
  uint32_t m_holidayNameID;
  uint32_t m_holidayDescriptionID;
  stringref m_textureFilename;
  uint32_t m_priority;
  uint32_t m_calendarFilterType;
  uint32_t m_flags;  // &1: use region time
};