UNPKG

koishi-plugin-beatsaber-bot

Version:

一个 用于 BeatSaber 的 koishi Bot 插件

54 lines (53 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BeatLeaderFilter = void 0; const filterMap = { 'rank-only': RankOnly, 'huge-improve': HugeImprove, 'high-stars': HighStar, 'standard': StandardMode, 'high-pp': HighPP, 'top-score': TopScore, 'fc-only': FullComboOnly, }; function RankOnly(event) { return event.pp != 0; } function FullComboOnly(event) { return event.fullCombo; } function HugeImprove(event, ppImprovePercent) { event.scoreImprovement.pp; return event.rankVoting != null; } function HighStar(event, stars) { return event.leaderboard.difficulty.stars >= stars; } function StandardMode(event) { return event.leaderboard.difficulty.modeName === "Standard"; } function HighPP(event, minPP) { return event.pp > minPP; } function TopScore(event, minTop) { return event.rank != 0 && event.rank <= minTop; } function BeatLeaderFilter(event, ...filters) { for (const filter of filters) { const fc = filterMap[filter.filterName]; if (fc) { try { if (fc.length - 1 > filter.filterParams.length) { continue; } const res = fc(event, ...filter.filterParams); if (!res) return false; } catch (e) { } } } return true; } exports.BeatLeaderFilter = BeatLeaderFilter;