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>();
        }
示例#2
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskGather.Require <ObjectBushWaterbulb>(count: 3, TaskGatherWaterbulbFruit))
            .Add(TaskUseItem.Require <ItemWaterbulb>());

            prerequisites
            .Add <QuestCookAnyFood>();
        }
示例#3
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskCraftRecipe.RequireHandRecipe <RecipeTorch>())
            .Add(TaskUseItem.Require <ItemTorch>());

            prerequisites
            .Add <QuestMineAnyMineral>();
        }
示例#4
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            var recipeDroneControlStandard     = Api.GetProtoEntity <RecipeDroneControlStandard>();
            var recipeDroneControlAdvanced     = Api.GetProtoEntity <RecipeDroneControlAdvanced>();
            var recipeDroneIndustrialStandard  = Api.GetProtoEntity <RecipeDroneIndustrialStandard>();
            var recipeDroneIndustrialAdvanced  = Api.GetProtoEntity <RecipeDroneIndustrialAdvanced>();
            var protoItemRemoteControlStandard = Api.GetProtoEntity <ItemDroneControlStandard>();

            // require crafting any drone control
            tasks.Add(
                TaskCraftRecipe.RequireStationRecipe(
                    new List <Recipe.RecipeForStationCrafting>()
            {
                recipeDroneControlStandard,
                recipeDroneControlAdvanced
            },
                    count: 1,
                    description: TaskCraftRecipe.AppendRecipeLocationIfNecessary(
                        TaskCraftRecipe.DescriptionTitlePrefix + " " + recipeDroneControlStandard.Name,
                        recipeDroneControlStandard))
                .WithIcon(recipeDroneControlStandard.Icon));

            // require crafting any drone (an item)
            tasks.Add(
                TaskCraftRecipe.RequireStationRecipe(
                    new List <Recipe.RecipeForStationCrafting>()
            {
                recipeDroneIndustrialStandard,
                recipeDroneIndustrialAdvanced
            },
                    count: 1,
                    description: TaskCraftRecipe.AppendRecipeLocationIfNecessary(
                        TaskCraftRecipe.DescriptionTitlePrefix
                        + " "
                        + recipeDroneIndustrialStandard.Name,
                        recipeDroneIndustrialStandard))
                .WithIcon(recipeDroneIndustrialStandard.Icon));

            // require using any drone item
            tasks.Add(
                TaskUseItem.Require(
                    Api.FindProtoEntities <IProtoItemDroneControl>(),
                    count: 1,
                    description: string.Format(TaskUseItem.DescriptionFormat,
                                               protoItemRemoteControlStandard.Name))
                .WithIcon(Api.GetProtoEntity <ItemDroneControlStandard>().Icon));

            prerequisites
            .Add <QuestAdvancedResourcesAcquisition>();

            hints
            .Add(HintDroneTasks)
            .Add(HintDroneControl)
            .Add(HintDroneUsage);
        }
示例#5
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskManufactureItem.Require <IProtoItemFood>(count: 1,
                                                              description: this.Name))
            .Add(TaskUseItem.Require <IProtoItemFood>(count: 1,
                                                      description: TaskEatAnyFood));

            prerequisites
            .Add <QuestBuildACampfire>();
        }
示例#6
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskBuildStructure.Require <ObjectMedicalLab>())
            .Add(TaskCraftRecipe.RequireStationRecipe <RecipeBandage>())
            .Add(TaskCraftRecipe.RequireStationRecipe <RecipeStrengthBoostSmall>())
            .Add(TaskUseItem.Require <ItemStrengthBoostSmall>());

            prerequisites
            .Add <QuestCompleteTier1Technologies>();
        }
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskGather.Require <ObjectSmallMushroomPennyBun>(count: 5))
            .Add(TaskGather.Require <ObjectSmallMushroomRust>(count: 5))

            .Add(TaskUseItem.Require <ItemRoastedMushrooms>(count: 10, description: "Eat roasted mushrooms"));

            prerequisites
            .Add <QuestCookAnyFood>();
        }
示例#8
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskHaveTechNode.Require <TechNodeFloorLampOil>())
            .Add(TaskHaveTechNode.Require <TechNodeOilLamp>())
            .Add(TaskBuildStructure.Require <ObjectLightFloorLampOil>())
            .Add(TaskUseItem.Require <ItemOilLamp>(count: 1))
            .Add(TaskHaveItem.Require <ItemCampFuel>(count: 1, isReversible: false));

            prerequisites
            .Add <QuestBuildEvaporativeFridge>();
        }
