public static void OnInsertNoVoiceClickPre(HSprite __instance) { if (!Input.GetMouseButtonUp(0) || !__instance.IsSpriteAciotn()) { return; } if (__instance.flags.isInsertOK[Utilities.GetTargetHeroineId(__instance)]) { return; } var heroine = Utilities.GetTargetHeroine(__instance); var girlOrgasms = __instance.flags.count.sonyuOrg; // Check if player can circumvent the raw deny if (!KoikatuGameplayMod.ForceInsert.Value) { return; } if (CanCircumventDeny(__instance) || girlOrgasms >= 3 + UnityEngine.Random.Range(0, 3) - heroine.lewdness / 66) { MakeGirlAngry(heroine, 20, 10); Utilities.ForceAllowInsert(__instance); __instance.flags.isDenialvoiceWait = false; } }
public static void OnInsertClickPre(HSprite __instance) { if (!Input.GetMouseButtonUp(0) || !__instance.IsSpriteAciotn()) { return; } if (__instance.flags.isInsertOK[Utilities.GetTargetHeroineId(__instance)]) { return; } var heroine = Utilities.GetTargetHeroine(__instance); if (heroine == null) { return; } var girlOrgasms = __instance.flags.count.sonyuOrg; // Check if girl allows raw if (girlOrgasms >= 4 + UnityEngine.Random.Range(0, 3) - heroine.lewdness / 45) { Utilities.ForceAllowInsert(__instance); } }
public static void OnInsertAnalNoVoiceClickPre(HSprite __instance) { if (!Input.GetMouseButtonUp(0) || !__instance.IsSpriteAciotn()) { return; } if (__instance.flags.isAnalInsertOK) { return; } var heroine = Utilities.GetTargetHeroine(__instance); if (heroine == null) { return; } // Check if player can circumvent the anal deny if (!KoikatuGameplayMod.ForceInsert.Value) { return; } if (CanCircumventDeny(__instance) || __instance.flags.count.sonyuAnalOrg >= 1) { MakeGirlAngry(heroine, 30, 15); Utilities.ForceAllowInsert(__instance); __instance.flags.isDenialvoiceWait = false; } }
public static void OnInsertNoVoiceClickPre(HSprite __instance) { if (!Input.GetMouseButtonUp(0) || !__instance.IsSpriteAciotn()) { return; } if (__instance.flags.isInsertOK) { return; } var heroine = GetTargetHeroine(__instance); var girlOrgasms = __instance.flags.count.sonyuOrg; // Check if player can circumvent the raw deny // OUT_A is resting after popping the cork outdoors if (CanCircumventDeny(__instance) || girlOrgasms >= 3 + RandomGen.Next(0, 3) - heroine.lewdness / 66) { MakeGirlAngry(heroine); ForceAllowInsert(__instance); __instance.flags.isDenialvoiceWait = false; } }
public static void OnInsertAnalNoVoiceClickPre(HSprite __instance) { if (!Input.GetMouseButtonUp(0) || !__instance.IsSpriteAciotn()) { return; } if (__instance.flags.isAnalInsertOK) { return; } var heroine = GetTargetHeroine(__instance); if (heroine == null) { return; } // Check if player can circumvent the anal deny if (CanCircumventDeny(__instance) || __instance.flags.count.sonyuAnalOrg >= 1) { MakeGirlAngry(heroine); heroine.anger = Math.Min(100, heroine.anger + 15); ForceAllowInsert(__instance); __instance.flags.isDenialvoiceWait = false; } }
public static void OnInsertAnalClickPre(HSprite __instance) { if (!Input.GetMouseButtonUp(0) || !__instance.IsSpriteAciotn()) { return; } if (__instance.flags.isAnalInsertOK) { return; } // Check if player can circumvent the anal deny if (__instance.flags.count.sonyuAnalOrg >= 1) { var heroine = GetTargetHeroine(__instance); if (heroine != null && heroine.anger <= 80) { heroine.anger = Math.Min(100, heroine.anger + 20); } ForceAllowInsert(__instance); } }
public static void PadCLickStopVoice(HSprite __instance) { var interruptibleAnims = new string[] { "Idle", "_A", "_Loop" }; ForceStopVoice(ControlPadInterrupt.Value && __instance.IsSpriteAciotn() && (isVR || Input.GetMouseButtonDown(0)) && interruptibleAnims.Any(str => flags.nowAnimStateName.EndsWith(str)) && !flags.nowAnimStateName.Contains("Insert")); }
public static void OnInsertAnalClickPre(HSprite __instance) { if (!Input.GetMouseButtonUp(0) || !__instance.IsSpriteAciotn()) { return; } if (__instance.flags.isAnalInsertOK) { return; } // Check if player can circumvent the anal deny if (__instance.flags.count.sonyuAnalOrg >= 1) { var heroine = Utilities.GetTargetHeroine(__instance); MakeGirlAngry(heroine, 20, 10); Utilities.ForceAllowInsert(__instance); } }
private static bool SpawnSingleButton(int id, HSprite hSprite, CustomTrespassingButton buttonData) { if (buttonData.SpawnConditionCheck != null && !buttonData.SpawnConditionCheck(hSprite)) { return(false); } //Console.WriteLine($"spawn id={id} name=" + buttonData.ButtonText); var defaultBtn = hSprite.menuActionSub.GetObject(7); var copyBtn = Object.Instantiate(defaultBtn, defaultBtn.transform.parent, false); try { copyBtn.name = "CustomTrespassButton_" + id; Object.DestroyImmediate(copyBtn.GetComponent <TextChangeCtrl>()); Object.DestroyImmediate(copyBtn.GetComponent <HSpriteAutoDisable>()); var pa = copyBtn.GetComponent <PointerAction>(); pa.listDownAction.Add(hSprite.OnMouseDownSlider); copyBtn.GetComponentInChildren <TextMeshProUGUI>().text = buttonData.ButtonText; // Offset by 100 for each new button, don't offset first if the default button isn't shown copyBtn.transform.SetLocalPositionY(copyBtn.transform.localPosition.y - 100 * id); var btn = copyBtn.GetComponent <Button>(); var evt = btn.onClick; evt.m_Calls.Clear(); evt.m_Calls.ClearPersistent(); evt.m_PersistentCalls.Clear(); evt.m_CallsDirty = false; btn.onClick.AddListener(() => { if (Scene.IsNowLoadingFade) { return; } if (Scene.NowSceneNames[0] != "HProc") { return; } if (!hSprite.IsSpriteAciotn()) { return; } Utils.Sound.Play(SystemSE.sel); buttonData.OnButtonClicked(hSprite); }); hSprite.menuActionSub.lstObj.Add(copyBtn); hSprite.menuActionSub.makeParent.Add(copyBtn); buttonData.Instance = copyBtn; } catch { Object.Destroy(copyBtn); throw; } return(true); }