- Joined
- Mar 16, 2008
- Messages
- 1,012
Would anyone be willing to double check that these conditions are logical and won't cause a crash? I'm trying to diagnose a crash somewhere related to the cpu players running this .ai script.
JASS:
//===========================================================================
// Updates the values of all preset conditions
//===========================================================================
function UpdateConditions takes nothing returns nothing
set gCond_Need_Town_Hall = ( ( GetUnitCount( ROYAL_KEEP_01 ) ) + ( GetUnitCount( ROYAL_KEEP_02 ) ) < 5 )
set gCond_Need_LM = ( ( GetUnitCount( LUMBER_MILL ) ) < 1 )
set gCond_Need_BS = ( ( GetUnitCount( BLACKSMITH ) ) < 2 )
set gCond_Need_Market = ( (GetUnitCount( ARCANE_VAULT ) ) < 1 )
set gCond_Need_Garrison1 = ( ( GetUnitCount( GARRISON_1 ) + ( GetUnitCount( GARRISON_2 ) + GetUnitCount( GARRISON_3 ) ) ) == 0 )
set gCond_Need_Garrison2 = ( GetUnitCount( GARRISON_2 ) + GetUnitCount( GARRISON_3 ) == 0 )
set gCond_Need_Garrison3 = ( GetUnitCount( GARRISON_3 ) == 0 )
set gCond_Need_Stable1 = ( ( ( GetUnitCount( BARRACKS ) + GetUnitCount( STABLES_2 ) ) + ( GetUnitCount( STABLES_3 ) + GetUnitCount( STABLES_4 ) ) ) == 0 )
set gCond_Need_Stable2 = ( GetUnitCount( STABLES_2 ) + GetUnitCount( STABLES_3 ) + GetUnitCount( STABLES_4 ) == 0 )
set gCond_Need_Stable3 = ( GetUnitCount( STABLES_3 ) + GetUnitCount( STABLES_4 ) == 0 )
set gCond_Need_Stable4 = ( GetUnitCount( STABLES_4 ) == 0 )
set gCond_Need_Farm = ( ( ( ( GetUnitCount( FARM_1 ) + GetUnitCount( FARM_2 ) ) + GetUnitCount( FARM_3 ) ) + ( GetUnitCount( FARM_4 ) + GetUnitCount( FARM_5 ) ) ) < 6 )
set gCond_Need_Guard_Tower = ((GetUnitCount( BASIC_TOWER ) + GetUnitCount( GUARD_TOWER )) < 2)
set gCond_Need_Research_Cntr1 = ( ( GetUnitCount( RESEARCH_CENTER_1 ) + GetUnitCount( RESEARCH_CENTER_2 ) ) == 0 )
set gCond_Need_Research_Cntr2 = ( GetUnitCount( RESEARCH_CENTER_2 ) == 0 )
set gCond_Need_Barracks = ( ( GetUnitCount( RUSH_BARRACKS ) ) < 1 )
set gCond_Need_Market_1 = ( (GetUnitCount( ARCANE_VAULT ) ) < 1 )
set gCond_Need_Ftn = ( (GetUnitCount( FOUNTAIN ) ) < 1 )
set gCond_Need_Cold_Tower = ( ( GetUnitCount( TOWER_COLD_1 ) + ( GetUnitCount( TOWER_COLD_2 ) + GetUnitCount( TOWER_COLD_3 ) + GetUnitCount( TOWER_COLD_4 ) ) ) == 0 )
set gCond_Need_Flame_Tower = ( ( GetUnitCount( TOWER_FLAME_1 ) + ( GetUnitCount( TOWER_FLAME_2 ) + GetUnitCount( TOWER_FLAME_3 ) + GetUnitCount( TOWER_FLAME_4 ) + GetUnitCount( TOWER_FLAME_5 ) + GetUnitCount( TOWER_FLAME_6 ) ) ) == 0 )
set gCond_Need_Royal_Tower = ( ( GetUnitCount( TOWER_ROYAL_1 ) + ( GetUnitCount( TOWER_ROYAL_2 ) + GetUnitCount( TOWER_ROYAL_3 ) + GetUnitCount( TOWER_ROYAL_4 ) + GetUnitCount( TOWER_ROYAL_5 ) ) ) == 0 )
set gCond_Need_Knight_1 = (( GetUnitCount( BARRACKS ) == 1 ) and ( GetUnitCount( ELITE_GARRISON ) == 0 ))
set gCond_Need_Knight_2 = (( GetUnitCount( STABLES_2 ) == 1 ) and ( GetUnitCount( ELITE_GARRISON ) == 0 ))
set gCond_Need_Knight_3 = (( GetUnitCount( STABLES_3 ) == 1 ) and ( GetUnitCount( ELITE_GARRISON ) == 0 ))
set gCond_Need_Knight_4 = (((GetUnitCount( STABLES_4 )) + (GetUnitCount( STABLES_5 )) == 1 ) and ( GetUnitCount( ELITE_GARRISON ) == 0 ))
set gCond_Need_Sanctum = ( (GetUnitCount( SANCTUM ) ) < 1 )
set gCond_Low_Knights = ((GetUnitCount( KNIGHT )) + (GetUnitCount( ROYAL_KNIGHT_2 )) + (GetUnitCount( ROYAL_KNIGHT_3 )) + (GetUnitCount( ROYAL_KNIGHT_4)) < 4)
set gCond_No_Elite_Garrison = ( GetUnitCount( ELITE_GARRISON ) == 0 )
set gCond_Edict_GT_2 = (GetUpgradeLevel( UPG_ROYAL_EDICT ) > 2)
set gCond_Edict_LT_3 = ( GetUpgradeLevel( UPG_ROYAL_EDICT ) < 3 )
set gCond_Edict_LT_5 = ( GetUpgradeLevel( UPG_ROYAL_EDICT ) < 5 )
set gCond_EGT2_PLT3 = ((GetUpgradeLevel( UPG_ROYAL_EDICT ) > 2) and (GetUpgradeLevel( UPG_ROYAL_PROC ) < 3))
set gCond_Proc_2_5 = (( GetUpgradeLevel( UPG_ROYAL_PROC ) > 2 ) and ( GetUpgradeLevel( UPG_ROYAL_PROC ) < 5 ))
set gCond_Proc_4_8 = (( GetUpgradeLevel( UPG_ROYAL_PROC ) > 4 ) and ( GetUpgradeLevel( UPG_ROYAL_PROC ) < 8 ))
set gCond_Proc_7_14 = (( GetUpgradeLevel( UPG_ROYAL_PROC ) > 7 ) and ( GetUpgradeLevel( UPG_ROYAL_PROC ) < 14 ))
set gCond_Proc_13_17 = (( GetUpgradeLevel( UPG_ROYAL_PROC ) > 13 ) and ( GetUpgradeLevel( UPG_ROYAL_PROC ) < 17 ))
set gCond_Proc_16 = ( GetUpgradeLevel( UPG_ROYAL_PROC ) > 16 )
set gCond_No_Expos = ((( TownHasHall( 2 ) == false )) and (( TownHasHall( 3 ) == false )))
set gCond_Town_2 = (( TownHasHall( 2 ) == true ))
set gCond_Town_3 = (( TownHasHall( 3 ) == true ))
set gCond_No_Town_2 = (( TownHasHall( 2 ) == false ))
set gCond_No_Town_3 = (( TownHasHall( 3 ) == false ))
set gCond_Mines_GT3 = (GetMinesOwned() > 3)
set gCond_Low_Army = ((GetUnitCount( SQUIRE )) + (GetUnitCount( HIGH_FOOTMAN )) + (GetUnitCount( EXEGGCUTER )) + (GetUnitCount( SPEAR_MAN )) + (GetUnitCount( TEMPLAR )) + (GetUnitCount( JUSTICAR )) + (GetUnitCount( GENERAL )) + (GetUnitCount( CRUSADER_ELITE )) + (GetUnitCount( ROYAL_SPEAR_ELITE )) + (GetUnitCount( GENERAL_ELITE )) + (GetUnitCount( PEGASUS )) + (GetUnitCount( EXEMPLAR_XL )) + (GetUnitCount( ROYAL_COURT_MAGE )) + (GetUnitCount( KNIGHT )) + (GetUnitCount( ROYAL_KNIGHT_2 )) + (GetUnitCount( ROYAL_KNIGHT_3 )) + (GetUnitCount( ROYAL_KNIGHT_4 )) + (GetUnitCount( RUSH_CRUSADER )) + (GetUnitCount( RUSH_PALADIN)) < 12)
set gCond_WorkerT2 = (GetUnitCount( ROYAL_ENGINEER_2 ) == 0)
set gCond_Gyrations = (GetUpgradeLevel( UPG_LEATHER ) > 0)
set gCond_Food_Space = (FoodSpace() < 8)
set gCond_Food_Space_GT4 = (FoodSpace() > 4)
set gCond_Food_Cap_LT226 = (FoodCap() < 226)
set gCond_Unit_Count = (GetUnitCount(PEASANT) + GetUnitCount(hero_id) + GetUnitCount(hero_id2) + GetUnitCount(MORTAR) + GetUnitCountDone(ROYAL_PRIEST) + GetUnitCountDone(BISHOP) + GetUnitCountDone(KNIGHT) + GetUnitCountDone(RED_MARSHALL) + GetUnitCountDone(BLUE_MARSHALL) + GetUnitCountDone(TEAL_MARSHALL) + GetUnitCountDone(PURP_MARSHALL) + GetUnitCountDone(SQUIRE) + GetUnitCountDone(HIGH_FOOTMAN) + GetUnitCountDone(EXEGGCUTER) + GetUnitCountDone(SPEAR_MAN) + GetUnitCountDone(SORCERESS) + GetUnitCountDone(KNIGHT) + GetUnitCountDone(ROYAL_KNIGHT_2) + GetUnitCountDone(ROYAL_KNIGHT_3) + GetUnitCountDone(TEMPLAR) + GetUnitCountDone(JUSTICAR) + GetUnitCountDone(ROYAL_KNIGHT_4) + GetUnitCountDone(GENERAL) + GetUnitCountDone(CRUSADER_ELITE) + GetUnitCountDone(ROYAL_SPEAR_ELITE) + GetUnitCountDone(GENERAL_ELITE) + GetUnitCountDone(PEGASUS) + GetUnitCountDone(EXEMPLAR_XL) + GetUnitCountDone(ROYAL_COURT_MAGE) < 58)
endfunction
