배치 분석 · 홀로도리 계산기
01

분석 조건

{candidateCount.toLocaleString('ko-KR')}개 후보
자동 계산 종합력{overallPower.toLocaleString('ko-KR')}
길이 {selectedChart?.durationSeconds ?? 0}초노트 {selectedChart?.totalNotes?.toLocaleString('ko-KR') ?? 0}개1노트 {Math.ceil(perfectNoteScore).toLocaleString('ko-KR')}점{#if boardEffects.directSongScoreBonusPercent > 0}가창 보너스 {boardEffects.directSongScoreBonusPercent}%{/if}
{#each selectedCardIds as selectedId, slot}
{selectedAwakenings[slot]}
{#each REDUCTION_LOCK_OPTIONS as reduction} {/each}
{/each}
리더 의상 효과

{leaderOutfitDescription || '적용할 수 있는 5성 의상이 없습니다.'}

최대 레벨 기준 · 기본 {unitPower.baseParameterTotal.toLocaleString('ko-KR')} + 개화 {unitPower.potentialTotal.toLocaleString('ko-KR')} + 패시브 {unitPower.passiveTotal.toLocaleString('ko-KR')} + 의상 {unitPower.outfitTotal.toLocaleString('ko-KR')} + 보드 {unitPower.boardTotal.toLocaleString('ko-KR')} + 메모리 {unitPower.memoryTotal.toLocaleString('ko-KR')} ({memoryCount}개) + 멤버 강화 {unitPower.memberPowerUpTotal.toLocaleString('ko-KR')} ({memberPowerUpPercent.toLocaleString('ko-KR')}%)

{#if errorMessage}{/if} {#if running}{/if}
02

분석 결과

{#if result}

추천 스페셜 발동 순서

    {#each result.order as cardId, slot}
  1. {slot + 1}{resultCardName(cardId)}쿨타임 {result.cooldownReductions[cardId]}% 감소
  2. {/each}
예상 점수{result.expectedScore.toLocaleString('ko-KR')}
이론상 고점{result.theoreticalMaxScore.toLocaleString('ko-KR')}
스킬 미발동 기준{result.baselineScore.toLocaleString('ko-KR')}
최고점 100%{probabilityLabel(achievementProbabilities?.maximum)}
최고점의 99% 이상{probabilityLabel(achievementProbabilities?.atLeast99Percent)}{scoreThreshold(result.theoreticalMaxScore, 0.99)}점 이상
최고점의 95% 이상{probabilityLabel(achievementProbabilities?.atLeast95Percent)}{scoreThreshold(result.theoreticalMaxScore, 0.95)}점 이상

모든 노트를 PERFECT로 처리한다고 가정하고 액티브 발동 확률만 반영합니다. 100%는 정확 계산, 99%·95% 이상은 25,000회 반복 계산값이며 최고점에 영향을 주지 않는 발동 실패는 100% 달성 확률을 낮추지 않습니다.

스킬 발동과 노트 분포

멤버별 액티브와 실제 적용 구간, 스페셜 순서를 같은 시간축에서 비교합니다.

{#each result.order as cardId}{resultCardName(cardId)}{/each}
초당 노트
{#each noteCountsBySecond as count, second} {/each}
{#each result.order as cardId, slot}
{slot + 1}{resultCardName(cardId)}
{#each result.activeWindows.filter((window) => window.cardId === cardId) as window} {/each}
{/each}
최종 액티브
{#each displayedEffectiveActiveWindows as window} 1 ? ` · 최대 ${window.maxOverlapCount}명 중 가장 높은 효과` : ''}`} role="img" aria-label={`${resultCardName(window.cardId)} 액티브가 ${formatSeconds(window.startSeconds)}부터 ${formatSeconds(window.endSeconds)}까지 적용`} > {/each}
스페셜
{#each result.specialWindows as window} {/each}
{:else}
조건을 선택하고 분석을 시작하면 최적 배치와 각 멤버의 쿨타임 감소량이 여기에 표시됩니다.
{/if}