📋 字段结构

索引字段名类型说明
0IDuint32条件唯一标识符
1-5Lt_OperandType[1-5]uint32左操作数类型
6-10Lt_Operand[1-5]uint32左操作数值
11-15Operator[1-5]uint32比较运算符
16-20Rt_OperandType[1-5]uint32右操作数类型
21-25Rt_Operand[1-5]uint32右操作数值
26-30Logic[1-5]uint32逻辑连接符(AND/OR)

📌 关键字段详解

ID - 条件索引

被 SpellItemEnchantment.dbc 的 ConditionID 字段引用。当 ID=0 表示无条件,附魔始终有效。

Lt_OperandType / Rt_OperandType - 操作数类型

定义比较值的来源类型:1=物品等级(Item Level)、2=装备槽位、3=装备类型、4=常量值、5=角色等级。

Operator - 比较运算符

1=等于、2=不等于、3=小于、4=小于等于、5=大于、6=大于等于。

Logic - 逻辑连接

定义多个条件组合方式。0=NONE(单条件)、1=AND(所有条件必须满足)、2=OR(满足任一条件即可)。

💡 实际应用场景

场景条件配置说明
物品等级限制Lt_Type=1, Op=5, Rt_Type=4, Rt_Val=200物品等级>200时附魔生效
套装效果Lt_Type=2, Op=1, Rt_Type=4, Rt_Val=1仅头盔位置生效
角色等级Lt_Type=5, Op=5, Rt_Type=4, Rt_Val=60仅60级以上角色

🔧 使用示例

查询附魔条件

-- 查询某附魔(ID=1234)的条件配置
SELECT e.ID AS EnchantID, e.Name_enUS, c.*
FROM spell_item_enchantment e
LEFT JOIN spell_item_enchantment_condition c ON e.ConditionID = c.ID
WHERE e.ID = 1234;

创建条件限制

-- 创建条件:物品等级>=200 且 角色等级>=60
INSERT INTO spell_item_enchantment_condition (ID, Lt_OperandType_1, Lt_Operand_1, Operator_1, Rt_OperandType_1, Rt_Operand_1, Logic_1,
    Lt_OperandType_2, Lt_Operand_2, Operator_2, Rt_OperandType_2, Rt_Operand_2, Logic_2)
VALUES (100, 1, 0, 5, 4, 200, 1, 5, 0, 5, 4, 60, 0);

💡 使用技巧