feat: 修炼数值配置化,天灵根规则重构,更新主菜单背景
- GameConfig 新增 [cultivation] 修炼系统配置(基础速度/灵气浓度/资质及灵根倍率/天灵根加成) - 天灵根改为仅天骄资质再掷(heavenly_root_chance=50%),移入 GameConfig 可配置 - Disciple 修炼倍率常量改为从 GameConfig 读取,新增灵根数量倍率方法 - 主菜单背景更换为"图片大门",新增"宗门全景"资源,删除旧 BG1.png - 同步更新弟子系统设计文档及新增修炼系统设计文档
This commit is contained in:
@@ -17,6 +17,20 @@ var opening_pick_count := 3
|
||||
var recruit_interval_years := 0.1
|
||||
## 定期弹窗候选人数。
|
||||
var recruit_applicant_count := 3
|
||||
## 天灵根概率(仅天骄资质中再掷一次)。
|
||||
var heavenly_root_chance := 0.5
|
||||
|
||||
# —— 修炼系统(对应 cfg 的 [cultivation] 节)——
|
||||
## 基础修炼速度(修为/游戏日)。
|
||||
var cultivation_base_speed := 10.0
|
||||
## 宗门灵气浓度(修炼速度系数,D6 建筑系统接入后动态化)。
|
||||
var qi_concentration := 1.0
|
||||
## 资质修炼倍率(按下品/中品/上品/天骄索引)。
|
||||
var aptitude_speed: Array[float] = [0.6, 1.0, 1.5, 2.0]
|
||||
## 灵根数量修炼倍率(按根数-1 索引:1根/2根/3根)。
|
||||
var root_count_speed: Array[float] = [1.0, 0.8, 0.6]
|
||||
## 天灵根额外修炼速度倍率。
|
||||
var heavenly_bonus := 1.5
|
||||
|
||||
## 各难度资质权重表(键 = 难度档位,值 = 下品/中品/上品/天骄 权重)。
|
||||
var aptitude_weights_by_difficulty: Dictionary = {
|
||||
@@ -40,6 +54,23 @@ func _load_config() -> void:
|
||||
opening_pick_count = cfg.get_value("recruitment", "opening_pick_count", opening_pick_count)
|
||||
recruit_interval_years = cfg.get_value("recruitment", "recruit_interval_years", recruit_interval_years)
|
||||
recruit_applicant_count = cfg.get_value("recruitment", "recruit_applicant_count", recruit_applicant_count)
|
||||
heavenly_root_chance = cfg.get_value("recruitment", "heavenly_root_chance", heavenly_root_chance)
|
||||
# 修炼系统
|
||||
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 apt_raw: Variant = cfg.get_value("cultivation", "aptitude_speed", [])
|
||||
if apt_raw is Array and apt_raw.size() == aptitude_speed.size():
|
||||
var arr: Array[float] = []
|
||||
for v in apt_raw:
|
||||
arr.append(float(v))
|
||||
aptitude_speed = arr
|
||||
var root_raw: Variant = cfg.get_value("cultivation", "root_count_speed", [])
|
||||
if root_raw is Array and root_raw.size() == root_count_speed.size():
|
||||
var arr2: Array[float] = []
|
||||
for v in root_raw:
|
||||
arr2.append(float(v))
|
||||
root_count_speed = arr2
|
||||
# 逐档读取难度权重(INI 数组字面量,如 [45, 35, 15, 5])
|
||||
for key in aptitude_weights_by_difficulty.keys():
|
||||
var raw: Variant = cfg.get_value("recruitment_" + key, "aptitude_weights", [])
|
||||
|
||||
Reference in New Issue
Block a user