Example #1
0
        public BloomeryRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <BloomeryItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <StoneItem>(typeof(StoneworkingEfficiencySkill), 20, StoneworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <BoardItem>(typeof(StoneworkingEfficiencySkill), 50, StoneworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <SandItem>(typeof(StoneworkingEfficiencySkill), 10, StoneworkingEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(10, StoneworkingSpeedSkill.MultiplicativeStrategy, typeof(StoneworkingSpeedSkill), Localizer.DoStr("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(BloomeryRecipe), Item.Get <BloomeryItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <BloomeryItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize(Localizer.DoStr("Bloomery"), typeof(BloomeryRecipe));
            CraftingComponent.AddRecipe(typeof(KilnObject), this);
        }
Example #2
0
        public TreasuryRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <TreasuryItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <BrickItem>(typeof(MetalworkingEfficiencySkill), 20, MetalworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <LumberItem>(typeof(MetalworkingEfficiencySkill), 30, MetalworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <GoldIngotItem>(typeof(MetalworkingEfficiencySkill), 10, MetalworkingEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(60, MetalworkingSpeedSkill.MultiplicativeStrategy, typeof(MetalworkingSpeedSkill), Localizer.DoStr("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(TreasuryRecipe), Item.Get <TreasuryItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <TreasuryItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Treasury", typeof(TreasuryRecipe));
            CraftingComponent.AddRecipe(typeof(AnvilObject), this);
        }
Example #3
0
        public SushiRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement<SushiItem>(),

            };
            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement<SalmonFilletItem>(typeof(CulinaryArtsEfficiencySkill), 10, CulinaryArtsEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement<TunaFilletItem>(typeof(CulinaryArtsEfficiencySkill), 10, CulinaryArtsEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement<TroutFilletItem>(typeof(CulinaryArtsEfficiencySkill), 10, CulinaryArtsEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement<ClamItem>(typeof(CulinaryArtsEfficiencySkill), 4, CulinaryArtsEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement<UrchinItem>(typeof(CulinaryArtsEfficiencySkill), 4, CulinaryArtsEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement<KelpItem>(typeof(CulinaryArtsEfficiencySkill), 4, CulinaryArtsEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement<RiceItem>(typeof(CulinaryArtsEfficiencySkill), 20, CulinaryArtsEfficiencySkill.MultiplicativeStrategy),
            };
            this.CraftMinutes = CreateCraftTimeValue(typeof(SushiRecipe), Item.Get<SushiItem>().UILink(), 15, typeof(CulinaryArtsSpeedSkill));
            this.Initialize("Sushi", typeof(SushiRecipe));
            CraftingComponent.AddRecipe(typeof(KitchenObject), this);
        }
        public WoodenStrawBedRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <WoodenStrawBedItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <LogItem>(typeof(WoodworkingEfficiencySkill), 10, WoodworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <BoardItem>(typeof(WoodworkingEfficiencySkill), 20, WoodworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <PlantFibersItem>(typeof(WoodworkingEfficiencySkill), 20, WoodworkingEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(5, WoodworkingSpeedSkill.MultiplicativeStrategy, typeof(WoodworkingSpeedSkill), Localizer.Do("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(WoodenStrawBedRecipe), Item.Get <WoodenStrawBedItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <WoodenStrawBedItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Wooden Straw Bed", typeof(WoodenStrawBedRecipe));
            CraftingComponent.AddRecipe(typeof(CarpentryTableObject), this);
        }
Example #5
0
        public ArcadeGun2Recipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <ArcadeGun2Item>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <GlassItem>(typeof(ElectronicProductionEfficiencySkill), 10, ElectronicProductionEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <CircuitItem>(typeof(ElectronicProductionEfficiencySkill), 20, ElectronicProductionEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <LumberItem>(typeof(ElectronicProductionEfficiencySkill), 40, ElectronicProductionEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(40, ElectronicProductionSpeedSkill.MultiplicativeStrategy, typeof(ElectronicProductionSpeedSkill), Localizer.Do("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(ArcadeGun2Recipe), Item.Get <ArcadeGun2Item>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <ArcadeGun2Item>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Arcade Gun 2", typeof(ArcadeGun2Recipe));
            CraftingComponent.AddRecipe(typeof(FactoryObject), this);
        }
Example #6
0
        public ExcavatorRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <ExcavatorItem>(),
            };
            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <GearboxItem>(typeof(IndustrialEngineeringEfficiencySkill), 10, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <CelluloseFiberItem>(typeof(IndustrialEngineeringEfficiencySkill), 20, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <SteelItem>(typeof(IndustrialEngineeringEfficiencySkill), 40, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <AdvancedCombustionEngineItem>(typeof(IndustrialEngineeringEfficiencySkill), 2, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <RivetItem>(typeof(IndustrialEngineeringEfficiencySkill), 20, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <GlassItem>(typeof(IndustrialEngineeringEfficiencySkill), 10, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <RubberItem>(typeof(IndustrialEngineeringEfficiencySkill), 8, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
            };
            this.CraftMinutes = new ConstantValue(50);

            this.Initialize("Excavator", typeof(ExcavatorRecipe));
            CraftingComponent.AddRecipe(typeof(FactoryObject), this);
        }
Example #7
0
        public BannockRecipe()
        {
            var product = new Recipe(
                "Bannock",
                Localizer.DoStr("Bannock"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(WheatItem), 1, typeof(CampfireCookingSkill), typeof(CampfireCookingLavishResourcesTalent)),
                new IngredientElement("Fat", 1, typeof(CampfireCookingSkill), typeof(CampfireCookingLavishResourcesTalent)),
            },
                new CraftingElement <BannockItem>(1)
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.LaborInCalories = CreateLaborInCaloriesValue(20, typeof(CampfireCookingSkill));
            this.CraftMinutes    = CreateCraftTimeValue(typeof(BannockRecipe), 0.5f, typeof(CampfireCookingSkill), typeof(CampfireCookingFocusedSpeedTalent), typeof(CampfireCookingParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Bannock"), typeof(BannockRecipe));
            CraftingComponent.AddRecipe(typeof(CampfireObject), this);
        }
Example #8
0
        public ElkTrapRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <ElkTrapItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <CamasBulbItem>(typeof(WoodworkingSkill), 40, WoodworkingSkill.MultiplicativeStrategy),                  //requires Camas bulbs      to make
                new CraftingElement <HuckleberriesItem>(typeof(WoodworkingSkill), 20, WoodworkingSkill.MultiplicativeStrategy),              //requires Huckleberries    to make
                new CraftingElement <LumberItem>(typeof(WoodworkingEfficiencySkill), 25, WoodworkingEfficiencySkill.MultiplicativeStrategy), //requires Lumber           to make
            };
            SkillModifiedValue value = new SkillModifiedValue(40, WoodworkingSkill.MultiplicativeStrategy, typeof(WoodworkingSkill), Localizer.DoStr("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(ElkTrapRecipe), Item.Get <ElkTrapItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <ElkTrapItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize(Localizer.DoStr("Elk Trap"), typeof(ElkTrapRecipe));
            CraftingComponent.AddRecipe(typeof(CarpentryTableObject), this);
        }
Example #9
0
        public SteelCeilingLightRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <SteelCeilingLightItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <LightBulbItem>(1),
                new CraftingElement <SteelItem>(typeof(SteelworkingEfficiencySkill), 10, SteelworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <PlasticItem>(typeof(SteelworkingEfficiencySkill), 10, SteelworkingEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(10, SteelworkingSpeedSkill.MultiplicativeStrategy, typeof(SteelworkingSpeedSkill), Localizer.DoStr("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(SteelCeilingLightRecipe), Item.Get <SteelCeilingLightItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <SteelCeilingLightItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Steel Ceiling Light", typeof(SteelCeilingLightRecipe));
            CraftingComponent.AddRecipe(typeof(RoboticAssemblyLineObject), this);
        }
Example #10
0
        public BisonMountRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <BisonMountItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <BisonCarcassItem>(1),
                new CraftingElement <BoardItem>(typeof(ClothProductionEfficiencySkill), 5, ClothProductionEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <NailsItem>(typeof(ClothProductionEfficiencySkill), 8, ClothProductionEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(15, ClothProductionSpeedSkill.MultiplicativeStrategy, typeof(ClothProductionSpeedSkill), Localizer.DoStr("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(BisonMountRecipe), Item.Get <BisonMountItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <BisonMountItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Bison Mount", typeof(BisonMountRecipe));
            CraftingComponent.AddRecipe(typeof(TailoringTableObject), this);
        }
Example #11
0
        static PrinterObject()
        {
            foreach (var r in CraftingComponent.RecipesOnWorldObject(typeof(WorkbenchObject)))
            {
                CraftingComponent.AddRecipe(typeof(PrinterObject), r);
            }

            WorldObject.AddOccupancy <PrinterObject>(new List <BlockOccupancy>()
            {
                new BlockOccupancy(new Vector3i(0, 0, -1), typeof(BeltSlotBlock)),
                new BlockOccupancy(new Vector3i(-1, 0, -1)),
                new BlockOccupancy(new Vector3i(1, 0, -1)),
                new BlockOccupancy(new Vector3i(0, 0, 0)),
                new BlockOccupancy(new Vector3i(-1, 0, 0)),
                new BlockOccupancy(new Vector3i(1, 0, 0), typeof(BeltSlotBlock)),
                new BlockOccupancy(new Vector3i(0, 0, 1), typeof(BeltSlotBlock)),
                new BlockOccupancy(new Vector3i(-1, 0, 1)),
                new BlockOccupancy(new Vector3i(1, 0, 1)),

                new BlockOccupancy(new Vector3i(0, 1, -1)),
                new BlockOccupancy(new Vector3i(-1, 1, -1)),
                new BlockOccupancy(new Vector3i(1, 1, -1)),
                new BlockOccupancy(new Vector3i(0, 1, 0)),
                new BlockOccupancy(new Vector3i(-1, 1, 0)),
                new BlockOccupancy(new Vector3i(1, 1, 0)),
                new BlockOccupancy(new Vector3i(0, 1, 1)),
                new BlockOccupancy(new Vector3i(-1, 1, 1)),
                new BlockOccupancy(new Vector3i(1, 1, 1)),

                new BlockOccupancy(new Vector3i(0, 2, -1)),
                new BlockOccupancy(new Vector3i(-1, 2, -1)),
                new BlockOccupancy(new Vector3i(1, 2, -1)),
                new BlockOccupancy(new Vector3i(0, 2, 0)),
                new BlockOccupancy(new Vector3i(-1, 2, 0)),
                new BlockOccupancy(new Vector3i(1, 2, 0)),
                new BlockOccupancy(new Vector3i(0, 2, 1)),
                new BlockOccupancy(new Vector3i(-1, 2, 1)),
                new BlockOccupancy(new Vector3i(1, 2, 1)),
            });
        }
Example #12
0
        public NuclearReactorItemRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <NuclearReactorItem>(1),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <ConcreteItem>(typeof(NuclearTechnitionSkill), 2000f, NuclearTechnitionSkill.MultiplicativeStrategy),
                new CraftingElement <SteelPlateItem>(typeof(NuclearTechnitionSkill), 700f, NuclearTechnitionSkill.MultiplicativeStrategy),
                new CraftingElement <CircuitItem>(typeof(NuclearTechnitionSkill), 150f, NuclearTechnitionSkill.MultiplicativeStrategy),
                new CraftingElement <ServoItem>(typeof(NuclearTechnitionSkill), 50f, NuclearTechnitionSkill.MultiplicativeStrategy),
                new CraftingElement <HeatSinkItem>(typeof(NuclearTechnitionSkill), 50f, NuclearTechnitionSkill.MultiplicativeStrategy),
            };

            this.CraftMinutes = CreateCraftTimeValue(typeof(NuclearReactorItemRecipe), Item.Get <NuclearReactorItem>().UILink(), 120f, typeof(NuclearTechnitionSkill));

            this.Initialize(Localizer.DoStr("Ядерный реактор"), typeof(NuclearReactorItemRecipe));

            CraftingComponent.AddRecipe(typeof(RoboticAssemblyLineObject), this);
        }
Example #13
0
        public StuffedTurkeyRecipe()
        {
            var product = new Recipe(
                "StuffedTurkey",
                Localizer.DoStr("Stuffed Turkey"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(PrimeCutItem), 4, typeof(AdvancedBakingSkill), typeof(AdvancedBakingLavishResourcesTalent)),
                new IngredientElement(typeof(BreadItem), 1, typeof(AdvancedBakingSkill), typeof(AdvancedBakingLavishResourcesTalent)),
                new IngredientElement(typeof(VegetableMedleyItem), 1, typeof(AdvancedBakingSkill), typeof(AdvancedBakingLavishResourcesTalent)),
            },
                new CraftingElement <StuffedTurkeyItem>(1)
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.LaborInCalories = CreateLaborInCaloriesValue(20, typeof(AdvancedBakingSkill));
            this.CraftMinutes    = CreateCraftTimeValue(typeof(StuffedTurkeyRecipe), 4, typeof(AdvancedBakingSkill), typeof(AdvancedBakingFocusedSpeedTalent), typeof(AdvancedBakingParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Stuffed Turkey"), typeof(StuffedTurkeyRecipe));
            CraftingComponent.AddRecipe(typeof(BakeryOvenObject), this);
        }
Example #14
0
        public ClothCapeRecipe()
        {
            this.Recipes = new List <Recipe>
            {
                new Recipe(
                    "ClothCape",
                    Localizer.DoStr("Cloth Cape"),
                    new IngredientElement[]
                {
                    new IngredientElement(typeof(ClothItem), 20, typeof(TailoringSkill), typeof(TailoringLavishResourcesTalent)),
                    new IngredientElement(typeof(CelluloseFiberItem), 10, typeof(TailoringSkill), typeof(TailoringLavishResourcesTalent)),
                    new IngredientElement(typeof(LeatherHideItem), 30, typeof(TailoringSkill), typeof(TailoringLavishResourcesTalent)),
                },
                    new CraftingElement <ClothCapeItem>()
                    )
            };

            this.LaborInCalories = CreateLaborInCaloriesValue(60, typeof(TailoringSkill));
            this.CraftMinutes    = CreateCraftTimeValue(typeof(ClothCapeRecipe), 1, typeof(TailoringSkill), typeof(TailoringFocusedSpeedTalent), typeof(TailoringParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Cloth Cape"), typeof(ClothCapeRecipe));
            CraftingComponent.AddRecipe(typeof(TailoringTableObject), this);
        }
Example #15
0
        public MillRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <MillItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <StoneItem>(typeof(StoneworkingEfficiencySkill), 35, StoneworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <LogItem>(typeof(StoneworkingEfficiencySkill), 15, StoneworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <IronIngotItem>(typeof(StoneworkingEfficiencySkill), 4, StoneworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <BoardItem>(typeof(StoneworkingEfficiencySkill), 8, StoneworkingEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(20, StoneworkingSpeedSkill.MultiplicativeStrategy, typeof(StoneworkingSpeedSkill), Localizer.Do("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(MillRecipe), Item.Get <MillItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <MillItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Mill", typeof(MillRecipe));
            CraftingComponent.AddRecipe(typeof(MasonryTableObject), this);
        }
Example #16
0
        public MYCokeFurnaceRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <MYCokeFurnaceItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <ReinforcedConcreteItem>(typeof(IndustrialEngineeringEfficiencySkill), 10, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <SteelPlateItem>(typeof(IndustrialEngineeringEfficiencySkill), 20, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <ScrewsItem>(typeof(IndustrialEngineeringEfficiencySkill), 20, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <IronPipeItem>(typeof(IndustrialEngineeringEfficiencySkill), 10, IndustrialEngineeringEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(60, IndustrialEngineeringSpeedSkill.MultiplicativeStrategy, typeof(IndustrialEngineeringSpeedSkill), Localizer.DoStr("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(MYCokeFurnaceRecipe), Item.Get <MYCokeFurnaceItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <MYCokeFurnaceItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Coke Furnace", typeof(MYCokeFurnaceRecipe));
            CraftingComponent.AddRecipe(typeof(AssemblyLineObject), this);
        }
        public SteamTruckRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <SteamTruckItem>(),
            };
            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <PortableSteamEngineItem>(1),
                new CraftingElement <IronWheelItem>(4),
                new CraftingElement <IronAxleItem>(1),
                new CraftingElement <IronPlateItem>(typeof(MechanicsSkill), 30, MechanicsSkill.MultiplicativeStrategy, typeof(MechanicsLavishResourcesTalent)),
                new CraftingElement <IronPipeItem>(typeof(MechanicsSkill), 20, MechanicsSkill.MultiplicativeStrategy, typeof(MechanicsLavishResourcesTalent)),
                new CraftingElement <ScrewsItem>(typeof(MechanicsSkill), 40, MechanicsSkill.MultiplicativeStrategy, typeof(MechanicsLavishResourcesTalent)),
                new CraftingElement <LumberItem>(typeof(MechanicsSkill), 30, MechanicsSkill.MultiplicativeStrategy, typeof(MechanicsLavishResourcesTalent)),
                new CraftingElement <LeatherHideItem>(typeof(MechanicsSkill), 20, MechanicsSkill.MultiplicativeStrategy, typeof(MechanicsLavishResourcesTalent))
            };
            this.CraftMinutes = CreateCraftTimeValue(typeof(SteamTruckRecipe), Item.Get <SteamTruckItem>().UILink(), 25, typeof(MechanicsSkill), typeof(MechanicsFocusedSpeedTalent), typeof(MechanicsParallelSpeedTalent));

            this.Initialize(Localizer.DoStr("Steam Truck"), typeof(SteamTruckRecipe));
            CraftingComponent.AddRecipe(typeof(AssemblyLineObject), this);
        }
        public MechanicalWaterPumpRecipe()
        {
            var product = new Recipe(
                "MechanicalWaterPump",
                Localizer.DoStr("Mechanical Water Pump"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(IronBarItem), 8, typeof(MechanicsSkill), typeof(MechanicsLavishResourcesTalent)),
                new IngredientElement(typeof(IronPipeItem), 8, typeof(MechanicsSkill), typeof(MechanicsLavishResourcesTalent)),
            },
                new CraftingElement <MechanicalWaterPumpItem>()
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.ExperienceOnCraft = 5;
            this.LaborInCalories   = CreateLaborInCaloriesValue(100, typeof(MechanicsSkill));
            this.CraftMinutes      = CreateCraftTimeValue(typeof(MechanicalWaterPumpRecipe), 8, typeof(MechanicsSkill), typeof(MechanicsFocusedSpeedTalent), typeof(MechanicsParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Mechanical Water Pump"), typeof(MechanicalWaterPumpRecipe));
            CraftingComponent.AddRecipe(typeof(AssemblyLineObject), this);
        }
Example #19
0
        public OilRecipe()
        {
            var product = new Recipe(
                "Oil",
                Localizer.DoStr("Oil"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(SunflowerSeedItem), 12, typeof(MillingSkill), typeof(MillingLavishResourcesTalent)),
            },
                new CraftingElement <OilItem>(1)

                );

            this.Initialize(Localizer.DoStr("Oil"), typeof(OilRecipe));
            this.Recipes = new List <Recipe> {
                product
            };
            this.LaborInCalories = CreateLaborInCaloriesValue(20, typeof(MillingSkill), typeof(OilRecipe), this.UILink());
            this.CraftMinutes    = CreateCraftTimeValue(typeof(OilRecipe), this.UILink(), 2, typeof(MillingSkill), typeof(MillingFocusedSpeedTalent), typeof(MillingParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Oil"), typeof(OilRecipe));
            CraftingComponent.AddRecipe(typeof(MillObject), this);
        }
Example #20
0
        public BeehiveRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <BeehiveItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <BoardItem>(typeof(BeekeeperEfficiencySkill), 50, BeekeeperEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <GlassItem>(typeof(BeekeeperEfficiencySkill), 10, BeekeeperEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <IronIngotItem>(typeof(BeekeeperEfficiencySkill), 4, BeekeeperEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <GlueItem>(typeof(BeekeeperEfficiencySkill), 8, BeekeeperEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(1, BeekeeperSpeedSkill.MultiplicativeStrategy, typeof(BeekeeperSpeedSkill), Localizer.Do("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(BeehiveRecipe), Item.Get <BeehiveItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <BeehiveItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Beehive", typeof(BeehiveRecipe));
            CraftingComponent.AddRecipe(typeof(FarmersTableObject), this);
        }
Example #21
0
        public TallowWallLampRecipe()
        {
            var product = new Recipe(
                "TallowWallLamp",
                Localizer.DoStr("Tallow Wall Lamp"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(IronBarItem), 1, typeof(SmeltingSkill), typeof(SmeltingLavishResourcesTalent)),
                new IngredientElement(typeof(TallowItem), 2, typeof(SmeltingSkill), typeof(SmeltingLavishResourcesTalent)),
            },
                new CraftingElement <TallowWallLampItem>()
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.ExperienceOnCraft = 3;
            this.LaborInCalories   = CreateLaborInCaloriesValue(80, typeof(SmeltingSkill));
            this.CraftMinutes      = CreateCraftTimeValue(typeof(TallowWallLampRecipe), 3, typeof(SmeltingSkill), typeof(SmeltingFocusedSpeedTalent), typeof(SmeltingParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Tallow Wall Lamp"), typeof(TallowWallLampRecipe));
            CraftingComponent.AddRecipe(typeof(AnvilObject), this);
        }
Example #22
0
        public SteamTruckRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <SteamTruckItem>(),
            };
            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <PortableSteamEngineItem>(1),
                new CraftingElement <IronWheelItem>(4),
                new CraftingElement <IronAxleItem>(1),
                new CraftingElement <IronPlateItem>(typeof(MechanicsAssemblyEfficiencySkill), 30, MechanicsAssemblyEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <IronPipeItem>(typeof(MechanicsAssemblyEfficiencySkill), 20, MechanicsAssemblyEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <ScrewsItem>(typeof(MechanicsAssemblyEfficiencySkill), 40, MechanicsAssemblyEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <LumberItem>(typeof(MechanicsAssemblyEfficiencySkill), 30, MechanicsAssemblyEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <LeatherHideItem>(typeof(MechanicsAssemblyEfficiencySkill), 20, MechanicsAssemblyEfficiencySkill.MultiplicativeStrategy),
            };
            this.CraftMinutes = new ConstantValue(25);

            this.Initialize("Steam Truck", typeof(SteamTruckRecipe));
            CraftingComponent.AddRecipe(typeof(AssemblyLineObject), this);
        }
Example #23
0
        public KilnRecipe()
        {
            var product = new Recipe(
                "Kiln",
                Localizer.DoStr("Kiln"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(MortarItem), 10, typeof(MasonrySkill), typeof(MasonryLavishResourcesTalent)),
                new IngredientElement("MortaredStone", 10, typeof(MasonrySkill), typeof(MasonryLavishResourcesTalent)),
            },
                new CraftingElement <KilnItem>()
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.ExperienceOnCraft = 5;
            this.LaborInCalories   = CreateLaborInCaloriesValue(600, typeof(MasonrySkill));
            this.CraftMinutes      = CreateCraftTimeValue(typeof(KilnRecipe), 10, typeof(MasonrySkill), typeof(MasonryFocusedSpeedTalent), typeof(MasonryParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Kiln"), typeof(KilnRecipe));
            CraftingComponent.AddRecipe(typeof(MasonryTableObject), this);
        }
Example #24
0
        public BakeryOvenRecipe()
        {
            var product = new Recipe(
                "BakeryOven",
                Localizer.DoStr("Bakery Oven"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(BrickItem), 20, typeof(PotterySkill), typeof(PotteryLavishResourcesTalent)),
                new IngredientElement(typeof(IronBarItem), 10, typeof(PotterySkill), typeof(PotteryLavishResourcesTalent)),
            },
                new CraftingElement <BakeryOvenItem>()
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.ExperienceOnCraft = 5;
            this.LaborInCalories   = CreateLaborInCaloriesValue(300, typeof(PotterySkill));
            this.CraftMinutes      = CreateCraftTimeValue(typeof(BakeryOvenRecipe), 8, typeof(PotterySkill), typeof(PotteryFocusedSpeedTalent), typeof(PotteryParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Bakery Oven"), typeof(BakeryOvenRecipe));
            CraftingComponent.AddRecipe(typeof(KilnObject), this);
        }
        public BakingSkillBookRecipe()
        {
            this.Recipes = new List <Recipe>
            {
                new Recipe(
                    "Baking",
                    Localizer.DoStr("Baking"),
                    new IngredientElement[]
                {
                    new IngredientElement(typeof(CulinaryResearchPaperBasicItem), 10),
                    new IngredientElement(typeof(MetallurgyResearchPaperBasicItem), 5),
                    new IngredientElement("Basic Research", 10),
                },
                    new CraftingElement <BakingSkillScroll>()
                    )
            };
            this.LaborInCalories = CreateLaborInCaloriesValue(4000);
            this.CraftMinutes    = CreateCraftTimeValue(15);

            this.Initialize(Localizer.DoStr("Baking Skill Scroll"), typeof(BakingSkillBookRecipe));
            CraftingComponent.AddRecipe(typeof(ResearchTableObject), this);
        }
Example #26
0
        public NuclearFuelCellRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <NuclearFuelCellItem>(1),
                new CraftingElement <CopperIngotItem>(100),
                new CraftingElement <TailingsItem>(100),
            };
            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <BarrelItem>(1),
                new CraftingElement <LiquidNitrogenItem>(100),
                new CraftingElement <CopperOreItem>(typeof(NuclearTechnitionSkill), 500, NuclearTechnitionSkill.MultiplicativeStrategy),
            };
            this.ExperienceOnCraft = 20f;

            this.Initialize(Localizer.DoStr("Ядерный Топливный Контейнер"), typeof(NuclearFuelCellRecipe));

            this.CraftMinutes = CreateCraftTimeValue(typeof(NuclearFuelCellRecipe), Item.Get <NuclearFuelCellItem>().UILink(), 240f, typeof(NuclearTechnitionSkill));

            CraftingComponent.AddRecipe(typeof(LaboratoryObject), this);
        }
Example #27
0
        public FlowersDoubleBedRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <FlowersDoubleBedItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <LumberItem>(typeof(LumberWoodworkingEfficiencySkill), 40, LumberWoodworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <ClothItem>(typeof(LumberWoodworkingEfficiencySkill), 40, LumberWoodworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <RivetItem>(typeof(LumberWoodworkingEfficiencySkill), 5, LumberWoodworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <WoodPolishItem>(typeof(LumberWoodworkingEfficiencySkill), 5, LumberWoodworkingEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(10, LumberWoodworkingSpeedSkill.MultiplicativeStrategy, typeof(LumberWoodworkingSpeedSkill), Localizer.Do("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(FlowersDoubleBedRecipe), Item.Get <FlowersDoubleBedItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <FlowersDoubleBedItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Flowers Double Bed", typeof(FlowersDoubleBedRecipe));
            CraftingComponent.AddRecipe(typeof(SawmillObject), this);
        }
Example #28
0
        public TailoringTableRecipe()
        {
            var product = new Recipe(
                "TailoringTable",
                Localizer.DoStr("Tailoring Table"),
                new IngredientElement[]
            {
                new IngredientElement(typeof(PlantFibersItem), 50, typeof(CarpentrySkill), typeof(CarpentryLavishResourcesTalent)),
                new IngredientElement("WoodBoard", 20, typeof(CarpentrySkill), typeof(CarpentryLavishResourcesTalent)),
            },
                new CraftingElement <TailoringTableItem>()
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.ExperienceOnCraft = 5;
            this.LaborInCalories   = CreateLaborInCaloriesValue(600, typeof(CarpentrySkill));
            this.CraftMinutes      = CreateCraftTimeValue(typeof(TailoringTableRecipe), 25, typeof(CarpentrySkill), typeof(CarpentryFocusedSpeedTalent), typeof(CarpentryParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Tailoring Table"), typeof(TailoringTableRecipe));
            CraftingComponent.AddRecipe(typeof(CarpentryTableObject), this);
        }
Example #29
0
        public LumberStockpileRecipe()
        {
            var product = new Recipe(
                "LumberStockpile",
                Localizer.DoStr("Lumber Stockpile"),
                new IngredientElement[]
            {
                new IngredientElement("Lumber", 15, typeof(CarpentrySkill), typeof(CarpentryLavishResourcesTalent)),
                new IngredientElement("WoodBoard", 10, typeof(CarpentrySkill), typeof(CarpentryLavishResourcesTalent)),
            },
                new CraftingElement <LumberStockpileItem>()
                );

            this.Recipes = new List <Recipe> {
                product
            };
            this.ExperienceOnCraft = 3;
            this.LaborInCalories   = CreateLaborInCaloriesValue(1000, typeof(CarpentrySkill));
            this.CraftMinutes      = CreateCraftTimeValue(typeof(LumberStockpileRecipe), 8, typeof(CarpentrySkill), typeof(CarpentryFocusedSpeedTalent), typeof(CarpentryParallelSpeedTalent));
            this.Initialize(Localizer.DoStr("Lumber Stockpile"), typeof(LumberStockpileRecipe));
            CraftingComponent.AddRecipe(typeof(SawmillObject), this);
        }
Example #30
0
        public WoodenTableLampRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement <WoodenTableLampItem>(),
            };

            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement <LightBulbItem>(1),
                new CraftingElement <LumberItem>(typeof(LumberWoodworkingEfficiencySkill), 5, LumberWoodworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <BoardItem>(typeof(LumberWoodworkingEfficiencySkill), 10, LumberWoodworkingEfficiencySkill.MultiplicativeStrategy),
                new CraftingElement <ClothItem>(typeof(LumberWoodworkingEfficiencySkill), 10, LumberWoodworkingEfficiencySkill.MultiplicativeStrategy),
            };
            SkillModifiedValue value = new SkillModifiedValue(10, SteelworkingSpeedSkill.MultiplicativeStrategy, typeof(SteelworkingSpeedSkill), Localizer.DoStr("craft time"));

            SkillModifiedValueManager.AddBenefitForObject(typeof(WoodenTableLampRecipe), Item.Get <WoodenTableLampItem>().UILink(), value);
            SkillModifiedValueManager.AddSkillBenefit(Item.Get <WoodenTableLampItem>().UILink(), value);
            this.CraftMinutes = value;
            this.Initialize("Wooden Table Lamp", typeof(WoodenTableLampRecipe));
            CraftingComponent.AddRecipe(typeof(SawmillObject), this);
        }