# Set Flag

Grammar — Sets the flag at index index for player player to state state
FlagsNative | Action

Sets the value of the specified flag index for a player. The flag is a per player boolean array that can be useful to AI scripting.

# Arguments

  • int — Player
  • int — Index
  • bool — State

Returns — void

native void AISetFlag(int player, int index, bool state);

Category: AI Advanced / Utility / Actions

# Examples

# mods/core.sc2mod

BaseAI.galaxy

// L155
AISetFlag(player, e_flagsAllowRetreat, (diff >= c_skirMed_Hard))
// L156
AISetFlag(player, e_flagsAllowDropAttack, (diff >= c_skirChMoney))
// L157
AISetFlag(player, e_flagsRunScared, false)
// L158
AISetFlag(player, e_flagsLateScout, false)
// L159
AISetFlag(player, e_flagsClearObs, false)

# mods/core.sc2mod

MeleeHighAI.galaxy

// L195
AISetFlag(player, e_flagsScouting, true)
// L199
AISetFlag(player, e_flagsScouting, AITechCount(player, scout, c_techCountCompleteOnly) >= scoutCount)
// L206
AISetFlag(player, e_flagsScouting, true)
// L216
AISetFlag(player, e_flagsScouting, enableScouting)
// L226
AISetFlag(player, e_flagsEarlyDefScout, false)
// L232
AISetFlag(player, e_flagsLateScout, true)
// L262
AISetFlag(player, e_flagsEarlyDefScout, enableScouting)

# mods/core.sc2mod

MeleeLowAI.galaxy

// L146
AISetFlag(player, e_flagsScouting, true)
// L149
AISetFlag(player, e_flagsScouting, true)
// L152
AISetFlag(player, e_flagsScouting, true)

# mods/liberty.sc2mod

Protoss.galaxy

// L140
AISetFlag(player, e_flagsScouting, true)
// L218
AISetFlag(player, e_flagsScouting, false)
// L219
AISetFlag(player, e_flagsEarlyDefScout, false)

# mods/liberty.sc2mod

ProtossEasy.galaxy

// L341
AISetFlag(player, e_flagsScouting, true)
// L342
AISetFlag(player, e_flagsLateScout, true)
// L343
AISetFlag(player, e_flagsDetect, true)
// L666
AISetFlag(player, e_flagsScouting, true)
// L667
AISetFlag(player, e_flagsClearObs, true)
// L668
AISetFlag(player, e_flagsLateScout, true)
// L669
AISetFlag(player, e_flagsDetect, true)

# mods/liberty.sc2mod

ProtossHard.galaxy

// L546
AISetFlag(player, e_flagsScouting, true)
// L547
AISetFlag(player, e_flagsLateScout, true)
// L548
AISetFlag(player, e_flagsDetect, true)
// L961
AISetFlag(player, e_flagsScouting, true)
// L962
AISetFlag(player, e_flagsClearObs, true)
// L963
AISetFlag(player, e_flagsLateScout, true)
// L964
AISetFlag(player, e_flagsDetect, true)

# mods/liberty.sc2mod

ProtossHigh.galaxy

// L794
AISetFlag(player, e_flagsLateScout, true)
// L820
AISetFlag(player, e_flagsTimeout, true)
// L821
AISetFlag(player, e_flagsDetect, true)
// L822
AISetFlag(player, e_flagsLateScout, true)
// L823
AISetFlag(player, e_flagsClearObs, true)
// L824
AISetFlag(player, e_flagsDiversion, true)
// L825
AISetFlag(player, e_flagsEarlyDefScout, false)

# mods/liberty.sc2mod

ProtossMdHd.galaxy

// L508
AISetFlag(player, e_flagsScouting, true)
// L509
AISetFlag(player, e_flagsLateScout, true)
// L510
AISetFlag(player, e_flagsDetect, true)
// L887
AISetFlag(player, e_flagsScouting, true)
// L888
AISetFlag(player, e_flagsClearObs, true)
// L889
AISetFlag(player, e_flagsLateScout, true)
// L890
AISetFlag(player, e_flagsDetect, true)

# mods/liberty.sc2mod

