public static void CensorLewdOutfits(UiDoll __instance, ref int outfitIndex, ref int ____currentOutfitIndex, ref GirlDefinition ____girlDefinition, ref int __state) { if (____girlDefinition == null) { return; } //set state to the intended outfit index, and change outfitIndex if lewd __state = outfitIndex; if (outfitIndex == -1) { __state = Game.Persistence.playerFile.GetPlayerFileGirl(____girlDefinition).outfitIndex; } if (____girlDefinition.girlName == "Kyu" && outfitIndex == -1) { __state = HP2SR.KyuOutfit; outfitIndex = HP2SR.KyuOutfit; } if (!Game.Persistence.playerData.uncensored && HP2SR.CensorshipEnabled.Value) { foreach (int i in lewdOutfits[____girlDefinition.id - 1]) { if (i == __state) { outfitIndex = ____girlDefinition.defaultOutfitIndex; break; } } } //the ChangeOutfit function should now change the outfit to the girl's default outfit, and then the postfix allows lewd outfits to still be unlocked }
public static void ForGarrett(UiDoll __instance, ref int hairstyleIndex, ref int ____currentHairstyleIndex, ref GirlDefinition ____girlDefinition, ref int __state) { if (____girlDefinition == null) { return; } if (____girlDefinition.girlName == "Kyu" && hairstyleIndex == -1) { hairstyleIndex = HP2SR.KyuHairstyle; } }
/// <summary> /// Patch to have changeOutfit accept -69 to select a nude outfit /// </summary> /// <param name="__instance">UiDoll instance</param> /// <param name="outfitIndex">index of selected outfit</param> /// <returns></returns> public static bool N69AddNude(UiDoll __instance, int outfitIndex) { var privateFeilds = typeof(UiDoll).GetFields(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); var girlDefinition = (privateFeilds[2].GetValue(__instance) as GirlDefinition); if (girlDefinition == null) { return(false); } var loadPartFunc = typeof(UiDoll).GetMethod("LoadPart", BindingFlags.NonPublic | BindingFlags.Instance); if (outfitIndex == -69) { GirlOutfitSubDefinition girlOutfitSubDefinition = new GirlOutfitSubDefinition(); girlOutfitSubDefinition.hideNipples = false; girlOutfitSubDefinition.partIndexOutfit = -1; girlOutfitSubDefinition.outfitName = "Nude"; loadPartFunc.Invoke(__instance, new object[] { __instance.partOutfit, girlOutfitSubDefinition.partIndexOutfit, -1f }); __instance.partNipples.Show(); return(false); } PlayerFileGirl playerFileGirl = Game.Persistence.playerFile.GetPlayerFileGirl(girlDefinition); outfitIndex = ((outfitIndex == -1) ? playerFileGirl.outfitIndex : outfitIndex); outfitIndex = Mathf.Clamp(outfitIndex, 0, girlDefinition.outfits.Count - 1); privateFeilds[6].SetValue(__instance, outfitIndex); if (outfitIndex >= 0 && outfitIndex < girlDefinition.outfits.Count) { GirlOutfitSubDefinition girlOutfitSubDefinition = girlDefinition.outfits[outfitIndex]; loadPartFunc.Invoke(__instance, new object[] { __instance.partOutfit, girlOutfitSubDefinition.partIndexOutfit, -1f }); if (girlOutfitSubDefinition.hideNipples) { __instance.partNipples.Hide(); return(false); } __instance.partNipples.Show(); } return(false); }
public static void ShowNotif(string s, int pos = 1, bool silent = false) { if (Game.Manager.Ui.currentCanvas.titleCanvas) { ShowTooltip(s, 3000); return; } UiDoll doll = Game.Session.gameCanvas.dollLeft; if (pos == 1) { doll = Game.Session.gameCanvas.dollMiddle; } else if (pos == 2) { doll = Game.Session.gameCanvas.dollRight; } doll.notificationBox.Show(s, 0, silent); }
public static void Nippy(UiDoll __instance, ref int outfitIndex, ref int ____currentOutfitIndex, ref GirlDefinition ____girlDefinition, ref int __state) { if (____girlDefinition == null) { return; } //Datamining.Logger.LogDebug("outfit change to " + outfitIndex + "; changed to " + __instance.currentOutfitIndex); //FileLog.Log("outfit changed to " + outfitIndex); if (HP2SR.nudePatch) { __instance.partNipples.Show(); __instance.partOutfit.Hide(); } else { __instance.partOutfit.Show(); } //set outfit index to whatever it was supposed to be, for outfit unlocking purposes if (__state != -1) { __state = Mathf.Clamp(__state, 0, ____girlDefinition.outfits.Count - 1); ____currentOutfitIndex = __state; } }