Log in

View Full Version : WoW Loot Generation



Blokus
12-07-2007, 02:15 PM
This probably falls under the categories of Unknowable and Who Cares, but I think its interesting, even if just for speculation.

My question is ...

Is the loot dropped by a mob generated when it spawns or when its killed?

If its generated at the time the mob spawns, then its basically static. But if it is generated at the time of the kill, that would theoretically give the server the opportunity to base the drop on conditions at the time.

One such condition might be how many people are in the party when a mob is killed and would it tend to be more "generous" to a larger group. If that were so, then multiboxers have a bit of an advantage on loot drops because we are always grouped.

Whatever, just a random thought to kick around on a lazy Friday afternoon.

amalgam
12-07-2007, 02:19 PM
This has been debated since release. I've never seen a definitive answer on the subject. I think it'd be easier server-side to decide loot at kill, but that's not saying much since I am not a dev.

Boom
12-07-2007, 02:27 PM
While Blizzard has never given us the details on loot drops (as far as I know), they did however tell us that the loot on the bosses in instances like Molten Core are determined at spawn of the instance.

I would make an educated guess and tell you the mob's loot is determined when it spawns. It wouldn't make much sence to put in a separate process for mobs outside an instance, then in.

Everytime anyone has tried to put "rules" to the random loot system, eventually a Dev would come out and say "sorry, when we say it's random, it's random".

They pointed out that with so many people running the same game, a true random system (as they claim this is) will eventually give seemingly crazy results. One guild on our server ran MC for over a year, and NEVER saw the Might Pants.... EVER. That's random.

So I'd guess the loot is determined when the mob spawns, as a "random" system would have no need to determine it later.

Interesting thought though... Anyone have any information I don't?

Boom

amalgam
12-07-2007, 02:42 PM
I would support this theroy. It seems that I'm getting way more green drops in my quad group than a did solo. However, is this beacuse:

a) The above theory is correct, and groups just tend to get more loot
b) I'm just killing way faster so it feels like more
c) There are much fewer people in Azeroth post-BC, so the competition for drops is much lower

Actually, I think they buffed the drop rate for items in 2.3 when they re-evaluated a lot of old green items. On my 54 Mage AoE grinding (alone) the pirates in Tanaris, I got two Wirt's Third Legs, two Assault Bands, a Witchblade (I think that's what it's called) and numerous (read: 45 or 50) greens. I killed approximately 650 of them. This is combined with all the cloth and money.

EDIT:

@Boom: I know that the reason they generate loot at spawn of an instance ties in to the RAIDID numbering system. When that system was first introduced, there were numerous people doing tests to determine if they could predict loot patterns based on the number. My guess would be that the system uses the RAIDID in a rand() fashion in categorized loot tables. I say categorized because of Badge and token drops: you want to guarantee at least one T4 token, but the TYPE of that token may be random.

However, no such RAIDID system exists visibly to players for mobs outside instance or even for normal 5-mans. I imagine that there is a simpler version instituted for instances, but this system is rather difficult to implement in outworld mobs.

On top of this, add in the fact that spawning mobs with loot would add a fair amount of overhead considering the raw number of mobs available to be killed at any moment across an entire realm. My guess would actually be a roll-based system that draws a distinction based on creature type (i.e.: Humanoids drop cloth, beasts do not) and generates loot from a table of drops. The table generates less overhead in the long run.

Blokus
12-07-2007, 02:54 PM
Yeah, I can go with the idea ... and statement by Blizzard ... that it's all purely random and that the sheer volume of activity in the game and the percentages involved makes it work out fine. Kind of like the way casinos make money ... volume and percentages in their favor over the long run overcomes any short term lucky spikes by the players.

I've always wondered if there might be some quota on something like World Epic drops. But likely not as the random thing should work fine to control that.

Zaelar
12-08-2007, 01:49 PM
Diablo 2 drops were determined on spawn. Not saying it's the same here.

Once the world is spawned, as far as how much it takes out of the server is concerned, it doesn't matter whether loot is determined at spawn or kill. Everything that is killed gets respawned, so it either determines the loot at the kill or the spawn. The only extra is what isn't killed. A problem with generating at kill is it needs to be generated right away. If it is at spawn, you can just delay the spawn without much problem.

stompershock
12-08-2007, 07:55 PM
I used to farm sm library for a couple months for gold when almost a year and half ago. I tell you some things i found about the loot system.

