skill_discovery_template - 技能发现模板表

概述

skill_discovery_template表是AzerothCore中定义专业技能配方发现机制的重要表格。它存储了玩家在制作特定物品时有机会发现新配方的数据,是专业技能系统中配方学习的核心机制之一。

表格作用

表格结构

字段名 数据类型 默认值 说明
spellId MEDIUMINT UNSIGNED 0 触发法术ID
详细说明:触发配方发现的制作法术ID。当玩家使用这个法术制作物品时,有机会发现新配方。
法术类型:
  • 炼金术:制作药剂、合剂的法术
  • 锻造:制作武器、护甲的法术
  • 工程学:制作机械装置的法术
  • 附魔:附魔装备的法术
  • 制皮:制作皮甲的法术
  • 裁缝:制作布甲的法术
  • 珠宝加工:切割宝石的法术
  • 铭文学:制作雕文的法术
reqSpell MEDIUMINT UNSIGNED 0 发现的配方法术ID
详细说明:玩家有机会发现的新配方法术ID。这是玩家将学会的新制作法术。
配方特点:
  • 通常是高级或稀有配方
  • 可能是同类型的进阶版本
  • 有些是独特的特殊配方
  • 发现后永久学会

发现机制:
  • 玩家必须满足技能等级要求
  • 每次制作都有发现机会
  • 已学会的配方不会重复发现
  • 发现时会有特殊提示
reqSkillValue SMALLINT UNSIGNED 0 所需技能等级
详细说明:玩家发现新配方所需的最低技能等级。只有达到这个等级的玩家才有机会发现配方。
技能等级范围:1 - 450 (根据扩展版本而定)
等级设计原则:
  • 基础配方:技能等级100-200
  • 中级配方:技能等级200-300
  • 高级配方:技能等级300-375
  • 大师配方:技能等级375-450

平衡考虑:
  • 确保玩家有足够技能使用新配方
  • 避免低级玩家获得过强配方
  • 与游戏进度保持同步
chance FLOAT 0 发现概率
详细说明:每次制作时发现新配方的概率,以百分比表示。
概率范围:0.01 - 100.0 (0.01% - 100%)
典型概率设置:
  • 常见配方:5% - 15%
  • 稀有配方:1% - 5%
  • 史诗配方:0.1% - 1%
  • 传说配方:0.01% - 0.1%

概率影响因素:
  • 配方的稀有程度
  • 制作物品的价值
  • 游戏平衡考虑
  • 玩家体验设计

计算方式:每次制作时系统会生成随机数,如果小于设定概率则触发发现

发现机制详解

触发条件

配方发现的必要条件:

专业技能应用

各专业的发现机制:

使用示例

查看所有配方发现数据

-- 查看所有配方发现设置
SELECT spellId, reqSpell, reqSkillValue, chance
FROM skill_discovery_template
ORDER BY reqSkillValue, chance DESC;

查看特定专业的发现配方

-- 查看炼金术相关的配方发现(假设炼金术法术ID范围)
SELECT sdt.spellId, sdt.reqSpell, sdt.reqSkillValue, sdt.chance,
       st1.name as trigger_spell, st2.name as discovery_spell
FROM skill_discovery_template sdt
LEFT JOIN spell_template st1 ON sdt.spellId = st1.ID
LEFT JOIN spell_template st2 ON sdt.reqSpell = st2.ID
WHERE sdt.spellId BETWEEN 2259 AND 28596  -- 炼金术法术范围示例
ORDER BY sdt.reqSkillValue;

添加新的配方发现

-- 添加新的配方发现机制
INSERT INTO skill_discovery_template (spellId, reqSpell, reqSkillValue, chance)
VALUES
(2259, 3171, 150, 10.0),  -- 制作次级治疗药水时10%概率发现治疗药水配方
(3464, 11449, 200, 5.0),  -- 制作次级法力药水时5%概率发现法力药水配方
(7181, 17552, 250, 3.0);  -- 制作敏捷药剂时3%概率发现强效敏捷药剂配方

修改发现概率

-- 调整特定配方的发现概率
UPDATE skill_discovery_template
SET chance = 8.0
WHERE spellId = 2259 AND reqSpell = 3171;

查找高概率发现配方

-- 查找发现概率超过10%的配方
SELECT spellId, reqSpell, reqSkillValue, chance
FROM skill_discovery_template
WHERE chance > 10.0
ORDER BY chance DESC;

配方发现设计原则

概率设计

技能等级要求

与其他系统的关系

专业技能系统

经济系统

常见问题

为什么有时候制作很多次都不发现配方?

配方发现是基于概率的,即使概率较高也可能需要多次尝试。这是正常的随机机制。

如何提高配方发现的概率?

概率是固定的,无法通过游戏内手段提高。只能通过多次制作来增加发现机会。

发现的配方是否会重复?

不会。玩家已经学会的配方不会再次被发现,系统会自动过滤已知配方。

相关表格