Exemple #1
0
 public static IItemDropRule NormalvsExpertOneFromOptions(
     int dropsOutOfXNormalMode,
     int dropsOutOfXExpertMode,
     params int[] options)
 {
     return((IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.OneFromOptions(dropsOutOfXNormalMode, options), ItemDropRule.OneFromOptions(dropsOutOfXExpertMode, options)));
 }
Exemple #2
0
 public static IItemDropRule ExpertGetsRerolls(
     int itemId,
     int dropsOutOfX,
     int expertRerolls)
 {
     return((IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.WithRerolls(itemId, 0, dropsOutOfX, 1, 1), ItemDropRule.WithRerolls(itemId, expertRerolls, dropsOutOfX, 1, 1)));
 }
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.Starfish, 10, 1, 3));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.Seashell, 10, 1, 3));
        }
Exemple #4
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.Present, 1, 1, 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ModContent.ItemType <IceQueensCrown>(), 5));
        }
Exemple #5
0
 public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
 {
     if (npc.type == NPCID.UndeadMiner)
     {
         npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <MinersBackpack>(), 5));
     }
 }
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.FrogLeg, 10));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.BalloonPufferfish, 10));
        }
 public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
 {
     if (npc.type == NPCID.Mothron)
     {
         npcLoot.Add(ItemDropRule.Common(ItemType <Items.BrokenStaff>(), 4));
     }
 }
Exemple #8
0
 public override void ModifyNPCLoot(NPCLoot npcLoot)
 {
     npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <elsasHeart>(), 1, 2, 5));
     npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Weapons.Keyblade_ice>()));
     npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Materials.frostCrystal>(), 1, 1, 15));
     npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Materials.frostStone>(), 1, 15, 50));
 }
Exemple #9
0
 public static IItemDropRule NormalvsExpert(
     int itemId,
     int oncePerXInNormal,
     int oncePerXInExpert)
 {
     return((IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.Common(itemId, oncePerXInNormal, 1, 1), ItemDropRule.Common(itemId, oncePerXInExpert, 1, 1)));
 }
Exemple #10
0
 public static IItemDropRule NormalvsExpertNotScalingWithLuck(
     int itemId,
     int oncePerXInNormal,
     int oncePerXInExpert)
 {
     return((IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.NotScalingWithLuck(itemId, oncePerXInNormal, 1, 1), ItemDropRule.NotScalingWithLuck(itemId, oncePerXInExpert, 1, 1)));
 }
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.DesertFossil, 3, 1, 10));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.FlyingCarpet, 100));
        }
