private static bool Prefix(Fire __instance, Campfire ___m_Campfire, ref bool __result, float ___m_MaxOnTODSeconds, ref float ___m_ElapsedOnTODSeconds) { var setting = Fire_RVSettings.Instance; if (!setting.WindReworked) { return(true); } if (!___m_Campfire) { return(true); } Vector3 position = __instance.transform.position; position.y += 1f; if (!Fire_RV.ReworkedFireBlowOut(___m_MaxOnTODSeconds, ___m_ElapsedOnTODSeconds, __instance.GetCurrentTempIncrease())) { return(false); } else if (!GameManager.GetWindComponent().IsPositionOccludedFromWind(position)) { __result = true; } return(true); }
private static bool Prefix(Fire __instance, Campfire ___m_Campfire, float ___m_MaxOnTODSeconds, ref float ___m_ElapsedOnTODSeconds) { var setting = Fire_RVSettings.Instance; if (___m_Campfire && !___m_Campfire.CanFeedFire()) { return(false); } if (!setting.WindReworked) { if (__instance.FireShouldBlowOutFromWind()) { float num = Mathf.Clamp(___m_MaxOnTODSeconds - ___m_ElapsedOnTODSeconds, 0f, float.PositiveInfinity); float safezone = GameManager.GetFireManagerComponent().m_TODMinutesFadeOutFireAudio * 60f; if (num > safezone) { Fire_RV.breakdownFire(__instance); } } } else { if (!___m_Campfire) { return(false); } Vector3 position = __instance.transform.position; position.y += 1f; if (!GameManager.GetWindComponent().IsPositionOccludedFromWind(position)) { if (Fire_RV.ReworkedFireBlowOut(___m_MaxOnTODSeconds, ___m_ElapsedOnTODSeconds, __instance.GetCurrentTempIncrease())) { Fire_RV.breakdownFire(__instance); } } } return(false); }