File size: 1,348 Bytes
7d9742d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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));