Okay, nach 1,5 Stunden Mangos-C++-Quelltext-Durchforsten bin ich auf folgende gestoßen:
In der Player.cpp wird zum Zeitpunkt, wenn der Spieler lootet, der Loot erzeugt. Zunächst wird in vielen, vielen Zeilen Code entschieden, welche Art von Loot es ist, also Kiste, Leichnahm oder sonstwas.
Dann wird bei Leichen von Mobs der Loot zunächst auf "nix" gesetzt. Wenn der Mob lootbar ist, dann wird eine Funktion namens "FillLoot" aufgerufen, die durch die Loot-Tabelle des Mobs läuft und für jedes Item nach seiner Chance für den Drop auswürfelt, ob es in die aktuelle Lootliste aufgenommen wird oder nicht.
Ist die Liste fertig, kommt das ganze dann beim Spieler an dem Bildschirm. Im Hintergrund wird der Loot an die Methoden für das Auswürfeln durch die Spieler weitergegeben, also für Gier, Bedarf, etc.
Ich kann nicht wirklich sagen, dass ich den Quellcode 100% verstanden habe, dazu fehlt die Zeit und ein bissl Testen mit dem Code, oder zumindestens eine anständige Dokumentation, die ich nicht habe, aber zumindest glaube ich herausgefunden zu haben, dass der Loot beim Tod des Mobs erst erzeugt wird.
Natürlich stellt das hier keinerlei Bezug zu realen Blizzard-Servern her, sondern bezieht sich nur auf Mangos.