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.更新日志
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 秒保护冷却。


