暴击修饰符 Critical

随机奖励 中的 CRITICAL 奖励所施加的自定义修饰符。

  • 实现:iguanaman.iguanatweakstconstruct.leveling.modifiers.ModCritical
  • NBT 键:ModCritical.modCritical.key(由 ModCritical 静态字段暴露)
  • 触发:RandomBonuses.addCriticalModifier(tool, player, modType),聊天消息 message.levelup.critical(§d 淡紫色)
  • 总开关:criticalModifiers(配置键 allowCritical,默认 true)

能力

ModCritical 为「按一次修饰符槽、额外 10% 暴击率」的战斗修饰符。暴击率实现在 Tinkers’ 的 ActiveToolMod 回调里:

// leveling/LevelingActiveToolMod.doesCriticalHit
if (toolTags.hasKey(ModCritical.modCritical.key))
    return IguanaTweaksTConstruct.random.nextInt(10) == 0;
return false;

即每 10 次攻击判定中有 1 次为暴击,由 ModCritical 存进 NBT 的存在性标记驱动。

权重特征

CRITICAL 是全部 18 种奖励里权重最低的(工具 1、武器 2、弓 0、弹药 0),源码注释明说 // This is a useless modifier, but it's still a modifier.。弓与弹药权重为 0,意味着弓永远拿不到暴击奖励(但已有暴击的弓仍保留判定)。

配方获取

RandomBonuses.modCache 初始化时扫描 ModifyBuilder.instance.itemModifiers,把 item 类型修饰符的配方与 IguanaModdedMaterials/ToolAssembly 关联起来。ModCritical 在其中被列为 Modifiers.CRITICAL 的配方来源,但没有独立的工作台配方——只能通过 随机奖励 获得。

覆写

ModifierOverride.cfg 可改写其 stacks(消耗材料)与 effect(tooltip 文案)。暴击概率的 10% 阈值写死在 LevelingActiveToolMod 中,不可配置。