Kzeroko KTM2

数值配置

武器、药剂、装备与状态效果共用的数值配置。

更新于 2026/9/26 2 分钟阅读

内部数值配置位于internal.balance,用不可变记录集中保存同一功能的参数。实际效果与提示读取同一份配置,持续时间带有明确单位。

它做什么

所属配置内容
WeaponBalance近战构造伤害与攻击速度偏移、吸取能力、天授、弓与投射物。
RavenBalance渡鸦的治疗、姿态、处决与律动。
PotionBalance恢复比例、疲劳、限时增益与替代效果时长。
EquipmentBalance具名护甲部位、凤凰重生与三位一体处理器属性。
EffectBalance适应、庇护之盾与灵力缠身的效果数值。

这些表供内部Java开发使用,编译后随模组分发,没有重载监听、同步包或公共API门面。两端需要使用相同构建。

运行时模型

配置只初始化一次,读取时无需查表,也不会每刻分配对象。TickDuration保存刻数;TickDuration.seconds(int)按每秒20刻转换整数秒。运行时计时使用ticks(),需要整数秒的调用处使用seconds();不足整秒时,后者会抛出异常。

WeaponBalance.Melee.damage()表示构造器接收的伤害加值。attackSpeed()是相对原版基础攻击速度的偏移,必须大于−4。护甲记录分别命名靴子、护腿、胸甲与头盔;values()为材质构造器返回一份新数组。

调用约定

记录构造器按字段检查比例、负时长与非有限数值,也拒绝空时长。静态配置写错时会在类初始化阶段报错,不会保留部分生效的数值表。

渡鸦的处决使用nextInt(100) < chancePercent(),12就代表精确的12%。姿态保留生命比例为0.50,持续600刻(30秒),冷却1800刻(90秒);律动持续600刻(30秒),最多4层。

灵力缠身的数值不随效果放大器变化:

属性数值
以太能量+20%总量乘算
攻击伤害+15%总量乘算
攻击速度+10%总量乘算
移动速度+10%总量乘算
韧性+20
星能回复速率−50%总量乘算

扩展方式

把相关参数放入所属配置,效果逻辑与提示都通过访问器读取。新字段应写明比例、属性点、数量或时间单位。配置中不存可变集合;外部API需要数组时,在调用边界复制。

var stance = RavenBalance.STANCE;
player.getItemCooldownManager().set(this, stance.cooldown().ticks());
int tooltipSeconds = stance.cooldown().seconds();

验证

运行./gradlew.bat compileJava。在游戏中核对提示单位与实际计时。

相关页面

参见装备技能、战斗运行机制与状态效果。