feat: 修炼数值配置化,天灵根规则重构,更新主菜单背景
- GameConfig 新增 [cultivation] 修炼系统配置(基础速度/灵气浓度/资质及灵根倍率/天灵根加成) - 天灵根改为仅天骄资质再掷(heavenly_root_chance=50%),移入 GameConfig 可配置 - Disciple 修炼倍率常量改为从 GameConfig 读取,新增灵根数量倍率方法 - 主菜单背景更换为"图片大门",新增"宗门全景"资源,删除旧 BG1.png - 同步更新弟子系统设计文档及新增修炼系统设计文档
This commit is contained in:
@@ -9,12 +9,12 @@ enum Aptitude { ORDINARY, MEDIUM, SUPERIOR, HEAVENLY } # 下品/中品/上品/
|
||||
## 灵根五行。
|
||||
enum SpiritRoot { GOLD, WOOD, WATER, FIRE, EARTH }
|
||||
|
||||
# —— 常量表:枚举值 → 显示文本 / 倍率(按索引一一对应)——
|
||||
# —— 常量表:枚举值 → 显示文本(按索引一一对应)——
|
||||
const APTITUDE_NAMES: Array[String] = ["下品", "中品", "上品", "天骄"]
|
||||
const APTITUDE_SPEED: Array[float] = [0.6, 1.0, 1.5, 2.0] # D5 用
|
||||
const ROOT_NAMES: Array[String] = ["金", "木", "水", "火", "土"]
|
||||
const REALM_NAMES: Array[String] = ["练气", "筑基", "金丹", "元婴", "化神"] # 按 realm_index 索引
|
||||
const HEAVENLY_BONUS := 1.5 # 天灵根额外修炼速度倍率(D5 用)
|
||||
|
||||
# —— 修炼数值一律读 GameConfig(资质倍率/天灵根加成/速度等)——
|
||||
|
||||
# —— 实例字段 ——
|
||||
var id: int = 0 # 唯一编号(DiscipleManager 分配)
|
||||
@@ -22,7 +22,7 @@ var name: String = ""
|
||||
var age: int = 0
|
||||
var aptitude: Aptitude = Aptitude.ORDINARY
|
||||
var roots: Array[SpiritRoot] = [] # 普通弟子 1~3 根;天灵根固定 1 根
|
||||
var is_heavenly: bool = false # 天灵根标记(3% 概率)
|
||||
var is_heavenly: bool = false # 天灵根标记(仅天骄资质,概率见配置)
|
||||
var join_year: int = 0 # 入宗年份(0 = 未入宗/候选),accept 时快照
|
||||
var join_month: int = 0 # 入宗月份
|
||||
var join_day: int = 0 # 入宗日
|
||||
@@ -39,6 +39,12 @@ func get_roots_text() -> String:
|
||||
names.append(ROOT_NAMES[root])
|
||||
return "、".join(names)
|
||||
|
||||
## 灵根数量修炼倍率(根数越少越快,D5 修炼循环消费)。
|
||||
## 数值来自 GameConfig.root_count_speed,按根数-1 索引,越界钳制。
|
||||
func get_root_count_speed() -> float:
|
||||
var idx := clampi(roots.size() - 1, 0, GameConfig.root_count_speed.size() - 1)
|
||||
return GameConfig.root_count_speed[idx]
|
||||
|
||||
func get_realm_text() -> String:
|
||||
if realm_index == 0:
|
||||
return "%s%d层" % [REALM_NAMES[realm_index], sub_realm_index + 1]
|
||||
|
||||
Reference in New Issue
Block a user