public static void AddTieredLoot(BaseCreature mob) { if (mob.IsBonded || mob.Summoned || mob.NoKillAwards) { return; } AddGlobalLootTables(mob); AddDungeonArmor(mob); if (mob.Region is NewbieDungeonRegion) { mob.AddLoot(LootPack.NewbieDungeon); } double uniqueLootChance = .001; double craftingChanceComponentScalar = 5; double prestigeChanceScalar = 5; double researchMaterialsChanceScalar = 2.5; double spellHueDeedChanceScalar = 0.5; double UOACZUnlockableChanceScalar = 0.3; switch (mob.LootTier) { case Loot.LootTier.One: mob.PackMagicItems(1, 1, 0.05); uniqueLootChance = .001; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); break; case Loot.LootTier.Two: mob.PackMagicItems(1, 1, 0.05); uniqueLootChance = .0025; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); break; case Loot.LootTier.Three: mob.PackGem(); mob.PackMagicItems(1, 2, 0.05); uniqueLootChance = .005; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); break; case Loot.LootTier.Four: mob.AddLoot(LootPack.TownCloth); mob.PackMagicItems(1, 3, 0.05); mob.PackMagicItems(1, 3, 0.05); uniqueLootChance = .0075; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); mob.PackPetDye(1, 1.0 / 8000.0); break; case Loot.LootTier.Five: mob.AddLoot(LootPack.TownCloth); mob.AddLoot(LootPack.CommonTitleDye); mob.PackGem(1, 2); mob.PackArmor(1, 4, 0.1); mob.PackWeapon(1, 4, 0.1); uniqueLootChance = .01; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); mob.PackPetDye(1, 1.0 / 4000.0); break; case Loot.LootTier.Six: mob.AddLoot(LootPack.TownCloth); mob.AddLoot(LootPack.UncommonTitleDye); mob.PackGem(2, 4); mob.PackArmor(2, 5, 0.2); mob.PackWeapon(2, 5, 0.2); uniqueLootChance = .015; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); mob.PackPetDye(1, 1.0 / 2000.0); break; case Loot.LootTier.Seven: mob.AddLoot(LootPack.FilthyRich); mob.AddLoot(LootPack.TownCloth); mob.AddLoot(LootPack.RareTitleDye); mob.PackGem(3, 6); mob.PackArmor(2, 5, 0.2); mob.PackArmor(2, 5, 0.2); mob.PackWeapon(2, 5, 0.2); mob.PackWeapon(2, 5, 0.2); uniqueLootChance = .02; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); mob.PackPetDye(1, 1.0 / 1000.0); break; case Loot.LootTier.Eight: int max = Math.Max(1, (int)(mob.Difficulty / 100)); mob.AddLoot(LootPack.SuperBoss, Utility.RandomMinMax(1, max)); mob.AddLoot(LootPack.BossCloth, Utility.RandomMinMax(1, max)); mob.AddLoot(LootPack.BossSandals, Utility.RandomMinMax(1, max)); mob.AddLoot(LootPack.BossMaskDye, Utility.RandomMinMax(1, max)); mob.AddLoot(LootPack.VeryRareTitleDye); mob.PackGem(6, 9); mob.PackArmor(3, 5); mob.PackArmor(2, 5); mob.PackWeapon(3, 5); mob.PackWeapon(2, 5); uniqueLootChance = .04; mob.PackCraftingComponent(1, uniqueLootChance * craftingChanceComponentScalar); mob.PackPrestigeScroll(1, uniqueLootChance * prestigeChanceScalar); mob.PackResearchMaterials(1, uniqueLootChance * researchMaterialsChanceScalar); mob.PackSpellHueDeed(1, uniqueLootChance * spellHueDeedChanceScalar); mob.PackUOACZUnlockableDeed(1, uniqueLootChance * UOACZUnlockableChanceScalar); mob.PackPetDye(1, 1.0 / 1000.0); break; } }