盐场bug 6.7 ¶
问题1:
状态:未处理
现象:盐场结束后奖励发放不正确 没有俱乐部排行 奖励 只有个人排行奖励 且奖励不正确
预期:正常发放俱乐部排行 个人排行奖励 且按照策划奖励发放
截图:
问题2:
状态:已修复(待回归验证)
现象:盐场结束后战报显示不对
预期:根据玩家盐场内实际击杀死亡连杀 积分正确显示:
根因:
- 结束页“盐场荣誉”读取实时战场玩家对象:击杀
killCnt、死亡d、最高连杀mCK、个人积分point、占城积分aB。 - 服务端 PVP 结算只维护胜者
killCnt/conKill/mCK,没有给败者累加死亡字段d,导致死亡数不准。 - 服务端打建筑结算只给
point +1,没有维护客户端展示的占城字段aB,导致占城积分一直为 0。 - 盐场结束通知只推
state/endTime,最终弹窗依赖战斗结束/攻城结束增量里已合并的本地玩家字段;原增量没有统一带point/d/aB等结果字段,容易显示旧缓存。
修复: - PVP 结算时败者
d + 1,继续维护胜者killCnt/conKill/mCK。 - 攻打建筑成功时攻击者
aB + 1,并保留原个人积分point +1。 - 战斗结束、接力战结束、攻城结束的角色增量统一带
point/killCnt/conKill/mCK/d/dC/aB/lastKillMeId/multiKillId。 - 组队接力结束组包改为锁内拷贝共享战场 map,锁外只读副本,降低并发 map 读写风险。
测试建议: - 单人 PVP:A 击杀 B,结束页 A 击杀 +1、最高连杀更新、B 死亡 +1,个人积分 A +5、B +1。
- 连杀回归:同一玩家连续击杀多名玩家,
mCK显示最大连杀;被击杀后当前连杀清零。 - 打建筑:玩家完成一次刨地/攻城后,结束页“占城积分”增加,个人积分同步增加。
- 组队接力 PVP:多轮战斗结束后,队伍内胜负双方的击杀、死亡、最高连杀、个人积分在最终荣誉页一致。
- 历史战报:盐场结束后重新打开当日战报/盐场荣誉,字段与结束瞬间显示一致。
- 并发回归:多人同时打同一建筑、PVP 与攻城交错进行,不出现
concurrent mappanic,战场结束页和历史荣誉均可正常打开。
验证: GOCACHE=/tmp/go-build GOTMPDIR=/tmp go test . -run 'Test(ApplyBattleKillStats|CompleteBattle_IncrementsWinnerLegionKillCnt|CompleteBattle_KeepsDisplayPowerAfterEnergyDeduct|CompleteBattle_RebuildsTeamIDsAfterLoserRemoved|CompleteBuildingBattle_IncrementsAttackBuildingStatAndDelta|SaltfieldActionIndexes_TeamBuildingBattleLifecycle|LegionGetWarHonor_ReturnsClientHonorPayload)' -count=1GOCACHE=/tmp/go-build GOTMPDIR=/tmp go test ./domains/legion/read ./domains/legion/war/saltfield ./internal/legionx -count=1
备注:2026-06-06 本地日志只有 app/client_track,缺少能还原当场完整战斗统计的协议日志;本次按客户端字段契约和服务端确定性结算路径定位,并用回归测试覆盖。
截图:
问题3:
状态:未处理
现象:玩家死亡后 还显示在哪块地 不会消失
预期:死亡后不会显示在地图上
截图:

问题4:
状态:未处理
现象:地块占领后还会显示玩家刨地并显示刨地特效
预期:占领地块后 不会还存在刨地特效
截图:
问题5:
状态:未处理
现象:战斗 防守 攻击列队 会出现一个玩家分化两个的情况
预期:不会存在一个人显示两个自己
截图:

问题6:
状态:未处理
现象:盐场内存在错误播报连杀情况
预期:根据玩家真实连杀播报
问题7:
状态:未处理
现象:盐场内存在回档情况 (如占领的地重置 消耗的金砖恢复消耗前的数量)
预期:不会出现回档情况
评论
请登录后发表评论。
暂无评论。成为第一个评论者!