In the world of Black Desert Online (BDO), the interaction between Accuracy and Evasion is one of the most critical mechanics for both PvP and high-end PvE content. This Garmoth Hit Rate Calculator helps players estimate their probability of landing hits on opponents based on current game mechanics.
How Hit Rate is Calculated
While BDO uses complex hidden brackets, the community generally accepts a linear approximation for optimization purposes. The core mechanic relies on the difference between the Attacker's Total Accuracy and the Defender's Total Evasion.
Total Accuracy: This includes your sheet accuracy (visible in "My Stats"), hidden accuracy from crystals/artifacts, food buffs, church buffs, and guild passives.
Total Evasion: Similar to accuracy, this is the sum of sheet evasion and all hidden sources.
The 0.25 Coefficient: Generally, every 4 points of Accuracy counteracts approximately 1% of Evasion rate (or conversely, 4 points of Evasion grants 1% chance to dodge), leading to the formula: (Accuracy – Evasion) × 0.25.
Interpreting the Results
Using this calculator allows you to plan your gear progression effectively.
100% Hit Rate: You will never miss. This is ideal for combo-heavy classes where missing a CC (Crowd Control) can lead to death.
90-99% Hit Rate: Acceptable for most PvP scenarios. You may see the occasional "Miss" pop up, but your damage throughput remains high.
Below 80% Hit Rate: Against high-evasion targets (Evasion Memes), your damage will be significantly reduced. You may need to swap to Accuracy accessories (e.g., Dawn Earrings, Turo's Belt) or use an Accuracy offhand.
Skill Modifiers & Add-ons
Do not ignore the percentage modifiers on your skills. A skill with a +20% Accuracy Rate modifier is extremely potent. It effectively adds a flat 20% chance to hit on top of your gear stats, allowing classes with high accuracy modifiers to build less accuracy gear while still hitting evasion targets.
function calculateHitRate() {
// 1. Get input values
var acc = document.getElementById('attackerAccuracy').value;
var eva = document.getElementById('targetEvasion').value;
var skillMod = document.getElementById('skillAccuracy').value;
var addonMod = document.getElementById('addonAccuracy').value;
var evaDebuff = document.getElementById('evasionDebuff').value;
// 2. Validate inputs
if (acc === "" || eva === "") {
alert("Please enter both Attacker Accuracy and Target Evasion.");
return;
}
// Convert to floats
var accuracy = parseFloat(acc);
var evasion = parseFloat(eva);
var skill = parseFloat(skillMod) || 0;
var addon = parseFloat(addonMod) || 0;
var debuff = parseFloat(evaDebuff) || 0;
// 3. Calculation Logic
// General consensus logic:
// Base hit rate assumption is often calculated as 100% if Accuracy == Evasion in simplified models,
// or derived from the difference.
// Formula: Hit% = ((Accuracy – Evasion) * 0.25) + 100 + Skill% + Addons% + Debuffs%
// Note: Evasion Debuffs on target (e.g. -9% evasion rate) act as +Hit Rate for the attacker.
var rawDelta = accuracy – evasion;
// Calculate the hit rate derived purely from stats
// Using the 0.25 factor (1 Acc = 0.25% Hit Rate approx against equal evasion scaling)
// If Acc = 900 and Eva = 900, Delta = 0, Base Hit = 100%?
// Actually, in BDO, if Stats are equal, hit rate is usually high but not guaranteed 100% without modifiers.
// However, for the purpose of the calculator "Garmoth" style tools usually use the differential offset from 100%.
var statHitRate = (rawDelta * 0.25);
// Summing all modifiers
// Base 100% + (Stat Difference * 0.25) + Skill Modifiers + Addons + (Debuffs on enemy act as positive for attacker)
// Wait, standard logic: Evasion Rate is calculated then subtracted from 100%.
// Let's stick to the additive formula which is easier to read:
// Hit Rate = 100 + ((Accuracy – Evasion) * 0.25) + Skill + Addon + Debuff
var totalHitRate = 100 + statHitRate + skill + addon + debuff;
// Cap logic: Hit rate cannot exceed 100% or be below 0%
var finalHit = totalHitRate;
if (finalHit > 100) finalHit = 100;
if (finalHit = 0) {
deltaElement.style.color = "green";
} else {
deltaElement.style.color = "red";
}
var totalBonus = skill + addon + debuff;
document.getElementById('bonusRate').innerText = "+" + totalBonus + "%";
document.getElementById('result').style.display = "block";
}