Repository navigation
指挥室装饰可用:家具套装、单件家具与海报全部持有并保存设置;新增 Mod 声明装饰 - #105
Merged
LunarConcerto merged 3 commits intoOct 24, 2026
Merged
Conversation
离线服务端没有 interactionitem 模块(8 个方法都落到空应答),登录不推 interactionitem.RefreshInteractionItems,存档也没有装饰状态: 背包「装飾」页是空的,切换套装没反应,保存海报只是假成功。 - DecorCatalogLoader:从客户端配置载入装饰道具、套装与海报画框(参数 377),不写死行数;两条账号加载路径里 EnsureAllDecor 持有全部装饰(与时装一致,不设开关) - 登录同步推 RefreshInteractionItems(num、state、curSelect、posterId 等全部显式写出);存档里失效的套装 id 重置为 0(客户端主页遇到未知套装会报错) - InteractionItemModule:SetMutexBagGroupState / SetBagItemVisible / SetPosterState 校验后存进 PlayerAccount.Decor,在 PrePushes 里推变化; GetItemReward 对 type 1 等回错误(否则客户端按奖励 0 查表报错),已关闭活动的购买/领取回错误 - 背包里的 25xxxx 装饰迁出到装饰状态,AddBagItem 遇到 25xxxx 直接计入装饰 - 新增 Mod 声明装饰:Mods/*/decorations.json(规则同 memory-chapters.json:mod.json enabled / targetClients、按路径排序、与客户端配置或其他 Mod 撞号即拒绝、 引用客户端没有的装饰道具即拒绝),MOD_DEVELOPMENT 补说明 - 新增单元测试与集成测试(-- --decor、-- --decor-integration),热更前后两种客户端都通过 Claude-Session: https://claude.ai/code/session_01Un89pGsMN2GvkT9jh5Nz5i
其他功能(如头像框)可能在时装与装饰推送之间插入自己的推送,客户端对这两条推送的先后没有要求。 Claude-Session: https://claude.ai/code/session_01Un89pGsMN2GvkT9jh5Nz5i
Owner
|
合并冲突了 |
- PlayerAccount 末尾并列 Magazine 与 Decor 两个可空字段 - 登录同步:头像框推送之后推装饰推送 - MOD_DEVELOPMENT:装饰一节作为 11.5 放在第 12 章 cn-exclusive 之前,Mods 根目录引用改为 13.4 - CHANGELOG、protocol-coverage、测试列表两边都保留(集成测试顺序沿用上游) Claude-Session: https://claude.ai/code/session_01Un89pGsMN2GvkT9jh5Nz5i
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
离线服务端没有
interactionitem模块(8 个方法都落到空应答),登录不推interactionitem.RefreshInteractionItems,存档也没有装饰状态:复现
打开背包「装飾」页 → 空;在海报页保存海报后重新登录 → 海报没了。
根因
见上:客户端只从
RefreshInteractionItems推送里拿装饰的持有与状态,所有应答处理都不改本地数据。修法
DecorCatalogLoader:从客户端配置载入装饰道具、套装与三个海报画框(参数 377),不写死行数(热更客户端 68 件,1.4.0 为 66 件)。EnsureAllDecor,两条账号加载路径),不设开关;装饰的来源几乎都是早已结束的活动、通行证与联动。RefreshInteractionItems,num、state、curSelect、posterId全部显式写出;存档里失效的套装 id 重置为 0(客户端主页遇到未知套装会报错);只推客户端配置里有的 id。InteractionItemModule:切换套装、显示/隐藏单件家具、挂海报在校验后存进PlayerAccount.Decor(新的可空字段),变化放进 PrePushes;GetItemReward对 type 1 等回错误(否则客户端会按奖励 0 查表报错);已结束活动的购买/领取回错误。AddBagItem遇到 25xxxx 直接计入装饰。Mods/*/decorations.json:规则与equipment.json一致(mod.json的enabled与targetClients、按路径排序),与客户端配置或其他 Mod 撞号、引用客户端没有的装饰道具时拒绝;MOD_DEVELOPMENT.zh-CN.md写明格式和启用状态不一致时的风险。protocol-coverage.md同步。验证方式
dotnet build .\BlueOath.Local.sln:0 警告 0 错误(含--no-incremental全量重建)。-- --decor:2/2(目录、编解码显式 0、三种设置的校验与持久化、失效套装重置、25xxxx 迁移、decorations.json 规则),-- --decor-integration:1/1(登录推送、推送先于应答、重新登录后状态保留、显示与海报往返);打过 2023-02 热更与未热更的 1.4.0 客户端都通过。--integration只有已知基线失败。已知限制
https://claude.ai/code/session_01Un89pGsMN2GvkT9jh5Nz5i