优化层级逻辑

This commit is contained in:
liuwei
2025-11-19 09:26:36 +08:00
parent 89d7b9f25c
commit cbda64f6e7
2 changed files with 130 additions and 111 deletions
+18 -50
View File
@@ -65,60 +65,28 @@ items = [
"聚灵符:材料:100"
]
# 双轨制突破参数:丹药路径与强行路径
# pill_threshold:丹药突破修为需求;pill_item:消耗的丹药名;pill_success:成功率
# force_threshold:强行突破修为需求;force_success:成功率;force_next_realm:成功后的境界
[Xiuxian.breakthrough]
pill_threshold = 5000
pill_item = "筑基丹"
pill_success = 0.4
force_threshold = 20000
force_success = 0.1
force_next_realm = "筑基2层"
# 统一的境界配置:定义所有境界的层级提升和突破规则
# 格式:境界名称 = "每层修为阈值,境界分值,突破丹药名,丹药突破成功率,强行突破成功率,强行突破倍率"
# 突破修为要求自动计算 = 9层 × 每层阈值(达到10层所需修为)
# 强行突破修为要求 = 突破修为要求 × 强行突破倍率
# 注意:TOML中中文键名需要用引号
[Xiuxian.realms]
# 格式:境界名 = "每层阈值,境界分值,突破丹药,丹药成功率,强行成功率,强行倍率"
# 注意:每层阈值用于计算层级提升(1-10层),突破要求自动计算为 9×每层阈值
"炼气" = "1000,10,筑基丹,0.4,0.1,2.0"
"筑基" = "5000,20,金元丹,0.2,0.05,2.0"
"金丹" = "50000,30,结婴丹,0.15,0.03,2.0"
"元婴" = "200000,40,化神丹,0.1,0.02,2.0"
"化神" = "1000000,50,合体丹,0.08,0.01,2.0"
"合体" = "5000000,60,大乘丹,0.05,0.005,2.0"
"大乘" = "10000000,70,渡劫丹,0.03,0.003,2.0"
"渡劫" = "50000000,80,飞升丹,0.02,0.001,2.0"
"真仙" = "0,100,,0,0,0" # 真仙为最高境界,无法再突破
[Xiuxian.leaderboard]
# 排行榜键(Redis Sorted Set)。默认使用修为分数,也支持按境界分值映射。
key = "xiuxian:zset:leaderboard:cultivation"
realm_key = "xiuxian:zset:leaderboard:realm"
[Xiuxian.realm_score]
# 境界分值映射:用于 realm 排行榜(基础值 + 层数),真仙为固定高分
stages = [
"凡人:0",
"炼气:10",
"筑基:20",
"金丹:30",
"元婴:40",
"化神:50",
"合体:60",
"大乘:70",
"渡劫:80",
"真仙:100"
]
[Xiuxian.layer_up]
# 每提升一层的修为阈值(简化规则):按当前境界前缀应用固定阈值
thresholds = [
"炼气:1000",
"筑基:5000",
"金丹:50000",
"元婴:200000",
"化神:1000000",
"合体:5000000",
"大乘:10000000",
"渡劫:50000000"
]
[Xiuxian.breakthrough_stages]
# 瓶颈突破定义:当前境界(10层):路径:修为消耗:成功率:目标境界
# 注意:突破修为要求应该与达到10层所需修为一致或略高
# 炼气10层需要9000修为(9×1000),所以突破要求应该≥9000
# 筑基10层需要45000修为(9×5000),所以突破要求应该≥45000
paths = [
"炼气10层:pill:9000:0.4:筑基1层", # 修复:从5000改为9000,与达到10层所需修为一致
"炼气10层:hard:18000:0.1:筑基2层", # 修复:从20000改为180002倍)
"筑基10层:pill:45000:0.2:金丹1层", # 修复:从50000改为45000,与达到10层所需修为一致
"筑基10层:hard:90000:0.05:金丹2层" # 修复:从200000改为900002倍)
]
[Xiuxian.points_exchange]
point_to_stone_rate = 10
point_to_stone_rate = 10