function calculateZMI() {
var currentLevel = parseInt(document.getElementById('currentRCLevel').value);
var currentXP = parseInt(document.getElementById('currentXP').value);
var targetLevel = parseInt(document.getElementById('targetLevel').value);
var essenceType = document.getElementById('essenceType').value;
var hasDiary = document.getElementById('hasArdougneDiary').value;
if (isNaN(currentLevel) || isNaN(currentXP) || isNaN(targetLevel)) {
alert('Please fill in all numerical fields.');
return;
}
// Standard OSRS level to XP array
var xpTable = [0, 83, 174, 276, 388, 512, 650, 801, 969, 1154, 1358, 1584, 1833, 2107, 2411, 2746, 3115, 3523, 3973, 4470, 5018, 5624, 6291, 7028, 7842, 8740, 9730, 10824, 12031, 13363, 14833, 16456, 18247, 20224, 22406, 24815, 27473, 30408, 33648, 37224, 41171, 45529, 50339, 55649, 61512, 67983, 75127, 83014, 91721, 101333, 111945, 123660, 136594, 150872, 166636, 184040, 203254, 224466, 247886, 273742, 302288, 333804, 368599, 407015, 449428, 496254, 547953, 605032, 668051, 737627, 814445, 899215, 992895, 1096478, 1211042, 1337843, 1478243, 1633460, 1804908, 1994438, 2204079, 2435767, 2692186, 2975847, 3289566, 3636409, 4019861, 4443898, 4912615, 5431110, 6004149, 6638059, 7338506, 8112472, 8968984, 9917030, 10966144, 12126851, 13410528];
var targetXP = xpTable[targetLevel – 1];
var diffXP = targetXP – currentXP;
if (diffXP <= 0) {
alert('Your target level/XP must be higher than your current level/XP.');
return;
}
// ZMI XP formula approx: (level * 0.2) + 8.5
// This scales as the player levels up, so we take the average of current and target level for better accuracy
var avgLevel = (currentLevel + targetLevel) / 2;
var baseXPPerEss = (avgLevel * 0.2) + 8.5;
if (essenceType === 'daeyalt') {
baseXPPerEss = baseXPPerEss * 1.5;
}
var totalEssence = Math.ceil(diffXP / baseXPPerEss);
// Inventory setup: Giant, Large, Medium, Small pouches + 1 slot for rune pouch = ~45-52 essence per run
var avgEssencePerTrip = 50;
var totalTrips = Math.ceil(totalEssence / avgEssencePerTrip);
document.getElementById('zmiResult').style.display = 'block';
document.getElementById('totalXPNeeded').innerText = 'Remaining XP: ' + diffXP.toLocaleString();
document.getElementById('avgXPPerEss').innerText = 'Estimated Avg XP per Essence: ' + baseXPPerEss.toFixed(2);
document.getElementById('essenceCount').innerText = 'Total Essence Required: ' + totalEssence.toLocaleString();
document.getElementById('tripsNeeded').innerText = 'Approximate Trips (Full Pouches): ' + totalTrips.toLocaleString();
}
Maximizing OSRS Ourania Altar XP Rates
The Ourania Altar, commonly known as the ZMI Altar, is one of the most popular training methods for Runecrafting in Old School RuneScape. Unlike traditional altars that produce one type of rune, the ZMI altar produces a random variety of runes based on your Runecrafting level. This calculator helps you determine exactly how much Pure Essence or Daeyalt Essence you need to reach your goal.
How ZMI XP Scaling Works
Experience at the Ourania Altar is unique because it scales directly with your level. At level 1, you gain roughly 8.7 XP per essence, whereas at level 99, you gain roughly 28.3 XP per essence. The formula is approximately (Level * 0.2) + 8.5. Because your XP rate increases as you level up, this calculator uses the average level between your start and finish to provide a more accurate estimation of the total essence required.
Using Daeyalt Essence
If you have completed the Sins of the Father quest, you can mine Daeyalt Essence. Using this at the ZMI altar grants 50% more experience than Pure Essence. While it takes time to mine, it significantly speeds up the active Runecrafting training phase, making it a favorite for players looking for a more relaxed path to 77 or 99 Runecrafting.
Essential Gear and Tips
Ourania Teleport: Located in the Lunar Spellbook, this is vital for fast banking.
Stamina Potions: You will be running constantly; keeping your energy up is mandatory.
Rune Pouches: Always use the highest level pouches you can access (Small, Medium, Large, Giant, and Colossal).
Ardougne Diary: Completing the Medium Diary increases the number of runes you receive, which increases profit, though it does not directly increase XP.
Official World: Use World 327 (the designated ZMI world) to follow the "runner" train, which reduces the damage you take from NPCs in the ladder area.
Example Calculation
If you are currently Level 60 and aiming for Level 77 (the level required for Blood Runes), you will need approximately 1,195,000 XP. At an average level of 68.5, you will earn roughly 22.2 XP per Pure Essence. This means you would need roughly 53,800 Pure Essence to reach your goal. If using Daeyalt Essence, this number drops to approximately 35,800.