コード例 #1
0
        private void makeMagicBookWeapons()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, ItemID.WaterBolt, 1);

            workingCategories = makeWeaponsCategories(magicDamageKeyword, bookWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, ItemID.DemonScythe, 1);
            workingCategories = makeWeaponsCategories(magicDamageKeyword, bookWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 50, ItemID.WaterBolt, 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 10);
            workingCategories = makeWeaponsCategories(magicDamageKeyword, bookWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #2
0
        private void makeMagicWeaponRecipes()
        {
            makeMagicStaffWeapons();
            makeMagicBookWeapons();

            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 30, ItemID.UnholyTrident, 1);

            working.addPart(ModContent.ItemType <HardmodePart>(), 5);
            workingCategories = makeWeaponsCategories(magicDamageKeyword, spearWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <SolarEclipsePart>(), 40, ItemID.ToxicFlask, 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 25);
            workingCategories = makeWeaponsCategories(magicDamageKeyword, otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, solarEclipseKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <MarbleUndergroundPart>(), 40, ItemID.MedusaHead, 1);
            working.addPart(ModContent.ItemType <HardmodePart>(), 10);
            workingCategories = makeWeaponsCategories(magicDamageKeyword, otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, marbleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #3
0
ファイル: PartsPlayer.cs プロジェクト: JPANv2/RareItemSwap
        public bool CraftPartRecipe(PartRecipe toCraft)
        {
            bool hasAll = true;

            foreach (Item itm in toCraft.parts)
            {
                if (!parts.ContainsKey(ARareItemSwapJPANs.ItemToTag(itm)))
                {
                    return(false);
                }
                if ((long)parts[ARareItemSwapJPANs.ItemToTag(itm)] < itm.stack)
                {
                    hasAll = false;
                }
            }
            if (hasAll)
            {
                foreach (Item itm in toCraft.parts)
                {
                    decreasePart(ARareItemSwapJPANs.ItemToTag(itm), itm.stack);
                }
                return(true);
            }
            return(false);
        }
コード例 #4
0
        private void makeBowRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 30, ItemID.Marrow, 1);

            working.addPart(ModContent.ItemType <HardmodePart>(), 5);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, bowWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, ItemID.HellwingBow, 1);
            working.addPart(ModContent.ItemType <DungeonUndergroundPart>(), 5);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, bowWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #5
0
 public void ExchangeUISelectRecipe(PartRecipe recipe)
 {
     if (ui != null && PartExchangeUI.visible)
     {
         ui.setSelectedRecipe(recipe);
     }
 }
コード例 #6
0
        private void makeRangedWeaponRecipes()
        {
            makeGunRecipes();
            makeBowRecipes();
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <GoblinArmyPart>(), 25, ItemID.Harpoon, 1);

            workingCategories = makeWeaponsCategories(rangedDamageKeyword, otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, goblinArmyKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestSurfacePart>(), 20, ItemID.Blowpipe, 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, dartsWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceUndergroundPart>(), 20, ItemID.SnowballCannon, 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #7
0
        private void makeSummonerWeaponRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <SlimeRainPart>(), 25, ItemID.SlimeStaff, 1);

            workingCategories = makeWeaponsCategories(summonerDamageKeyword, staffWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, slimeRainKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <SolarEclipsePart>(), 40, ItemID.DeadlySphereStaff, 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 25);
            workingCategories = makeWeaponsCategories(summonerDamageKeyword, staffWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, solarEclipseKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #8
0
        public override void AddRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            List <string> boxes = new List <string>()
            {
                "CalamityModMusic:AbyssLowerMusicbox",
                "CalamityModMusic:AcidRain2Musicbox",
                "CalamityModMusic:AquaticScourgeMusicbox",
                "CalamityModMusic:AstrageldonMusicbox",
                "CalamityModMusic:AstralMusicbox",
                "CalamityModMusic:AstralUndergroundMusicbox",
                "CalamityModMusic:AstrumDeusMusicbox",
                "CalamityModMusic:BoomerDukeMusicbox",
                "CalamityModMusic:BrimmyMusicbox",
                "CalamityModMusic:BumblebirbMusicbox",
                "CalamityModMusic:CalamitasMusicbox",
                "CalamityModMusic:CeaselessVoidMusicbox",
                "CalamityModMusic:CrabulonMusicbox",
                "CalamityModMusic:CragMusicbox",
                "CalamityModMusic:CryogenMusicbox",
                "CalamityModMusic:DesertScourgeMusicbox",
                "CalamityModMusic:DoGMusicbox",
                "CalamityModMusic:DoGP2Musicbox",
                "CalamityModMusic:HigherAbyssMusicbox",
                "CalamityModMusic:HiveMindMusicbox",
                "CalamityModMusic:LeviathanMusicbox",
                "CalamityModMusic:PerforatorMusicbox",
                "CalamityModMusic:PlaguebringerMusicbox",
                "CalamityModMusic:PolterghastMusicbox",
                "CalamityModMusic:ProfanedGuardianMusicbox",
                "CalamityModMusic:ProvidenceMusicbox",
                "CalamityModMusic:RavagerMusicbox",
                "CalamityModMusic:SCalAMusicbox",
                "CalamityModMusic:SCalEMusicbox",
                "CalamityModMusic:SCalGMusicbox",
                "CalamityModMusic:SCalLMusicbox",
                "CalamityModMusic:SignusMusicbox",
                "CalamityModMusic:SirenIdleMusicbox",
                "CalamityModMusic:SirenMusicbox",
                "CalamityModMusic:SlimeGodMusicbox",
                "CalamityModMusic:StormWeaverMusicbox",
                "CalamityModMusic:SulphurousMusicbox",
                "CalamityModMusic:SunkenSeaMusicbox",
                "CalamityModMusic:VoidMusicbox",
                "CalamityModMusic:Yharon1Musicbox",
                "CalamityModMusic:Yharon3Musicbox"
            };

            foreach (string box in boxes)
            {
                PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <MusicBoxPart>(), 1, box, 1);
                workingCategories = makeFurnitureCategories(musicBoxKeyword);
                workingCategories.AddRange(makeAccessoryCategories(musicBoxKeyword));
                working.addCategoryAndSubcategories(workingCategories);
                working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Calamity Music"));
                PartRecipes.addRecipe(working);
            }
        }
