Skip to content

v0.7.1 — 纯修复版

Choose a tag to compare

@Mr-Salticidae Mr-Salticidae released this 29 Jul 02:53

这版没加新东西,全是修 bug。几个问题藏得比较深,都是读代码翻出来的。

  • 波次剩余数显示错误:每波开局 HUD 会先显示「剩 0 只」,再花约 0.8 秒从 0 一路数到满。原因是敌人要等各自的生成烟播完才落地,而「剩余数」当时取的是「已落地数」——生成阶段这两个不是一回事。改成由 本波总数 - 已击杀 推导,全程语义一致。
  • 提前清波:生成循环只等每只之间的错位间隔就切进战斗状态,但最后几只还在播生成烟没出现。这段窗口里把已经落地的敌人清光,本波就会判定通关、弹升级面板,剩下的敌人则生成到下一波里。现在会等所有敌人真正落地才允许清波判定。
  • 「弹药节省」在霰弹枪上多倍生效:这张传说卡写的是「命中时 25% 概率不消耗弹药」,但回补逻辑按弹丸结算——霰弹枪一枪 8 颗弹丸,扣 1 发却要 roll 8 次。打进人堆里期望回补 2 发,等于开一枪净赚 1 发,弹匣越打越满。现在整枪只 roll 一次。
  • 切枪打断换弹后的计时器串扰:换弹途中切枪会取消换弹,但已经排下去的计时器仍会到点。切回来重新换弹时,那个作废的旧回调会把新的这次提前结算掉,运气好能压掉一整段换弹时间。加了代次校验。
  • 后期 grunt 绝迹:敌种抽取用一次随机数分区间,而 brute 和 runner 的概率各自随波次增长、上限之和超过了 1,导致从第 21–23 波起 grunt 再也不会出现,同时 runner 被静默压到 40%、拿不满自己 55% 的上限。把 brute 上限从 100% 收到 30%,后期稳定为 brute 30% / runner 55% / grunt 15%。附带影响是 grunt 专属的包抄 AI(极限档)不再从最后十波里消失。

内部改动:敌人互推 / 告警 / 同步攻击每帧共用一次敌人列表快照(原本每只敌人每帧各取一次);补齐互推里缺失的类型守卫;README 的引擎版本从 4.6 更正到 4.7(项目实际已是 4.7);新增一个脚本编译校验工具,能在不开编辑器的情况下检出全部 GDScript 的编译错误。