style(homing): 评审抛光——JSON 列对齐 + 注释精度(无行为变更)
1. spells.json: modifier_homing 的 description 补一空格对齐到第 72 列, 与相邻 type 1 条目一致,避免错位被复制传播。 2. cast_stats.gd: homing_add 注释改用全角括号与相邻行统一;措辞明确为 「最大转向角速度」——按 spec §2.1 该值是 clampf 上界而非实际角速度, 原措辞可能误导调平衡的人设错值。 3. spell_evaluator.gd: 分支快照注释点明 pierce_add 是已知 pre-existing 遗漏而非笔误,防止后来人把「10 字段」误读为「全部字段」。 4. spell_evaluator.gd: 归航冷数据块加注 homing_range 同 bounce_range/ bounce_decay 仅从 ACTION meta 读取,MODIFIER 覆盖静默失效(一致行为, 非回归),省掉后来人一次 debug。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -15,7 +15,7 @@
|
||||
"modifier_double_cast": { "type": 1, "display_name": "Double Cast", "description": "本次施法额外执行 1 个 ACTION。", "element_tags": [], "meta": { "multicast": 1, "mana_cost": 2, "shop_cost": 25 } },
|
||||
"modifier_pierce_plus": { "type": 1, "display_name": "Pierce +2", "description": "后续法术穿透 +2。", "element_tags": [], "meta": { "pierce": 2, "mana_cost": 8, "shop_cost": 18 } },
|
||||
"modifier_bounce": { "type": 1, "display_name": "Bounce +2", "description": "后续法术弹跳 +2(命中后弹向最近未命中敌人,伤害递减)。", "element_tags": [], "meta": { "bounce": 2, "mana_cost": 8, "shop_cost": 18 } },
|
||||
"modifier_homing": { "type": 1, "display_name": "Homing", "description": "后续法术获得归航(飞行中以受限角速度转向锁定的敌人)。", "element_tags": [], "meta": { "homing": 3.0, "mana_cost": 8, "shop_cost": 18 } },
|
||||
"modifier_homing": { "type": 1, "display_name": "Homing", "description": "后续法术获得归航(飞行中以受限角速度转向锁定的敌人)。", "element_tags": [], "meta": { "homing": 3.0, "mana_cost": 8, "shop_cost": 18 } },
|
||||
"modifier_heavy_cost": { "type": 1, "display_name": "Blood Sacrifice", "description": "鲜血献祭:伤害+50,但每次施法扣 10 HP。", "element_tags": [], "meta": { "damage_add": 50.0, "heavy_cost": 10, "mana_cost": 0, "shop_cost": 26 } },
|
||||
"modifier_mana_leech": { "type": 1, "display_name": "Mana Leech", "description": "魔力虹吸:击杀回复 2 魔力(放入卡组即生效)。", "element_tags": [], "meta": { "mana_leech": 2, "mana_cost": 0, "shop_cost": 22 } },
|
||||
"trigger_on_hit": { "type": 2, "display_name": "Trigger: On Hit","description": "命中时在命中点执行后续法术(子母弹)。", "element_tags": [], "meta": { "base_damage": 3.0, "speed": 250.0, "lifetime": 4.0, "radius": 6.0, "damage_type": 0, "mana_cost": 10, "shop_cost": 30 } },
|
||||
|
||||
@@ -13,7 +13,7 @@ var radius_mult: float = 1.0 # 弹体半径倍率
|
||||
var crit_chance: float = 0.0 # 暴击概率
|
||||
var pierce_add: int = 0 # MODIFIER 累加的穿透次数(叠加到 ACTION 自带 pierce)
|
||||
var bounce_add: int = 0 # MODIFIER 累加的弹跳次数(叠加到 ACTION 自带 bounce)
|
||||
var homing_add: float = 0.0 # MODIFIER 累加的归航角速度(弧度/秒,叠加到 ACTION 自带 homing)
|
||||
var homing_add: float = 0.0 # MODIFIER 累加的归航最大转向角速度(弧度/秒,叠加到 ACTION 自带 homing)
|
||||
|
||||
func reset() -> void:
|
||||
damage_add = 0.0
|
||||
|
||||
@@ -438,6 +438,7 @@ func _push_projectile(node: SpellNode, ctx: SpellContext, spawn_pos: Vector2, tr
|
||||
cold["bounce_range"] = float(meta.get("bounce_range", 250.0))
|
||||
var homing: float = float(meta.get("homing", 0.0)) + ctx.stats.homing_add
|
||||
if homing > 0.0:
|
||||
# 注:homing_range 同 bounce_range/bounce_decay,仅从 ACTION meta 读取,MODIFIER 覆盖无效
|
||||
cold["homing_strength"] = homing
|
||||
cold["homing_range"] = float(meta.get("homing_range", 400.0))
|
||||
cold["homing_target_id"] = -1
|
||||
@@ -619,7 +620,7 @@ func _run_branch_payload(payload_id: int, ctx: SpellContext, spawn_pos: Vector2,
|
||||
var nodes: Array = SubPayloadRegistry.get_nodes(payload_id)
|
||||
if nodes.is_empty():
|
||||
return
|
||||
# 快照分支前 CastStats(10 字段,无分配),分支结束后还原 → 分支局部 MODIFIER 不外泄
|
||||
# 快照分支前 CastStats(10 字段,pierce_add 为已知 pre-existing 遗漏未纳入;无分配),分支结束后还原 → 分支局部 MODIFIER 不外泄
|
||||
var s: CastStats = ctx.stats
|
||||
var b_dadd: float = s.damage_add
|
||||
var b_dmul: float = s.damage_mult
|
||||
|
||||
Reference in New Issue
Block a user