Exemple #12
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.GoodieBag, 1, 1, 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.BloodyMachete, 10));
        }
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            switch (npc.type)
            {
            case NPCID.Medusa:
                npcLoot.RemoveWhere(rule => rule is CommonDrop drop && drop.itemId == ItemID.MedusaHead && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                break;

            case NPCID.WyvernHead:
                npcLoot.RemoveWhere(rule => rule is DropBasedOnExpertMode drop && drop.ruleForNormalMode is CommonDrop drop2 && drop2.itemId == ItemID.SoulofFlight && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                break;

            case NPCID.PigronHallow:
            case NPCID.PigronCorruption:
            case NPCID.PigronCrimson:
                npcLoot.RemoveWhere(rule => rule is ItemDropWithConditionRule drop && drop.condition is Conditions.DontStarveIsUp && drop.itemId == ItemID.HamBat && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                npcLoot.RemoveWhere(rule => rule is ItemDropWithConditionRule drop && drop.condition is Conditions.DontStarveIsNotUp && drop.itemId == ItemID.HamBat && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                break;

            case NPCID.RedDevil:
                npcLoot.RemoveWhere(rule => rule is CommonDrop drop && drop.itemId == ItemID.UnholyTrident && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.Common(ItemID.DemonScythe, 3));
                break;

            case NPCID.IchorSticker:
                npcLoot.RemoveWhere(rule => rule is CommonDrop drop && drop.itemId == ItemID.Ichor && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.OneFromOptions(1, ItemID.TheUndertaker, ItemID.TheRottedFork, ItemID.CrimsonRod, ItemID.CrimsonHeart, ItemID.PanicNecklace));
                break;

            case NPCID.SeekerHead:
                npcLoot.RemoveWhere(rule => rule is CommonDrop drop && drop.itemId == ItemID.CursedFlame && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.OneFromOptions(1, ItemID.BallOHurt, ItemID.BandofStarpower, ItemID.Musket, ItemID.ShadowOrb, ItemID.Vilethorn));
                break;

            case NPCID.Mimic:
                npcLoot.RemoveWhere(rule => rule is OneFromOptionsDropRule drop && drop.dropIds.Contains(ItemID.DualHook) && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.OneFromOptions(1, ItemID.TitanGlove, ItemID.PhilosophersStone, ItemID.CrossNecklace, ItemID.DualHook));
                break;

            case NPCID.IceMimic:
                npcLoot.RemoveWhere(rule => rule is CommonDrop drop && drop.itemId == ItemID.ToySled && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.OneFromOptions(1, ItemID.TitanGlove, ItemID.PhilosophersStone, ItemID.CrossNecklace, ItemID.DualHook));
                break;

            case NPCID.AngryNimbus:
                npcLoot.RemoveWhere(rule => rule is CommonDrop drop && drop.itemId == ItemID.NimbusRod && FargoSoulsUtil.LockEarlyBirdDrop(npcLoot, rule));
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.Common(ItemID.FloatingIslandFishingCrate));
                break;

            case NPCID.DuneSplicerHead:
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.Common(ItemID.SandstorminaBottle, 3));
                FargoSoulsUtil.AddEarlyBirdDrop(npcLoot, ItemDropRule.Common(ItemID.OasisCrate));
                break;

            default: break;
            }
        }
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.GoodieBag, 1, 1, 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.BladedGlove, 10));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ModContent.ItemType <PumpkingsCape>(), 5));
        }
Exemple #15
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.FrozenCrateHard));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ModContent.ItemType <Items.Accessories.Masomode.FrigidGemstone>(), 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.BlizzardinaBottle, 20));
        }
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.GlowingMushroom, 1, 1, 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.MushroomGrassSeeds, 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.TruffleWorm, 20));
        }
Exemple #17
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ModContent.ItemType <Items.Accessories.Masomode.SecurityWallet>(), 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.CoinGun, 50));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.LuckyCoin, 50));
        }
Exemple #18
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.ByCondition(new Conditions.IsHardmode(), ItemID.FloatingIslandFishingCrateHard));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ModContent.ItemType <WyvernFeather>(), 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.CloudinaBottle, 20));
        }
Exemple #19
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ModContent.ItemType <Items.Accessories.Masomode.SandsofTime>(), 5));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.OasisCrateHard));
            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.SandstorminaBottle, 20));
        }
Exemple #20
0
        public override void ModifyNPCLoot(NPCLoot npcLoot)
        {
            int[] dropOptions = new int[] { ModContent.ItemType <Items.Weapons.Keyblade_Kingdom>(), ModContent.ItemType <Items.Armor.orgCoat>(), ModContent.ItemType <Items.seasaltIcecream>() };
            npcLoot.Add(ItemDropRule.OneFromOptions(3, dropOptions));


            npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Materials.twilightGem>(), 1, 15, 35));
        }
Exemple #21
0
        public override void ModifyNPCLoot(NPCLoot npcLoot)
        {
            int[] dropOptions = new int[] { ModContent.ItemType <Items.Weapons.Keyblade_Lionheart>(), ModContent.ItemType <Items.Weapons.Org13.Xigbar.sharpshooter>(), ModContent.ItemType <Items.Armor.orgCoat>(), ModContent.ItemType <Items.glide>() };
            npcLoot.Add(ItemDropRule.OneFromOptions(1, dropOptions));


            npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <xigbarSpawner>()));
            npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Materials.twilightShard>(), 1, 5, 15));
        }
Exemple #22
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            if (npc.type == NPCID.BlackRecluse || npc.type == NPCID.BlackRecluseWall)
            {
                FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.SpiderEgg, 50));
            }
        }
