PRD-059 战魂与星魂系统
文档编号:PRD-059
版本:v1.0
状态:已通过
适用端:服务端 / 客户端
脚本挂载:lua/numeric/soul.lua
1. 背景与目标
战魂/星魂提供可组合的数值 Build 与套装追求。魂位、套装、合成、洗练适合用 Lua 配置,便于扩展新魂系。
目标
- 6 个战魂槽位,每个槽位装备 1 个战魂。
- 战魂分品质/等级/主属性/副属性,可升级、合成。
- 同系 2/4/6 件激活套装效果;星魂提供独立星图加成。
2. 核心规则
2.1 战魂
- 6 槽位:攻击、防御、生命、暴击、韧性、特殊。
- 战魂品质:普通/精良/史诗/传说,决定副属性条数。
- 升级消耗魂石,等级上限受角色等级限制。
- 3 个同品质同部位战魂可合成 1 个更高品质。
2.2 套装
- 战魂分 4 系:破军、守御、疾风、玄机。
- 2/4/6 件激活不同效果,效果只统计已装备。
- 混搭允许,但只激活对应件数的套装。
2.3 星魂
- 星魂是独立星图,消耗星魂石点亮节点。
- 每个节点提供固定属性或百分比,点亮前置节点才能继续。
- 星图分 3 条支线,可重置,重置返还 80% 材料。
3. 服务端设计
3.1 Lua 脚本设计
-- lua/numeric/soul.lua
Soul = {
slots = 6,
sets = {
pojun = { [2]={atk=0.04}, [4]={atk=0.08}, [6]={atk=0.15, crit=0.05} },
},
star_nodes = {
[1] = { cost=10, attr={atk=20}, next={2,3} },
[2] = { cost=15, attr={crit=0.01}, next={4} },
},
}
function OnEquipSoul(ctx, role, soul_uid, slot)
local soul = ctx:GetSoul(soul_uid)
if not soul or soul.slot ~= slot then return ctx:Fail(role, "槽位不匹配") end
ctx:SetSoulSlot(role, slot, soul_uid)
ctx:RecalcSoulSet(role)
ctx:RecalcAttributes(role)
end
function OnStarUp(ctx, role, node_id)
local node = Soul.star_nodes[node_id]
if not ctx:CanLight(role, node_id) then return ctx:Fail(role, "前置未点亮") end
if not ctx:Consume(role, "star_stone", node.cost) then return ctx:Fail(role, "材料不足") end
ctx:LightStarNode(role, node_id)
ctx:RecalcAttributes(role)
end
- 战魂槽/套装/星图节点持久化。
- 合成/升级/洗练走事务,失败回滚。
- 星图重置返还比例可配置。
3.2 协议
| 方向 | 协议 | 说明 |
|---|---|---|
| C→S | CS_SoulEquip | 装备战魂 |
| C→S | CS_SoulUpgrade | 升级/合成 |
| C→S | CS_StarUp | 点亮星魂 |
| S→C | SC_SoulInfo | 槽位/套装/星图 |
| S→C | SC_SoulResult | 结果/属性 |
3.3 竞技约束
- 战魂/星魂属性计入战力,匹配按总值。
- 竞技模板可归一化套装效果,避免碾压。
- 禁止战斗中切换战魂/重置星图。
4. 客户端设计
- 战魂面板:6 槽位、品质、等级、主/副属性。
- 套装提示:当前件数/下一档。
- 合成界面:3 合 1、预览、成功率。
- 星图:节点连线、点亮状态、重置预览。
- 属性对比与战力变化。
5. 配置与 Lua 接口
| 配置 | 说明 |
|---|---|
soul_id | 战魂 |
slot | 槽位 |
quality | 品质 |
set_id | 套装 |
star_nodes | 星图节点 |
reset_rate | 重置返还 |
Lua 接口:GetSoul、SetSoulSlot、RecalcSoulSet、LightStarNode、CanLight、RecalcAttributes。
6. 边界与异常
| 场景 | 处理 |
|---|---|
| 槽位不匹配 | 拒绝 |
| 合成材料不足 | 拒绝,不扣 |
| 星图前置未点亮 | 拒绝 |
| 战斗中切换 | 拒绝 |
| 战魂被删除 | 登录清槽 |
| 热更套装 | 下次重算生效 |
7. 验收标准
- 战魂装备/升级/合成/套装正确。
- 星图点亮/前置/重置/返还正确。
- 属性/战力重算一致。
- 竞技约束生效。
- 客户端槽位/星图显示一致。