ServUO Loot Generation

From UO Mayhem
Revision as of 23:35, 3 January 2024 by Basket (talk | contribs)
Jump to navigation Jump to search


Loot Generation Order

  1. BaseCreature.cs, OnBeforeDeath()
    • calls GenerateLoot(false)
  1. BaseCreature.cs, GenerateLoot(bool spawning)
    • If !spawning then m_KillersLuck = killer/highest-damage-dealers luck
    • calls BaseCreature.cs GenerateLoot()
      • MOBILE.cs has public override void GenerateLoot() which will AddLoot() all LootPack
    • if m_Paragon (mobile is paragon) then add extra AddLoot() based on fame (from Meager to UltraRich)
  1. BaseCreature.cs, AddLoot(LootPack pack)
    • calls LootPack.cs pack.Generate(this, backpack, m_spawning, m_KillersLuck)
  1. LootPack.cs, Generate (Mobile from, Container cont, bool spawning, int luckChance)
    • for each item (LootPackEntry) in the LootPack check if we should create the item. If Items spawn chance * 100 > random(10000 ) create item
      • If random failed to create, do another check against players luck
      • If random succeeds to create, call LootPackEntry.Construct (from, luckchance, spawning)