Valheim

版本记录

1.6.8

代码审计后的一次集中清理,默认值全部改为作者实测配置(Font/Label Font = Norsebold、Base Font Size = 30、Animation Style = Static、Detect Range = 10、Flash 6 / 0.216 / 2s、Temp Buff 0.624 / 0.4、Buff Scale 1.5、Buff Max Rows 1、English Labels = true)。

  • 修复 Line Spacing 完全无效:行距变量算了没用,现在真正作用于叠放行距
  • Static2 不再是 Static 的复制品,改成真正的「固定向下」
  • Sprinkler 的角度扇只剩 2 个角度(公式恒为 0):改用 Max Lines 决定扇面切片
  • Sprinkler 不再被左右翻转二次镜像
  • Toggle 模式下不再每帧强制 m_blocking,与「只发边沿」的设计一致
  • 手动完美格挡也会弹 PERFECT BLOCK 闪字(统计与后摇仍只针对自动格挡)
  • 格挡数值只记录玩家/宠物那一侧,避免被怪物格挡的数字串台
  • 普通格挡的日志不再谎称「按早了」,改报 blockTimer 与格挡武器
  • 配置节顺序整理为 General / Feedback / Buff Panel / Combat / Learning,cfg 不再出现重复节标题
  • 补上缺失的 yml 键 PatchBlocked、PatchObjects;删掉废弃的 PatchVanilla、CancelAttack
  • 删除死代码 ReportShowTextDamage 及其专用字段;learned.json 版本号改为真实版本
  • 术语与描述修正:Scroll Size(像素)、Max Lines(仅 Static)、Show Vanilla Numbers(挖矿也归我们管)、Show Block Text(当前格式)
  • 反击窗口改用独立样式,不再和 BUFF 面板共用同一个 GUIStyle
  • 字体查找改为可重扫 + 字形缓存;SeenEffects 加上上限

1.6.6

  • 修复战斗数字完全不显示:PatchVanillaDamageText 在 1.6.2 删补丁时连注册一起删了,导致 Show Vanilla Numbers 控制的是个不存在的开关,我们的数字也从未被创建
  • 修复数值捕捉时机:原版在这版是在 Character.ApplyDamage 内部就调 DamageText.ShowText,而我们在 postfix 才记 pending,永远晚一步。改为在 ApplyDamage 前缀记录,ShowText 前缀消费
  • Test All UI 只在进入世界后生效,主菜单不再刷测试文字
  • 启动日志改为显示真实版本号(之前硬编码 0.3.3)
  • 新增诊断日志:damage text / blocked number / block text(受 Log Attempts 控制)

1.6.5

  • 伤害类型标签改用游戏自己的词条($inventory_*),和武器面板逐字一致,并跟随游戏语言:劈砍 / 戳刺 / 锤击 / 切剁 / 镐 / 火焰 / 冰霜 / 闪电 / 蛊毒 / 精神
  • 修正之前自编的词:Slash 是「劈砍」不是 Chop,Pierce 是「戳刺」,Poison 是「蛊毒」
  • 括号改全角并加空格:+12 (劈砍),与格挡行 + 格挡 (0.5) 同一套写法
  • 主伤害类型判定补上镐(Pickaxe)

1.6.4

  • 挖矿/砍树/砸建筑也使用我们的文字与动画:[图标] +12 (劈砍)
  • 标签取该击的主伤害类型,不拆分多类型伤害
  • 只接管玩家自己的伤害,环境伤害保留原版

1.6.3

  • 格挡提示并入受伤区:+ 格挡 (0.5),数值取自游戏自己的格挡数字
  • 完美格挡按暴击处理:更大字号 + Punch 动画
  • 删除独立的格挡/招架位置开关

1.6.2

  • Show Vanilla Numbers 移到 [General]
  • 修正隐藏逻辑:只隐藏被我们替换的那条伤害数字,治疗/制作奖励/“太硬了”等文本恢复显示
  • 挖矿、砍树的原版数字保留(我们的数字依赖 Character 命中信息)

1.6.1

  • 修复伤害数字不显示(ApplyDamage 与 ShowText 的时序搞反,改为先记录后由 ShowText 用原版数值创建)
  • 修复原版数字没被隐藏(1.6.0 的属性错位导致 隐藏原版数字 补丁失败)
  • 格挡/招架文本改为 +格挡 / +招架
  • Test All UI 改为每 0.8 秒生成真实条目,改动画样式立即生效

