diff --git a/src/pages/team-battle/index.vue b/src/pages/team-battle/index.vue index b269f64..4451bd3 100644 --- a/src/pages/team-battle/index.vue +++ b/src/pages/team-battle/index.vue @@ -318,6 +318,22 @@ function enqueueBattleMessage(message) { if (battleEnded && message.type !== MESSAGETYPESV2.BattleEnd) return; if (message.type === MESSAGETYPESV2.BattleEnd) battleEnded = true; + if (message.type === MESSAGETYPESV2.InvalidShot) { + const receivedAt = Date.now(); + const order = ++queueOrder; + battleQueue.value.push({ + message, + type: message.type, + key: `${message.type}:invalid:${receivedAt}:${order}`, + serverTime: 0, + receivedAt, + order, + }); + sortBattleQueue(); + runBattleQueue(); + return; + } + // 入队阶段只做排序、去重和时间边界判断,不直接改 UI。 const serverTime = getServerTime(message); const key = getMessageKey(message);