# Difficulty Value (Real)

Grammar — Difficulty(easy / normal / advanced / expert)
FlagsFunction

Returns the real parameter that matches the current difficulty setting. This is for campaign use (in which all players have the same difficulty setting), so player 1’s setting is used.

# Arguments

  • fixed — Easy
  • fixed — Normal
  • fixed — Advanced
  • fixed — Expert

Returns — fixed

fixed libNtve_gf_DifficultyValueFixed(
	fixed lp_easy,
	fixed lp_normal,
	fixed lp_advanced,
	fixed lp_expert,
);

Category: AI / MiscCampaign / Functions

# Examples

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson01.sc2map/MapScript.galaxy:819

    }

    gv_nydusSpawnDelay = libNtve_gf_DifficultyValueFixed(12.0, 12.0, 9.0, 8.0);
    gv_nydusWormHP = libNtve_gf_DifficultyValueFixed(200.0, 200.0, 350.0, 500.0);
    gv_colonistsSaveQuota = 50;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson01.sc2map/MapScript.galaxy:820


    gv_nydusSpawnDelay = libNtve_gf_DifficultyValueFixed(12.0, 12.0, 9.0, 8.0);
    gv_nydusWormHP = libNtve_gf_DifficultyValueFixed(200.0, 200.0, 350.0, 500.0);
    gv_colonistsSaveQuota = 50;
    gv_waveDelay = libNtve_gf_DifficultyValueFixed(50.0, 50.0, 25.0, 15.0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson01.sc2map/MapScript.galaxy:822

    gv_nydusWormHP = libNtve_gf_DifficultyValueFixed(200.0, 200.0, 350.0, 500.0);
    gv_colonistsSaveQuota = 50;
    gv_waveDelay = libNtve_gf_DifficultyValueFixed(50.0, 50.0, 25.0, 15.0);
    gv_doomsdayZergSpawnCount = libNtve_gf_DifficultyValueInt(3, 3, 4, 5);
    gv_unloadAmount[1] = 10;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:712

    else {
    }
    gv_dAY_DURATION = libNtve_gf_DifficultyValueFixed(480.0, 360.0, 240.0, 180.0);
    gv_nIGHT_DURATION = libNtve_gf_DifficultyValueFixed(300.0, 300.0, 270.0, 270.0);
    gv_nightDefenderCooldown = libNtve_gf_DifficultyValueFixed(16.0, 12.0, 8.0, 8.0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:713

    }
    gv_dAY_DURATION = libNtve_gf_DifficultyValueFixed(480.0, 360.0, 240.0, 180.0);
    gv_nIGHT_DURATION = libNtve_gf_DifficultyValueFixed(300.0, 300.0, 270.0, 270.0);
    gv_nightDefenderCooldown = libNtve_gf_DifficultyValueFixed(16.0, 12.0, 8.0, 8.0);
    return true;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:714

    gv_dAY_DURATION = libNtve_gf_DifficultyValueFixed(480.0, 360.0, 240.0, 180.0);
    gv_nIGHT_DURATION = libNtve_gf_DifficultyValueFixed(300.0, 300.0, 270.0, 270.0);
    gv_nightDefenderCooldown = libNtve_gf_DifficultyValueFixed(16.0, 12.0, 8.0, 8.0);
    return true;
}

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:1418

        if ((UnitGetType(auto7ECFBFDB_var) == "Infestor") && (UnitGroupCount(UnitGroup(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(auto7ECFBFDB_var), 14.0), UnitFilter((1 << c_targetFilterGround), 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) > 0)) {
            lv_point = UnitGetPosition(UnitGroupRandomUnit(UnitGroup(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(auto7ECFBFDB_var), 14.0), UnitFilter((1 << c_targetFilterGround), 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive));
            if ((UnitGetCustomValue(auto7ECFBFDB_var, 0) < libNtve_gf_DifficultyValueFixed(5.0, 5.0, 10.0, 1000.0))) {
                UnitIssueOrder(auto7ECFBFDB_var, OrderTargetingPoint(AbilityCommand("InfestedTerrans", 0), lv_point), c_orderQueueReplace);
            }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:3043

    }

    Wait(libNtve_gf_DifficultyValueFixed(80.0, 80.0, 50.0, 50.0), c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_Left, 120, false, libNtve_gf_DifficultyValueInt(10, 10, 15, 25), 0, 0);
    Wait(10.0, c_timeAI);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:3072

    Wait(60.0, c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_Right, 120, false, libNtve_gf_DifficultyValueInt(8, 8, 12, 16), libNtve_gf_DifficultyValueInt(4, 4, 6, 8), 0);
    Wait(libNtve_gf_DifficultyValueFixed(100.0, 100.0, 70.0, 70.0), c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthLeftfallback, 120, false, libNtve_gf_DifficultyValueInt(15, 15, 30, 30), libNtve_gf_DifficultyValueInt(2, 2, 5, 8), 0);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthRightfallback, 120, false, libNtve_gf_DifficultyValueInt(0, 0, 0, 20), 0, 0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:3099

    gf_AttackWaveFromDirection(ge_AttackDirection_Right, 120, false, 0, libNtve_gf_DifficultyValueInt(7, 7, 7, 7), 0);
    gf_AttackWaveFromDirection(ge_AttackDirection_Left, 120, false, 0, libNtve_gf_DifficultyValueInt(0, 0, 4, 7), 0);
    Wait(libNtve_gf_DifficultyValueFixed(60.0, 60.0, 30.0, 30.0), c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_Right, 120, false, libNtve_gf_DifficultyValueInt(15, 15, 25, 0), libNtve_gf_DifficultyValueInt(2, 2, 4, 6), 0);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthLeftfallback, 120, false, libNtve_gf_DifficultyValueInt(0, 0, 0, 30), 0, 0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:3128

    gf_AttackWaveFromDirection(ge_AttackDirection_Left, 120, false, libNtve_gf_DifficultyValueInt(20, 20, 25, 30), libNtve_gf_DifficultyValueInt(4, 4, 10, 8), libNtve_gf_DifficultyValueInt(1, 1, 1, 1));
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthRightfallback, 120, false, 0, libNtve_gf_DifficultyValueInt(0, 0, 0, 7), libNtve_gf_DifficultyValueInt(0, 0, 1, 1));
    Wait(libNtve_gf_DifficultyValueFixed(60.0, 60.0, 30.0, 30.0), c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthRightfallback, 120, false, libNtve_gf_DifficultyValueInt(8, 8, 12, 16), libNtve_gf_DifficultyValueInt(6, 6, 8, 10), 0);
    Wait(30.0, c_timeAI);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:3164

    gf_AttackWaveFromDirection(ge_AttackDirection_Right, 120, false, libNtve_gf_DifficultyValueInt(20, 20, 30, 45), libNtve_gf_DifficultyValueInt(6, 6, 0, 0), 0);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthLeftfallback, 120, false, 0, libNtve_gf_DifficultyValueInt(0, 0, 3, 5), libNtve_gf_DifficultyValueInt(1, 1, 1, 1));
    Wait(libNtve_gf_DifficultyValueFixed(60.0, 60.0, 30.0, 30.0), c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthLeftfallback, 120, false, 0, 0, libNtve_gf_DifficultyValueInt(0, 0, 1, 2));
    gf_AttackWaveFromDirection(ge_AttackDirection_Right, 120, false, libNtve_gf_DifficultyValueInt(0, 0, 15, 25), 0, libNtve_gf_DifficultyValueInt(0, 1, 1, 1));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson02.sc2map/MapScript.galaxy:3202

    Wait(15.0, c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthRightfallback, 120, false, libNtve_gf_DifficultyValueInt(10, 10, 15, 20), 0, libNtve_gf_DifficultyValueInt(0, 1, 2, 2));
    Wait(libNtve_gf_DifficultyValueFixed(30.0, 30.0, 0.0, 0.0), c_timeAI);
    gf_AttackWaveFromDirection(ge_AttackDirection_SouthLeftfallback, 120, false, 0, libNtve_gf_DifficultyValueInt(8, 8, 10, 12), libNtve_gf_DifficultyValueInt(1, 1, 1, 2));
    return true;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03a.sc2map/MapScript.galaxy:853

    }

    gv_pOWER_UP_TIME = libNtve_gf_DifficultyValueFixed(90.0, 90.0, 60.0, 45.0);
    gv_pURIFIER_MAX_LIFE = libNtve_gf_DifficultyValueFixed(4000.0, 6000.0, 7000.0, 8000.0);
    UnitSetPropertyFixed(gv_purifier, c_unitPropLifeMax, gv_pURIFIER_MAX_LIFE);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03a.sc2map/MapScript.galaxy:854


    gv_pOWER_UP_TIME = libNtve_gf_DifficultyValueFixed(90.0, 90.0, 60.0, 45.0);
    gv_pURIFIER_MAX_LIFE = libNtve_gf_DifficultyValueFixed(4000.0, 6000.0, 7000.0, 8000.0);
    UnitSetPropertyFixed(gv_purifier, c_unitPropLifeMax, gv_pURIFIER_MAX_LIFE);
    UnitSetPropertyFixed(gv_purifier, c_unitPropLifePercent, 100.0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03a.sc2map/MapScript.galaxy:858

    UnitSetPropertyFixed(gv_purifier, c_unitPropLifePercent, 100.0);
    UnitSetPropertyFixed(gv_purifier, c_unitPropShieldsMax, 0.0);
    gv_cOLONIST_SHIP_MAX_LIFE = libNtve_gf_DifficultyValueFixed(3000.0, 3000.0, 5000.0, 6000.0);
    auto8AE73090_g = UnitGroup("ColonistShip", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
    auto8AE73090_u = UnitGroupCount(auto8AE73090_g, c_unitCountAll);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03a.sc2map/MapScript.galaxy:3980

        Wait(0.1, c_timeGame);
    }
    Wait(libNtve_gf_DifficultyValueFixed(30.0, 30.0, 30.0, 40.0), c_timeAI);
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(0, 0, 1, 0), "ProtossGroundArmorsLevel1");
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(0, 0, 0, 1), "ProtossShieldsLevel1");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03a.sc2map/MapScript.galaxy:3998

        Wait(0.1, c_timeGame);
    }
    Wait(libNtve_gf_DifficultyValueFixed(15.0, 15.0, 20.0, 30.0), c_timeAI);
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(1, 1, 1, 0), "Charge");
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(0, 0, 1, 0), "ProtossAirArmorsLevel1");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03a.sc2map/MapScript.galaxy:4018

        Wait(0.1, c_timeGame);
    }
    Wait(libNtve_gf_DifficultyValueFixed(25.0, 25.0, 35.0, 45.0), c_timeAI);
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(0, 0, 1, 0), "ProtossShieldsLevel1");
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(0, 0, 0, 1), "ProtossShieldsLevel2");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03a.sc2map/MapScript.galaxy:4036

        Wait(0.1, c_timeGame);
    }
    Wait(libNtve_gf_DifficultyValueFixed(60.0, 60.0, 70.0, 80.0), c_timeAI);
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(0, 0, 1, 0), "ProtossAirWeaponsLevel2");
    gf_UpgradeAllProtoss(libNtve_gf_DifficultyValueInt(0, 0, 1, 0), "ProtossGroundWeaponsLevel2");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1175

    }

    TimerStart(gv_aberrationStartTimer, libNtve_gf_DifficultyValueFixed(600.0, 600.0, 500.0, 400.0), false, c_timeGame);
    gf_MakeEggsSpawn(ge_SpawnType_stAberration, 1, libNtve_gf_DifficultyValueFixed(240.0, 240.0, 150.0, 120.0), false);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedMarine, 1, libNtve_gf_DifficultyValueFixed(80.0, 80.0, 60.0, 50.0), true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1176


    TimerStart(gv_aberrationStartTimer, libNtve_gf_DifficultyValueFixed(600.0, 600.0, 500.0, 400.0), false, c_timeGame);
    gf_MakeEggsSpawn(ge_SpawnType_stAberration, 1, libNtve_gf_DifficultyValueFixed(240.0, 240.0, 150.0, 120.0), false);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedMarine, 1, libNtve_gf_DifficultyValueFixed(80.0, 80.0, 60.0, 50.0), true);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedColonist, 2, libNtve_gf_DifficultyValueFixed(20.0, 20.0, 15.0, 13.0), true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1177

    TimerStart(gv_aberrationStartTimer, libNtve_gf_DifficultyValueFixed(600.0, 600.0, 500.0, 400.0), false, c_timeGame);
    gf_MakeEggsSpawn(ge_SpawnType_stAberration, 1, libNtve_gf_DifficultyValueFixed(240.0, 240.0, 150.0, 120.0), false);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedMarine, 1, libNtve_gf_DifficultyValueFixed(80.0, 80.0, 60.0, 50.0), true);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedColonist, 2, libNtve_gf_DifficultyValueFixed(20.0, 20.0, 15.0, 13.0), true);
    gv_aberrationLife = libNtve_gf_DifficultyValueFixed(250.0, 500.0, 700.0, 800.0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1178

    gf_MakeEggsSpawn(ge_SpawnType_stAberration, 1, libNtve_gf_DifficultyValueFixed(240.0, 240.0, 150.0, 120.0), false);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedMarine, 1, libNtve_gf_DifficultyValueFixed(80.0, 80.0, 60.0, 50.0), true);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedColonist, 2, libNtve_gf_DifficultyValueFixed(20.0, 20.0, 15.0, 13.0), true);
    gv_aberrationLife = libNtve_gf_DifficultyValueFixed(250.0, 500.0, 700.0, 800.0);
    gv_virophageLife = libNtve_gf_DifficultyValueFixed(200.0, 400.0, 750.0, 1000.0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1179

    gf_MakeEggsSpawn(ge_SpawnType_stInfestedMarine, 1, libNtve_gf_DifficultyValueFixed(80.0, 80.0, 60.0, 50.0), true);
    gf_MakeEggsSpawn(ge_SpawnType_stInfestedColonist, 2, libNtve_gf_DifficultyValueFixed(20.0, 20.0, 15.0, 13.0), true);
    gv_aberrationLife = libNtve_gf_DifficultyValueFixed(250.0, 500.0, 700.0, 800.0);
    gv_virophageLife = libNtve_gf_DifficultyValueFixed(200.0, 400.0, 750.0, 1000.0);
    auto98C81D62_g = UnitGroup("Virophage", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1180

    gf_MakeEggsSpawn(ge_SpawnType_stInfestedColonist, 2, libNtve_gf_DifficultyValueFixed(20.0, 20.0, 15.0, 13.0), true);
    gv_aberrationLife = libNtve_gf_DifficultyValueFixed(250.0, 500.0, 700.0, 800.0);
    gv_virophageLife = libNtve_gf_DifficultyValueFixed(200.0, 400.0, 750.0, 1000.0);
    auto98C81D62_g = UnitGroup("Virophage", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
    auto98C81D62_u = UnitGroupCount(auto98C81D62_g, c_unitCountAll);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1432

    }

    Wait(libNtve_gf_DifficultyValueFixed(340.0, 340.0, 280.0, 280.0), c_timeGame);
    while (true) {
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base1Green, libNtve_gf_DifficultyValueFixed(340.0, 340.0, 310.0, 310.0));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1434

    Wait(libNtve_gf_DifficultyValueFixed(340.0, 340.0, 280.0, 280.0), c_timeGame);
    while (true) {
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base1Green, libNtve_gf_DifficultyValueFixed(340.0, 340.0, 310.0, 310.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base3Purple, libNtve_gf_DifficultyValueFixed(330.0, 330.0, 300.0, 300.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base4Red, libNtve_gf_DifficultyValueFixed(320.0, 320.0, 290.0, 290.0));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1435

    while (true) {
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base1Green, libNtve_gf_DifficultyValueFixed(340.0, 340.0, 310.0, 310.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base3Purple, libNtve_gf_DifficultyValueFixed(330.0, 330.0, 300.0, 300.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base4Red, libNtve_gf_DifficultyValueFixed(320.0, 320.0, 290.0, 290.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base6Yellow, libNtve_gf_DifficultyValueFixed(330.0, 330.0, 300.0, 300.0));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thanson03b.sc2map/MapScript.galaxy:1436

        gf_InfestAColonyAndWait(ge_ColonyIndex_Base1Green, libNtve_gf_DifficultyValueFixed(340.0, 340.0, 310.0, 310.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base3Purple, libNtve_gf_DifficultyValueFixed(330.0, 330.0, 300.0, 300.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base4Red, libNtve_gf_DifficultyValueFixed(320.0, 320.0, 290.0, 290.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base6Yellow, libNtve_gf_DifficultyValueFixed(330.0, 330.0, 300.0, 300.0));
        gf_InfestAColonyAndWait(ge_ColonyIndex_Base5White, libNtve_gf_DifficultyValueFixed(360.0, 360.0, 330.0, 330.0));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner01.sc2map/MapScript.galaxy:885

    gv_trainGas = 3;
    gv_trainsNeeded = libNtve_gf_DifficultyValueInt(8, 8, 8, 8);
    gv_trainWaveWait = libNtve_gf_DifficultyValueFixed(180.0, 180.0, 180.0, 150.0);
    gv_stackKillerNumRespawn = 1;
    gv_stackKillerSize = libNtve_gf_DifficultyValueInt(8, 12, 16, 14);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner01.sc2map/MapScript.galaxy:1398

    }

    lv_trainMaxLife = libNtve_gf_DifficultyValueFixed(2000.0, 2000.0, 3000.0, 3500.0);
    lv_trainSpeed = libNtve_gf_DifficultyValueFixed(0.85, 0.85, 0.85, 0.85);
    lv_trainSpeedBoosted = libNtve_gf_DifficultyValueFixed(1.35, 1.35, 1.4, 1.45);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner01.sc2map/MapScript.galaxy:1399


    lv_trainMaxLife = libNtve_gf_DifficultyValueFixed(2000.0, 2000.0, 3000.0, 3500.0);
    lv_trainSpeed = libNtve_gf_DifficultyValueFixed(0.85, 0.85, 0.85, 0.85);
    lv_trainSpeedBoosted = libNtve_gf_DifficultyValueFixed(1.35, 1.35, 1.4, 1.45);
    lv_i = 0;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner01.sc2map/MapScript.galaxy:1400

    lv_trainMaxLife = libNtve_gf_DifficultyValueFixed(2000.0, 2000.0, 3000.0, 3500.0);
    lv_trainSpeed = libNtve_gf_DifficultyValueFixed(0.85, 0.85, 0.85, 0.85);
    lv_trainSpeedBoosted = libNtve_gf_DifficultyValueFixed(1.35, 1.35, 1.4, 1.45);
    lv_i = 0;
    for ( ; ( (autoB45096C2_ai >= 0 && lv_i <= autoB45096C2_ae) || (autoB45096C2_ai < 0 && lv_i >= autoB45096C2_ae) ) ; lv_i += autoB45096C2_ai ) {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner01.sc2map/MapScript.galaxy:4311

    }

    Wait((gv_trainWaveWait - libNtve_gf_DifficultyValueFixed(40.0, 40.0, 40.0, 40.0)), c_timeAI);
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION, PlayerStartLocation(gv_pLAYER_02_DOMINION));
    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION, PlayerGroupSingle(gv_pLAYER_01_USER));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2523

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2581

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2639

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2697

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2755

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2813

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2871

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner02.sc2map/MapScript.galaxy:2929

            gf_SalvageScrap(lv_scrap, gv_p01_USER, 150, 0, true);
            gv_salvageTotal += 150;
            Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 160.0, 180.0), c_timeGame);
            while (!((gf_ScrapCanBeSalvaged(gv_p01_USER, lv_scrapPoint, 8.0) == false))) {
                Wait(5.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner03.sc2map/MapScript.galaxy:2199

    AIAttackWaveAddUnits4(1, 1, 2, 4, "Marauder");
    AIAttackWaveSend(gv_p08_DOMINION_INFANTRY_B, 40, false);
    Wait(libNtve_gf_DifficultyValueFixed(90.0, 90.0, 75.0, 75.0), c_timeGame);
    TriggerExecute(gt_TransmissionOdinChargesP08BaseQ, true, false);
    Wait(10.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner03.sc2map/MapScript.galaxy:2456

    AIAttackWaveAddUnits4(1, 1, 1, 2, "Diamondback");
    AIAttackWaveSend(gv_p05_DOMINION_FACTORY, 70, false);
    Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 105.0, 105.0), c_timeGame);
    TriggerExecute(gt_TransmissionOdinChargesP05BaseQ, true, false);
    Wait(10.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner03.sc2map/MapScript.galaxy:2731

    gf_AddWaypointToExpansion(gv_p06_DOMINION_STARPORT_A);
    AIAttackWaveSend(gv_p06_DOMINION_STARPORT_A, 40, false);
    Wait(libNtve_gf_DifficultyValueFixed(90.0, 90.0, 75.0, 75.0), c_timeGame);
    TriggerExecute(gt_TransmissionOdinChargesP06BaseQ, true, false);
    Wait(10.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner03.sc2map/MapScript.galaxy:2980

    gf_AddWaypointToExpansion(gv_p07_DOMINION_STARPORT_B);
    AIAttackWaveSend(gv_p07_DOMINION_STARPORT_B, 70, false);
    Wait(libNtve_gf_DifficultyValueFixed(120.0, 120.0, 105.0, 105.0), c_timeGame);
    TriggerExecute(gt_TransmissionOdinChargesP07BaseQ, true, false);
    Wait(10.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner03.sc2map/MapScript.galaxy:3693

    libCamp_gf_SendTransmissionCampaign(UnitFromId(2), SoundLink("THorner03Tychus00003", 0), c_transmissionDurationAdd, 0.0, true);
    libCamp_gf_SetAllSoundChannelVolumesCampaign(libNtve_ge_VolumeChannelMode_Game);
    Wait(libNtve_gf_DifficultyValueFixed(50.0, 50.0, 25.0, 25.0), c_timeGame);
    libCamp_gf_SetAllSoundChannelVolumesCampaign(libNtve_ge_VolumeChannelMode_Speech);
    libLbty_gf_PlayTransmissionCueSound(PlayerGroupAll());

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner03.sc2map/MapScript.galaxy:3780

    libCamp_gf_SendTransmissionCampaign(UnitFromId(2), SoundLink("THorner03Tychus00044", 0), c_transmissionDurationAdd, 0.0, true);
    libCamp_gf_SetAllSoundChannelVolumesCampaign(libNtve_ge_VolumeChannelMode_Game);
    Wait(libNtve_gf_DifficultyValueFixed(50.0, 50.0, 25.0, 25.0), c_timeGame);
    libCamp_gf_SetAllSoundChannelVolumesCampaign(libNtve_ge_VolumeChannelMode_Speech);
    libLbty_gf_PlayTransmissionCueSound(PlayerGroupAll());

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner03.sc2map/MapScript.galaxy:3825

    libCamp_gf_SendTransmissionCampaign(UnitFromId(2), SoundLink("THorner03Tychus00056", 0), c_transmissionDurationAdd, 0.0, true);
    libCamp_gf_SetAllSoundChannelVolumesCampaign(libNtve_ge_VolumeChannelMode_Game);
    Wait(libNtve_gf_DifficultyValueFixed(50.0, 50.0, 25.0, 25.0), c_timeGame);
    libCamp_gf_SetAllSoundChannelVolumesCampaign(libNtve_ge_VolumeChannelMode_Speech);
    libLbty_gf_PlayTransmissionCueSound(PlayerGroupAll());

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner04.sc2map/MapScript.galaxy:648

    auto4852D119_val = lv_attackerCount;
    if (auto4852D119_val == 3) {
        Wait(libNtve_gf_DifficultyValueFixed(180.0, 180.0, 180.0, 150.0), c_timeAI);
    }
    else if (auto4852D119_val == 2) {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner04.sc2map/MapScript.galaxy:651

    }
    else if (auto4852D119_val == 2) {
        Wait(libNtve_gf_DifficultyValueFixed(210.0, 210.0, 165.0, 135.0), c_timeAI);
    }
    else if (auto4852D119_val == 1) {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner04.sc2map/MapScript.galaxy:654

    }
    else if (auto4852D119_val == 1) {
        Wait(libNtve_gf_DifficultyValueFixed(240.0, 240.0, 150.0, 120.0), c_timeAI);
    }
    else {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner04.sc2map/MapScript.galaxy:1119

    }

    gv_distractionTime = libNtve_gf_DifficultyValueFixed(300.0, 300.0, 270.0, 240.0);
    UnitSetPropertyFixed(gv_odin, c_unitPropEnergyPercent, 100.0);
    gv_uploadTime = 55.0;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:865

    UnitAbilityEnable(UnitFromId(2387), "SentryGunBurrow", false);
    UnitAbilityEnable(UnitFromId(532), "SentryGunBurrow", false);
    UnitSetPropertyFixed(UnitFromId(459), c_unitPropLifeMax, libNtve_gf_DifficultyValueFixed(400.0, 400.0, 500.0, 600.0));
    auto8CE2489D_g = UnitGroup("SiegeTank", c_playerAny, RegionFromId(95), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
    auto8CE2489D_u = UnitGroupCount(auto8CE2489D_g, c_unitCountAll);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:1072

        UnitSetPropertyFixed(auto8C370B87_var, c_unitPropEnergyPercent, 100.0);
    }
    gv_raynorMaximumHP = libNtve_gf_DifficultyValueFixed(500.0, 500.0, 350.0, 250.0);
    gv_brutaliskMaximumHP = libNtve_gf_DifficultyValueFixed(1000.0, 1500.0, 1500.0, 1500.0);
    auto39955CC4_g = UnitGroup("SentryGun", c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterHidden - 32))), 0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:1073

    }
    gv_raynorMaximumHP = libNtve_gf_DifficultyValueFixed(500.0, 500.0, 350.0, 250.0);
    gv_brutaliskMaximumHP = libNtve_gf_DifficultyValueFixed(1000.0, 1500.0, 1500.0, 1500.0);
    auto39955CC4_g = UnitGroup("SentryGun", c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterHidden - 32))), 0);
    auto39955CC4_u = UnitGroupCount(auto39955CC4_g, c_unitCountAll);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:1079

        auto39955CC4_var = UnitGroupUnitFromEnd(auto39955CC4_g, auto39955CC4_u);
        if (auto39955CC4_var == null) { break; }
        UnitSetPropertyFixed(auto39955CC4_var, c_unitPropLifeMax, libNtve_gf_DifficultyValueFixed(63.0, 125.0, 250.0, 300.0));
        UnitSetPropertyFixed(auto39955CC4_var, c_unitPropLifePercent, 100.0);
    }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:1087

        autoE743C772_var = UnitGroupUnitFromEnd(autoE743C772_g, autoE743C772_u);
        if (autoE743C772_var == null) { break; }
        UnitSetPropertyFixed(autoE743C772_var, c_unitPropLifeMax, libNtve_gf_DifficultyValueFixed(63.0, 125.0, 250.0, 300.0));
        UnitSetPropertyFixed(autoE743C772_var, c_unitPropLifePercent, 100.0);
    }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:11804


    libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_p01_USER, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_playerUnitGroup);
    lv_zerglingRespawnRate = libNtve_gf_DifficultyValueFixed(1.5, 1.5, 1.2, 1.1);
    gv_playerUnitGroup = UnitGroup(null, gv_p01_USER, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
    while (true) {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor02.sc2map/MapScript.galaxy:1751

    while (true) {
        Wait(0.5, c_timeGame);
        Wait(libNtve_gf_DifficultyValueFixed(0.0, 0.0, 0.0, 1.0), c_timeGame);
        if ((UnitGroupCount(UnitGroup("Medic", gv_pLAYER_04_REBELS, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 0)) {
            return true;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:1888

    }

    Wait(libNtve_gf_DifficultyValueFixed(210.0, 130.0, 130.0, 130.0), c_timeGame);
    TriggerExecute(gt_RebelMarines01Intro, true, false);
    Wait(libNtve_gf_DifficultyValueFixed(230.0, 220.0, 220.0, 220.0), c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:1890

    Wait(libNtve_gf_DifficultyValueFixed(210.0, 130.0, 130.0, 130.0), c_timeGame);
    TriggerExecute(gt_RebelMarines01Intro, true, false);
    Wait(libNtve_gf_DifficultyValueFixed(230.0, 220.0, 220.0, 220.0), c_timeGame);
    TriggerExecute(gt_RebelMarines02Intro, true, false);
    Wait(305.0, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2439

    }

    TimerStart(gv_zergFirstAttackWaveTimer, libNtve_gf_DifficultyValueFixed(150.0, 70.0, 70.0, 70.0), false, c_timeGame);
    TimerStart(gv_evacuationTimer, (gv_sURVIVETIME * 60.0), false, c_timeGame);
    TimerStart(gv_tenMinuteWarning, ((gv_sURVIVETIME - 10.0) * 60.0), false, c_timeGame);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2534

    Wait(1.0, c_timeAI);
    gf_FirstZergWaveAttackP03(libNtve_gf_DifficultyValueInt(1, 1, 2, 1), 2.0, "Zergling");
    gf_FirstZergWaveAttackP03(libNtve_gf_DifficultyValueInt(1, 1, 2, 1), libNtve_gf_DifficultyValueFixed(1.5, 1.0, 1.0, 1.0), libNtve_gf_DifficultyValueUnitType("Zergling", "Zergling", "Zergling", "Roach"));
    gf_FirstZergWaveAttackP03(1, 0.0, "Zergling");
    gf_FirstZergWaveAttackP03(2, 1.0, "Zergling");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2571

    AIAttackWaveSetTargetPlayer(gv_pLAYER02_ZERG, PlayerGroupSingle(gv_pLAYER01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER02_ZERG, PointFromId(264));
    Wait(libNtve_gf_DifficultyValueFixed(260.0, 180.0, 180.0, 180.0), c_timeAI);
    TriggerExecute(gt_ZergP02EarlyNydusWave, true, false);
    AIAttackWaveAddWaypoint(gv_pLAYER02_ZERG, PointFromId(378), false);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2592

    AIAttackWaveAddUnits4(0, 0, 0, 2, "Baneling");
    AIAttackWaveSend(gv_pLAYER02_ZERG, libNtve_gf_DifficultyValueInt(150, 180, 180, 180), true);
    Wait(libNtve_gf_DifficultyValueFixed(30.0, 0.0, 0.0, 0.0), c_timeAI);
    AIAttackWaveAddWaypoint(gv_pLAYER02_ZERG, PointFromId(378), false);
    AIAttackWaveAddUnits4(12, 12, 16, 20, "Zergling");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2602

    AIAttackWaveAddUnits4(0, 0, 0, 3, "Baneling");
    AIAttackWaveSend(gv_pLAYER02_ZERG, libNtve_gf_DifficultyValueInt(145, 150, 150, 150), true);
    Wait(libNtve_gf_DifficultyValueFixed(0.0, 75.0, 75.0, 75.0), c_timeAI);
    auto74461568_n = libNtve_gf_DifficultyValueInt(6, 8, 8, 8);
    for (auto74461568_i = 1; auto74461568_i <= auto74461568_n; auto74461568_i += 1) {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2607

        if ((gv_gameOver == false)) {
            TriggerExecute(gt_ZergP02LateNydusWave, true, false);
            Wait(libNtve_gf_DifficultyValueFixed(25.0, 20.0, 20.0, 20.0), c_timeAI);
        }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2677

    AIAttackWaveAddUnits4(0, 5, 6, 8, "Mutalisk");
    AIAttackWaveSend(gv_pLAYER03_ZERG, 310, true);
    Wait(libNtve_gf_DifficultyValueFixed(50.0, 50.0, 30.0, 30.0), c_timeAI);
    libNtve_gf_CreateUnitsAtPoint2(libNtve_gf_DifficultyValueInt(0, 5, 0, 0), "Mutalisk", 0, gv_pLAYER03_ZERG, RegionGetCenter(RegionFromId(4)));
    AISetGroupSuicide(UnitLastCreatedGroup(), true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/traynor03.sc2map/MapScript.galaxy:2684

    libNtve_gf_CreateUnitsAtPoint2(libNtve_gf_DifficultyValueInt(0, 0, 0, 4), "Mutalisk", 0, gv_pLAYER03_ZERG, RegionGetCenter(RegionFromId(63)));
    AISetGroupSuicide(UnitLastCreatedGroup(), true);
    Wait(libNtve_gf_DifficultyValueFixed(15.0, 15.0, 25.0, 25.0), c_timeAI);
    libNtve_gf_CreateUnitsAtPoint2(libNtve_gf_DifficultyValueInt(0, 5, 4, 7), "Mutalisk", 0, gv_pLAYER03_ZERG, RegionGetCenter(RegionFromId(4)));
    AISetGroupSuicide(UnitLastCreatedGroup(), true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:521

    }

    gv_lavaInterval = libNtve_gf_DifficultyValueFixed(300.0, 300.0, 270.0, 240.0);
    if ((libNtve_gf_DifficultyValueInt(1, 0, 0, 0) == 1)) {
        auto1A82A6A6_g = gv_zergPlayers;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:542

        TechTreeUpgradeAddLevel(autoC02C0F37_var, "ZergFlyerWeaponsLevel1", libNtve_gf_DifficultyValueInt(0, 0, 0, 1));
    }
    UnitSetPropertyFixed(UnitFromId(407), c_unitPropMovementSpeed, libNtve_gf_DifficultyValueFixed(1.5, 1.5, 2.0, 2.5));
    UnitSetPropertyFixed(UnitFromId(407), c_unitPropLifeMax, libNtve_gf_DifficultyValueFixed(400.0, 750.0, 1000.0, 1500.0));
    UnitSetPropertyFixed(UnitFromId(407), c_unitPropLifePercent, 100.0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:543

    }
    UnitSetPropertyFixed(UnitFromId(407), c_unitPropMovementSpeed, libNtve_gf_DifficultyValueFixed(1.5, 1.5, 2.0, 2.5));
    UnitSetPropertyFixed(UnitFromId(407), c_unitPropLifeMax, libNtve_gf_DifficultyValueFixed(400.0, 750.0, 1000.0, 1500.0));
    UnitSetPropertyFixed(UnitFromId(407), c_unitPropLifePercent, 100.0);
    if ((libNtve_gf_DifficultyValueInt(0, 0, 0, 1) == 1)) {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:813

    AIAttackWaveAddUnits4(2, 4, 8, 10, "Zergling");
    AIAttackWaveSend(gv_p02_ZERG, 120, true);
    Wait(libNtve_gf_DifficultyValueFixed(40.0, 40.0, 10.0, 0.0), c_timeAI);
    AIAttackWaveAddUnits4(2, 5, 4, 8, "Zergling");
    AIAttackWaveAddUnits4(0, 0, 1, 2, "Hydralisk");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:821

    AIAttackWaveAddUnits4(4, 6, 10, 16, "Zergling");
    AIAttackWaveSend(gv_p02_ZERG, 120, true);
    Wait(libNtve_gf_DifficultyValueFixed(50.0, 50.0, 20.0, 0.0), c_timeAI);
    AIAttackWaveAddUnits4(5, 10, 11, 12, "Zergling");
    AIAttackWaveAddUnits4(0, 0, 1, 2, "Hydralisk");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:826

    AIAttackWaveAddUnits4(0, 0, 1, 1, "Mutalisk");
    AIAttackWaveSend(gv_p02_ZERG, libNtve_gf_DifficultyValueInt(120, 120, 120, 110), true);
    Wait(libNtve_gf_DifficultyValueFixed(80.0, 80.0, 50.0, 20.0), c_timeAI);
    AIAttackWaveAddUnits4(4, 6, 10, 20, "Zergling");
    AIAttackWaveAddUnits4(0, 0, 1, 2, "Mutalisk");

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:872

    AIAttackWaveSetTargetPlayer(gv_p04_ZERG, PlayerGroupSingle(gv_p01_USER));
    AIAttackWaveSetGatherPoint(gv_p04_ZERG, PointFromId(8));
    Wait(libNtve_gf_DifficultyValueFixed(670.0, 670.0, 610.0, 550.0), c_timeAI);
    AIAttackWaveAddUnits4(0, 0, 4, 8, "Zergling");
    AIAttackWaveSend(gv_p04_ZERG, 120, true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:875

    AIAttackWaveAddUnits4(0, 0, 4, 8, "Zergling");
    AIAttackWaveSend(gv_p04_ZERG, 120, true);
    Wait(libNtve_gf_DifficultyValueFixed(80.0, 80.0, 50.0, 20.0), c_timeAI);
    AIAttackWaveAddUnits4(0, 0, 1, 2, "Hydralisk");
    AIAttackWaveSend(gv_p04_ZERG, 120, true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh01.sc2map/MapScript.galaxy:880

    AIAttackWaveAddUnits4(0, 0, 6, 8, "Zergling");
    AIAttackWaveSend(gv_p04_ZERG, 100, true);
    Wait(libNtve_gf_DifficultyValueFixed(80.0, 80.0, 50.0, 20.0), c_timeAI);
    AIAttackWaveAddUnits4(0, 0, 1, 3, "Mutalisk");
    AIAttackWaveSend(gv_p04_ZERG, 120, true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh02.sc2map/MapScript.galaxy:1557

    }

    Wait(libNtve_gf_DifficultyValueFixed(8.0, 8.0, 6.0, 4.0), c_timeAI);
    UnitIssueOrder(gv_superWarpGateP3NoAI, OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 0), UnitGetPosition(UnitFromId(2648))), c_orderQueueReplace);
    return true;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh03a.sc2map/MapScript.galaxy:461


    // Implementation
    if ((((PlayerDifficulty(1) == 1 || PlayerDifficulty(1) == 2) == true) || (UnitGetPropertyFixed(gv_tosh, c_unitPropLife, c_unitPropCurrent) < libNtve_gf_DifficultyValueFixed(250.0, 250.0, 250.0, 200.0)))) {
        UnitGroupRemove(lp_candidates, gv_tosh);
    }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh03a.sc2map/MapScript.galaxy:2602

        }

        Wait(libNtve_gf_DifficultyValueFixed(7.0, 7.0, 10.0, 10.0), c_timeGame);
        UnitIssueOrder(UnitFromId(823), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(822)), c_orderQueueReplace);
        UnitIssueOrder(UnitFromId(823), Order(AbilityCommand("move", 2)), c_orderQueueAddToEnd);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh03a.sc2map/MapScript.galaxy:2605

        UnitIssueOrder(UnitFromId(823), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(822)), c_orderQueueReplace);
        UnitIssueOrder(UnitFromId(823), Order(AbilityCommand("move", 2)), c_orderQueueAddToEnd);
        Wait(libNtve_gf_DifficultyValueFixed(6.0, 6.0, 10.0, 10.0), c_timeGame);
        if ((libNtve_gf_DifficultyValueInt(1, 1, 0, 0) == 1)) {
            UnitIssueOrder(UnitFromId(823), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(518)), c_orderQueueReplace);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh03b.sc2map/MapScript.galaxy:4484

    TriggerEnable(TriggerGetCurrent(), false);
    UnitIssueOrder(gv_p3NukerB, OrderTargetingPoint(AbilityCommand("UltrasonicPulse", 0), UnitGetPosition(EventUnit())), c_orderQueueAddToEnd);
    Wait(libNtve_gf_DifficultyValueFixed(10.0, 8.0, 5.0, 3.5), c_timeGame);
    if ((UnitIsAlive(UnitFromId(242)) == true)) {
        TriggerEnable(TriggerGetCurrent(), true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh03b.sc2map/MapScript.galaxy:4526

    TriggerEnable(TriggerGetCurrent(), false);
    UnitIssueOrder(gv_p3NukerB, OrderTargetingPoint(AbilityCommand("UltrasonicPulse", 0), UnitGetPosition(EventUnit())), c_orderQueueAddToEnd);
    Wait(libNtve_gf_DifficultyValueFixed(10.0, 8.0, 5.0, 3.5), c_timeGame);
    if ((UnitIsAlive(UnitFromId(246)) == true)) {
        TriggerEnable(TriggerGetCurrent(), true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:248

    // Implementation
    if ((UnitIsAlive(UnitFromId(211)) == false)) {
        Wait(libNtve_gf_DifficultyValueFixed(30.0, 0.0, 0.0, 0.0), c_timeAI);
    }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:252


    if ((UnitIsAlive(UnitFromId(124)) == false)) {
        Wait(libNtve_gf_DifficultyValueFixed(90.0, 60.0, 30.0, 15.0), c_timeAI);
    }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:587

    }

    gv_statueHealth = libNtve_gf_DifficultyValueFixed(300.0, 500.0, 750.0, 1000.0);
    auto0411363C_g = UnitGroup("StoneZealot", 0, RegionEntireMap(), UnitFilter(0, 0, 0, (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
    auto0411363C_u = UnitGroupCount(auto0411363C_g, c_unitCountAll);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:3257

    }

    TimerStart(gv_zergSpeedBumpTimer, libNtve_gf_DifficultyValueFixed(2700.0, 1800.0, 1440.0, 1260.0), false, c_timeAI);
    TimerStart(gv_zergSpeedBumpTimerShorter, (TimerGetRemaining(gv_zergSpeedBumpTimer) - 60.0), false, c_timeAI);
    TriggerExecute(gt_ZergSpeedBumpController, true, false);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:3309

    }

    Wait(libNtve_gf_DifficultyValueFixed(240.0, 240.0, 210.0, 180.0), c_timeAI);
    TriggerExecute(gt_FirstAttackQ, true, false);
    libNtve_gf_CreateUnitsAtPoint2(libNtve_gf_DifficultyValueInt(3, 4, 5, 7), "ZerglingBurrowed", 0, gv_p2_ZERG, RegionGetCenter(RegionFromId(22)));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:3344

    AIAttackWaveAddUnits4(1, 1, 2, 1, "Mutalisk");
    AIAttackWaveSend(gv_p2_ZERG, libNtve_gf_DifficultyValueInt(300, 240, 180, 180), false);
    Wait(libNtve_gf_DifficultyValueFixed(300.0, 240.0, 180.0, 180.0), c_timeAI);
    AIAttackWaveSetTargetPlayer(gv_p2_ZERG, PlayerGroupSingle(gv_p1_USER));
    AIAttackWaveSetGatherPoint(gv_p2_ZERG, PointFromId(5));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:3359

    }

    Wait(libNtve_gf_DifficultyValueFixed(240.0, 180.0, 160.0, 160.0), c_timeAI);
    AIAttackWaveSetTargetPlayer(gv_p2_ZERG, PlayerGroupSingle(gv_p1_USER));
    AIAttackWaveSetGatherPoint(gv_p2_ZERG, PointFromId(5));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus01.sc2map/MapScript.galaxy:3374

    }

    Wait(libNtve_gf_DifficultyValueFixed(300.0, 270.0, 200.0, 200.0), c_timeAI);
    while (true) {
        AIAttackWaveSetTargetPlayer(gv_p2_ZERG, PlayerGroupSingle(gv_p1_USER));

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus02.sc2map/MapScript.galaxy:638

    }

    gv_phasePrismSpawnRate = libNtve_gf_DifficultyValueFixed(40.0, 30.0, 25.0, 20.0);
    gv_phasePrismWaveSize[1] = libNtve_gf_DifficultyValueInt(1, 1, 2, 2);
    gv_phasePrismWaveSize[2] = libNtve_gf_DifficultyValueInt(1, 2, 2, 3);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus02.sc2map/MapScript.galaxy:2991

    }

    Wait(libNtve_gf_DifficultyValueFixed(5.0, 5.0, 25.0, 20.0), c_timeGame);
    while (true) {
        if ((UnitIsAlive(EventUnit()) == true)) {

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus03.sc2map/MapScript.galaxy:716

    }

    gv_kerriganSearchTime = libNtve_gf_DifficultyValueFixed(240.0, 180.0, 160.0, 150.0);
    gf_SetMaxLifeOfUnitType("DataCore", libNtve_gf_DifficultyValueFixed(2000.0, 2000.0, 3000.0, 3500.0));
    PlayerModifyPropertyInt(gv_p01_USER, c_playerPropMinerals, c_playerPropOperSetTo, 300);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus03.sc2map/MapScript.galaxy:717


    gv_kerriganSearchTime = libNtve_gf_DifficultyValueFixed(240.0, 180.0, 160.0, 150.0);
    gf_SetMaxLifeOfUnitType("DataCore", libNtve_gf_DifficultyValueFixed(2000.0, 2000.0, 3000.0, 3500.0));
    PlayerModifyPropertyInt(gv_p01_USER, c_playerPropMinerals, c_playerPropOperSetTo, 300);
    PlayerModifyPropertyInt(gv_p01_USER, c_playerPropVespene, c_playerPropOperSetTo, 200);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus03.sc2map/MapScript.galaxy:2302


    Wait(60.0, c_timeGame);
    gf_CreateNydusWorm(gv_p05_ZERG_BASE, RegionGetCenter(RegionFromId(38)), gf_GetSmartNydusRegion(), libNtve_gf_DifficultyValueInt(1, 1, 2, 3), "Roach", libNtve_gf_DifficultyValueInt(4, 4, 6, 9), "Zergling", libNtve_gf_DifficultyValueFixed(90.0, 90.0, 75.0, 60.0), 1);
    gv_baseNydus = gf_LastCreatedNydusWorm();
    PingCreate(PlayerGroupActive(), "PingWarning", RegionGetCenter(gv_createNydusWormTarget), ColorWithAlpha(100.00, 0.00, 0.00, 0.00), 5.0);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttychus03.sc2map/MapScript.galaxy:2338


    Wait(60.0, c_timeGame);
    gf_CreateNydusWorm(gv_p05_ZERG_BASE, RegionGetCenter(gf_GetSmartNydusRegion()), RegionFromId(34), libNtve_gf_DifficultyValueInt(1, 1, 2, 4), "Hydralisk", libNtve_gf_DifficultyValueInt(4, 4, 1, 2), libNtve_gf_DifficultyValueUnitType("Zergling", "Zergling", "Baneling", "Baneling"), libNtve_gf_DifficultyValueFixed(90.0, 90.0, 75.0, 60.0), 2);
    gv_baseNydus = gf_LastCreatedNydusWorm();
    PingCreate(PlayerGroupActive(), "PingWarning", RegionGetCenter(gv_createNydusWormTarget), ColorWithAlpha(100.00, 0.00, 0.00, 0.00), 5.0);