classicdb / database

Classic DB is a content database for CMaNGOS Classic: world, NPCs, objects, quests and so on.
https://github.com/cmangos/mangos-classic
Other
87 stars 59 forks source link

Raid boss loot table revisions #901

Closed Stryg closed 7 years ago

Stryg commented 7 years ago

The members of Elitistjerks originally researched how Blizzard structured the raid loot tables back in 2006. Since EJ has died recently, the original thread describing them is now lost to time. That's okay though, since we can simply retrace their steps by looking at the old DKP logs that are still up.

http://www.ropetown.com/ropedkp/listitems.php?s=37dacb02f69a84424296198c78a70aca http://dkp2.furious-guild.com/listitems.php?s=3dbfa969b3dc768a1933197a8f58b97e

The critical observation here is that bosses never dropped duplicate loot in vanilla, with the exception of T2 set items and world bosses (Kazzak, etc.) So you might see Ragnaros drop double Stormrage Leggings, but you'd never see double Band of Accuria, because the items are divided up into non-overlapping loot tables. Using this information it becomes trivial to examine each instance of an item being dropped and noting what items can appear at the same time.

For example, looking at the item history for an item like Band of Sulfuras you can quickly build a table of the non-set items that aren't in its loot table. You will never see a Crown of Destruction, Choker of the Fire Lord, Essence of the Pure Flame, or Perdition's Blade drop at the same time as Band of Sulfuras, because they occupy the same loot pool. You can go through each item like this until you've built a complete picture of the boss's loot tables by process of elimination.

Some observations:

  1. Onyxia's weapons + Shard of the Scale, Ragnaros's two handers + Shard of the Flame, and C'thun's trinket occupy bonus loot tables. When a Bonereaver's Edge drops, it's in addition to two other non-set items and to the exclusion of a Spinal Reaper or Shard of the Flame.
  2. In general, weapons in T2 and T2.5 content have half the drop rate of items they share a loot table with. So, Ashkandi (10%) has half the drop rate of Neltharion's Tear (20%). Claw of the Black Drake is the only exception to this that I've found. Weapons in T3 do not seem to follow this rule (e.g. Patchwerk's axe has the same drop % as his cloak and ring)
  3. While it's impossible to be completely certain on some item's drop percentage, we can still use Allakhazam's archived data to infer close approximations of what the item's drop rate should be. For example, we know that Golemagg has a 25% chance to drop Arcanist Robes, because it shares a loot table with 3 other T1 chests, and looking at Allakhazam's data we see that Golemagg's weapons all have an equal if not greater chance to drop. So, Golemagg's third loot table must look something like 100% = 25% Blastershot + 25% Staff of Dominance + 25% Azuresong Mageblade + 25% shared loot table (with Magmadar/Geddon/Garr).

This commit updates all of the bosses that require fixing, excepting Sapphiron and Kel'Thuzad. I don't have enough data on those bosses yet to construct accurate loot tables.

Molten Core and Blackwing Lair benefit a lot from this fix. Boss-specific items like Striker's Mark, Drillborer's Disk, Drake Fang Talisman, etc. were nonsensically rare with the way the old loot tables were structured. Ragnaros two handers and that silly health regen trinket no longer occupy the same loot table as more valuable PvE items. You should never see Chromaggus drop double Shimmering Getas, and so on.

Bosses affected: Onyxia, Lucifron, Gehennas, Garr, Baron Geddon, Shazzrah, Sulfuron Harbinger, Golemagg the Incinerator, Majordomo Executus, Ragnaros, Firemaw, Ebonroc, Flamegor, Chromaggus, Nefarian, Hakkar, Ossirian the Unscarred, The Prophet Skeram, Battleguard Sartura, Fankriss the Unyielding, C'Thun

dagochen commented 7 years ago

As I have done the research for a german server for the bosses Nefarian, Chromaggus and the three dragons, I can confirm these observations and the resulting loot tables for these bosses.

Tobschinski commented 7 years ago

I will delay this a bit and check for a couple of changes that will make this easier.

Rockette commented 7 years ago

For Firemaw, Ebonroc and Flamegor, I remember them to always drop 2 T2 gloves shared by the 3 drakes.

dagochen commented 7 years ago

@Rockette Thats wrong. They actually could drop only 1 or none or 3 T2 gloves. Which made T2 gloves the hardest to get T2 from all set items in t2 content. Just check out several of the old dkp logs of guilds from classic content and you will see the proof.

Stryg commented 7 years ago

It's a common myth that wound up on wowwiki, which is probably why so many people misremember this. Like @dagochen says, you can look at any old dkp site and disprove this right away.

http://mistertnt.com/default.aspx?mode=raids 8/24/2006 1 pair of T2 gloves drops 8/17/2006 3 pairs of T2 gloves 7/11/2006 1 pair of T2 gloves 7/03/2006 3 pairs of T2 gloves 4/04/2006 0 pairs of T2 gloves

You see 2 pairs of gloves on average because each drake has a ~60% chance to drop a pair of T2 gloves.

dagochen commented 7 years ago

From that what you posted @Stryg we can come to this conclusion:

:D

Stryg commented 7 years ago

Grand Marshal @Tobschinski stahp afk on mount

Stryg commented 7 years ago

well I don't know why that unassigned, giiiiiiit

Stryg commented 7 years ago

@phatcat can you move this to new repo?

Phatcat commented 7 years ago

That depends on what you're really asking.

Do you want me to move the PR so that it's pull requested against the new database repo, or do you want me to merge your changes, as in apply them to the new repo? because I could surely do the former, it's not really needed, though as they can be previewed from here fine, but in any case you should be able to do this yourself as well, the latter I am not comfortable with doing since those changes are a bit beyond me. @Tobschinski or @cala would be your best bet.

cala commented 7 years ago

Hi,

I think this PR can stay here. I own the two repositories and I check that everything in the former goes soon or late to the later. This PR is not forgotten, @Tobschinski said he will handle it and if he said so, he will. He may just be busy at the moment but I granted him the same rights on the new repository so he can merge this in due time.

I reassign this to him so this does not go off his radar. Thank you for your patience, there are many things to take care of and test at the moment.

dagochen commented 7 years ago

@Stryg is it possible to get a clean list of what items are in what group for each boss instead of updates? if a database differs to the current master its not always possible to use this fixes ;)

cala commented 7 years ago

Well, this is a PR designed to match against Classic DB (and fix it). Fixing loots is annoying due to the lack of clear references (human readable ones) and the somewhat complex tree structure, one can understand that @Stryg does not put the extra amount of work to make it compliant with every custom DB or private server out there... :wink:

dagochen commented 7 years ago

I hoped he could publish the research results :) Making the SQLs for different db structures or old versions is something everybody can do himself. Its just not readable or comparable if there are hundreds of item ids and reference loot ids and you have to look up every single id to see which item is in a group with whatever other items.

Stryg commented 7 years ago

will publish in a better form at a later date

dagochen commented 7 years ago

Perfect thx @Stryg exactly what i need to get this thing done! great work you have done!

cala commented 7 years ago

Thanks @Stryg for the last updates. Unless @Tobschinski beats me to it, I should handle this during the week.

dagochen commented 7 years ago

Why are the reference entries in creature_loot_template grouped? I am sure it does not work either, but it is confusing. Since with grouped Items only one item of the group should be rolled, but if there are 2 references, they should be rolled both. It does not change anything, but might be confusing.