Array
(
    [TriggerCreate] => Array
        (
            [0] => native trigger  TriggerCreate (string s);
            [1] => TriggerCreate("TriggerEpsilon")
            [2] => TriggerCreate("TriggerAlpha")
            [3] => TriggerCreate("TriggerBeta")
            [4] => TriggerCreate("TriggerGamma")
            [5] => TriggerCreate("TriggerDelta")
            [6] => TriggerCreate("TriggerMapInit")
            [7] => TriggerCreate("TriggerPsi")
            [8] => TriggerCreate("TriggerOmega")
            [9] => TriggerCreate("TriggerGarnet")
            [10] => TriggerCreate("TriggerRuby")
            [11] => TriggerCreate("TriggerTopaz")
            [12] => TriggerCreate("DebugMeleeTrigger")
        )

    [TriggerDestroy] => Array
        (
            [0] => native void     TriggerDestroy (trigger t);
        )

    [TriggerExecute] => Array
        (
            [0] => native void     TriggerExecute (trigger t, bool testConds, bool runActions);
            [1] => TriggerExecute(epsilon, false, true)
            [2] => TriggerExecute(alpha, false, false)
            [3] => TriggerExecute(beta, false, false)
            [4] => TriggerExecute(gamma, false, false)
            [5] => TriggerExecute(delta, false, true)
            [6] => TriggerExecute(psi, false, true)
            [7] => TriggerExecute(omega, false, true)
            [8] => TriggerExecute(garnet, false, false)
            [9] => TriggerExecute(ruby, false, false)
            [10] => TriggerExecute(topaz, false, true)
        )

    [TriggerAddEventMapInit] => Array
        (
            [0] => native void     TriggerAddEventMapInit (trigger t);
            [1] => TriggerAddEventMapInit(mapInit)
        )

    [TriggerEpsilon] => Array
        (
            [0] => bool TriggerEpsilon (bool checkConds, bool doActions) {
            [1] => TriggerEpsilon (bool checkConds, bool doActions)
        )

    [TriggerDelta] => Array
        (
            [0] => bool TriggerDelta (bool checkConds, bool doActions) {
            [1] => TriggerDelta (bool checkConds, bool doActions)
        )

    [TriggerGamma] => Array
        (
            [0] => bool TriggerGamma (bool checkConds, bool doActions) {
            [1] => TriggerGamma (bool checkConds, bool doActions)
        )

    [TriggerBeta] => Array
        (
            [0] => bool TriggerBeta (bool checkConds, bool doActions) {
            [1] => TriggerBeta (bool checkConds, bool doActions)
        )

    [TriggerAlpha] => Array
        (
            [0] => bool TriggerAlpha (bool checkConds, bool doActions) {
            [1] => TriggerAlpha (bool checkConds, bool doActions)
        )

    [TriggerMapInit] => Array
        (
            [0] => bool TriggerMapInit (bool checkConds, bool doActions) {
            [1] => TriggerMapInit (bool checkConds, bool doActions)
        )

    [TriggerPsi] => Array
        (
            [0] => bool TriggerPsi (bool checkConds, bool doActions) {
            [1] => TriggerPsi (bool checkConds, bool doActions)
        )

    [TriggerOmega] => Array
        (
            [0] => bool TriggerOmega (bool checkConds, bool doActions) {
            [1] => TriggerOmega (bool checkConds, bool doActions)
        )

    [TriggerGarnet] => Array
        (
            [0] => bool TriggerGarnet (bool checkConds, bool doActions) {
            [1] => TriggerGarnet (bool checkConds, bool doActions)
        )

    [TriggerRuby] => Array
        (
            [0] => bool TriggerRuby (bool checkConds, bool doActions) {
            [1] => TriggerRuby (bool checkConds, bool doActions)
        )

    [TriggerTopaz] => Array
        (
            [0] => bool TriggerTopaz (bool checkConds, bool doActions) {
            [1] => TriggerTopaz (bool checkConds, bool doActions)
        )

    [InitMap] => Array
        (
            [0] => void InitMap () {
            [1] => InitMap ()
        )

    [Wait] => Array
        (
            [0] => Wait(5)
            [1] => Wait(3)
            [2] => Wait(1)
            [3] => Wait(8)
        )

    [DebugString] => Array
        (
            [0] => native void DebugString (string value);
        )

    [DebugUnit] => Array
        (
            [0] => native void DebugUnit (unit value);
        )

    [DebugInt] => Array
        (
            [0] => native void DebugInt (int value);
        )

    [DebugFixed] => Array
        (
            [0] => native void DebugFixed (fixed value);
        )

    [DebugPoint] => Array
        (
            [0] => native void DebugPoint (point value);
        )

    [AISetDifficulty] => Array
        (
            [0] => native void AISetDifficulty (int player, int index, bool state);
            [1] => AISetDifficulty(player, c_diffNormalVision, false)
            [2] => AISetDifficulty(player, c_diffLimitAPM, false)
            [3] => AISetDifficulty(player, c_diffAdvanceWave, false)
            [4] => AISetDifficulty(player, c_diffFleeDamage, false)
            [5] => AISetDifficulty(player, c_diffWaveAvoidDanger, false)
            [6] => AISetDifficulty(player, c_diffAutoLoadBunkers, false)
            [7] => AISetDifficulty(player, c_diffEarlyGameRepair, false)
            [8] => AISetDifficulty(player, c_diffEarlyDefenseScout, false)
        )

    [AIGetDifficulty] => Array
        (
            [0] => native bool AIGetDifficulty (int player, int index);
        )

    [AIStart] => Array
        (
            [0] => native void AIStart (int player, bool isCampaign, int apm);
        )

    [AIGivingUp] => Array
        (
            [0] => native bool AIGivingUp (int player);
        )

    [AIGoodGame] => Array
        (
            [0] => native void AIGoodGame (int player);
        )

    [AIIsCampaign] => Array
        (
            [0] => native bool AIIsCampaign (int player);
        )

    [AISetAPM] => Array
        (
            [0] => native void AISetAPM (int player, int apm);
        )

    [AIGrabUnit] => Array
        (
            [0] => native unit AIGrabUnit (int player, string aliasUnitType, int prio, point location);
            [1] => AIGrabUnit(player, c_PU_Observer, c_prioScout, null)
            [2] => AIGrabUnit(player, c_PU_Probe, c_prioScout, null)
            [3] => AIGrabUnit(player, c_PU_Observer, c_prioScout, null)
            [4] => AIGrabUnit(player, c_PU_Zealot, c_prioScout, null)
            [5] => AIGrabUnit(player, c_PU_Probe, c_prioScout, null)
            [6] => AIGrabUnit(player, c_TU_Medivac, c_prioScout, null)
            [7] => AIGrabUnit(player, c_TU_SCV, c_prioScout, null)
            [8] => AIGrabUnit(player, c_TU_Medivac, c_prioScout, null)
            [9] => AIGrabUnit(player, c_TU_Marine, c_prioScout, null)
            [10] => AIGrabUnit(player, c_TU_SCV, c_prioScout, null)
            [11] => AIGrabUnit(player, c_ZU_Overseer, c_prioScout, null)
            [12] => AIGrabUnit(player, c_ZU_Overlord, c_prioScout, null)
            [13] => AIGrabUnit(player, c_ZU_Overseer, c_prioScout, null)
            [14] => AIGrabUnit(player, c_ZU_Zergling, c_prioScout, null)
            [15] => AIGrabUnit(player, c_ZU_Drone, c_prioScout, null)
        )

    [AIState] => Array
        (
            [0] => native int  AIState (int player, int index);
            [1] => AIState(player, e_attackState)
            [2] => AIState(player, e_mainState)
            [3] => AIState(player, e_mainSubState)
            [4] => AIState(player, e_attackState)
            [5] => AIState(player, e_attackState)
            [6] => AIState(player, e_mainState)
            [7] => AIState(player, e_mainSubState)
            [8] => AIState(player, e_mainSubState)
            [9] => AIState(player, e_mainState)
            [10] => AIState(player, e_mainSubState)
            [11] => AIState(player, e_mainSubState)
            [12] => AIState(player, e_mainState)
            [13] => AIState(player, e_mainSubState)
            [14] => AIState(player, e_mainSubState)
        )

    [AISetSpecificState] => Array
        (
            [0] => native void AISetSpecificState (int player, int index, int state);
            [1] => AISetSpecificState(player, e_attackState, attackState)
            [2] => AISetSpecificState(player, e_mainState, mainState)
            [3] => AISetSpecificState(player, e_mainSubState, mainSubState)
        )

    [AISetAllStates] => Array
        (
            [0] => native void AISetAllStates (int player, int state);
            [1] => AISetAllStates(player, 1)
        )

    [AISetFlag] => Array
        (
            [0] => native void AISetFlag (int player, int index, bool state);
            [1] => AISetFlag(player, e_flagsTimeout, true)
            [2] => AISetFlag(player, e_flagsTimeout, true)
            [3] => AISetFlag(player, e_flagsRunScared, false)
            [4] => AISetFlag(player, e_flagsRunScared, false)
            [5] => AISetFlag(player, e_flagsLateScout, false)
            [6] => AISetFlag(player, e_flagsClearObs, false)
            [7] => AISetFlag(player, e_flagsScouting, true)
            [8] => AISetFlag(player, e_flagsClearObs, true)
            [9] => AISetFlag(player, e_flagsScouting, false)
            [10] => AISetFlag(player, e_flagsEarlyDefScout, false)
            [11] => AISetFlag(player, e_flagsScouting, true)
            [12] => AISetFlag(player, e_flagsClearObs, true)
            [13] => AISetFlag(player, e_flagsScouting, true)
            [14] => AISetFlag(player, e_flagsClearObs, true)
            [15] => AISetFlag(player, e_flagsScouting, false)
            [16] => AISetFlag(player, e_flagsEarlyDefScout, false)
            [17] => AISetFlag(player, e_flagsScouting, true)
            [18] => AISetFlag(player, e_flagsClearObs, true)
            [19] => AISetFlag(player, e_flagsScouting, true)
            [20] => AISetFlag(player, e_flagsClearObs, true)
            [21] => AISetFlag(player, e_flagsScouting, true)
            [22] => AISetFlag(player, e_flagsEarlyDefScout, false)
            [23] => AISetFlag(player, e_flagsScouting, true)
            [24] => AISetFlag(player, e_flagsClearObs, true)
            [25] => AISetFlag(player, e_flagsScouting, true)
            [26] => AISetFlag(player, e_flagsClearObs, true)
        )

    [AIGetFlag] => Array
        (
            [0] => native bool AIGetFlag (int player, int index);
            [1] => AIGetFlag(player, e_flagsScouting))
            [2] => AIGetFlag(player, e_flagsTimeout))
            [3] => AIGetFlag(player, e_flagsTimeout))
        )

    [AITechFlag] => Array
        (
            [0] => native void AITechFlag (int player, int index, int count, string what, int state);
        )

    [AIResetUserData] => Array
        (
            [0] => native void AIResetUserData (int player);
            [1] => AIResetUserData(player)
            [2] => AIResetUserData(player)
        )

    [AISetUserString] => Array
        (
            [0] => native void AISetUserString (int player, int index, string data);
        )

    [AIGetUserString] => Array
        (
            [0] => native string AIGetUserString (int player, int index);
            [1] => AIGetUserString(player, index))
        )

    [AISetUserInt] => Array
        (
            [0] => native void AISetUserInt (int player, int index, int data);
        )

    [AIGetUserInt] => Array
        (
            [0] => native int AIGetUserInt (int player, int index);
        )

    [AIAddStringInt] => Array
        (
            [0] => native void AIAddStringInt (int player, string data, int change);
            [1] => AIAddStringInt(player, c_PU_Stalker, 1)
            [2] => AIAddStringInt(player, c_PU_Stalker, 1)
            [3] => AIAddStringInt(player, c_PU_Stalker, 1)
            [4] => AIAddStringInt(player, c_PU_Disruptor, 1)
            [5] => AIAddStringInt(player, c_TU_Marine, 1)
            [6] => AIAddStringInt(player, c_TU_Marine, 1)
            [7] => AIAddStringInt(player, c_ZU_Infestor, 1)
            [8] => AIAddStringInt(player, c_ZU_Zergling, 1)
            [9] => AIAddStringInt(player, c_ZU_Hydralisk, roll)
            [10] => AIAddStringInt(player, c_ZU_Roach, 8 - roll)
            [11] => AIAddStringInt(player, c_ZU_Zergling, 1)
            [12] => AIAddStringInt(player, c_ZU_Hydralisk, roll)
            [13] => AIAddStringInt(player, c_ZU_Roach, 5 - roll)
            [14] => AIAddStringInt(player, c_ZU_Infestor, 1)
            [15] => AIAddStringInt(player, c_ZU_Hydralisk, 2)
            [16] => AIAddStringInt(player, c_ZU_Infestor, 2)
            [17] => AIAddStringInt(player, c_ZU_Hydralisk, 1)
        )

    [AIGetTime] => Array
        (
            [0] => native fixed AIGetTime ();
            [1] => AIGetTime())
            [2] => AIGetTime() + c_dropCheckRollFreq)
            [3] => AIGetTime() + c_dropCheckAttackFreq)
            [4] => AIGetTime()
        )

    [AIGetTotalStartLocs] => Array
        (
            [0] => native int AIGetTotalStartLocs ();
        )

    [AIGetGroundStartLocs] => Array
        (
            [0] => native int AIGetGroundStartLocs (point loc);
        )

    [AIGetAirStartLocs] => Array
        (
            [0] => native int AIGetAirStartLocs (point loc);
        )

    [AIGetTotalTownLocs] => Array
        (
            [0] => native int AIGetTotalTownLocs ();
        )

    [AIGetGroundTownLocs] => Array
        (
            [0] => native int AIGetGroundTownLocs (point loc);
        )

    [AIGetAirTownLocs] => Array
        (
            [0] => native int AIGetAirTownLocs (point loc);
        )

    [AIRandomVal] => Array
        (
            [0] => native int AIRandomVal (int player, int which);
        )

    [AINewChooseSubState] => Array
        (
            [0] => native void AINewChooseSubState (int player, int which, int min, int max, int defaultSubState);
        )

    [AISetSubStateChance] => Array
        (
            [0] => native void AISetSubStateChance (int subState, int chance);
        )

    [AIChooseSubState] => Array
        (
            [0] => native int AIChooseSubState ();
        )

    [AIWantsMultipleTransport] => Array
        (
            [0] => native bool AIWantsMultipleTransport (int player);
        )

    [AISetWantsMultipleTransport] => Array
        (
            [0] => native void AISetWantsMultipleTransport (int player, bool enable);
            [1] => AISetWantsMultipleTransport(player, true)
        )

    [AIGetNumMobileTransports] => Array
        (
            [0] => native int AIGetNumMobileTransports (int player);
            [1] => AIGetNumMobileTransports(player)
        )

    [AIGetBestCreepSpot] => Array
        (
            [0] => native point AIGetBestCreepSpot (int player, unit creator, fixed createRadius);
            [1] => AIGetBestCreepSpot(player, aiUnit, 8)
        )

    [AIAddDetectionDanger] => Array
        (
            [0] => native void AIAddDetectionDanger (int player, string unitType);
            [1] => AIAddDetectionDanger(player, c_TU_Ghost)
            [2] => AIAddDetectionDanger(player, c_TU_Banshee)
            [3] => AIAddDetectionDanger(player, c_ZU_Lurker)
            [4] => AIAddDetectionDanger(player, c_PU_DarkTemplar)
            [5] => AIAddDetectionDanger(player, c_PU_Mothership)
            [6] => AIAddDetectionDanger(player, c_TB_GhostAcademy)
            [7] => AIAddDetectionDanger(player, c_TB_FusionCore)
            [8] => AIAddDetectionDanger(player, c_ZB_LurkerDen)
            [9] => AIAddDetectionDanger(player, c_PB_DarkShrine)
        )

    [AIDefaultSuspectDetectionDanger] => Array
        (
            [0] => native bool AIDefaultSuspectDetectionDanger (int player);
            [1] => AIDefaultSuspectDetectionDanger(player)
        )

    [AIAnyWorkersFleeingNearby] => Array
        (
            [0] => native bool AIAnyWorkersFleeingNearby (int player, point loc, fixed radius);
        )

    [AIGetNumEnemies] => Array
        (
            [0] => native int AIGetNumEnemies (int player);
        )

    [AIGetNumAllies] => Array
        (
            [0] => native int AIGetNumAllies (int player);
        )

    [AIPlacementNearbyFindTest] => Array
        (
            [0] => native point AIPlacementNearbyFindTest (int player, point loc, fixed range, string unitType);
        )

    [AIAddToExtraScoutGroup] => Array
        (
            [0] => native void AIAddToExtraScoutGroup (int player, unit u);
            [1] => AIAddToExtraScoutGroup(player, u)
            [2] => AIAddToExtraScoutGroup(player, u)
            [3] => AIAddToExtraScoutGroup(player, u)
            [4] => AIAddToExtraScoutGroup(player, u)
        )

    [AIOfferNewScout] => Array
        (
            [0] => native bool AIOfferNewScout (int player, unit u);
        )

    [AIAnyAllyAttacking] => Array
        (
            [0] => native bool AIAnyAllyAttacking (int player);
        )

    [AIBestAllyAttackPoint] => Array
        (
            [0] => native point AIBestAllyAttackPoint (int player, wave w);
        )

    [AIAnyAllyNeedsDefending] => Array
        (
            [0] => native bool AIAnyAllyNeedsDefending (int player);
        )

    [AIBestAllyDefendPoint] => Array
        (
            [0] => native point AIBestAllyDefendPoint (int player, wave w);
        )

    [AIGlobalSuicide] => Array
        (
            [0] => native void AIGlobalSuicide (int player);
        )

    [AIUnitGetWave] => Array
        (
            [0] => native wave AIUnitGetWave (unit u);
        )

    [AIWaveGetUnits] => Array
        (
            [0] => native unitgroup AIWaveGetUnits (wave w);
        )

    [AIGetAllEscorts] => Array
        (
            [0] => native unitgroup AIGetAllEscorts (unit u);
        )

    [AIGetAllEscortsGroup] => Array
        (
            [0] => native unitgroup AIGetAllEscortsGroup (unitgroup ug);
        )

    [AIRemoveUnitFromAnyWaves] => Array
        (
            [0] => native void AIRemoveUnitFromAnyWaves (unit u);
        )

    [AIRemoveGroupFromAnyWaves] => Array
        (
            [0] => native void AIRemoveGroupFromAnyWaves (unitgroup ug);
        )

    [AIGetUnitsInWavesWithTarget] => Array
        (
            [0] => native unitgroup AIGetUnitsInWavesWithTarget (int player, wavetarget target);
        )

    [AIIsScriptControlled] => Array
        (
            [0] => native bool AIIsScriptControlled (unit u);
        )

    [AISetUnitScriptControlled] => Array
        (
            [0] => native void AISetUnitScriptControlled (unit u, bool enable);
        )

    [AISetGroupScriptControlled] => Array
        (
            [0] => native void AISetGroupScriptControlled (unitgroup ug, bool enable);
        )

    [AIIsSuicideUnit] => Array
        (
            [0] => native bool AIIsSuicideUnit (unit u);
        )

    [AISetUnitSuicide] => Array
        (
            [0] => native void AISetUnitSuicide (unit u, bool enable);
        )

    [AISetGroupSuicide] => Array
        (
            [0] => native void AISetGroupSuicide (unitgroup ug, bool enable);
        )

    [AIIsNotUsableInWaves] => Array
        (
            [0] => native bool AIIsNotUsableInWaves (unit u);
        )

    [AISetUnitNotUsableInWaves] => Array
        (
            [0] => native void AISetUnitNotUsableInWaves (unit u, bool enable);
        )

    [AISetGroupNotUsableInWaves] => Array
        (
            [0] => native void AISetGroupNotUsableInWaves (unitgroup ug, bool enable);
        )

    [AISetWantsToUpgrade] => Array
        (
            [0] => native void AISetWantsToUpgrade (unit u);
            [1] => AISetWantsToUpgrade(aiUnit)
        )

    [AIInitCampaignTowns] => Array
        (
            [0] => native void AIInitCampaignTowns (int player);
        )

    [AIInitCampaignHarvest] => Array
        (
            [0] => native void AIInitCampaignHarvest (int player);
        )

    [AIDeclareTown] => Array
        (
            [0] => native void AIDeclareTown (int player, int town, point center);
        )

    [AIGetMainTown] => Array
        (
            [0] => native int AIGetMainTown (int player);
        )

    [AISetMainTown] => Array
        (
            [0] => native void AISetMainTown (int player, int maintown);
            [1] => AISetMainTown(player, c_townOne)
        )

    [AIUpdateMainTown] => Array
        (
            [0] => native void AIUpdateMainTown (int player);
            [1] => AIUpdateMainTown(player)
            [2] => AIUpdateMainTown(player)
        )

    [AIGetTownState] => Array
        (
            [0] => native int AIGetTownState (int player, int town);
        )

    [AIGetTownEstablishedTime] => Array
        (
            [0] => native fixed AIGetTownEstablishedTime (int player, int town);
        )

    [AIGetTownLocation] => Array
        (
            [0] => native point AIGetTownLocation (int player, int town);
        )

    [AIGetClosestTown] => Array
        (
            [0] => native int AIGetClosestTown (int player, point location);
        )

    [AIGetNextUnusedTownSlot] => Array
        (
            [0] => native int AIGetNextUnusedTownSlot (int player);
        )

    [AIGetBuildingCountInTown] => Array
        (
            [0] => native int AIGetBuildingCountInTown (int player, int town, string aliasUnitType, int countMask);
        )

    [AIIsTownHarvestRunning] => Array
        (
            [0] => native bool AIIsTownHarvestRunning (int player, int town);
        )

    [AIHarvest] => Array
        (
            [0] => native void AIHarvest (int player, int town);
            [1] => AIHarvest(player, c_townOne)
        )

    [AIHarvestRate] => Array
        (
            [0] => native void AIHarvestRate (int player, int rate);
        )

    [AIHarvestBonus] => Array
        (
            [0] => native void AIHarvestBonus (int player, fixed bonus);
            [1] => AIHarvestBonus(player, 2.0)
        )

    [AISetGasPeonCountOverride] => Array
        (
            [0] => native void AISetGasPeonCountOverride (int player, int town, int desiredGasCount);
            [1] => AISetGasPeonCountOverride(player, c_townMain, c_defaultGasPeonCount)
            [2] => AISetGasPeonCountOverride(player, c_townMain, 3)
            [3] => AISetGasPeonCountOverride(player, c_townMain, count)
            [4] => AISetGasPeonCountOverride(player, c_townMain, 2)
            [5] => AISetGasPeonCountOverride(player, c_townMain, 0)
            [6] => AISetGasPeonCountOverride(player, c_townMain, c_defaultGasPeonCount)
            [7] => AISetGasPeonCountOverride(player, c_townMain, count)
        )

    [AIGetCurPeonCount] => Array
        (
            [0] => native int AIGetCurPeonCount (int player, int town);
            [1] => AIGetCurPeonCount(player, c_townMax)
        )

    [AIGetMinPeonCount] => Array
        (
            [0] => native int AIGetMinPeonCount (int player, int town);
        )

    [AIGetMaxPeonCount] => Array
        (
            [0] => native int AIGetMaxPeonCount (int player, int town);
            [1] => AIGetMaxPeonCount(player, c_townMax)
        )

    [AIGetMineralAmountLeft] => Array
        (
            [0] => native int AIGetMineralAmountLeft (int player, int town);
            [1] => AIGetMineralAmountLeft(player, c_townMax)
        )

    [AIGetGasAmountLeft] => Array
        (
            [0] => native int AIGetGasAmountLeft (int player, int town);
        )

    [AIGetMineralNumSpots] => Array
        (
            [0] => native int AIGetMineralNumSpots (int player, int town);
        )

    [AIGetRawGasNumSpots] => Array
        (
            [0] => native int AIGetRawGasNumSpots (int player, int town);
        )

    [AIGetGatherLocation] => Array
        (
            [0] => native point AIGetGatherLocation (int player, int town);//xxx remove old functions
            [1] => AIGetGatherLocation(player, c_townMain))
            [2] => AIGetGatherLocation(player, c_townMain)))
        )

    [AIGetGatherDefLocation] => Array
        (
            [0] => native point AIGetGatherDefLocation (int player, int town);
        )

    [AIExpand] => Array
        (
            [0] => native int AIExpand (int player, point searchStart, string firstBuilding);
        )

    [AIGetTownThreats] => Array
        (
            [0] => native unitgroup AIGetTownThreats (int player, int town);
        )

    [AIGetObstruction] => Array
        (
            [0] => native unit AIGetObstruction (int player);
            [1] => AIGetObstruction(player)
            [2] => AIGetObstruction(player)
        )

    [AIHasNearbyOpenExpansion] => Array
        (
            [0] => native bool AIHasNearbyOpenExpansion (int player);
        )

    [AIScout] => Array
        (
            [0] => native void AIScout (int player);
            [1] => AIScout(player)
        )

    [AISetNumScouts] => Array
        (
            [0] => native void AISetNumScouts (int player, int num);
            [1] => AISetNumScouts(player, 1)
            [2] => AISetNumScouts(player, 1)
            [3] => AISetNumScouts(player, 1)
            [4] => AISetNumScouts(player, 1)
        )

    [AISetScoutTimes] => Array
        (
            [0] => native void AISetScoutTimes (int player, int starts, int obstructed, int resources, int other);
        )

    [AIGetNextScoutLoc] => Array
        (
            [0] => native point AIGetNextScoutLoc (int player);
            [1] => AIGetNextScoutLoc(player)
        )

    [AIClearCampaignScout] => Array
        (
            [0] => native void AIClearCampaignScout (int player);
        )

    [AIBuild] => Array
        (
            [0] => native void AIBuild (int player, int priority, int town, string aliasUnitType, int count, int flags);
        )

    [AITrain] => Array
        (
            [0] => native void AITrain (int player, int priority, int town, string aliasUnitType, int count);
        )

    [AIResearch] => Array
        (
            [0] => native void AIResearch (int player, int priority, int town, string aliasUpgradeType);
        )

    [AIMakeAlways] => Array
        (
            [0] => native void AIMakeAlways (int player, int priority, int town, string aliasType, int count);
        )

    [AIMakeOnce] => Array
        (
            [0] => native void AIMakeOnce (int player, int priority, int town, string aliasType, int count);
        )

    [AIClearBuildQueue] => Array
        (
            [0] => native void AIClearBuildQueue (int player);
        )

    [AIClearTrainQueue] => Array
        (
            [0] => native void AIClearTrainQueue (int player);
        )

    [AIClearResearchQueue] => Array
        (
            [0] => native void AIClearResearchQueue (int player);
        )

    [AIHasRes] => Array
        (
            [0] => native bool AIHasRes (int player, int minerals, int gas);
            [1] => AIHasRes(player, 0, 200)
        )

    [AITechCount] => Array
        (
            [0] => native int  AITechCount (int player, string aliasType, int countMask);
            [1] => AITechCount(player, aliasType, c_techCountQueuedOrBetter)
            [2] => AITechCount(player, makeType, c_techCountQueuedOrBetter), makeType)
            [3] => AITechCount(player, from, c_techCountCompleteOnly)
            [4] => AITechCount(player, type, c_techCountCompleteOnly) < 8)
            [5] => AITechCount(player, what, c_techCountCompleteOnly)
            [6] => AITechCount(player, source, c_techCountCompleteOnly)
            [7] => AITechCount(player, what, c_techCountCompleteOnly) >= count)
            [8] => AITechCount(player, peonType, c_techCountCompleteOnly) < 8)
        )

    [AITechCountFixupSingle] => Array
        (
            [0] => native void AITechCountFixupSingle (int player, string baseUnit, string upgradeOne);
            [1] => AITechCountFixupSingle(player, c_ZB_HydraliskDen, c_ZB_LurkerDen)
            [2] => AITechCountFixupSingle(player, c_ZB_Spire, c_ZB_GreaterSpire)
        )

    [AITechCountFixupEither] => Array
        (
            [0] => native void AITechCountFixupEither (int player, string baseUnit, string upgradeOne, string upgradeTwo);
            [1] => AITechCountFixupEither(player, c_TB_CommandCenter, c_TB_OrbitalCommand, c_TB_PlanetaryFortress)
        )

    [AITechCountFixupInOrder] => Array
        (
            [0] => native void AITechCountFixupInOrder (int player, string baseUnit, string upgradeOne, string upgradeTwo);
            [1] => AITechCountFixupInOrder(player, c_ZB_Hatchery, c_ZB_Lair, c_ZB_Hive)
        )

    [AIKnownUnitCount] => Array
        (
            [0] => native int  AIKnownUnitCount (int player, int testPlayerId, string aliasUnitType);
        )

    [AIResetCounterUnits] => Array
        (
            [0] => native void AIResetCounterUnits (int player);
        )

    [AICounterUnit] => Array
        (
            [0] => native void AICounterUnit (int player, string seeWhat, fixed factor, string makeWhat);
            [1] => AICounterUnit(player, c_PB_PhotonCannon,         0.40, c_PU_Immortal )
            [2] => AICounterUnit(player, c_PU_Zealot,              1.00, c_PU_Zealot   )
            [3] => AICounterUnit(player, c_PU_Stalker,             1.00, c_PU_Zealot   )
            [4] => AICounterUnit(player, c_PU_Immortal,            2.00, c_PU_Zealot   )
            [5] => AICounterUnit(player, c_PU_Disruptor,           0.75, c_PU_Zealot   )
            [6] => AICounterUnit(player, c_PU_HighTemplar,         1.00, c_PU_Stalker  )
            [7] => AICounterUnit(player, c_PU_DarkTemplar,         2.00, c_PU_Zealot   )
            [8] => AICounterUnit(player, c_PU_Archon,              1.00, c_PU_Immortal )
            [9] => AICounterUnit(player, c_PU_Colossus,            1.00, c_PU_Immortal )
            [10] => AICounterUnit(player, c_PU_VoidRay,             1.50, c_PU_Phoenix  )
            [11] => AICounterUnit(player, c_PU_Phoenix,             0.40, c_PU_Carrier  )
            [12] => AICounterUnit(player, c_PU_Carrier,             1.67, c_PU_VoidRay  )
            [13] => AICounterUnit(player, c_TB_Bunker,              0.40, c_PU_Immortal )
            [14] => AICounterUnit(player, c_TU_Marine,              0.50, c_PU_Zealot   )
            [15] => AICounterUnit(player, c_TU_Reaper,              1.00, c_PU_Zealot   )
            [16] => AICounterUnit(player, c_TU_Marauder,            1.00, c_PU_Zealot   )
            [17] => AICounterUnit(player, c_TU_Ghost,               1.00, c_PU_Stalker  )
            [18] => AICounterUnit(player, c_TU_Hellion,             0.25, c_PU_Immortal )
            [19] => AICounterUnit(player, c_TU_SiegeTank_Alias,     2.00, c_PU_Zealot   )
            [20] => AICounterUnit(player, c_TU_Thor,                3.00, c_PU_Zealot   )
            [21] => AICounterUnit(player, c_TU_Viking_Alias,        1.00, c_PU_Zealot   )
            [22] => AICounterUnit(player, c_TU_Viking_Alias,        0.50, c_PU_Phoenix  )
            [23] => AICounterUnit(player, c_TU_Banshee,             0.50, c_PU_Phoenix  )
            [24] => AICounterUnit(player, c_TU_BattlecruiserClass,  2.00, c_PU_VoidRay  )
            [25] => AICounterUnit(player, c_ZB_SpineCrawler,        0.33, c_PU_Immortal )
            [26] => AICounterUnit(player, c_ZU_Zergling,            0.25, c_PU_Zealot   )
            [27] => AICounterUnit(player, c_ZU_Roach,               0.80, c_PU_Stalker  )
            [28] => AICounterUnit(player, c_ZU_Hydralisk,           0.50, c_PU_Stalker  )
            [29] => AICounterUnit(player, c_ZU_Lurker,              1.00, c_PU_Immortal )
            [30] => AICounterUnit(player, c_ZU_Infestor,            0.50, c_PU_Stalker  )
            [31] => AICounterUnit(player, c_ZU_Ultralisk,           1.00, c_PU_Stalker  )
            [32] => AICounterUnit(player, c_ZU_Mutalisk,            0.80, c_PU_Stalker  )
            [33] => AICounterUnit(player, c_ZU_Corruptor,           0.50, c_PU_Stalker  )
            [34] => AICounterUnit(player, c_ZU_BroodLord,       0.50, c_PU_Phoenix  )
            [35] => AICounterUnit(player, c_PB_PhotonCannon,         0.50, c_TU_SiegeTank)
            [36] => AICounterUnit(player, c_PU_Zealot,              1.00, c_TU_Hellion)
            [37] => AICounterUnit(player, c_PU_Stalker,             1.00, c_TU_Marauder)
            [38] => AICounterUnit(player, c_PU_Immortal,            2.00, c_TU_Marauder)
            [39] => AICounterUnit(player, c_PU_Disruptor,           1.00, c_TU_Ghost)
            [40] => AICounterUnit(player, c_PU_HighTemplar,         1.00, c_TU_Ghost)
            [41] => AICounterUnit(player, c_PU_DarkTemplar,         1.00, c_TU_Hellion)
            [42] => AICounterUnit(player, c_PU_Archon,              0.33, c_TU_Hellion)
            [43] => AICounterUnit(player, c_PU_Colossus,            1.00, c_TU_Thor)
            [44] => AICounterUnit(player, c_PU_VoidRay,             0.50, c_TU_Battlecruiser)
            [45] => AICounterUnit(player, c_PU_Phoenix,             0.50, c_TU_BattlecruiserMissile)
            [46] => AICounterUnit(player, c_PU_Carrier,             0.75, c_TU_BattlecruiserYamato)
            [47] => AICounterUnit(player, c_TB_Bunker,              0.33, c_TU_SiegeTank)
            [48] => AICounterUnit(player, c_TU_Marine,              0.50, c_TU_Hellion)
            [49] => AICounterUnit(player, c_TU_Reaper,              0.70, c_TU_Hellion)
            [50] => AICounterUnit(player, c_TU_Marauder,            0.50, c_TU_SiegeTank)
            [51] => AICounterUnit(player, c_TU_Ghost,               2.00, c_TU_Hellion)
            [52] => AICounterUnit(player, c_TU_Hellion,             0.25, c_TU_Thor)
            [53] => AICounterUnit(player, c_TU_SiegeTank_Alias,     0.50, c_TU_Thor)
            [54] => AICounterUnit(player, c_TU_Thor,                3.00, c_TU_Marauder)
            [55] => AICounterUnit(player, c_TU_Viking_Alias,        1.00, c_TU_Viking)
            [56] => AICounterUnit(player, c_TU_Banshee,             1.00, c_TU_Viking)
            [57] => AICounterUnit(player, c_TU_BattlecruiserClass,  1.00, c_TU_BattlecruiserYamato)
            [58] => AICounterUnit(player, c_ZB_SpineCrawler,        0.33, c_TU_SiegeTank)
            [59] => AICounterUnit(player, c_ZU_Zergling,            0.25, c_TU_Hellion)
            [60] => AICounterUnit(player, c_ZU_Roach,               0.80, c_TU_Marauder)
            [61] => AICounterUnit(player, c_ZU_Hydralisk,           0.50, c_TU_Ghost)
            [62] => AICounterUnit(player, c_ZU_Lurker,              1.00, c_TU_Marauder)
            [63] => AICounterUnit(player, c_ZU_Infestor,            0.50, c_TU_Ghost)
            [64] => AICounterUnit(player, c_ZU_Ultralisk,           1.00, c_TU_Thor)
            [65] => AICounterUnit(player, c_ZU_Mutalisk,            0.80, c_TU_Viking)
            [66] => AICounterUnit(player, c_ZU_Corruptor,           0.50, c_TU_Battlecruiser)
            [67] => AICounterUnit(player, c_ZU_BroodLord,           0.50, c_TU_Viking)
            [68] => AICounterUnit(player, c_PU_Zealot,              1.00, c_ZU_Baneling)
            [69] => AICounterUnit(player, c_PU_Stalker,             1.00, c_ZU_Roach)
            [70] => AICounterUnit(player, c_PU_Immortal,            8.00, c_ZU_Zergling)
            [71] => AICounterUnit(player, c_PU_HighTemplar,         2.00, c_ZU_Roach)
            [72] => AICounterUnit(player, c_PU_Disruptor,           4.00, c_ZU_Zergling)
            [73] => AICounterUnit(player, c_PU_Archon,              4.00, c_ZU_Zergling)
            [74] => AICounterUnit(player, c_PU_Archon,              2.00, c_ZU_Hydralisk)
            [75] => AICounterUnit(player, c_PU_Archon,              2.00, c_ZU_Roach)
            [76] => AICounterUnit(player, c_PU_Colossus,            1.00, c_ZU_Mutalisk)
            [77] => AICounterUnit(player, c_PU_VoidRay,             2.00, c_ZU_Corruptor)
            [78] => AICounterUnit(player, c_PU_VoidRay,             1.00, c_ZU_Mutalisk)
            [79] => AICounterUnit(player, c_PU_Phoenix,             2.00, c_ZU_Hydralisk)
            [80] => AICounterUnit(player, c_PU_Carrier,             2.00, c_ZU_Hydralisk)
            [81] => AICounterUnit(player, c_PU_Carrier,             2.00, c_ZU_Corruptor)
            [82] => AICounterUnit(player, c_TU_Marine,              0.60, c_ZU_Baneling)
            [83] => AICounterUnit(player, c_TU_Marauder,            3.00, c_ZU_Zergling)
            [84] => AICounterUnit(player, c_TU_Hellion,             0.60, c_ZU_Roach)
            [85] => AICounterUnit(player, c_TU_Ghost,               6.00, c_ZU_Zergling)
            [86] => AICounterUnit(player, c_TU_SiegeTank_Alias,     6.00, c_ZU_Zergling)
            [87] => AICounterUnit(player, c_TU_Reaper,              0.30, c_ZU_Mutalisk)
            [88] => AICounterUnit(player, c_TU_Thor,               12.00, c_ZU_Zergling)
            [89] => AICounterUnit(player, c_TU_Banshee,             0.50, c_ZU_Mutalisk)
            [90] => AICounterUnit(player, c_TU_BattlecruiserClass,  2.00, c_ZU_Corruptor)
            [91] => AICounterUnit(player, c_TU_BattlecruiserClass,  2.00, c_ZU_Hydralisk)
            [92] => AICounterUnit(player, c_ZU_Zergling,            0.25, c_ZU_Baneling)
            [93] => AICounterUnit(player, c_ZU_Baneling,            0.25, c_ZU_Lurker)
            [94] => AICounterUnit(player, c_ZU_Roach,               3.00, c_ZU_Zergling)
            [95] => AICounterUnit(player, c_ZU_Hydralisk,           1.00, c_ZU_Hydralisk)
            [96] => AICounterUnit(player, c_ZU_Lurker,              1.50, c_ZU_Hydralisk)
            [97] => AICounterUnit(player, c_ZU_Mutalisk,            0.50, c_ZU_Mutalisk)
            [98] => AICounterUnit(player, c_ZU_Mutalisk,            0.50, c_ZU_Corruptor)
            [99] => AICounterUnit(player, c_ZU_Corruptor,           1.00, c_ZU_Corruptor)
            [100] => AICounterUnit(player, c_ZU_BroodLord,       0.50, c_ZU_Corruptor)
        )

    [AICounterUnits] => Array
        (
            [0] => native int AICounterUnits (int player, int testPlayerId, string makeWhat);
            [1] => AICounterUnits(player, c_maxPlayers, type)
        )

    [AIGetRallyPoint] => Array
        (
            [0] => native point AIGetRallyPoint (unit u);
        )

    [AISetPowerBuilding] => Array
        (
            [0] => native void AISetPowerBuilding (int player, string building);
            [1] => AISetPowerBuilding(player, c_PB_Pylon)
        )

    [AISetCreepBuilding] => Array
        (
            [0] => native void AISetCreepBuilding (int player, string building, string noCreepBehavior);
            [1] => AISetCreepBuilding(player, c_ZB_CreepTumor, "ZergBuildingNotOnCreep")
        )

    [AIClearStock] => Array
        (
            [0] => native void AIClearStock (int player);
            [1] => AIClearStock(player)
            [2] => AIClearStock(player)
            [3] => AIClearStock(player)
            [4] => AIClearStock(player)
            [5] => AIClearStock(player)
            [6] => AIClearStock(player)
            [7] => AIClearStock(player)
            [8] => AIClearStock(player)
            [9] => AIClearStock(player)
            [10] => AIClearStock(player)
            [11] => AIClearStock(player)
            [12] => AIClearStock(player)
            [13] => AIClearStock(player)
            [14] => AIClearStock(player)
            [15] => AIClearStock(player)
            [16] => AIClearStock(player)
            [17] => AIClearStock(player)
            [18] => AIClearStock(player)
            [19] => AIClearStock(player)
            [20] => AIClearStock(player)
            [21] => AIClearStock(player)
            [22] => AIClearStock(player)
            [23] => AIClearStock(player)
            [24] => AIClearStock(player)
        )

    [AIEnableStock] => Array
        (
            [0] => native void AIEnableStock (int player);
            [1] => AIEnableStock(player)
            [2] => AIEnableStock(player)
            [3] => AIEnableStock(player)
            [4] => AIEnableStock(player)
            [5] => AIEnableStock(player)
            [6] => AIEnableStock(player)
            [7] => AIEnableStock(player)
            [8] => AIEnableStock(player)
            [9] => AIEnableStock(player)
            [10] => AIEnableStock(player)
            [11] => AIEnableStock(player)
            [12] => AIEnableStock(player)
            [13] => AIEnableStock(player)
            [14] => AIEnableStock(player)
            [15] => AIEnableStock(player)
            [16] => AIEnableStock(player)
            [17] => AIEnableStock(player)
        )

    [AISetStockEx] => Array
        (
            [0] => native void AISetStockEx (int player, int town, int count, string aliasType, int buildFlags, int stockFlags);
        )

    [AISetStock] => Array
        (
            [0] => native void AISetStock (int player, int count, string aliasType);
            [1] => AISetStock( player, count, makeType )
            [2] => AISetStock(player, make, what)
            [3] => AISetStock( player, count, type )
            [4] => AISetStock( player, 1, tech )
            [5] => AISetStock( player, 1, c_TB_Barracks )
            [6] => AISetStock( player, 1, c_TB_Refinery )
            [7] => AISetStock( player, 1, c_TB_BarracksTechLab )
            [8] => AISetStock( player, 1, c_TB_Factory )
            [9] => AISetStock( player, 1, c_TB_FactoryTechLab )
            [10] => AISetStock( player, 1, c_TB_Starport )
            [11] => AISetStock( player, 1, c_TB_StarportTechLab )
            [12] => AISetStock( player, 1, c_TB_EngineeringBay )
            [13] => AISetStock( player, 1, c_TB_SensorTower )
            [14] => AISetStock( player, 1, c_TB_GhostAcademy )
            [15] => AISetStock( player, 1, c_TB_MercCompound )
            [16] => AISetStock( player, 1, c_TB_Armory )
            [17] => AISetStock( player, 1, c_TB_FusionCore )
            [18] => AISetStock( player, 1, c_ZB_SpawningPool )
            [19] => AISetStock( player, 1, c_ZB_Extractor )
            [20] => AISetStock( player, 1, c_ZB_EvolutionChamber )
            [21] => AISetStock( player, 1, c_ZB_HydraliskDen )
            [22] => AISetStock( player, 1, c_ZR_HydraliskSpeed )
            [23] => AISetStock( player, 1, c_ZR_OverseerSpeed )
            [24] => AISetStock( player, 1, c_ZB_BanelingNest )
            [25] => AISetStock( player, 1, c_ZB_RoachWarren )
            [26] => AISetStock( player, 1, c_ZB_Spire )
            [27] => AISetStock( player, 1, c_ZB_InfestationPit )
            [28] => AISetStock( player, 1, c_ZR_OverlordTransport )
            [29] => AISetStock( player, 1, c_ZB_UltraliskCavern )
            [30] => AISetStock( player, 1, c_ZB_LurkerDen )
            [31] => AISetStock( player, 1, c_ZB_GreaterSpire )
            [32] => AISetStock( player, 1, c_PB_Gateway )
            [33] => AISetStock( player, 1, c_PB_Forge )
            [34] => AISetStock( player, 1, c_PB_Assimilator )
            [35] => AISetStock( player, 1, c_PB_RoboticsFacility )
            [36] => AISetStock( player, 1, c_PB_Stargate )
            [37] => AISetStock( player, 1, c_PB_TwilightCouncil )
            [38] => AISetStock( player, 1, c_PB_TemplarArchives )
            [39] => AISetStock( player, 1, c_PB_RoboticsBay )
            [40] => AISetStock( player, 1, c_PB_DarkShrine )
            [41] => AISetStock( player, 1, c_PB_FleetBeacon )
            [42] => AISetStock( player, 1, c_PB_Nexus )
            [43] => AISetStock( player, 8, c_PU_Probe )
            [44] => AISetStock( player, 1, c_PB_Pylon )
            [45] => AISetStock( player, 1, c_PU_Zealot )
            [46] => AISetStock( player, 2, c_PB_PhotonCannon )
            [47] => AISetStock( player, 1, c_PU_Observer )
            [48] => AISetStock( player, 2, c_PB_PhotonCannon )
            [49] => AISetStock( player, 1, c_PU_Observer )
            [50] => AISetStock( player, 4, c_PU_Observer )
            [51] => AISetStock( player, 1, c_PU_WarpPrism )
            [52] => AISetStock( player, 4, c_PU_Observer )
            [53] => AISetStock( player, 1, c_PB_Nexus )
            [54] => AISetStock( player, 8, c_PU_Probe )
            [55] => AISetStock( player, 1, c_PB_Pylon )
            [56] => AISetStock( player, 1, c_PB_Assimilator )
            [57] => AISetStock( player, 1, c_PB_Gateway )
            [58] => AISetStock( player, 1, c_PB_CyberneticsCore )
            [59] => AISetStock( player, 1, c_PB_Stargate )
            [60] => AISetStock( player, 1, c_PU_VoidRay )
            [61] => AISetStock( player, 2, c_PU_Stalker )
            [62] => AISetStock( player, 2, c_PU_Stalker )
            [63] => AISetStock( player, 1, c_PU_VoidRay )
            [64] => AISetStock( player, 2, c_PB_Pylon )
            [65] => AISetStock( player, 1, c_PB_RoboticsFacility )
            [66] => AISetStock( player, 1, c_PU_Phoenix )
            [67] => AISetStock( player, 1, c_PU_Observer )
            [68] => AISetStock( player, 1, c_PU_WarpPrism )
            [69] => AISetStock( player, 2, c_PU_VoidRay )
            [70] => AISetStock( player, 1, c_PB_Forge )
            [71] => AISetStock( player, 2, c_PU_Stalker )
            [72] => AISetStock( player, 1, c_PU_VoidRay )
            [73] => AISetStock( player, 2, c_PB_Pylon )
            [74] => AISetStock( player, 1, c_PU_Phoenix )
            [75] => AISetStock( player, 1, c_PU_Observer )
            [76] => AISetStock( player, 1, c_PU_WarpPrism )
            [77] => AISetStock( player, 3, c_PU_VoidRay )
            [78] => AISetStock( player, 2, c_PU_Observer )
            [79] => AISetStock( player, 2, c_PU_Phoenix )
            [80] => AISetStock( player, 3, c_PB_PhotonCannon )
            [81] => AISetStock( player, 2, c_PU_Stalker )
            [82] => AISetStock( player, 1, c_PU_VoidRay )
            [83] => AISetStock( player, 2, c_PB_Pylon )
            [84] => AISetStock( player, 1, c_PU_Phoenix )
            [85] => AISetStock( player, 1, c_PU_Observer )
            [86] => AISetStock( player, 1, c_PU_WarpPrism )
            [87] => AISetStock( player, 3, c_PU_VoidRay )
            [88] => AISetStock( player, 2, c_PU_Observer )
            [89] => AISetStock( player, 2, c_PU_Phoenix )
            [90] => AISetStock( player, 1, c_PU_Carrier )
            [91] => AISetStock( player, 4, c_PU_Observer )
            [92] => AISetStock( player, 1, c_TB_CommandCenter_Alias )
            [93] => AISetStock( player, 8, c_TU_SCV )
            [94] => AISetStock( player, 2, c_TU_Marine )
            [95] => AISetStock( player, 2, c_TB_MissileTurret )
            [96] => AISetStock( player, 1, c_TB_OrbitalCommand )
            [97] => AISetStock( player, 2, c_TB_MissileTurret )
            [98] => AISetStock( player, 1, c_TB_OrbitalCommand )
            [99] => AISetStock( player, 1, c_TB_OrbitalCommand )
            [100] => AISetStock( player, 3, c_TU_Medivac )
            [101] => AISetStock( player, 1, c_TU_Raven )
            [102] => AISetStock( player, 1, c_TB_CommandCenter_Alias )
            [103] => AISetStock( player, 8, c_TU_SCV )
            [104] => AISetStock( player, 1, c_TB_Refinery )
            [105] => AISetStock( player, 1, c_TB_Barracks )
            [106] => AISetStock( player, 1, c_TB_Factory )
            [107] => AISetStock( player, 1, c_TB_Starport )
            [108] => AISetStock( player, 1, c_TU_Viking )
            [109] => AISetStock( player, 1, c_TB_BarracksReactor )
            [110] => AISetStock( player, 1, c_TB_SupplyDepot )
            [111] => AISetStock( player, 1, c_TU_Marine )
            [112] => AISetStock( player, 1, c_TU_Viking )
            [113] => AISetStock( player, 1, c_TB_StarportTechLab )
            [114] => AISetStock( player, 2, c_TU_Viking )
            [115] => AISetStock( player, 1, c_TU_Raven )
            [116] => AISetStock( player, 1, c_TU_Banshee )
            [117] => AISetStock( player, 1, c_TU_Medivac )
            [118] => AISetStock( player, 1, c_TB_OrbitalCommand )
            [119] => AISetStock( player, 1, c_TB_OrbitalCommand )
            [120] => AISetStock( player, 1, c_TB_OrbitalCommand )
            [121] => AISetStock( player, 1, c_ZB_Hatchery_Alias )
            [122] => AISetStock( player, 2, c_ZU_Drone )
            [123] => AISetStock( player, 1, c_ZU_Overlord )
            [124] => AISetStock( player, 8, c_ZU_Drone )
            [125] => AISetStock( player, 1, c_ZB_Extractor )
            [126] => AISetStock( player, 1, c_ZU_Queen )
            [127] => AISetStock( player, 2, c_ZU_Overlord_Alias )
            [128] => AISetStock( player, 1, c_ZU_Hydralisk )
            [129] => AISetStock( player, 1, c_ZU_Overseer )
            [130] => AISetStock( player, 1, c_ZU_Queen )
            [131] => AISetStock( player, 1, c_ZU_Overseer )
            [132] => AISetStock( player, 2, c_ZB_SporeCrawler )
            [133] => AISetStock( player, 1, c_ZU_Queen )
            [134] => AISetStock( player, 1, c_ZR_OverlordTransport )
            [135] => AISetStock( player, 3, c_ZU_Overseer )
            [136] => AISetStock( player, 1, c_ZB_Hatchery_Alias )
            [137] => AISetStock( player, 1, c_ZU_Overlord )
            [138] => AISetStock( player, 10, c_ZU_Drone )
            [139] => AISetStock( player, 1, c_ZB_Extractor )
            [140] => AISetStock( player, 1, c_ZB_SpawningPool )
            [141] => AISetStock( player, 2, c_ZB_Extractor )
            [142] => AISetStock( player, 1, c_ZB_Lair )
            [143] => AISetStock( player, 2, c_ZU_Overlord )
            [144] => AISetStock( player, 1, c_ZB_Spire )
            [145] => AISetStock( player, 1, c_ZU_Queen )
            [146] => AISetStock( player, 1, c_ZB_HydraliskDen )
            [147] => AISetStock( player, 1, c_ZU_Mutalisk )
            [148] => AISetStock( player, 2, c_ZU_Hydralisk )
            [149] => AISetStock( player, 1, c_ZU_Queen )
            [150] => AISetStock( player, 1, c_ZB_Lair )
            [151] => AISetStock( player, 1, c_ZU_Mutalisk )
            [152] => AISetStock( player, 2, c_ZU_Hydralisk )
            [153] => AISetStock( player, 1, c_ZR_OverlordTransport )
            [154] => AISetStock( player, 1, c_ZU_Overseer )
            [155] => AISetStock( player, 1, c_ZB_EvolutionChamber )
            [156] => AISetStock( player, 2, c_ZU_Mutalisk )
            [157] => AISetStock( player, 3, c_ZB_SporeCrawler )
            [158] => AISetStock( player, 1, c_ZU_Corruptor )
            [159] => AISetStock( player, 1, c_ZU_Queen )
            [160] => AISetStock( player, 2, c_ZU_Mutalisk )
            [161] => AISetStock( player, 2, c_ZU_Hydralisk )
            [162] => AISetStock( player, 1, c_ZR_OverlordTransport )
            [163] => AISetStock( player, 1, c_ZR_OverseerSpeed )
            [164] => AISetStock( player, 1, c_ZU_Overseer )
            [165] => AISetStock( player, 3, c_ZB_SporeCrawler )
            [166] => AISetStock( player, 1, c_ZU_Corruptor )
            [167] => AISetStock( player, 3, c_ZU_Mutalisk )
            [168] => AISetStock( player, 2, c_ZU_Corruptor )
            [169] => AISetStock( player, 1, c_ZU_Queen )
            [170] => AISetStock( player, 2, c_ZU_Mutalisk )
            [171] => AISetStock( player, 2, c_ZU_Hydralisk )
            [172] => AISetStock( player, 1, c_ZR_OverlordTransport )
            [173] => AISetStock( player, 1, c_ZR_OverseerSpeed )
            [174] => AISetStock( player, 2, c_ZU_Overseer )
            [175] => AISetStock( player, 3, c_ZB_SporeCrawler )
            [176] => AISetStock( player, 1, c_ZU_Corruptor )
            [177] => AISetStock( player, 4, c_ZU_Mutalisk )
            [178] => AISetStock( player, 3, c_ZU_Corruptor )
            [179] => AISetStock( player, 1, c_ZU_BroodLord )
            [180] => AISetStock( player, 4, c_ZU_Overseer )
            [181] => AISetStock( player, 1, c_ZR_CorruptorAttack )
        )

    [AISetStockOpt] => Array
        (
            [0] => native void AISetStockOpt (int player, int count, string aliasType);
        )

    [AISetStockUnitNext] => Array
        (
            [0] => native void AISetStockUnitNext (int player, int count, string aliasUnitType, bool when);
            [1] => AISetStockUnitNext( player, 3, base, c_stockIdle )
            [2] => AISetStockUnitNext( player, addons, addon, c_stockIdle )
            [3] => AISetStockUnitNext( player, 2, base, c_stockIdle )
            [4] => AISetStockUnitNext( player, 2, addon, c_stockIdle )
            [5] => AISetStockUnitNext( player, addons, addon, c_stockIdle )
            [6] => AISetStockUnitNext( player, count, type, c_stockAlways )
            [7] => AISetStockUnitNext( player, 4, c_TU_Marine, c_stockAlways )
            [8] => AISetStockUnitNext( player, 4, c_TU_Marine, c_stockAlways )
            [9] => AISetStockUnitNext( player, 3, c_TU_Viking, c_stockAlways )
            [10] => AISetStockUnitNext( player, 1, c_TU_Raven, c_stockAlways )
            [11] => AISetStockUnitNext( player, 1, c_TU_Medivac, c_stockAlways )
            [12] => AISetStockUnitNext( player, 3, c_TB_MissileTurret, c_stockIdle )
            [13] => AISetStockUnitNext( player, 2, c_TU_Banshee, c_stockAlways )
            [14] => AISetStockUnitNext( player, 1, c_TU_Battlecruiser, c_stockAlways )
            [15] => AISetStockUnitNext( player, 4, c_TU_Marine, c_stockAlways )
            [16] => AISetStockUnitNext( player, 5, c_TU_Viking, c_stockAlways )
            [17] => AISetStockUnitNext( player, 1, c_TU_Raven, c_stockAlways )
            [18] => AISetStockUnitNext( player, 1, c_TU_Medivac, c_stockAlways )
            [19] => AISetStockUnitNext( player, 3, c_TB_MissileTurret, c_stockIdle )
            [20] => AISetStockUnitNext( player, 4, c_TU_Banshee, c_stockAlways )
            [21] => AISetStockUnitNext( player, 1, c_TU_Battlecruiser, c_stockAlways )
        )

    [AISetStockTown] => Array
        (
            [0] => native bool AISetStockTown (int player, string aliasUnitTypeTH, string aliasUnitTypeGas);
        )

    [AISetStockExpand] => Array
        (
            [0] => native bool AISetStockExpand (int player, string aliasUnitTypeTH, int count);
        )

    [AISetStockExtra] => Array
        (
            [0] => native void AISetStockExtra (int player, int count, string aliasUnitType, int minerals);
        )

    [AISetStockFarms] => Array
        (
            [0] => native void AISetStockFarms (int player, string aliasUnitType, bool onlyNeeded);
        )

    [AISetStockPeons] => Array
        (
            [0] => native void AISetStockPeons (int player, int max, string aliasUnitType, bool onlyMinPeons, bool peonMode);
        )

    [AINewTechStock] => Array
        (
            [0] => native void AINewTechStock (int player);
        )

    [AITechStockAdd] => Array
        (
            [0] => native void AITechStockAdd (string upgradeType);
        )

    [AISetStockTechNext] => Array
        (
            [0] => native void AISetStockTechNext (int player);
        )

    [AISetStockAlias] => Array
        (
            [0] => void AISetStockAlias (int player, int count, string makeType, string aliasType) {
            [1] => AISetStockAlias (int player, int count, string makeType, string aliasType)
        )

    [AISetStockFree] => Array
        (
            [0] => void AISetStockFree (int player, int count, string makeType, string prereq) {
            [1] => AISetStockFree (int player, int count, string makeType, string prereq)
        )

    [AIDefaultEconomy] => Array
        (
            [0] => native void AIDefaultEconomy (int player, string hall, string gas, string food, string peon, int cap, bool peonMode);
            [1] => AIDefaultEconomy(player, c_PB_Nexus, c_PB_Assimilator, c_PB_Pylon, c_PU_Probe, 8, c_stockAlways)
            [2] => AIDefaultEconomy(player, c_PB_Nexus, c_PB_Assimilator, c_PB_Pylon, c_PU_Probe, 8, c_stockAlways)
            [3] => AIDefaultEconomy(player, c_PB_Nexus, c_PB_Assimilator, c_PB_Pylon, c_PU_Probe, 8, c_stockAlways)
            [4] => AIDefaultEconomy(player, c_PB_Nexus, c_PB_Assimilator, c_PB_Pylon, c_PU_Probe, 8, c_stockAlways)
            [5] => AIDefaultEconomy(player, c_PB_Nexus, c_PB_Assimilator, c_PB_Pylon, c_PU_Probe, 8, c_stockAlways)
            [6] => AIDefaultEconomy(player, c_PB_Nexus, c_PB_Assimilator, c_PB_Pylon, c_PU_Probe, 8, c_stockAlways)
            [7] => AIDefaultEconomy(player, c_TB_CommandCenter_Alias, c_TB_Refinery, c_TB_SupplyDepot, c_TU_SCV, 8, c_stockAlways)
            [8] => AIDefaultEconomy(player, c_TB_CommandCenter_Alias, c_TB_Refinery, c_TB_SupplyDepot, c_TU_SCV, 8, c_stockAlways)
            [9] => AIDefaultEconomy(player, c_TB_CommandCenter_Alias, c_TB_Refinery, c_TB_SupplyDepot, c_TU_SCV, 8, c_stockAlways)
            [10] => AIDefaultEconomy(player, c_TB_CommandCenter_Alias, c_TB_Refinery, c_TB_SupplyDepot, c_TU_SCV, 8, c_stockAlways)
            [11] => AIDefaultEconomy(player, c_TB_CommandCenter_Alias, c_TB_Refinery, c_TB_SupplyDepot, c_TU_SCV, 8, c_stockAlways)
            [12] => AIDefaultEconomy(player, c_TB_CommandCenter_Alias, c_TB_Refinery, c_TB_SupplyDepot, c_TU_SCV, 8, c_stockAlways)
            [13] => AIDefaultEconomy(player, c_ZB_Hatchery_Alias, c_ZB_Extractor, c_ZU_Overlord_Alias, c_ZU_Drone, 8, c_stockIdle)
            [14] => AIDefaultEconomy(player, c_ZB_Hatchery_Alias, c_ZB_Extractor, c_ZU_Overlord_Alias, c_ZU_Drone, 8, c_stockIdle)
            [15] => AIDefaultEconomy(player, c_ZB_Hatchery_Alias, c_ZB_Extractor, c_ZU_Overlord, c_ZU_Drone, 8, c_stockIdle)
            [16] => AIDefaultEconomy(player, c_ZB_Hatchery_Alias, c_ZB_Extractor, c_ZU_Overlord, c_ZU_Drone, 8, c_stockIdle)
            [17] => AIDefaultEconomy(player, c_ZB_Hatchery_Alias, c_ZB_Extractor, c_ZU_Overlord, c_ZU_Drone, 8, c_stockIdle)
            [18] => AIDefaultEconomy(player, c_ZB_Hatchery_Alias, c_ZB_Extractor, c_ZU_Overlord, c_ZU_Drone, 8, c_stockIdle)
        )

    [AIDefaultExpansion] => Array
        (
            [0] => native void AIDefaultExpansion (int player, string hall, int minerals, int gas, int expandFlags);
            [1] => AIDefaultExpansion(player, c_PB_Nexus, 6000, 0, c_expandDefault)
            [2] => AIDefaultExpansion(player, c_PB_Nexus, 6000, 1000, c_expandDefault)
            [3] => AIDefaultExpansion(player, c_PB_Nexus, 6000, 1000, c_expandDefault)
            [4] => AIDefaultExpansion(player, c_TB_CommandCenter_Alias, 6000, 0, c_expandDefault)
            [5] => AIDefaultExpansion(player, c_TB_CommandCenter_Alias, 6000, 1000, c_expandDefault)
            [6] => AIDefaultExpansion(player, c_TB_CommandCenter_Alias, 6000, 1000, c_expandDefault)
            [7] => AIDefaultExpansion(player, c_ZB_Hatchery_Alias, 6000, 0, c_expandDefault)
            [8] => AIDefaultExpansion(player, c_ZB_Hatchery_Alias, 6000, 1000, c_expandDefault)
            [9] => AIDefaultExpansion(player, c_ZB_Hatchery_Alias, 6000, 1000, c_expandDefault)
        )

    [AIClearLimitTech] => Array
        (
            [0] => native void AIClearLimitTech (int player);
        )

    [AILimitTech] => Array
        (
            [0] => native void AILimitTech (int player, int totalMin, int totalGas, int buildingMin, int buildingGas, int upgradeMin, int upgradeGas);
        )

    [AIImportantTech] => Array
        (
            [0] => native void AIImportantTech (int player, string aliasType);
        )

    [AILimitStockLarva] => Array
        (
            [0] => native void AILimitStockLarva (int player, string aliasType);
        )

    [AIHasStock] => Array
        (
            [0] => native bool AIHasStock (int player);
        )

    [AIHasStockFromTown] => Array
        (
            [0] => native bool AIHasStockFromTown (int player, int town);
        )

    [AIRemoveStockFromTown] => Array
        (
            [0] => native void AIRemoveStockFromTown (int player, int town);
        )

    [AIDefaultGetObjectType] => Array
        (
            [0] => native int AIDefaultGetObjectType (int player, string aliasType);
            [1] => AIDefaultGetObjectType(player, objType)
        )

    [AIDefaultGetMaker] => Array
        (
            [0] => native string AIDefaultGetMaker (int player, string aliasType);
            [1] => AIDefaultGetMaker(player, objType)
        )

    [AIDefaultGetFirstMissingReq] => Array
        (
            [0] => native string AIDefaultGetFirstMissingReq (int player, string aliasType);
            [1] => AIDefaultGetFirstMissingReq(player, objType)
        )

    [AIDefaultGetFirstUnfinishedReq] => Array
        (
            [0] => native string AIDefaultGetFirstUnfinishedReq (int player, string aliasType);
            [1] => AIDefaultGetFirstUnfinishedReq(player, objType)
        )

    [AIDefaultGetFullMakeTime] => Array
        (
            [0] => native int AIDefaultGetFullMakeTime (int player, string aliasType);
            [1] => AIDefaultGetFullMakeTime(player, objType)
        )

    [AIGetBaseName] => Array
        (
            [0] => native string AIGetBaseName (string aliasType);
        )

    [AIGetBuildAtName] => Array
        (
            [0] => native string AIGetBuildAtName (string aliasType);
        )

    [AIReqCountAsBuiltObject] => Array
        (
            [0] => native void AIReqCountAsBuiltObject (int player, string aliasType);
            [1] => AIReqCountAsBuiltObject(player, c_ZU_Larva)
        )

    [AIReqAddSpecialMaker] => Array
        (
            [0] => native void AIReqAddSpecialMaker (string objType, string makerType, string abilName, int abilIndex);
            [1] => AIReqAddSpecialMaker(c_TU_BattlecruiserDefensive, c_TU_Battlecruiser, "BattlecruiserSpecialize", 0)
            [2] => AIReqAddSpecialMaker(c_TU_BattlecruiserMissile, c_TU_Battlecruiser, "BattlecruiserSpecialize", 1)
            [3] => AIReqAddSpecialMaker(c_TU_BattlecruiserYamato, c_TU_Battlecruiser, "BattlecruiserSpecialize", 3)
        )

    [AIBaseThink] => Array
        (
            [0] => native void AIBaseThink (unit who, unitgroup candidates);
        )

    [AIEvalTacticalData] => Array
        (
            [0] => native bool AIEvalTacticalData (unit who, string data);
        )

    [AICast] => Array
        (
            [0] => native int AICast (unit u, order o, marker m, bool retreat);
            [1] => AICast(aiUnit, ord, mark, retreat)
            [2] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [3] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [4] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [5] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [6] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [7] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [8] => AICast(aiUnit, ord, forceFieldMarker, c_castHold)
            [9] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [10] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [11] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [12] => AICast(aiUnit, ord, c_noMarker, c_castRetreat)
            [13] => AICast(aiUnit, ord, c_noMarker, c_castRetreat)
            [14] => AICast(aiUnit, ord, mark, c_castRetreat)
            [15] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [16] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [17] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [18] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [19] => AICast(aiUnit, ord, mark, c_castHold)
            [20] => AICast(aiUnit, ord, mark, c_castRetreat)
            [21] => AICast(aiUnit, ord, mark, c_castHold)
            [22] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [23] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [24] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [25] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [26] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [27] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [28] => AICast(aiUnit, ord, c_noMarker, c_castRetreat)
            [29] => AICast(aiUnit, ord, mark, c_castRetreat)
            [30] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [31] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [32] => AICast(aiUnit, ord, c_noMarker, c_castRetreat)
            [33] => AICast(aiUnit, ord, c_noMarker, c_castRetreat)
            [34] => AICast(aiUnit, ord, mark, c_castRetreat)
            [35] => AICast(aiUnit, ord, mark, c_castRetreat)
            [36] => AICast(aiUnit, ord, mark, c_castHold)
            [37] => AICast(aiUnit, ord, c_noMarker, c_castRetreat)
            [38] => AICast(aiUnit, ord, mark, c_castHold)
            [39] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [40] => AICast(aiUnit, ord, c_noMarker, c_castHold)
            [41] => AICast(aiUnit, ord, c_noMarker, c_castHold)
        )

    [AICastFlee] => Array
        (
            [0] => native int AICastFlee (unit who, unit from, int distance, marker mark);
            [1] => AICastFlee(UnitGroupUnit(scanGroup, scanCount), aiUnit, 6, mark)
        )

    [AINearbyUnits] => Array
        (
            [0] => native bool AINearbyUnits (int player, string unitType, point p, fixed range, int requiredCount);
            [1] => AINearbyUnits(player, c_ZU_ChangelingZealot, here, range, 1)
            [2] => AINearbyUnits(player, c_ZU_ChangelingZergling, here, range, 1)
            [3] => AINearbyUnits(player, c_ZU_ChangelingMarine, here, range, 1)
            [4] => AINearbyUnits(player, c_ZU_ChangelingZerglingWings, here, range, 1))
        )

    [AIFindUnits] => Array
        (
            [0] => native unitgroup AIFindUnits (int player, string unitType, point p, fixed range, int inMaxCount);
        )

    [AISameCommand] => Array
        (
            [0] => native bool AISameCommand (unit u1, unit u2);
        )

    [AILastAttacker] => Array
        (
            [0] => native unit AILastAttacker (unit u);
        )

    [AILastAttack] => Array
        (
            [0] => native int AILastAttack (unit u);
        )

    [AIControlWantsToMove] => Array
        (
            [0] => native bool AIControlWantsToMove (unit u);
        )

    [AIControlForceToMove] => Array
        (
            [0] => native bool AIControlForceToMove (unit u);
        )

    [AIControlWantsToUnburrow] => Array
        (
            [0] => native bool AIControlWantsToUnburrow (unit u);
        )

    [AIControlWantsToBurrow] => Array
        (
            [0] => native bool AIControlWantsToBurrow (unit u);
        )

    [AIControlForceUnburrow] => Array
        (
            [0] => native bool AIControlForceUnburrow (unit u);
        )

    [AIUnitIsInCombat] => Array
        (
            [0] => native bool AIUnitIsInCombat (unit u);
        )

    [AIIsIgnoredByWave] => Array
        (
            [0] => native bool AIIsIgnoredByWave (unit u);
        )

    [AISetIgnoredByWave] => Array
        (
            [0] => native void AISetIgnoredByWave (unit u, bool enable);
        )

    [AIGetHomePosition] => Array
        (
            [0] => native point AIGetHomePosition (unit u);
            [1] => AIGetHomePosition(aiUnit), c_warpPrismPhaseRange))
            [2] => AIGetHomePosition(aiUnit), c_warpPrismPhaseRange))
            [3] => AIGetHomePosition(unitToCheck), c_campaignBunkerLoadRange))
        )

    [AIGetCloakedAttacker] => Array
        (
            [0] => native point AIGetCloakedAttacker (int p);
            [1] => AIGetCloakedAttacker(player)
        )

    [AIClearCloakedAttacker] => Array
        (
            [0] => native void AIClearCloakedAttacker (int p, point pt);
            [1] => AIClearCloakedAttacker(player, loc)
        )

    [AISawCloakedUnit] => Array
        (
            [0] => native bool AISawCloakedUnit (int p);
        )

    [AIDefaultCombatPriority] => Array
        (
            [0] => native unit AIDefaultCombatPriority (unit target, unitgroup attackers, unitgroup enemies);
            [1] => AIDefaultCombatPriority(target, attackers, enemies)
        )

    [AICloakEvaluate] => Array
        (
            [0] => native bool AICloakEvaluate (unit u, fixed minEnergy, fixed maxLife, fixed range);
        )

    [AISetDefaultCombatFlags] => Array
        (
            [0] => void AISetDefaultCombatFlags (int player, bool isMelee);
            [1] => AISetDefaultCombatFlags (int player, bool isMelee)
            [2] => AISetDefaultCombatFlags(player, true)
            [3] => void AISetDefaultCombatFlags (int player, bool isMelee) {
            [4] => AISetDefaultCombatFlags (int player, bool isMelee)
        )

    [AICombatTargetProduction] => Array
        (
            [0] => native bool AICombatTargetProduction        (int player, int action);
        )

    [AICombatTargetDropOffs] => Array
        (
            [0] => native bool AICombatTargetDropOffs          (int player, int action);
        )

    [AICombatTargetFood] => Array
        (
            [0] => native bool AICombatTargetFood              (int player, int action);
        )

    [AICombatTargetActiveProduction] => Array
        (
            [0] => native bool AICombatTargetActiveProduction  (int player, int action);
        )

    [AICombatTargetWorkers] => Array
        (
            [0] => native bool AICombatTargetWorkers           (int player, int action);
        )

    [AICombatTargetAllyThreats] => Array
        (
            [0] => native bool AICombatTargetAllyThreats       (int player, int action);
        )

    [AICombatTargetSelfThreats] => Array
        (
            [0] => native bool AICombatTargetSelfThreats       (int player, int action);
        )

    [AICombatTargetCurrent] => Array
        (
            [0] => native bool AICombatTargetCurrent           (int player, int action);
        )

    [AICombatTargetAir] => Array
        (
            [0] => native bool AICombatTargetAir               (int player, int action);
        )

    [AICombatTargetMovers] => Array
        (
            [0] => native bool AICombatTargetMovers            (int player, int action);
        )

    [AICombatTargetInjuries] => Array
        (
            [0] => native bool AICombatTargetInjuries          (int player, int action);
        )

    [AICombatTargetInAttackRange] => Array
        (
            [0] => native bool AICombatTargetInAttackRange     (int player, int action);
        )

    [AICombatTargetThreats] => Array
        (
            [0] => native bool AICombatTargetThreats           (int player, int action);
        )

    [AICombatTargetHealers] => Array
        (
            [0] => native bool AICombatTargetHealers           (int player, int action);
        )

    [AICombatTargetSiege] => Array
        (
            [0] => native bool AICombatTargetSiege             (int player, int action);
        )

    [AICombatTargetAttackers] => Array
        (
            [0] => native bool AICombatTargetAttackers         (int player, int action);
        )

    [AICombatTargetSpecial] => Array
        (
            [0] => native bool AICombatTargetSpecial           (int player, int action);
        )

    [AICombatAvoidTimedUnits] => Array
        (
            [0] => native bool AICombatAvoidTimedUnits         (int player, int action);
        )

    [AICombatAvoidNonThreats] => Array
        (
            [0] => native bool AICombatAvoidNonThreats         (int player, int action);
        )

    [AICombatAvoidWeakUnits] => Array
        (
            [0] => native bool AICombatAvoidWeakUnits          (int player, int action);
        )

    [AICombatAvoidDisabledUnits] => Array
        (
            [0] => native bool AICombatAvoidDisabledUnits      (int player, int action);
        )

    [AITransportIgnore] => Array
        (
            [0] => native void AITransportIgnore (int player, string unitType);
            [1] => AITransportIgnore(player, "VikingAssault")
        )

    [AITransportSetPanic] => Array
        (
            [0] => native void AITransportSetPanic (int player, fixed value);
            [1] => AITransportSetPanic(player, 0.6)
            [2] => AITransportSetPanic(player, 0.27)
        )

    [AITransportSetReturn] => Array
        (
            [0] => native void AITransportSetReturn (int player, point center);
            [1] => AITransportSetReturn(player, targ)
        )

    [AIWaveInfoCreate] => Array
        (
            [0] => native waveinfo AIWaveInfoCreate ();
        )

    [AIWaveInfo] => Array
        (
            [0] => native waveinfo AIWaveInfo (wave w);
        )

    [AIWaveInfoAdd] => Array
        (
            [0] => native void AIWaveInfoAdd (waveinfo info, string unitType, int count);
        )

    [AIWaveInfoAttack] => Array
        (
            [0] => native int AIWaveInfoAttack (waveinfo info, int player, point from, wavetarget target, int time);
        )

    [AIWaveInfoSuicide] => Array
        (
            [0] => native int AIWaveInfoSuicide (waveinfo info, int player, point from, wavetarget target, int time);
        )

    [AIWaveInfoScout] => Array
        (
            [0] => native int AIWaveInfoScout (waveinfo info, int player, point from, int time);
        )

    [AIWaveToString] => Array
        (
            [0] => native string AIWaveToString (wave w);
        )

    [AIWaveToText] => Array
        (
            [0] => native text AIWaveToText (wave w);
        )

    [AIWaveCreate] => Array
        (
            [0] => native wave AIWaveCreate (waveinfo info, int player, point from);
            [1] => AIWaveCreate(AIWaveInfoCreate(), player, targ))
            [2] => AIWaveCreate(AIWaveInfoCreate(), player, targ))
            [3] => AIWaveCreate(AIWaveInfoCreate(), player, targ))
            [4] => AIWaveCreate(AIWaveInfoCreate(), player, targ))
            [5] => AIWaveCreate(AIWaveInfoCreate(), player, targ))
            [6] => AIWaveCreate(AIWaveInfoCreate(), player, targ))
            [7] => AIWaveCreate(AIWaveInfoCreate(), player, targ))
        )

    [AIWaveAddUnit] => Array
        (
            [0] => native void AIWaveAddUnit (wave w, unit u);
            [1] => AIWaveAddUnit(merge, u)
            [2] => AIWaveAddUnit(w, u)
        )

    [AIWaveAddUnitPriority] => Array
        (
            [0] => native void AIWaveAddUnitPriority (wave w, unit u, int prio);
            [1] => AIWaveAddUnitPriority(attackWave, u, c_prioWavePeon)
            [2] => AIWaveAddUnitPriority(defendWave, u, c_prioWavePeon)
            [3] => AIWaveAddUnitPriority(attackWave, u, c_prioWavePeon)
            [4] => AIWaveAddUnitPriority(AIWaveGet(player, c_waveHome), u, c_prioWavePeon)
            [5] => AIWaveAddUnitPriority(AIWaveGet(player, c_waveHome), u, c_prioWavePeon)
        )

    [AIWaveRemoveUnit] => Array
        (
            [0] => native void AIWaveRemoveUnit (wave w, unit u);
        )

    [AIWaveUnitCount] => Array
        (
            [0] => native int  AIWaveUnitCount (wave w);
            [1] => AIWaveUnitCount(w)
            [2] => AIWaveUnitCount(waveClob)
            [3] => AIWaveUnitCount(waveAtck)
            [4] => AIWaveUnitCount(AIWaveGet(player, c_waveMain))
            [5] => AIWaveUnitCount(AIWaveGet(player, c_waveAttack))
        )

    [AIWaveDetectorCount] => Array
        (
            [0] => native int  AIWaveDetectorCount (wave w);
        )

    [AIWaveSetType] => Array
        (
            [0] => native void AIWaveSetType (wave w, int type, wavetarget target);
        )

    [AIWaveState] => Array
        (
            [0] => native int AIWaveState (wave w);
            [1] => AIWaveState(w)
            [2] => AIWaveState(w)
            [3] => AIWaveState(w)
            [4] => AIWaveState(w)
            [5] => AIWaveState(w) != c_waveStateDropRetreat)
        )

    [AIWaveDelete] => Array
        (
            [0] => native void AIWaveDelete (wave w);
        )

    [AIWaveTargetUnit] => Array
        (
            [0] => native wavetarget AIWaveTargetUnit (unit u);
            [1] => AIWaveTargetUnit(obstruction))
        )

    [AIWaveTargetUnitGroup] => Array
        (
            [0] => native wavetarget AIWaveTargetUnitGroup (unitgroup g);
        )

    [AIWaveTargetUnitPoint] => Array
        (
            [0] => native wavetarget AIWaveTargetUnitPoint (unit u);
        )

    [AIWaveTargetPoint] => Array
        (
            [0] => native wavetarget AIWaveTargetPoint (point p);
        )

    [AIWaveTargetPlayer] => Array
        (
            [0] => native wavetarget AIWaveTargetPlayer (playergroup players);
        )

    [AIWaveTargetMelee] => Array
        (
            [0] => native wavetarget AIWaveTargetMelee (int player);
            [1] => AIWaveTargetMelee(player))
        )

    [AIWaveTargetMeleeHarass] => Array
        (
            [0] => native wavetarget AIWaveTargetMeleeHarass (int player);
            [1] => AIWaveTargetMeleeHarass(player))
        )

    [AIWaveTargetMeleeDrop] => Array
        (
            [0] => native wavetarget AIWaveTargetMeleeDrop (int player, point dropLoc, point goalLoc);
        )

    [AIWaveTargetMeleeDefend] => Array
        (
            [0] => native wavetarget AIWaveTargetMeleeDefend (int player);
            [1] => AIWaveTargetMeleeDefend(player))
        )

    [AIWaveTargetMerge] => Array
        (
            [0] => native wavetarget AIWaveTargetMerge (wave w);
            [1] => AIWaveTargetMerge(w))
        )

    [AIWaveTargetPatrol] => Array
        (
            [0] => native wavetarget AIWaveTargetPatrol (int replaceType);
        )

    [AIWaveTargetEscort] => Array
        (
            [0] => native wavetarget AIWaveTargetEscort (unitgroup g, int replaceType);
        )

    [AIWaveTargetEscortNL] => Array
        (
            [0] => native wavetarget AIWaveTargetEscortNL (unitgroup g, int replaceType);
        )

    [AIWaveTargetGatherO] => Array
        (
            [0] => native wavetarget AIWaveTargetGatherO (int player, int town);
            [1] => AIWaveTargetGatherO(player, c_townMax))
            [2] => AIWaveTargetGatherO(player, c_townMain))
            [3] => AIWaveTargetGatherO(player, c_townMain))
            [4] => AIWaveTargetGatherO(player, c_townMain))
            [5] => AIWaveTargetGatherO(player, c_townMax))
        )

    [AIWaveTargetGatherD] => Array
        (
            [0] => native wavetarget AIWaveTargetGatherD (int player, int town);
            [1] => AIWaveTargetGatherD(player, c_townMax))
            [2] => AIWaveTargetGatherD(player, c_townMax))
            [3] => AIWaveTargetGatherD(player, c_townMax))
            [4] => AIWaveTargetGatherD(player, c_townMax))
        )

    [AIWaveTargetRegion] => Array
        (
            [0] => native wavetarget AIWaveTargetRegion (region r, int replaceType);
        )

    [AIWaveTargetGatherOPoint] => Array
        (
            [0] => native point AIWaveTargetGatherOPoint (int player, int town);
            [1] => AIWaveTargetGatherOPoint(player, c_townMain)
            [2] => AIWaveTargetGatherOPoint(player, c_townMax)
        )

    [AIWaveTargetGatherDPoint] => Array
        (
            [0] => native point AIWaveTargetGatherDPoint (int player, int town);
            [1] => AIWaveTargetGatherDPoint(player, c_townMain)
        )

    [AIWaveTargetGetUnit] => Array
        (
            [0] => native unit         AIWaveTargetGetUnit (wavetarget wt);
            [1] => AIWaveTargetGetUnit(AIWaveGetTarget(w))
        )

    [AIWaveTargetGetUnitGroup] => Array
        (
            [0] => native unitgroup    AIWaveTargetGetUnitGroup (wavetarget wt);
        )

    [AIWaveHarassRetreat] => Array
        (
            [0] => native wavetarget AIWaveHarassRetreat (int player, wave w, fixed range);
            [1] => AIWaveHarassRetreat(player, w, c_evalHarassRange))
        )

    [AIWaveGetTarget] => Array
        (
            [0] => native wavetarget AIWaveGetTarget (wave w);
        )

    [AIWaveIsInCombat] => Array
        (
            [0] => native bool AIWaveIsInCombat (wave w);
        )

    [AIWaveGetTimeInCombat] => Array
        (
            [0] => native int AIWaveGetTimeInCombat (wave w);
            [1] => AIWaveGetTimeInCombat(w)
        )

    [AIWaveGetTimeSinceCombat] => Array
        (
            [0] => native int AIWaveGetTimeSinceCombat (wave w);
            [1] => AIWaveGetTimeSinceCombat(w) >= 120)
            [2] => AIWaveGetTimeSinceCombat(w) >= 300 - 5*count)
            [3] => AIWaveGetTimeSinceCombat(w) >= 300-10*count)
        )

    [AIWaveGetTimeSinceOrdered] => Array
        (
            [0] => native int AIWaveGetTimeSinceOrdered (wave w);
        )

    [AIWaveGetTimeSinceRetreat] => Array
        (
            [0] => native int AIWaveGetTimeSinceRetreat (wave w);
        )

    [AIDefenseThreat] => Array
        (
            [0] => native bool AIDefenseThreat (int type, int player, wave w);
        )

    [AIDefenseThreatEval] => Array
        (
            [0] => native int AIDefenseThreatEval (int type, int player);
            [1] => AIDefenseThreatEval(c_dtEvalRealThreats, player)) )
        )

    [AIWaveEval] => Array
        (
            [0] => native int AIWaveEval (wave w);
            [1] => AIWaveEval(AIWaveGet(player, c_waveMain))
        )

    [AIWaveEvalRatio] => Array
        (
            [0] => native int AIWaveEvalRatio (wave w, fixed range);
            [1] => AIWaveEvalRatio(w, c_evalDefendRange)
            [2] => AIWaveEvalRatio(waveAtck, c_evalRange)
            [3] => AIWaveEvalRatio(w, c_evalRange)
            [4] => AIWaveEvalRatio(w, c_evalRange)
            [5] => AIWaveEvalRatio(w, c_evalRange)
        )

    [AIUnitAreaEvalRatio] => Array
        (
            [0] => native int AIUnitAreaEvalRatio (unit u, fixed range);
        )

    [AIEvalRatio] => Array
        (
            [0] => native int AIEvalRatio (int player);
        )

    [AIEvalSetCustomIndex] => Array
        (
            [0] => native void AIEvalSetCustomIndex (int index);
        )

    [AILastWaveEvalStaticRatio] => Array
        (
            [0] => native int AILastWaveEvalStaticRatio ();
            [1] => AILastWaveEvalStaticRatio()
        )

    [AIWaveTargetAddWaypoint] => Array
        (
            [0] => native void AIWaveTargetAddWaypoint (wavetarget wt, point waypoint, bool useTransport, int index);
        )

    [AIWaveTargetClearWaypoints] => Array
        (
            [0] => native void AIWaveTargetClearWaypoints (wavetarget wt);
        )

    [AIWaveGet] => Array
        (
            [0] => native wave AIWaveGet (int player, int waveName);
            [1] => AIWaveGet(player, c_waveMain))
            [2] => AIWaveGet(player, c_waveAttack))
            [3] => AIWaveGet(player, c_waveDefend))
            [4] => AIWaveGet(player, c_waveDivert1))
            [5] => AIWaveGet(player, c_waveDivert2))
            [6] => AIWaveGet(player, c_waveClearObs))
            [7] => AIWaveGet(player, c_waveHome))
            [8] => AIWaveGet(player, c_waveMain)
            [9] => AIWaveGet(player, c_waveDefend)
            [10] => AIWaveGet(player, c_waveAttack)
            [11] => AIWaveGet(player, c_waveClearObs)
            [12] => AIWaveGet(player, c_waveAttack)
            [13] => AIWaveGet(player, c_waveAttack)
            [14] => AIWaveGet(player, c_waveAttack)
            [15] => AIWaveGet(player, c_waveClearObs))
            [16] => AIWaveGet(player, c_waveClearObs))
            [17] => AIWaveGet(player, c_waveDivert1))
            [18] => AIWaveGet(player, c_waveDivert2))
            [19] => AIWaveGet(player, c_waveClearObs))
        )

    [AIWaveSet] => Array
        (
            [0] => native void AIWaveSet (int player, int waveName, wave waveRef);
        )

    [AIWaveType] => Array
        (
            [0] => native int  AIWaveType (wave waveRef);
        )

    [AIWaveMerge] => Array
        (
            [0] => native void AIWaveMerge (int player, int waveFrom, int waveInto);
            [1] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [2] => AIWaveMerge(player, c_waveClearObs, c_waveMain)
            [3] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [4] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [5] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [6] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [7] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [8] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [9] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [10] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [11] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [12] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [13] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [14] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [15] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [16] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [17] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [18] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [19] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [20] => AIWaveMerge(player, c_waveMain, c_waveAttack)
            [21] => AIWaveMerge(player, c_waveMain, c_waveAttack)
        )

    [AIWaveMergeMelee] => Array
        (
            [0] => native void AIWaveMergeMelee (int player);
        )

    [WaveLastCreated] => Array
        (
            [0] => native wave WaveLastCreated ();
        )

    [AIGetBestTarget] => Array
        (
            [0] => native point AIGetBestTarget (int player, playergroup enemies, point gatherPoint, int flags);
        )

    [AIFindDropAttackTarget] => Array
        (
            [0] => native bool AIFindDropAttackTarget (int player, point gatherPoint);
        )

    [AILastDropLocation] => Array
        (
            [0] => native point AILastDropLocation ();
        )

    [AILastDropGoal] => Array
        (
            [0] => native point AILastDropGoal ();
            [1] => AILastDropGoal()))
        )

    [AIGetNextDropTimeCheck] => Array
        (
            [0] => native fixed AIGetNextDropTimeCheck(int player);
        )

    [AISetNextDropTimeCheck] => Array
        (
            [0] => native void AISetNextDropTimeCheck(int player, fixed time);
        )

    [AILastAttackRatio] => Array
        (
            [0] => native int AILastAttackRatio (wave w);
            [1] => AILastAttackRatio(w)
        )

    [AILastAttackStartEval] => Array
        (
            [0] => native int AILastAttackStartEval (wave w);
        )

    [AIAttackWaveAddUnits] => Array
        (
            [0] => native void AIAttackWaveAddUnits (int difficulty, int count, string unitType);
            [1] => AIAttackWaveAddUnits(2, n1, unitType)
            [2] => AIAttackWaveAddUnits(3, n2, unitType)
            [3] => AIAttackWaveAddUnits(4, n3, unitType)
            [4] => AIAttackWaveAddUnits(5, n4, unitType)
        )

    [AIAttackWaveAddUnits4] => Array
        (
            [0] => void AIAttackWaveAddUnits4 (int n1, int n2, int n3, int n4, string unitType) {
            [1] => AIAttackWaveAddUnits4 (int n1, int n2, int n3, int n4, string unitType)
            [2] => AIAttackWaveAddUnits4(n1,n2,n3,n3,unitType)
        )

    [AIAttackWaveAddUnits3] => Array
        (
            [0] => void AIAttackWaveAddUnits3 (int n1, int n2, int n3, string unitType) {
            [1] => AIAttackWaveAddUnits3 (int n1, int n2, int n3, string unitType)
        )

    [AIAttackWaveSend] => Array
        (
            [0] => native int AIAttackWaveSend (int player, int time, bool wait);
        )

    [AIAttackWaveCancel] => Array
        (
            [0] => native void AIAttackWaveCancel (wave waveRef);
        )

    [AIAttackWaveSetGatherPoint] => Array
        (
            [0] => native void AIAttackWaveSetGatherPoint (int player, point gather);
        )

    [AIAttackWaveUseUnit] => Array
        (
            [0] => native void AIAttackWaveUseUnit (int player, unit u);
        )

    [AIAttackWaveUseGroup] => Array
        (
            [0] => native void AIAttackWaveUseGroup (int player, unitgroup ug);
        )

    [AIAttackWaveAddEscortUnit] => Array
        (
            [0] => native void AIAttackWaveAddEscortUnit (int player, unit u, unit escort, fixed offset, fixed angle);
        )

    [AIAttackWaveAddEscortType] => Array
        (
            [0] => native void AIAttackWaveAddEscortType (int player, string unitType, unit escort, fixed offset, fixed angle);
        )

    [AIAttackWaveSetTargetUnit] => Array
        (
            [0] => native void AIAttackWaveSetTargetUnit (int player, unit u);
        )

    [AIAttackWaveSetTargetUnitGroup] => Array
        (
            [0] => native void AIAttackWaveSetTargetUnitGroup (int player, unitgroup ug);
        )

    [AIAttackWaveSetTargetUnitPoint] => Array
        (
            [0] => native void AIAttackWaveSetTargetUnitPoint (int player, unit u);
        )

    [AIAttackWaveSetTargetPoint] => Array
        (
            [0] => native void AIAttackWaveSetTargetPoint (int player, point p);
        )

    [AIAttackWaveSetTargetPlayer] => Array
        (
            [0] => native void AIAttackWaveSetTargetPlayer (int player, playergroup players);
        )

    [AIAttackWaveSetTargetMelee] => Array
        (
            [0] => native void AIAttackWaveSetTargetMelee (int player);
        )

    [AIAttackWaveSetTargetMeleeHarass] => Array
        (
            [0] => native void AIAttackWaveSetTargetMeleeHarass (int player);
        )

    [AIAttackWaveSetTargetMeleeDrop] => Array
        (
            [0] => native void AIAttackWaveSetTargetMeleeDrop (int player, point dropLoc, point goalLoc);
        )

    [AIAttackWaveSetTargetMeleeDefend] => Array
        (
            [0] => native void AIAttackWaveSetTargetMeleeDefend (int player);
        )

    [AIAttackWaveSetTargetMerge] => Array
        (
            [0] => native void AIAttackWaveSetTargetMerge (int player, wave w);
        )

    [AIAttackWaveSetTargetPatrol] => Array
        (
            [0] => native void AIAttackWaveSetTargetPatrol (int player, int replaceType);
        )

    [AIAttackWaveSetTargetEscort] => Array
        (
            [0] => native void AIAttackWaveSetTargetEscort (int player, unitgroup g, int replaceType);
        )

    [AIAttackWaveSetTargetEscortNL] => Array
        (
            [0] => native void AIAttackWaveSetTargetEscortNL (int player, unitgroup g, int replaceType);
        )

    [AIAttackWaveSetTargetGatherO] => Array
        (
            [0] => native void AIAttackWaveSetTargetGatherO (int player, int town);
        )

    [AIAttackWaveSetTargetGatherD] => Array
        (
            [0] => native void AIAttackWaveSetTargetGatherD (int player, int town);
        )

    [AIAttackWaveSetTargetRegion] => Array
        (
            [0] => native void AIAttackWaveSetTargetRegion (int player, region r, int replaceType);
        )

    [AIAttackWaveSetGatherEarlyNoReplace] => Array
        (
            [0] => native void AIAttackWaveSetGatherEarlyNoReplace (int player);
        )

    [AIAttackWaveSetKeepAlive] => Array
        (
            [0] => native void AIAttackWaveSetKeepAlive (int player);
        )

    [AIAttackWaveAddWaypoint] => Array
        (
            [0] => native void AIAttackWaveAddWaypoint (int player, point waypoint, bool useTransport);
        )

    [AIAttackWaveClearWaypoints] => Array
        (
            [0] => native void AIAttackWaveClearWaypoints (int player);
        )

    [AISetMinimumBullyCount] => Array
        (
            [0] => native void AISetMinimumBullyCount (int count, string unitType, int player);
        )

    [AISetGeneralRebuildCount] => Array
        (
            [0] => native void AISetGeneralRebuildCount (int count, bool building, int player);
        )

    [AISetSpecificRebuildCount] => Array
        (
            [0] => native void AISetSpecificRebuildCount (int count, string unitType, int player);
        )

    [AISetBullyAttackWavePercent] => Array
        (
            [0] => native void AISetBullyAttackWavePercent (int percent, int player);
        )

    [AINearestTownLimitWaveGather] => Array
        (
            [0] => native void AINearestTownLimitWaveGather (int player, bool enable);
        )

    [AINearestTownBullyRebuild] => Array
        (
            [0] => native void AINearestTownBullyRebuild (int player, bool enable);
        )

    [AIToggleBulliesInRegion] => Array
        (
            [0] => native void AIToggleBulliesInRegion (int player, region reg, bool activate);
        )

    [AIResetBullyRebuildCountsInRegion] => Array
        (
            [0] => native void AIResetBullyRebuildCountsInRegion (int player, region reg);
        )

    [AIClearAllBullies] => Array
        (
            [0] => native void AIClearAllBullies (int player);
        )

    [AIAddBully] => Array
        (
            [0] => native void AIAddBully (int player, string unitType, point loc, int rebuildCount);
        )

    [AIGetBullyType] => Array
        (
            [0] => native string AIGetBullyType (unit u);
            [1] => AIGetBullyType(aiUnit)
            [2] => AIGetBullyType(aiUnit)
            [3] => AIGetBullyType(aiUnit)
        )

    [if] => 
    [AIWaveSetUserData] => Array
        (
            [0] => AIWaveSetUserData (wave waveRef, int index, int data)
        )

    [AIWaveGetUserData] => Array
        (
            [0] => AIWaveGetUserData (wave waveRef, int index)
        )

    [libNtve_InitLib] => Array
        (
            [0] => void libNtve_InitLib () {}
            [1] => libNtve_InitLib ()
        )

    [AIGetDefaultBuildFlags] => Array
        (
            [0] => int AIGetDefaultBuildFlags (int player, string objType) {
            [1] => AIGetDefaultBuildFlags (int player, string objType)
        )

    [DebugAI] => Array
        (
            [0] => void DebugAI (string s) {
            [1] => DebugAI (string s)
            [2] => DebugAI(s + "= " + value)
            [3] => DebugAI(s + "= true")
            [4] => DebugAI(s + "= false")
            [5] => DebugAI(msg)
            [6] => DebugAI(msg)
            [7] => DebugAI(msg)
            [8] => DebugAI(msg)
            [9] => DebugAI("=====PROTOSS=====\n")
            [10] => DebugAI("=====TERRAN=====\n")
            [11] => DebugAI("=====ZERG=====\n")
        )

    [DebugAIPlayer] => Array
        (
            [0] => void DebugAIPlayer (int player, string s) {
            [1] => DebugAIPlayer (int player, string s)
            [2] => DebugAIPlayer(player, s)
        )

    [DebugAIPlayerWave] => Array
        (
            [0] => void DebugAIPlayerWave (int player, string s) {
            [1] => DebugAIPlayerWave(player, "defend1 set wave = retreat to gather defense");
            [2] => DebugAIPlayerWave(player, "defend3 set defend = idle at gather defense");
            [3] => DebugAIPlayerWave(player, "main2 set main = idle at gather offense");
            [4] => DebugAIPlayerWave(player, "divert1 set divert = idle at gather defense");//xxx
            [5] => DebugAIPlayerWave(player, "divert2 set divert = retreat to harass point");//xxx
            [6] => DebugAIPlayerWave(player, "divert3 set divert = attack harass target");//xxx
            [7] => DebugAIPlayerWave(player, "home set divert = idle at gather defense");
            [8] => DebugAIPlayerWave(player, "clearobs1 merge clear obstruction -> main");
            [9] => DebugAIPlayerWave(player, "clearobs2 set clear obstruction = clear obstruction");
            [10] => DebugAIPlayerWave(player, "attack1drop merge main -> attack; set attack = drop attack");
            [11] => DebugAIPlayerWave(player, "attack1 merge main -> attack; set attack = attack vs. melee target");
            [12] => DebugAIPlayerWave(player, "attack1a In drop attack state, but not drop attack wave state?");
            [13] => DebugAIPlayerWave(player, "attack2 merge main -> attack; set attack = retreat to gather offense");
            [14] => DebugAIPlayerWave(player, "attack3 set attack = retreat to gather offense");
            [15] => DebugAIPlayerWave(player, "attack3drop set attack = drop retreat to gather offense");
            [16] => DebugAIPlayerWave(player, "attack4 merge main -> attack");
            [17] => DebugAIPlayerWave(player, "merge1 merge main -> attack");
            [18] => DebugAIPlayerWave (int player, string s)
            [19] => DebugAIPlayerWave(player, "defend2 set wave = defend vs. threats")
            [20] => DebugAIPlayerWave(player, "attack5 set attack = idle at gather offense")
        )

    [DebugVarInt] => Array
        (
            [0] => void DebugVarInt (string s, int value) {
            [1] => DebugVarInt (string s, int value)
            [2] => DebugVarInt("const", c_planeAir)
            [3] => DebugVarInt("allyCount:", allyCount)
        )

    [DebugVarString] => Array
        (
            [0] => void DebugVarString (string s, string value) {
            [1] => DebugVarString (string s, string value)
        )

    [DebugVarInt2] => Array
        (
            [0] => void DebugVarInt2 (string s1, int value1, string s2, int value2) {
            [1] => DebugVarInt2 (string s1, int value1, string s2, int value2)
        )

    [DebugVarInt3] => Array
        (
            [0] => void DebugVarInt3 (string s1, int value1, string s2, int value2, string s3, int value3) {
            [1] => DebugVarInt3 (string s1, int value1, string s2, int value2, string s3, int value3)
        )

    [DebugVarBool] => Array
        (
            [0] => void DebugVarBool (string s, bool value) {
            [1] => DebugVarBool (string s, bool value)
            [2] => DebugVarBool("grnd", groundEnemies)
            [3] => DebugVarBool("air", airEnemies)
        )

    [AttackStateName] => Array
        (
            [0] => string AttackStateName (int state) {
            [1] => AttackStateName (int state)
            [2] => AttackStateName(attackState)
            [3] => AttackStateName(AIState(player, e_attackState))
            [4] => AttackStateName(AIState(player, e_attackState))
            [5] => AttackStateName(AIState(player, e_attackState))
        )

    [WaveStateName] => Array
        (
            [0] => string WaveStateName (int state) {
            [1] => WaveStateName (int state)
            [2] => WaveStateName(AIWaveState(w))
        )

    [DebugWave] => Array
        (
            [0] => void DebugWave (int player, string name, wave w) {
            [1] => DebugWave (int player, string name, wave w)
        )

    [DebugMelee] => Array
        (
            [0] => void DebugMelee (int player) {
            [1] => DebugMelee (int player)
            [2] => DebugMelee(StringToInt(StringWord(EventChatMessage(false), 2)))
            [3] => DebugMelee(player)
            [4] => DebugMelee(player)
            [5] => DebugMelee(player)
        )

    [DebugMeleeTrigger] => Array
        (
            [0] => bool DebugMeleeTrigger (bool c, bool a) {
            [1] => DebugMeleeTrigger (bool c, bool a)
        )

    [DebugMeleeInit] => Array
        (
            [0] => void DebugMeleeInit () {
            [1] => DebugMeleeInit ()
            [2] => DebugMeleeInit()
        )

    [MainStateName] => Array
        (
            [0] => string MainStateName (int state) {
            [1] => MainStateName (int state)
            [2] => MainStateName(AIState(player, e_mainState))
            [3] => MainStateName(AIState(player, e_mainState))
            [4] => MainStateName(AIState(player, e_mainState))
        )

    [AISetAttackState] => Array
        (
            [0] => void AISetAttackState (int player, int attackState) {
            [1] => AISetAttackState (int player, int attackState)
            [2] => AISetAttackState(player, e_attackState_DropAttack)
            [3] => AISetAttackState(player, e_attackState_Attack)
            [4] => AISetAttackState(player, e_attackState_Attack)
            [5] => AISetAttackState(player, e_attackState_Attack)
            [6] => AISetAttackState(player, e_attackState_Attack)
            [7] => AISetAttackState(player, e_attackState_Attack)
            [8] => AISetAttackState(player, e_attackState_Scared)
            [9] => AISetAttackState(player, e_attackState_Retreat)
            [10] => AISetAttackState(player, e_attackState_Retreat)
            [11] => AISetAttackState(player, e_attackState_DropRetreat)
            [12] => AISetAttackState(player, e_attackState_DropRetreat)
            [13] => AISetAttackState(player, e_attackState_Attack)
            [14] => AISetAttackState(player, e_attackState_Retreat)
            [15] => AISetAttackState(player, e_attackState_InRetreat)
            [16] => AISetAttackState(player, e_attackState_InRetreat)
            [17] => AISetAttackState(player, e_attackState_Idle)
            [18] => AISetAttackState(player, e_attackState_Attack)
            [19] => AISetAttackState(player, e_attackState_Attack)
            [20] => AISetAttackState(player, e_attackState_Attack)
            [21] => AISetAttackState(player, e_attackState_Attack)
            [22] => AISetAttackState(player, e_attackState_Attack)
            [23] => AISetAttackState(player, e_attackState_Attack)
            [24] => AISetAttackState(player, e_attackState_Attack)
            [25] => AISetAttackState(player, e_attackState_Attack)
            [26] => AISetAttackState(player, e_attackState_Attack)
            [27] => AISetAttackState(player, e_attackState_Attack)
            [28] => AISetAttackState(player, e_attackState_Attack)
            [29] => AISetAttackState(player, e_attackState_Attack)
            [30] => AISetAttackState(player, e_attackState_Attack)
            [31] => AISetAttackState(player, e_attackState_Attack)
            [32] => AISetAttackState(player, e_attackState_Attack)
            [33] => AISetAttackState(player, e_attackState_Attack)
            [34] => AISetAttackState(player, e_attackState_Attack)
            [35] => AISetAttackState(player, e_attackState_Attack)
        )

    [AISetMainState] => Array
        (
            [0] => void AISetMainState (int player, int mainState, int mainSubState) {
            [1] => AISetMainState (int player, int mainState, int mainSubState)
            [2] => AISetMainState(player, e_mainState_Disabled, e_mainSubState_Unset)
            [3] => AISetMainState(player, e_mainState_Disabled, e_mainSubState_Unset)
            [4] => AISetMainState(player, state, subState)
            [5] => AISetMainState(player, state, subState)
            [6] => AISetMainState(player, state, subState)
            [7] => AISetMainState(player, state1, state2)
            [8] => AISetMainState(player, state, e_mainSubState_Unset)
            [9] => AISetMainState(player, e_mainState_Mid1, e_mainSubState_AirA)
            [10] => AISetMainState(player, e_mainState_Mid1, e_mainSubState_AirB)
            [11] => AISetMainState(player, e_mainState_Late1, e_mainSubState_AirA)
            [12] => AISetMainState(player, state, e_mainSubState_Unset)
            [13] => AISetMainState(player, e_mainState_Mid1, e_mainSubState_AirA)
            [14] => AISetMainState(player, e_mainState_Mid1, e_mainSubState_AirB)
            [15] => AISetMainState(player, e_mainState_Late1, e_mainSubState_AirA)
            [16] => AISetMainState(player, state, e_mainSubState_Unset)
            [17] => AISetMainState(player, e_mainState_Mid1, e_mainSubState_AirA)
            [18] => AISetMainState(player, e_mainState_Mid1, e_mainSubState_AirB)
            [19] => AISetMainState(player, e_mainState_Late1, e_mainSubState_AirA)
        )

    [EndMeleeScript] => Array
        (
            [0] => void EndMeleeScript (int player) {
            [1] => EndMeleeScript (int player)
            [2] => EndMeleeScript(player)
            [3] => EndMeleeScript(player)
            [4] => EndMeleeScript(player)
        )

    [ErrorMeleeScript] => Array
        (
            [0] => void ErrorMeleeScript (int player, string error) {
            [1] => ErrorMeleeScript (int player, string error)
            [2] => ErrorMeleeScript(player, "Invalid mainState")
            [3] => ErrorMeleeScript(player, "Invalid Mid mainSubState")
            [4] => ErrorMeleeScript(player, "Invalid Late mainSubState")
            [5] => ErrorMeleeScript(player, "Invalid mainState")
            [6] => ErrorMeleeScript(player, "Invalid Mid mainSubState")
            [7] => ErrorMeleeScript(player, "Invalid Late mainSubState")
            [8] => ErrorMeleeScript(player, "Invalid mainState")
            [9] => ErrorMeleeScript(player, "Invalid Mid mainSubState")
            [10] => ErrorMeleeScript(player, "Invalid Late mainSubState")
        )

    [AISetGasPeons] => Array
        (
            [0] => void AISetGasPeons (int player, int count, string type, string from) {
            [1] => AISetGasPeons (int player, int count, string type, string from)
            [2] => AISetGasPeons(player, 3, c_ZU_Drone, c_ZB_Extractor )
            [3] => AISetGasPeons(player, 4, c_ZU_Drone, c_ZB_Extractor )
            [4] => AISetGasPeons(player, 4, c_ZU_Drone, c_ZB_Extractor )
            [5] => AISetGasPeons(player, 4, c_ZU_Drone, c_ZB_Extractor )
            [6] => AISetGasPeons(player, 4, c_ZU_Drone, c_ZB_Extractor )
        )

    [AISetStockAll] => Array
        (
            [0] => void AISetStockAll (int player, string source, int max, string what) {
            [1] => AISetStockAll (int player, string source, int max, string what)
        )

    [AIMergeUnit] => Array
        (
            [0] => void AIMergeUnit (int player, unit u, wave w) {
            [1] => AIMergeUnit (int player, unit u, wave w)
            [2] => AIMergeUnit(player, u, w)
        )

    [AINewUnitDefault] => Array
        (
            [0] => void AINewUnitDefault (int player, unit u) {
            [1] => AINewUnitDefault (int player, unit u)
            [2] => AINewUnitDefault(player, u)
            [3] => AINewUnitDefault(player, u)
            [4] => AINewUnitDefault(player, u)
        )

    [AICreateOrder] => Array
        (
            [0] => order AICreateOrder (int player, string abilLink, int abilIndex) {
            [1] => AICreateOrder (int player, string abilLink, int abilIndex)
            [2] => AICreateOrder(player, abilLink, 0)
            [3] => AICreateOrder(player, abilLink, abilIndex)
            [4] => AICreateOrder(player, c_AB_Rally, commandIndex)
            [5] => AICreateOrder(player, c_AB_Rally, commandIndex)
            [6] => AICreateOrder(player, c_AB_ForceField, 0)
            [7] => AICreateOrder(player, c_AB_Hallucinate, e_AB_Hallucinate_Zealot)
            [8] => AICreateOrder(player, c_AB_Hallucinate, e_AB_Hallucinate_Stalker)
            [9] => AICreateOrder(player, c_AB_Hallucinate, e_AB_Hallucinate_Immortal)
            [10] => AICreateOrder(player, c_AB_UpgradeToWarpGate, 0)
            [11] => AICreateOrder(player, c_AB_WPPhasingMode, 0)
            [12] => AICreateOrder(player, c_AB_WPTransportMode, 0)
            [13] => AICreateOrder(player, c_AB_250mmStrikeCannons, 0)
            [14] => AICreateOrder(player, c_AB_Snipe, 0)
            [15] => AICreateOrder(player, c_AB_D8Charge, 0)
            [16] => AICreateOrder(player, c_AB_Yamato, 0)
            [17] => AICreateOrder(player, c_AB_FighterMode, 0)
            [18] => AICreateOrder(player, c_AB_AssaultMode, 0)
            [19] => AICreateOrder(player, command, e_AB_TransportUnloadUnit)
            [20] => AICreateOrder(player, command, e_AB_TransportLoadUnit)
            [21] => AICreateOrder(player, command, e_AB_TransportUnloadAll)
            [22] => AICreateOrder(player, command, e_AB_TransportLoadAll)
            [23] => AICreateOrder(player, command, e_AB_TransportLoadUnit)
            [24] => AICreateOrder(player, c_AB_SupplyDrop, 0)
            [25] => AICreateOrder(player, c_AB_CalldownMULE, 0)
            [26] => AICreateOrder(player, c_AB_CalldownMULE, 0)
            [27] => AICreateOrder(player, c_AB_ScannerSweep, 0)
            [28] => AICreateOrder(player, c_AB_Transfusion, 0)
            [29] => AICreateOrder(player, c_AB_SpawnMutantLarva, 0)
            [30] => AICreateOrder(player, c_AB_QueenBuild, 1)
            [31] => AICreateOrder(player, c_AB_NeuralParasite, 0)
            [32] => AICreateOrder(player, c_AB_UnstableMutation, 0)
            [33] => AICreateOrder(player, c_AB_InfestedTerrans, 0)
            [34] => AICreateOrder(player, c_AB_SapStructure, 0)
            [35] => AICreateOrder(player, c_AB_FungalGrowth, 0)
            [36] => AICreateOrder(player, c_AB_AcidSpores, 0)
            [37] => AICreateOrder(player, c_AB_Changeling, 0)
            [38] => AICreateOrder(player, c_AB_Follow, 0)
            [39] => AICreateOrder(player, c_AB_Follow, 0)
        )

    [AITacticalOrder] => Array
        (
            [0] => order AITacticalOrder (int player, unit aiUnit, string abilLink) {
            [1] => AITacticalOrder (int player, unit aiUnit, string abilLink)
            [2] => AITacticalOrder(player, aiUnit, c_AB_ProbeBuff)
            [3] => AITacticalOrder(player, aiUnit, c_AB_ArgusLink)
            [4] => AITacticalOrder(player, aiUnit, c_AB_ShieldBattery)
            [5] => AITacticalOrder(player, aiUnit, c_AB_Vortex)
            [6] => AITacticalOrder(player, aiUnit, c_AB_TemporalRift)
            [7] => AITacticalOrder(player, aiUnit, c_AB_PhaseShift)
            [8] => AITacticalOrder(player, aiUnit, c_AB_SeekerMissile)
            [9] => AITacticalOrder(player, aiUnit, c_AB_AutoTurret)
        )

    [AITacticalOrderIndex] => Array
        (
            [0] => order AITacticalOrderIndex (int player, unit aiUnit, string abilLink, int abilIndex) {
            [1] => AITacticalOrderIndex (int player, unit aiUnit, string abilLink, int abilIndex)
        )

    [AICombatPriority] => Array
        (
            [0] => unit AICombatPriority (unit target, unitgroup attackers, unitgroup enemies) {
            [1] => AICombatPriority (unit target, unitgroup attackers, unitgroup enemies)
        )

    [AIDefendTown] => Array
        (
            [0] => void AIDefendTown (int player, wave w) {
            [1] => AIDefendTown (int player, wave w)
            [2] => AIDefendTown(player, w)
            [3] => AIDefendTown(player, w)
            [4] => AIDefendTown(player, w)
            [5] => AIDefendTown(player, w)
            [6] => AIDefendTown(player, w)
        )

    [AIWaveDefend] => Array
        (
            [0] => void AIWaveDefend (int player, wave w) {
            [1] => AIWaveDefend (int player, wave w)
            [2] => AIWaveDefend(player, w)
        )

    [AIWaveMain] => Array
        (
            [0] => void AIWaveMain (int player, wave w) {
            [1] => AIWaveMain (int player, wave w)
            [2] => AIWaveMain(player, w)
        )

    [AIWaveDivert] => Array
        (
            [0] => void AIWaveDivert (int player, wave w, int stateIndex) {
            [1] => AIWaveDivert (int player, wave w, int stateIndex)
            [2] => AIWaveDivert(player, w, e_divert1State)
            [3] => AIWaveDivert(player, w, e_divert2State)
        )

    [AIWaveHome] => Array
        (
            [0] => void AIWaveHome (int player, wave w) {
            [1] => AIWaveHome (int player, wave w)
            [2] => AIWaveHome(player, w)
        )

    [AIWaveClearObs] => Array
        (
            [0] => void AIWaveClearObs (int player, wave w) {
            [1] => AIWaveClearObs (int player, wave w)
            [2] => AIWaveClearObs(player, w)
        )

    [AINewDetector] => Array
        (
            [0] => void AINewDetector (int player, unit u, bool offerToScout) {
            [1] => AINewDetector (int player, unit u, bool offerToScout)
            [2] => AINewDetector(player, u, true)
            [3] => AINewDetector(player, u, false)
            [4] => AINewDetector(player, u, true)
        )

    [AIWaveNeedClearObsUnits] => Array
        (
            [0] => bool AIWaveNeedClearObsUnits (int player) {
            [1] => AIWaveNeedClearObsUnits (int player)
        )

    [AIWaveAttackDefend] => Array
        (
            [0] => static bool AIWaveAttackDefend (int player, wave w, int state) {
            [1] => AIWaveAttackDefend (int player, wave w, int state)
            [2] => AIWaveAttackDefend(player, c_nullWave, e_attackState_Attack)
        )

    [AIIsAttacking] => Array
        (
            [0] => bool AIIsAttacking (int player) {
            [1] => AIIsAttacking (int player)
        )

    [AINeedsDefending] => Array
        (
            [0] => bool AINeedsDefending (int player) {
            [1] => AINeedsDefending (int player)
        )

    [TestUseDropAttack] => Array
        (
            [0] => bool TestUseDropAttack (int player, wave w) {
            [1] => TestUseDropAttack (int player, wave w)
        )

    [AdvancedIdleAttackLogic] => Array
        (
            [0] => void AdvancedIdleAttackLogic (int player, wave w, int count) {
            [1] => AdvancedIdleAttackLogic (int player, wave w, int count)
            [2] => AdvancedIdleAttackLogic(player, w, count)
        )

    [AIWaveAttack] => Array
        (
            [0] => void AIWaveAttack (int player, wave w) {
            [1] => AIWaveAttack (int player, wave w)
            [2] => AIWaveAttack(player, w)
        )

    [AIWaveThinkDefault] => Array
        (
            [0] => void AIWaveThinkDefault (int player, wave w, int type) {
            [1] => AIWaveThinkDefault (int player, wave w, int type)
            [2] => AIWaveThinkDefault(player, w, type)
            [3] => AIWaveThinkDefault(player, w, type)
            [4] => AIWaveThinkDefault(player, w, type)
        )

    [AIMainStateSelect] => Array
        (
            [0] => int AIMainStateSelect (int player, int roll, int range, int state, int subState) {
            [1] => AIMainStateSelect (int player, int roll, int range, int state, int subState)
        )

    [AIMergeWait] => Array
        (
            [0] => void AIMergeWait (int player, int count, string what, int size, int state, int subState) {
            [1] => AIMergeWait (int player, int count, string what, int size, int state, int subState)
        )

    [AIStockAndWait] => Array
        (
            [0] => bool AIStockAndWait (int player, int count, string type) {
            [1] => AIStockAndWait (int player, int count, string type)
        )

    [AISuspectDetectionDanger] => Array
        (
            [0] => bool AISuspectDetectionDanger (int player) {
            [1] => AISuspectDetectionDanger (int player)
        )

    [AITownIsFull] => Array
        (
            [0] => void AITownIsFull (int player, int town) {
            [1] => AITownIsFull (int player, int town)
        )

    [AITownWasLost] => Array
        (
            [0] => void AITownWasLost (int player, int town) {
            [1] => AITownWasLost (int player, int town)
        )

    [AIMineralsTotal] => Array
        (
            [0] => int AIMineralsTotal (int player) {
            [1] => AIMineralsTotal (int player)
        )

    [AIWavePrimaryCount] => Array
        (
            [0] => int AIWavePrimaryCount (int player) {
            [1] => AIWavePrimaryCount (int player)
        )

    [AIDiffEnum] => Array
        (
            [0] => int AIDiffEnum (int player, int base) {
            [1] => AIDiffEnum (int player, int base)
            [2] => AIDiffEnum(player, e_mainState_OpenGnd0)
            [3] => AIDiffEnum(player, e_mainState_OpenAir0)
            [4] => AIDiffEnum(player, e_mainState_OpenGnd0)
            [5] => AIDiffEnum(player, e_mainState_OpenAir0)
            [6] => AIDiffEnum(player, e_mainState_OpenGnd0)
            [7] => AIDiffEnum(player, e_mainState_OpenAir0)
        )

    [AIDiffThreshold] => Array
        (
            [0] => int AIDiffThreshold (int player, int defaultValue, int threshold, int alternateValue) {
            [1] => AIDiffThreshold (int player, int defaultValue, int threshold, int alternateValue)
            [2] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [3] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [4] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [5] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [6] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [7] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [8] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [9] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [10] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [11] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [12] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [13] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [14] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [15] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [16] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [17] => AIDiffThreshold(player, c_combatDisable, group1, c_combatEnable))
            [18] => AIDiffThreshold(player, c_combatDisable, group2, c_combatEnable))
            [19] => AIDiffThreshold(player, c_combatDisable, group2, c_combatEnable))
            [20] => AIDiffThreshold(player, c_combatDisable, group2, c_combatEnable))
            [21] => AIDiffThreshold(player, c_combatDisable, group2, c_combatEnable))
            [22] => AIDiffThreshold(player, c_combatDisable, group2, c_combatEnable))
        )

    [AIAddDetectionDangerUnits] => Array
        (
            [0] => void AIAddDetectionDangerUnits (int player) {
            [1] => AIAddDetectionDangerUnits (int player)
            [2] => AIAddDetectionDangerUnits(player)
        )

    [AIMeleeStart] => Array
        (
            [0] => void AIMeleeStart (int player) {
            [1] => AIMeleeStart (int player)
        )

    [StringToText] => Array
        (
            [0] => StringToText(s), true)
            [1] => StringToText("[")
            [2] => StringToText("] ")
            [3] => StringToText(s)
            [4] => StringToText(msg))
            [5] => StringToText(msg))
        )

    [PlayerColorName] => Array
        (
            [0] => PlayerColorName(PlayerGetColorIndex(player, false))
        )

    [IntToString] => Array
        (
            [0] => IntToString(value))
            [1] => IntToString(value2))
            [2] => IntToString(value1)
            [3] => IntToString(value2)
            [4] => IntToString(value3)
            [5] => IntToString(state)
            [6] => IntToString(state)
            [7] => IntToString(AIWaveUnitCount(w))
            [8] => IntToString(AIWaveEvalRatio(w, c_evalRange))
            [9] => IntToString(AIWaveGetTimeInCombat(w))
            [10] => IntToString(AIWaveGetTimeSinceCombat(w))
            [11] => IntToString(state)
            [12] => IntToString(oldSubState) + ")
            [13] => IntToString(mainSubState) + ")
            [14] => IntToString(player)
            [15] => IntToString(player)
            [16] => IntToString(state)
            [17] => IntToString(state)
            [18] => IntToString(state)
        )

    [TriggerAddEventChatMessage] => Array
        (
            [0] => TriggerAddEventChatMessage(t, 1, "waves", false)
        )

    [PlayerRace] => Array
        (
            [0] => PlayerRace(player)
            [1] => PlayerRace(player)
            [2] => PlayerRace(player)
            [3] => PlayerRace(player)
        )

    [AbilityCommand] => Array
        (
            [0] => AbilityCommand(abilLink, abilIndex)
        )

    [Order] => Array
        (
            [0] => Order(cmd)
        )

    [OrderSetPlayer] => Array
        (
            [0] => OrderSetPlayer(ord, player)
        )

    [UnitGetPropertyInt] => Array
        (
            [0] => UnitGetPropertyInt(obstruction, c_unitPropLifePercent, c_unitPropCurrent)
            [1] => UnitGetPropertyInt(enemyUnit, c_unitPropLifePercent, c_unitPropCurrent)
            [2] => UnitGetPropertyInt(friendlyUnit, c_unitPropLifePercent, c_unitPropCurrent)
            [3] => UnitGetPropertyInt(aiUnit, c_unitPropEnergy, c_unitPropCurrent)
            [4] => UnitGetPropertyInt(aiUnit, c_unitPropVitalityPercent, c_unitPropCurrent)
            [5] => UnitGetPropertyInt(aiUnit, c_unitPropEnergy, c_unitPropCurrent)
            [6] => UnitGetPropertyInt(aiUnit, c_unitPropEnergy, c_unitPropCurrent)
        )

    [minutes] => Array
        (
            [0] => minutes (leaves the AI too open to being rushed)
        )

    [successful] => Array
        (
            [0] => successful (we killed a good bit more than we lost)
        )

    [even] => Array
        (
            [0] => even (we did fight and we killed about as much as we lost)
        )

    [failure] => Array
        (
            [0] => failure (we either retreated right away or lost more then we killed)
        )

    [IntToFixed] => Array
        (
            [0] => IntToFixed(AILastAttackStartEval(w)) * 1.33)
        )

    [town] => Array
        (
            [0] => town (or all buildings)
        )

    [PlayerDifficulty] => Array
        (
            [0] => PlayerDifficulty(player)
            [1] => PlayerDifficulty(player)
            [2] => PlayerDifficulty(player)
            [3] => PlayerDifficulty(player)
        )

    [DifficultyAPM] => Array
        (
            [0] => DifficultyAPM(PlayerDifficulty(player)))
        )

    [PlayerStartLocation] => Array
        (
            [0] => PlayerStartLocation(player))
        )

    [AISpecifiedMakers] => Array
        (
            [0] => AISpecifiedMakers()
            [1] => void AISpecifiedMakers () {
            [2] => AISpecifiedMakers ()
        )

    [AIGenericStock] => Array
        (
            [0] => static void AIGenericStock (int player, int state1, int state2) {
            [1] => AIGenericStock (int player, int state1, int state2)
            [2] => AIGenericStock(player, nextState, e_mainSubState_GndA)
            [3] => AIGenericStock(player, nextState, e_mainSubState_GndB)
            [4] => AIGenericStock(player, nextState, e_mainSubState_GndA)
        )

    [AIEnableStockOpen] => Array
        (
            [0] => static bool AIEnableStockOpen (int player, string peonType, int time, bool veryEasy, int nextState) {
            [1] => AIEnableStockOpen (int player, string peonType, int time, bool veryEasy, int nextState)
            [2] => AIEnableStockOpen(player, peonType, 480, true, e_mainState_Mid0)
            [3] => AIEnableStockOpen(player, peonType, 450, false, e_mainState_Mid1)
            [4] => AIEnableStockOpen(player, peonType, 420, false, e_mainState_Mid2)
            [5] => AIEnableStockOpen(player, peonType, 390, false, e_mainState_Mid3)
        )

    [AIEnableVeryEasyStockOpen] => Array
        (
            [0] => bool AIEnableVeryEasyStockOpen (int player, string peonType) {
            [1] => AIEnableVeryEasyStockOpen (int player, string peonType)
        )

    [AIEnableEasyStockOpen] => Array
        (
            [0] => bool AIEnableEasyStockOpen (int player, string peonType) {
            [1] => AIEnableEasyStockOpen (int player, string peonType)
        )

    [AIEnableMediumStockOpen] => Array
        (
            [0] => bool AIEnableMediumStockOpen (int player, string peonType) {
            [1] => AIEnableMediumStockOpen (int player, string peonType)
        )

    [AIEnableHardStockOpen] => Array
        (
            [0] => bool AIEnableHardStockOpen (int player, string peonType) {
            [1] => AIEnableHardStockOpen (int player, string peonType)
        )

    [AIVeryEasyHarvest] => Array
        (
            [0] => void AIVeryEasyHarvest (int player, string peonType, int count) {
            [1] => AIVeryEasyHarvest (int player, string peonType, int count)
            [2] => AIVeryEasyHarvest(player, peonType, count)
            [3] => AIVeryEasyHarvest(player, peonType, count)
            [4] => AIVeryEasyHarvest(player, peonType, count)
        )

    [AIEnableStockMidA] => Array
        (
            [0] => static bool AIEnableStockMidA (int player, string peonType, int count, bool veryEasy, int time, int nextState) {
            [1] => AIEnableStockMidA (int player, string peonType, int count, bool veryEasy, int time, int nextState)
            [2] => AIEnableStockMidA(player, peonType, count, true, 840, e_mainState_Mid0)
            [3] => AIEnableStockMidA(player, "", 0, false, 790, e_mainState_Mid1)
            [4] => AIEnableStockMidA(player, "", 0, false, 740, e_mainState_Mid2)
            [5] => AIEnableStockMidA(player, "", 0, false, 690, e_mainState_Mid3)
        )

    [AIEnableVeryEasyStockMidA] => Array
        (
            [0] => bool AIEnableVeryEasyStockMidA (int player, string peonType, int count) {
            [1] => AIEnableVeryEasyStockMidA (int player, string peonType, int count)
        )

    [AIEnableEasyStockMidA] => Array
        (
            [0] => bool AIEnableEasyStockMidA (int player) {
            [1] => AIEnableEasyStockMidA (int player)
        )

    [AIEnableMediumStockMidA] => Array
        (
            [0] => bool AIEnableMediumStockMidA (int player) {
            [1] => AIEnableMediumStockMidA (int player)
        )

    [AIEnableHardStockMidA] => Array
        (
            [0] => bool AIEnableHardStockMidA (int player) {
            [1] => AIEnableHardStockMidA (int player)
        )

    [AIEnableStockMidB] => Array
        (
            [0] => bool AIEnableStockMidB (int player, string peonType, int count, bool veryEasy, int time, int nextState) {
            [1] => AIEnableStockMidB (int player, string peonType, int count, bool veryEasy, int time, int nextState)
            [2] => AIEnableStockMidB(player, peonType, count, true, 1200, e_mainState_Late0)
            [3] => AIEnableStockMidB(player, peonType, count, false, 1130, e_mainState_Late1)
            [4] => AIEnableStockMidB(player, peonType, count, false, 1060, e_mainState_Late2)
            [5] => AIEnableStockMidB(player, peonType, count, false, 990, e_mainState_Late3)
        )

    [AIEnableVeryEasyStockMidB] => Array
        (
            [0] => bool AIEnableVeryEasyStockMidB (int player, string peonType, int count) {
            [1] => AIEnableVeryEasyStockMidB (int player, string peonType, int count)
        )

    [AIEnableEasyStockMidB] => Array
        (
            [0] => bool AIEnableEasyStockMidB (int player, string peonType, int count) {
            [1] => AIEnableEasyStockMidB (int player, string peonType, int count)
        )

    [AIEnableMediumStockMidB] => Array
        (
            [0] => bool AIEnableMediumStockMidB (int player, string peonType, int count) {
            [1] => AIEnableMediumStockMidB (int player, string peonType, int count)
        )

    [AIEnableHardStockMidB] => Array
        (
            [0] => bool AIEnableHardStockMidB (int player, string peonType, int count) {
            [1] => AIEnableHardStockMidB (int player, string peonType, int count)
        )

    [AIEnableStockLate] => Array
        (
            [0] => static bool AIEnableStockLate (int player, string peonType, int count, int time) {
            [1] => AIEnableStockLate (int player, string peonType, int count, int time)
            [2] => AIEnableStockLate(player, peonType, count, 300)
            [3] => AIEnableStockLate(player, peonType, count, 280)
            [4] => AIEnableStockLate(player, peonType, count, 260)
            [5] => AIEnableStockLate(player, peonType, count, 240)
        )

    [AIEnableVeryEasyStockLate] => Array
        (
            [0] => bool AIEnableVeryEasyStockLate (int player, string peonType, int count) {
            [1] => AIEnableVeryEasyStockLate (int player, string peonType, int count)
        )

    [AIEnableEasyStockLate] => Array
        (
            [0] => bool AIEnableEasyStockLate (int player, string peonType, int count) {
            [1] => AIEnableEasyStockLate (int player, string peonType, int count)
        )

    [AIEnableMediumStockLate] => Array
        (
            [0] => bool AIEnableMediumStockLate (int player, string peonType, int count) {
            [1] => AIEnableMediumStockLate (int player, string peonType, int count)
        )

    [AIEnableHardStockLate] => Array
        (
            [0] => bool AIEnableHardStockLate (int player, string peonType, int count) {
            [1] => AIEnableHardStockLate (int player, string peonType, int count)
        )

    [AIPickFrom2] => Array
        (
            [0] => string AIPickFrom2 (string a, string b) {
            [1] => AIPickFrom2 (string a, string b)
            [2] => AIPickFrom2(c_PU_Zealot, c_PU_Disruptor), 1)
            [3] => AIPickFrom2(c_PU_Zealot, c_PU_Disruptor), 1)
            [4] => AIPickFrom2(c_PU_Zealot, c_PU_Stalker), 1)
            [5] => AIPickFrom2(c_PU_Zealot, c_PU_Disruptor), 1)
            [6] => AIPickFrom2(c_TU_Ghost, c_TU_SiegeTank), 1)
            [7] => AIPickFrom2(c_TU_Hellion, c_TU_Marauder), 1)
            [8] => AIPickFrom2(c_TU_Hellion, c_TU_Marine), 1)
            [9] => AIPickFrom2(c_TU_Marauder, c_TU_Marine), 1)
            [10] => AIPickFrom2(c_TU_SiegeTank, c_TU_Ghost), 1)
            [11] => AIPickFrom2(c_TU_SiegeTank, c_TU_Ghost), 1)
            [12] => AIPickFrom2(c_TU_Hellion, c_TU_Marauder), 1)
            [13] => AIPickFrom2(c_TU_Hellion, c_TU_Marauder), 1)
            [14] => AIPickFrom2(c_ZU_Zergling, c_ZU_Roach), 1)
            [15] => AIPickFrom2(c_ZU_Hydralisk, c_ZU_Roach), 1)
            [16] => AIPickFrom2(c_ZU_Zergling, c_ZU_Roach), 1)
        )

    [AIPickFrom3] => Array
        (
            [0] => string AIPickFrom3 (string a, string b, string c) {
            [1] => AIPickFrom3 (string a, string b, string c)
        )

    [AISetStockUserData] => Array
        (
            [0] => void AISetStockUserData (int player) {
            [1] => AISetStockUserData (int player)
            [2] => AISetStockUserData(player)
            [3] => AISetStockUserData(player)
            [4] => AISetStockUserData(player)
            [5] => AISetStockUserData(player)
            [6] => AISetStockUserData(player)
            [7] => AISetStockUserData(player)
            [8] => AISetStockUserData(player)
            [9] => AISetStockUserData(player)
            [10] => AISetStockUserData(player)
        )

    [TerranTechUp] => Array
        (
            [0] => void TerranTechUp (int player, int tier) {
            [1] => TerranTechUp (int player, int tier)
            [2] => TerranTechUp(player, 1)
            [3] => TerranTechUp(player, 2)
            [4] => TerranTechUp(player, 3)
            [5] => TerranTechUp(player, 4)
        )

    [ZergTechUp] => Array
        (
            [0] => void ZergTechUp (int player, int tier) {
            [1] => ZergTechUp (int player, int tier)
            [2] => ZergTechUp(player, 1)
            [3] => ZergTechUp(player, 2)
            [4] => ZergTechUp(player, 3)
            [5] => ZergTechUp(player, 4)
        )

    [ProtossTechUp] => Array
        (
            [0] => void ProtossTechUp (int player, int tier) {
            [1] => ProtossTechUp (int player, int tier)
            [2] => ProtossTechUp(player, 1)
            [3] => ProtossTechUp(player, 2)
            [4] => ProtossTechUp(player, 3)
            [5] => ProtossTechUp(player, 4)
        )

    [seconds] => Array
        (
            [0] => seconds (840)
            [1] => seconds (1200)
            [2] => seconds (790)
            [3] => seconds (1130)
            [4] => seconds (740)
            [5] => seconds (1060)
            [6] => seconds (690)
            [7] => seconds (990)
        )

    [RandomInt] => Array
        (
            [0] => RandomInt(1,2)
            [1] => RandomInt(1,3)
            [2] => RandomInt(0,2)
            [3] => RandomInt(2,6)
            [4] => RandomInt(2,3)
        )

    [while] => 
    [InitCounters] => Array
        (
            [0] => static void InitCounters (int player) {
            [1] => InitCounters (int player)
            [2] => InitCounters(player)
            [3] => static void InitCounters (int player) {
            [4] => InitCounters (int player)
            [5] => InitCounters(player)
            [6] => static void InitCounters (int player) {
            [7] => InitCounters (int player)
            [8] => InitCounters(player)
        )

    [ProtossSubStateName] => Array
        (
            [0] => string ProtossSubStateName (int state) {
            [1] => ProtossSubStateName (int state)
            [2] => ProtossSubStateName(AIState(player, e_mainSubState))
        )

    [DebugCallbackProt] => Array
        (
            [0] => void DebugCallbackProt (int player) {
            [1] => DebugCallbackProt (int player)
        )

    [AINewUnitProt] => Array
        (
            [0] => void AINewUnitProt (int player, unit u) {
            [1] => AINewUnitProt (int player, unit u)
        )

    [AIGetScoutProt] => Array
        (
            [0] => unit AIGetScoutProt (int player, int index, unit prev) {
            [1] => AIGetScoutProt (int player, int index, unit prev)
        )

    [AIEarlyDefScoutProt] => Array
        (
            [0] => unit AIEarlyDefScoutProt (int player, unit prev) {
            [1] => AIEarlyDefScoutProt (int player, unit prev)
        )

    [AIWaveThinkProt] => Array
        (
            [0] => void AIWaveThinkProt (int player, wave w, int type) {
            [1] => AIWaveThinkProt (int player, wave w, int type)
        )

    [ProtossInit] => Array
        (
            [0] => static void ProtossInit (int player) {
            [1] => ProtossInit (int player)
            [2] => ProtossInit(player)
        )

    [AIMeleeProt] => Array
        (
            [0] => void AIMeleeProt (int player) {    
            [1] => AIMeleeProt (int player)
        )

    [UnitGetType] => Array
        (
            [0] => UnitGetType(u)
            [1] => UnitGetType(aiUnit))
            [2] => UnitGetType(u)
            [3] => UnitGetType(u)
        )

    [ProtossOpenGnd0] => Array
        (
            [0] => ProtossOpenGnd0(player)
            [1] => void ProtossOpenGnd0 (int player) {
            [2] => ProtossOpenGnd0 (int player)
        )

    [ProtossOpenGnd1] => Array
        (
            [0] => ProtossOpenGnd1(player)
        )

    [ProtossOpenGnd2] => Array
        (
            [0] => ProtossOpenGnd2(player)
        )

    [ProtossOpenGnd3] => Array
        (
            [0] => ProtossOpenGnd3(player)
        )

    [ProtossOpenGnd4] => Array
        (
            [0] => ProtossOpenGnd4(player)
        )

    [ProtossOpenGnd5] => Array
        (
            [0] => ProtossOpenGnd5(player)
        )

    [ProtossOpenAir0] => Array
        (
            [0] => ProtossOpenAir0(player)
            [1] => void ProtossOpenAir0 (int player) {
            [2] => ProtossOpenAir0 (int player)
        )

    [ProtossOpenAir1] => Array
        (
            [0] => ProtossOpenAir1(player)
        )

    [ProtossOpenAir2] => Array
        (
            [0] => ProtossOpenAir2(player)
        )

    [ProtossOpenAir3] => Array
        (
            [0] => ProtossOpenAir3(player)
        )

    [ProtossOpenAir4] => Array
        (
            [0] => ProtossOpenAir4(player)
        )

    [ProtossOpenAir5] => Array
        (
            [0] => ProtossOpenAir5(player)
        )

    [ProtossMid0] => Array
        (
            [0] => ProtossMid0(player)
            [1] => void ProtossMid0 (int player) {
            [2] => ProtossMid0 (int player)
        )

    [ProtossMid1] => Array
        (
            [0] => ProtossMid1(player)
        )

    [ProtossMid2] => Array
        (
            [0] => ProtossMid2(player)
        )

    [ProtossMid3] => Array
        (
            [0] => ProtossMid3(player)
        )

    [ProtossMid4] => Array
        (
            [0] => ProtossMid4(player)
        )

    [ProtossMid5] => Array
        (
            [0] => ProtossMid5(player)
        )

    [ProtossLate0] => Array
        (
            [0] => ProtossLate0(player)
            [1] => void ProtossLate0 (int player) {
            [2] => ProtossLate0 (int player)
        )

    [ProtossLate1] => Array
        (
            [0] => ProtossLate1(player)
        )

    [ProtossLate2] => Array
        (
            [0] => ProtossLate2(player)
        )

    [ProtossLate3] => Array
        (
            [0] => ProtossLate3(player)
        )

    [ProtossLate4] => Array
        (
            [0] => ProtossLate4(player)
        )

    [ProtossLate5] => Array
        (
            [0] => ProtossLate5(player)
        )

    [LateGround] => Array
        (
            [0] => static void LateGround (int player);
            [1] => static void LateGround (int player) {
            [2] => LateGround (int player)
            [3] => LateGround(player)
            [4] => LateGround (int player)
            [5] => LateGround(player)
            [6] => static void LateGround (int player);
            [7] => static void LateGround (int player) {
            [8] => LateGround (int player)
            [9] => LateGround(player)
            [10] => LateGround (int player)
            [11] => LateGround(player)
            [12] => static void LateGround (int player);
            [13] => static void LateGround (int player) {
            [14] => LateGround (int player)
            [15] => LateGround(player)
            [16] => LateGround (int player)
            [17] => LateGround(player)
        )

    [ProtossMidGndA] => Array
        (
            [0] => static void ProtossMidGndA (int player) {
            [1] => ProtossMidGndA (int player)
            [2] => ProtossMidGndA(player)
        )

    [ProtossMidGndB] => Array
        (
            [0] => static void ProtossMidGndB (int player) {
            [1] => ProtossMidGndB (int player)
            [2] => ProtossMidGndB(player)
        )

    [LateGnd] => Array
        (
            [0] => static void LateGnd (int player) {
            [1] => LateGnd (int player)
            [2] => LateGnd(player)
            [3] => static void LateGnd (int player) {
            [4] => LateGnd (int player)
            [5] => LateGnd(player)
            [6] => static void LateGnd (int player) {
            [7] => LateGnd (int player)
            [8] => LateGnd(player)
        )

    [ProtossMidAirA] => Array
        (
            [0] => static void ProtossMidAirA (int player) {
            [1] => ProtossMidAirA (int player)
            [2] => ProtossMidAirA(player)
        )

    [ProtossMidAirB] => Array
        (
            [0] => static void ProtossMidAirB (int player) {
            [1] => ProtossMidAirB (int player)
            [2] => ProtossMidAirB(player)
        )

    [LateAir] => Array
        (
            [0] => static void LateAir (int player) {
            [1] => LateAir (int player)
            [2] => LateAir(player)
            [3] => static void LateAir (int player) {
            [4] => LateAir (int player)
            [5] => LateAir(player)
            [6] => static void LateAir (int player) {
            [7] => LateAir (int player)
            [8] => LateAir(player)
        )

    [AIGetObjectType] => Array
        (
            [0] => int AIGetObjectType (int player, string objType) {
            [1] => AIGetObjectType (int player, string objType)
        )

    [AIGetMaker] => Array
        (
            [0] => string AIGetMaker (int player, string objType) {
            [1] => AIGetMaker (int player, string objType)
        )

    [AIGetFirstMissingReq] => Array
        (
            [0] => string AIGetFirstMissingReq (int player, string objType) {
            [1] => AIGetFirstMissingReq (int player, string objType)
        )

    [AIGetFirstUnfinishedReq] => Array
        (
            [0] => string AIGetFirstUnfinishedReq (int player, string objType) {
            [1] => AIGetFirstUnfinishedReq (int player, string objType)
        )

    [AIGetFullMakeTime] => Array
        (
            [0] => int AIGetFullMakeTime (int player, string objType) {
            [1] => AIGetFullMakeTime (int player, string objType)
        )

    [AISetNukeConstants] => Array
        (
            [0] => void AISetNukeConstants (int player);
            [1] => AISetNukeConstants (int player)
            [2] => void AISetNukeConstants (int player) {
            [3] => AISetNukeConstants (int player)
        )

    [AIFilter] => Array
        (
            [0] => native aifilter AIFilter (int player);
            [1] => AIFilter(owner)
            [2] => AIFilter(player)
            [3] => AIFilter(player)
            [4] => AIFilter(player)
            [5] => AIFilter(player)
            [6] => AIFilter(player)
            [7] => AIFilter(player)
            [8] => AIFilter(player)
            [9] => AIFilter(player)
            [10] => AIFilter(player)
            [11] => AIFilter(player)
            [12] => AIFilter(player)
            [13] => AIFilter(player)
            [14] => AIFilter(player)
            [15] => AIFilter(player)
            [16] => AIFilter(player)
            [17] => AIFilter(player)
            [18] => AIFilter(player)
            [19] => AIFilter(player)
            [20] => AIFilter(player)
            [21] => AIFilter(player)
            [22] => AIFilter(player)
            [23] => AIFilter(player)
        )

    [AISetFilterAlliance] => Array
        (
            [0] => native void AISetFilterAlliance (aifilter filter, int want);
            [1] => AISetFilterAlliance(filter, c_playerGroupAlly)
            [2] => AISetFilterAlliance(allyFilter, c_playerGroupAlly)
            [3] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [4] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [5] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [6] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [7] => AISetFilterAlliance(filter, c_playerGroupAlly)
            [8] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [9] => AISetFilterAlliance(filter, c_playerGroupAlly)
            [10] => AISetFilterAlliance(groundAirFilter, c_playerGroupEnemy)
            [11] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [12] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [13] => AISetFilterAlliance(filter, c_playerGroupEnemy)
            [14] => AISetFilterAlliance(unitFilter, c_playerGroupEnemy)
            [15] => AISetFilterAlliance(buildingFilter, c_playerGroupEnemy)
        )

    [AISetFilterMarker] => Array
        (
            [0] => native void AISetFilterMarker (aifilter filter, int min, int max, marker m);
            [1] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [2] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [3] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [4] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [5] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [6] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [7] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, gameMark)
            [8] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [9] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark)
            [10] => AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, gameMark)
        )

    [AISetFilterSelf] => Array
        (
            [0] => native void AISetFilterSelf (aifilter filter, unit exclude);
            [1] => AISetFilterSelf(filter, aiUnit)
        )

    [AISetFilterBits] => Array
        (
            [0] => native void AISetFilterBits (aifilter filter, unitfilter uf);
        )

    [AISetFilterRange] => Array
        (
            [0] => native void AISetFilterRange (aifilter filter, unit center, fixed radius);
            [1] => AISetFilterRange(buildingFilter, aiUnit, distanceToEnemy)
        )

    [AISetFilterLife] => Array
        (
            [0] => native void AISetFilterLife (aifilter filter, fixed min, fixed max);
            [1] => AISetFilterLife(filter, c_noMin, c_noMax)
            [2] => AISetFilterLife(filter, minVitality, c_noMax)
            [3] => AISetFilterLife(filter, damage*c_minDamageFraction, c_noMax)
            [4] => AISetFilterLife(filter, damage*c_minDamageFraction, c_noMax)
            [5] => AISetFilterLife(filter, c_neuralParasiteMinVitality, c_noMax)
            [6] => AISetFilterLife(filter, c_noMin, c_noMax)
            [7] => AISetFilterLife(filter, c_noMin, c_noMax)
        )

    [AISetFilterLifeLost] => Array
        (
            [0] => native void AISetFilterLifeLost (aifilter filter, fixed min, fixed max);
        )

    [AISetFilterLifePercent] => Array
        (
            [0] => native void AISetFilterLifePercent (aifilter filter, fixed min, fixed max);
            [1] => AISetFilterLifePercent(filter, c_noMin, c_noMax)
        )

    [AISetFilterLifeSortReference] => Array
        (
            [0] => native void AISetFilterLifeSortReference (aifilter filter, fixed value, fixed distance);
            [1] => AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage)
            [2] => AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage)
            [3] => AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage)
            [4] => AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage)
        )

    [AISetFilterLifeMod] => Array
        (
            [0] => native void AISetFilterLifeMod (aifilter filter, int type, fixed mod);
            [1] => AISetFilterLifeMod(filter, c_unitAttributeArmored, bonus)
        )

    [AISetFilterLifePerMarker] => Array
        (
            [0] => native void AISetFilterLifePerMarker (aifilter filter, fixed each, marker m);
            [1] => AISetFilterLifePerMarker(filter, damage, mark)
            [2] => AISetFilterLifePerMarker(filter, damage, mark)
            [3] => AISetFilterLifePerMarker(buildingFilter, damage, mark)
        )

    [AISetFilterShields] => Array
        (
            [0] => native void AISetFilterShields (aifilter filter, fixed min, fixed max);
            [1] => AISetFilterShields(allyFilter, c_noMin, c_shieldBatteryMaxShields)
        )

    [AISetFilterPlane] => Array
        (
            [0] => native void AISetFilterPlane (aifilter filter, int plane);
            [1] => AISetFilterPlane(groundAirFilter, c_planeGround)
            [2] => AISetFilterPlane(groundAirFilter, c_planeAir)
        )

    [AISetFilterCanAttackEnemy] => Array
        (
            [0] => native void AISetFilterCanAttackEnemy (aifilter filter, int enemyGroundCount, int enemyAirCount);
            [1] => AISetFilterCanAttackEnemy(filter, enemyGroundCount, enemyAirCount)
        )

    [AISetFilterCanAttackAlly] => Array
        (
            [0] => native void AISetFilterCanAttackAlly (aifilter filter, bool groundAllies, bool airAllies);
            [1] => AISetFilterCanAttackAlly(filter, c_groundAlliesNearby, airAllies)
            [2] => AISetFilterCanAttackAlly(filter, c_groundAlliesNearby, airAllies)
            [3] => AISetFilterCanAttackAlly(buildingFilter, c_groundAlliesNearby, airAllies)
            [4] => AISetFilterCanAttackAlly(filter, groundAllies, c_airAlliesNearby)
            [5] => AISetFilterCanAttackAlly(filter, groundEnemies, airEnemies)
            [6] => AISetFilterCanAttackAlly(filter, groundEnemies, airEnemies)
        )

    [AISetFilterBehaviorCount] => Array
        (
            [0] => native void AISetFilterBehaviorCount (aifilter filter, int minBehavior, int maxBehavior, string behaviorType);
            [1] => AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_ProbeBuff)
            [2] => AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_TemporalBuff)
            [3] => AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_SupplyDrop)
            [4] => AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_UnstableMutation)
            [5] => AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_FungalGrowth)
        )

    [AIGetFilterGroup] => Array
        (
            [0] => native unitgroup AIGetFilterGroup (aifilter filter, unitgroup group);
            [1] => AIGetFilterGroup(filter, oldGroup)
            [2] => AIGetFilterGroup(filter, probeGroup)
            [3] => AIGetFilterGroup(filter, group)
            [4] => AIGetFilterGroup(allyFilter, group)
            [5] => AIGetFilterGroup(filter, scanGroup)
            [6] => AIGetFilterGroup(filter, scanGroup)
            [7] => AIGetFilterGroup(filter, scanGroup)
            [8] => AIGetFilterGroup(filter, scanGroup)
            [9] => AIGetFilterGroup(filter, scanGroup)
            [10] => AIGetFilterGroup(filter, scanGroup)
            [11] => AIGetFilterGroup (filter, scanGroup)
            [12] => AIGetFilterGroup(filter, scanGroup)
            [13] => AIGetFilterGroup(filter, scanGroup)
            [14] => AIGetFilterGroup(filter, group)
            [15] => AIGetFilterGroup(filter, scanGroup)
            [16] => AIGetFilterGroup(filter, scanGroup)
            [17] => AIGetFilterGroup(filter, scanGroup)
            [18] => AIGetFilterGroup(filter, scanGroup)
            [19] => AIGetFilterGroup(unitFilter, scanGroup)
            [20] => AIGetFilterGroup(buildingFilter, scanGroup)
            [21] => AIGetFilterGroup(filter, scanGroup)
            [22] => AIGetFilterGroup(filter, scanGroup)
            [23] => AIGetFilterGroup(filter, allyGroup)
            [24] => AIGetFilterGroup(filter, allyGroup)
        )

    [AIFilterCasters] => Array
        (
            [0] => native unitgroup AIFilterCasters (unitgroup group);
            [1] => AIFilterCasters(enemyCasters)
        )

    [AIFilterPathable] => Array
        (
            [0] => native unitgroup AIFilterPathable (unitgroup group, point inStart);
        )

    [AIFilterGathering] => Array
        (
            [0] => native unitgroup AIFilterGathering (unitgroup group, int inResource, fixed distance);
            [1] => AIFilterGathering(probeGroup, c_resourceTypeMinerals, c_maxDistanceToMinerals)
            [2] => AIFilterGathering(scanGroup, c_resourceTypeMinerals, c_maxDistanceToMinerals)
        )

    [AIUnitGroupStrength] => Array
        (
            [0] => native fixed AIUnitGroupStrength (unitgroup inGroup);
        )

    [AIAllyEnemyRatio] => Array
        (
            [0] => native fixed AIAllyEnemyRatio (int player, point p, unitfilter filter, fixed range, fixed minThreshold);
        )

    [AIIsFollowingUnit] => Array
        (
            [0] => native bool AIIsFollowingUnit (unit aiUnit, string unitType);
        )

    [AIGetPlayerGroup] => Array
        (
            [0] => native int AIGetPlayerGroup (unitgroup inGroup);
            [1] => AIGetPlayerGroup(scanGroup)
            [2] => AIGetPlayerGroup(enemyGroup)
        )

    [AINearbyPlaneTest] => Array
        (
            [0] => native bool AINearbyPlaneTest (point p, int player, fixed range, int inPlane, int inAlliance);
            [1] => AINearbyPlaneTest(UnitGetPosition(aiUnit)
            [2] => AINearbyPlaneTest(position, player, range, c_planeGround, c_unitAllianceEnemy)
            [3] => AINearbyPlaneTest(position, player, range, c_planeAir, c_unitAllianceEnemy)
        )

    [AIAbilityStr] => Array
        (
            [0] => string AIAbilityStr (int player, string entry, string field) {
            [1] => AIAbilityStr (int player, string entry, string field)
        )

    [AIEffectStr] => Array
        (
            [0] => string AIEffectStr (int player, string entry, string field) {
            [1] => AIEffectStr (int player, string entry, string field)
        )

    [AIWeaponStr] => Array
        (
            [0] => string AIWeaponStr (int player, string entry, string field) {
            [1] => AIWeaponStr (int player, string entry, string field)
        )

    [AIUnitStr] => Array
        (
            [0] => string AIUnitStr (int player, string entry, string field) {
            [1] => AIUnitStr (int player, string entry, string field)
        )

    [AIBehaviorStr] => Array
        (
            [0] => string AIBehaviorStr (int player, string entry, string field) {
            [1] => AIBehaviorStr (int player, string entry, string field)
        )

    [AIAbilityFixed] => Array
        (
            [0] => fixed AIAbilityFixed (int player, string entry, string field) {
            [1] => AIAbilityFixed (int player, string entry, string field)
            [2] => AIAbilityFixed(player, c_AB_GhostCloak, c_fieldEnergyCost))
            [3] => AIAbilityFixed(player, c_AB_ShieldBattery, c_fieldRange0)
            [4] => AIAbilityFixed(player, c_AB_ShieldBattery, c_fieldRange0))
            [5] => AIAbilityFixed(player, c_AB_ProbeBuff, c_fieldRange0)
            [6] => AIAbilityFixed(player, c_AB_ProbeBuff, c_fieldEnergyCost)
            [7] => AIAbilityFixed(player, c_AB_ArgusLink, c_fieldDrainFactor)
            [8] => AIAbilityFixed(player, c_AB_TemporalRift, c_fieldRange0) + 1)
            [9] => AIAbilityFixed(player, c_AB_Vortex, c_fieldEnergyCost)
            [10] => AIAbilityFixed(player, c_AB_WormholeTransit, c_fieldEnergyCost)
            [11] => AIAbilityFixed(player, c_AB_Vortex, c_fieldEnergyCost)
            [12] => AIAbilityFixed(player, c_AB_PhaseShift, c_fieldRange0)
            [13] => AIAbilityFixed(player, c_AB_250mmStrikeCannons, c_fieldRange0)
            [14] => AIAbilityFixed(player, c_AB_Snipe, c_fieldRange0) + 1)
            [15] => AIAbilityFixed(player, c_AB_Snipe, c_fieldRange0) + 1)
            [16] => AIAbilityFixed(player, c_AB_SupplyDrop, c_fieldRange0)
            [17] => AIAbilityFixed(player, c_AB_CalldownMULE, c_fieldRange0)
            [18] => AIAbilityFixed(player, c_AB_AutoTurret, c_fieldEnergyCost)
            [19] => AIAbilityFixed(player, c_AB_SeekerMissile, c_fieldEnergyCost)
            [20] => AIAbilityFixed(player, c_AB_SpawnMutantLarva, c_fieldRange0))
            [21] => AIAbilityFixed(player, c_AB_Transfusion, c_fieldRange0)
            [22] => AIAbilityFixed(player, c_AB_NeuralParasite, c_fieldRange0))
            [23] => AIAbilityFixed(player, c_AB_UnstableMutation, c_fieldRange0)
            [24] => AIAbilityFixed(player, c_AB_NeuralParasite, c_fieldRange0) + 1)
            [25] => AIAbilityFixed(player, c_AB_NeuralParasite, c_fieldEnergyCost)
            [26] => AIAbilityFixed(player, c_AB_UnstableMutation, c_fieldEnergyCost)
            [27] => AIAbilityFixed(player, c_AB_NeuralParasite, c_fieldEnergyCost)
            [28] => AIAbilityFixed(player, c_AB_InfestedTerrans, c_fieldEnergyCost)
            [29] => AIAbilityFixed(player, c_AB_InfestedTerrans, c_fieldRange0) + 1)
            [30] => AIAbilityFixed(player, c_AB_AcidSpores, c_fieldRange0))
            [31] => AIAbilityFixed(player, c_AB_Changeling, c_fieldRange0))
            [32] => AIAbilityFixed(player, c_AB_FungalGrowth, c_fieldEnergyCost)
            [33] => AIAbilityFixed(player, c_AB_AcidSpores, c_fieldEnergyCost)
        )

    [AIEffectFixed] => Array
        (
            [0] => fixed AIEffectFixed (int player, string entry, string field) {
            [1] => AIEffectFixed (int player, string entry, string field)
            [2] => AIEffectFixed(player, c_EF_NukeDamage, c_fieldAttrStructure))
            [3] => AIEffectFixed(player, c_EF_NukeDamage, c_fieldAreaFraction0))
            [4] => AIEffectFixed(player, c_EF_NukeDamage, c_fieldAreaFraction1))
            [5] => AIEffectFixed(player, c_EF_NukeDamage, c_fieldAreaFraction2))
            [6] => AIEffectFixed(player, c_EF_ProtonChargeSearchArea, c_fieldAreaRadius0)
            [7] => AIEffectFixed(player, c_EF_ProtonChargeSearchArea, c_fieldAreaRadius0)
            [8] => AIEffectFixed(player, c_EF_VortexArea, c_fieldAreaRadius0)
            [9] => AIEffectFixed(player, c_EF_TemporalRiftSearchArea, c_fieldAreaRadius0)
            [10] => AIEffectFixed(player, c_EF_250mmStrikeCannonsPersistent, c_fieldPeriodCount)
            [11] => AIEffectFixed(player, c_EF_250mmStrikeCannonsDamage, c_fieldAmount)
            [12] => AIEffectFixed(player, c_EF_D8ChargeDmg, c_fieldAreaRadius2), c_noMaxCount)
            [13] => AIEffectFixed(player, c_EF_YamatoDamage, c_fieldAmount)
            [14] => AIEffectFixed(player, c_EF_D8ChargeDmg, c_fieldAreaRadius2)
            [15] => AIEffectFixed(player, c_EF_SeekerDamage, c_fieldAmount)
            [16] => AIEffectFixed(player, c_EF_Transfusion, c_fieldEffectChange0), c_noMax)
        )

    [AIWeaponFixed] => Array
        (
            [0] => fixed AIWeaponFixed (int player, string entry, string field) {
            [1] => AIWeaponFixed (int player, string entry, string field)
            [2] => AIWeaponFixed(player, c_WE_Reaper, c_fieldRange)
            [3] => AIWeaponFixed(player, c_WE_VikingFighter, c_fieldRange)
            [4] => AIWeaponFixed(player, c_WE_AutoTurret, c_fieldRange)
        )

    [AIUnitFixed] => Array
        (
            [0] => fixed AIUnitFixed (int player, string entry, string field) {
            [1] => AIUnitFixed (int player, string entry, string field)
            [2] => AIUnitFixed(player, c_PU_HighTemplar, c_fieldEnergyMax)
            [3] => AIUnitFixed(player, c_TB_CommandCenter, c_fieldRadius)
            [4] => AIUnitFixed(player, c_ZU_Overseer, c_fieldSightDawn)
            [5] => AIUnitFixed(player, c_ZU_Overlord, c_fieldSightDawn)
        )

    [AIBehaviorFixed] => Array
        (
            [0] => fixed AIBehaviorFixed (int player, string entry, string field) {
            [1] => AIBehaviorFixed (int player, string entry, string field)
            [2] => AIBehaviorFixed(player, c_BF_PersonalCloaking, c_fieldModification0))
        )

    [AIAbilityInt] => Array
        (
            [0] => int AIAbilityInt (int player, string entry, string field) {
            [1] => AIAbilityInt (int player, string entry, string field)
        )

    [AIEffectInt] => Array
        (
            [0] => int AIEffectInt (int player, string entry, string field) {
            [1] => AIEffectInt (int player, string entry, string field)
            [2] => AIEffectInt(player, c_EF_SnipeDamage, c_fieldAmount)
            [3] => AIEffectInt(player, c_EF_D8ChargeDmg, c_fieldAttrArmored)
            [4] => AIEffectInt(player, c_EF_D8ChargeDmg, c_fieldAmount) * 2, c_noMax - bonus)
            [5] => AIEffectInt(player, c_EF_BaneBuilding, c_fieldAmount)
        )

    [AIWeaponInt] => Array
        (
            [0] => int AIWeaponInt (int player, string entry, string field) {
            [1] => AIWeaponInt (int player, string entry, string field)
        )

    [AIUnitInt] => Array
        (
            [0] => int AIUnitInt (int player, string entry, string field) {
            [1] => AIUnitInt (int player, string entry, string field)
        )

    [AIBehaviorInt] => Array
        (
            [0] => int AIBehaviorInt (int player, string entry, string field) {
            [1] => AIBehaviorInt (int player, string entry, string field)
        )

    [AIAbilityGroup] => Array
        (
            [0] => unitgroup AIAbilityGroup (int player, string entry, unitgroup base) {
            [1] => AIAbilityGroup (int player, string entry, unitgroup base)
        )

    [AIEffectGroup] => Array
        (
            [0] => unitgroup AIEffectGroup (int player, string entry, unitgroup base) {
            [1] => AIEffectGroup (int player, string entry, unitgroup base)
            [2] => AIEffectGroup(player, c_EF_VortexArea, scanGroup)
            [3] => AIEffectGroup(player, c_EF_TemporalRiftSearchArea, scanGroup)
        )

    [AIWeaponGroup] => Array
        (
            [0] => unitgroup AIWeaponGroup (int player, string entry, unitgroup base) {
            [1] => AIWeaponGroup (int player, string entry, unitgroup base)
            [2] => AIWeaponGroup(player, c_WE_AutoTurret, scanGroup)
        )

    [AISetTacticalAttackTargetPoint] => Array
        (
            [0] => native void AISetTacticalAttackTargetPoint (unit u, point t);
            [1] => AISetTacticalAttackTargetPoint(aiUnit, there)
        )

    [AISetTacticalAttackTargetUnit] => Array
        (
            [0] => native void AISetTacticalAttackTargetUnit (unit u, unit t);
        )

    [AIUnitGroupGetValidOrder] => Array
        (
            [0] => native order AIUnitGroupGetValidOrder(unitgroup inGroup, order inOrder, unit caster, bool forwards);
            [1] => AIUnitGroupGetValidOrder(group, ord, aiUnit, c_forwards)
            [2] => AIUnitGroupGetValidOrder(group, ord, aiUnit, c_forwards)
            [3] => AIUnitGroupGetValidOrder(scanGroup, ord, aiUnit, c_forwards)
            [4] => AIUnitGroupGetValidOrder(scanGroup, ord, aiUnit, c_backwards)
            [5] => AIUnitGroupGetValidOrder(scanGroup, ord, aiUnit, c_backwards)
            [6] => AIUnitGroupGetValidOrder(scanGroup, ord, aiUnit, c_backwards)
            [7] => AIUnitGroupGetValidOrder(scanGroup, ord, aiUnit, c_backwards)
            [8] => AIUnitGroupGetValidOrder(targetGroup, ord, aiUnit, c_backwards)
            [9] => AIUnitGroupGetValidOrder(group, ord, aiUnit, c_forwards)
            [10] => AIUnitGroupGetValidOrder(hatcheries, ord, aiUnit, c_backwards)
            [11] => AIUnitGroupGetValidOrder(scanGroup, ord, aiUnit, c_forwards)
            [12] => AIUnitGroupGetValidOrder(enemyCasters, ord, aiUnit, c_forwards)
            [13] => AIUnitGroupGetValidOrder(enemyGroup, ord, aiUnit, c_forwards)
            [14] => AIUnitGroupGetValidOrder(followGroup, ord, aiUnit, c_forwards)
            [15] => AIUnitGroupGetValidOrder(scanGroup, ord, aiUnit, c_forwards)
        )

    [AICampSkirDiffTest] => Array
        (
            [0] => bool AICampSkirDiffTest (int player, int campMinDiff, int skirMinDiff) {
            [1] => AICampSkirDiffTest (int player, int campMinDiff, int skirMinDiff)
        )

    [AICastStandard] => Array
        (
            [0] => bool AICastStandard (unit aiUnit, order ord, marker mark, bool retreat) {
            [1] => AICastStandard (unit aiUnit, order ord, marker mark, bool retreat)
        )

    [AIMarker] => Array
        (
            [0] => marker AIMarker (unit aiUnit, string name) {
            [1] => AIMarker (unit aiUnit, string name)
            [2] => AIMarker(aiUnit, c_MK_PhaseShift)
            [3] => AIMarker(aiUnit, c_MK_250mmStrikeCannons)
            [4] => AIMarker(aiUnit, c_MK_Snipe)
            [5] => AIMarker(aiUnit, c_MK_D8Charge)
            [6] => AIMarker(aiUnit, c_MK_Yamato)
            [7] => AIMarker(aiUnit, c_MK_D8ChargeFlee)
            [8] => AIMarker(aiUnit, c_MK_SeekerMissile)
            [9] => AIMarker(aiUnit, c_MK_UnstableMutation)
            [10] => AIMarker(aiUnit, c_MK_NeuralParasite)
            [11] => AIMarker(aiUnit, c_MK_GameNeuralParasite)
            [12] => AIMarker(aiUnit, c_MK_SapStructure)
            [13] => AIMarker(aiUnit, c_MK_GameFungalGrowth)
            [14] => AIMarker(aiUnit, c_MK_FungalGrowth)
        )

    [AISpellPriority] => Array
        (
            [0] => void AISpellPriority (unitgroup src, unitgroup dst) {
            [1] => AISpellPriority (unitgroup src, unitgroup dst)
        )

    [AIIsAttackOrder] => Array
        (
            [0] => bool AIIsAttackOrder (order o) {
            [1] => AIIsAttackOrder (order o)
        )

    [PointAlongLine] => Array
        (
            [0] => point PointAlongLine (point from, point toward, fixed distance) {
            [1] => PointAlongLine (point from, point toward, fixed distance)
        )

    [missiles] => Array
        (
            [0] => missiles (Assigned to Andy / Dave)
        )

    [AI] => Array
        (
            [0] => AI (Assigned to Dave, Bob, or Andy & David Kim)
        )

    [fundamentally] => Array
        (
            [0] => fundamentally (see TactZergAI)
            [1] => fundamentally (see TactZergAI)
        )

    [Burrow] => Array
        (
            [0] => Burrow (Task assigned to Andy Bond)
        )

    [CatalogFieldValueGet] => Array
        (
            [0] => CatalogFieldValueGet(c_gameCatalogAbil, entry, field, player)
            [1] => CatalogFieldValueGet(c_gameCatalogEffect, entry, field, player)
            [2] => CatalogFieldValueGet(c_gameCatalogWeapon, entry, field, player)
            [3] => CatalogFieldValueGet(c_gameCatalogUnit, entry, field, player)
            [4] => CatalogFieldValueGet(c_gameCatalogBehavior, entry, field, player)
        )

    [StringToFixed] => Array
        (
            [0] => StringToFixed(AIAbilityStr(player, entry, field))
            [1] => StringToFixed(AIEffectStr(player, entry, field))
            [2] => StringToFixed(AIWeaponStr(player, entry, field))
            [3] => StringToFixed(AIUnitStr(player, entry, field))
            [4] => StringToFixed(AIBehaviorStr(player, entry, field))
        )

    [StringToInt] => Array
        (
            [0] => StringToInt(AIAbilityStr(player, entry, field))
            [1] => StringToInt(AIEffectStr(player, entry, field))
            [2] => StringToInt(AIWeaponStr(player, entry, field))
            [3] => StringToInt(AIUnitStr(player, entry, field))
            [4] => StringToInt(AIBehaviorStr(player, entry, field))
        )

    [UnitFilterStr] => Array
        (
            [0] => UnitFilterStr(AIAbilityStr(player, entry, c_fieldTargetFiltersAB)), 0)
            [1] => UnitFilterStr(AIEffectStr(player, entry, c_fieldFilters)), 0)
            [2] => UnitFilterStr(AIWeaponStr(player, entry, c_fieldTargetFilters)), 0)
            [3] => UnitFilterStr(AIAbilityStr(player, c_AB_ProbeBuff, c_fieldTargetFiltersAB)))
            [4] => UnitFilterStr(AIAbilityStr(player, c_AB_ArgusLink, c_fieldTargetFiltersAB)))
            [5] => UnitFilterStr(AIAbilityStr(player, c_AB_ShieldBattery, c_fieldTargetFiltersAB)))
            [6] => UnitFilterStr("-;Missile,Dead,Stasis,Worker")
            [7] => UnitFilterStr(AIAbilityStr(player, c_AB_PhaseShift, c_fieldTargetFiltersAB)))
            [8] => UnitFilterStr("-;Missile,Dead,Stasis,Worker")
            [9] => UnitFilterStr(AIAbilityStr(player, c_AB_250mmStrikeCannons, c_fieldTargetFiltersAB)))
            [10] => UnitFilterStr(AIAbilityStr(player, c_AB_Snipe, c_fieldTargetFiltersAB)))
            [11] => UnitFilterStr("Structure;Missile,Dead,Stasis,Worker")
            [12] => UnitFilterStr("-;Missile,Dead,Stasis,Worker")
            [13] => UnitFilterStr(AIAbilityStr(player, c_AB_SupplyDrop, c_fieldTargetFiltersAB)))
            [14] => UnitFilterStr(AIAbilityStr(player, c_AB_SeekerMissile, c_fieldTargetFiltersAB)))
            [15] => UnitFilterStr(AIAbilityStr(player, c_AB_NeuralParasite, c_fieldTargetFiltersAB)))
            [16] => UnitFilterStr(AIAbilityStr(player, c_AB_UnstableMutation, c_fieldTargetFiltersAB)))
            [17] => UnitFilterStr(AIWeaponStr(player, c_WE_InfestedTerran, c_fieldTargetFilters)))
            [18] => UnitFilterStr("-;Missile,Dead,Stasis,Worker")
            [19] => UnitFilterStr(AIEffectStr(player, c_EF_BaneUnit, c_fieldFilters)))
            [20] => UnitFilterStr(AIAbilityStr(player, c_AB_SapStructure, c_fieldTargetFiltersAB)))
            [21] => UnitFilterStr(AIAbilityStr(player, c_AB_FungalGrowth, c_fieldTargetFiltersAB)))
        )

    [MarkerCastingUnit] => Array
        (
            [0] => MarkerCastingUnit(name, aiUnit)
            [1] => MarkerCastingUnit(c_MK_Snipe, aiUnit)
        )

    [MarkerSetMatchFlag] => Array
        (
            [0] => MarkerSetMatchFlag(mark, c_markerMatchLink, true)
            [1] => MarkerSetMatchFlag(mark, c_markerMatchCasterPlayer, true)
            [2] => MarkerSetMatchFlag(forceFieldMarker, c_markerMatchLink, true)
        )

    [UnitGroupCount] => Array
        (
            [0] => UnitGroupCount(src, c_unitCountAll)
            [1] => UnitGroupCount(enemyGroup, c_unitCountAlive)
            [2] => UnitGroupCount(friendlyGroup, c_unitCountAll)
            [3] => UnitGroupCount(scanGroup, c_unitCountAll)
            [4] => UnitGroupCount(scanGroup, c_unitCountAlive)
            [5] => UnitGroupCount(scanGroup, c_unitCountAlive)
            [6] => UnitGroupCount(scanGroupThreat, c_unitCountAlive)
            [7] => UnitGroupCount(airGroup, c_unitCountAlive)
            [8] => UnitGroupCount(bunkerGroup, c_unitCountAll)
            [9] => UnitGroupCount(nearBunkerGroup, c_unitCountAll)
            [10] => UnitGroupCount(scanGroup, c_unitCountAll)
            [11] => UnitGroupCount(scanGroup, c_unitCountAll)
            [12] => UnitGroupCount(AIGetFilterGroup(groundAirFilter, scanGroup), c_unitCountAlive)
            [13] => UnitGroupCount(AIGetFilterGroup(groundAirFilter, scanGroup), c_unitCountAlive)
            [14] => UnitGroupCount(targetGroup, c_unitCountAll))
            [15] => UnitGroupCount(allyGroup, c_unitCountAll)
        )

    [UnitGroupUnit] => Array
        (
            [0] => UnitGroupUnit(src, 1)
            [1] => UnitGroupUnit(src, count)
            [2] => UnitGroupUnit(findResults, 1))
            [3] => UnitGroupUnit(enemyGroup, enemyCount)
            [4] => UnitGroupUnit(friendlyGroup, friendlyCount)
            [5] => UnitGroupUnit(scanGroup, scanCount)
            [6] => UnitGroupUnit(bunkerGroup, bunkerCount)
            [7] => UnitGroupUnit(nearBunkerGroup, bunkerCount)
            [8] => UnitGroupUnit(scanGroup, scanCount)
        )

    [UnitGroupAdd] => Array
        (
            [0] => UnitGroupAdd(dst, first)
            [1] => UnitGroupAdd(dst, test)
        )

    [StringEqual] => Array
        (
            [0] => StringEqual(AbilityCommandGetAbility(OrderGetAbilityCommand(o)), c_AB_Attack, true)
        )

    [AIThinkSetRallyDefault] => Array
        (
            [0] => AIThinkSetRallyDefault (int player, unit aiUnit, int commandIndex)
        )

    [OrderSetTargetPoint] => Array
        (
            [0] => OrderSetTargetPoint(ord, rally)
            [1] => OrderSetTargetPoint(ord, forceFieldTarget)
            [2] => OrderSetTargetPoint(ord, loc)
            [3] => OrderSetTargetPoint(ord, loc)
            [4] => OrderSetTargetPoint(ord, loc)
            [5] => OrderSetTargetPoint(ord, loc)
            [6] => OrderSetTargetPoint(ord, loc)
            [7] => OrderSetTargetPoint(ord, castPoint)
        )

    [AIThinkSetRallyWorker] => Array
        (
            [0] => AIThinkSetRallyWorker (int player, unit aiUnit, int commandIndex)
        )

    [UnitGetPosition] => Array
        (
            [0] => UnitGetPosition(aiUnit), 8, c_noMaxCount)
            [1] => UnitGetPosition(aiUnit), 8, c_noMaxCount)
            [2] => UnitGetPosition(aiUnit))
            [3] => UnitGetPosition(aiUnit)
            [4] => UnitGetPosition(enemyUnit)
            [5] => UnitGetPosition(bestTargetUnit)
            [6] => UnitGetPosition(aiUnit)
            [7] => UnitGetPosition(aiUnit)
            [8] => UnitGetPosition(aiUnit)
            [9] => UnitGetPosition(aiUnit)
            [10] => UnitGetPosition(aiUnit)
            [11] => UnitGetPosition(aiUnit)
            [12] => UnitGetPosition(aiUnit)
            [13] => UnitGetPosition(aiUnit)
            [14] => UnitGetPosition(aiUnit)
            [15] => UnitGetPosition(UnitGroupUnit(scanGroup, onGround))
            [16] => UnitGetPosition(aiUnit), c_campaignBunkerLoadRange, c_noMaxCount)
            [17] => UnitGetPosition(aiUnit), loadRange, c_noMaxCount)
            [18] => UnitGetPosition(aiUnit)
            [19] => UnitGetPosition(aiUnit)
            [20] => UnitGetPosition(peon))
            [21] => UnitGetPosition(aiUnit)
            [22] => UnitGetPosition(aiUnit)
            [23] => UnitGetPosition(aiUnit)
            [24] => UnitGetPosition(target), 5.0, c_ZU_InfestedTerranEgg)
            [25] => UnitGetPosition(aiUnit)
            [26] => UnitGetPosition(closestEnemy))
            [27] => UnitGetPosition(aiUnit)
            [28] => UnitGetPosition(aiUnit)
            [29] => UnitGetPosition(aiUnit)
        )

    [AngleBetweenPoints] => Array
        (
            [0] => AngleBetweenPoints(toward, from))
        )

    [AISetNukeGhost] => Array
        (
            [0] => AISetNukeGhost(player, c_TU_Ghost)
        )

    [AISetNukeNukeEffect] => Array
        (
            [0] => AISetNukeNukeEffect(player, c_EF_Nuke)
        )

    [AISetNukeCloak] => Array
        (
            [0] => AISetNukeCloak(player, c_TR_GhostCloak)
        )

    [AISetNukeNukeAbilLink] => Array
        (
            [0] => AISetNukeNukeAbilLink(player, c_AB_Nuke)
        )

    [AISetNukeCloakAbilLink] => Array
        (
            [0] => AISetNukeCloakAbilLink(player, c_AB_GhostCloak)
        )

    [AISetNukeNukeCastTime] => Array
        (
            [0] => AISetNukeNukeCastTime(player, 20)
        )

    [AIRangeDisruptor] => Array
        (
            [0] => fixed AIRangeDisruptor (int player, unit aiUnit) {
            [1] => AIRangeDisruptor (int player, unit aiUnit)
        )

    [AIForceField] => Array
        (
            [0] => order AIForceField (int player, unit aiUnit, unitgroup scanGroup, fixed scanRange, marker m) {
            [1] => AIForceField (int player, unit aiUnit, unitgroup scanGroup, fixed scanRange, marker m)
            [2] => AIForceField(player, aiUnit, scanGroup, c_disruptorRange, forceFieldMarker)
        )

    [Hallucinate] => Array
        (
            [0] => static bool Hallucinate (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => Hallucinate (int player, unit aiUnit, unitgroup scanGroup)
        )

    [ForceField] => Array
        (
            [0] => static bool ForceField (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => ForceField (int player, unit aiUnit, unitgroup scanGroup)
        )

    [MolDisplacer] => Array
        (
            [0] => static bool MolDisplacer (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => MolDisplacer (int player, unit aiUnit, unitgroup scanGroup)
            [2] => MolDisplacer(player, aiUnit, scanGroup)
        )

    [AIThinkDisruptor] => Array
        (
            [0] => void AIThinkDisruptor (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkDisruptor (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeObelisk] => Array
        (
            [0] => fixed AIRangeObelisk (int player, unit aiUnit) {
            [1] => AIRangeObelisk (int player, unit aiUnit)
            [2] => AIRangeObelisk(player, aiUnit), c_noMaxCount)
            [3] => AIRangeObelisk(player, aiUnit))
            [4] => AIRangeObelisk(player, aiUnit), c_noMaxCount)
        )

    [AIThinkObelisk] => Array
        (
            [0] => void AIThinkObelisk (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkObelisk (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeMothership] => Array
        (
            [0] => fixed AIRangeMothership (int player, unit aiUnit) {
            [1] => AIRangeMothership (int player, unit aiUnit)
            [2] => AIRangeMothership(player, aiUnit)
            [3] => AIRangeMothership(player, aiUnit)
            [4] => AIRangeMothership(player, aiUnit), c_noThreshold)
        )

    [MinToCastMotherShip] => Array
        (
            [0] => fixed MinToCastMotherShip (int player) {
            [1] => MinToCastMotherShip (int player)
            [2] => MinToCastMotherShip(player))
        )

    [Vortex] => Array
        (
            [0] => order Vortex (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => Vortex (int player, unit aiUnit, unitgroup scanGroup)
            [2] => Vortex(player, aiUnit, scanGroup)
        )

    [TemporalRift] => Array
        (
            [0] => order TemporalRift (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => TemporalRift (int player, unit aiUnit, unitgroup scanGroup)
            [2] => TemporalRift(player, aiUnit, scanGroup)
        )

    [AIThinkMothership] => Array
        (
            [0] => void AIThinkMothership (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkMothership (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeHighTemplar] => Array
        (
            [0] => fixed AIRangeHighTemplar (int player, unit aiUnit) {
            [1] => AIRangeHighTemplar (int player, unit aiUnit)
            [2] => AIRangeHighTemplar(player, aiUnit), c_planeAir, c_unitAllianceAlly)
            [3] => AIRangeHighTemplar(player, aiUnit))
            [4] => AIRangeHighTemplar(player, aiUnit), c_MinThreshold) > c_EnemyMultiplierHighTemplar)
        )

    [PhaseShift] => Array
        (
            [0] => order PhaseShift (int player, unit aiUnit, unitgroup scanGroup, marker mark, bool lowVitality) {
            [1] => PhaseShift (int player, unit aiUnit, unitgroup scanGroup, marker mark, bool lowVitality)
            [2] => PhaseShift(player, aiUnit, scanGroup, mark, lowVitality)
        )

    [UnitGroupTest] => Array
        (
            [0] => void UnitGroupTest (unitgroup scanGroup) {
            [1] => UnitGroupTest (unitgroup scanGroup)
        )

    [AIThinkHighTemplar] => Array
        (
            [0] => void AIThinkHighTemplar (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkHighTemplar (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIThinkGateway] => Array
        (
            [0] => void AIThinkGateway (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkGateway (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeWarpPrism] => Array
        (
            [0] => fixed AIRangeWarpPrism (int player, unit aiUnit) {
            [1] => AIRangeWarpPrism (int player, unit aiUnit)
        )

    [AIThinkWarpPrism] => Array
        (
            [0] => void AIThinkWarpPrism (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkWarpPrism (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIThinkWarpPrismPhasing] => Array
        (
            [0] => void AIThinkWarpPrismPhasing (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkWarpPrismPhasing (int player, unit aiUnit, unitgroup scanGroup)
        )

    [UnitGetFacing] => Array
        (
            [0] => UnitGetFacing(aiUnit)
            [1] => UnitGetFacing(enemyUnit)
        )

    [UnitGroupFilterThreat] => Array
        (
            [0] => UnitGroupFilterThreat(scanGroup, aiUnit, null, 0)
            [1] => UnitGroupFilterThreat(scanGroup, aiUnit, null, 0)
            [2] => UnitGroupFilterThreat(scanGroup, aiUnit, null, 0)
        )

    [UnitFilter] => Array
        (
            [0] => UnitFilter(0,0,0,0)
        )

    [UnitFilterSetState] => Array
        (
            [0] => UnitFilterSetState(filter, c_targetFilterSelf,                      c_unitFilterRequired)
            [1] => UnitFilterSetState(filter, c_targetFilterAlly,                      c_unitFilterRequired)
            [2] => UnitFilterSetState(filter, c_targetFilterUncommandable,             c_unitFilterExcluded)
            [3] => UnitFilterSetState(filter, c_targetFilterWorker,                    c_unitFilterExcluded)
            [4] => UnitFilterSetState(filter, c_targetFilterUnderConstruction,         c_unitFilterExcluded)
            [5] => UnitFilterSetState(filter, c_targetFilterStructure,                 c_unitFilterExcluded)
        )

    [UnitOrder] => Array
        (
            [0] => UnitOrder(enemyUnit, 0)
        )

    [RegionCircle] => Array
        (
            [0] => RegionCircle(enemyPos, forceFieldMaxRadius), filter, 0)
            [1] => RegionCircle(UnitGetPosition(aiUnit), searchRange), 0)
        )

    [PointsInRange] => Array
        (
            [0] => PointsInRange(myPos, enemyPos, forceFieldMaxRadius))
        )

    [enemy] => Array
        (
            [0] => enemy (priority 5)
        )

    [MarkerSetMismatchFlag] => Array
        (
            [0] => MarkerSetMismatchFlag(forceFieldMarker, c_markerMatchId, true)
        )

    [MaxF] => Array
        (
            [0] => MaxF(AIAbilityFixed(player, c_AB_ArgusLink, c_fieldRange0)
            [1] => MaxF(AIAbilityFixed(player, c_AB_Vortex, c_fieldRange0)
            [2] => MaxF(AIAbilityFixed(player, c_AB_EMP, c_fieldRange0)
            [3] => MaxF(AIAbilityFixed(player, c_AB_Transfusion, c_fieldRange0)
            [4] => MaxF(AIAbilityFixed(player, c_AB_InfestedTerrans, c_fieldRange0)
            [5] => MaxF(MaxF(AIAbilityFixed(player, c_AB_FungalGrowth, c_fieldRange0)
        )

    [ProtonCharge] => Array
        (
            [0] => ProtonCharge (int player, unit aiUnit, unitgroup scanGroup)
            [1] => ProtonCharge(player, aiUnit, scanGroup)
        )

    [ArgusLink] => Array
        (
            [0] => ArgusLink (int player, unit aiUnit, unitgroup scanGroup)
            [1] => ArgusLink(player, aiUnit, scanGroup)
        )

    [UnitGetPropertyFixed] => Array
        (
            [0] => UnitGetPropertyFixed(aiUnit, c_unitPropEnergy, c_unitPropCurrent)
            [1] => UnitGetPropertyFixed(aiUnit, c_unitPropEnergy, c_unitPropCurrent)
        )

    [AISetFilterEnergy] => Array
        (
            [0] => AISetFilterEnergy(filter, argusLinkMin, c_argusLinkMax)
        )

    [ShieldBattery] => Array
        (
            [0] => ShieldBattery (int player, unit aiUnit, unitgroup scanGroup)
            [1] => ShieldBattery(player, aiUnit, scanGroup)
        )

    [FixedToInt] => Array
        (
            [0] => FixedToInt(AIUnitGroupStrength(scanGroup)))
        )

    [UnitOrderHasAbil] => Array
        (
            [0] => UnitOrderHasAbil(aiUnit, c_AB_PsiStorm))
        )

    [WarpPrism] => Array
        (
            [0] => WarpPrism (transport mode)
            [1] => WarpPrism (power mode)
        )

    [AIRangeThor] => Array
        (
            [0] => fixed AIRangeThor (int player, unit aiUnit) {
            [1] => AIRangeThor (int player, unit aiUnit)
            [2] => AIRangeThor(player, aiUnit))
            [3] => AIRangeThor(player, aiUnit)
        )

    [AIOrder250mmStrikeCannons] => Array
        (
            [0] => order AIOrder250mmStrikeCannons(int player, unit aiUnit, unitgroup scanGroup, marker mark) {
            [1] => AIOrder250mmStrikeCannons(int player, unit aiUnit, unitgroup scanGroup, marker mark)
            [2] => AIOrder250mmStrikeCannons(player, aiUnit, scanGroup, mark)
        )

    [AIThinkThor] => Array
        (
            [0] => void AIThinkThor (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkThor (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeGhost] => Array
        (
            [0] => fixed AIRangeGhost (int player, unit aiUnit) {
            [1] => AIRangeGhost (int player, unit aiUnit)
        )

    [AIOrderSnipe] => Array
        (
            [0] => order AIOrderSnipe (int player, unit aiUnit, unitgroup scanGroup, marker mark) {
            [1] => AIOrderSnipe (int player, unit aiUnit, unitgroup scanGroup, marker mark)
            [2] => AIOrderSnipe(player, aiUnit, scanGroup, mark)
        )

    [AIThinkGhost] => Array
        (
            [0] => void AIThinkGhost (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkGhost (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeReaper] => Array
        (
            [0] => fixed AIRangeReaper (int player, unit aiUnit) {
            [1] => AIRangeReaper (int player, unit aiUnit)
        )

    [AIOrderReapMine] => Array
        (
            [0] => order AIOrderReapMine (int player, unit aiUnit, unitgroup scanGroup, marker mark) {
            [1] => AIOrderReapMine (int player, unit aiUnit, unitgroup scanGroup, marker mark)
            [2] => AIOrderReapMine(player, aiUnit, scanGroup, mark)
        )

    [AIThinkReaper] => Array
        (
            [0] => void AIThinkReaper (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkReaper (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIOrderYamato] => Array
        (
            [0] => order AIOrderYamato (int player, unit aiUnit, unitgroup scanGroup, marker mark) {
            [1] => AIOrderYamato (int player, unit aiUnit, unitgroup scanGroup, marker mark)
            [2] => AIOrderYamato(player, aiUnit, scanGroup, mark)
        )

    [AIThinkBattleCruiser] => Array
        (
            [0] => void AIThinkBattleCruiser (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkBattleCruiser (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeViking] => Array
        (
            [0] => fixed AIRangeViking (int player, unit aiUnit) {
            [1] => AIRangeViking (int player, unit aiUnit)
            [2] => AIRangeViking(player, null)), 0)
            [3] => AIRangeViking(player, null))
        )

    [VikingModeChange] => Array
        (
            [0] => point VikingModeChange (int player, unit aiUnit, unitgroup scanGroup, bool inAssault) {
            [1] => VikingModeChange (int player, unit aiUnit, unitgroup scanGroup, bool inAssault)
            [2] => VikingModeChange(player, aiUnit, scanGroup, false)
        )

    [AIThinkVikingAssault] => Array
        (
            [0] => void AIThinkVikingAssault (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkVikingAssault (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIThinkVikingFighter] => Array
        (
            [0] => void AIThinkVikingFighter (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkVikingFighter (int player, unit aiUnit, unitgroup scanGroup)
        )

    [CampaignWantsToBeInBunker] => Array
        (
            [0] => unit CampaignWantsToBeInBunker (int player, unit aiUnit, unitgroup bunkerGroup, bool unload) {
            [1] => CampaignWantsToBeInBunker (int player, unit aiUnit, unitgroup bunkerGroup, bool unload)
        )

    [CargoDefend] => Array
        (
            [0] => bool CargoDefend (int player, unit aiUnit, unitgroup scanGroup, int searchRange, int loadRange, string wanted, string command) {
            [1] => CargoDefend (int player, unit aiUnit, unitgroup scanGroup, int searchRange, int loadRange, string wanted, string command)
            [2] => CargoDefend(player, aiUnit, scanGroup, 8, 10, c_TU_Marine, c_AB_BunkerChange)
        )

    [CallDownSupply] => Array
        (
            [0] => static order CallDownSupply (int player, unit aiUnit) {
            [1] => CallDownSupply (int player, unit aiUnit)
            [2] => CallDownSupply(player, aiUnit)
        )

    [CallDownMule] => Array
        (
            [0] => static bool CallDownMule (int player, unit aiUnit) {
            [1] => CallDownMule (int player, unit aiUnit)
        )

    [AIThinkCommandCenter] => Array
        (
            [0] => void AIThinkCommandCenter(int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkCommandCenter(int player, unit aiUnit, unitgroup scanGroup)
            [2] => AIThinkCommandCenter(player, aiUnit, scanGroup)
        )

    [AIThinkBunker] => Array
        (
            [0] => void AIThinkBunker(int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkBunker(int player, unit aiUnit, unitgroup scanGroup)
        )

    [ScannerSweep] => Array
        (
            [0] => bool ScannerSweep (int player, unit aiUnit) {
            [1] => ScannerSweep (int player, unit aiUnit)
        )

    [AIThinkOrbitalCommand] => Array
        (
            [0] => void AIThinkOrbitalCommand (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkOrbitalCommand (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeD8Charge] => Array
        (
            [0] => fixed AIRangeD8Charge (int player, unit aiUnit) {
            [1] => AIRangeD8Charge (int player, unit aiUnit)
            [2] => AIRangeD8Charge(player, aiUnit), c_noMaxCount)
        )

    [AIThinkD8Charge] => Array
        (
            [0] => void AIThinkD8Charge (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkD8Charge (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeRaven] => Array
        (
            [0] => fixed AIRangeRaven (int player, unit aiUnit) {
            [1] => AIRangeRaven (int player, unit aiUnit)
            [2] => AIRangeRaven(player, aiUnit)
        )

    [HunterSeekerMissile] => Array
        (
            [0] => order HunterSeekerMissile (int player, unit aiUnit, unitgroup scanGroup, marker mark) {
            [1] => HunterSeekerMissile (int player, unit aiUnit, unitgroup scanGroup, marker mark)
            [2] => HunterSeekerMissile(player, aiUnit, scanGroup, mark)
        )

    [CastAutoTurret] => Array
        (
            [0] => static bool CastAutoTurret (int player, unit aiUnit, unitgroup scanGroup, bool lowVitality) {    
            [1] => CastAutoTurret (int player, unit aiUnit, unitgroup scanGroup, bool lowVitality)
        )

    [minToCastAutoTurret] => Array
        (
            [0] => fixed minToCastAutoTurret(int player) {
            [1] => minToCastAutoTurret(int player)
            [2] => minToCastAutoTurret(player))
        )

    [AIThinkRaven] => Array
        (
            [0] => void AIThinkRaven (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkRaven (int player, unit aiUnit, unitgroup scanGroup)
        )

    [OrderSetTargetUnit] => Array
        (
            [0] => OrderSetTargetUnit(ord, target)
            [1] => OrderSetTargetUnit(ord, unitToCheck)
            [2] => OrderSetTargetUnit(ord, unitToCheck)
            [3] => OrderSetTargetUnit(ord, closestEnemyBuilding)
        )

    [UnitGroupFilterPlane] => Array
        (
            [0] => UnitGroupFilterPlane(scanGroup, c_planeGround, 0)
            [1] => UnitGroupFilterPlane(scanGroup, c_planeGround, 0)
            [2] => UnitGroupFilterPlane(airGroup, c_planeAir, 0)
        )

    [VIKING] => Array
        (
            [0] => VIKING (ground mode)
            [1] => VIKING (air mode)
        )

    [UnitOrderCount] => Array
        (
            [0] => UnitOrderCount(aiUnit) == 0)
            [1] => UnitOrderCount(aiUnit) > 0)
        )

    [CliffLevel] => Array
        (
            [0] => CliffLevel(here)
            [1] => CliffLevel(there)
        )

    [UnitCargoGroup] => Array
        (
            [0] => UnitCargoGroup(aiUnit), c_bunkerUnload)
        )

    [OrderSetTargetPassenger] => Array
        (
            [0] => OrderSetTargetPassenger(ord, unitToCheck)
        )

    [AIRangeQueen] => Array
        (
            [0] => fixed AIRangeQueen (int player, unit aiUnit) {
            [1] => AIRangeQueen (int player, unit aiUnit)
        )

    [Transfusion] => Array
        (
            [0] => order Transfusion (int player, unit aiUnit) {
            [1] => Transfusion (int player, unit aiUnit)
            [2] => Transfusion(player, aiUnit)
        )

    [SpawnLarva] => Array
        (
            [0] => order SpawnLarva (int player, unit aiUnit) {
            [1] => SpawnLarva (int player, unit aiUnit)
            [2] => SpawnLarva(player, aiUnit)
        )

    [CreepTumor] => Array
        (
            [0] => order CreepTumor (int player, unit aiUnit) {
            [1] => CreepTumor (int player, unit aiUnit)
            [2] => CreepTumor(player, aiUnit)
        )

    [AIThinkQueen] => Array
        (
            [0] => void AIThinkQueen (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkQueen (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeInfestor] => Array
        (
            [0] => fixed AIRangeInfestor (int player, unit aiUnit) {
            [1] => AIRangeInfestor (int player, unit aiUnit)
            [2] => AIRangeInfestor(player, aiUnit), minThreshold) > enemyMultiplierInfestor)
        )

    [NeuralParasite] => Array
        (
            [0] => order NeuralParasite (int player, unit aiUnit, unitgroup scanGroup, marker mark, marker gameMark, bool lowVitality) {
            [1] => NeuralParasite (int player, unit aiUnit, unitgroup scanGroup, marker mark, marker gameMark, bool lowVitality)
            [2] => NeuralParasite(player, aiUnit, scanGroup, mark, gameMark, lowVitality)
        )

    [MinToCastInfestedTerrans] => Array
        (
            [0] => fixed MinToCastInfestedTerrans (int player) {
            [1] => MinToCastInfestedTerrans (int player)
            [2] => MinToCastInfestedTerrans(player) && !lowVitality)
        )

    [InfestedTerrans] => Array
        (
            [0] => order InfestedTerrans (int player, unit aiUnit, unitgroup scanGroup, bool lowVitality) {
            [1] => InfestedTerrans (int player, unit aiUnit, unitgroup scanGroup, bool lowVitality)
            [2] => InfestedTerrans(player, aiUnit, scanGroup, lowVitality)
        )

    [AIThinkInfestor] => Array
        (
            [0] => void AIThinkInfestor (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkInfestor (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeBaneling] => Array
        (
            [0] => fixed AIRangeBaneling (int player, unit aiUnit) {
            [1] => AIRangeBaneling (int player, unit aiUnit)
            [2] => AIRangeBaneling(player, aiUnit))
            [3] => AIRangeBaneling(player, aiUnit)
            [4] => AIRangeBaneling(player, aiUnit), c_planeAir, c_unitAllianceAlly)
        )

    [SapStructure] => Array
        (
            [0] => order SapStructure (int player, unit aiUnit, unitgroup scanGroup, marker mark) {
            [1] => SapStructure (int player, unit aiUnit, unitgroup scanGroup, marker mark)
            [2] => SapStructure(player, aiUnit, scanGroup, mark)
        )

    [AIThinkBaneling] => Array
        (
            [0] => void AIThinkBaneling (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkBaneling (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeOverseer] => Array
        (
            [0] => fixed AIRangeOverseer (int player, unit aiUnit) {   
            [1] => AIRangeOverseer (int player, unit aiUnit)
            [2] => AIRangeOverseer(player, aiUnit), c_planeGround, c_unitAllianceAlly)
            [3] => AIRangeOverseer(player, aiUnit), c_planeGround, c_unitAllianceEnemy)
            [4] => AIRangeOverseer(player, aiUnit), c_planeAir, c_unitAllianceEnemy)
            [5] => AIRangeOverseer(player, aiUnit))
            [6] => AIRangeOverseer(player, aiUnit))
            [7] => AIRangeOverseer(player, aiUnit)
            [8] => AIRangeOverseer(player, aiUnit))
        )

    [Changeling] => Array
        (
            [0] => order Changeling (int player, unit aiUnit, unitgroup scanGroup, fixed range) {
            [1] => Changeling (int player, unit aiUnit, unitgroup scanGroup, fixed range)
            [2] => Changeling(player, aiUnit, scanGroup, range)
        )

    [MakeChangeling] => Array
        (
            [0] => bool MakeChangeling (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => MakeChangeling (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIThinkOverseer] => Array
        (
            [0] => void AIThinkOverseer (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkOverseer (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIRangeChangeling] => Array
        (
            [0] => fixed AIRangeChangeling (int player, unit aiUnit) {
            [1] => AIRangeChangeling (int player, unit aiUnit)
            [2] => AIRangeChangeling(player, aiUnit), c_noMaxCount)
        )

    [AIThinkChangelingUnit] => Array
        (
            [0] => void AIThinkChangelingUnit (int player, unit aiUnit, unitgroup scanGroup, string followUnit) {
            [1] => AIThinkChangelingUnit (int player, unit aiUnit, unitgroup scanGroup, string followUnit)
            [2] => AIThinkChangelingUnit(player, aiUnit, scanGroup, c_ZU_Zergling)
            [3] => AIThinkChangelingUnit(player, aiUnit, scanGroup, c_TU_Marine)
            [4] => AIThinkChangelingUnit(player, aiUnit, scanGroup, c_PU_Zealot)
        )

    [AIThinkChangelingZergling] => Array
        (
            [0] => void AIThinkChangelingZergling (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkChangelingZergling (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIThinkChangelingMarine] => Array
        (
            [0] => void AIThinkChangelingMarine (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkChangelingMarine (int player, unit aiUnit, unitgroup scanGroup)
        )

    [AIThinkChangelingZealot] => Array
        (
            [0] => void AIThinkChangelingZealot (int player, unit aiUnit, unitgroup scanGroup) {
            [1] => AIThinkChangelingZealot (int player, unit aiUnit, unitgroup scanGroup)
        )

    [TechTreeBehaviorCount] => Array
        (
            [0] => TechTreeBehaviorCount(player, c_BF_MutantLarvaTimer, c_techCountQueuedOrBetter)
        )

    [TechTreeUnitCount] => Array
        (
            [0] => TechTreeUnitCount(player, c_ZU_Larva, c_techCountQueuedOrBetter)
        )

    [OrderSetTargetPlacement] => Array
        (
            [0] => OrderSetTargetPlacement(ord, p, aiUnit, c_ZU_CreepTumor)
        )

    [MinToCastUnstableMutation] => Array
        (
            [0] => MinToCastUnstableMutation (int player)
            [1] => MinToCastUnstableMutation(player))
        )

    [UnstableMutation] => Array
        (
            [0] => UnstableMutation (int player, unit aiUnit, unitgroup scanGroup, marker mark, bool lowVitality)
            [1] => UnstableMutation(player, aiUnit, scanGroup, mark, lowVitality)
        )

    [UnitGroupNearestUnit] => Array
        (
            [0] => UnitGroupNearestUnit(enemyUnitGroup, banelingPosition)
            [1] => UnitGroupNearestUnit(enemyBuildingGroup, banelingPosition)
        )

    [MinToCastFungalGrowth] => Array
        (
            [0] => MinToCastFungalGrowth (int player)
            [1] => MinToCastFungalGrowth(player))
        )

    [FungalGrowth] => Array
        (
            [0] => FungalGrowth (int player, unit aiUnit, marker mark, marker gameMark, unitgroup scanGroup)
            [1] => FungalGrowth(player, aiUnit, mark, gameMark, scanGroup)
        )

    [AcidSpores] => Array
        (
            [0] => AcidSpores (int player, unit aiUnit, unitgroup scanGroup)
            [1] => AcidSpores(player, aiUnit, scanGroup)
        )

    [CameraGetTarget] => Array
        (
            [0] => CameraGetTarget(enemyPlayer)
        )

    [DistanceBetweenPoints] => Array
        (
            [0] => DistanceBetweenPoints(camPoint, here)
        )

    [UnitGroupAlliance] => Array
        (
            [0] => UnitGroupAlliance(player, c_unitAllianceAlly, r, null, c_noMaxCount)
            [1] => UnitGroupAlliance(player, c_unitAllianceEnemy, r, null, c_noMaxCount)
        )

    [TerranSubStateName] => Array
        (
            [0] => string TerranSubStateName (int state) {
            [1] => TerranSubStateName (int state)
            [2] => TerranSubStateName(AIState(player, e_mainSubState))
        )

    [DebugCallbackTerr] => Array
        (
            [0] => void DebugCallbackTerr (int player) {
            [1] => DebugCallbackTerr (int player)
        )

    [AINewUnitTerr] => Array
        (
            [0] => void AINewUnitTerr (int player, unit u) {
            [1] => AINewUnitTerr (int player, unit u)
        )

    [AIGetScoutTerr] => Array
        (
            [0] => unit AIGetScoutTerr (int player, int index, unit prev) {
            [1] => AIGetScoutTerr (int player, int index, unit prev)
        )

    [AIEarlyDefScoutTerr] => Array
        (
            [0] => unit AIEarlyDefScoutTerr (int player, unit prev) {
            [1] => AIEarlyDefScoutTerr (int player, unit prev)
        )

    [AIWaveThinkTerr] => Array
        (
            [0] => void AIWaveThinkTerr (int player, wave w, int type) {
            [1] => AIWaveThinkTerr (int player, wave w, int type)
        )

    [TerranInit] => Array
        (
            [0] => static void TerranInit (int player) {
            [1] => TerranInit (int player)
            [2] => TerranInit(player)
        )

    [AIMeleeTerr] => Array
        (
            [0] => void AIMeleeTerr (int player) {
            [1] => AIMeleeTerr (int player)
        )

    [TerranOpenGnd0] => Array
        (
            [0] => TerranOpenGnd0(player)
            [1] => void TerranOpenGnd0 (int player) {
            [2] => TerranOpenGnd0 (int player)
        )

    [TerranOpenGnd1] => Array
        (
            [0] => TerranOpenGnd1(player)
        )

    [TerranOpenGnd2] => Array
        (
            [0] => TerranOpenGnd2(player)
        )

    [TerranOpenGnd3] => Array
        (
            [0] => TerranOpenGnd3(player)
        )

    [TerranOpenGnd4] => Array
        (
            [0] => TerranOpenGnd4(player)
        )

    [TerranOpenGnd5] => Array
        (
            [0] => TerranOpenGnd5(player)
        )

    [TerranOpenAir0] => Array
        (
            [0] => TerranOpenAir0(player)
            [1] => void TerranOpenAir0 (int player) {
            [2] => TerranOpenAir0 (int player)
        )

    [TerranOpenAir1] => Array
        (
            [0] => TerranOpenAir1(player)
        )

    [TerranOpenAir2] => Array
        (
            [0] => TerranOpenAir2(player)
        )

    [TerranOpenAir3] => Array
        (
            [0] => TerranOpenAir3(player)
        )

    [TerranOpenAir4] => Array
        (
            [0] => TerranOpenAir4(player)
        )

    [TerranOpenAir5] => Array
        (
            [0] => TerranOpenAir5(player)
        )

    [TerranMid0] => Array
        (
            [0] => TerranMid0(player)
            [1] => void TerranMid0 (int player) {
            [2] => TerranMid0 (int player)
        )

    [TerranMid1] => Array
        (
            [0] => TerranMid1(player)
        )

    [TerranMid2] => Array
        (
            [0] => TerranMid2(player)
        )

    [TerranMid3] => Array
        (
            [0] => TerranMid3(player)
        )

    [TerranMid4] => Array
        (
            [0] => TerranMid4(player)
        )

    [TerranMid5] => Array
        (
            [0] => TerranMid5(player)
        )

    [TerranLate0] => Array
        (
            [0] => TerranLate0(player)
            [1] => void TerranLate0 (int player) {
            [2] => TerranLate0 (int player)
        )

    [TerranLate1] => Array
        (
            [0] => TerranLate1(player)
        )

    [TerranLate2] => Array
        (
            [0] => TerranLate2(player)
        )

    [TerranLate3] => Array
        (
            [0] => TerranLate3(player)
        )

    [TerranLate4] => Array
        (
            [0] => TerranLate4(player)
        )

    [TerranLate5] => Array
        (
            [0] => TerranLate5(player)
        )

    [RandomInfantry] => Array
        (
            [0] => static void RandomInfantry (int player);
            [1] => static void RandomInfantry (int player) {
            [2] => RandomInfantry (int player)
            [3] => RandomInfantry(player)
            [4] => RandomInfantry(player)
            [5] => RandomInfantry (int player)
            [6] => static void RandomInfantry (int player);
            [7] => static void RandomInfantry (int player) {
            [8] => RandomInfantry (int player)
            [9] => RandomInfantry(player)
            [10] => RandomInfantry(player)
            [11] => RandomInfantry (int player)
        )

    [TerranMidGndA] => Array
        (
            [0] => static void TerranMidGndA (int player) {
            [1] => TerranMidGndA (int player)
            [2] => TerranMidGndA(player)
        )

    [TerranMidGndB] => Array
        (
            [0] => static void TerranMidGndB (int player) {
            [1] => TerranMidGndB (int player)
            [2] => TerranMidGndB(player)
        )

    [TerranMidAirA] => Array
        (
            [0] => static void TerranMidAirA (int player) {
            [1] => TerranMidAirA (int player)
            [2] => TerranMidAirA(player)
        )

    [TerranMidAirB] => Array
        (
            [0] => static void TerranMidAirB (int player) {
            [1] => TerranMidAirB (int player)
            [2] => TerranMidAirB(player)
        )

    [SetGasPeons] => Array
        (
            [0] => SetGasPeons(player, 3)
            [1] => SetGasPeons(player, 3)
            [2] => SetGasPeons(player, 4)
            [3] => SetGasPeons(player, 4)
        )

    [ZergSubStateName] => Array
        (
            [0] => string ZergSubStateName (int state) {
            [1] => ZergSubStateName (int state)
            [2] => ZergSubStateName(AIState(player, e_mainSubState))
        )

    [DebugCallbackZerg] => Array
        (
            [0] => void DebugCallbackZerg (int player) {
            [1] => DebugCallbackZerg (int player)
        )

    [AINewUnitZerg] => Array
        (
            [0] => void AINewUnitZerg (int player, unit u) {
            [1] => AINewUnitZerg (int player, unit u)
        )

    [AIGetScoutZerg] => Array
        (
            [0] => unit AIGetScoutZerg (int player, int index, unit prev) {    
            [1] => AIGetScoutZerg (int player, int index, unit prev)
        )

    [AIEarlyDefScoutZerg] => Array
        (
            [0] => unit AIEarlyDefScoutZerg (int player, unit prev) {
            [1] => AIEarlyDefScoutZerg (int player, unit prev)
        )

    [AIWaveThinkZerg] => Array
        (
            [0] => void AIWaveThinkZerg (int player, wave w, int type) {
            [1] => AIWaveThinkZerg (int player, wave w, int type)
        )

    [ZergInit] => Array
        (
            [0] => static void ZergInit (int player) {
            [1] => ZergInit (int player)
            [2] => ZergInit(player)
        )

    [AIMeleeZerg] => Array
        (
            [0] => void AIMeleeZerg (int player) {
            [1] => AIMeleeZerg (int player)
        )

    [ZergOpenGnd0] => Array
        (
            [0] => ZergOpenGnd0(player)
            [1] => void ZergOpenGnd0 (int player) {
            [2] => ZergOpenGnd0 (int player)
        )

    [ZergOpenGnd1] => Array
        (
            [0] => ZergOpenGnd1(player)
        )

    [ZergOpenGnd2] => Array
        (
            [0] => ZergOpenGnd2(player)
        )

    [ZergOpenGnd3] => Array
        (
            [0] => ZergOpenGnd3(player)
        )

    [ZergOpenGnd4] => Array
        (
            [0] => ZergOpenGnd4(player)
        )

    [ZergOpenGnd5] => Array
        (
            [0] => ZergOpenGnd5(player)
        )

    [ZergOpenAir0] => Array
        (
            [0] => ZergOpenAir0(player)
            [1] => void ZergOpenAir0 (int player) {
            [2] => ZergOpenAir0 (int player)
        )

    [ZergOpenAir1] => Array
        (
            [0] => ZergOpenAir1(player)
        )

    [ZergOpenAir2] => Array
        (
            [0] => ZergOpenAir2(player)
        )

    [ZergOpenAir3] => Array
        (
            [0] => ZergOpenAir3(player)
        )

    [ZergOpenAir4] => Array
        (
            [0] => ZergOpenAir4(player)
        )

    [ZergOpenAir5] => Array
        (
            [0] => ZergOpenAir5(player)
        )

    [ZergMid0] => Array
        (
            [0] => ZergMid0(player)
            [1] => void ZergMid0 (int player) {
            [2] => ZergMid0 (int player)
        )

    [ZergMid1] => Array
        (
            [0] => ZergMid1(player)
        )

    [ZergMid2] => Array
        (
            [0] => ZergMid2(player)
        )

    [ZergMid3] => Array
        (
            [0] => ZergMid3(player)
        )

    [ZergMid4] => Array
        (
            [0] => ZergMid4(player)
        )

    [ZergMid5] => Array
        (
            [0] => ZergMid5(player)
        )

    [ZergLate0] => Array
        (
            [0] => ZergLate0(player)
            [1] => void ZergLate0 (int player) {
            [2] => ZergLate0 (int player)
        )

    [ZergLate1] => Array
        (
            [0] => ZergLate1(player)
        )

    [ZergLate2] => Array
        (
            [0] => ZergLate2(player)
        )

    [ZergLate3] => Array
        (
            [0] => ZergLate3(player)
        )

    [ZergLate4] => Array
        (
            [0] => ZergLate4(player)
        )

    [ZergLate5] => Array
        (
            [0] => ZergLate5(player)
        )

    [ZergMidGndA] => Array
        (
            [0] => static void ZergMidGndA (int player) {
            [1] => ZergMidGndA (int player)
            [2] => ZergMidGndA(player)
        )

    [ZergMidGndB] => Array
        (
            [0] => static void ZergMidGndB (int player) {
            [1] => ZergMidGndB (int player)
            [2] => ZergMidGndB(player)
        )

    [ZergMidAirA] => Array
        (
            [0] => static void ZergMidAirA (int player) {
            [1] => ZergMidAirA (int player)
            [2] => ZergMidAirA(player)
        )

    [ZergMidAirB] => Array
        (
            [0] => static void ZergMidAirB (int player) {
            [1] => ZergMidAirB (int player)
            [2] => ZergMidAirB(player)
        )

)