/// <summary> /// Construct requirements for the specified package using the specified OS configuration /// </summary> /// <param name="packageTags"></param> /// <param name="osVersion"></param> /// <param name="spVersion"></param> /// <param name="type"></param> /// <param name="architecture"></param> internal Requirements(string packageTags, Version osVersion, Version spVersion, string type, string architecture) { // Save the system information for validation _osVersion = osVersion; _spVersion = spVersion; _type = type; _architecture = architecture; if (!string.IsNullOrEmpty(packageTags)) { // Split the package tags up // In NuGet the typical delimiter is space but we also support comma in the web matrix extension gallery. string[] tags = packageTags.Split(new char[] { ' ', '\t', '\r', '\n', ',' }, StringSplitOptions.RemoveEmptyEntries); // Parse each tag to see if it is a valid requirement and if so add it to our collection foreach (string tag in tags) { Requirement systemRequirement = new Requirement(tag); if (systemRequirement.Parse()) { RequirementsList.Add(systemRequirement); } } } }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { var headEquipmentExceptCloth = Api.FindProtoEntities <IProtoItemEquipmentHead>() .Where(i => !(i is ItemClothHat)) .ToList(); var chestEquipmentExceptCloth = Api.FindProtoEntities <IProtoItemEquipmentChest>() .Where(i => !(i is ItemClothShirt)) .ToList(); var legsEquipmentExceptCloth = Api.FindProtoEntities <IProtoItemEquipmentLegs>() .Where(i => !(i is ItemClothPants)) .ToList(); requirements .Add(RequirementBuildStructure.Require <ObjectArmorerWorkbench>()) // suggest wood helmet but require any head item except the cloth one .Add(RequirementHaveItemEquipped.Require( headEquipmentExceptCloth, string.Format(RequirementHaveItemEquipped.DescriptionFormat, Api.GetProtoEntity <ItemWoodHelmet>().Name))) // suggest wood chestplate but require any chest item except the cloth one .Add(RequirementHaveItemEquipped.Require( chestEquipmentExceptCloth, string.Format(RequirementHaveItemEquipped.DescriptionFormat, Api.GetProtoEntity <ItemWoodChestplate>().Name))) // suggest wood pants but require any legs item except the cloth one .Add(RequirementHaveItemEquipped.Require( legsEquipmentExceptCloth, string.Format(RequirementHaveItemEquipped.DescriptionFormat, Api.GetProtoEntity <ItemWoodPants>().Name))); prerequisites .Add <QuestExploreBiomes1>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementHaveItem.Require <ItemFibers>(count: 10)) .Add(RequirementHaveItem.Require <ItemTwigs>(count: 10)) .Add(RequirementHaveItem.Require <ItemStone>(count: 10)); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementCraftRecipe.RequireHandRecipe <RecipeToolboxT1>()); prerequisites .Add <QuestPerformBasicActions>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementBuildStructure.Require <ObjectCampfire>()); prerequisites .Add <QuestCraftAToolbox>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementDestroy.Require <IProtoObjectTree>(count: 3, description: this.Name)); prerequisites .Add <QuestCraftAnAxe>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementCraftRecipe.RequireHandRecipe <RecipePickaxeStone>()); prerequisites .Add <QuestChopDownATree>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementVisitTile.Require <TileRuins>()); prerequisites .Add <QuestCompleteTier1Technologies>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementBuildStructure.Require <ObjectBedroll>()); prerequisites .Add <QuestLearnBasicBuilding>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementVisitTile.Require <TileSwamp>()) .Add(RequirementVisitTile.Require <TileVolcanic>()); prerequisites .Add <QuestAdvancedResourcesAcquisition>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementGather.Require <ObjectBushWaterbulb>(count: 5, TaskGatherWaterbulbFruit)) .Add(RequirementUseItem.Require <ItemWaterbulb>()); prerequisites .Add <QuestCookAnyFood>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementHaveTechNode.Require <TechNodeBasicBuilding>()); prerequisites .Add <QuestBuildACampfire>() .Add <QuestMineAnyMineral>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementHaveTechNode.Require <TechNodeFridgeEvaporator>()) .Add(RequirementBuildStructure.Require <ObjectFridgeEvaporator>()); prerequisites .Add <QuestBuildMulchboxAndCraftWateringCan>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementDestroy.Require <IProtoObjectMineral>(count: 5, description: this.Name)) .Add(RequirementDestroy.Require <ObjectMineralStone>(count: 3, description: TaskMineStone)); prerequisites .Add <QuestCraftAPickaxe>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementSortItemsContainer.Require) .Add(RequirementRun.Require); prerequisites .Add <QuestChopDownATree>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementCraftRecipe.RequireHandRecipe <RecipeRope>()) .Add(RequirementCraftRecipe.RequireHandRecipe <RecipeAxeStone>()); prerequisites .Add <QuestGatherResources>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementHaveItem.Require <ItemHerbGreen>(count: 1, isReversible: false)) .Add(RequirementUseItem.Require <ItemHerbGreen>(count: 1)); prerequisites .Add <QuestCraftAKnifeAndKillAnyCreature>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementBuildStructure.Require <ObjectGeneratorSteam>()) .Add(RequirementBuildStructure.Require <ObjectPowerStorage>()) .Add(RequirementBuildStructure.Require <ObjectLightFloorLampSmall>()); prerequisites .Add <QuestBuildChemicalLab>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementHaveSkills.RequireAny(count: 4, minLevel: 1, description: TaskUnlockAnyCharacterSkills)); prerequisites .Add <QuestBuildAPermanentBase>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementKill.Require <MobChicken>(count: 1)) .Add(RequirementKill.Require <MobCrab>(count: 1)) .Add(RequirementKill.Require <MobStarfish>(count: 1)); prerequisites .Add <QuestCraftRangedWeapon>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementCraftRecipe.RequireHandRecipe <RecipeKnifeStone>()) .Add(RequirementKill.Require <IProtoCharacterMob>(count: 1, description: TaskKillAnyCreature)) .Add(RequirementGather.Require <ObjectCorpse>(count: 1, description: TaskLootAnyCreature)); prerequisites .Add <QuestUnlockAndBuildWorkbench>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementVisitTile.Require <TileForestBoreal>()) .Add(RequirementVisitTile.Require <TileRocky>()) .Add(RequirementVisitTile.Require <TileClay>()); prerequisites .Add <QuestCraftAndEquipBetterArmor>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementHaveTechNode.Require <TechNodeIronTools>()) .Add(RequirementCraftRecipe.RequireStationRecipe <RecipeAxeIron>()) .Add(RequirementCraftRecipe.RequireStationRecipe <RecipePickaxeIron>()); prerequisites .Add <QuestBuildFurnaceAndSmeltCopper>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementHaveTechNode.Require <TechNodeSmelting>()) .Add(RequirementBuildStructure.Require <ObjectFurnace>()) .Add(RequirementManufactureItem.Require <ItemIngotCopper>(count: 10)); prerequisites .Add <QuestBuildAPermanentBase>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementVisitTile.Require <TileSaltFlats>()) .Add(RequirementVisitTile.Require <TileBarren>()); prerequisites .Add <QuestEstablishPowerGrid>() .Add <QuestBuildMedicalLab>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementVisitTile.Require <TileForestBoreal>()) .Add(RequirementVisitTile.Require <TileRocky>()) .Add(RequirementVisitTile.Require <TileClay>()); prerequisites .Add <QuestUseCrowbarAndDeconstructBuilding>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementCraftRecipe.RequireHandRecipe <RecipeTorch>()) .Add(RequirementUseItem.Require <ItemTorch>()); prerequisites .Add <QuestLearnBasicBuilding>() .Add <QuestCookAnyFood>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementCraftRecipe.RequireStationRecipe <RecipeWateringCanWood>()) .Add(RequirementBuildStructure.Require <ObjectMulchbox>()) .Add(RequirementUseItem.Require <IProtoItemToolWateringCan>(description: TaskUseWateringCan)) .Add(RequirementUseItem.Require <ItemMulch>(description: TaskUseMulch)); prerequisites .Add <QuestBuildAFarm>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementBuildStructure.Require <ObjectChemicalLab>()) .Add(RequirementCraftRecipe.RequireStationRecipe <RecipeAcidSulfuricFromPyrite>()) .Add(RequirementCraftRecipe.RequireStationRecipe <RecipeAcidNitric>()) .Add(RequirementCraftRecipe.RequireStationRecipe <RecipeNitrocellulosePowder>()); prerequisites .Add <QuestCompleteTier1Technologies>(); }
protected override void PrepareQuest(QuestsList prerequisites, RequirementsList requirements) { requirements .Add(RequirementBuildStructure.Require <ObjectArmorerWorkbench>()) .Add(RequirementHaveItemEquipped.Require <ItemWoodHelmet>()) .Add(RequirementHaveItemEquipped.Require <ItemWoodChestplate>()) .Add(RequirementHaveItemEquipped.Require <ItemWoodPants>()); prerequisites .Add <QuestClaySandGlassBottlesWaterCollector>(); }