elites carry more "spot" holders, or tumblers for higher loot table. if you ever farm elites your backpack files up way faster than regular mobs, this might be because its assumed you are in a group and need more loot, makes sense. at least 50% of elites carry a grey or higher, regular mobs maybe 1/10. by grey i mean like grey crappy weapon, not cloth.

these things happened like clockwork:

3 greens/hour
1 blue/8 hours

I kept emmaculate records because thats just what i do, to figure out g/hour and drops.

no epics in sm library so no time table on those.

obviously i was killing mobs at x/hour, that i did not keep track of, so you can assume that if you killed more your odds were going to increase.

on another note, rogue pickpocket, they can steal the gold from a mob, since gold is random, not a fixed amount per mob but rather in a range, you could assume that the loot is determined at spawn because otherwise the rogue couldn't pickpocket anything :)

stompershock
12-08-2007, 07:59 PM
figured i would highlight something that might not have been obvious in the last post.

I believe that item value, ie, green/blue/purple is a fixed %, but they pull from a loot table that generates item, after value is determined, randomly.

does that make sense?

kayb
12-08-2007, 08:32 PM
I believe loot is generated as you right click the object. It's the only way I can explain looting empty chests for instance. Also see it sometimes with mobs. You loot it, but then there's nothing there. Sometimes empty mobs get the loot sparkle and you can loot them, other times they dont get the sparkle, and you cant loot it because it's empty.

Anyway...this is guesswork.

Wilbur
12-08-2007, 09:11 PM
Heh, there are several theorys as to how loot drops. Although there are somethings we do *know* For certain.

All monsters access the "global" loot table for their level range.
There are Zone or Instance specific loot tables.
There are loot tables for individual players (E.G how one item can be looted by several players)
There are mob specific loot tables.

I'd theorise that these loot tables are determind at diffrent times.

Global Loot table is most likely upon mob spawn.
Zone/Instance table is most likely the same.
Player Loot tables are determined upon looting.
Mob specific loot tables are upon mob spawn.

This is, of course, conjecture and some observation.

Los
12-08-2007, 09:49 PM
Still it feels as if some mobs are tagged for spawning some type of loot. I know of a mob in wetlands that will drop blues eventually (within the hour) happened to me many times (made a nice buck of it, twink stuff). Have simillar things with a mob in zf, dropped an epic at least 3 times for me now. Another mob in shadowvalley dropped a recipe for me on 3 occassions now (bop though :(, and i was partied all 3 times, last time it was for me, cheer :P))

Think its a bit like the npc vendors and their not always available recipes, there is a time for it to drop/spawn and as long as you are in the time frame of it dropping and there wasnt somebody else to get it, its yours.

Bottom line from what i wanted to say, in my experience and humble opinion there are mobs with higher /blue/purple drop rate.

jrox
12-09-2007, 01:14 AM
I remember reading a long time ago a trick that someone had found pertaining to some humanoid mobs in Burning Steppes. This person had found that if one of these NPCs had spawned with a weapon that the items they held in their hands were different. And using this you could selectively kill only mobs with this characteristic and get an weapon item drop 100% of the time. This would imply that at some point the a mobs loot was determined at the time of its spawn.

I never actually tested it out, but I seem to recall other readers confirming it.

empeha
12-09-2007, 04:37 AM
When i was grinding pre bc with my rogue, i noticed the following:
The amount of money i pickpoketed was a fix % (dont know actually the exact value, i think 60-80%) from the amount that i loot from the same mob. So i think at least the gold amount from a mob is generated at spawn time.

stompershock
12-09-2007, 10:06 AM
jrox: that was confirmed, there was a bugged mob, only because i don't think bliz intended for it to happen, that if he held a certain weapon in his offhand you actually looted it when he died, so you could just run around and see if he had the weapon, lol. If it was only that easy for everything...

Los
12-09-2007, 01:32 PM
would be funny imo :)

Ziran
12-10-2007, 01:27 PM
In early EQ1 (kunark/luclin) the mobs held their items. You could often tell what the boss would drop just by looking at what it is holding. In some cases the bosses were significantly harder if they had certain weapons (i.e. quad attacking because they now wielded two weapons instead of regular double attack).

Ziran

yarr
12-10-2007, 03:13 PM
diablo2 exact loots were determined upon death of the mob... since the MF % (% greater chance to find magic items) of the person or pet who kills the mob determines the quality of the drop.

in WoW i really don't know, i have never noticed any patterns, hehe!

kalih
12-10-2007, 03:57 PM
Operating under the presumption that it's random... does it really matter?

I prefer to think that the mob has all possible drops until the moment I loot him causing the wave function to collapse to a single drop.

