public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.bronzeanvil", true, "pipliz.crafter"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.bow", true, "pipliz.crafter"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.bowstring", true, "pipliz.crafter"); RecipePlayer.UnlockOptionalRecipe(manager.Player, "pipliz.player.bronzeanvil"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter2.linseedoil", true, "Nach0Crafter2Job"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter2.coatedplanks", true, "Nach0Crafter2Job"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter2.adobe", true, "Nach0Crafter2Job"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter2.bowstring", true, "Nach0Crafter2Job"); }
/// <summary> /// Called when this researchable is completed by a player. /// </summary> /// <param name="manager">Player's individual science manager.</param> /// <param name="reason">Will equal EResearchCompletionReason.ProgressCompleted when this research is completed by a player.</param> public void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { if (reason == EResearchCompletionReason.ProgressCompleted) { foreach (OptionalRecReference U in Unlocks) { if (U.limitType != null) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability(U.NPCCrafted, true, U.limitType); } if (U.PlayerCrafted != null) { RecipePlayer.UnlockOptionalRecipe(manager.Player, U.PlayerCrafted); } } foreach (OptionalRecReference L in Locks) { if (L.limitType != null) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability(L.NPCCrafted, false, L.limitType); } if (L.PlayerCrafted != null) { // need to figure out how to do this. } } } }
private static void Research_ResearchComplete(object sender, ResearchCompleteEventArgs e) { var armor = new List <Armor.ArmorMetadata>(); switch (e.Research.Level) { case 1: armor.AddRange(Armor.ArmorLookup.Values.Where(a => a.Metal == MetalType.Copper)); break; case 2: armor.AddRange(Armor.ArmorLookup.Values.Where(a => a.Metal == MetalType.Bronze)); break; case 3: armor.AddRange(Armor.ArmorLookup.Values.Where(a => a.Metal == MetalType.Iron)); break; case 4: armor.AddRange(Armor.ArmorLookup.Values.Where(a => a.Metal == MetalType.Steel)); break; } foreach (var item in armor) { RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(item.ItemType.name, true, Armor.JOB_METALSMITH); } }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.splittingstumptemperate", true, "pipliz.crafter"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.splittingstumptaiga", true, "pipliz.crafter"); RecipePlayer.UnlockOptionalRecipe(manager.Player, "pipliz.player.splittingstumptaiga"); RecipePlayer.UnlockOptionalRecipe(manager.Player, "pipliz.player.splittingstumptemperate"); }
private static void Machiness_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Miner.Item.name, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(GateLever.Item.name, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(GateLever.GateItem.name, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Turret.BRONZEARROW_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Turret.STONE_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Turret.CROSSBOW_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Turret.MATCHLOCK_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(AdvancedCrafterRegister.JOB_RECIPE, true, ItemFactory.JOB_CRAFTER); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(MachinistRegister.JOB_RECIPE, true, ItemFactory.JOB_CRAFTER); RecipePlayer.UnlockOptionalRecipe(e.Manager.Player, MachinistRegister.JOB_RECIPE); RecipePlayer.UnlockOptionalRecipe(e.Manager.Player, AdvancedCrafterRegister.JOB_RECIPE); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { var storage = RecipeStorage.GetPlayerStorage(manager.Player); storage.SetRecipeAvailability("pipliz.dyer.quarterblockblack", true, "pipliz.dyer"); storage.SetRecipeAvailability("pipliz.dyer.quarterblockwhite", true, "pipliz.dyer"); }
private static void Knights_ResearchComplete(object sender, ResearchCompleteEventArgs e) { PatrolTool.GivePlayerPatrolTool(e.Manager.Player); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(PatrolTool.PatrolFlag.name, true, ItemFactory.JOB_CRAFTER); }
private static void Apocth_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(ApothecaryRegister.JOB_RECIPE, true, ItemFactory.JOB_CRAFTER); RecipePlayer.UnlockOptionalRecipe(e.Manager.Player, ApothecaryRegister.JOB_RECIPE); }
private static void SwordResearch_ResearchComplete(object sender, ResearchCompleteEventArgs e) { List <Items.WeaponMetadata> sword = new List <Items.WeaponMetadata>(); switch (e.Research.Level) { case 1: sword.AddRange(Items.ItemFactory.WeaponLookup.Values.Where(a => a.Metal == Items.MetalType.Copper)); break; case 2: sword.AddRange(Items.ItemFactory.WeaponLookup.Values.Where(a => a.Metal == Items.MetalType.Bronze)); break; case 3: sword.AddRange(Items.ItemFactory.WeaponLookup.Values.Where(a => a.Metal == Items.MetalType.Iron)); break; case 4: sword.AddRange(Items.ItemFactory.WeaponLookup.Values.Where(a => a.Metal == Items.MetalType.Steel)); break; } foreach (var item in sword) { RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(item.ItemType.name, true, Items.Armor.JOB_METALSMITH); } }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { var storage = RecipeStorage.GetPlayerStorage(manager.Player); storage.SetRecipeAvailability("pipliz.woodcutter2.quarterblockbrowndark", true, "Nach0WoodCutter2Job"); storage.SetRecipeAvailability("pipliz.woodcutter2.quarterblockbrownlight", true, "Nach0WoodCutter2Job"); }
private static void Mana_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Items.Mana.Item.name, true, ApothecaryRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Aether.Item.name, true, ApothecaryRegister.JOB_NAME); }
private static void AdvanceApocth_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Anitbiotic.Item.name, true, ApothecaryRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(TreatedBandage.Item.name, true, ApothecaryRegister.JOB_NAME); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { var storage = RecipeStorage.GetPlayerStorage(manager.Player); storage.SetRecipeAvailability("pipliz.metalsmith2.lanternyellow", true, "Nach0MetalSmith2Job"); storage.SetRecipeAvailability("pipliz.dyer2.lanternwhite", true, "Nach0Dyer2Job"); storage.SetRecipeAvailability("pipliz.dyer2.lanterngreen", true, "Nach0Dyer2Job"); storage.SetRecipeAvailability("pipliz.dyer2.lanternblue", true, "Nach0Dyer2Job"); storage.SetRecipeAvailability("pipliz.dyer2.lanternred", true, "Nach0Dyer2Job"); storage.SetRecipeAvailability("pipliz.dyer2.lanternorange", true, "Nach0Dyer2Job"); storage.SetRecipeAvailability("pipliz.dyer2.lanterncyan", true, "Nach0Dyer2Job"); storage.SetRecipeAvailability("pipliz.dyer2.lanternpink", true, "Nach0Dyer2Job"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.linseedoil", true, "pipliz.crafter"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.coatedplanks", true, "pipliz.crafter"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.adobe", true, "pipliz.crafter"); if (reason == EResearchCompletionReason.ProgressCompleted) { Stockpile.GetStockPile(manager.Player).Add(BlockTypes.Builtin.BuiltinBlocks.FlaxStage1, 100); if (manager.Player.IsConnected) { Chatting.Chat.Send(manager.Player, "You received 100 flax seeds!"); } } }
private static void Machiness_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(Items.Machines.Miner.Item.name, true, Jobs.AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(Items.Machines.GateLever.Item.name, true, Jobs.AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(Items.Machines.GateLever.GateItem.name, true, Jobs.AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(Jobs.AdvancedCrafterRegister.JOB_RECIPE, true, Items.ItemFactory.JOB_CRAFTER); RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(Jobs.MachinistRegister.JOB_RECIPE, true, Items.ItemFactory.JOB_CRAFTER); RecipePlayer.UnlockOptionalRecipe(e.Manager.Player, Jobs.MachinistRegister.JOB_RECIPE); RecipePlayer.UnlockOptionalRecipe(e.Manager.Player, Jobs.AdvancedCrafterRegister.JOB_RECIPE); foreach (var item in Items.Machines.Turret.TurretSettings) { RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(item.Value.TurretItem.name, true, Jobs.AdvancedCrafterRegister.JOB_NAME); } }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { if (reason == EResearchCompletionReason.ProgressCompleted) { Stockpile.GetStockPile(manager.Player).Add(BlockTypes.Builtin.BuiltinBlocks.AlkanetStage1, 100); Stockpile.GetStockPile(manager.Player).Add(BlockTypes.Builtin.BuiltinBlocks.HollyhockStage1, 100); Stockpile.GetStockPile(manager.Player).Add(BlockTypes.Builtin.BuiltinBlocks.WolfsbaneStage1, 100); if (manager.Player.IsConnected) { Chatting.Chat.Send(manager.Player, "You received 100 Alkanet, Hollyhock and Wolfsbane seeds!"); } } RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.merchant.alkanetseeds", true, "pipliz.merchant"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.merchant.hollyhockseeds", true, "pipliz.merchant"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.merchant.wolfsbaneseeds", true, "pipliz.merchant"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.oven", true, "pipliz.crafter"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.grindstone", true, "pipliz.crafter"); RecipePlayer.UnlockOptionalRecipe(manager.Player, "pipliz.player.oven"); RecipePlayer.UnlockOptionalRecipe(manager.Player, "pipliz.player.grindstone"); if (reason == EResearchCompletionReason.ProgressCompleted) { Stockpile.GetStockPile(manager.Player).Add(BlockTypes.Builtin.BuiltinBlocks.WheatStage1, 400); if (manager.Player.IsConnected) { Chatting.Chat.Send(manager.Player, "You received 400 wheat seeds!"); } } }
/// <summary> /// Called when this researchable is completed by a player. /// </summary> /// <param name="manager">Player's individual science manager.</param> /// <param name="reason">Will equal EResearchCompletionReason.ProgressCompleted when this research is completed by a player.</param> public void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { if (reason == EResearchCompletionReason.ProgressCompleted) { foreach (Unlock U in Unlocks) { if (U.limitType != null) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability(U.NPCCrafted, true, U.limitType); } if (U.PlayerCrafted != null) { RecipePlayer.UnlockOptionalRecipe(manager.Player, U.PlayerCrafted); } } } }
private static void Elementium_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(Items.Elementium.Item.name, true, ApothecaryRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(EarthStone.Item.name, true, ApothecaryRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(FireStone.Item.name, true, ApothecaryRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(WaterStone.Item.name, true, ApothecaryRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(AirStone.Item.name, true, ApothecaryRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(ElementalTurrets.AIRTURRET_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(ElementalTurrets.FIRETURRET_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(ElementalTurrets.EARTHTURRET_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(ElementalTurrets.WATERTURRET_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(ElementalTurrets.VOIDTURRET_NAMESPACE, true, AdvancedCrafterRegister.JOB_NAME); }
public static void AdvancedMerchant_ResearchComplete(object sender, ResearchCompleteEventArgs e) { if (JSON.Deserialize(GameLoader.ConfigFolder + "/shopping.json", out JSONNode jsonRecipes, false)) { if (jsonRecipes.NodeType == NodeType.Array) { foreach (JSONNode craftingEntry in jsonRecipes.LoopArray()) { if (craftingEntry.TryGetAs("name", out string name)) { if (name.StartsWith(VANILLA_PREFIX)) { name = name.Substring(VANILLA_PREFIX.Length); } else { name = MOD_NAMESPACE_BLOCKS + "." + name; } } RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(name, true); } } } }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.dyertable2", true, "Nach0Crafter2Job"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.bronzeanvil2", true, "pipliz.crafter"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.technologist2.sciencebaglife", true, "Nach0Technologist2Job"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.merchant2.alkanetseeds", true, "Nach0Merchant2Job"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.merchant2.hollyhockseeds", true, "Nach0Merchant2Job"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.merchant2.wolfsbaneseeds", true, "Nach0Merchant2Job"); }
public static void Carpentry_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(MOD_NAMESPACE_BLOCKS + ".CarpentryWorkbench", true); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.gunsmith2.matchlockgun", true, "Nach0GunSmith2Job"); }
private static void Herbs_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player).SetRecipeAvailability(Jobs.HerbalistRegister.JOB_RECIPE, true, Items.ItemFactory.JOB_CRAFTER); RecipePlayer.UnlockOptionalRecipe(e.Manager.Player, Jobs.HerbalistRegister.JOB_RECIPE); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.metalsmith2.crossbowbolt", true, "Nach0MetalSmith2Job"); }
private static void Teleporters_ResearchComplete(object sender, ResearchCompleteEventArgs e) { RecipeStorage.GetPlayerStorage(e.Manager.Player) .SetRecipeAvailability(TeleportPad.Item.name, true, AdvancedCrafterRegister.JOB_NAME); }