fix: scoring & game logic bugs — arena modifiers, human timeout, validated prompts
- scoring.ts: wire arena damage modifiers (speed_2x, roast_2x, etc.) into applyModifiers() - human-responses.ts: use challenge.timeout_ms instead of hardcoded 8s - FightPage.vue: add route watcher for clean state reset on navigation - Validated all 800 prompts: 0 duplicates, all factual have answers, all choices have 4 items Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
4c576b0369
commit
a4008bcf88
@@ -174,13 +174,34 @@ export function scoreRound(
|
||||
}
|
||||
}
|
||||
|
||||
const ARENA_MODIFIER_TYPES: Record<string, string[]> = {
|
||||
speed_2x: ['speed_blitz'],
|
||||
efficiency_buff: ['token_economy'],
|
||||
roast_2x: ['roast_battle'],
|
||||
accuracy_buff: ['hallucination_check'],
|
||||
wrestling_2x: ['wrestling_match', 'roast_battle'],
|
||||
food_2x: ['food_fight'],
|
||||
magic_2x: ['magic_duel', 'medieval_combat'],
|
||||
meme_2x: ['meme_war'],
|
||||
space_2x: ['space_war'],
|
||||
demo_2x: ['demolition', 'vehicle_mayhem'],
|
||||
music_2x: ['music_battle'],
|
||||
nature_2x: ['nature_clash', 'animal_kingdom'],
|
||||
hack_2x: ['hack_battle'],
|
||||
sports_2x: ['sports_showdown'],
|
||||
}
|
||||
|
||||
function applyModifiers(
|
||||
damage: number,
|
||||
_challenge: Challenge,
|
||||
_arenaModifier: string | null,
|
||||
challenge: Challenge,
|
||||
arenaModifier: string | null,
|
||||
combo: number,
|
||||
): number {
|
||||
let d = damage
|
||||
// Arena modifier: 2x damage when challenge type matches
|
||||
if (arenaModifier && ARENA_MODIFIER_TYPES[arenaModifier]?.includes(challenge.type)) {
|
||||
d *= 2
|
||||
}
|
||||
if (combo > 0) {
|
||||
d *= 1 + Math.min(combo, 5) * 0.2
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user