fix: both-wrong draws + double TTS entrance fix
Scoring: both-wrong is now a DRAW — equal scores (3/3), no winner, symmetric minimal damage. Garbage answers no longer beat reasonable ones just by being faster. Both-wrong narrations reflect the draw. Entrance: removed duplicate announceDeepIntro() call from FightViewer (was already called inside playEntrance). Removed _resetPositions() after entrance (entrance already places fighters at home positions, the extra reset caused a visible snap/reset). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
017d0e3e4c
commit
6f0eb92ebb
@@ -3,7 +3,7 @@ import { ref, onMounted, onUnmounted, nextTick } from 'vue'
|
||||
import { createFightScene, type FightSceneController } from '../game/FightScene'
|
||||
import {
|
||||
fanfareRound, fanfareFight, announce, announceDeep, announceFast,
|
||||
announceDeepIntro, announceRandomHype, announceRoundHype,
|
||||
announceRandomHype, announceRoundHype,
|
||||
announceFinishHim, announceFlawlessVictory,
|
||||
sfxCrowdCheer, sfxCrowdGasp, sfxCrowdOoh, sfxApplause, sfxDrumRoll,
|
||||
setMusicIntensity, stopAllAudio,
|
||||
@@ -382,8 +382,7 @@ async function _doReplay() {
|
||||
}
|
||||
await sleep(300)
|
||||
|
||||
// Deep movie trailer intro
|
||||
announceDeepIntro()
|
||||
// Arena intro overlay (deep voice intro plays inside playEntrance)
|
||||
await showOverlay(props.fight.arenaInfo?.name || 'THE RING', '#b83dff', 900)
|
||||
logItems.value.push(
|
||||
{ type: 'system', round: 0, text: `ARENA: ${props.fight.arenaInfo?.name || 'THE RING'}`, color: 'neon-purple' },
|
||||
@@ -393,12 +392,9 @@ async function _doReplay() {
|
||||
scrollLog()
|
||||
await sleep(200)
|
||||
|
||||
// Entrance animations
|
||||
// Entrance animations (positions fighters at home, no reset needed after)
|
||||
if (scene) {
|
||||
await scene.playEntrance()
|
||||
// Safety: ensure fighters are visible after entrance (prevents invisible characters if entrance times out)
|
||||
// Re-check: scene could be destroyed during async playEntrance()
|
||||
scene?._resetPositions()
|
||||
if (!scene) return
|
||||
await sleep(300)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user