📊 表结构

字段名 数据类型 默认值 说明
CreatureID INT UNSIGNED 生物模板ID (主键1)
School TINYINT UNSIGNED 魔法类型 (主键2)
Resistance SMALLINT NULL 抗性值
VerifiedBuild INT NULL 验证版本

🔑 核心字段详解

🆔 CreatureID - 生物模板ID

详细说明:对应creature_template.entry,指定抗性配置的生物模板。 取值范围:对应creature_template.entry
  • 复合主键的一部分
  • 同一生物可有多条抗性记录
  • 每个魔法类型一条记录

🔮 School - 魔法类型

详细说明:魔法类型ID,指定抗性对应的魔法类型。 取值范围:0 - 7
类型说明
0SPELL_SCHOOL_NORMAL物理伤害
1SPELL_SCHOOL_HOLY神圣魔法
2SPELL_SCHOOL_FIRE火焰魔法
3SPELL_SCHOOL_NATURE自然魔法
4SPELL_SCHOOL_FROST冰霜魔法
5SPELL_SCHOOL_SHADOW暗影魔法
6SPELL_SCHOOL_ARCANE奥术魔法
7SPELL_SCHOOL_FROSTFIRE冰火魔法

🛡️ Resistance - 抗性值

详细说明:生物对该魔法类型的抗性值。 取值范围:-32768 - 32767
  • 0 - 无抗性(默认)
  • 正数 - 抗性值,减少伤害
  • 负数 - 易伤值,增加伤害
  • 抗性值越高,减免伤害越多
  • 计算公式:伤害减免 = 抗性值 / (抗性值 + 100)

常见抗性值:

抗性值伤害减免说明
50~33%中等抗性
100~50%高抗性
200~67%极高抗性
300~75%超强抗性

✔️ VerifiedBuild - 验证版本

详细说明:用于确定数据来源和验证状态。
  • 0 - 未解析或继承自旧数据库
  • 正数 - 已用该客户端版本解析
  • -1 - 占位符,等待正确数据
  • -客户端版本 - 已解析但手动编辑

💡 实际案例

火焰抗性 配置火焰抗性

CreatureID=12345, School=2(火焰), Resistance=100

INSERT INTO creature_template_resistance VALUES( 12345, 2, 100, NULL );

多抗性 配置多种抗性

CreatureID=12346, 配置火焰、冰霜、暗影抗性

-- 火焰抗性 INSERT INTO creature_template_resistance VALUES(12346, 2, 150, NULL); -- 冰霜抗性 INSERT INTO creature_template_resistance VALUES(12346, 4, 150, NULL); -- 暗影抗性 INSERT INTO creature_template_resistance VALUES(12346, 5, 200, NULL);

易伤 配置易伤(负抗性)

CreatureID=12347, School=2(火焰), Resistance=-50(易伤)

INSERT INTO creature_template_resistance VALUES( 12347, 2, -50, NULL );

高抗性 配置超高抗性

CreatureID=12348, School=1(神圣), Resistance=300

INSERT INTO creature_template_resistance VALUES( 12348, 1, 300, NULL );

查询 查询生物的所有抗性

查询CreatureID=12345的所有抗性配置

SELECT ctr.CreatureID, ctr.School, ctr.Resistance, ct.name FROM creature_template_resistance ctr JOIN creature_template ct ON ctr.CreatureID = ct.entry WHERE ctr.CreatureID = 12345 ORDER BY ctr.School;

⚡ 快速参考

魔法类型

0物理
1神圣
2火焰
3自然
4冰霜
5暗影
6奥术

抗性值

0无抗性
50~33%减免
100~50%减免
200~67%减免
300~75%减免
负数易伤

伤害计算

公式抗性/(抗性+100)
减免上限75%
易伤效果增加伤害
抗性穿透可降低抗性

常见配置

火焰生物火焰抗性高
冰霜生物冰霜抗性高
恶魔暗影抗性高
元素对应抗性高

🔗 相关表格

❓ 常见问题

Q1: 抗性值如何影响伤害?
伤害减免 = 抗性值 / (抗性值 + 100)。例如抗性100减免约50%伤害,抗性200减免约67%伤害。
Q2: 负抗性值的作用?
负抗性值表示易伤,会增加受到的相应类型伤害。例如-50会增加约33%伤害。
Q3: 抗性上限是多少?
伤害减免上限为75%,即使抗性值很高也不会超过75%减免。
Q4: 如何配置元素生物的抗性?
火焰元素配置火焰抗性高(200+),冰霜元素配置冰霜抗性高,自然元素配置自然抗性高。