コード例 #9
0
        private void makeFlailRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;
            PartRecipe        working = PartRecipe.SimplePartRecipe(ModContent.ItemType <CorruptionSurfacePart>(), 25, ItemID.BallOHurt, 1);

            workingCategories = makeWeaponsCategories(meleeDamageKeyword, flailWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, ItemID.BlueMoon, 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, flailWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, ItemID.Sunfury, 1);
            working.addPart(ModContent.ItemType <DungeonUndergroundPart>(), 5);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, flailWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #10
0
        private void makeLightPetsRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;
            PartRecipe        working = PartRecipe.SimplePartRecipe(ModContent.ItemType <CorruptionSurfacePart>(), 25, ItemID.ShadowOrb, 1);

            workingCategories = makePetsCategories(lightPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <CrimsonSurfacePart>(), 25, ItemID.CrimsonHeart, 1);
            workingCategories = makePetsCategories(lightPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 50, ItemID.WispinaBottle, 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 10);
            workingCategories = makePetsCategories(lightPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #11
0
 public void setSelectedRecipe(PartRecipe recipe)
 {
     if (recipe != null || (destroySlot.item == null || destroySlot.item.IsAir))
     {
         selectedRecipe = recipe;
         setVisible();
     }
 }
コード例 #12
0
        private void makeGunRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <CorruptionSurfacePart>(), 25, ItemID.Musket, 1);

            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <CrimsonSurfacePart>(), 25, ItemID.TheUndertaker, 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, ItemID.Handgun, 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 25, ItemID.Boomstick, 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 20, ItemID.FlareGun, 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 50, ItemID.Uzi, 1);
            working.addPart(ModContent.ItemType <HardmodePart>(), 10);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <SolarEclipsePart>(), 40, ItemID.NailGun, 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 25);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, solarEclipseKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #13
