spell_proc表

概述

spell_proc表是AzerothCore中定义法术触发机制的核心表格。它控制着法术在特定条件下自动触发的概率、冷却时间、触发条件等参数,是实现被动技能、装备特效和各种触发效果的基础系统。

表格作用

表格结构

字段名 数据类型 默认值 说明
SpellId INT 0 法术ID
SchoolMask TINYINT 0 学派掩码
SpellFamilyName SMALLINT UNSIGNED 0 法术家族名称
SpellFamilyMask0 INT UNSIGNED 0 法术家族掩码0
SpellFamilyMask1 INT UNSIGNED 0 法术家族掩码1
SpellFamilyMask2 INT UNSIGNED 0 法术家族掩码2
ProcFlags INT UNSIGNED 0 触发标志
SpellTypeMask INT UNSIGNED 0 法术类型掩码
SpellPhaseMask INT UNSIGNED 0 法术阶段掩码
HitMask INT UNSIGNED 0 命中掩码
AttributesMask INT UNSIGNED 0 属性掩码
ProcsPerMinute FLOAT 0 每分钟触发次数
Chance FLOAT 0 触发概率
Cooldown INT UNSIGNED 0 冷却时间(毫秒)
Charges TINYINT UNSIGNED 0 充能次数

字段详解

SpellId - 法术ID

要设置触发机制的法术ID。这个法术通常是被动技能、光环效果或装备特效。

SchoolMask - 学派掩码

限制触发法术的学派类型:

ProcFlags - 触发标志

定义触发的具体条件,常用标志:

Chance vs ProcsPerMinute

两种触发概率机制:

使用示例

查看法术触发设置

SELECT SpellId, Chance, ProcsPerMinute, Cooldown, ProcFlags
FROM spell_proc
WHERE SpellId = 12345;

添加新的触发设置

INSERT INTO spell_proc (SpellId, ProcFlags, Chance, Cooldown)
VALUES (12345, 0x4, 15.0, 45000);

相关表格