diff --git a/data/cores.json b/data/cores.json index 5687cf9..61b0f28 100644 --- a/data/cores.json +++ b/data/cores.json @@ -1,7 +1,7 @@ { - "wand_basic": { "display_name": "小木法杯", "slot_count": 5, "topology": 0, "cpu_limit": 5, "cast_interval": 0.5, "feature_tags": 0 }, - "wand_fast": { "display_name": "高速法杯", "slot_count": 3, "topology": 0, "cpu_limit": 3, "cast_interval": 0.25, "feature_tags": 0 }, - "wand_memory": { "display_name": "记忆法杖", "slot_count": 6, "topology": 0, "cpu_limit": 6, "cast_interval": 0.5, "feature_tags": 1 }, - "matrix_board": { "display_name": "矩阵板", "slot_count": 8, "topology": 1, "cpu_limit": 8, "cast_interval": 0.5, "feature_tags": 0, "grid_rows": 2, "grid_cols": 4 }, - "circuit_fork": { "display_name": "分叉回路", "slot_count": 3, "topology": 2, "cpu_limit": 5, "cast_interval": 0.6, "feature_tags": 0, "edges": [{"from": 0, "to": 1}, {"from": 0, "to": 2}] } + "wand_basic": { "display_name": "小木法杯", "slot_count": 5, "topology": 0, "cpu_limit": 5, "cast_interval": 0.5, "feature_tags": 0, "mana_max": 100, "mana_regen": 5 }, + "wand_fast": { "display_name": "高速法杯", "slot_count": 3, "topology": 0, "cpu_limit": 3, "cast_interval": 0.25, "feature_tags": 0, "mana_max": 60, "mana_regen": 4 }, + "wand_memory": { "display_name": "记忆法杖", "slot_count": 6, "topology": 0, "cpu_limit": 6, "cast_interval": 0.5, "feature_tags": 1, "mana_max": 100, "mana_regen": 5 }, + "matrix_board": { "display_name": "矩阵板", "slot_count": 8, "topology": 1, "cpu_limit": 8, "cast_interval": 0.5, "feature_tags": 0, "grid_rows": 2, "grid_cols": 4, "mana_max": 120, "mana_regen": 6 }, + "circuit_fork": { "display_name": "分叉回路", "slot_count": 3, "topology": 2, "cpu_limit": 5, "cast_interval": 0.6, "feature_tags": 0, "edges": [{"from": 0, "to": 1}, {"from": 0, "to": 2}], "mana_max": 100, "mana_regen": 5 } } diff --git a/scripts/autoloads/wand_preset.gd b/scripts/autoloads/wand_preset.gd index c0ff203..aeb12ba 100644 --- a/scripts/autoloads/wand_preset.gd +++ b/scripts/autoloads/wand_preset.gd @@ -35,6 +35,8 @@ func _core_from_dict(cid: String, d: Dictionary) -> CoreDefinition: c.grid_rows = int(d.get("grid_rows", 1)) c.grid_cols = int(d.get("grid_cols", 5)) c.edges = d.get("edges", []) + c.base_mana_max = float(d.get("mana_max", 100.0)) + c.base_mana_regen = float(d.get("mana_regen", 5.0)) return c ## 默认装备(combat_test 等用):wand_basic + 第一个 ACTION 法术 diff --git a/scripts/domain/spell_system/core_definition.gd b/scripts/domain/spell_system/core_definition.gd index 71ee011..b360c19 100644 --- a/scripts/domain/spell_system/core_definition.gd +++ b/scripts/domain/spell_system/core_definition.gd @@ -26,3 +26,7 @@ var topology: int = Topology.LINEAR ## CoreFeatureTag 位掉:PERSISTENT_MEMORY=1, DUAL_STREAM=2, 等 @export var feature_tags: int = 0 + +## 魔力池(MVP)——由 WandPreset 从 cores.json 读入 +@export var base_mana_max: float = 100.0 +@export var base_mana_regen: float = 5.0 # 每秒回复