0
ファイル: PartsPlayer.cs プロジェクト: JPANv2/RareItemSwap
        public override bool ShiftClickSlot(Item[] inventory, int context, int slot)
        {
            if (PartExchangeUI.visible && inventory != null && inventory[slot] != null && !inventory[slot].IsAir)
            {
                if (ARareItemSwapJPANs.tokenList.Contains(ARareItemSwapJPANs.ItemToTag(inventory[slot])))
                {
                    this.addPart(inventory[slot]);
                    inventory[slot].TurnToAir();
                    return(true);
                }
                if (PartRecipes.ContainsAsResult(inventory[slot]))
                {
                    List <PartRecipe> target = PartRecipes.recipesByResult[ARareItemSwapJPANs.ItemToTag(inventory[slot])];
                    for (int i = 0; i < target.Count; i++)
                    {
                        if (target[i].irreversible || !target[i].isAvailable() || target[i].result.stack > inventory[slot].stack)
                        {
                            target.RemoveAt(i);
                            i--;
                        }
                    }
                    if (target.Count > 0)
                    {
                        PartRecipe pr  = target[0];
                        int        min = pr.result.stack;
                        for (int i = 1; i < target.Count; i++)
                        {
                            if (min > target[i].result.stack)
                            {
                                min = target[i].result.stack;
                                pr  = target[i];
                            }
                        }

                        int stack;
                        int cnt = 0;
                        do
                        {
                            stack = inventory[slot].stack;
                            pr.refund(this, ref inventory[slot]);
                            cnt++;
                        }while (inventory[slot].stack > 0 && stack != inventory[slot].stack);
                    }
                    if (inventory[slot].stack <= 0)
                    {
                        inventory[slot].TurnToAir();
                    }
                }
                return(true);
            }
            return(false);
        }
コード例 #14
0
        public static PartRecipe makeSimpleEventPartRecipe(String mod, string biome, String itemTag, int amountItem, int partId, int amountPart, List <string> categories, Func <bool> available = null)
        {
            PartRecipe working = PartRecipe.SimplePartRecipe(partId, amountPart, ARareItemSwapJPANs.getItemTypeFromTag(itemTag), amountItem);

            if (available != null)
            {
                working.setAvailableFunction(available);
            }
            working.addCategoryAndSubcategories(categories);
            working.addCategoryAndSubcategories(makeByEventCategories(categories, biome));
            working.addCategoryAndSubcategories(makeByModCategories(categories, mod));
            return(working);
        }
コード例 #15
0
ファイル: UIItemSlot.cs プロジェクト: JPANv2/RareItemSwap
        public override int CompareTo(object obj)
        {
            if (obj == null)
            {
                return(1);
            }
            PurchaseItemSlot pr = obj as PurchaseItemSlot;

            if (pr == null)
            {
                return(1);
            }
            return(PartRecipe.orderByResultName(this.recipe, pr.recipe));
        }
