// float GetAcceptableHeatLevelForMech(Mech mech)
        static bool Prefix(Mech mech, ref float __result)
        {
            float heatCheckMod = mech.HeatCheckMod(Mod.Config.SkillChecks.ModPerPointOfGuts);
            float bhvarAcceptableHeatFraction = UnitHelper.GetBehaviorVariableValue(mech.BehaviorTree, BehaviorVariableName.Float_AcceptableHeatLevel).FloatVal;

            Mod.AILog.Info?.Write($"== Unit: {mech.DistinctId()} has heatCheckMod: {heatCheckMod}  heatRiskRatio: {bhvarAcceptableHeatFraction}  currentHeat: {mech.CurrentHeat}");

            int acceptableHeatFromVolatileAmmo = mech.AcceptableHeatForAIFromVolatileAmmo(heatCheckMod, bhvarAcceptableHeatFraction);
            int acceptableHeatFromRegularAmmo  = mech.AcceptableHeatForAIFromRegularAmmo(heatCheckMod, bhvarAcceptableHeatFraction);
            int acceptableHeatFromShutdown     = mech.AcceptableHeatForAIFromShutdown(heatCheckMod, bhvarAcceptableHeatFraction);

            List <int> acceptableHeats = new List <int>()
            {
                acceptableHeatFromVolatileAmmo, acceptableHeatFromRegularAmmo, acceptableHeatFromShutdown
            };

            acceptableHeats.Sort();

            __result = acceptableHeats.First <int>();
            Mod.AILog.Info?.Write($"  using lowest acceptable heat value of: {__result}");
            return(false);
        }