# Set StockUnitNext

Grammar — Increment stock count for unit type unitType by count for player player with ignore if queued set to ignoreIfQueued|Ignor If Queued
FlagsNative | Action

Increments the stock count for the specified unit type by one if the Count parameter is set to 0, or the number of those units that are in progress or better is less than the specified Count. Does nothing if the Ignore If Queued parameter is set to true and the number of queued and in progress units of the specified type is greater than 0.

# Arguments

  • int — Player
  • int — Count
  • string<gamelink::Unit> — Unit Type
  • bool — Ignore If Queued

Returns — void

native void AISetStockUnitNext(
	int player,
	int count,
	string aliasUnitType,
	bool when,
);

Category: AI Advanced / Construction / Actions

# Examples

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeHighAI.galaxy:113

        }
        AISetStock(player, countMinDesired, what);
        AISetStockUnitNext( player, countTotal, what, when );
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeHighAI.galaxy:118

    if (countSameTech > 3 || countTotal > 5) {
        // if we'd make sufficient of these units, it's worth making the tech
        AISetStockUnitNext( player, countTotal, what, when );
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeLowAI.galaxy:389

    }

    AISetStockUnitNext( player, count, worker, c_stockAlways );
}

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeLowAI.galaxy:636

    }

    AISetStockUnitNext( player, numTowns+1, c_ZU_Queen, c_stockAlways );
}

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2087

    if (AIGetBuildingCountInTown(player, c_townMain, c_PB_Pylon, c_techCountQueuedOrBetter) < minPylonCount) {
        minPylonCount = AITechCount(player, c_PB_Pylon, c_techCountQueuedOrBetter) + 1;
        AISetStockUnitNext( player, minPylonCount, c_PB_Pylon, c_stockAlways );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2159


// Addition production buildings
    AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );

// Other towns defense

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2171


// Multiple detectors & scouts & a transport
    AISetStockUnitNext( player, 2, c_PU_Observer, c_stockAlways );
    AISetStock( player, 1, c_PU_WarpPrism );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2178


// Extra detection & scouts & transports
    AISetStockUnitNext( player, 3, c_PU_Observer, c_stockAlways );
    AISetStockUnitNext( player, 3, c_PU_WarpPrism, c_stockAlways );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2179

// Extra detection & scouts & transports
    AISetStockUnitNext( player, 3, c_PU_Observer, c_stockAlways );
    AISetStockUnitNext( player, 3, c_PU_WarpPrism, c_stockAlways );

// Late expand

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2185


// Extra production buildings
    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2186

// Extra production buildings
    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2187

    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2188

    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

// Extra research buildings

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:2192

// Extra research buildings
    if (AIHasRes(player,700,500)) {
        AISetStockUnitNext( player, 3, c_PB_Forge, c_stockAlways );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:210

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStockUnitNext( player, 22, c_PU_Probe, c_stockIdle );
        AISetStock( player, 1, c_PU_Stalker );
        AISetStock( player, 2, c_PB_Assimilator );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:225

        AISetStock( player, 2, c_PB_Assimilator );
        AISetStock( player, 2, c_PB_Pylon );
        AISetStockUnitNext( player, 22, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PB_CyberneticsCore );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:708

    if (buildType == e_buildType_Core) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:709

        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:710

        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }
    else if (buildType == e_buildType_HighTech) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:714

    else if (buildType == e_buildType_HighTech) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:715

        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:716

        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }
    else if (buildType == e_buildType_Special) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:720

    else if (buildType == e_buildType_Special) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossEasy.galaxy:721

        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:292

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStock( player, 1, c_PU_Zealot );
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PU_Stalker );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:310

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStock( player, 1, c_PU_Zealot );
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PU_Stalker );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:329

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStock( player, 1, c_PU_Zealot );
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PU_Stalker );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:349

        AISetStock( player, 18, c_PU_Probe );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStockUnitNext( player, 30, c_PU_Probe, c_stockIdle );
        AISetStock( player, 1, c_PU_Stalker );
        AISetStock( player, 2, c_PB_Gateway );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:367

        AISetStock( player, 18, c_PU_Probe );
        AISetStock( player, 2, c_PB_Pylon );
        AISetStockUnitNext( player, 30, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PB_CyberneticsCore );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:586

    if (buildType == e_buildType_Rush) {
        AISetStock( player, 1, c_PR_WarpGateResearch );
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Timing) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:590

    else if (buildType == e_buildType_Timing) {
        AISetStock( player, 1, c_PR_WarpGateResearch );
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Power) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:595

        AISetStock( player, 1, c_PR_WarpGateResearch );
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Macro) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:600

        AISetStock( player, 1, c_PR_WarpGateResearch );
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Air) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHard.galaxy:604

    else if (buildType == e_buildType_Air) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2086

    if (AIGetBuildingCountInTown(player, c_townMain, c_PB_Pylon, c_techCountQueuedOrBetter) < minPylonCount) {
        minPylonCount = AITechCount(player, c_PB_Pylon, c_techCountQueuedOrBetter) + 1;
        AISetStockUnitNext( player, minPylonCount, c_PB_Pylon, c_stockAlways );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2152


// Addition production buildings
    AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );

