Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
EasyAutoHeal
[AI-generated] Auto-drinks a healing mead from your inventory when HP drops below 20 or 10% of max, and only when 2+ foods are eaten. Prefers strongest mead (configurable). Client-only, no server sync.
By s6652289
CHANGELOG
更新日志
1.0.1(2026-09-17)
修复:不判血量、满血也一直喝药。
- 根因:1.0.0 把
Character.GetHealthPercentage()当成「0–100 的百分数」用, 但它的 IL 实测就是GetHealth() / GetMaxHealth()—— 返回的是 0.0–1.0 的比例,没有 ×100。 于是pct < 10f(cfg 默认 10 = 10%)恒为真(pct 最大才 1.0), 百分比条件永远满足 ⇒ 只要背包里有药、食物够 2 个就喝,与当前血量完全无关。 实测日志铁证:低血量触发(hp=150/150,1%)→ 自动喝下 $item_mead_hp_medium(满血)。 - 修复:改为自己按 0–100 计算
hp / maxHp * 100,不依赖语义有歧义的 API; cfg 语义不变(PercentHpThreshold = 10依然表示 10%),你不需要改任何配置。 - 新增满血硬保护:
hp ≥ 生命上限时绝不触发。 即使把阈值配成超过血量上限的值(例如固定阈值 200 而上限只有 150),也不会满血浪费蜜酒。 - 日志升级:喝药时打出完整判定依据,便于复核,例如
低血量触发(hp=14/150 = 9.3%;阈值 固定<20 / 百分比<10 ✓;食物 3 个)→ 自动喝下 $item_mead_hp_medium。 两个阈值后面带✓的那个就是本次触发它的条件。
1.0.0(2026-09-17)
- 首个版本:血量 < 20 滴或 < 生命上限 10% 时自动从背包喝治疗蜜酒。
- 空肚保护:食物少于 2 个不触发。
- 蜜酒按「回复总量」挑最强(可配置先喝最弱)。
- 走原版 ConsumeItem 链路,效果未过期时自动拒绝(不浪费);另有 10 秒保护冷却。