コード例 #16
0
        private void makeNormalPetsRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceUndergroundPart>(), 30, ItemID.Fish, 1);

            workingCategories = makePetsCategories(normalPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 100, ItemID.Seaweed, 1);
            workingCategories = makePetsCategories(normalPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonGuardianPart>(), 5, ItemID.BoneKey, 1);
            workingCategories = makePetsCategories(normalPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBossCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 100, ItemID.LizardEgg, 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 50);
            working.available = () => NPC.downedPlantBoss;
            workingCategories = makePetsCategories(normalPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 300, ItemID.AmberMosquito, 1);
            workingCategories = makePetsCategories(normalPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <SolarEclipsePart>(), 50, ItemID.EyeSpring, 1);
            workingCategories = makePetsCategories(normalPetsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, solarEclipseKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #17
0
ファイル: PartsPlayer.cs プロジェクト: JPANv2/RareItemSwap
 public bool CanCraftRecipe(PartRecipe toCraft)
 {
     foreach (Item itm in toCraft.parts)
     {
         if (!parts.ContainsKey(ARareItemSwapJPANs.ItemToTag(itm)))
         {
             return(false);
         }
         if ((long)parts[ARareItemSwapJPANs.ItemToTag(itm)] < itm.stack)
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #18
0
        public static PartRecipe makePartRecipe(String mod, Item toAdd, int itemAmount, Item[] parts, int[] amounts, List <string> categories, Func <bool> available = null)
        {
            PartRecipe working = PartRecipe.SimplePartRecipe(parts[0].type, amounts[0], toAdd.type, itemAmount);

            for (int i = 1; i < parts.Length; i++)
            {
                working.addPart(parts[i].type, amounts[i]);
            }
            if (available != null)
            {
                working.setAvailableFunction(available);
            }
            working.addCategoryAndSubcategories(categories);
            working.addCategoryAndSubcategories(makeByModCategories(categories, mod));
            return(working);
        }
コード例 #19
0
        private void makeVanityAccessoryRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 50, ItemID.WhoopieCushion, 1);

            workingCategories = makeVanityCategories(accessoryKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #20
0
ファイル: RecipePanel.cs プロジェクト: JPANv2/RareItemSwap
        public override void Update(GameTime gameTime)
        {
            if (hasChanges || selected != parent.selectedRecipe || selected == null || !selected.Equals(parent.selectedRecipe))
            {
                selected = parent.selectedRecipe;

                internalGrid.Left.Set(0, 0);
                internalGrid.Top.Set(0, 0);
                internalGrid.Width.Set(this.Width.Pixels - 4, 0);
                internalGrid.Height.Set(this.Height.Pixels - 4, 0);
                internalGrid.Clear();

                float startX = 0;
                float startY = 0;
                if (selected != null)
                {
                    PartsPlayer prt = Main.player[Main.myPlayer].GetModPlayer <PartsPlayer>();
                    foreach (Item part in selected.parts)
                    {
                        PartItemSlot pt = new PartItemSlot(ARareItemSwapJPANs.ItemToTag(part), part.stack);
                        //pt.Left.Set(startX, 0);
                        // pt.Top.Set(startY, 0);

                        /*startX += pt.Width.Pixels + 2;
                         * if (startX + pt.Width.Pixels + 2 > this.Height.Pixels - 4)
                         * {
                         *  startX = 0;
                         *  startY += pt.Height.Pixels + 2;
                         * }*/
                        internalGrid.Add(pt);
                    }
                }
                //  internalGrid.Height.Set(Math.Max(this.Height.Pixels, startY + parent.destroySlot.Height.Pixels + 2), 0);
                internalGrid.Recalculate();
                Recalculate();
                hasChanges = false;
            }
            base.Update(gameTime);
        }
コード例 #21
0
        public static PartRecipe makeSimpleBossPartRecipe(String mod, string boss, String itemTag, int amountItem, List <int> partsAndAmounts, List <string> categories, Func <bool> available = null)
        {
            if (partsAndAmounts == null || partsAndAmounts.Count < 2 || ((partsAndAmounts.Count & 1) == 1))
            {
                throw new ArgumentException("partsAndAmmounts must be non-null, non-empty, and contain an even number of contents ((partID, AmmountOfPart) pairs).");
            }
            PartRecipe working = PartRecipe.SimplePartRecipe(partsAndAmounts[0], partsAndAmounts[1], ARareItemSwapJPANs.getItemTypeFromTag(itemTag), amountItem);

            for (int i = 2; i < partsAndAmounts.Count; i++)
            {
                working.addPart(partsAndAmounts[i], partsAndAmounts[i + 1]);
                i++;
            }
            if (available != null)
            {
                working.setAvailableFunction(available);
            }
            working.addCategoryAndSubcategories(categories);
            working.addCategoryAndSubcategories(makeByBossCategories(categories, boss));
            working.addCategoryAndSubcategories(makeByModCategories(categories, mod));
            return(working);
        }
コード例 #22
0
        private void makeBoomerangRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 25, ItemID.EnchantedBoomerang, 1);

            workingCategories = makeWeaponsCategories(meleeDamageKeyword, boomerangWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestSurfacePart>(), 20, ItemID.WoodenBoomerang, 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, boomerangWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceUndergroundPart>(), 20, ItemID.IceBoomerang, 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, boomerangWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 30, ItemID.Bananarang, 1);
            working.addPart(ModContent.ItemType <HardmodePart>(), 3);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, boomerangWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #23
0
        private void makeSpearRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, ItemID.DarkLance, 1);

            working.addPart(ModContent.ItemType <DungeonUndergroundPart>(), 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, spearWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <CrimsonSurfacePart>(), 25, ItemID.TheRottedFork, 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, spearWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <OceanSurfacePart>(), 20, ItemID.Trident, 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, spearWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, oceanBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestSurfacePart>(), 20, ItemID.Spear, 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, spearWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, oceanBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #24
0
        private void makeThrowingWeaponRecipes()
        {
            makeExplosiveWeaponRecipes();

            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <GoblinArmyPart>(), 1, ItemID.SpikyBall, 25);

            workingCategories = makeWeaponsCategories(throwingDamageKeyword, thrownWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, goblinArmyKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <MarbleUndergroundPart>(), 1, ItemID.Javelin, 15);
            workingCategories = makeWeaponsCategories(throwingDamageKeyword, thrownWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, marbleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);
            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #25
0
        private void makeFishingRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 8, "ThoriumMod:StrangeCrate", 1);

            workingCategories = makeFishingCategories(crateKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 5, "ThoriumMod:AquaticDepthsCrate", 1);
            working.addPart(ModContent.ItemType <AquaticDepthsPart>());
            workingCategories = makeFishingCategories(crateKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 5, "ThoriumMod:ScarletCrate", 1);
            working.addPart(ModContent.ItemType <ForestUndergroundPart>());
            workingCategories = makeFishingCategories(crateKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, forestBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 5, "ThoriumMod:ScarletCrate", 1);
            working.addPart(ModContent.ItemType <HellUndergroundPart>());
            workingCategories = makeFishingCategories(crateKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);



            //crate drops
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 500, "ThoriumMod:AquaticSonarDevice", 1);
            workingCategories = makeFishingCategories(accessoryKeyword);
            workingCategories.AddRange(makeAccessoryCategories(fishingKeyword));
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 120, "ThoriumMod:DrownedDoubloon", 1);
            workingCategories = makeFishingCategories(accessoryKeyword);
            workingCategories.AddRange(makeAccessoryCategories(movementKeyword));
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //quest fish
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 20, "ThoriumMod:Guppy", 1);
            workingCategories = makeFishingCategories(questFishKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium"));
            working.irreversible = true;
            PartRecipes.addRecipe(working);

            //trash
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 1, "ThoriumMod:IgneousRock", 10);
            workingCategories = makeFishingCategories(otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 1, "ThoriumMod:ScorchedBone", 10);
            workingCategories = makeFishingCategories(otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //fish
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 1, "ThoriumMod:MagmaGill", 5);
            workingCategories = makeFishingCategories(fishKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 1, "ThoriumMod:FlamingCrackGut", 5);
            workingCategories = makeFishingCategories(fishKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 40, "ThoriumMod:BrainCoral", 1);
            working.addPart(ModContent.ItemType <CrimsonSurfacePart>(), 5);
            workingCategories = makeFishingCategories("Weapon");
            workingCategories.AddRange(makeWeaponsCategories(HealerKeyword, staffWeaponKeyword));
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 40, "ThoriumMod:RottenCod", 1);
            working.addPart(ModContent.ItemType <CorruptionSurfacePart>(), 5);
            workingCategories = makeFishingCategories("Weapon");
            workingCategories.AddRange(makeWeaponsCategories(HealerKeyword, staffWeaponKeyword));
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 40, "ThoriumMod:RivetingTadpole", 1);
            working.addPart(ModContent.ItemType <JungleSurfacePart>(), 5);
            workingCategories = makeFishingCategories("Weapon");
            workingCategories.AddRange(makeWeaponsCategories(bardKeyword, windInstrumentKeyword));
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <FishingPart>(), 40, "ThoriumMod:SpittingFish", 1);
            working.addPart(ModContent.ItemType <OceanSurfacePart>(), 5);
            workingCategories = makeFishingCategories("Weapon");
            workingCategories.AddRange(makeWeaponsCategories(summonerDamageKeyword, fishKeyword));
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, oceanBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #26
0
        private void makeChestRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            //wooden chest
            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestSurfacePart>(), 25, "ThoriumMod:FortifyingWand", 1);

            workingCategories = makeWeaponsCategories(HealerKeyword, staffWeaponKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestSurfacePart>(), 25, "ThoriumMod:Flute", 1);
            workingCategories = makeWeaponsCategories(bardKeyword, windInstrumentKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //web chest
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <SpiderCaveUndergroundPart>(), 25, "ThoriumMod:Webgun", 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, gunWeaponKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, spiderCaveBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //gold chest (underground)
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 25, "ThoriumMod:EnchantedArmor", 1);
            workingCategories = new List <string>()
            {
                utilityKeyword
            }; working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 25, "ThoriumMod:EnchantedKnife", 1);
            workingCategories = makeWeaponsCategories(throwingDamageKeyword, thrownWeaponKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 100, "ThoriumMod:EnchantedPickaxe", 1);
            workingCategories = makeWeaponsCategories(meleeDamageKeyword, pickaxeWeaponKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //living wood
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestSurfacePart>(), 25, "ThoriumMod:LivingWoodSap", 1);
            workingCategories = makeAccessoryCategories(summonerDamageKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //ivy
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 25, "ThoriumMod:ForestOcarina", 1);
            workingCategories = makeWeaponsCategories(bardKeyword, windInstrumentKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 25, "ThoriumMod:TheDigester", 1);
            workingCategories = makeWeaponsCategories(HealerKeyword, gunWeaponKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //water chest
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 25, "ThoriumMod:BubbleMagnet", 1);
            workingCategories = new List <string>()
            {
                utilityKeyword
            }; working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, oceanBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <OceanSurfacePart>(), 25, "ThoriumMod:BubbleMagnet", 1);
            workingCategories = new List <string>()
            {
                utilityKeyword
            }; working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, oceanBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //locked chest
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, "ThoriumMod:NaiadShiv", 1);
            workingCategories = makeWeaponsCategories(throwingDamageKeyword, otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, "ThoriumMod:StreamSting", 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, bowWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, "ThoriumMod:HighTide", 1);
            workingCategories = makeWeaponsCategories(rangedDamageKeyword, bowWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, "ThoriumMod:StrongestLink", 1);
            workingCategories = makeWeaponsCategories(summonerDamageKeyword, flailWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, "ThoriumMod:BoneReaper", 1);
            workingCategories = makeWeaponsCategories(HealerKeyword, scytheWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DungeonUndergroundPart>(), 25, "ThoriumMod:BoneReaper", 1);
            workingCategories = makeWeaponsCategories(HealerKeyword, scytheWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, dungeonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //shadowChest
            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, "ThoriumMod:Nocturne", 1);
            working.addPart(ModContent.ItemType <DungeonUndergroundPart>(), 5);
            workingCategories = makeWeaponsCategories(bardKeyword, stringInstrumentKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //depth chest
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 25, "ThoriumMod:MagicConch", 1);
            workingCategories = makeWeaponsCategories(magicDamageKeyword, brassInstrumentKeyword);  working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 25, "ThoriumMod:SteelDrum", 1);
            workingCategories = makeWeaponsCategories(bardKeyword, percursionInstrumentKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 25, "ThoriumMod:AnglerBowl", 1);
            workingCategories = makeAccessoryCategories(lightSourceKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 25, "ThoriumMod:SeaTurtlesBulwark", 1);
            workingCategories = makeAccessoryCategories(defenseKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 25, "ThoriumMod:RainStone", 1);
            workingCategories = new List <string>()
            {
                utilityKeyword
            }; working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //scarlet chest
            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, "ThoriumMod:MixTape", 1);
            workingCategories = makeAccessoryCategories(bardKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 45, "ThoriumMod:MixTape", 1);
            workingCategories = makeAccessoryCategories(bardKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, "ThoriumMod:MaggotItem", 1);
            workingCategories = new List <string>()
            {
                mountKeyword + "/" + transformationKeyword
            }; working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 45, "ThoriumMod:MaggotItem", 1);
            workingCategories = new List <string>()
            {
                mountKeyword + "/" + transformationKeyword
            };  working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, "ThoriumMod:LootRang", 1);
            workingCategories = new List <string>()
            {
                utilityKeyword
            }; working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 45, "ThoriumMod:LootRang", 1);
            workingCategories = new List <string>()
            {
                utilityKeyword
            }; working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, "ThoriumMod:SpringSteps", 1);
            workingCategories = makeAccessoryCategories(movementKeyword, movementBootsKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 45, "ThoriumMod:SpringSteps", 1);
            workingCategories = makeAccessoryCategories(movementKeyword, movementBootsKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 25, "ThoriumMod:DeepStaff", 1);
            workingCategories = makeWeaponsCategories(HealerKeyword, staffWeaponKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 45, "ThoriumMod:DeepStaff", 1);
            workingCategories = makeWeaponsCategories(HealerKeyword, staffWeaponKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 30, "ThoriumMod:RingofUnity", 1);
            workingCategories = makeAccessoryCategories(lifeKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 50, "ThoriumMod:RingofUnity", 1);
            workingCategories = makeAccessoryCategories(lifeKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 50, "ThoriumMod:MagmaBoundFishingLine", 1);
            workingCategories = makeAccessoryCategories(fishingKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 90, "ThoriumMod:MagmaBoundFishingLine", 1);
            workingCategories = makeAccessoryCategories(fishingKeyword); working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //Biome Chests
            //depths
            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 250, "ThoriumMod:AquaticDepthsBiomeKey", 1);
            working.addPart(ModContent.ItemType <HardmodePart>(), 200);
            workingCategories = new List <string>()
            {
                utilityKeyword
            };
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 250, "ThoriumMod:Fishbone", 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 200);
            workingCategories = makeWeaponsCategories(bardKeyword, stringInstrumentKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <AquaticDepthsPart>(), 3, "ThoriumMod:AquaticDepthsBiomeChest", 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 1);
            workingCategories = makeFurnitureCategories(chestKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, aquaticDepthsBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //desert
            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 250, "ThoriumMod:DesertBiomeKey", 1);
            working.addPart(ModContent.ItemType <HardmodePart>(), 200);
            workingCategories = new List <string>()
            {
                utilityKeyword
            };
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 250, "ThoriumMod:PharaohsSlab", 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 200);
            workingCategories = makeWeaponsCategories(throwingDamageKeyword, otherKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 3, "ThoriumMod:DesertBiomeChest", 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 1);
            workingCategories = makeFurnitureCategories(chestKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            //hell
            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 250, "ThoriumMod:UnderworldBiomeKey", 1);
            working.addPart(ModContent.ItemType <HardmodePart>(), 200);
            workingCategories = new List <string>()
            {
                utilityKeyword
            };
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 250, "ThoriumMod:PheonixStaff", 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 200);
            workingCategories = makeWeaponsCategories(HealerKeyword, staffWeaponKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 3, "ThoriumMod:UnderworldBiomeChest", 1);
            working.addPart(ModContent.ItemType <PostPlanteraPart>(), 1);
            workingCategories = makeFurnitureCategories(chestKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Thorium")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #27
0
        private void makeVanityBodyRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 25, ItemID.TheBrideDress, 1);

            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 1, ItemID.TheBrideDress, 1);
            working.addPart(ModContent.ItemType <RareEnemyPart>(), 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 40, ItemID.PharaohsRobe, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 80, ItemID.EskimoCoat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 40, ItemID.MummyShirt, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <RainPart>(), 25, ItemID.RainCoat, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PirateInvasionPart>(), 25, ItemID.SailorShirt, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pirateInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PirateInvasionPart>(), 25, ItemID.BuccaneerShirt, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pirateInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PumpkinMoonPart>(), 15, ItemID.ScarecrowShirt, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pumpkinMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 50, ItemID.LamiaShirt, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <MartianInvasionPart>(), 30, ItemID.MartianCostumeShirt, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, martianInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <MartianInvasionPart>(), 30, ItemID.MartianUniformTorso, 1);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, martianInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 20, ItemID.PedguinShirt, 1);
            working.addPart(ModContent.ItemType <CrimsonSurfacePart>(), 20);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 20, ItemID.PedguinShirt, 1);
            working.addPart(ModContent.ItemType <CorruptionSurfacePart>(), 20);
            workingCategories = makeVanityCategories(armorBodyKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #28
0
        private void makeVanityHeadRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 25, ItemID.JungleRose, 1);

            workingCategories = makeVanityCategories(armorHeadKeyword);
            workingCategories.AddRange(makeMaterialCategories(plantsMaterialKeyword));
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 5, ItemID.BunnyHood, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 25, ItemID.TopHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 1, ItemID.TopHat, 1);
            working.addPart(ModContent.ItemType <RareEnemyPart>(), 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleUndergroundPart>(), 25, ItemID.ArchaeologistsHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <HellUndergroundPart>(), 40, ItemID.PlumbersHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, hellBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <JungleSurfacePart>(), 40, ItemID.RobotHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, jungleBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 25, ItemID.TheBrideHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <BloodMoonPart>(), 1, ItemID.TheBrideHat, 1);
            working.addPart(ModContent.ItemType <RareEnemyPart>(), 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, bloodMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 40, ItemID.PharaohsMask, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 80, ItemID.EskimoHood, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestSurfacePart>(), 40, ItemID.GreenCap, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 40, ItemID.MummyMask, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <ForestUndergroundPart>(), 100, ItemID.Skull, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <RainPart>(), 25, ItemID.RainHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <RainPart>(), 25, ItemID.UmbrellaHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, purityBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PirateInvasionPart>(), 25, ItemID.EyePatch, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pirateInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PirateInvasionPart>(), 25, ItemID.SailorHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pirateInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PirateInvasionPart>(), 25, ItemID.BuccaneerBandana, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pirateInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PumpkinMoonPart>(), 15, ItemID.ScarecrowHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pumpkinMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 20, ItemID.MoonMask, 1);
            working.addPart(ModContent.ItemType <CorruptionUndergroundPart>(), 10);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 20, ItemID.MoonMask, 1);
            working.addPart(ModContent.ItemType <CrimsonUndergroundPart>(), 10);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 30, ItemID.SunMask, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 50, ItemID.LamiaHat, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <MartianInvasionPart>(), 30, ItemID.MartianCostumeMask, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, martianInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <MartianInvasionPart>(), 30, ItemID.MartianUniformHelmet, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, martianInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 20, ItemID.PedguinHat, 1);
            working.addPart(ModContent.ItemType <CrimsonSurfacePart>(), 20);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 20, ItemID.PedguinHat, 1);
            working.addPart(ModContent.ItemType <CorruptionSurfacePart>(), 20);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PresentPart>(), 5, ItemID.GiantBow, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, christmasKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PumpkinMoonPart>(), 10, ItemID.JackOLanternMask, 1);
            workingCategories = makeVanityCategories(armorHeadKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pumpkinMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }
