public static bool Prefix(Map __instance, ref float __result)
    {
        var num1 = 0.0f;
        var num2 = 0.0f;

        if (__instance.IsPlayerHome)
        {
            var labelCap = __instance.Parent.LabelCap;
            if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
            {
                Log.Message("CRC: begin output");
                Log.Message("CE is loaded: " + ModLister.HasActiveModWithName("Combat Extended"));
            }

            ArmouryUtility.GetStorytellerArmouryPoints(__instance, out var armouryPoints);
            if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
            {
                Log.Message("Armoury Points(pre-curve) for map " + labelCap + ": " + armouryPoints);
            }

            num1 = MarvsStoryTellerUtility.PointsPerWealthCurve.Evaluate(armouryPoints);
            if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
            {
                Log.Message("Armoury Points(post-curve) for map " + labelCap + ": " + num1);
            }

            var x = (float)(__instance.wealthWatcher.WealthBuildings *
                            (double)CRC_Loader.settings.percentOfValueForBuildings / 100.0);
            if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
            {
                Log.Message("Building Points(pre-curve) for map " + labelCap + ": " +
                            __instance.wealthWatcher.WealthBuildings + "(at " +
                            CRC_Loader.settings.percentOfValueForBuildings + "%)");
            }

            num2 = MarvsStoryTellerUtility.PointsPerWealthCurve.Evaluate(x);
            if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
            {
                Log.Message("Building Points(post-curve) for map " + labelCap + ": " + num2);
            }
        }

        __result = num1 + num2;
        return(false);
    }
    private static float CombatReadinessPoints(IIncidentTarget target)
    {
        ArmouryUtility.GetColonistArmouryPoints(target.PlayerPawnsForStoryteller, target, out var colonistPoints,
                                                out var caravanArmouryWealth);
        var num1 = PointsPerWealthCurve.Evaluate(caravanArmouryWealth) + target.PlayerWealthForStoryteller;
        var num2 = Mathf.Lerp(1f, Find.StoryWatcher.watcherAdaptation.TotalThreatPointsFactor,
                              Find.Storyteller.difficulty.adaptationEffectFactor);
        var num3 = num1 + (colonistPoints * num2);

        if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
        {
            Log.Message("Adapted Colonist Points for " + target + ": " + (float)(colonistPoints * (double)num2) +
                        "(adaptation factor: " + Find.Storyteller.difficulty.adaptationEffectFactor + ")");
        }

        var x           = num3 * target.IncidentPointsRandomFactorRange.RandomInRange;
        var threatScale = Find.Storyteller.difficulty.threatScale;
        var num4        = Find.Storyteller.def.pointsFactorFromDaysPassed.Evaluate(GenDate.DaysPassed);

        if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
        {
            Log.Message("Random factor for " + target + ": " +
                        target.IncidentPointsRandomFactorRange.RandomInRange + ", Threat scale: " + threatScale +
                        ", Point factor from days passed: " + num4);
        }

        var num5 = PointsCurve.Evaluate(x) * threatScale * num4;

        if (CRC_Loader.settings.debugLog && GenTicks.TicksGame % 500 == 0)
        {
            Log.Message("Unclamped Points for " + target + ": " + num5);
        }

        return(Mathf.Clamp(num5, GlobalMinPoints,
                           Find.Storyteller.difficulty.allowBigThreats ? GlobalMaxPointsMercilesss : GlobalMaxPoints));
    }