Files
spellforge/scripts/domain/spell_system/cast_stats.gd
T
joywayerandClaude Opus 5 0a6f0e95d5 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>
2026-07-30 15:35:56 +08:00

30 lines
1.3 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## CastStats — 单次施法的可修改弹道参数负载
## 由 MODIFIER 节点在执行间修改;每次 execute_compiled 开始时从 SpellContext 隶新
extends RefCounted
class_name CastStats
var damage_add: float = 0.0 # 加法伤害加成
var damage_mult: float = 1.0 # 乘法伤害倍率
var spread_count: int = 1 # 单 ACTION 同时发射数量(扩散)
var multicast_count: int = 0 # S3:额外可执行的 ACTION 数(0=仅执行1个)
var lifetime: float = 0.0 # 对默认 lifetime 的差値(<0 缩短)
var speed_mult: float = 1.0 # 弹速倍率
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
func reset() -> void:
damage_add = 0.0
damage_mult = 1.0
spread_count = 1
multicast_count = 0
lifetime = 0.0
speed_mult = 1.0
radius_mult = 1.0
crit_chance = 0.0
pierce_add = 0
bounce_add = 0
homing_add = 0.0