跳到主要内容

PRD-055 转职与职业进阶

文档编号:PRD-055
版本:v1.0
状态:已通过
适用端:服务端 / 客户端
脚本挂载:lua/numeric/class_advance.lua

1. 背景与目标​

转职提供职业分支与数值成长。转职条件、技能映射、装备转换、属性重置适合用 Lua 编排,减少硬编码。

目标

  • 50 级一转、80 级二转,每职业 2–3 个分支。
  • 转职后技能、天赋、装备、属性正确迁移。
  • 支持限时转职活动与转职回退(可配置)。

2. 核心规则​

2.1 转职条件​

  • 等级达到要求,完成转职任务链。
  • 消耗转职令牌/金币,当前无转职冷却。
  • 不能有未领取的转职奖励、未完成的转职任务。
  • 转职后 24 小时内可免费回退一次(可配置)。

2.2 数值迁移​

  • 一级属性按新职业成长重算,保留等级/经验。
  • 技能点重置,已学技能按映射表转换。
  • 天赋树清空并返还点数。
  • 装备:本职业专用装备转换为新职业对应装备;无法转换的卸下到背包。
  • 战力重新计算,排行榜延迟刷新。

2.3 技能映射​

  • 旧技能 → 新技能按 skill_map 表转换,等级保留。
  • 未映射技能返还技能书/点数。
  • 转职后自动装配推荐技能栏。

3. 服务端设计​

3.1 Lua 脚本设计​

-- lua/numeric/class_advance.lua
Advance = {
[1] = { level=50, from="warrior", to={"berserker","guardian"}, cost={item=7001,count=1} },
[2] = { level=80, from="berserker", to={"bloodlord"}, cost={item=7002,count=1} },
}

function OnAdvance(ctx, role, target_class)
local cfg = Advance[ctx:GetAdvanceStage(role)]
if not cfg or not ctx:InList(cfg.to, target_class) then
return ctx:Fail(role, "转职目标不合法")
end
if ctx:GetLevel(role) < cfg.level then return ctx:Fail(role, "等级不足") end
if not ctx:Consume(role, cfg.cost) then return ctx:Fail(role, "材料不足") end

ctx:BackupClass(role) -- 用于 24h 回退
ctx:SetClass(role, target_class)
ctx:RemapSkills(role)
ctx:ResetTalents(role, true)
ctx:ConvertEquipments(role)
ctx:RecalcAttributes(role)
ctx:RefreshRank(role)
end
  • 转职是一个事务:备份、改职业、技能/天赋/装备、属性、持久化。
  • 任一步失败回滚到备份。
  • 回退使用同一事务,24 小时后清理备份。

3.2 协议​

方向协议说明
C→SCS_ClassAdvance转职
C→SCS_ClassRollback回退
S→CSC_ClassInfo职业/分支/冷却
S→CSC_ClassResult结果/技能变化

3.3 竞技与榜单​

  • 转职后战力重算,排行榜异步刷新。
  • 竞技场赛季中允许转职,但匹配按新职业战力。
  • 转职后 1 小时内不参与跨服联赛(可配置)。

4. 客户端设计​

  • 转职面板:分支预览、技能/属性对比、消耗。
  • 转职动画/仪式、全服公告(可配置)。
  • 技能栏自动替换提示。
  • 装备转换结果列表,无法转换的显示背包位置。
  • 回退入口与倒计时。

5. 配置与 Lua 接口​

配置说明
stage转职阶段
from / to职业分支
level等级要求
cost消耗
skill_map技能映射
equip_map装备映射

Lua 接口:GetAdvanceStage、BackupClass、SetClass、RemapSkills、ResetTalents、ConvertEquipments、RollbackClass。

6. 边界与异常​

场景处理
背包满导致装备无法卸下转职前校验,拒绝
技能映射缺失返还技能书并提示
转职中断线事务回滚/重连查询结果
回退超过 24h清理备份,不可回退
转职后参加联赛按冷却限制

7. 验收标准​

  • 各阶段转职条件/分支/消耗正确。
  • 技能/天赋/装备/属性迁移正确。
  • 失败回滚、24h 回退可用。
  • 战力/榜单刷新正确。
  • 客户端预览与实际结果一致。