# Find Units

Grammar — Create a list of all player player’s units of type unitType within range withinRange of the point centerPoint up to maxCount units
FlagsNative | Function

Returns a group of all of the units of the specified type owned by a player within the specified range of a point up to max count units.

# Arguments

  • int — Player
  • string — Unit Type
  • point — Center Point
  • fixed — Within Range
  • int — Max Count

Returns — unitgroup

native unitgroup AIFindUnits(
	int player,
	string unitType,
	point p,
	fixed range,
	int inMaxCount,
);

Category: AI Advanced / Tactical / Functions

# Examples

# mods/core.sc2mod

TactProtAI.galaxy

// L488
AIFindUnits(player, c_PB_Nexus, UnitGetPosition(aiUnit), 12, c_noMaxCount)
// L489
AIFindUnits(player, c_PB_Pylon, UnitGetPosition(aiUnit), 12, c_noMaxCount)

# mods/core.sc2mod

TactTerrAI.galaxy

// L872
AIFindUnits(player, wanted, UnitGetPosition(aiUnit), c_campaignBunkerLoadRange, c_noMaxCount)
// L905
AIFindUnits(player, wanted, UnitGetPosition(aiUnit), loadRange, c_noMaxCount)
// L1165
AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_D8ChargeDmg, c_fieldAreaRadius2), c_noMaxCount)
// L1185
AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_KD8ChargeDmg, c_fieldAreaRadius0), c_noMaxCount)

# mods/core.sc2mod

TactZergAI.galaxy

// L27
AIFindUnits(player, null, UnitGetPosition(aiUnit), 
                        AIAbilityFixed(player, c_AB_Transfusion, c_fieldRange0) + 1,
                        c_noMaxCount)
// L70
AIFindUnits(player, 
                             c_ZB_Hatchery_Alias, 
                             UnitGetPosition(aiUnit), 
                             15,
                             c_noMaxCount)
// L897
AIFindUnits(enemyPlayer, c_PU_Zealot, here, range, c_maxEnemyCount)
// L898
AIFindUnits(enemyPlayer, c_ZU_Zergling, here, range, c_maxEnemyCount)
// L899
AIFindUnits(enemyPlayer, c_TU_Marine, here, range, c_maxEnemyCount)
// L1242
AIFindUnits(enemyPlayer, followUnit, UnitGetPosition(aiUnit), AIUnitFixed(player, c_ZU_Overseer, c_fieldSightRange), c_noMaxCount)

# mods/starcoop/starcoop.sc2mod

TactCampAI.galaxy

// L74
AIFindUnits(player, null, UnitGetPosition(aiUnit), 
							8, c_noMaxCount)
// L1648
AIFindUnits(player, null, UnitGetPosition(aiUnit), 
                        AIAbilityFixed(player, "DefensiveMatrixTarget", c_fieldRange0) + 1,
                        c_noMaxCount)

# mods/starcoop/starcoop.sc2mod

TactProtAI.galaxy

// L482
AIFindUnits(player, c_PB_Nexus, UnitGetPosition(aiUnit), 10, c_noMaxCount)

# mods/starcoop/starcoop.sc2mod

TactTerrAI.galaxy

// L843
AIFindUnits(player, wanted, UnitGetPosition(aiUnit), c_campaignBunkerLoadRange, c_noMaxCount)
// L870
AIFindUnits(player, wanted, UnitGetPosition(aiUnit), loadRange, c_noMaxCount)
// L1138
AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_D8ChargeDmg, c_fieldAreaRadius2), c_noMaxCount)
// L1158
AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_KD8ChargeDmg, c_fieldAreaRadius0), c_noMaxCount)

# mods/starcoop/starcoop.sc2mod

TactZergAI.galaxy

// L25
AIFindUnits(player, null, UnitGetPosition(aiUnit), 
                        AIAbilityFixed(player, c_AB_Transfusion, c_fieldRange0) + 1,
                        c_noMaxCount)
// L68
AIFindUnits(player, 
                             c_ZB_Hatchery_Alias, 
                             UnitGetPosition(aiUnit), 
                             15,
                             c_noMaxCount)
// L427
AIFindUnits(player, null, UnitGetPosition(aiUnit), 5.0, c_noMaxCount)
// L1106
AIFindUnits(enemyPlayer, c_PU_Zealot, here, range, c_maxEnemyCount)
// L1107
AIFindUnits(enemyPlayer, c_ZU_Zergling, here, range, c_maxEnemyCount)
// L1108
AIFindUnits(enemyPlayer, c_TU_Marine, here, range, c_maxEnemyCount)
// L1437
AIFindUnits(enemyPlayer, followUnit, UnitGetPosition(aiUnit), AIUnitFixed(player, c_ZU_Overseer, c_fieldSightRange), c_noMaxCount)

# mods/warcoop/warclassicsystem.sc2mod

TacticalAIWar3.galaxy

// L347
AIFindUnits(player, null, UnitGetPosition(aiUnit), 
                        AIAbilityFixed(player, entry, c_fieldRange0) + 2,
                        c_noMaxCount)