Usum Catch Rate Calculator

Pokémon USUM Catch Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; background-color: #f4f6f8; } .calculator-wrapper { background: #ffffff; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 30px; margin-bottom: 40px; border-top: 5px solid #E3350D; } .calc-title { text-align: center; color: #2c3e50; margin-bottom: 25px; font-size: 24px; font-weight: 700; } .input-group { margin-bottom: 20px; } .input-row { display: flex; gap: 20px; margin-bottom: 20px; } .input-col { flex: 1; } label { display: block; margin-bottom: 8px; font-weight: 600; color: #555; font-size: 14px; } input[type="number"], select { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box; transition: border-color 0.3s; } input[type="number"]:focus, select:focus { border-color: #E3350D; outline: none; } .helper-text { font-size: 12px; color: #888; margin-top: 4px; } button { width: 100%; padding: 15px; background-color: #E3350D; color: white; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; margin-top: 10px; } button:hover { background-color: #c02b0a; } #result { margin-top: 25px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; border-left: 5px solid #3498db; display: none; } .result-main { font-size: 28px; font-weight: 800; color: #2c3e50; text-align: center; margin-bottom: 10px; } .result-detail { font-size: 15px; color: #666; margin: 5px 0; border-bottom: 1px solid #eee; padding-bottom: 5px; } .article-content { background: #fff; padding: 30px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); } h2 { color: #E3350D; margin-top: 30px; font-size: 22px; } h3 { font-size: 18px; color: #444; } ul { padding-left: 20px; } li { margin-bottom: 10px; } .pokemon-badge { display: inline-block; background: #eee; padding: 2px 6px; border-radius: 4px; font-size: 0.9em; font-weight: bold; } @media (max-width: 600px) { .input-row { flex-direction: column; gap: 0; } .input-group { margin-bottom: 15px; } }
USUM Catch Rate Calculator
Input 3 for Legendaries, 45 for Starters, 255 for Common.
Poké Ball (x1.0) Great Ball (x1.5) Ultra Ball (x2.0) Net Ball (Water/Bug) (x3.5) Dusk Ball (Cave/Night) (x3.0) Quick Ball (Turn 1) (x5.0) Beast Ball (on UB) (x5.0) Beast Ball (Non-UB) (x0.1) Master Ball (Guaranteed)
Lower is better for catching.
None Paralysis / Poison / Burn (x1.5) Sleep / Freeze (x2.5)
None Roto Catch (x1.5)

Understanding Pokémon Ultra Sun & Ultra Moon Capture Mechanics

Catching Pokémon in Ultra Sun and Ultra Moon (USUM) involves a complex mathematical formula that determines whether a thrown Poké Ball will successfully contain a wild Pokémon. Unlike simpler luck-based systems, Gen 7 mechanics allow players to significantly manipulate the odds through strategy, item usage, and status effects.

The Gen 7 Capture Formula

The "Modified Catch Rate" determines your success. The game calculates a value based on several factors:

  • HP Factor: This is the most critical variable. A Pokémon at 1 HP is significantly easier to catch than one at full health. The formula compares Current HP to Maximum HP.
  • Base Catch Rate: Every species has a fixed rate ranging from 3 (hardest, e.g., Necrozma, Tapu Koko) to 255 (easiest, e.g., Pikipek, Yungoos).
  • Ball Multiplier: Different balls apply different multipliers. While an Ultra Ball provides a standard x2 multiplier, specialized balls like the Beast Ball offer a x5 multiplier against Ultra Beasts but a penalty (x0.1) against standard Pokémon.
  • Status Bonus: Status conditions are vital for tough catches. Putting a Pokémon to Sleep or freezing it applies a massive x2.5 multiplier, whereas Paralysis, Poison, and Burn offer a x1.5 boost.

Optimizing for Ultra Beasts

In Ultra Sun and Ultra Moon, catching Ultra Beasts (UBs) like Nihilego or Stakataka is a core gameplay element. When hunting UBs:

  • Use Beast Balls: These are specifically designed for UBs, offering a x5 catch rate multiplier.
  • Avoid Standard Balls on UBs: A regular Poké Ball is much less effective unless the UB is weakened significantly.
  • False Swipe: This move is essential as it leaves the target with exactly 1 HP, maximizing the HP factor in the capture formula.

Rotom Powers

