Tob Drop Rate Calculator

OSRS Theatre of Blood (ToB) Drop Rate Calculator body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; background-color: #f4f4f4; } .calculator-container { background-color: #ffffff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 40px; border: 1px solid #ddd; } .calculator-header { text-align: center; margin-bottom: 25px; color: #2c3e50; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-weight: 600; color: #2c3e50; } select, input[type="number"] { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } button { display: block; width: 100%; padding: 14px; background-color: #8b0000; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; } button:hover { background-color: #a50000; } #result-section { margin-top: 30px; display: none; } .result-card { background: #f8f9fa; border-left: 5px solid #8b0000; padding: 15px; margin-bottom: 15px; } .result-table { width: 100%; border-collapse: collapse; margin-top: 20px; } .result-table th, .result-table td { padding: 12px; text-align: left; border-bottom: 1px solid #ddd; } .result-table th { background-color: #2c3e50; color: white; } .item-rare { color: #800080; font-weight: bold; } .item-mega { color: #d35400; font-weight: bold; } .article-content { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); } h2 { color: #8b0000; border-bottom: 2px solid #eee; padding-bottom: 10px; margin-top: 30px; } .tip-box { background-color: #e8f4f8; border-left: 4px solid #3498db; padding: 15px; margin: 20px 0; }

ToB Drop Rate Calculator

Normal Mode Hard Mode (HMT)
Trio (3 Players) 4-Man (Standard) 5-Man
No MVP (Equal Split) I usually get MVP (+Points)

Total Probability

Chance of receiving at least one purple in your name:

Expected number of purples:

Item Name Per Raid Chance Chance in Raids

Understanding the Theatre of Blood Drop Mechanics

The Theatre of Blood (ToB) utilizes a unique contribution-based loot system. Unlike the Chambers of Xeric, where individual points are strictly tracked, ToB uses a system where deaths significantly penalize your chance of obtaining a unique item (purple). The calculator above assumes a deathless raid, as this is the standard for efficient farming.

How Drop Rates are Calculated

In a standard deathless raid, the chance for the team to see a purple chest is approximately 11% (1/9.1) for Normal Mode and slightly higher for Hard Mode. This team chance is then distributed among players based on their performance participation points.

Note on MVP: The MVP of the raid generally receives a larger share of the points, resulting in a slightly higher personal chance to receive the unique drop if one rolls.

The Unique Table Weightings

When a unique item is rolled, the game decides which item it is based on a specific weighting system out of 19 total "points" (for Normal Mode):

  • Avernic Defender Hilt: 7/19 (Most Common)
  • Justiciar Armor Pieces: 2/19 each (6/19 total for the set)
  • Ghrazi Rapier: 2/19
  • Sanguinesti Staff: 2/19
  • Scythe of Vitur: 1/19 (Rarest)

Hard Mode (HMT) Differences

Hard Mode Theatre of Blood introduces the Holy Ornament Kit, Sanguine Ornament Kit, and the Sanguine Dust. The base chance for standard uniques is slightly improved, and the weighting for the Scythe of Vitur is slightly more favorable compared to other items in the table.

Mathematical Formula Used

This calculator uses the Binomial Probability formula to determine your odds over multiple raids:

P(Drop) = 1 – (1 – DropRate) ^ NumberOfRaids

Where DropRate is your personal chance per raid based on team size and contribution.

Efficiency Tips

To maximize your drop rates, focus on:

  1. Zero Deaths: A single death removes a massive chunk of your personal points.
  2. Damage Output: Higher damage translates to MVP points, increasing your personal slice of the loot pie.
  3. Team Size: Trios (3-man) offer the highest personal chance per raid compared to 4-man or 5-man teams, although they take slightly longer to complete.
function calculateTobDrops() { // 1. Get Inputs var mode = document.getElementById('raidMode').value; var teamSize = parseInt(document.getElementById('teamSize').value); var mvpStatus = document.getElementById('mvpStatus').value; var raids = parseInt(document.getElementById('raidCount').value); // Validation if (isNaN(raids) || raids 1) personalChance = 1; // 4. Item Weightings (Total 19 for Normal, HMT is similar for standard table but calculating standard loot here) // Format: Name, Weight (out of 19) var items = [ { name: "Avernic Defender Hilt", weight: 7, class: "item-rare" }, { name: "Ghrazi Rapier", weight: 2, class: "item-rare" }, { name: "Sanguinesti Staff", weight: 2, class: "item-rare" }, { name: "Justiciar Faceguard", weight: 2, class: "item-rare" }, { name: "Justiciar Chestguard", weight: 2, class: "item-rare" }, { name: "Justiciar Legguards", weight: 2, class: "item-rare" }, { name: "Scythe of Vitur", weight: 1, class: "item-mega" } ]; var totalWeight = 19; // 5. Generate Output var tbody = document.getElementById('lootTableBody'); tbody.innerHTML = "; // Clear previous results // Overall probability of ANY purple var chanceAny = 1 – Math.pow((1 – personalChance), raids); var expectedPurples = personalChance * raids; document.getElementById('anyPurpleChance').innerHTML = (chanceAny * 100).toFixed(2) + "%"; document.getElementById('expectedPurples').innerHTML = expectedPurples.toFixed(2); document.getElementById('tableRaidCount').innerHTML = raids; // Loop through specific items for (var i = 0; i < items.length; i++) { var item = items[i]; // Chance of this specific item PER PURPLE var specificWeightChance = item.weight / totalWeight; // Chance of this specific item PER RAID (Personal) var perRaidChance = personalChance * specificWeightChance; // Cumulative chance over N raids var cumulativeChance = 1 – Math.pow((1 – perRaidChance), raids); // Display formatting var perRaidText = "1/" + Math.round(1 / perRaidChance); var cumulativeText = (cumulativeChance * 100).toFixed(2) + "%"; var row = "" + "" + item.name + "" + "" + perRaidText + "" + "" + cumulativeText + "" + ""; tbody.innerHTML += row; } // Show results document.getElementById('result-section').style.display = 'block'; }

Leave a Comment