Holidays.dbc
节日日程定义文件,控制游戏内节日的日期安排和循环规则
文件概述
Holidays.dbc 定义了游戏中所有节日的日程安排。每个条目包含节日的日期周期、持续时间、循环规则等。与 HolidayNames.dbc 配合,前者提供名称,后者提供日程。数据库中的 game_event 表通过 holiday 字段引用此文件。
列结构
| 列号 | 字段名 | 类型 | 描述 |
|---|---|---|---|
| 1 | ID | 整数 | 节日唯一ID |
| 2 | Duration[1-10] | 整数 | 10个时段定义 |
| 3 | Name | 字符串 | 节日名称(对应HolidayNames) |
| 4 | Region | 整数 | 区域标志(0=全部) |
| 5 | Looping | 整数 | 循环类型 |
| 6 | Flags[1-10] | 整数 | 10个时段标志 |
| 7 | TextureFilename | 字符串 | 日历图标纹理 |
重要字段详解
Duration / Flags 时段数组
每个节日可以有最多10个时段。每个时段由两个值定义:
- Duration[N]:该时段的开始日期(枚举值,如"在1月1日")
- Flags[N]:该时段的持续时间标志
对于只有单一时段的节日(如万圣节只在10月),只使用 Duration[1] 和 Flags[1]。
Looping(循环类型)
控制节日的重复规则:
- 0:年度循环(大多数节日,如春节每年一次)
- 1:每月循环(如暗月马戏团每月出现)
- 2:每周循环(如荆棘谷钓鱼大赛)
使用技巧
查询所有年度循环的节日:
SELECT ID, Name FROM Holidays WHERE Looping = 0;