# Tactical AI Filter Alliance
Grammar — Tactical AI Filter - include only alliance in filter
Flags —Native
|Action
Sets the specified AI Filter to only include either enemy or allied units. Use this and the other “Tactical AI Filter” actions to set up an AI Filter, which can then be used in a “Tactical AI Filter - Run” function to filter a unit group.
# Arguments
aifilter
— Filterint
<preset::AIFilterAlliance> — Alliance
Returns — void
native void AISetFilterAlliance(aifilter filter, int want);
# Related
Category: AI Advanced / Filters / Actions
- Tactical AI Filter Alliance —
void
— AISetFilterAlliance - Tactical AI Filter Markers —
void
— AISetFilterMarker - Tactical AI Filter Remove Self —
void
— AISetFilterSelf - Tactical AI Filter Range —
void
— AISetFilterRange - Tactical AI Filter In Combat —
void
— AISetFilterInCombat - Tactical AI Filter Melee —
void
— AISetFilterMelee - Tactical AI Filter Life —
void
— AISetFilterLife - Tactical AI Filter Life Lost —
void
— AISetFilterLifeLost - Tactical AI Filter Life Sort Reference —
void
— AISetFilterLifeSortReference - Tactical AI Filter Life Modifier —
void
— AISetFilterLifeMod - Tactical AI Filter Life Per Marker —
void
— AISetFilterLifePerMarker - Tactical AI Filter Movement Plane —
void
— AISetFilterPlane - Tactical AI Filter Unit Filter —
void
— AISetFilterBits - Tactical AI Filter Shields —
void
— AISetFilterShields - Tactical AI Filter Energy —
void
— AISetFilterEnergy
# Examples
campaigns/liberty.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:243
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterLifePerMarker(filter, damage*0.5, mark);
AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage);
campaigns/liberty.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:438
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("-;Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterLifePerMarker(filter, damage, mark);
campaigns/liberty.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:560
filter = AIFilter(player);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_ConsumeDNA, c_fieldFilters)));
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_ConsumeDNA, c_fieldRange0));
AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage);
campaigns/liberty.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:660
// Only target buildings.
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("Structure;Construction,Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_PlasmaBlast, c_fieldRange0));
campaigns/liberty.sc2campaign — base.sc2maps/maps/campaign/ttosh03a.sc2map/MapScript.galaxy:465
}
AISetFilterAlliance(lv_snipeFilter, c_playerGroupEnemy);
AISetFilterBits(lv_snipeFilter, libNtve_gf_ConvertTargetFilterStringToUnitFilter(CatalogFieldValueGet(c_gameCatalogAbil, "Snipe", "TargetFilters[" + IntToString(0) + "]", lp_owner)));
AISetFilterRange(lv_snipeFilter, lp_ghost, (StringToFixed(CatalogFieldValueGet(c_gameCatalogAbil, "Snipe", "Range[" + IntToString(0) + "]", lp_owner)) + 1.0));
campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/ttosh03a.sc2map — MapScript.galaxy:465
}
AISetFilterAlliance(lv_snipeFilter, c_playerGroupEnemy);
AISetFilterBits(lv_snipeFilter, libNtve_gf_ConvertTargetFilterStringToUnitFilter(CatalogFieldValueGet(c_gameCatalogAbil, "Snipe", "TargetFilters[" + IntToString(0) + "]", lp_owner)));
AISetFilterRange(lv_snipeFilter, lp_ghost, (StringToFixed(CatalogFieldValueGet(c_gameCatalogAbil, "Snipe", "Range[" + IntToString(0) + "]", lp_owner)) + 1.0));
campaigns/swarm.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:243
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterLifePerMarker(filter, damage*0.5, mark);
AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage);
campaigns/swarm.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:438
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("-;Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterLifePerMarker(filter, damage, mark);
campaigns/swarm.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:560
filter = AIFilter(player);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_ConsumeDNA, c_fieldFilters)));
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_ConsumeDNA, c_fieldRange0));
AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage);
campaigns/swarm.sc2campaign — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:660
// Only target buildings.
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("Structure;Construction,Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_PlasmaBlast, c_fieldRange0));
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:810
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_Feedback, c_fieldTargetFiltersAB)));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_Feedback, c_fieldRange0) + 1);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:1562
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_Disintegration);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:48
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_250mmStrikeCannons, c_fieldTargetFiltersAB)));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_250mmStrikeCannons, c_fieldRange0));
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:214
filterAI = AIFilter(player);
AISetFilterAlliance(filterAI, c_playerGroupEnemy);
AISetFilterBits(filterAI, UnitFilterStr(AIAbilityStr(player, c_AB_Snipe, c_fieldTargetFiltersAB)));
AISetFilterRange(filterAI, aiUnit, AIAbilityFixed(player, c_AB_Snipe, c_fieldRange0) + 1);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:274
filterAI = AIFilter(player);
AISetFilterAlliance(filterAI, c_playerGroupEnemy);
AISetFilterBits(filterAI, UnitFilterStr(AIAbilityStr(player, c_AB_SteadyTargeting, c_fieldTargetFiltersAB)));
AISetFilterRange(filterAI, aiUnit, AIAbilityFixed(player, c_AB_SteadyTargeting, c_fieldRange0) + 1);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:459
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("-;Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterLifePerMarker(filter, damage, mark);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1167
targetGroup = AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_D8ChargeDmg, c_fieldAreaRadius2), c_noMaxCount);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
AISetFilterSelf(filter, aiUnit);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1187
targetGroup = AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_KD8ChargeDmg, c_fieldAreaRadius0), c_noMaxCount);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
AISetFilterSelf(filter, aiUnit);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1233
filter = AIFilter(player);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_SeekerMissile, c_fieldTargetFiltersAB)));
AISetFilterAlliance(filter, c_playerGroupEnemy);
damage = AIEffectFixed(player, c_EF_SeekerDamage, c_fieldAmount);
AISetFilterLife(filter, damage*c_minDamageFraction, c_noMax);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:33
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
AISetFilterLifeLost(filter, AIEffectFixed(player, c_EF_Transfusion, c_fieldEffectChange0) - 20, c_noMax);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:479
groundAirFilter = AIFilter(player);
AISetFilterAlliance(groundAirFilter, c_playerGroupEnemy);
AISetFilterPlane(groundAirFilter, c_planeGround);
enemyGroundCount = UnitGroupCount(AIGetFilterGroup(groundAirFilter, scanGroup), c_unitCountAlive);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:489
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_NeuralParasite, c_fieldTargetFiltersAB)));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_NeuralParasite, c_fieldRange0) + 1);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:595
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIWeaponStr(player, c_WE_InfestedTerran, c_fieldTargetFilters)));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_InfestedTerrans, c_fieldRange0) + 1);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:928
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterPlane(filter, c_planeGround);
AISetFilterCanAttackAlly(filter, c_groundAlliesNearby, false);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:963
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_Contaminate);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:1035
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterLife(filter, minVitality, c_noMax);
AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_Corruption);
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:1066
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_LeechResources, c_fieldTargetFiltersAB)));
enemyGroup = AIGetFilterGroup (filter, scanGroup);
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:1983
// Implementation
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
AISetFilterBits(lv_enemyNearbyFilter, UnitFilter((1 << c_targetFilterVisible), 0, (1 << c_targetFilterAir) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile) | (1 << c_targetFilterBuried), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterHallucination - 32)) | (1 << (c_targetFilterInvulnerable - 32))));
lv_enemyUnitsNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2020
// Implementation
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
if ((UnitGetCooldown(lp_aIUnit, "MutatorAmonDehakaHeal") <= 0.0) && ((UnitGetPropertyFixed(lp_aIUnit, c_unitPropLifeMax, c_unitPropCurrent) - UnitGetPropertyFixed(lp_aIUnit, c_unitPropLife, c_unitPropCurrent)) > 150.0)) {
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2038
if ((UnitOrderHasAbil(lp_aIUnit, "MutatorAmonDehakaDrag") == false) && (UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonDehakaDrag", "Drag") <= 0.0)) {
lv_abilityRange = StringToFixed(CatalogFieldValueGet(c_gameCatalogAbil, "MutatorAmonDehakaDrag", "Range[" + IntToString(0) + "]", lp_owner));
AISetFilterAlliance(lv_canidatesFilter, c_playerGroupEnemy);
AISetFilterBits(lv_canidatesFilter, UnitFilter((1 << c_targetFilterVisible), 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterHallucination - 32)) | (1 << (c_targetFilterInvulnerable - 32)) | (1 << (c_targetFilterSummoned - 32))));
AISetFilterRange(lv_canidatesFilter, lp_aIUnit, lv_abilityRange);
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2102
// Implementation
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
if ((UnitGroupCount(lp_nearByUnits, c_unitCountAlive) <= 0)) {
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2134
lv_autoAttackDamage = CatalogFieldValueGetAsInt(c_gameCatalogEffect, "MutatorAmonNovaWeaponImprovedCanisterRifleCloaked", "Amount", lp_owner);
AISetFilterLife(lv_targetFilter2, lv_autoAttackDamage, 524287.0);
AISetFilterAlliance(lv_targetFilter2, c_playerGroupEnemy);
AISetFilterBits(lv_targetFilter2, UnitFilter((1 << c_targetFilterVisible), 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile) | (1 << c_targetFilterBuried), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterHallucination - 32)) | (1 << (c_targetFilterInvulnerable - 32))));
AISetFilterRange(lv_targetFilter2, lp_aIUnit, lv_abilityRange);
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2177
// Implementation
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
if ((UnitGroupCount(lv_enemiesNearby, c_unitCountAlive) <= 0)) {
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2184
if ((PlayerGetCooldown(UnitGetOwner(lp_aIUnit), "MutatorAmonZagaraBanelingBarrage") <= 0.0)) {
AISetFilterAlliance(lv_targetFilter2, c_playerGroupEnemy);
AISetFilterPlane(lv_targetFilter2, c_planeGround);
AISetFilterBits(lv_targetFilter2, UnitFilter((1 << c_targetFilterVisible), 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile) | (1 << c_targetFilterBuried), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterHallucination - 32)) | (1 << (c_targetFilterInvulnerable - 32))));
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2268
// Implementation
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
if ((UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonArtanisAstralWind", "Abil/MutatorAmonArtanisAstralWind") <= 0.0) && ((UnitGetPropertyFixed(lp_aIUnit, c_unitPropShieldsMax, c_unitPropCurrent) - UnitGetPropertyFixed(lp_aIUnit, c_unitPropShields, c_unitPropCurrent)) > 150.0)) {
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2315
// Implementation
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
AISetFilterBits(lv_enemyNearbyFilter, UnitFilter((1 << c_targetFilterVisible), 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile) | (1 << c_targetFilterBuried), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterHallucination - 32)) | (1 << (c_targetFilterInvulnerable - 32))));
lv_enemyUnitsNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMU.galaxy:2388
// Implementation
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
if ((UnitGroupCount(lv_enemiesNearby, c_unitCountAlive) <= 0)) {
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:599
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterLifePerMarker(filter, damage*0.5, mark);
AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:794
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("-;Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterLifePerMarker(filter, damage, mark);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:916
filter = AIFilter(player);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_ConsumeDNA, c_fieldFilters)));
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_ConsumeDNA, c_fieldRange0));
AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:991
filter = AIFilter(player);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_ConsumeDNA, c_fieldTargetFiltersAB)));
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterRange(filter, aiUnit, (AIAbilityFixed(player, c_AB_ConsumeDNA, c_fieldRange0))-1);
AISetFilterLifeSortReference(filter, damage, damage*c_distanceFromDamage);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:1104
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("-;Construction,Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, "HybridDominatorVoidPlasmaBlast", c_fieldRange0));
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:1384
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("Structure;Construction,Missile,Self,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_HybridPhaseShift, c_fieldRange0));
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:1654
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
AISetFilterLifeLost(filter, AIEffectFixed(player, c_EF_Transfusion, c_fieldEffectChange0) - 20, c_noMax);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:1556
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_Disintegration);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:53
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_250mmStrikeCannons, c_fieldTargetFiltersAB)));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_250mmStrikeCannons, c_fieldRange0));
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:216
filterAI = AIFilter(player);
AISetFilterAlliance(filterAI, c_playerGroupEnemy);
AISetFilterBits(filterAI, UnitFilterStr("Biological,Visible;Heroic,Self,Structure,Destructible,Stasis,Dead,Hidden,Invulnerable"));
AISetFilterRange(filterAI, aiUnit, AIAbilityFixed(player, c_AB_Snipe, c_fieldRange0) + 1);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:266
filterAI = AIFilter(player);
AISetFilterAlliance(filterAI, c_playerGroupEnemy);
AISetFilterBits(filterAI, UnitFilterStr(AIAbilityStr(player, c_AB_SteadyTargeting, c_fieldTargetFiltersAB)));
AISetFilterRange(filterAI, aiUnit, AIAbilityFixed(player, c_AB_SteadyTargeting, c_fieldRange0) + 1);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:439
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr("-;Heroic,Missile,Stasis,Item,Dead,Hidden,Invulnerable"));
AISetFilterLifePerMarker(filter, damage, mark);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1140
targetGroup = AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_D8ChargeDmg, c_fieldAreaRadius2), c_noMaxCount);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
AISetFilterSelf(filter, aiUnit);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1160
targetGroup = AIFindUnits(player, null, UnitGetPosition(aiUnit), AIEffectFixed(player, c_EF_KD8ChargeDmg, c_fieldAreaRadius0), c_noMaxCount);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
AISetFilterSelf(filter, aiUnit);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1205
filter = AIFilter(player);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_SeekerMissile, c_fieldTargetFiltersAB)));
AISetFilterAlliance(filter, c_playerGroupEnemy);
damage = AIEffectFixed(player, c_EF_SeekerDamage, c_fieldAmount);
AISetFilterLife(filter, damage*c_minDamageFraction, c_noMax);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:31
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
AISetFilterLifeLost(filter, AIEffectFixed(player, c_EF_Transfusion, c_fieldEffectChange0) - 20, c_noMax);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:423
filter = AIFilter(player);
AISetFilterSelf(filter, aiUnit);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterLife(filter, c_aiConsumptionTargetMinLife, c_noMax);
AISetFilterLifeSortReference(filter, c_aiConsumptionTargetMinLife, c_aiConsumptionTargetMinLife*c_distanceFromDamage);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:690
groundAirFilter = AIFilter(player);
AISetFilterAlliance(groundAirFilter, c_playerGroupEnemy);
AISetFilterPlane(groundAirFilter, c_planeGround);
enemyGroundCount = UnitGroupCount(AIGetFilterGroup(groundAirFilter, scanGroup), c_unitCountAlive);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:700
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_NeuralParasite, c_fieldTargetFiltersAB)));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_NeuralParasite, c_fieldRange0) + 1);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:806
//
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIWeaponStr(player, c_WE_InfestedTerran, c_fieldTargetFilters)));
AISetFilterRange(filter, aiUnit, AIAbilityFixed(player, c_AB_InfestedTerrans, c_fieldRange0) + 1);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:1137
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterPlane(filter, c_planeGround);
AISetFilterCanAttackAlly(filter, c_groundAlliesNearby, false);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:1172
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_Contaminate);
AISetFilterMarker(filter, c_noMarkersMin, c_noMarkersMax, mark);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:1244
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterLife(filter, minVitality, c_noMax);
AISetFilterBehaviorCount(filter, c_noBehaviorMin, c_noBehaviorMax, c_BF_Corruption);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:1275
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, UnitFilterStr(AIAbilityStr(player, c_AB_LeechResources, c_fieldTargetFiltersAB)));
enemyGroup = AIGetFilterGroup (filter, scanGroup);
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:1617
filter = AIFilter(player);
AISetFilterPlane(filter, c_planeGround);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterRange(filter, aiUnit, AIWeaponFixed(player, c_WE_LurkerMP, c_fieldRange0) - 1);
validTargets = AIGetFilterGroup(filter, scanGroup);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/Tactical/TacticalAIWar3.galaxy:154
static aifilter AIWar3SpellDamageFilter(int player, unit aiUnit, marker mark, fixed maxlife, unitfilter uf, fixed range, fixed damage){
aifilter filter=AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBits(filter, uf);
AISetFilterRange(filter, aiUnit, range+3);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/Tactical/TacticalAIWar3.galaxy:360
// }
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupAlly);
AISetFilterLifeLost(filter, amount, c_noMax);
group = AIGetFilterGroup(filter, group);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/Tactical/TacticalAIWar3.galaxy:436
AIWeaponGroup(player, weapon, scanGroup);
filter = AIFilter(player);
AISetFilterAlliance(filter, c_playerGroupEnemy);
AISetFilterBehaviorCount(filter,0,0,"ThreatClearer");
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:225
}
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
AISetFilterMelee(lv_enemyNearbyFilter, false);
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:290
}
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
AISetFilterMelee(lv_enemyNearbyFilter, false);
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:352
AISetFilterRange(lv_rangeFilter, lp_aIUnit, lv_radius);
lv_unitsInRange = AIGetFilterGroup(lv_rangeFilter, lp_nearByUnits);
AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
AISetFilterBits(lv_enemyNearbyFilter, libNtve_gf_ConvertTargetFilterStringToUnitFilter(CatalogFieldValueGet(c_gameCatalogEffect, (((lp_abil) + "@Search")), "SearchFilters", lp_owner)));
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lv_unitsInRange);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:355
AISetFilterBits(lv_enemyNearbyFilter, libNtve_gf_ConvertTargetFilterStringToUnitFilter(CatalogFieldValueGet(c_gameCatalogEffect, (((lp_abil) + "@Search")), "SearchFilters", lp_owner)));
lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lv_unitsInRange);
AISetFilterAlliance(lv_friendNearbyFilter, c_playerGroupAlly);
lv_friendNearby = AIGetFilterGroup(lv_friendNearbyFilter, lv_unitsInRange);
if ((libGAwT_gf_HeroInDanger(lp_aIUnit) == true)) {
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:557
lv_unitsInRange = AIGetFilterGroup(lv_rangeUnitFilter, lp_nearByUnits);
lv_rangeUnitFilter = AIFilter(lp_owner);
AISetFilterAlliance(lv_rangeUnitFilter, c_playerGroupAlly);
AISetFilterLife(lv_rangeUnitFilter, libGAwT_gv_c_noMin, 100.0);
lv_unitsInRangeFriend = AIGetFilterGroup(lv_rangeUnitFilter, lv_unitsInRange);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:567
lv_rangeUnitFilter = AIFilter(lp_owner);
AISetFilterAlliance(lv_rangeUnitFilter, c_playerGroupAlly);
AISetFilterAlliance(lv_rangeUnitFilter, c_playerGroupAlly);
AISetFilterLifeLost(lv_rangeUnitFilter, lv_heal, libGAwT_gv_c_noMax);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:568
lv_rangeUnitFilter = AIFilter(lp_owner);
AISetFilterAlliance(lv_rangeUnitFilter, c_playerGroupAlly);
AISetFilterAlliance(lv_rangeUnitFilter, c_playerGroupAlly);
AISetFilterLifeLost(lv_rangeUnitFilter, lv_heal, libGAwT_gv_c_noMax);
lv_unitsInRangeFriend = AIGetFilterGroup(lv_rangeUnitFilter, lv_unitsInRange);
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:589
lv_damage = libGAwT_gf_AIAbilAccumlatedAmount(lp_owner, lp_aIUnit, lp_abil, lv_level, "Damage");
AISetFilterInCombat(lv_rangeUnitFilter, true);
AISetFilterAlliance(lv_rangeUnitFilter, c_playerGroupEnemy);
lv_unitsInRangeEnemyHeroes = AIGetFilterGroup(lv_rangeUnitFilter, UnitGroupFilter(null, c_playerAny, lv_unitsInRange, UnitFilter(0, (1 << (c_targetFilterHeroUnit - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
lv_orderFinal = AIUnitGroupGetValidOrder(lv_unitsInRangeEnemyHeroes, lv_order, lp_aIUnit, true);