spell_cooldown_overrides表

概述

spell_cooldown_overrides表是AzerothCore中用于覆盖法术默认冷却时间的重要表格。它允许服务器管理员自定义特定法术的冷却时间和冷却类别,而不需要修改DBC文件,为服务器平衡和定制提供了灵活的解决方案。

表格作用

表格结构

字段名 数据类型 默认值 说明
Id INT UNSIGNED 0 法术ID
详细说明:要覆盖冷却时间的法术ID,对应Spell.dbc或spell_template表中的法术。
应用范围:
  • 职业技能:战士、法师、盗贼等职业技能
  • 种族技能:各种族的特殊能力
  • 物品技能:装备或消耗品的使用技能
  • NPC技能:怪物或NPC使用的技能
RecoveryTime INT UNSIGNED 0 恢复时间(毫秒)
详细说明:法术的冷却时间,以毫秒为单位。0表示无冷却时间。
时间换算:
  • 1秒 = 1000毫秒
  • 1分钟 = 60000毫秒
  • 5分钟 = 300000毫秒
  • 30分钟 = 1800000毫秒

常见设置:
  • 即时技能:1500-3000毫秒
  • 普通技能:6000-30000毫秒
  • 强力技能:60000-300000毫秒
  • 终极技能:600000-1800000毫秒
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;

平衡设计原则

技能平衡

PVP平衡

PVE平衡

常见应用场景

服务器定制

高倍率服务器:

竞技平衡

PVP服务器:

特殊玩法

趣味模式:

相关表格