USUM introduced the Rotom Dex, which can provide "Roto Powers." The Roto Catch power increases your catch rate multiplier, stacking with ball types and status conditions. This is extremely useful for legendary encounters where the base catch rate is as low as 3.

Common Base Catch Rates Reference

  • 3 Legendaries (Necrozma, Solgaleo, Lunala), Ultra Beasts.
  • 45 Rare wild Pokémon, Starters.
  • 120-190 Average wild Pokémon (e.g., Roggenrola, Mudbray).
  • 255 Early route common Pokémon (e.g., Caterpie, Rattata).
function calculateCapture() { var speciesRate = parseFloat(document.getElementById('speciesRate').value); var ballMult = parseFloat(document.getElementById('ballType').value); var maxHP = parseFloat(document.getElementById('maxHP').value); var currentHP = parseFloat(document.getElementById('currentHP').value); var statusMult = parseFloat(document.getElementById('statusCondition').value); var rotoMult = parseFloat(document.getElementById('rotoPower').value); var resultDiv = document.getElementById('result'); // Reset result display resultDiv.style.display = 'none'; resultDiv.innerHTML = "; // Validation if (isNaN(speciesRate) || isNaN(maxHP) || isNaN(currentHP)) { resultDiv.style.display = 'block'; resultDiv.innerHTML = '
Please enter valid numbers for Base Rate and HP.
'; return; } if (currentHP > maxHP) { resultDiv.style.display = 'block'; resultDiv.innerHTML = '
Current HP cannot be greater than Max HP.
'; return; } if (speciesRate 255) { resultDiv.style.display = 'block'; resultDiv.innerHTML = '
Base Catch Rate must be between 1 and 255.
'; return; } // Check for Master Ball logic // Master Ball is usually value 255 or effectively infinite, we treated it as 1 in value but we handle it specifically here var ballSelect = document.getElementById('ballType'); var selectedText = ballSelect.options[ballSelect.selectedIndex].text; if (selectedText.includes("Master Ball")) { resultDiv.style.display = 'block'; resultDiv.innerHTML = `
100.00%
Master Ball guarantees capture!
`; return; } // Gen 7 Catch Formula Calculation // 1. Modified Catch Rate (X) // X = ( ( ( 3 * MaxHP – 2 * CurrentHP ) * (Rate * BallMod) ) / (3 * MaxHP) ) * StatusMod // Apply Roto Catch to the Ball Mod or Status Mod depending on interpretation, // usually stacks as a multiplier to the capture likelihood. // In USUM, Roto Catch boosts the capture power. Let's apply it to the modifier stack. var hpFactorNumerator = (3 * maxHP) – (2 * currentHP); var hpFactorDenominator = (3 * maxHP); // Avoid division by zero if (hpFactorDenominator === 0) hpFactorDenominator = 1; var modifiedRate = speciesRate; // Apply modifiers var X_numerator = hpFactorNumerator * modifiedRate * ballMult * rotoMult; var X = (X_numerator / hpFactorDenominator) * statusMult; X = Math.floor(X); // Game usually floors values var catchProbability = 0; var shakeCheck = 0; // If X >= 255, catch is guaranteed if (X >= 255) { catchProbability = 100; } else { // Shake Probability Calculation (Gen 7) // Y = floor( 65536 / ( (255 / X) ^ 0.1875 ) ) // Note: 0.1875 is 3/16 if (X < 1) X = 1; // Safety minimum var power = 0.1875; var innerTerm = 255 / X; var denominator = Math.pow(innerTerm, power); var Y = Math.floor(65536 / denominator); // The game performs 4 checks. Each check compares a random number (0-65535) to Y. // If Random 100) catchProbability = 100; // Format result var probabilityDisplay = catchProbability.toFixed(2) + "%"; // Estimated balls needed (1 / probability) var expectedBalls = catchProbability > 0 ? (100 / catchProbability).toFixed(1) : "Infinite"; if (catchProbability === 100) expectedBalls = "1"; resultDiv.style.display = 'block'; resultDiv.innerHTML = `
Catch Chance: ${probabilityDisplay}
Modified Catch Value (X): ${X} (Guaranteed at 255)
Estimated Throws: ~${expectedBalls}
HP Factor: ${(hpFactorNumerator/hpFactorDenominator).toFixed(2)} / 1.0
`; }

Leave a Comment