feat: 修炼循环闭环——升层/瓶颈突破(按层概率)+管理界面修为进度+面板放大

This commit is contained in:
2026-08-08 18:16:05 +08:00
parent 19f8294242
commit 543af0a4ff
11 changed files with 142 additions and 21 deletions
+24
View File
@@ -31,6 +31,12 @@ var qi_concentration := 1.0
var aptitude_speed: Array[float] = [0.6, 1.0, 1.5, 2.0]
## 天灵根额外修炼速度倍率。
var heavenly_bonus := 1.5
## 各瓶颈层突破成功率(与 bottleneck_levels 一一对应:升4层/7层/10层/13层)。
var bottleneck_chances: Array[float] = [0.85, 0.8, 0.75, 0.6]
## 练气期各层升级所需修为(练气 1→2 到 12→13,共 12 项)。
var level_thresholds: Array[float] = [100.0, 200.0, 350.0, 550.0, 800.0, 1100.0, 1500.0, 2000.0, 2600.0, 3300.0, 4100.0, 5000.0]
## 瓶颈目标层(升到这些层需突破判定)。
var bottleneck_levels: Array[int] = [4, 7, 10, 13]
# —— UI 通用(对应 cfg 的 [ui] 节)——
## HUD 字体大小。
@@ -69,6 +75,24 @@ func _load_config() -> void:
cultivation_base_speed = cfg.get_value("cultivation", "base_speed", cultivation_base_speed)
qi_concentration = cfg.get_value("cultivation", "qi_concentration", qi_concentration)
heavenly_bonus = cfg.get_value("cultivation", "heavenly_bonus", heavenly_bonus)
var bc_raw: Variant = cfg.get_value("cultivation", "breakthrough_chances", [])
if bc_raw is Array and bc_raw.size() == bottleneck_chances.size():
var arr_bc: Array[float] = []
for v in bc_raw:
arr_bc.append(float(v))
bottleneck_chances = arr_bc
var th_raw: Variant = cfg.get_value("cultivation", "level_thresholds", [])
if th_raw is Array and th_raw.size() == level_thresholds.size():
var arr_th: Array[float] = []
for v in th_raw:
arr_th.append(float(v))
level_thresholds = arr_th
var bn_raw: Variant = cfg.get_value("cultivation", "bottleneck_levels", [])
if bn_raw is Array and bn_raw.size() == bottleneck_levels.size():
var arr_bn: Array[int] = []
for v in bn_raw:
arr_bn.append(int(v))
bottleneck_levels = arr_bn
# UI 通用
hud_font_size = cfg.get_value("ui", "hud_font_size", hud_font_size)
var apt_raw: Variant = cfg.get_value("cultivation", "aptitude_speed", [])