spell_bonus_data表是AzerothCore中定义法术伤害和治疗加成系数的重要表格。它存储了特定法术从法术强度属性中获得额外伤害或治疗效果的计算系数,是法术效果计算的核心数据表。
字段名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
entry | INT UNSIGNED | 0 | 法术ID |
详细说明:法术的唯一标识符,这是主键。对应Spell.dbc中的法术ID。
取值范围:1 - 999999 (根据客户端版本而定) 常见法术:
|
|||
direct_bonus | FLOAT | 0 | 直接伤害/治疗系数 |
详细说明:法术直接伤害或治疗效果从法术强度获得的加成系数。
计算公式:最终伤害/治疗 = 基础值 + (法术强度 × direct_bonus) 系数范围:
典型系数:
|
|||
dot_bonus | FLOAT | 0 | 持续伤害/治疗系数 |
详细说明:法术持续伤害(DoT)或持续治疗(HoT)效果从法术强度获得的加成系数。
计算公式:每跳伤害/治疗 = 基础值 + (法术强度 × dot_bonus ÷ 跳数) DoT/HoT特点:
常见DoT/HoT法术:
|
|||
ap_bonus | FLOAT | 0 | 攻击强度系数 |
详细说明:法术从攻击强度属性获得的加成系数。主要用于物理伤害法术或混合伤害法术。
计算公式:额外伤害 = 攻击强度 × ap_bonus 适用法术:
系数特点:
|
|||
ap_dot_bonus | FLOAT | 0 | 攻击强度持续效果系数 |
详细说明:持续效果法术从攻击强度获得的加成系数。
计算公式:每跳伤害 = 基础值 + (攻击强度 × ap_dot_bonus ÷ 跳数) 应用场景:
|
|||
comments | VARCHAR(255) | NULL | 备注说明 |
详细说明:对该法术加成设置的说明和备注信息。
建议内容:
|
-- 查看火球术的加成系数
SELECT entry, direct_bonus, dot_bonus, ap_bonus, comments
FROM spell_bonus_data
WHERE entry IN (133, 143, 145, 3140, 8400, 8401, 8402, 10148, 10149, 10150, 10151, 25306)
ORDER BY entry;
-- 添加自定义法术的加成系数
INSERT INTO spell_bonus_data (entry, direct_bonus, dot_bonus, ap_bonus, ap_dot_bonus, comments)
VALUES
(999001, 0.8, 0.0, 0.0, 0.0, '自定义火球术 - 高伤害直接法术'),
(999002, 0.2, 0.6, 0.0, 0.0, '自定义腐蚀术 - 持续伤害法术'),
(999003, 0.3, 0.0, 0.4, 0.0, '自定义混合法术 - 法术+物理伤害');
-- 调整火球术的伤害系数
UPDATE spell_bonus_data
SET direct_bonus = 0.85, comments = '火球术 - 调整后的伤害系数'
WHERE entry = 133;
-- 查找所有有持续伤害的法术
SELECT entry, direct_bonus, dot_bonus, comments
FROM spell_bonus_data
WHERE dot_bonus > 0
ORDER BY dot_bonus DESC;
系数 = 施法时间 ÷ 3.5
低等级法术会有系数惩罚,防止低级法术过于强力
DoT/HoT的总系数通常等于相同施法时间直接法术的系数
只有需要自定义加成系数的法术才会出现在这个表中。大多数法术使用默认的系数计算规则。
参考官方数据、施法时间、法术等级、冷却时间等因素。通常需要大量测试来确保平衡性。
是的,法术加成数据的修改需要重启worldserver才能生效。