1.6.0

  • 伤害数字改为直接取原版 DamageText.ShowText 的数值,与游戏显示逐位一致
  • 移植 Parrot 全部 15 种滚动动画 + 方向/滚动距离/行距/层数/淡出/时长配置
  • 新增格挡与招架提示(左侧,抄 Parrot avoid 事件):格挡 / 招架!
  • Test All UI 移到 [General],一次画出全部 UI
  • 删除常驻 BUFF 列与相关配置;BUFF 面板只显示格挡临时 BUFF + 肾上腺素

1.5.1

  • Flash Animation 默认改为 Punch 并排在第一顺位
  • BUFF 面板拆成常驻 / 临时两列,位置分开可调;无持续时间的效果不再显示负数倒计时
  • 肾上腺素必定显示在临时列,不受“只显示格挡带来的 buff”影响
  • 新增 Hide Vanilla Buff Icons:面板开启时隐藏原版(含 My Little UI)状态图标
  • 伤害数字改为向右上缓出滑动并淡出;暴击/连击终结使用 Punch 缩放

1.5.0

反馈 UI 与格挡 BUFF 提示(战斗逻辑未改动):

  • 完美提示可调 位置 X/Y、字号(屏幕高度百分比)、颜色、停留时长,新增 5 种动画:Pop / Punch / Slam / Slide / Shake
  • 新增 BUFF 面板:完美格挡后出现的状态效果逐个显示(图标 + 本地化名称 + 剩余时间 + 层数),并显示肾上腺素增量
  • 新增反击窗口:进度条显示强制格挡剩余时间(连击保持段位的窗口),并显示当前连击段数
  • 新增诊断开关 Log Perfect Block Buffs
  • 新配置项全部带中英文说明

0.3.3

⚠️ 从 0.3.2 及更早版本升级的玩家:请手动把 Hold After Perfect (ms) 改成 500(配置里原来是多少就改成 500)。 升级不会重写你已生成的 cfg,旧值留在 0 的话格挡会失效/挡不住——这个值必须手动改。 全新安装的玩家不用管,默认已经是 500。

参数调整(默认值改成实测最顺手的一套):

  • Enable Auto Block 默认开启
  • Detect Range 25 → 5 米
  • Log Attempts 默认开启
  • Min Samples 3 → 5
  • Hold After Perfect (ms) 0 → 500(升级用户请手动改,见上)
  • Show Vanilla Numbers 默认开启
  • Lead Ms 70 / Press Tail Ms 150 / Base Font Size 27 / Big Hit Scale 2.4 / 数字位置 0.2,0.6 与 0.7,0.6 保持上一版

0.3.2

  • 文档:README 封面图改到 jsDelivr(固定 commit 地址),解决 GitHub / Thunderstore 页面上演示 GIF 裂图的问题(原图 19–38MB,超出图片代理与 CDN 的 20MB 上限,已重新编码到 2–4MB)
  • 文档:标题标注实测成功率,中英双语补齐实测数据与「关闭切换格挡最佳」的说明
  • 无功能改动

0.3.1

首次公开版本。

  • 学习:hook 非玩家实体的 OnAttackTrigger,按 (预制体, 动画状态) 记录命中瞬间的动画进度,存 BepInEx/config/PerfectBlock/learned.json;样本数与离散度达标后才开始自动格挡
  • 自动格挡:命中点前 Lead Ms(70)按下,命中后按满 Press Tail Ms(150);固定值,不做自适应(自适应会把提前量推到 0.25 秒窗口之外)
  • 两种格挡模式:自动识别游戏的「切换格挡」;长按模式实测 91% 完美率、0 漏挡,切换模式约 4% 漏挡
  • 手动格挡取消挥刀(等价 AttackCancel):只对你手动按下的格挡生效,自动格挡不会打断挥击
  • Reliable Perfect Block:只在完美格挡那一下忽略「大伤害破防」规则
  • 完美提示:屏幕中央 PERFECT BLOCK !!!,连续触发向上叠加
  • 战斗数字:武器图标 + 数字 + (伤害类型),承伤红色在左、输出黄色在右;位置/字号/字体/武器图标可调,带常显测试开关
  • 中英双语 yml,按游戏语言自动加载;配置项带完整说明
  • 修复早前版本:Release Delay 语义写反导致每次格挡后主动卸防 250ms;战斗数字取血量差值的位置错误(Character.Damage 只发 RPC,血量在 Character.ApplyDamage 里改)
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.