$ma/$mg, $wx/$hx, $serverdisable may also affect pool size.
$ma/$mg, $wx/$hx, $serverdisable may also affect pool size.
$persrare). Mudae rerolls until an unclaimed or wish result, up to N attempts. N=1 means no rerolling. Valid range: 1–10.Every roll in $bw or $bk is one fewer roll on actual characters. Net rolls = your base rolls minus whatever is locked in $bw and $bk.
The bonus shown in $bonus combines several sources. The calculator strips out the $bw portion and keeps the rest ($k, slash, $kt/$tuto) as a fixed offset, then recomputes the full bonus at every hypothetical $bw. Slash commands add a flat +10% to both wish and starwish.
The spawn rate of a character can be approximated by the character's weight / total pool weight. A character's weight is determined by the bonuses it gets — the global wish/starwish spawn bonus from $bw, $k, and slash commands, plus any perk 1 bonus from adjacent wishlist neighbours (shop upgrade 1 feeds a portion back to the character itself).
The total pool weight is determined by the base pool size (1 per character) with all wishlist character weights added.
Treat numbers as relative comparisons, not exact rates.
Every spawn of an owned character gives 1 guaranteed key, plus two independent chances for extras: the global KT tower bonus (from $bonus), which can give one or two additional keys, and perk 4 per character, which can give one additional key on top. Because expected values are additive, the formula is simply the sum of the three independent probabilities.
Perk 4 levels: lv1=+4%, lv2=+8%, lv3=+12%, lv4=+16%, lv5=+20%, lv6=+25% (+30% fully upgraded).
Multiply net rolls × spawn chance × expected keys per roll. The calculator shows this for every bw value from 0 to your max.
Three rows are highlighted: your current $bw, the bw that maximises EV for the selected character, and the bw that maximises total EV across your full wishlist.
When $persrare is active, any roll that lands on a claimed (but non-wished) character is rerolled up to N times. Only the Nth attempt is a forced accept — if all N rolls hit claimed characters, you get a claimed character. Enter the count of claimed non-wish characters (C) and the reroll limit (N) in the Advanced inputs section to model this.
This boosts effective spawn chance for wish and unclaimed characters. The boost is bw-dependent: at lower $bw the total pool weight is smaller, so the claimed fraction r = C / totalWt is larger and the reroll benefit is greater. This means the reroll system slightly favours lower $bw values — the optimal $bw may shift downward compared to the no-reroll case, by an amount that grows with C's share of the pool.
When C = 0 or N = 1, the formula reduces to the standard spawn probability.
Two per-hour limits affect $bw optimisation:
Key cap (2,200/hr). You cannot earn more than 2,200 keys per hour. If your total wishlist EV exceeds 2,200, the excess is wasted. In that case, the calculator shows the lowest $bw that reaches the cap — any additional $bw beyond that point provides no extra keys and costs net rolls.
Slash command bonus cap (1,440/hr). Discord rate-limits slash commands to roughly 2 per 5 seconds (1,440/hr). The first 1,440 rolls each hour receive the +10% slash spawn bonus; any rolls beyond 1,440 still work but must use $-prefix commands, which don't get the bonus. The calculator models this split when "Uses slash commands to roll" is checked — overflow rolls use a lower spawn rate.
You can combine slash and $-commands to roll faster than 1,440/hr, but only the slash rolls get the +10% spawn bonus.