Exemple #23
0
        public override void ModifyNPCLoot(NPCLoot npcLoot)
        {
            int[] dropOptions = new int[] { ModContent.ItemType <Items.Weapons.Keyblade_flameFrolic>(), ModContent.ItemType <Items.Weapons.Org13.Axel.Chacrams_EternalFlames>(), ModContent.ItemType <Items.Armor.orgCoat>(), ModContent.ItemType <Items.seasaltIcecream>() };
            npcLoot.Add(ItemDropRule.OneFromOptions(1, dropOptions));


            npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <AxelSpawner>()));
            npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Materials.blazingShard>(), 1, 5, 15));
        }
Exemple #24
0
        public override void ModifyNPCLoot(NPCLoot npcLoot)
        {
            int[] dropOptions = new int[] { ModContent.ItemType <Items.Weapons.Keyblade_FinalXion>(), ModContent.ItemType <Items.Armor.orgCoat>(), ModContent.ItemType <Items.seasaltIcecream>() };
            npcLoot.Add(ItemDropRule.OneFromOptions(3, dropOptions));

            npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Materials.twilightCrystal>(), 1, 50, 137));

            npcLoot.Add(ItemDropRule.Common(ItemID.BlueSolution, 1, 10, 15));
        }
Exemple #25
0
        public override void ModifyNPCLoot(NPCLoot npcLoot)
        {
            npcLoot.Add(ItemDropRule.Common(ModContent.ItemType <Items.Materials.blazingShard>(), 5, 1, 6));

            if (Main.player[NPC.target].Center.Y > Main.UnderworldLayer)
            {
                npcLoot.Add(ItemDropRule.Common(ItemID.Hellstone, 1, 1, 5));
            }
        }
Exemple #26
0
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            if (npc.type == NPCID.AngryTrapper)
            {
                FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.Vine, 2));
            }

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ModContent.Find <ModItem>("Fargowiltas", "PlanterasFruit").Type, 200));
        }
        public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot)
        {
            base.ModifyNPCLoot(npc, npcLoot);

            if (npc.type == NPCID.MossHornet)
            {
                FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.Stinger, 2));
            }

            FargoSoulsUtil.EModeDrop(npcLoot, ItemDropRule.Common(ItemID.JungleGrassSeeds, 10));
        }
Exemple #28
0
 public static IItemDropRule DropOnBattleground(SoraPlayer wielder, int itemID, int chanceDenominator = 1, int minimumDropped = 1, int maximumDropped = 1)
 {
     if (wielder.fightingInBattleground)
     {
         return(ItemDropRule.Common(itemID, chanceDenominator, minimumDropped, maximumDropped));
     }
     else
     {
         return(ItemDropRule.DropNothing());
     }
 }
Exemple #29
0
 public static IItemDropRule DropOnBattlegroundWithRule(IItemDropRuleCondition condition, SoraPlayer wielder, int itemID, int chanceDenominator = 1, int minimumDropped = 1, int maximumDropped = 1)
 {
     if (wielder.fightingInBattleground)
     {
         return(ItemDropRule.ByCondition(condition, itemID, chanceDenominator, minimumDropped, maximumDropped));
     }
     else
     {
         return(ItemDropRule.DropNothing());
     }
 }
Exemple #30
0
        public override void ModifyNPCLoot(NPCLoot npcLoot)
        {
            //Bestiary
            int[] possibleItems = new int[] { ModContent.ItemType <Items.Materials.blazingShard>(), ModContent.ItemType <Items.Materials.betwixtShard>(), ModContent.ItemType <Items.Materials.frostShard>(), ModContent.ItemType <Items.Materials.frostShard>(), ModContent.ItemType <Items.Materials.lucidShard>(), ModContent.ItemType <Items.Materials.mythrilShard>(), ModContent.ItemType <Items.Materials.pulsingShard>(), ModContent.ItemType <Items.Materials.lightningShard>(), ModContent.ItemType <Items.Materials.twilightShard>() };

            npcLoot.Add(ItemDropRule.OneFromOptions(1, possibleItems));

            possibleItems = new int[] { ItemID.CopperOre, ItemID.SilverOre, ItemID.GoldOre, ItemID.LeadOre, ItemID.IronOre, ItemID.TinOre };

            npcLoot.Add(ItemDropRule.OneFromOptions(1, possibleItems));
        }