private static void Postfix(PlayerStruggle __instance, ref BearHuntReduxSettings __result) { if (__result == null) { BearHuntAiRedux bearHuntAiRedux = __instance.m_PartnerBaseAi.m_BearHuntAiRedux; if (!bearHuntAiRedux) { bearHuntAiRedux = new BearHuntAiRedux(); } BearEncounter currentBearEncounterOwner = bearHuntAiRedux.GetCurrentBearEncounterOwner(); if (!currentBearEncounterOwner) { currentBearEncounterOwner = new BearEncounter(); } var settings = nonStroyBearspearSettings.Instance; currentBearEncounterOwner.m_BearHuntReduxSettings = (BearHuntReduxSettings)BearHuntReduxSettings.CreateInstance("BearHuntReduxSettings"); currentBearEncounterOwner.m_BearHuntReduxSettings.m_StruggleTapStrengthScale = GameManager.GetCustomMode().m_StruggleTapStrengthScale *settings.TapstrengthScale; currentBearEncounterOwner.m_BearHuntReduxSettings.m_StrugglePlayerDamageReceivedScale = GameManager.GetCustomMode().m_StrugglePlayerDamageReceivedScale *settings.DamageReceivedScale; currentBearEncounterOwner.m_BearHuntReduxSettings.m_StrugglePlayerDamageReceivedIntervalScale = GameManager.GetCustomMode().m_StrugglePlayerDamageReceivedIntervalScale *settings.DamageReceivedIntervalScale; currentBearEncounterOwner.m_BearHuntReduxSettings.m_StrugglePlayerClothingDamageScale = GameManager.GetCustomMode().m_StrugglePlayerClothingDamageScale *settings.ClothingDamageScale; __result = currentBearEncounterOwner.m_BearHuntReduxSettings; } }
public static void Postfix(PlayerStruggle __instance) { if (__instance.m_PartnerBaseAi.m_AiWolf) { if (Utils.RollChance(chanceToKillWolfAfterStruggle)) { __instance.m_PartnerBaseAi.EnterDead(); } } }
private static void Postfix(PlayerStruggle __instance) { if (__instance.m_PartnerBaseAi.m_AiWolf) { if (Utils.RollChance(Settings.options.chanceToKillWolfAfterStruggle)) { __instance.m_PartnerBaseAi.EnterDead(); } } }
public static void Postfix(PlayerStruggle __instance) { if (wolfBleedoutMinutes >= 0f) { __instance.m_WolfBleedoutMinutes = wolfBleedoutMinutes; } if (tapIncrement >= 0f) { __instance.m_TapIncrement = tapIncrement; } }
private static void Postfix(PlayerStruggle __instance) { if (Settings.options.wolfBleedoutMinutes >= 0f) { __instance.m_WolfBleedoutMinutes = Settings.options.wolfBleedoutMinutes; } if (Settings.options.tapIncrement >= 0f) { __instance.m_TapIncrement = Settings.options.tapIncrement; } }
public static bool Prefix(PlayerStruggle __instance) { var preferredStruggleWeapon = Implementation.GetPreferredStruggleWeapon(); if (preferredStruggleWeapon == null) { return(true); } __instance.OnWeaponPicked(preferredStruggleWeapon); AccessTools.Method(__instance.GetType(), "PlayPickerExitAudio").Invoke(__instance, null); AccessTools.Method(__instance.GetType(), "DoChangeWeapon").Invoke(__instance, null); return(false); }