外观
称号副本 · 技术实现
「玩家设定 →」
1. 代码位置
| 层 | 类 | 职责 |
|---|---|---|
| Controller | controller/TitleController(/api/title) | 副本开始(TitleDungeonStartRequest)、结算查询 |
| Service | service/TitleService | 打金结算(3 秒一跳)、挂机产出、难度(1~10 阶) |
| domain | domain/TitleRules | 副本常量:DUNGEON_TICK_SECONDS=3(3 秒一跳)、MAX_IDLE_SECONDS=86400(挂机上限)、SAND_PER_STONE=100(金沙/神石折算)、NAMING_REWARD_MULTIPLIER=6(冠名 6 倍产出) |
| domain | domain/TitleProgress | 副本状态(dungeon_active/dungeon_difficulty/dungeon_last_settle_at/dungeon_carry_seconds) |
2. 数据表
| 表 | 关键列 | 说明 |
|---|---|---|
player_title_progress | player_id、dungeon_active、dungeon_difficulty(1-10)、dungeon_last_settle_at、dungeon_carry_seconds | 副本挂机状态(V68) |
player | gold | 通用金币(V68 起唯一产出源 = 称号副本) |
player_dungeon_daily | player_id、dungeon_date、dungeon_type | 每日副本限次(V39) |
3. 配置与常量
- 副本 tick 与挂机上限:
名称 数值 说明 maxLevelMAX_LEVEL 1_000 — maxTierMAX_TIER 10 — levelsPerTierLEVELS_PER_TIER 100 — fourDimPerLevelFOUR_DIM_PER_LEVEL 5_000 — panelBonusPerLevelPANEL_BONUS_PER_LEVEL 0.0002D 每级四维面板百分比加成:满 1,000 级 = +20%。 2026-09 定稿:称谓的所有百分比加成上限统一由 +100% 下调至 +20%(仍按等级线性)。 damagePctPerLevelDAMAGE_PCT_PER_LEVEL 0.0002D 称谓对磐石之力固伤 / 天道法则真伤的百分比增幅:每级 +0.02%,满级 1000 级 = +20%。 2026-09 定稿:与 {@link #PANEL_BONUS_PER_LEVEL} 一同由 +100% 下调至 +20%(仍按等级线性)。 dungeonTickSecondsDUNGEON_TICK_SECONDS 3 — maxIdleSecondsMAX_IDLE_SECONDS 86_400L — sandPerStoneSAND_PER_STONE 100 — namingRewardMultiplierNAMING_REWARD_MULTIPLIER 6 — endlessTierCandidatesENDLESS_TIER_CANDIDATES List.of( new TierEndlessCandidate(12, 12_000, 147, 119, 191, 186), new TierEndlessCandidate(14, 14_000, 163, 144, 228, 220), new TierEndlessCandidate(16, 16_000, 184, 175, 280, 251), new TierEndlessCandidate(18, 18_000, 200, 203, 337, 285), new TierEndlessCandidate(20, 20_000, 245, 230, 400, 323), new TierEndlessCandidate(24, 24_000, 345, 290, 500, 395), new TierEndlessCandidate(26, 26_000, 397, 321, 500, 444), new TierEndlessCandidate(30, 30_000, 495, 380, 500, 551)) 候选档位表(docs/54 §4.2 表,逐行 = {称谓阶 T, 词条上限, 固伤收口层, 固伤收口日, 真伤收口层, 真伤收口日}):T=12…30;真伤收口层满 500 表示在塔顶内未收口。 不可变 List({@code List.of}),外部不可改写行。 endlessTierCandidateReferenceENDLESS_TIER_CANDIDATE_REFERENCE 24 后期参考档(docs/54 §4.2):称谓 <b>24</b> 阶 / 词条 24,000 级——固伤第 290 天于 L345 收口、真伤第 395 天于 L500 收口(接受固伤末段 L345–L500 的约 93 天死收入窗口)。 titlesTITLES { "", "菜鸟", "强壮的菜鸟", "小有名气", "名震一方", "威名远播", "一代宗师", "举世闻名", "传奇人物", "神话传说", "人间主宰" } — 来源:emberfall-server/src/main/java/com/emberfall/domain/TitleRules.java· commit22d062aff99fabdc373f3b1c82b2a6eff4a034d3 - V68 金币收敛:emberfall-server/src/main/resources/db/migration/V68__title_system_and_gold_reset.sql:1源码读取失败,片段不可用
- yml 键:无
4. 数据流简述
POST /api/title/dungeon/start 选择难度(1~10 阶)并校验每日限次(player_dungeon_daily),置 dungeon_active=1。挂机期间 TitleService 每 3 秒一跳结算金币与名望(金沙按 SAND_PER_STONE 折算神石),冠名玩家产出 ×6(NAMING_REWARD_MULTIPLIER),累计挂机上限 86400 秒、跨日结转记 dungeon_carry_seconds。收益写 player.gold 与 player_title_progress,主动结算后 dungeon_active=0。
5. 已知差异
无(V68 后通用金币仅称号副本产出,其余来源已清零)
6. 相关代码
- 称号养成(
TitleService、title) - 通用金币经济(
player.gold唯一产出源) - 每日限额(
player_dungeon_daily、DailyLimitPool)