Extra Hearts(里程碑额外心形)

基本信息

属性 值
类型 属性修改机制
触发方式 ProgressInfo 里程碑计算 + AttributeModifier
属性 maxHealth

功能

当玩家达成食物里程碑时,会通过 AttributeModifier 动态增加玩家的最大生命值。

每达成一个里程碑,玩家获得额外的红心(每心 = 2 HP 生命值)。

里程碑机制

线性增长(increment = 0)

每个里程碑需要固定的食品点数:

第 N 个里程碑 = N × base

二次增长(increment > 0)

里程碑要求递增(越往后越难):

第 N 个里程碑 = (base - increment/2) × N + (increment/2) × N²

配置项

配置项 默认值 说明
hearts.milestones.enable true 启用额外心形模块
hearts.milestones.base 50 每个里程碑所需基础食品点数
hearts.milestones.increment 0 每个里程碑的增量(0 = 线性)
hearts.milestones.reward 1 每个里程碑奖励的心形数
hearts.milestones.maximum -1 最大里程碑数(-1 = 无限制)
hearts.milestones.persists.through.death true 里程碑进度是否在死亡后保留

生命值计算

totalHealthModifier = milestonesAchieved × 2 × HEARTS_PER_MILESTONE

每次里程碑达成时,通过 SharedMonsterAttributes.maxHealth 的 UUID f88d6ac1-4193-4ff0-85f5-f0357fe89d17 的 AttributeModifier 应用修正。

里程碑进度显示

里程碑进度信息通过 ProgressInfo 类计算,支持线性和二次增长算法。

相关条目