外观
称号 · 技术实现
「玩家设定 →」
1. 代码位置
| 层 | 类 | 职责 |
|---|---|---|
| Controller | controller/TitleController(/api/title) | 称号信息、升级、进阶、打金副本相关接口 |
| Service | service/TitleService | 称号升级/进阶结算、挂机产出(金币/名望) |
| domain | domain/TitleRules | 核心常量:MAX_LEVEL=1000、MAX_TIER=10、LEVELS_PER_TIER=100、PANEL_BONUS_PER_LEVEL=0.001(每级 +0.1% 面板/固伤/真伤)、DUNGEON_TICK_SECONDS=3、MAX_IDLE_SECONDS=86400、SAND_PER_STONE=100、NAMING_REWARD_MULTIPLIER=6、称号名数组 TITLES |
| domain | domain/TitleProgress | 称号进度模型 |
2. 数据表
| 表 | 关键列 | 说明 |
|---|---|---|
player_title_progress | player_id、title_level(≤1000)、title_tier(1-10)、reputation、advance_stones、dungeon_active、dungeon_difficulty、dungeon_last_settle_at、dungeon_carry_seconds | 称号养成与金币名望副本状态(V68) |
player | gold | 通用金币,V68 起仅称号金币名望副本产出(MODIFY 注释 + UPDATE player SET gold=0) |
player_dungeon_daily | player_id、dungeon_date、dungeon_type、first_win_claimed | 称号副本每日限次(V39) |
3. 配置与常量
- 称号规则:
名称 数值 说明 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 - 升级消耗(金币 1600×1.005^(L-1)、名望 533×1.005^(L-1)、进阶石 90+10×阶):见
TitleService调用emberfall-server/src/main/java/com/emberfall/domain/TitleRules.java:8源码读取失败,片段不可用 - yml 键:无(全部常量类)
4. 数据流简述
POST /api/title/upgrade 按金币/名望公式扣资源升级(每级 +0.1% 面板与固伤/真伤);POST /api/title/advance 消耗进阶石(90+10×阶)推进 title_tier(10 阶封顶)。挂机产出:称号副本 3 秒一跳(DUNGEON_TICK_SECONDS),金币名望结算写回 player_title_progress 与 player.gold,挂机上限 86400 秒。title_tier 同时作为装备淬炼固伤/真伤上限突破的阶数来源。
5. 已知差异
(三项百分比增幅每级 +0.1% → +0.02%,满级 1000 级由 +100% 降为 +20%:TitleRules.PANEL_BONUS_PER_LEVEL / DAMAGE_PCT_PER_LEVEL = 0.0002D)6. 相关代码
- 称号副本(
TitleService打金部分,见 title-dungeon) - 装备淬炼(
EquipmentRefineEntryType:上限突破跟随TitleRules.MAX_TIER) - 破界深渊(
RealmAbyssRules:第 10 层要求称号 10 阶) - 经济(V68 后通用金币唯一产出源为称号副本)