Esempio n. 1
0
        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;
            }
        }