Files
admin 0593ff7e62
nginx serve /uploads direct (audio speed) / patch-nginx (push) Failing after 1m34s
数字我 Digital Me:全量入库(大文件走 Git LFS)
2026-10-10 16:24:43 +08:00

35 lines
1.8 KiB
JavaScript

// ★ 李广/李蔡 落在哪一支 + 打平集合的势
import { computeRank, profileFromSubs, computeAxes, DYNASTIES } from '../src/dynasties.js';
import { subsOf, renwuOf } from '../src/renwu.js';
import { SUB_REGISTRY } from '../src/talents.js';
for (const id of ['liguang', 'licai']) {
const subs = subsOf(id);
const r = computeRank(profileFromSubs(subs, { wang: 0 }), 'han');
console.log(`\n【${renwuOf(id).name}】subs=${JSON.stringify(subs)} axes=${JSON.stringify(computeAxes(subs))}`);
console.log(` channel=${r.channel ? r.channel.id : 'null'} tier=${r.rank.tier} title=${r.rank.title}`);
console.log(` nearest=${r.nearest} nearestTie=${JSON.stringify(r.nearestTie)}`);
console.log(` kai=${JSON.stringify(r.kai.map((k) => k.channel))} zelu.options=${JSON.stringify(r.zelu.options)}`);
}
const SUBS = SUB_REGISTRY.map((s) => s.id);
let opt3 = 0, boss3 = 0, optN = 0, bossN = 0;
for (let m = 0; m < (1 << 16); m++) {
const subs = []; for (let i = 0; i < 16; i++) if (m & (1 << i)) subs.push(SUBS[i]);
const axes = computeAxes(subs);
for (const wang of [0, 29, 30, 54, 55, 74, 75, 100]) for (const d of DYNASTIES) {
const r = computeRank({ axes, wang }, d.id);
if (!r.channel) continue;
const walked = r.kai.find((k) => k.walked);
const bossTie = r.kai.filter((k) => k.tier === walked.tier && k.ceiling === walked.ceiling);
if (bossTie.length > 1) bossN++;
if (bossTie.length > 2) boss3++;
const o = (r.zelu.options || []).length;
if (o > 1) optN++;
if (o > 2) opt3++;
}
}
const N = (n) => n.toLocaleString();
console.log(`\n★ 现行 zelu.options(只收 lostAt==='idx'):>1 条 ${N(optN)} 格;≥3 条 ${N(opt3)} 格`);
console.log(`★ 老板判据(同 tier 同 ceiling): >1 条 ${N(bossN)} 格;≥3 条 ${N(boss3)} 格`);