属性衰减曲线
属性衰减曲线用于限制高数值膨胀。当某个属性超过指定阈值后,超过部分会按曲线折算,既保留成长价值,又避免后期装备、宝石、强化和套装叠加后破坏战斗平衡。
适用场景
建议优先为以下属性配置衰减:
- 主输出属性:
physical_attack、projectile_attack、spell_attack。 - 防御属性:
physical_defense、projectile_defense、spell_defense。 - 概率属性:暴击率、闪避率、吸血率。
- 资源上限:生命、法力或其他可被装备大幅叠加的资源。
- 穿透、减伤、冷却缩减等容易接近硬上限的属性。
配置位置
衰减曲线位于 config.yml:
yaml
scaling_curves:
physical_attack_cap:
attribute: "physical_attack"
threshold: 500
curve_type: "logarithmic"
factor: 100每个条目 key 只作为规则 ID,便于阅读和排查。实际影响的是 attribute 指定的属性。
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
attribute | string | 被衰减的属性 ID。 |
threshold | number | 衰减开始阈值。低于或等于该值时保持原值。 |
curve_type | string | 衰减函数类型:logarithmic、sqrt、piecewise_linear。 |
factor | number | 衰减系数,不同曲线含义不同。 |
最终值可以理解为:
text
最终值 = threshold + 衰减后的超出部分曲线类型
logarithmic
对数衰减适合主输出和防御属性。它在超过阈值后仍然增长,但增长速度逐步变慢。
yaml
scaling_curves:
physical_attack_cap:
attribute: "physical_attack"
threshold: 500
curve_type: "logarithmic"
factor: 100特点:
- 成长体验平滑。
- 不会突然让高阶装备失去价值。
- 适合大多数核心属性。
sqrt
平方根衰减比对数更强,适合需要严格压制的属性,例如防御、减伤、资源上限。
yaml
scaling_curves:
physical_defense_cap:
attribute: "physical_defense"
threshold: 400
curve_type: "sqrt"
factor: 80特点:
- 超出阈值后收益明显降低。
- 适合限制坦度堆叠。
- 配置前应先测试高端装备的实际承伤。
piecewise_linear
分段线性衰减会按固定比例保留超出部分,适合概率属性或需要直观控制的属性。
yaml
scaling_curves:
crit_rate_cap:
attribute: "physical_crit_rate"
threshold: 80
curve_type: "piecewise_linear"
factor: 0.3该示例表示暴击率超过 80 后,超出部分只保留 30%。如果原始值为 100,最终值约为 80 + (20 × 0.3) = 86。
调参建议
- 阈值应接近当前版本毕业装备的合理上限,而不是新手装备数值。
- 输出属性适合用
logarithmic,防御与概率属性适合用sqrt或piecewise_linear。 - 不建议同时对同一属性配置多条衰减规则,避免排查困难。
- 调整曲线后,应测试低配、中配、毕业、极限堆叠四档角色。
- 如果属性来自多个模块,先确认最终快照再调整衰减曲线。
排查建议
- 属性面板低于预期:检查是否触发了衰减曲线。
- 配置无效:检查
attribute是否为真实属性 ID,curve_type是否拼写正确。 - 后期成长过弱:提高
threshold或增大factor。 - 后期成长过强:降低
threshold、降低factor,或改用更强的曲线类型。