Пример #1
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            var recipeMusket          = Api.GetProtoEntity <RecipeMusket>();
            var recipeFlintlockPistol = Api.GetProtoEntity <RecipeFlintlockPistol>();

            tasks
            .Add(TaskBuildStructure.Require <ObjectWeaponWorkbench>())
            .Add(TaskCraftRecipe.RequireStationRecipe <RecipeAmmoPaperCartridge>(
                     description: CraftPaperCartridge))
            .Add(TaskCraftRecipe.RequireStationRecipe(
                     new List <Recipe.RecipeForStationCrafting>()
            {
                recipeMusket,
                recipeFlintlockPistol
            },
                     description: CraftMusketOrFlintlockPistol)
                 .WithIcon(ClientItemIconHelper.CreateComposedIcon(this.ShortId,
                                                                   recipeFlintlockPistol.Icon,
                                                                   recipeMusket.Icon)))
            .Add(TaskUseItem.Require <IProtoItemWeaponRanged>(
                     description: FireTheWeapon));

            prerequisites
            .Add <QuestUseCrowbarAndDeconstructBuilding>();
        }
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectCampfire>();

            duration = CraftingDuration.Medium;

            inputItems.Add <ItemMushroomPennyBun>(count: 1);

            outputItems.Add <ItemRoastedMushrooms>();

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemRoastedMushrooms>().Icon,
                secondaryIcon: GetItem <ItemMushroomPennyBun>().Icon);
        }
Пример #3
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectMineralProcessingPlant>();

            duration = CraftingDuration.VeryShort;

            inputItems.Add <ItemStone>(count: 25);

            outputItems.Add <ItemSand>(count: 25);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemSand>().Icon,
                secondaryIcon: GetItem <ItemStone>().Icon);
        }
Пример #4
0
        protected override void SetupRecipe(
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems,
            StationsList optionalStations)
        {
            optionalStations.Add <ObjectWorkbench>();

            duration = CraftingDuration.Second;

            inputItems.Add <ItemBottleEmpty>(count: 1);

            outputItems.Add <ItemGlassRaw>(count: 5);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemGlassRaw>().Icon,
                secondaryIcon: GetItem <ItemBottleEmpty>().Icon);
        }
Пример #5
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectWorkbench>();

            duration = CraftingDuration.Short;

            inputItems.Add <ItemPlastic>(count: 5);

            outputItems.Add <ItemCanisterEmpty>(count: 5);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemCanisterEmpty>().Icon,
                secondaryIcon: GetItem <ItemPlastic>().Icon);
        }
Пример #6
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectChemicalLab>();

            duration = CraftingDuration.Second;

            inputItems.Add <ItemComponentsIndustrialChemicals>(count: 1);

            outputItems.Add <ItemGlue>(count: 3);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemGlue>().Icon,
                secondaryIcon: GetItem <ItemComponentsIndustrialChemicals>().Icon);
        }
Пример #7
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectWorkbench>();

            duration = CraftingDuration.Second;

            inputItems.Add <ItemLeaf>(count: 1);

            outputItems.Add <ItemFibers>(count: 3);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemFibers>().Icon,
                secondaryIcon: GetItem <ItemLeaf>().Icon);
        }
Пример #8
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            // minerals without stone (as it has a separate requirement)
            var listMinerals = Api.FindProtoEntities<IProtoObjectMineral>();
            listMinerals.Remove(Api.GetProtoEntity<ObjectMineralStone>());

            tasks
                .Add(TaskVisitTile.Require<TileRocky>())
                .Add(TaskDestroy.Require(list: listMinerals, count: 3, description: this.Name)
                                .WithIcon(Api.IsClient
                                              ? ClientItemIconHelper.CreateComposedIcon(this.ShortId,
                                                                                        Api.GetProtoEntity<ObjectMineralIron>().Icon,
                                                                                        Api.GetProtoEntity<ObjectMineralCopper>().Icon)
                                              : null))
                .Add(TaskDestroy.Require<ObjectMineralStone>(count: 3, description: TaskMineStone));

            prerequisites
                .Add<QuestCraftAPickaxe>();
        }
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan craftDuration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectCookingTable>();

            craftDuration = CraftingDuration.VeryShort;

            inputItems.Add <ItemCorn>(count: 1);

            outputItems.Add <ItemCookingOil>(count: 1);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemCookingOil>().Icon,
                secondaryIcon: GetItem <ItemCorn>().Icon);
        }
Пример #10
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectStove>();

            duration = CraftingDuration.Medium;

            inputItems.Add <ItemBerriesOrange>(count: 3);
            inputItems.Add <ItemSugar>(count: 3);

            outputItems.Add <ItemJamBerries>();

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemJamBerries>().Icon,
                secondaryIcon: GetItem <ItemBerriesOrange>().Icon);
        }
