Exemplo n.º 1
0
        public bool Install(Harmony instance, ConfigFile config)
        {
            if (KoikatuAPI.IsVR())
            {
                return(false);
            }

            _statDecay = config.Bind(KoikatuGameplayMod.ConfCatMainGame, "Player stats slowly decay overnight", true,
                                     "Player's stats slowly decrease every day to keep the training points relevant.");
            _changeLewdDaily = config.Bind(KoikatuGameplayMod.ConfCatMainGame, "Change lewdness overnight", false,
                                           "H bar of all heroines either increases or decreases overnight depending on their status.");

            SceneManager.sceneLoaded += (arg0, mode) =>
            {
                if (arg0.name != "MyRoom" || Singleton <Scene> .Instance.LoadSceneName == "H")
                {
                    _inNightMenu = false;
                }
                else
                {
                    if (!_inNightMenu && !_firstNightMenu)
                    {
                        try { OnNightStarted(); }
                        catch (Exception ex) { UnityEngine.Debug.LogException(ex); }
                    }

                    _inNightMenu    = true;
                    _firstNightMenu = false;
                }
            };

            return(true);
        }
Exemplo n.º 2
0
        public bool Install(Harmony instance, ConfigFile config)
        {
            if (KoikatuAPI.IsVR())
            {
                return(false);
            }

            instance.PatchAll(typeof(ClassCharaLimitUnlockHooks));
            instance.PatchMoveNext(AccessTools.Method(typeof(ActionScene), nameof(ActionScene.NPCLoadAll)),
                                   transpiler: new HarmonyMethod(typeof(ClassCharaLimitUnlockHooks), nameof(NPCLoadAllUnlock)));

            return(true);
        }
Exemplo n.º 3
0
        public bool Install(Harmony instance, ConfigFile config)
        {
            if (KoikatuAPI.IsVR())
            {
                return(false);
            }

            instance.PatchAll(typeof(ExitHSceneEarlyHooks));

            GameAPI.EndH += OnHEnd;

            return(true);
        }
Exemplo n.º 4
0
        public bool Install(Harmony instance, ConfigFile config)
        {
            if (KoikatuAPI.IsVR())
            {
                return(false);
            }

            _resetNoCondom = config.Bind(KoikatuGameplayMod.ConfCatHScene, "Make experienced girls ask for condom", true,
                                         "If enabled, sometimes a heroine will refuse raw insert on dangerous day until the second insert (once per day).\nIf disabled the default game logic is used (girl will never refuse if you did raw 5 times or more in total.)");

            GameAPI.DayChange += OnDayChanged;

            return(true);
        }
Exemplo n.º 5
0
        public bool Install(Harmony instance, ConfigFile config)
        {
            if (KoikatuAPI.IsVR())
            {
                return(false);
            }

            _fastTravelTimePenalty = config.Bind(KoikatuGameplayMod.ConfCatMainGame, "Fast travel (F3) time cost", 50,
                                                 new ConfigDescription("Value is in seconds. One period has 500 seconds.", new AcceptableValueRange <int>(0, 200)));

            instance.PatchAll(typeof(FastTravelCostHooks));

            return(true);
        }
Exemplo n.º 6
0
        public bool Install(Harmony instance, ConfigFile config)
        {
            if (KoikatuAPI.IsVR())
            {
                return(false);
            }

            _changeLewdAfterH = config.Bind(KoikatuGameplayMod.ConfCatHScene, "Change lewdness after H", false,
                                            "Decreases heroine's H bar after an H scene if satisfied, increases the bar if not.");

            GameAPI.EndH += UpdateLewdAfterH;

            return(true);
        }
Exemplo n.º 7
0
        public bool Install(Harmony instance, ConfigFile config)
        {
            if (KoikatuAPI.IsVR())
            {
                return(false);
            }

            var s = config.Bind(KoikatuGameplayMod.ConfCatMainGame, "Adjust preferred breast size question", true,
                                "Lowers the breast size needed for 'Average' and 'Large' breast options when a heroine asks you what size you prefer.\nChanges take effect after game restart.");

            if (s.Value)
            {
                instance.PatchAll(typeof(BustSizeQuestionHooks));
            }

            return(true);
        }