コード例 #29
0
        private void makeDyeRecipes()
        {
            List <int> dyes = new List <int>()
            {
                ItemID.TeamDye,
                ItemID.TeamHairDye,
                ItemID.HairDyeRemover,
                ItemID.MartianHairDye,
                ItemID.MartianArmorDye,
                ItemID.ReflectiveDye,
                ItemID.TwilightHairDye,
                3597,
                3598,
                3600
            };

            for (int i = 1007; i <= 1070; i++)
            {
                dyes.Add(i);
            }

            for (int i = 1977; i <= 1986; i++)
            {
                dyes.Add(i);
            }
            for (int i = 2869; i <= 2879; i++)
            {
                dyes.Add(i);
            }
            for (int i = 2883; i <= 2885; i++)
            {
                dyes.Add(i);
            }
            for (int i = 3025; i <= 3028; i++)
            {
                dyes.Add(i);
            }
            for (int i = 3038; i <= 3042; i++)
            {
                dyes.Add(i);
            }
            for (int i = 3526; i <= 3530; i++)
            {
                dyes.Add(i);
            }
            for (int i = 3533; i <= 3535; i++)
            {
                dyes.Add(i);
            }
            for (int i = 3550; i <= 3562; i++)
            {
                dyes.Add(i);
            }

            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            foreach (int dye in dyes)
            {
                PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DyePart>(), 1, dye, 1);
                workingCategories = makeVanityCategories(dyeKeyword);
                working.addCategoryAndSubcategories(workingCategories);
                working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); PartRecipes.addRecipe(working);
            }
        }
