โ Excellent (+20%)
โ Good (+10%)
โณ Normal (+0%)
โ Poor (-10%)
๐ฏ Estimated Inherited Stats
Speed Bonus
+0
Stamina Bonus
+0
Power Bonus
+0
Guts Bonus
+0
Wisdom Bonus
+0
Overall Inheritance Quality
โ โ โ
Total Stat Bonus: +0
Understanding Uma Musume Legacy & Inheritance System
The inheritance system in Uma Musume: Pretty Derby is one of the most crucial mechanics for developing powerful racing characters. This legacy calculator helps trainers optimize their inheritance combinations to maximize stat bonuses passed down from parent Uma Musume to their offspring.
How Inheritance Works in Uma Musume
When training a new Uma Musume, you select two parent characters whose stats and skills can be inherited. The inheritance system uses a complex formula that considers:
Parent Base Stats: The five core stats (Speed, Stamina, Power, Guts, Wisdom) from both parents contribute to the inheritance pool
Inheritance Level: Ranges from 1-3 stars, with higher levels providing better stat transfer rates (5%, 10%, or 15%)
Compatibility Rating: The relationship between parents affects bonus multipliers significantly
Blue Factors: Special inheritance factors that boost specific stats during the training process
The Legacy Calculation Formula
Our calculator uses the official game mechanics to estimate your inheritance bonuses:
Base inheritance = (Parent 1 stat + Parent 2 stat) ร Inheritance Level Percentage
Compatibility modifier adjusts the final value by ยฑ10-20%
Each blue factor adds approximately 3-5% additional bonus per factor
Pro Tip: Aim for parents with complementary high stats. If Parent 1 has high Speed (900+) and Parent 2 has high Stamina (900+), the offspring can receive substantial bonuses in both areas, creating a well-rounded competitor.
Optimizing Your Inheritance Strategy
To maximize your Uma Musume's potential through inheritance:
Focus on Key Stats: Different race types require different stat priorities. Long-distance runners need Stamina, while sprinters benefit from Speed
Build Factor Chains: Repeatedly breeding Uma Musume can accumulate powerful blue factors over generations
Check Compatibility: Always verify parent compatibility before committing to an inheritance pair
Level Up Inheritance: Higher inheritance levels dramatically improve stat bonuses – prioritize reaching 3-star inheritance
Understanding Stat Priorities by Race Type
Different Uma Musume excel in different race categories. Here's how to prioritize inheritance:
Medium (1900-2400m): Stamina > Speed > Power > Wisdom > Guts
Long (2500m+): Stamina > Wisdom > Power > Speed > Guts
Advanced Inheritance Mechanics
Experienced trainers know that inheritance involves more than just stats. Skill inheritance, unique abilities, and aptitude ratings also transfer between generations. Using this calculator alongside careful skill planning ensures your Uma Musume reaches their maximum competitive potential.
Remember that inheritance results have some RNG elements in the actual game, so use these calculations as estimates to guide your breeding decisions. Consistently pairing high-stat parents with good compatibility will yield the best long-term results for your stable.
function calculateLegacy() {
var p1Speed = parseFloat(document.getElementById("p1Speed").value) || 0;
var p1Stamina = parseFloat(document.getElementById("p1Stamina").value) || 0;
var p1Power = parseFloat(document.getElementById("p1Power").value) || 0;
var p1Guts = parseFloat(document.getElementById("p1Guts").value) || 0;
var p1Wisdom = parseFloat(document.getElementById("p1Wisdom").value) || 0;
var p2Speed = parseFloat(document.getElementById("p2Speed").value) || 0;
var p2Stamina = parseFloat(document.getElementById("p2Stamina").value) || 0;
var p2Power = parseFloat(document.getElementById("p2Power").value) || 0;
var p2Guts = parseFloat(document.getElementById("p2Guts").value) || 0;
var p2Wisdom = parseFloat(document.getElementById("p2Wisdom").value) || 0;
var inheritanceLevel = parseInt(document.getElementById("inheritanceLevel").value);
var compatibilityIndex = parseInt(document.getElementById("compatibilityBonus").value);
var factorCount = parseFloat(document.getElementById("factorCount").value) || 0;
if (factorCount 9) factorCount = 9;
var inheritanceRate;
if (inheritanceLevel === 1) {
inheritanceRate = 0.05;
} else if (inheritanceLevel === 2) {
inheritanceRate = 0.10;
} else {
inheritanceRate = 0.15;
}
var compatibilityMultiplier;
if (compatibilityIndex === 0) {
compatibilityMultiplier = 1.20;
} else if (compatibilityIndex === 1) {
compatibilityMultiplier = 1.10;
} else if (compatibilityIndex === 2) {
compatibilityMultiplier = 1.00;
} else {
compatibilityMultiplier = 0.90;
}
var factorBonus = 1 + (factorCount * 0.04);
var speedBonus = Math.floor((p1Speed + p2Speed) * inheritanceRate * compatibilityMultiplier * factorBonus);
var staminaBonus = Math.floor((p1Stamina + p2Stamina) * inheritanceRate * compatibilityMultiplier * factorBonus);
var powerBonus = Math.floor((p1Power + p2Power) * inheritanceRate * compatibilityMultiplier * factorBonus);
var gutsBonus = Math.floor((p1Guts + p2Guts) * inheritanceRate * compatibilityMultiplier * factorBonus);
var wisdomBonus = Math.floor((p1Wisdom + p2Wisdom) * inheritanceRate * compatibilityMultiplier * factorBonus);
var totalBonus = speedBonus + staminaBonus + powerBonus + gutsBonus + wisdomBonus;
var stars;
if (totalBonus >= 400) {
stars = "โ โ โ โ โ ";
} else if (totalBonus >= 300) {
stars = "โ โ โ โ โ";
} else if (totalBonus >= 200) {
stars = "โ โ โ โโ";
} else if (totalBonus >= 100) {
stars = "โ โ โโโ";
} else {
stars = "โ โโโโ";
}
document.getElementById("resultSpeed").textContent = "+" + speedBonus;
document.getElementById("resultStamina").textContent = "+" + staminaBonus;
document.getElementById("resultPower").textContent = "+" + powerBonus;
document.getElementById("resultGuts").textContent = "+" + gutsBonus;
document.getElementById("resultWisdom").textContent = "+" + wisdomBonus;
document.getElementById("ratingStars").textContent = stars;
document.getElementById("totalBonus").textContent = "Total Stat Bonus: +" + totalBonus;
document.getElementById("result").style.display = "block";
}