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 类计算,支持线性和二次增长算法。
相关条目
- Diminishing Returns - 递减收益机制
- Food Journal - 查看食物历史