spell_cooldown_overrides表是AzerothCore中用于覆盖法术默认冷却时间的重要表格。它允许服务器管理员自定义特定法术的冷却时间和冷却类别,而不需要修改DBC文件,为服务器平衡和定制提供了灵活的解决方案。
字段名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
Id | INT UNSIGNED | 0 | 法术ID |
详细说明:要覆盖冷却时间的法术ID,对应Spell.dbc或spell_template表中的法术。
应用范围:
|
|||
RecoveryTime | INT UNSIGNED | 0 | 恢复时间(毫秒) |
详细说明:法术的冷却时间,以毫秒为单位。0表示无冷却时间。
时间换算:
常见设置:
|
|||
CategoryRecoveryTime | INT UNSIGNED | 0 | 类别恢复时间(毫秒) |
详细说明:法术类别的冷却时间,影响同类别的其他法术。
类别冷却机制:
典型应用:
|
-- 查看所有法术冷却覆盖设置
SELECT Id, RecoveryTime, CategoryRecoveryTime,
RecoveryTime/1000 as RecoverySeconds,
CategoryRecoveryTime/1000 as CategorySeconds
FROM spell_cooldown_overrides
ORDER BY RecoveryTime DESC;
-- 设置炉石冷却时间为10分钟
INSERT INTO spell_cooldown_overrides (Id, RecoveryTime, CategoryRecoveryTime)
VALUES (8690, 600000, 0);
-- 设置闪现术冷却时间为5秒
INSERT INTO spell_cooldown_overrides (Id, RecoveryTime, CategoryRecoveryTime)
VALUES (1953, 5000, 1500);
-- 设置所有治疗药水的冷却时间为30秒
INSERT INTO spell_cooldown_overrides (Id, RecoveryTime, CategoryRecoveryTime)
VALUES
(2024, 30000, 30000), -- 次级治疗药水
(2025, 30000, 30000), -- 治疗药水
(2026, 30000, 30000), -- 强效治疗药水
(2027, 30000, 30000); -- 超级治疗药水
-- 将现有法术的冷却时间减半
UPDATE spell_cooldown_overrides
SET RecoveryTime = RecoveryTime / 2
WHERE Id = 1953;
-- 移除法术的冷却时间
UPDATE spell_cooldown_overrides
SET RecoveryTime = 0, CategoryRecoveryTime = 0
WHERE Id = 8690;