CHANGELOG
📜 更新日志
v1.5.6 (最新版本 - 调整默认倍率为稳定模式)
- 调整: 将默认最小倍率从
0.8改为0.5,默认最大倍率从2.5改为2.0,对应稳定模式(平衡体验) - 文档: 更新 README,在配置示例中明确“稳定模式”为默认配置
- 保留: 延续 v1.5.5 的调试日志功能,便于排查问题
- 版本: 提升至 v1.5.6,推荐所有用户更新以获得更平衡的默认体验
v1.5.5
- 增强: 在模组启动时打印当前最小/最大倍率值,便于确认配置是否正确加载
- 调试: 在
GetDeterministicRandomPrice中添加日志输出(仅在EnableVerboseLogging为 true 时),显示min、max和实际乘数 - 优化: 确保配置系统正确读取文件中的值,避免倍率默认为 0 导致随机化失效
v1.5.4
- 修复: 将所有布尔配置项的验证方式从
.Acceptable()改为.Range(false, true),确保minValue < maxValue,彻底解决ArgumentException: minValue has to be lower than maxValue错误 - 文档: 在 README 中增加“为什么不能用 REPOConfig 修改”的详细说明,并指导用户如何手动编辑配置文件
v1.5.3
- 修复: 为所有布尔配置项添加
.Acceptable(new bool[] { true, false })调用,尝试解决范围验证错误(未完全解决) - 版本: 保留记录
v1.5.2
- 更新: 更新文档说明
v1.5.1
- 修复: 在
CreateConfigEntries中为每个配置项添加.File("RandomValuablePrice.cfg")调用,解决ConfigBuilder.Build()中因_File为null引发的空引用异常 - 完善: 确保所有配置项使用同一个配置文件,配置系统正常工作
v1.5.0
- 修复: 移除了不可访问的
Sync.ApplyLocal()调用(该方法为internal,实际为多余代码),解决编译错误 - 完善: 确保配置同步机制正常工作,所有配置项由 AdvancedREPO.Config 自动管理
- 版本: 提升主版本号至 1.5.0,标志着配置同步架构的成熟稳定
v1.4.9
- 重大重构: 将配置系统迁移至 AdvancedREPO.Config,实现主机强制统一配置
- 移除: 所有手动编写的价格同步网络代码(RPC、超时回退、网络组件等)
- 新增: 依赖
AdvancedREPO.Config,配置同步由该框架自动处理 - 优化: 基于“确定性随机”算法,客户端独立计算相同价格,无需网络传输,零延迟
- 改进: 配置项现在支持同步,主机修改后自动广播给所有客户端
- 文档: 更新README,明确新版本特性与安装要求
v1.4.8
- 增强: 网络同步组件现在在物品生成时立即添加,而非抓取时,确保PhotonView及时注册
- 新增: 客户端网络请求超时机制,默认2秒后自动回退到本地计算的价格,避免卡死
- 新增: 配置项
网络超时,可调节等待服务器响应的时间 (1-5秒) - 改进: 主机在广播后立即应用价格,避免主机自身延迟
- 优化: 简化RPC调用,统一使用
RpcTarget.All和RpcTarget.Others逻辑 - 修复: 潜在的主机重复应用问题
- 调试: 增加更详细的网络状态日志,便于排查同步问题
v1.4.7
- 更新: 更新文档说明
v1.4.6
- 修复: 修复了Photon RPC参数错误,解决多人游戏同步问题
- 改进: 将RPC方法参数改为符合Photon规范 (
PhotonMessageInfo作为最后一个参数) - 优化: 更新所有RPC调用,移除不再需要的请求者ID参数
- 兼容性: 确保多人游戏网络同步功能正常工作
v1.4.5
- 文档更新: 更新README,添加指向旧版(v1.3.9,含重量随机化)的链接
- 状态声明: 明确声明旧版软件包已被标记为已弃用 (deprecated)
- 版本维护: 确保版本历史记录的连续性
v1.4.4
- 多人游戏优化: 改进了网络同步机制,添加客户端请求跟踪和重试机制
- 新增功能: 客户端随机化请求记录和清理,避免重复请求
- 网络稳定性: 添加RPC重试机制,提高多人游戏同步成功率
- 调试增强: 更详细的网络调试日志,便于排查多人游戏问题
- 性能优化: 网络请求清理机制,定期清理过期请求避免内存泄漏
- 兼容性: 保持与之前版本的兼容性,单人游戏功能不变
v1.4.3
- 重大优化: 大幅减少Harmony补丁数量,只补丁关键的抓取相关方法(GrabStarted、GrabEnded、GrabLink)
- 性能修复: 解决了游戏卡顿问题,之前版本因补丁过多方法导致性能下降
- 日志优化: 减少了不必要的调试日志输出,避免日志刷屏
- 代码清理: 移除冗余代码,优化性能
v1.4.2
- 功能重构: 将随机化时机从物品生成时改为抓取时,提供真正的"随机化"体验
- 新增功能: 抓取时触发价格随机化,增加游戏惊喜感
- 改进机制: 补丁多个抓取相关方法,确保全面覆盖
- 添加提示: 在日志中显示随机化提示信息
- 性能问题: 存在日志刷屏和游戏卡顿问题(已在v1.4.3修复)
v1.4.1
- 修复: 添加详细调试日志,帮助排查抓取物品无反应的问题
- 改进: 优化日志输出格式,增加关键步骤的调试信息
v1.4.0
- 重构: 移除所有重量随机化相关代码,专注于价格随机化
- 说明: 重量修改涉及复杂的物理引擎和预设系统,容易引发兼容性问题。为了模组的长期稳定性和维护性,我们决定删除重量功能,专注于价格随机化这一核心功能
- 优化: 简化代码结构,减少运行时错误风险
- 更新: 修复所有编译错误,提升代码质量
v1.3.13
- 修复: 静态类中的 Logger 调用错误,解决了所有 CS1061 和 CS0026 编译错误
- 改进: 添加静态 Logger 引用,确保在静态上下文中也能正确记录日志
- 优化: 统一了所有静态方法中的日志调用方式
v1.3.12
- 改进: 网络同步代码,修复了双向同步的逻辑问题
v1.3.11
- 改进: 网络同步组件的双向网络同步机制
- 优化: 客户端主动请求随机化的时机和逻辑
v1.3.10
- 修复: 主机与客户端单向同步问题,实现双向网络同步
- 改进: 配置系统初始化逻辑和错误处理
- 新增: 更详细的初始化状态日志输出
v1.3.9
- 更新: 更新文档说明
v1.3.8
- 更新: 更新文档说明,增加单独的更新日志
v1.3.7
- 更新: 更新文档说明,增加未来规划
v1.3.6
- 重构: 移除所有重量和价格的默认值设置,完全尊重游戏原始数据
- 改进: 重量获取逻辑,只在游戏本身设置了重量值时才进行随机化
- 优化: 物品跟踪机制,减少重复随机化的可能性
- 新增: 当物品重量或价格为0时的跳过逻辑和警告日志
v1.3.5
- 修复: 重量随机化中的NaN计算问题
- 修复: 单机模式下的网络警告问题
- 改进: 重复修改防护机制
- 优化: 配置验证和错误处理
- 新增: 日志工具类和更详细的调试信息
v1.3.4
- 恢复: 完整的网络同步功能,包含RPC广播机制
- 改进: 增强错误处理和日志系统
- 更新: 优化配置项说明和默认值
v1.3.3
- 修复: 模组加载时的依赖检测问题
- 修复: 移除重复集合定义,避免逻辑冲突
- 改进: 统一网络状态检查方法
- 清理: 删除未使用的导入和冗余代码
v1.3.2
- 新增: 完整的网络同步功能框架
- 优化: 代码结构,提高编译稳定性
- 改进: 配置项说明和默认值
- 更新: 更新文档说明
v1.3.1
- 修复: 程序集引用问题,确保稳定编译
- 改进: 日志系统和错误处理
- 优化: 配置界面显示
v1.3.0
- 重构: 代码架构,提高了稳定性
- 新增: 网络同步框架(实验性)
- 改进: 预设共享检测机制
v1.2.2
- 更新: 更新文档说明
v1.2.0
- 新增: 现金袋随机化开关配置
- 优化: 黑白名单系统关键词默认留空
- 简化: 高级设置配置选项
v1.1.0
- 新增: 完整的黑白名单系统,支持关键词匹配
- 改进: 预设共享检测和修复机制
- 新增: 更多调试日志选项
v1.0.0
- 初始版本发布: 实现抓取时随机化贵重物品重量和价格的核心功能