import { getNextMonster, MONSTER_DEFS } from './src/utils/monsterUtils.js'; const mockMonster = { id: 'L2_CA', name: '駭客蟲', stage: 2 }; const classSizes = [10, 30]; const likeCounts = [0, 5, 20]; // Test Low, Mid, High tiers console.log(`Testing Evolution for: ${mockMonster.name} (${mockMonster.id})`); classSizes.forEach(size => { likeCounts.forEach(likes => { // We want to see what it evolves INTO, so we ask for Stage 3 const next = getNextMonster(3, likes, size, mockMonster.id); console.log(`Class: ${size}, Likes: ${likes} -> Next: ${next.name} (${next.id})`); }); }); console.log('\n--- Checking Evolution for Trash Mob (L2_CC) ---'); // Verify if L2_CC evolves to Virus King (L3_CCA) or others const trashMob = { id: 'L2_CC', name: '垃圾怪', stage: 2 }; const nextTrash = getNextMonster(3, 5, 10, trashMob.id); console.log(`Trash Mob (L2_CC) w/ High Likes -> ${nextTrash.name} (${nextTrash.id})`); console.log('\n--- Debugging candidates for L2_CA ---'); // Manually replicate the util logic step const candidates = MONSTER_DEFS.filter(m => m.stage === 3); const currentPath = 'CA'; const rigidMatches = candidates.filter(m => m.id.startsWith(`L3_${currentPath}`)); console.log('Strict Matches for L3_CA*:'); rigidMatches.forEach(m => console.log(m.id, m.name));