Limited Mythic Pulls
A Deep Dive into the Anvil Calculator's Guarantee System.
It's a Two-Step Process
Acquiring a Limited Mythic (LM) champion isn't one roll of the dice; it's two separate events that happen in sequence. You must pass both layers, each with its own "pity" mechanic.
1. Pull ANY Mythic
This has a base probability and a hard pity counter.
2. Win the LM Roll
This determines if the mythic is the featured LM.
Layer 1: The Mythic Pull
The first hurdle is to pull a mythic champion of any kind. This layer has a standard pity system. Each non-mythic pull fills up a "pity" meter toward a guaranteed mythic.
Mythic Pity Counter
If you don't get a mythic by chance, the counter fills and guarantees one at the `mythicHardPity` limit.
Guaranteed Mythic
Layer 2: The Limited Mythic Guarantee
Once you pull a mythic, this second pity system activates. It protects you from never getting the featured champion. You can only pull 3 Non-Mythic (NM) champions in a row. The next mythic is guaranteed to be the LM.
NM Pull #1
NM Pull #2
NM Pull #3
GUARANTEED LM
Putting It All Together: A Sample Journey
Let's walk through a hypothetical scenario to see how both pity systems work together. In this example, we'll use the actual Mythic Hard Pity of 50 pulls.
Pull #42: Lucky Mythic!
You pull a mythic before pity. Now Layer 2 activates.
Outcome: Mythic (M)
LM Pity Streak: 1
Pull #92: Hard Pity Mythic
50 pulls after the last mythic, pity guarantees another.
Outcome: Mythic (M)
LM Pity Streak: 2
Pull #142: Hard Pity Mythic
Another 50 pulls, another guaranteed mythic.
Outcome: Mythic (M)
LM Pity Streak: 3
Pull #192: GUARANTEED LM
A 4th mythic is pulled. Since the LM Pity streak was 3, this is a guaranteed LM.
Outcome: Limited Mythic!
LM Pity Streak resets to: 0
Anatomy of a Mythic Cycle
A "cycle" is complete once you obtain one Limited Mythic. This can happen on your first mythic pull of the cycle, or all the way to the fourth (the guarantee). Here's how the odds break down with a 50% actual LM rate:
Path 1: LM on 1st Mythic
You win the 50/50 roll immediately.
Path 2: LM on 2nd Mythic
You lose the first 50/50 (pull an NM), then win the second.
Path 3: LM on 3rd Mythic
You lose two 50/50s in a row, then win the third.
Path 4: LM on 4th Mythic (Guarantee)
You lose three 50/50s, triggering the guarantee. The fourth mythic MUST be an LM.
The "Black Box": Effective vs. Actual Rate
The Anvil Calculator asks for an "Effective LM Rate," not the base rate. Because of the guarantee system, the rate you actually experience is higher than the base number. The calculator works backward to find the true base rate for its simulation.
Your Input
The "Effective Rate" you enter
Anvil Calculator Logic
Simulation's Rate
The "Actual Rate" used in code
The Code Behind the Curtain
For those interested, here are simplified snippets from the calculator's core logic. This shows how the simulation determines if a pull is successful based on the interlocking pity systems.
Simulating a Single Pull
This function simulates one anvil pull. It first checks for the hard pity on any mythic, then it checks for the LM guarantee if a mythic is pulled.
function simulateSingleRun(params) {
// ... (variable setup) ...
let mythicPityCounter = initialMythicPity;
let nmFailStreak = initialLMPityStreak;
const performPull = () => {
mythicPityCounter++;
// LAYER 1: Did we get a mythic?
if (mythicPityCounter >= hardPity || Math.random() < mythicProb) {
mythicPityCounter = 0; // Reset mythic pity
// LAYER 2: Is the mythic an LM?
const isLMPull = nmFailStreak >= nmGuarantee || Math.random() < lmRateUp;
if (isLMPull) {
nmFailStreak = 0; // Reset LM pity on success
return { isLM: true };
} else {
nmFailStreak++; // Increment LM pity on failure
return { isLM: false };
}
}
return null; // Not a mythic pull
};
// ... (rest of simulation) ...
}