SleeperAlert
播报是谁惊醒了怪物、谁对谁造成了友伤;房主通过游戏聊天广播,全队可见(队友无需安装),友伤按血量百分比显示。Announces who woke up enemies and friendly fire via in-game chat broadcast. 中文提示,可配置,防刷屏。
By Thyke
CHANGELOG
Changelog
1.4.2
- 更新 mod 图标
1.4.1
- 确认连锁惊醒播报默认开启:哨兵尖叫引发的连锁惊醒默认计入播报(SkipPropagatedWakes 默认 false),不想要可在配置里关闭
1.4.0
- 友伤播报改为按受害者血量的百分比显示(与游戏血条一致),默认模板
⚠ {attacker} 对 {victim} 造成了 {percent}% 友伤!;模板同时支持 {damage}(伤害点数) - 百分比按游戏内实际血上限(HealthMax)计算,不写死数值
- 代码清理:移除调试日志与诊断代码,常规日志只保留加载信息与错误
1.3.3
- 新增哨兵(侦察兵 Scout)惊醒播报:哨兵走的是尖叫流程,之前未被普通惊醒补丁覆盖;现在哨兵被惊动也会播报是谁惊的(归入聚合,可与其他怪合并计数)
- 连锁惊醒播报改为默认开启:哨兵尖叫引发的连锁惊醒默认计入(与聚合计数配合,不会刷屏);如嫌多可在配置里关闭
1.3.2
- 联网聊天改用游戏权威动作通道(m_sendChatMessage.Ask),由房主广播给全队,没装 mod 的队友也能看到
- 只由房主发送联网消息,避免多个客户端重复播报
- 友伤事件增加详细诊断日志(原始伤害量化值、前后血量、实际掉血),用于校准伤害精度
1.3.1
- 修复友伤检测不触发的问题(Harmony 补丁类改为顶层类,确保正确注册)
- 启动时在日志输出已注册补丁数量,便于排查
1.3.0
- 新增友伤播报:检测子弹/近战/火焰造成的玩家对玩家伤害,房主联网播报,全队聊天框可见(无需装 mod)
- 同一对攻击者/受害者在聚合窗口内的友伤合并为一条,伤害累加显示
- 自伤不播报;爆炸伤害因游戏数据不含攻击者信息,暂不支持
- 新增配置项:FriendlyFireEnabled(开关)、FriendlyFireFormat(模板)
- 注意:若同时安装 FriendlyFireDetector,友伤会收到双份播报,建议二选一
1.2.0
- 新增聚合播报:同一玩家在聚合窗口(默认 2.5 秒,可配置)内惊醒的多只怪合并成一条
- 同名怪物自动计数,如"惊醒了3只前锋";不同怪物用顿号连接,如"惊醒了2只前锋、1只射手"
- 播报时机从"惊醒瞬间"改为"窗口结束后统一发送",进一步减少聊天刷屏
- 新增配置项 BatchWindow(聚合窗口秒数)
1.1.3
- 修复怪物名显示错误(旧版查游戏文本库会命中无关文本,如"大厅")
- 改为内置中文对照表:基于游戏导出数据中的全部 39 种敌人数据块,覆盖前锋/大前锋/射手/侦察兵/母体/暗影/坦克/飞虫/触手怪等
- 遇到未收录的新敌人时显示其内部名并写日志,方便后续补充
1.1.2
- 修复怪物名解析:优先用数据块 persistentID 查询游戏文本库(旧版用 EnemyDataID 可能命中无关文本)
- 增加敌人信息详细日志,便于排查名字解析
1.1.1
- 播报文案加入怪物名字:惊醒了什么怪就显示什么怪的名字(名字通过游戏本地化系统获取,跟随游戏语言,中文客户端显示中文名)
- 模板新增
{enemy}占位符,默认模板变为⚠ {player} 惊醒了{enemy}! - 名字解析失败时依次回退:数据块内部名 → "沉睡者"
1.1.0
- 新增联网播报:房主检测到惊醒后,通过游戏原生聊天管线发送聊天消息,没装本 mod 的队友也能在聊天框看到
- 装有本 mod 的玩家收到该联网消息时会额外弹出黄色横幅(带零宽字符标记,自动去重)
- 非房主本机不再重复显示本地聊天,避免和房主的联网消息出现双行
- 房主联网发送失败时自动退化为本机聊天显示
1.0.0
- 首次发布:玩家惊醒沉睡者(Sleeper)时,屏幕中央黄色横幅 + 聊天框播报是谁惊醒的
- 元凶判定:优先取游戏 AI 的侦测目标,拿不到时回退为怪物附近最近玩家(距离可配置)
- 防刷屏:同一只怪 60 秒只报一次;连锁惊醒默认跳过;连续惊醒 0.8 秒只报第一条
- 播报模板、横幅时长、双通道开关均可通过 BepInEx/config/SleeperAlert.cfg 配置
- 支持中文玩家名与中文播报模板