spell_custom_attr表是AzerothCore中用于存储法术自定义属性的表格。它允许服务器管理员为特定法术添加额外的属性标志,这些属性不在原始DBC文件中定义,但对于服务器的特定需求和功能实现非常重要。
字段名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
spell_id | INT UNSIGNED | 0 | 法术ID |
attributes | INT UNSIGNED | 0 | 自定义属性掩码 |
要设置自定义属性的法术ID,对应Spell.dbc或spell_template表中的法术ID。
使用位掩码表示的自定义属性集合。每个位代表一个特定的属性或行为。
位值 | 属性名称 | 说明 |
---|---|---|
0x00000001 | SPELL_ATTR0_CU_ENCHANT_PROC | 附魔触发 |
0x00000002 | SPELL_ATTR0_CU_CONE_BACK | 背后锥形范围 |
0x00000004 | SPELL_ATTR0_CU_CONE_LINE | 直线锥形范围 |
0x00000008 | SPELL_ATTR0_CU_SHARE_DAMAGE | 分担伤害 |
0x00000010 | SPELL_ATTR0_CU_NO_INITIAL_THREAT | 无初始仇恨 |
0x00000020 | SPELL_ATTR0_CU_AURA_CC | 光环控制效果 |
0x00000040 | SPELL_ATTR0_CU_DIRECT_DAMAGE | 直接伤害 |
0x00000080 | SPELL_ATTR0_CU_CHARGE | 冲锋技能 |
0x00000100 | SPELL_ATTR0_CU_PICKPOCKET | 偷窃技能 |
0x00000200 | SPELL_ATTR0_CU_NEGATIVE_EFF0 | 负面效果0 |
0x00000400 | SPELL_ATTR0_CU_NEGATIVE_EFF1 | 负面效果1 |
0x00000800 | SPELL_ATTR0_CU_NEGATIVE_EFF2 | 负面效果2 |
0x00001000 | SPELL_ATTR0_CU_IGNORE_ARMOR | 忽略护甲 |
0x00002000 | SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER | 需要目标面向施法者 |
0x00004000 | SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET | 需要施法者在目标背后 |
0x00008000 | SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET | 允许飞行中目标 |
0x00010000 | SPELL_ATTR0_CU_NEEDS_AMMO_DATA | 需要弹药数据 |
0x00020000 | SPELL_ATTR0_CU_BINARY_SPELL | 二元法术 |
0x00040000 | SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC | 物理+魔法学派 |
0x00080000 | SPELL_ATTR0_CU_LIQUID_AURA | 液体光环 |
0x00100000 | SPELL_ATTR0_CU_WATER_SPELL | 水中法术 |
0x00200000 | SPELL_ATTR0_CU_IS_TALENT | 是天赋 |
0x00400000 | SPELL_ATTR0_CU_DONT_DISPLAY_RANGE | 不显示距离 |
0x00800000 | SPELL_ATTR0_CU_NOT_ON_AOE_IMMUNE | AOE免疫时不生效 |
0x01000000 | SPELL_ATTR0_CU_CAN_STACK_FROM_DIFF_CASTERS | 不同施法者可叠加 |
0x02000000 | SPELL_ATTR0_CU_NORMALIZE_WEAPON_DAMAGE | 标准化武器伤害 |
0x04000000 | SPELL_ATTR0_CU_IGNORE_RESISTANCES | 忽略抗性 |
0x08000000 | SPELL_ATTR0_CU_CANT_CRIT | 不能暴击 |
0x10000000 | SPELL_ATTR0_CU_TRIGGERED_IGNORE_RESISTANCES | 触发时忽略抗性 |
0x20000000 | SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED | 光环不能保存 |
0x40000000 | SPELL_ATTR0_CU_FAKE_DELAY | 虚假延迟 |
0x80000000 | SPELL_ATTR0_CU_NEVER_STACK | 永不叠加 |
场景:将火球术设置为直接伤害,不受抗性影响
说明:火球术(ID:133)被标记为直接伤害法术
场景:设置法术忽略护甲且不能暴击
说明:组合了忽略护甲(0x00001000)和不能暴击(0x08000000)属性
场景:设置盗贼背刺需要在目标背后
说明:背刺(ID:53)需要施法者在目标背后才能使用
属性 | 用途 | 典型应用 |
---|---|---|
CONE_BACK | 背后锥形范围 | 背后范围攻击技能 |
CONE_LINE | 直线锥形范围 | 直线范围法术 |
REQ_TARGET_FACING_CASTER | 目标需面向施法者 | 恐惧、魅惑类法术 |
REQ_CASTER_BEHIND_TARGET | 施法者需在目标背后 | 背刺、偷袭技能 |
属性 | 用途 | 典型应用 |
---|---|---|
DIRECT_DAMAGE | 直接伤害 | 即时伤害法术 |
IGNORE_ARMOR | 忽略护甲 | 魔法伤害法术 |
IGNORE_RESISTANCES | 忽略抗性 | 特殊伤害法术 |
CANT_CRIT | 不能暴击 | 治疗法术、DOT效果 |
BINARY_SPELL | 二元法术 | 命中或未命中的法术 |
NORMALIZE_WEAPON_DAMAGE | 标准化武器伤害 | 技能攻击 |
属性 | 用途 | 典型应用 |
---|---|---|
AURA_CC | 光环控制效果 | 控制类光环 |
LIQUID_AURA | 液体光环 | 水下呼吸等效果 |
CAN_STACK_FROM_DIFF_CASTERS | 不同施法者可叠加 | 增益法术 |
NEVER_STACK | 永不叠加 | 独特效果 |
AURA_CANNOT_BE_SAVED | 光环不能保存 | 临时效果 |
属性 | 用途 | 典型应用 |
---|---|---|
ENCHANT_PROC | 附魔触发 | 武器附魔效果 |
CHARGE | 冲锋技能 | 战士冲锋 |
PICKPOCKET | 偷窃技能 | 盗贼偷窃 |
SHARE_DAMAGE | 分担伤害 | 伤害分担效果 |
NO_INITIAL_THREAT | 无初始仇恨 | 治疗法术 |
WATER_SPELL | 水中法术 | 水下专用法术 |
要组合多个属性,需要将对应的位值相加或使用按位或运算:
组合 | 属性值 | 用途 |
---|---|---|
直接伤害+忽略护甲 | 0x00001040 | 魔法伤害法术 |
不能暴击+忽略抗性 | 0x0C000000 | 治疗法术 |
背后+直接伤害 | 0x00004040 | 背刺技能 |
永不叠加+不能保存 | 0xA0000000 | 临时独特效果 |
修改属性后需要重载数据:
spell_custom_attr表经常与以下表格配合使用: