Пример #1
0
 protected override void PrepareAchievement(TasksList tasks)
 {
     foreach (var protoPlant in Api.FindProtoEntities <IProtoObjectPlant>())
     {
         tasks.Add(TaskGather.Require(protoPlant));
     }
 }
Пример #2
0
 protected override void PrepareAchievement(TasksList tasks)
 {
     tasks
     .Add(TaskGather.Require <ObjectSmallHerbGreen>())
     .Add(TaskGather.Require <ObjectSmallHerbRed>())
     .Add(TaskGather.Require <ObjectSmallHerbPurple>())
     .Add(TaskGather.Require <ObjectSmallHerbBlue>());
 }
Пример #3
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>();
        }
Пример #4
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskCraftRecipe.RequireHandRecipe <RecipeKnifeStone>())
            .Add(TaskKillAny.Require <IProtoCharacterMob>(count: 1, description: TaskKillAnyCreature))
            .Add(TaskGather.Require <ObjectCorpse>(count: 1, description: TaskLootAnyCreature));

            prerequisites
            .Add <QuestPerformBasicActions>();
        }
Пример #5
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskDestroy.Require <ObjectMineralSalt>(count: 5, description: TaskMineSalt))
            .Add(TaskGather.Require <ObjectBushOilpod>(count: 5))
            .Add(TaskHaveTechNode.Require <TechNodePetroleumFromOilpods>())
            .Add(TaskCraftRecipe.RequireStationRecipe <RecipeCanisterPetroleum>());

            prerequisites
            .Add <QuestCompleteTier2Technologies>();
        }
        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>();
        }
Пример #7
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskHaveItemEquipped.Require <ItemHelmetRespirator>())
            .Add(TaskVisitTile.Require <TileRuins>())
            .Add(TaskGather.Require(
                     // All loot containers but not loot piles (IsAutoTakeAll => false)
                     Api.FindProtoEntities <ProtoObjectLootContainer>()
                     .Where(p => !p.IsAutoTakeAll)
                     .ToList(),
                     count: 5,
                     TaskGatherLoot)
                 .WithIcon(Api.GetProtoEntity <ObjectLootCrateIndustrial>().Icon));

            prerequisites
            .Add <QuestCompleteTier1Technologies>();
        }
Пример #8
0
        protected override void PrepareQuest(QuestsList prerequisites, TasksList tasks, HintsList hints)
        {
            tasks
            .Add(TaskHaveItemEquipped.Require <ItemHelmetRespirator>())
            .Add(TaskVisitTile.Require <TileRuins>())
            .Add(TaskGather.Require(new IProtoObjectGatherable[]
            {
                Api.GetProtoEntity <ObjectLootCrateFood>(),
                Api.GetProtoEntity <ObjectLootCrateHightech>(),
                Api.GetProtoEntity <ObjectLootCrateIndustrial>(),
                Api.GetProtoEntity <ObjectLootCrateMedical>(),
                Api.GetProtoEntity <ObjectLootCrateMilitary>(),
                Api.GetProtoEntity <ObjectLootCrateSupply>()
            },
                                    count: 5,
                                    TaskGatherLoot));

            prerequisites
            .Add <QuestCompleteTier1Technologies>();
        }
Пример #9
0
        public async Task GenerateGatheringTask(string material, string difficulty, string userId)
        {
            var adventure = _GetGatherTaskRewards((MaterialType)Enum.Parse(typeof(MaterialType), material),
                                                  (AdventureDifficulties)Enum.Parse(typeof(AdventureDifficulties), difficulty));

            var task = new TaskGather
            {
                Id         = Guid.NewGuid().ToString(),
                StartTime  = DateTime.UtcNow,
                EndTime    = DateTime.UtcNow.AddSeconds(5),
                Rescource  = (Materials)Enum.Parse(typeof(Materials), adventure.MaterialType, true),
                Count      = adventure.MaterialCount,
                GoldIncome = adventure.CoinCount,
                IsComplete = false,
                UserId     = userId
            };

            await _db.TasksGather.AddAsync(task);

            await _db.SaveChangesAsync();
        }