ProtossMedi.galaxy

// L421
AISetFlag(player, e_flagsScouting, true)
// L422
AISetFlag(player, e_flagsLateScout, true)
// L423
AISetFlag(player, e_flagsDetect, true)
// L778
AISetFlag(player, e_flagsScouting, true)
// L779
AISetFlag(player, e_flagsClearObs, true)
// L780
AISetFlag(player, e_flagsLateScout, true)
// L781
AISetFlag(player, e_flagsDetect, true)

# mods/liberty.sc2mod

ProtossVyEy.galaxy

// L308
AISetFlag(player, e_flagsScouting, true)
// L309
AISetFlag(player, e_flagsLateScout, true)
// L310
AISetFlag(player, e_flagsDetect, true)
// L614
AISetFlag(player, e_flagsScouting, true)
// L615
AISetFlag(player, e_flagsClearObs, true)
// L616
AISetFlag(player, e_flagsLateScout, true)
// L617
AISetFlag(player, e_flagsDetect, true)

# mods/liberty.sc2mod

Terran.galaxy

// L159
AISetFlag(player, e_flagsScouting, true)
// L243
AISetFlag(player, e_flagsScouting, false)
// L244
AISetFlag(player, e_flagsEarlyDefScout, false)

# mods/liberty.sc2mod

TerranChIn.galaxy

// L551
AISetFlag(player, e_flagsDiversion, true)
// L900
AISetFlag(player, e_flagsDiversion, true)
// L2189
AISetFlag(player, e_flagsDiversion, true)
// L2270
AISetFlag(player, e_flagsDiversion, true)
// L2350
AISetFlag(player, e_flagsDiversion, true)
// L2448
AISetFlag(player, e_flagsDiversion, true)

# mods/liberty.sc2mod

TerranEasy.galaxy

// L328
AISetFlag(player, e_flagsScouting, true)
// L329
AISetFlag(player, e_flagsLateScout, true)
// L330
AISetFlag(player, e_flagsDetect, true)
// L668
AISetFlag(player, e_flagsScouting, true)
// L669
AISetFlag(player, e_flagsClearObs, true)
// L670
AISetFlag(player, e_flagsLateScout, true)
// L671
AISetFlag(player, e_flagsDetect, true)

# mods/liberty.sc2mod

TerranHard.galaxy

// L608
AISetFlag(player, e_flagsScouting, true)
// L609
AISetFlag(player, e_flagsLateScout, true)
// L610
AISetFlag(player, e_flagsDetect, true)
// L1093
AISetFlag(player, e_flagsScouting, true)
// L1094
AISetFlag(player, e_flagsClearObs, true)
// L1095
AISetFlag(player, e_flagsLateScout, true)
// L1096
AISetFlag(player, e_flagsDetect, true)

# mods/liberty.sc2mod

TerranHdVH.galaxy

// L551
AISetFlag(player, e_flagsDiversion, true)
// L900
AISetFlag(player, e_flagsDiversion, true)
// L2189
AISetFlag(player, e_flagsDiversion, true)
// L2270
AISetFlag(player, e_flagsDiversion, true)
// L2350
AISetFlag(player, e_flagsDiversion, true)
// L2448
AISetFlag(player, e_flagsDiversion, true)

# mods/liberty.sc2mod

TerranHigh.galaxy

// L826
AISetFlag(player, e_flagsLateScout, true)
// L852
AISetFlag(player, e_flagsTimeout, true)
// L853
AISetFlag(player, e_flagsDetect, true)
// L854
AISetFlag(player, e_flagsLateScout, true)
// L855
AISetFlag(player, e_flagsClearObs, true)
// L856
AISetFlag(player, e_flagsDiversion, true)
// L857
AISetFlag(player, e_flagsEarlyDefScout, false)

# mods/liberty.sc2mod

TerranMdHd.galaxy

// L588
AISetFlag(player, e_flagsScouting, true)
// L589
AISetFlag(player, e_flagsLateScout, true)
// L590
AISetFlag(player, e_flagsDetect, true)
// L1045
AISetFlag(player, e_flagsScouting, true)