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");
        }
Пример #2
0
        public override void OnResearchComplete(ColonyScienceState manager, EResearchCompletionReason reason)
        {
            base.OnResearchComplete(manager, reason);

            try
            {
                foreach (var p in manager.Colony.Owners)
                {
                    p.GetTempValues(true).Set(TmpValueKey, Value);
                    p.GetTempValues(true).Set(LevelKey, Level);
                }

                manager.Colony.TemporaryData.SetAs(TmpValueKey, Value);
                manager.Colony.TemporaryData.SetAs(LevelKey, Level);

                if (ResearchComplete != null)
                {
                    ResearchComplete(this, new ResearchCompleteEventArgs(this, manager));
                }
            }
            catch (Exception ex)
            {
                APILogger.LogError(ex, $"Error OnResearchComplete for {TmpValueKey} Level: {Level}.");
            }
        }
        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");
        }
 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");
 }
Пример #5
0
 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");
 }
Пример #6
0
        /// <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.
                    }
                }
            }
        }
Пример #7
0
 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");
 }
Пример #8
0
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     manager.Player.GetTempValues(true).Set("pipliz.healthmax", 150f);
     if (reason == EResearchCompletionReason.ProgressCompleted)
     {
         manager.Player.SendHealthPacket();
     }
 }
Пример #9
0
 public override void OnResearchComplete(ColonyScienceState manager, EResearchCompletionReason reason)
 {
     manager.Colony.RecipeData.UnlockRecipe(new RecipeKey("Nach0ChickenCoopJobBlock-pipliz.crafter"));
     manager.Colony.RecipeData.UnlockRecipe(new RecipeKey("Nach0ChickenFence-pipliz.crafter"));
     manager.Colony.RecipeData.UnlockRecipe(new RecipeKey("Nach0ChickenFenceCorner-pipliz.crafter"));
     manager.Colony.RecipeData.UnlockRecipe(new RecipeKey("Nach0ChickenFeed-pipliz.crafter"));
     manager.Colony.RecipeData.UnlockRecipe(new RecipeKey("Nach0CookedChickenMeat-pipliz.baker"));
 }
Пример #10
0
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     manager.Player.GetTempValues(true).Set("pipliz.bannersaferadius", 100);
     if (reason == EResearchCompletionReason.ProgressCompleted)
     {
         BannerTracker.SendPacket(manager.Player);
     }
 }
Пример #11
0
        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");
        }
Пример #12
0
 public override void OnResearchComplete(ColonyScienceState manager, EResearchCompletionReason reason)
 {
     manager.Colony.TemporaryData.SetAs("pipliz.healthmax", 350f);
     if (reason == EResearchCompletionReason.ProgressCompleted)
     {
         for (int i = 0; i < manager.Colony.Owners.Length; i++)
         {
             if (manager.Colony.Owners[i].ShouldSendData)
             {
                 manager.Colony.Owners[i].SendHealthPacket();
             }
         }
     }
 }
Пример #13
0
        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!");
                }
            }
        }
Пример #14
0
        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!");
                }
            }
        }
Пример #15
0
 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");
 }
Пример #16
0
 /// <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);
             }
         }
     }
 }
Пример #17
0
        public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
        {
            try
            {
                manager.Player.GetTempValues(true).Set(TmpValueKey, Value);
                manager.Player.GetTempValues(true).Set(LevelKey, Level);

                if (ResearchComplete != null)
                {
                    ResearchComplete(this, new ResearchCompleteEventArgs(this, manager));
                }
            }
            catch (Exception ex)
            {
                PandaLogger.LogError(ex, $"Error OnResearchComplete for {TmpValueKey} Level: {Level}.");
            }
        }
Пример #18
0
 public override void OnResearchComplete(ColonyScienceState manager, EResearchCompletionReason reason)
 {
     manager.Colony.RecipeData.UnlockRecipe(new RecipeKey("Nach0ChickenPie-pipliz.baker"));
 }
Пример #19
0
 public override void OnResearchComplete(ColonyScienceState manager, EResearchCompletionReason reason)
 {
     manager.Colony.TemporaryData.SetAs("pipliz.builderlimit", 25000000);
     ConstructionHelper.SendPacket(manager.Colony);
 }
Пример #20
0
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.metalsmith.fineryforge", true, "pipliz.metalsmith");
 }
Пример #21
0
 public override void OnResearchComplete(ColonyScienceState manager, EResearchCompletionReason reason)
 {
     manager.Colony.TemporaryData.SetAs("pipliz.healthregenmax", 200f);
 }
Пример #22
0
 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 override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.bronzeanvil2", true, "pipliz.crafter");
 }
Пример #25
0
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     manager.Player.GetTempValues(true).Set("pipliz.healthregenspeed", 8f);
 }
Пример #26
0
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.gunsmith2.matchlockgun", true, "Nach0GunSmith2Job");
 }
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.crafter.dyertable2", true, "Nach0Crafter2Job");
 }
Пример #28
0
 public virtual void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     Log.Write("{0} completed {1} ({2})", manager.Player, key, reason);
 }
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     RecipeStorage.GetPlayerStorage(manager.Player).SetRecipeAvailability("pipliz.metalsmith2.crossbowbolt", true, "Nach0MetalSmith2Job");
 }
Пример #30
0
 public override void OnResearchComplete(ScienceManagerPlayer manager, EResearchCompletionReason reason)
 {
     manager.Player.GetTempValues(true).Set("pipliz.diggerlimit", 25000);
     ConstructionHelper.SendPacket(manager.Player);
 }