コード例 #30
0
        private void makeVanityLegsRecipes()
        {
            List <PartRecipe> recipes = new List <PartRecipe>();
            List <string>     workingCategories;

            PartRecipe working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 80, ItemID.EskimoPants, 1);

            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertSurfacePart>(), 40, ItemID.MummyPants, 1);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PirateInvasionPart>(), 25, ItemID.SailorPants, 1);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pirateInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PirateInvasionPart>(), 25, ItemID.BuccaneerPants, 1);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pirateInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <PumpkinMoonPart>(), 15, ItemID.ScarecrowPants, 1);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, pumpkinMoonKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 50, ItemID.LamiaPants, 1);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <MartianInvasionPart>(), 30, ItemID.MartianCostumePants, 1);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, martianInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working           = PartRecipe.SimplePartRecipe(ModContent.ItemType <MartianInvasionPart>(), 30, ItemID.MartianUniformPants, 1);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByEventCategories(workingCategories, martianInvasionKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 20, ItemID.PedguinPants, 1);
            working.addPart(ModContent.ItemType <CrimsonSurfacePart>(), 20);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <IceSurfacePart>(), 20, ItemID.PedguinPants, 1);
            working.addPart(ModContent.ItemType <CorruptionSurfacePart>(), 20);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, iceBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 20, ItemID.DjinnsCurse, 1);
            working.addPart(ModContent.ItemType <CorruptionSurfacePart>(), 20);
            working.addPart(ModContent.ItemType <HardmodePart>(), 20);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);

            working = PartRecipe.SimplePartRecipe(ModContent.ItemType <DesertUndergroundPart>(), 20, ItemID.DjinnsCurse, 1);
            working.addPart(ModContent.ItemType <CrimsonSurfacePart>(), 20);
            working.addPart(ModContent.ItemType <HardmodePart>(), 20);
            workingCategories = makeVanityCategories(armorLegsKeyword);
            working.addCategoryAndSubcategories(workingCategories);
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, desertBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, crimsonBiomeKeyword));
            working.addCategoryAndSubcategories(makeByBiomeCategories(workingCategories, corruptionBiomeKeyword));
            working.addCategoryAndSubcategories(makeByModCategories(workingCategories, "Terraria")); recipes.Add(working);


            foreach (PartRecipe pr in recipes)
            {
                PartRecipes.addRecipe(pr);
            }
        }