public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.technologist.sciencebagmilitary", true, "pipliz.technologist"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { manager.Player.GetTempValues(true).Set("pipliz.healthregenmax", 100f); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.tailorshop", true, "pipliz.crafter"); RecipePlayer.UnlockOptionalRecipe(manager.Player, "pipliz.player.tailorshop"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { var storage = RecipeStorage.GetPlayerStorage(manager.Player); storage.SetRecipeAvailability("pipliz.stonemason2.quarterblockgrey", true, "Nach0StoneMason2Job"); }
public override void OnResearchComplete(ScienceManagerPlayer manager) { manager.Player.SetTemporaryValue("pipliz.healthmax", 150f); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { manager.Player.GetTempValues(true).Set("pipliz.builderlimit", 1000000); ConstructionHelper.SendPacket(manager.Player); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.tailorshop2", true, "Nach0Crafter2Job"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.gunsmith.gunpowder", true, "pipliz.gunsmith"); RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.gunsmith.gunpowderpouch", true, "pipliz.gunsmith"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.metalsmith.crossbow", true, "pipliz.metalsmith"); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.bloomery2", true, "pipliz.crafter"); }
public override void OnResearchComplete(ScienceManagerPlayer manager) { manager.Player.SetTemporaryValue("pipliz.healthregenspeed", 4f); }
public ResearchCompleteEventArgs(Research research, ScienceManagerPlayer player) { Research = research; Manager = player; }
public virtual void OnResearchComplete(ScienceManagerPlayer manager) { Log.Write("{0} completed {1}", manager.Player, key); }
public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { }
public static void SyncronizeResearch(Players.Player player, Players.Player fake_plater) { ScienceManagerPlayer player_ScienceManager = ScienceManager.GetPlayerManager(player); ScienceManagerPlayer fake_player_ScienceManager = ScienceManager.GetPlayerManager(fake_plater); List <ResearchProgress> plrinProgressResearch = player_ScienceManager.GetType().GetField("inProgressResearch", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(player_ScienceManager) as List <ResearchProgress>; List <ResearchProgress> fake_plrinProgressResearch = fake_player_ScienceManager.GetType().GetField("inProgressResearch", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(fake_player_ScienceManager) as List <ResearchProgress>; if (null == plrinProgressResearch && null == fake_plrinProgressResearch) { return; } if (null == fake_plrinProgressResearch) { Log.Write("<color=lime>Research from player to fakeplayer</color>"); fake_player_ScienceManager.GetType().GetField("inProgressResearch", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(fake_player_ScienceManager, plrinProgressResearch); foreach (ResearchProgress rp in plrinProgressResearch) { if (rp.research.GetResearchIterationCount() == rp.progress) { rp.research.OnResearchComplete(fake_player_ScienceManager, EResearchCompletionReason.Loaded); } } return; } if (null == plrinProgressResearch) { Log.Write("<color=lime>Research from fake_player to player</color>"); player_ScienceManager.GetType().GetField("inProgressResearch", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(player_ScienceManager, fake_plrinProgressResearch); foreach (ResearchProgress rp in fake_plrinProgressResearch) { if (rp.research.GetResearchIterationCount() == rp.progress) { rp.research.OnResearchComplete(player_ScienceManager, EResearchCompletionReason.Loaded); } } return; } foreach (ResearchProgress rpPlr in plrinProgressResearch) { bool contains = false; foreach (ResearchProgress rpFake_Plr in fake_plrinProgressResearch) { if (rpFake_Plr.research == rpPlr.research) { contains = true; if (rpPlr.progress > rpFake_Plr.progress) //Replace for the research with more progress { fake_plrinProgressResearch.Remove(rpFake_Plr); fake_plrinProgressResearch.Add(rpPlr); } break; } } if (!contains) { fake_plrinProgressResearch.Add(rpPlr); } } Log.Write("<color=lime>Synchronization</color>"); //Fake player synchronization fake_player_ScienceManager.GetType().GetField("inProgressResearch", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(fake_player_ScienceManager, fake_plrinProgressResearch); //Player synchronization player_ScienceManager.GetType().GetField("inProgressResearch", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(player_ScienceManager, fake_plrinProgressResearch); foreach (ResearchProgress rp in fake_plrinProgressResearch) { if (rp.research.GetResearchIterationCount() == rp.progress) { rp.research.OnResearchComplete(fake_player_ScienceManager, EResearchCompletionReason.Loaded); rp.research.OnResearchComplete(player_ScienceManager, EResearchCompletionReason.Loaded); } } }
public virtual void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason) { Log.Write("{0} completed {1} ({2})", manager.Player, key, reason); }