外观
肉身淬炼 · 技术实现
「玩家设定 →」
1. 代码位置
| 层 | 类 | 职责 |
|---|---|---|
| Controller | controller/PlayerController(/api/player) | GET /body-refine、POST /body-refine/upgrade、POST /body-refine/breakthrough |
| Service | service/BodyRefineService | 肉身升级/突破结算 |
| domain | domain/BodyRefineStage | 十阶(凡胎~不坏体)对应十境;攻击 +3%、防御 +1.5%、生命 +6%、四维 +0.4% 目标比例 |
| domain | domain/BodyRefineBonus | 阶位圆满属性加成 |
| balance | balance/BalanceConfigRegistry | BalanceTrack.BODY 轨道闭合校验(unitCost × 100 + breakthroughCost) |
2. 数据表
| 表 | 关键列 | 说明 |
|---|---|---|
player | body_refine_level(0-1000)、body_refine_stage(0-10)、body_refine_stage_level(0-100)、blood_essence | 肉身淬炼进度(V15 加列) |
system_growth_config | track=BODY、daily_output、unit_cost、breakthrough_cost | 肉身材料产出与消耗(V47) |
说明:肉身淬炼无独立表,进度存于
player表(V15__body_refine.sql 加 4 列)。
3. 配置与常量
- 十阶定义与目标比例:emberfall-server/src/main/java/com/emberfall/domain/BodyRefineStage.java:17源码读取失败,片段不可用
ATTACK_TARGET_RATE=0.03、DEFENSE_TARGET_RATE=0.015、HEALTH_TARGET_RATE=0.06、FOUR_DIM_TARGET_RATE=0.004- 每阶 100 级,属性按上一阶圆满到当前阶圆满线性插值,1000 级闭合到设计上限
- yml 键:无(数值走
system_growth_config+ 枚举常量)
4. 数据流简述
GET /api/player/body-refine 返回当前阶/级与升级条件。POST /api/player/body-refine/upgrade 校验肉身材料(system_growth_config BODY 轨道单价)扣材料升级;满 100 级后 POST /api/player/body-refine/breakthrough 校验境界达到对应境(十阶 ↔ 十境)与突破材料,推进 body_refine_stage 并应用阶位圆满属性。加成写入 player_attribute 派生属性。
5. 已知差异
无
6. 相关代码
- 境界系统(
Realm:十阶与十境一一对应) - 磐石之力(
StoneStrengthRules:肉身阶位 ≥ N 可跳过前置节点激活) - 战斗结算(
CombatService:攻击/防御/生命目标比例作用于面板)