Repository navigation
新增「头像全部解锁」作弊(--cheat-heads,默认开):舰娘的表情、换装与活动头像都可选用 - #108
Merged
Merged
Conversation
- 客户端只从登录同步的 user.NewHeadUnlockedList 得知哪些头像已解锁,服务端以前每艘舰娘只推一个 (模板 − 1) / 10,改造过的舰娘连默认头像都对不上,表情与换装头像全部带锁(「未获得战姬」只是该行的说明文字)。 - 开启:推 config_profile 全表(按所属舰娘分组,ProfileID 逐条编码);关闭:船坞里舰娘的默认头像、已拥有换装的头像与当前头像。 模板经 config_ship_main / config_ship_info 换算 sf_id;客户端没有 config_profile 时保持原来的行为。 - user.SetHead 改为加锁校验,未解锁的 id 回 3600006 且不改档,应答前推 user.UpdateUserInfo; 用户信息里的头像不在当前客户端的表里时改发秘书舰的默认头像(不改存档)。 - user.GetHeadBuyCount 回显请求的舰娘;user.BuyHead 不再回假的成功(离线不实现购买,回 110025)。 - 开关接线同 --cheat-magazine:服务端、ready JSON、启动器设置页、Publisher、run-game.bat / debug-game.ps1 与文档。 - 测试:--heads、--heads-integration(也在 --integration 里),热更前后两版客户端都通过。
FrostFlops
added a commit
that referenced
this pull request
Oct 25, 2026
FrostFlops
added a commit
that referenced
this pull request
Oct 25, 2026
CHANGELOG:去掉合并 #108 时重复的测试主题行和过时的失败说明
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.
问题
资料页 → 头像 → 某艘舰娘的「アイコン一覧」:除了默认立绘头像,表情、换装与活动头像全部带锁,选中后只提示「このアイコンが解放されていません」(详情里的「戦姫未獲得」只是
config_profile该行的说明文字,与是否拥有舰娘无关)。改造过的舰娘连默认头像都带锁。复现
任意存档登录 → 资料 → 头像 → 戦姫一覧 → 朝日:只有第一个头像可用,「泣く子も黙る笑顔」等带锁。
根因
user.NewHeadUnlockedList/user.NewHeadUnlock推送得知哪些头像已解锁(HeadData.ShipHeadUnlockData)。服务端只在登录同步里推NewHeadUnlockedList,每艘舰娘一个节点、ProfileID = (模板 − 1) / 10:只覆盖未改造舰娘的默认头像,改造后得到的是改造图鉴 id,config_profile里没有这一行。user.SetHead不校验就保存任意非 0 id;存了客户端表里没有的头像时,资料页与头像框页的IsSecretaryMarried按它查config_profile不判空会报错。user.BuyHead回空的成功应答,客户端记一条购买成功却什么也没解锁;user.GetHeadBuyCount总回 ShipFleetId=0。修法
--cheat-heads「头像全部解锁」(默认开,与其他作弊一致)。开启:登录推送config_profile全表,按所属舰娘分组(ProfileID逐条编码,客户端的 packed 解码器有问题);中途获得的舰娘也不用补推。关闭:船坞里舰娘的默认头像、已拥有换装的换装头像与当前头像。模板经config_ship_main/config_ship_info换算 sf_id。config_profile读不到(例如国服客户端)时保持原来的行为。user.SetHead改为在账号锁内校验,未解锁的 id 回 Err 3600006(客户端弹出与自己检查时相同的提示)且不改档;无论成败都在应答前推user.UpdateUserInfo(应答处理器会立即按用户数据重画头像)。user.GetHeadBuyCount回显请求的舰娘、次数 0;user.BuyHead回 110025「機能はまだ開放されていません」,不扣货币(付费头像在作弊开启时本来就已解锁,购买按钮不会出现)。--cheat-magazine:CheatOptions、ServerOptions、ready JSON 回显heads、启动器设置页「头像全部解锁」、launcher-settings.json、Publisher、run-game.bat/start-client.bat/debug-game.ps1(-CheatHeads/-NoCheatHeads)、README、CHANGELOG、time-and-options.md、protocol-coverage.md。已知限制
[29, id]头像奖励离线不实现(后者仍走普通背包道具路径,可另开修复)。验证方式
dotnet build .\BlueOath.Local.sln:0 警告 0 错误。-- --heads、-- --heads-integration、-- --cheats在打过热更(347 行config_profile)与未热更的 1.4.0(307 行)客户端上都通过;--integration只有已知基线的 5 项失败。