Skip to content

属性衰减曲线

属性衰减曲线用于限制高数值膨胀。当某个属性超过指定阈值后,超过部分会按曲线折算,既保留成长价值,又避免后期装备、宝石、强化和套装叠加后破坏战斗平衡。

适用场景

建议优先为以下属性配置衰减:

  • 主输出属性:physical_attackprojectile_attackspell_attack
  • 防御属性:physical_defenseprojectile_defensespell_defense
  • 概率属性:暴击率、闪避率、吸血率。
  • 资源上限:生命、法力或其他可被装备大幅叠加的资源。
  • 穿透、减伤、冷却缩减等容易接近硬上限的属性。

配置位置

衰减曲线位于 config.yml

yaml
scaling_curves:
  physical_attack_cap:
    attribute: "physical_attack"
    threshold: 500
    curve_type: "logarithmic"
    factor: 100

每个条目 key 只作为规则 ID,便于阅读和排查。实际影响的是 attribute 指定的属性。

字段说明

字段类型说明
attributestring被衰减的属性 ID。
thresholdnumber衰减开始阈值。低于或等于该值时保持原值。
curve_typestring衰减函数类型:logarithmicsqrtpiecewise_linear
factornumber衰减系数,不同曲线含义不同。

最终值可以理解为:

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,防御与概率属性适合用 sqrtpiecewise_linear
  • 不建议同时对同一属性配置多条衰减规则,避免排查困难。
  • 调整曲线后,应测试低配、中配、毕业、极限堆叠四档角色。
  • 如果属性来自多个模块,先确认最终快照再调整衰减曲线。

排查建议

  • 属性面板低于预期:检查是否触发了衰减曲线。
  • 配置无效:检查 attribute 是否为真实属性 ID,curve_type 是否拼写正确。
  • 后期成长过弱:提高 threshold 或增大 factor
  • 后期成长过强:降低 threshold、降低 factor,或改用更强的曲线类型。