private static void OnInsertNoVoiceClickPre(HSprite __instance, out bool __state) { var heroineId = __instance.GetLeadingHeroineId(); __state = __instance.flags.isInsertOK[heroineId]; var heroine = __instance.GetLeadingHeroine(); if (heroine == null) { return; } var girlOrgasms = __instance.flags.count.sonyuOrg; // Check if player can circumvent the raw deny if (!_forceInsert.Value) { return; } if (CanCircumventDeny(__instance) || girlOrgasms >= 3 + UnityEngine.Random.Range(0, 3) - heroine.lewdness / 66) { MakeGirlAngry(heroine, 20, 10); __instance.flags.isInsertOK[heroineId] = true; __instance.flags.isDenialvoiceWait = false; } }
private static void HideMenstrIconIfNeeded(HSprite __instance) { try { // Add the custom icons if necessary if (__instance.categoryMenstruation.lstObj.Count == 2) { var original = __instance.categoryMenstruation.lstObj[0]; void AddNewState(Sprite sprite) { var copy = UnityEngine.Object.Instantiate(original, original.transform.parent, false); copy.GetComponent <Image>().sprite = sprite; __instance.categoryMenstruation.lstObj.Add(copy); } AddNewState(_unknownSprite); // index 2 AddNewState(_pregSprite); AddNewState(_safeSprite); AddNewState(_riskySprite); AddNewState(_leaveSprite); } var heroineStatus = __instance.GetLeadingHeroine().GetHeroineStatus(); switch (heroineStatus) { case HeroineStatus.Unknown: __instance.categoryMenstruation.SetActiveToggle(2); break; case HeroineStatus.Pregnant: __instance.categoryMenstruation.SetActiveToggle(3); break; case HeroineStatus.Safe: __instance.categoryMenstruation.SetActiveToggle(4); break; case HeroineStatus.Risky: __instance.categoryMenstruation.SetActiveToggle(5); break; case HeroineStatus.OnLeave: __instance.categoryMenstruation.SetActiveToggle(6); break; } } catch (Exception ex) { UnityEngine.Debug.LogException(ex); } }
private static void OnInsertAnalClickPre(HSprite __instance, out bool __state) { __state = __instance.flags.isAnalInsertOK; // Check if player can circumvent the anal deny if (__instance.flags.count.sonyuAnalOrg >= 1) { __instance.flags.isAnalInsertOK = true; var heroine = __instance.GetLeadingHeroine(); if (heroine != null) { MakeGirlAngry(heroine, 20, 10); } } }
public static void SetSonyuStartPost(HSprite __instance) { var isTrap = IsATrap(__instance.GetLeadingHeroine()); var lstButton = __instance.sonyu.categoryActionButton.lstButton; // Toggle the front insert buttons. Anal buttons won't work properly if they are not already enabled so don't force enable. lstButton[0].gameObject.SetActive(!isTrap); lstButton[1].gameObject.SetActive(!isTrap); // Prevent getting stuck if (isTrap) { __instance.flags.isAnalInsertOK = true; } }
private static void OnInsertClickPre(HSprite __instance, out bool __state) { var heroineId = __instance.GetLeadingHeroineId(); __state = __instance.flags.isInsertOK[heroineId]; var heroine = __instance.GetLeadingHeroine(); 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) { __instance.flags.isInsertOK[heroineId] = true; } }
private static void OnInsertAnalNoVoiceClickPre(HSprite __instance, out bool __state) { __state = __instance.flags.isAnalInsertOK; // Check if player can circumvent the anal deny if (!_forceInsert.Value) { return; } if (CanCircumventDeny(__instance) || __instance.flags.count.sonyuAnalOrg >= 1) { __instance.flags.isAnalInsertOK = true; __instance.flags.isDenialvoiceWait = false; var heroine = __instance.GetLeadingHeroine(); if (heroine != null) { MakeGirlAngry(heroine, 30, 15); } } }
public static void InitHeroine(HSprite __instance) { __instance.GetLeadingHeroine().chaCtrl.GetComponent <KissController>().StartHScene(__instance.flags); }