Пример #11
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectWorkbench>();

            duration = CraftingDuration.VeryShort;

            inputItems.Add <ItemIngotCopper>(count: 3);
            inputItems.Add <ItemRubberVulcanized>(count: 1);

            outputItems.Add <ItemWire>(count: 10);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemWire>().Icon,
                secondaryIcon: GetItem <ItemRubberVulcanized>().Icon);
        }
Пример #12
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectCampfire>();
            stations.Add <ObjectStove>();

            duration = CraftingDuration.Medium;

            inputItems.Add <ItemAnimalFat>(count: 2);

            outputItems.Add <ItemCampFuel>();

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemCampFuel>().Icon,
                secondaryIcon: GetItem <ItemAnimalFat>().Icon);
        }
Пример #13
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectMedicalLab>();

            duration = CraftingDuration.Short;

            inputItems.Add <ItemSlime>(count: 10);
            inputItems.Add <ItemAsh>(count: 5);

            outputItems.Add <ItemToxin>(count: 2);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemToxin>().Icon,
                secondaryIcon: GetItem <ItemSlime>().Icon);
        }
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectFurnace>()
            .Add <ObjectFurnaceElectric>();

            duration = CraftingDuration.Medium;

            inputItems.Add <ItemOreIronConcentrate>(count: 1);

            outputItems.Add <ItemIngotIron>();

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemIngotIron>().Icon,
                secondaryIcon: GetItem <ItemOreIronConcentrate>().Icon);
        }
Пример #15
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectWorkbench>();

            duration = CraftingDuration.Long;

            inputItems.Add <ItemSolarPanelBroken>(count: 4);
            inputItems.Add <ItemComponentsOptical>(count: 10);

            outputItems.Add <ItemSolarPanel>(count: 1);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemSolarPanel>().Icon,
                secondaryIcon: GetItem <ItemSolarPanelBroken>().Icon);
        }
Пример #16
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectChemicalLab>();

            duration = CraftingDuration.Short;

            inputItems.Add <ItemCanisterGasoline>(count: 3);
            inputItems.Add <ItemCanisterMineralOil>(count: 1);

            outputItems.Add <ItemCampFuel>(count: 5);
            outputItems.Add <ItemCanisterEmpty>(count: 4);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemCampFuel>().Icon,
                secondaryIcon: GetItem <ItemCanisterGasoline>().Icon);
        }
Пример #17
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectStove>();
            stations.Add <ObjectStoveElectric>();
            stations.Add <ObjectCampfire>();

            duration = CraftingDuration.Short;

            inputItems.Add <ItemFlowerOni>(count: 1);

            outputItems.Add <ItemAsh>(count: 5);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemAsh>().Icon,
                secondaryIcon: GetItem <ItemFlowerOni>().Icon);
        }
Пример #18
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectWorkbench>();

            duration = CraftingDuration.VeryShort;

            inputItems.Add <ItemBones>(count: 2);
            inputItems.Add <ItemSulfurPowder>(count: 10);
            inputItems.Add <ItemBottleWater>(count: 1);

            outputItems.Add <ItemGlue>(count: 1);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemGlue>().Icon,
                secondaryIcon: GetItem <ItemBones>().Icon);
        }
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectWorkbench>();

            duration = CraftingDuration.Short;

            inputItems.Add <ItemReactorBrokenModule>(count: 5);

            outputItems.Add <ItemComponentsElectronic>(count: 1);
            outputItems.Add <ItemIngotSteel>(count: 5);
            outputItems.Add <ItemWire>(count: 5);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemComponentsElectronic>().Icon,
                secondaryIcon: GetItem <ItemReactorBrokenModule>().Icon);
        }
Пример #20
0
        protected override void SetupRecipe(
            StationsList stations,
            out TimeSpan duration,
            InputItems inputItems,
            OutputItems outputItems)
        {
            stations.Add <ObjectChemicalLab>();

            duration = CraftingDuration.VeryShort;

            inputItems.Add <ItemCanisterPetroleum>(count: 2);
            inputItems.Add <ItemAcidNitric>(count: 1);

            outputItems.Add <ItemCampFuel>(count: 5);
            outputItems.Add <ItemCanisterEmpty>(count: 2);
            outputItems.Add <ItemBottleEmpty>(count: 1);

            this.Icon = ClientItemIconHelper.CreateComposedIcon(
                name: this.Id + "Icon",
                primaryIcon: GetItem <ItemCampFuel>().Icon,
                secondaryIcon: GetItem <ItemCanisterPetroleum>().Icon);
        }