示例#9
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskCraftRecipe.RequireStationRecipe <RecipeWateringCanWood>())
            .Add(TaskBuildStructure.Require <ObjectMulchbox>())
            .Add(TaskUseItem.Require <IProtoItemToolWateringCan>(description: TaskUseWateringCan)
                 .WithIcon(Api.GetProtoEntity <ItemWateringCanWood>().Icon))
            .Add(TaskUseItem.Require <ItemMulch>(description: TaskUseMulch));

            prerequisites
            .Add <QuestBuildAFarm>()
            .Add <QuestClaySandGlassBottlesWaterCollector>();
        }
示例#10
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            var iconHerbGreen = Api.IsClient
                                    ? Api.GetProtoEntity <ObjectSmallHerbGreen>().Icon
                                    : null;

            tasks
            .Add(TaskHaveItem.Require <ItemHerbGreen>(count: 1, isReversible: false)
                 .WithIcon(iconHerbGreen))
            .Add(TaskUseItem.Require <ItemHerbGreen>(count: 1));

            prerequisites
            .Add <QuestCraftAKnifeAndKillAnyCreature>();
        }
示例#11
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            var listSeeds = Api.FindProtoEntities <IProtoItemSeed>();

            listSeeds.RemoveAll(i => i is IProtoItemSapling);

            tasks
            .Add(TaskHaveTechNode.Require <TechNodeFarmingBasics>())
            .Add(TaskBuildStructure.Require <ObjectFarmPlot>())
            .Add(TaskBuildStructure.Require <ObjectFarmingWorkbench>())
            .Add(TaskUseItem.Require(listSeeds, description: TaskPlantAnySeeds));

            prerequisites
            .Add <QuestCollectHerbsAndCraftMedicine>();
        }
示例#12
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskCraftRecipe.RequireStationRecipe <RecipeFishingRod>())
            .Add(TaskCraftRecipe.RequireStationRecipe <RecipeFishingBaitInsects>())
            .Add(TaskCatchFish.Require <IProtoItemFish>(count: 3, description: TaskCatchAnyFish))
            .Add(TaskUseItem.Require <IProtoItemFish>(count: 3, description: TaskCutAnyFish));

            prerequisites
            .Add <QuestEstablishPowerGrid>();

            hints
            .Add(HintFillet)
            .Add(HintWaterTypes)
            .Add(HintSkill);
        }
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            var protoItemOilLamp           = GetProtoEntity <ItemOilLamp>();
            var protoItemBraidedHelmetLamp = GetProtoEntity <ItemBraidedHelmetLamp>();

            tasks
            .Add(TaskHaveTechNode.Require <TechNodeFloorLampOil>())
            .Add(TaskHaveTechNode.Require <TechNodeOilLamp>())
            .Add(TaskBuildStructure.Require <ObjectLightFloorLampOil>())
            .Add(TaskUseItem.Require(new IProtoItem[]
            {
                protoItemOilLamp,
                protoItemBraidedHelmetLamp
            },
                                     count: 1,
                                     description: string.Format(TaskUseItem.DescriptionFormat,
                                                                protoItemOilLamp.Name)))
            .Add(TaskHaveItem.Require <ItemCampFuel>(count: 1, isReversible: false));

            prerequisites
            .Add <QuestBuildEvaporativeFridge>();
        }
 protected override void PrepareAchievement(TasksList tasks)
 {
     tasks.Add(TaskCraftRecipe.RequireStationRecipe <RecipeHerbalRemedy>());
     tasks.Add(TaskUseItem.Require <ItemRemedyHerbal>());
 }
示例#15
0
 protected override void PrepareAchievement(TasksList tasks)
 {
     tasks.Add(TaskCraftRecipe.RequireStationRecipe <RecipeMedkit>());
     tasks.Add(TaskUseItem.Require <ItemMedkit>());
 }
示例#16
0
 protected override void PrepareAchievement(TasksList tasks)
 {
     tasks.Add(TaskCraftRecipe.RequireStationRecipe <RecipeHammerPragmium>());
     tasks.Add(TaskUseItem.Require <ItemHammerPragmium>());
 }
示例#17
0
 protected override void PrepareAchievement(TasksList tasks)
 {
     tasks
     .Add(TaskUseItem.Require <IProtoItemDroneControl>());
 }