예제 #1
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);
        }
예제 #2
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskDiscoverTeleport.Require <ObjectAlienTeleport>(3));

            prerequisites
            .Add <QuestExploreBiomes3>();

            hints
            .Add(HintFindTwo)
            .Add(HintFindMany)
            .Add(HintHiddenLocations);
        }
예제 #3
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskHaveTechNode.Require <TechNodeLandClaimT1>())
            .Add(TaskBuildStructure.Require <ObjectLandClaimT1>())
            .Add(TaskRelocateAnyStructure.Require());

            prerequisites
            .Add <QuestCraftAndEquipClothArmor>()
            .Add <QuestPerformBasicActions>();

            hints
            .Add(HintStructureRelocation);
        }
예제 #4
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskBuildStructure.Require <ObjectGeneratorBio>())
            .Add(TaskBuildStructure.Require <ObjectPowerStorageLarge>())
            .Add(TaskBuildStructure.Require <ObjectFurnaceElectric>())
            .Add(TaskBuildStructure.Require <ObjectRechargingStation>());

            prerequisites
            .Add <QuestCompleteTier2Technologies>();

            hints
            .Add(HintGridExpansion);
        }
예제 #5
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskHaveTechNode.Require <TechNodeLandClaimT1>())
            .Add(TaskBuildStructure.Require <ObjectLandClaimT1>());
            // TODO: restore this for A28 as it will include the necessary localization of the task name
            //.Add(TaskRelocateAnyStructure.Require());

            prerequisites
            .Add <QuestCraftAndEquipClothArmor>()
            .Add <QuestPerformBasicActions>();

            hints
            .Add(HintStructureRelocation);
        }
예제 #6
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskCraftRecipe.RequireHandRecipe <RecipePickaxeStone>());

            prerequisites
            .Add <QuestChopDownATree>();

            hints
            .Add(() =>
            {
                var keyForButton = InputKeyNameHelper.GetKeyText(ClientInputManager.GetKeyForButton(GameButton.CraftingMenu));
                return(string.Format(HintCrafting, keyForButton));
            })
            .Add(HintRope);
        }
예제 #7
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);
        }
예제 #8
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskBuildStructure.Require <ObjectCampfire>());

            prerequisites
            .Add <QuestCraftAToolbox>();

            hints
            .Add(() =>
            {
                var keyForButton = InputKeyNameHelper.GetKeyText(ClientInputManager.GetKeyForButton(GameButton.ConstructionMenu));
                return(string.Format(HintBuildMenu, keyForButton));
            })
            .Add(HintPages)
            .Add(HintRepair);
        }
예제 #9
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskBuildStructure.Require <ObjectGeneratorSteam>())
            .Add(TaskBuildStructure.Require <ObjectPowerStorage>())
            .Add(TaskBuildStructure.Require <ObjectLightFloorLampSmall>());

            prerequisites
            .Add <QuestBuildChemicalLab>();

            hints
            .Add(HintGridZone)
            .Add(HintPowerStorage)
            .Add(HintGenerators)
            .Add(HintGridInformation)
            .Add(HintUnitedGrid)
            .Add(HintThresholds);
        }
예제 #10
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskCraftRecipe.RequireHandRecipe <RecipeRope>())
            .Add(TaskCraftRecipe.RequireHandRecipe <RecipeAxeStone>());

            prerequisites
            .Add <QuestGatherResources>();

            hints
            .Add(() =>
            {
                var keyForButton1 = InputKeyNameHelper.GetKeyText(ClientInputManager.GetKeyForButton(GameButton.CraftingMenu));
                var keyForButton2 = InputKeyNameHelper.GetKeyText(ClientInputManager.GetKeyForButton(GameButton.InventoryMenu));

                return(string.Format(HintHotkeys, keyForButton1, keyForButton2));
            });
        }
예제 #11
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskSortItemsContainer.Require)
            .Add(TaskRun.Require)
            .Add(TaskCompleteCompletionistAnyEntry.Require);

            prerequisites
            .Add <QuestUnlockAndBuildWorkbench>();

            hints
            .Add(() =>
            {
                var keyForButton = ClientInputManager.GetMappingForAbstractButton(
                    WrappedButton <GameButton> .GetWrappedButton(GameButton.ContainerSort));
                return(string.Format(HintSortInventory,
                                     InputKeyNameHelper.GetKeyText(keyForButton.PrimaryKey),
                                     InputKeyNameHelper.GetKeyText(keyForButton.SecondaryKey)));
            })
            .Add(HintSprint)
            .Add(HintCompletionist);
        }
예제 #12
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskHaveTechNode.Require <TechNodeBasicBuilding>())
            .Add(TaskHaveTechNode.Require <TechNodeWoodDoor>())
            .Add(TaskBuildStructure.Require <ObjectWallWood>())
            .Add(TaskBuildStructure.Require <ObjectDoorWood>());

            prerequisites
            .Add <QuestBuildAPermanentBase>();

            hints
            .Add(() =>
            {
                var keyForButton =
                    InputKeyNameHelper.GetKeyText(
                        ClientInputManager.GetKeyForButton(GameButton.TechnologiesMenu));
                return(string.Format(HintTechMenu, keyForButton));
            })
            .Add(HintTechUnlock)
            .Add(HintLPGain);
        }