Sometimes I sit there looking at the sparkles waiting for the universe to align just properly so my drop will show up.

smallo
12-10-2007, 04:36 PM
i never did read all the posts here, but 2 situations that happened to me.

we killed all the stuff in ZG, pre tbc, and as we all looted hakkar, we got booted from server, when we connected hjakkar was back and we'd lost our loot. after he died again (same instance ID, we got different loot).

in karazhan the other week, we killed shade of aran, but when he died, his door remained locked. after looting and then someone dieing to summon us out, we zoned back in, and ran back up, to our suprise he'd respawned (again same instance ID) and we killed him again, dropped different loot.

Ghallo
12-10-2007, 05:36 PM
The other night there was a server reboot, I was killing mobs in Red Ridge - and I got a specific green item. After the reboot - didn't get that green.

Think about it in terms of server maint. If you generate the loot on mob spawn, you have to keep track of what the loot is for the life of the mob. This means a new table in the database. If you generate the loot on when the player loots the mob ... you don't need to track anything. Both results, over time, would show the same level of randomness - but generating drops on loot is more efficient.

This would explain why the loots are different.

Also, we had a reset once when my raid was in MC. We got a different drop. Messed up our DKP system at the time too, because the raid tracker f'd up and charged both the old and new recipient.

thinus
12-10-2007, 07:19 PM
Think about it in terms of server maint. If you generate the loot on mob spawn, you have to keep track of what the loot is for the life of the mob. This means a new table in the database. If you generate the loot on when the player loots the mob ... you don't need to track anything. Both results, over time, would show the same level of randomness - but generating drops on loot is more efficient.


Its not as simple as that.

Generating loot when corpse is looted:
- high priority operations
- several random calls
- loot table lookups
- additional table entry operations for logging purposes
ie - slower as loot needs to be calculated

Generating loot on spawn (or instance creation) or earlier:
- a "loot" cache can be generated during low server load times
- new spawns simply grab the 1st available loot entry (can be done at corpse loot time as well)
- already have a log of all loot so no additional processing necessary
- no loot table lookups
ie - very fast and low server load

Imagine a loot cache for instances, lets say the loot for 100 Kara instances are generated and added to a table with a RAID_ID. When a raid enters an instance for the first time and they are not saved they are assigned the 1st available RAID_ID.

Killing anything results in the loot simply looked up from the loot cache for that RAID_ID. During system maintenance new instances are generated and added to the cache.

The "random" function is pretty expensive as well and I am sure they pre-gen a cache of random numbers anyway. Every call to get a random number will simply be a cache lookup instead of running a complicated random number formula.

EDIT:
Thinking about it, adding new items is probably an expensive operation as well. If the loot is cached all the items can be generated beforehand and flagged as "non-existant" items until someone recieves an item as loot.

Also, a loot cache can explain differences in boss loot easily. When the boss is killed the first time an entry is grabbed from the loot cache for the boss and that entry is flagged as used. It simply means the loot is not linked to the RAID_ID until such time as looting occurs.

*crash*

Kill boss again and a new cache entry is grabbed as the previous one is already flagged as used.

Parsous
12-11-2007, 07:35 AM
My experience would dictate that the mobs would either

A) Be pre-stocked with loot (Other MMO's have been proven to do this) upon spawn
B) A Loot table is generated for a particular set of mob and as they are killed you take X amount of items from each table (I.e. 1 from money table, 1 possible from items, etc.). This table is refreshed during low server load or when a critical point is reached.

===========================

Also, I read over some of the RAIDID stuff... and this shit takes me back to the glory days of MC raiding.

We had one raid ID, ALWAYS the same one for Onyxia & MC. I did a lot of research and testing on this and it's a pity I have no idea where I left the data. We had a 75% drop rate on Shadowstrike from Sulfuron Harbinger when using this raidID, and we had 0% for Priest's Eye of Shadow from Majordomo Executus. This is across 9-10months worth of data collection from these raids.

We found that the raidID was linked to the raid leader, and we never kept our raids intact in the "off days". We had another person start the raid and lead it until the first boss was killed and a raidID was generated. We used this person's raidID for 3 months and got 7 Eyes of Shadow and not a single Shadowstrike during this time. Of course this was when MC was now the crap instance and we were moving on to BWL and beating our way through it.

Blizzard has obviously made some changes in regards to the raidID system since I did this data collection (RaidID's used to be fully alphanumeric) but I'm sure they still use the raidID to hash the loot tables in an instance.