// Other towns defense

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2167


// Multiple detectors & scouts & a transport
    AISetStockUnitNext( player, 2, c_PU_Observer, c_stockAlways );
    AISetStock( player, 1, c_PU_WarpPrism );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2174


// Extra detection & scouts & transports
    AISetStockUnitNext( player, 3, c_PU_Observer, c_stockAlways );
    AISetStockUnitNext( player, 2, c_PU_WarpPrism, c_stockAlways );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2175

// Extra detection & scouts & transports
    AISetStockUnitNext( player, 3, c_PU_Observer, c_stockAlways );
    AISetStockUnitNext( player, 2, c_PU_WarpPrism, c_stockAlways );

// Late expand

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2181


// Extra production buildings
    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2182

// Extra production buildings
    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2183

    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2184

    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

// Extra research buildings

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:2188

// Extra research buildings
    if (AIHasRes(player,700,500)) {
        AISetStockUnitNext( player, 3, c_PB_Forge, c_stockAlways );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:865

    AISetStock( player, 1, c_PR_GroundWeapons1 );
    AISetStock( player, 1, c_PR_GroundArmor1 );
    AISetStockUnitNext( player, 2, c_PB_Forge, c_stockAlways );
}

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:888

    AISetStockTechNextUnCap(player,1000,1000);

    AISetStockUnitNext( player, 2, c_PB_Forge, c_stockAlways );

    if (AITechCount(player, c_PU_Zealot, c_techCountCompleteOnly) >= 8) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:947

    if (AIGetUserInt(player, c_numGroundStartLocs) > 0) {
        if (AIHasRes(player,700,0)) {
            AISetStockUnitNext( player, 4, c_PB_Gateway, c_stockIdle );
            if (AITechCount(player, c_PB_Gateway, c_techCountInProgressOrBetter) >= 4) {
                if (AIHasRes(player,700,600)) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:951

                if (AIHasRes(player,700,600)) {
                    if (AITechCount(player, c_PB_RoboticsFacility, c_techCountInProgressOrBetter) > 0) {
                        AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
                    }
                    if (AITechCount(player, c_PB_Stargate, c_techCountInProgressOrBetter) > 0) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:954

                    }
                    if (AITechCount(player, c_PB_Stargate, c_techCountInProgressOrBetter) > 0) {
                        AISetStockUnitNext( player, 3, c_PB_Stargate, c_stockIdle );
                    }
                }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:1198

    if (state == e_armyTypeMinimum) {
        // bare minimum army, only thing higher priority is bare minimum economy
        AISetStockUnitNext( player, 2, c_PU_Zealot, c_stockAlways );
        AISetStockUnitNext( player, 2, c_PU_Stalker, c_stockAlways );
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:1199

        // bare minimum army, only thing higher priority is bare minimum economy
        AISetStockUnitNext( player, 2, c_PU_Zealot, c_stockAlways );
        AISetStockUnitNext( player, 2, c_PU_Stalker, c_stockAlways );
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );
        return true;  //  8 food cap

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:1200

        AISetStockUnitNext( player, 2, c_PU_Zealot, c_stockAlways );
        AISetStockUnitNext( player, 2, c_PU_Stalker, c_stockAlways );
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );
        return true;  //  8 food cap
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:1205

    if (state == e_armyTypeBase) {
        // barely adequete army including anti-air, higher priority than full economy and low expanding
        AISetStockUnitNext( player, 4, c_PU_Stalker, c_stockAlways );
        AISetStockUnitNext( player, 1, c_PU_Sentry, c_stockAlways );
        AISetStockUnitNext( player, 4, c_PU_Zealot, c_stockAlways );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:1206

        // barely adequete army including anti-air, higher priority than full economy and low expanding
        AISetStockUnitNext( player, 4, c_PU_Stalker, c_stockAlways );
        AISetStockUnitNext( player, 1, c_PU_Sentry, c_stockAlways );
        AISetStockUnitNext( player, 4, c_PU_Zealot, c_stockAlways );
        return true;  //  18 food cap

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:257

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStock( player, 1, c_PU_Zealot );
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PU_Stalker );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:275

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStock( player, 1, c_PU_Zealot );
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PU_Stalker );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:294

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStock( player, 1, c_PU_Zealot );
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PU_Stalker );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:314

        AISetStock( player, 18, c_PU_Probe );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStockUnitNext( player, 26, c_PU_Probe, c_stockIdle );
        AISetStock( player, 1, c_PU_Stalker );
        AISetStock( player, 2, c_PB_Gateway );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:332

        AISetStock( player, 18, c_PU_Probe );
        AISetStock( player, 2, c_PB_Pylon );
        AISetStockUnitNext( player, 26, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PB_CyberneticsCore );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:548

    if (buildType == e_buildType_Rush) {
        AISetStock( player, 1, c_PR_WarpGateResearch );
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Timing) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:552

    else if (buildType == e_buildType_Timing) {
        AISetStock( player, 1, c_PR_WarpGateResearch );
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Power) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:557

        AISetStock( player, 1, c_PR_WarpGateResearch );
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Macro) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:562

        AISetStock( player, 1, c_PR_WarpGateResearch );
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Air) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMdHd.galaxy:566

    else if (buildType == e_buildType_Air) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:274

        AISetStock( player, 18, c_PU_Probe );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStockUnitNext( player, 24, c_PU_Probe, c_stockIdle );
        AISetStock( player, 1, c_PU_Stalker );
        AISetStock( player, 2, c_PB_Gateway );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:292

        AISetStock( player, 18, c_PU_Probe );
        AISetStock( player, 2, c_PB_Pylon );
        AISetStockUnitNext( player, 24, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PB_CyberneticsCore );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:464

    else if (buildType == e_buildType_Timing) {
        AISetStock( player, 1, c_PR_WarpGateResearch );
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Power) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:469

        AISetStock( player, 1, c_PR_WarpGateResearch );
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Macro) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:474

        AISetStock( player, 1, c_PR_WarpGateResearch );
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 2, c_PB_Gateway, c_stockIdle );
    }
    else if (buildType == e_buildType_Air) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:478

    else if (buildType == e_buildType_Air) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 2, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:820

    if (buildType == e_buildType_Core) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 4, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:821

        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 4, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:822

        AISetStockUnitNext( player, 4, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_Stargate, c_stockIdle );
    }
    else if (buildType == e_buildType_HighTech) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossMedi.galaxy:826

    else if (buildType == e_buildType_HighTech) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 4, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 2, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:189

        AISetStock( player, 1, c_PB_CyberneticsCore );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStock( player, 1, c_PU_Stalker );
        AISetStock( player, 2, c_PB_Assimilator );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:203

        AISetStock( player, 2, c_PB_Assimilator );
        AISetStock( player, 2, c_PB_Pylon );
        AISetStockUnitNext( player, 20, c_PU_Probe, c_stockIdle );
        AISetStockFarms( player, c_PB_Pylon, c_stockNormalFarms);
        AISetStock( player, 1, c_PB_CyberneticsCore );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:656

    if (buildType == e_buildType_Core) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:657

        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:658

        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }
    else if (buildType == e_buildType_HighTech) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:662

    else if (buildType == e_buildType_HighTech) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:663

        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:664

        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }
    else if (buildType == e_buildType_Special) {

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:668

    else if (buildType == e_buildType_Special) {
        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyEy.galaxy:669

        if (ProtossMacroExpand(player)) { return; }
        AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_RoboticsFacility, c_stockIdle );
        AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2117

    if (AIGetBuildingCountInTown(player, c_townMain, c_PB_Pylon, c_techCountQueuedOrBetter) < minPylonCount) {
        minPylonCount = AITechCount(player, c_PB_Pylon, c_techCountQueuedOrBetter) + 1;
        AISetStockUnitNext( player, minPylonCount, c_PB_Pylon, c_stockAlways );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2186


// Addition production buildings
    AISetStockUnitNext( player, 3, c_PB_Gateway, c_stockIdle );

// Other towns defense

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2198


// Multiple detectors & scouts & a transport
    AISetStockUnitNext( player, 2, c_PU_Observer, c_stockAlways );
    AISetStock( player, 1, c_PU_WarpPrism );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2205


// Extra detection & scouts & transports
    AISetStockUnitNext( player, 3, c_PU_Observer, c_stockAlways );
    AISetStockUnitNext( player, 2, c_PU_WarpPrism, c_stockAlways );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2206

// Extra detection & scouts & transports
    AISetStockUnitNext( player, 3, c_PU_Observer, c_stockAlways );
    AISetStockUnitNext( player, 2, c_PU_WarpPrism, c_stockAlways );

// Late expand

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2212


// Extra production buildings
    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2213

// Extra production buildings
    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2214

    AISetStockUnitNext( player, 6, c_PB_Gateway, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2215

    AISetStockUnitNext( player, 1, c_PB_TwilightCouncil, c_stockIdle );
    AISetStockUnitNext( player, 3, c_PB_RoboticsFacility, c_stockIdle );
    AISetStockUnitNext( player, 1, c_PB_Stargate, c_stockIdle );

// Extra research buildings

mods/liberty.sc2modbase.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:2219

// Extra research buildings
    if (AIHasRes(player,700,500)) {
        AISetStockUnitNext( player, 3, c_PB_Forge, c_stockAlways );
    }

mods/liberty.sc2modbase.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:2646


// Multiple detectors & scouts & a transport
    AISetStockUnitNext( player, 1, c_TU_Medivac, c_stockAlways );
    AISetStockUnitNext( player, 2, c_TU_Raven, c_stockAlways );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:2647

// Multiple detectors & scouts & a transport
    AISetStockUnitNext( player, 1, c_TU_Medivac, c_stockAlways );
    AISetStockUnitNext( player, 2, c_TU_Raven, c_stockAlways );

// Middle expand

mods/liberty.sc2modbase.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:2653


// Extra detection & scouts & transports
    AISetStockUnitNext( player, 4, c_TU_Medivac, c_stockAlways );
    
// Late expand

mods/liberty.sc2modbase.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:2659

  
// Extra production buildings
    AISetStockUnitNext( player, 4, c_TB_Barracks,           c_stockIdle );
    AISetStockUnitNext( player, 1, c_TB_BarracksTechLab,    c_stockIdle );
    AISetStockUnitNext( player, 1, c_TB_BarracksReactor,    c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:2660

// Extra production buildings
    AISetStockUnitNext( player, 4, c_TB_Barracks,           c_stockIdle );
    AISetStockUnitNext( player, 1, c_TB_BarracksTechLab,    c_stockIdle );
    AISetStockUnitNext( player, 1, c_TB_BarracksReactor,    c_stockIdle );
    AISetStockUnitNext( player, 2, c_TB_Factory,            c_stockIdle );

mods/liberty.sc2modbase.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:2661

    AISetStockUnitNext( player, 4, c_TB_Barracks,           c_stockIdle );
    AISetStockUnitNext( player, 1, c_TB_BarracksTechLab,    c_stockIdle );
    AISetStockUnitNext( player, 1, c_TB_BarracksReactor,    c_stockIdle );
    AISetStockUnitNext( player, 2, c_TB_Factory,            c_stockIdle );
    AISetStockUnitNext( player, 2, c_TB_Starport,           c_stockIdle );