[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 571: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 627: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 370: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5336: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3925)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5336: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3925)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5336: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3925)
forum.starcraftai.com • Kryose T-AI v1.1 - no $
Page 1 of 2

Kryose T-AI v1.1 - no $

Posted: Sat May 31, 2008 1:19 am
by Kryose
Hello everyone,

For the last few weeks I have been working on a non-cheating terran AI that would hopefully be good enough to get into Entropy II v1.1. I chose Terran because it is really the only race that I am completely comfortable with. Please take a look at it and give it a go if you want as I have posted the code and uploaded the exe. Any feedback would be great.

Thanks to Ashara for his insight and suggestions, and everyone else who answered my questions here on this forum, thanks!
Kryose

[attachment=922:Kryose_T-AI_v1.1_-_no.zip]

[spoiler]; ASC3 File generated by ScAIEdit III
;
; Script name : Terran Expansion Custom Level
;
; Kryose Random Build 1.0 - Created by Kryose
;

script_name Terran Expansion Custom Level
script_id TMCx


; === STARTUP COMMANDS ===
start_town
transports_off
farms_notiming


; === MAX UNIT DEFINITION ===

define_max 150 scv
define_max 130 marine
define_max 40 medic
define_max 110 firebat
define_max 110 ghost
define_max 130 vulture
define_max 65 siege_tank
define_max 65 goliath
define_max 40 wraith
define_max 20 battlecruiser
define_max 2 nuclear_missile
define_max 8 science_vessel
define_max 15 dropship
define_max 255 valkyrie


; === START ===

build 1 command_center 150
wait_build 1 command_center
build 4 scv 130
wait_build 4 scv

build 5 scv 80
wait_buildstart 5 scv
build 6 scv 80
wait_buildstart 6 scv
build 7 scv 80
wait_buildstart 7 scv
wait_build 7 scv

multirun b_main_barracks

build 8 scv 80
wait_buildstart 8 scv
wait_build 8 scv

build 1 supply_depot 80
wait_buildstart 1 supply_depot

build 9 scv 80
wait_buildstart 9 scv
wait_build 9 scv

build 1 refinery 80
wait_buildstart 1 refinery

build 10 scv 80
wait_buildstart 10 scv

farms_timing

multirun r_science_facility

random_jump 85 tank_bike_goliath
random_jump 128 wraith_cruiser
goto medic_marine

; === MEDIC/MARINE MAIN ===

:medic_marine_from_suicide

send_suicide 1

:medic_marine


; --- ECONOMY/BUILDING ---

goto b_marine_start_defense
:a_marine_start_defense

call b_bunker

build 11 scv 80
wait_buildstart 11 scv
build 12 scv 80
wait_buildstart 12 scv

call b_academy

multirun b_marine_barracks

build 13 scv 80
wait_buildstart 13 scv
build 14 scv 80
wait_buildstart 14 scv
build 15 scv 80
wait_buildstart 15 scv

wait_build 1 academy
multirun r_academy
train 2 firebat
train 2 medic

call b_engineering_bay

expand 99 b_marine_expansion

build 16 scv 80
wait_buildstart 16 scv
build 17 scv 80
wait_buildstart 17 scv
build 18 scv 80
wait_buildstart 18 scv

wait_build 1 engineering_bay
multirun r_engineering_bay
train 4 firebat
train 4 medic

call b_factory

expand 99 b_marine_expansion

build 19 scv 80
wait_buildstart 19 scv
build 20 scv 80
wait_buildstart 20 scv
build 21 scv 80
wait_buildstart 21 scv

wait_build 1 factory
train 7 medic
train 7 firebat

multirun b_marine_vehicle_starport

expand 99 b_marine_expansion

build 22 scv 80
wait_buildstart 22 scv
build 23 scv 80
wait_buildstart 23 scv
build 24 scv 80
wait_buildstart 24 scv

wait_build 1 starport
train 9 medic
train 9 firebat

multirun b_marine_science_facility

expand 99 b_marine_expansion

multirun infantry_rush

build 25 scv 80
wait_buildstart 25 scv
build 26 scv 80
wait_buildstart 26 scv
build 27 scv 80
wait_buildstart 27 scv

call b_marine_final_defense

expand 99 b_marine_expansion

wait_build 8 barracks


; === MARINE END LOOP ===

:marine_suicide_loop

;call start_transports

;player_need 1 academy
;player_need 1 engineering_bay
;player_need 8 barracks
;player_need 1 factory
;player_need 1 starport
;player_need 1 science_facility
;wait_build 1 science_facility
;player_need 1 covert_ops

multirun marine_suicide_check

wait 500
attack_prepare
wait 500
attack_do
attack_clear

expand 99 b_marine_expansion

;random_jump 2 tank_bike_goliath_from_suicide
;random_jump 2 wraith_cruiser_from_suicide

wait 1500

notowns_jump science_facility marine_suicide_loop
notowns_jump starport marine_suicide_loop

race_jump 4_sv_infantry 8_sv_infantry 4_sv_infantry

:4_sv_infantry
multirun 4_science_vessels
goto marine_suicide_loop

:8_sv_infantry
multirun 8_science_vessels
goto marine_suicide_loop


; === VEHICLE MAIN ===

:tank_bike_goliath_from_suicide

send_suicide 1

:tank_bike_goliath


; --- ECONOMY/BUILDING ---

call b_bunker

goto b_vehicle_start_defense
:a_vehicle_start_defense

build 11 scv 80
wait_buildstart 11 scv

call b_academy

multirun b_vehicle_factories

build 12 scv 80
wait_buildstart 12 scv
build 13 scv 80
wait_buildstart 13 scv
build 14 scv 80
wait_buildstart 14 scv

wait_build 1 academy
train 2 vulture

call b_engineering_bay

build 15 scv 80
wait_buildstart 15 scv

expand 99 b_vehicle_cruiser_expansion

build 16 scv 80
wait_buildstart 16 scv
build 17 scv 80
wait_buildstart 17 scv

wait_build 1 engineering_bay
wait_build 1 machine_shop
train 4 vulture

call b_armory

build 18 scv 80
wait_buildstart 18 scv

expand 99 b_vehicle_cruiser_expansion

build 19 scv 80
wait_buildstart 19 scv
build 20 scv 80
wait_buildstart 20 scv

wait_build 1 armory
wait_build 2 machine_shop
train 2 goliath
train 6 vulture

multirun r_ground_armory

multirun b_marine_vehicle_starport

build 21 scv 80
wait_buildstart 21 scv

expand 99 b_vehicle_cruiser_expansion

build 22 scv 80
wait_buildstart 22 scv
build 23 scv 80
wait_buildstart 23 scv

wait_build 1 starport
wait_build 3 machine_shop
train 5 goliath
train 8 vulture

multirun b_vehicle_science_facility

build 24 scv 80
wait_buildstart 24 scv

expand 99 b_vehicle_cruiser_expansion

multirun vehicle_rush

build 25 scv 80
wait_buildstart 25 scv
build 26 scv 80
wait_buildstart 26 scv

goto b_vehicle_final_defense
:a_vehicle_final_defense

build 27 scv 80
wait_buildstart 27 scv

expand 99 b_vehicle_cruiser_expansion

wait_build 8 factory


; === VEHICLE END LOOP ===

:vehicle_suicide_loop

;call start_transports

;player_need 1 academy
;player_need 1 engineering_bay
;player_need 1 barracks
;wait_build 1 barracks
;player_need 4 factory
;wait_build 1 factory
;player_need 1 starport
;player_need 1 science_facility
;wait_build 4 factory
;player_need 4 machine_shop

multirun vehicle_suicide_check

wait 500
attack_prepare
wait 500
attack_do
attack_clear

expand 99 b_vehicle_cruiser_expansion

;random_jump 2 medic_marine_from_suicide
;random_jump 2 wraith_cruiser_from_suicide

wait 1500

notowns_jump science_facility vehicle_suicide_loop
notowns_jump starport vehicle_suicide_loop

race_jump 4_sv_vehicle 8_sv_vehicle 4_sv_vehicle

:4_sv_vehicle
multirun 4_science_vessels
goto vehicle_suicide_loop

:8_sv_vehicle
multirun 8_science_vessels
goto vehicle_suicide_loop


; === BATTLECRUISER MAIN ===

:wraith_cruiser_from_suicide

send_suicide 1

player_need 2 science_facility

:wraith_cruiser


; --- ECONOMY/BUILDING ---

call b_bunker

goto b_cruiser_start_defense
:a_cruiser_start_defense

build 11 scv 80
wait_buildstart 11 scv

call b_academy

multirun b_cruiser_buildings

build 12 scv 80
wait_buildstart 12 scv
build 13 scv 80
wait_buildstart 13 scv
build 14 scv 80
wait_buildstart 14 scv

wait_build 1 academy
call b_factory

build 15 scv 80
wait_buildstart 15 scv

expand 99 b_vehicle_cruiser_expansion

build 16 scv 80
wait_buildstart 16 scv
build 17 scv 80
wait_buildstart 17 scv

wait_build 1 factory
call b_engineering_bay

wait 300

build 18 scv 80
wait_buildstart 18 scv

expand 99 b_vehicle_cruiser_expansion

build 19 scv 80
wait_buildstart 19 scv
build 20 scv 80
wait_buildstart 20 scv

wait 300

build 21 scv 80
wait_buildstart 21 scv

wait_build 1 engineering_bay
call b_armory

build 22 scv 80
wait_buildstart 22 scv
build 23 scv 80
wait_buildstart 23 scv

wait_build 1 armory
multirun r_air_armory

wait 300

multirun b_cruiser_science_facility

build 24 scv 80
wait_buildstart 24 scv

expand 99 b_vehicle_cruiser_expansion

build 25 scv 80
wait_buildstart 25 scv
build 26 scv 80
wait_buildstart 26 scv

goto b_cruiser_final_defense
:a_cruiser_final_defense

build 27 scv 80
wait_buildstart 27 scv

expand 99 b_vehicle_cruiser_expansion

multirun cruiser_rush

wait_build 8 starport


; === CRUISER END LOOP ===

:cruiser_suicide_loop

;player_need 1 academy
;player_need 1 engineering_bay
;player_need 1 barracks
;wait_build 1 barracks
;player_need 1 factory
;wait_build 1 factory
;player_need 4 starport
;player_need 1 science_facility
;wait_build 4 factory
;player_need 4 control_tower
;wait_build 1 science_facility
;player_need 1 physics_lab

multirun cruiser_suicide_check

wait 1500
attack_prepare
wait 500
attack_do
attack_clear

expand 99 b_vehicle_cruiser_expansion

;random_jump 2 tank_bike_goliath_from_suicide
;random_jump 2 medic_marine_from_suicide

wait 500

notowns_jump science_facility cruiser_suicide_loop
notowns_jump starport cruiser_suicide_loop

race_jump 4_sv_cruiser 8_sv_cruiser 4_sv_cruiser

:4_sv_cruiser
multirun 4_science_vessels
goto cruiser_suicide_loop

:8_sv_cruiser
multirun 8_science_vessels
goto cruiser_suicide_loop


; === MARINE EXPANSION SCRIPT ===

:b_marine_expansion
start_town
build 1 command_center 80
wait_build 1 command_center

get_oldpeons 4

build 1 scv 80
wait_buildstart 1 scv

build 1 barracks 70
wait_buildstart 1 barracks

build 2 scv 80
wait_buildstart 2 scv
build 3 scv 80
wait_buildstart 3 scv
build 4 scv 80
wait_buildstart 4 scv

notowns_jump academy b_bunkerexpo
build 1 comsat_station 80
wait_buildstart 1 comsat_station

:b_bunkerexpo
notowns_jump barracks b_turretexpo
build 2 bunker 70
wait_buildstart 2 bunker

:b_turretexpo
notowns_jump engineering_bay endexpo
build 4 missile_turret 70
wait_buildstart 4 missile_turret

:endexpo

build 1 refinery 70
wait_buildstart 1 refinery

wait_build 1 barracks

train 2 marine

build 5 scv 80
wait_buildstart 5 scv
build 6 scv 80
wait_buildstart 6 scv
build 7 scv 80
wait_buildstart 7 scv

train 2 firebat

build 8 scv 80
wait_buildstart 8 scv

train 2 medic

build 9 scv 80
wait_buildstart 9 scv

train 6 marine

build 10 scv 80
wait_buildstart 10 scv

train 4 firebat

build 4 bunker 80
wait_buildstart 4 bunker

train 3 medic
train 8 marine
train 5 firebat

player_need 1 command_center
player_need 1 barracks
player_need 4 bunker
player_need 4 missile_turret
wait_build 1 command_center
player_need 1 comsat_station
player_need 10 scv

stop


; === VEHICLE AND CRUISER EXPANSION SCRIPT ===

:b_vehicle_cruiser_expansion
start_town
build 1 command_center 80
wait_build 1 command_center

get_oldpeons 4

build 1 scv 80
wait_buildstart 1 scv
build 2 scv 80
wait_buildstart 2 scv

build 1 refinery 70
wait_buildstart 1 refinery

build 3 scv 80
wait_buildstart 3 scv
build 4 scv 80
wait_buildstart 4 scv

notowns_jump academy b_bunkerexpo
build 1 comsat_station 80
wait_buildstart 1 comsat_station

:b_bunkerexpo
notowns_jump barracks b_turretexpo
build 1 bunker 70
wait_buildstart 1 bunker

:b_turretexpo
notowns_jump engineering_bay endexpo
build 4 missile_turret 70
wait_buildstart 4 missile_turret

:endexpo
build 5 scv 80
wait_buildstart 5 scv
build 6 scv 80
wait_buildstart 6 scv
build 7 scv 80
wait_buildstart 7 scv
build 8 scv 80
wait_buildstart 8 scv
build 9 scv 80
wait_buildstart 9 scv
build 10 scv 80
wait_buildstart 10 scv

build 2 bunker 70
wait_buildstart 2 bunker

player_need 1 command_center
player_need 2 bunker
player_need 4 missile_turret
wait_build 1 command_center
player_need 1 comsat_station
player_need 10 scv

stop


; === BUILD SCRIPT ===

; --- MAIN BARRACKS ---

:b_main_barracks
build 1 barracks 80
wait_buildstart 1 barracks
wait_build 1 supply_depot
wait_build 1 barracks
train 3 marine

multirun infantry_rush

stop


; --- MAIN BUNKER ---

:b_bunker
wait_build 1 barracks
build 2 bunker 80
wait_buildstart 2 bunker
train 7 marine
return


; --- MAIN ACADEMY ---

:b_academy
wait_build 1 barracks
build 1 academy 80
wait_buildstart 1 academy
return


; --- MAIN ENGINEERING BAY ---

:b_engineering_bay
wait_build 1 barracks
build 1 engineering_bay 80
wait_buildstart 1 engineering_bay
wait_build 1 engineering_bay
build 3 missile_turret 70
wait_buildstart 3 missile_turret
return


; --- MARINE BARRACKS ---

:b_marine_barracks
wait_build 1 academy
build 2 barracks 80
wait_buildstart 2 barracks
build 3 bunker 80
wait_buildstart 3 bunker
build 4 bunker 80
wait_buildstart 4 bunker
wait_build 2 barracks
train 9 marine

multirun infantry_rush

wait_build 1 engineering_bay
build 3 barracks 80
wait_buildstart 3 barracks
build 5 bunker 80
wait_buildstart 5 bunker
build 6 bunker 80
wait_buildstart 6 bunker
build 4 missile_turret 80
wait_buildstart 4 missile_turret
wait_build 3 barracks
train 13 marine

multirun infantry_rush

wait_build 1 factory
build 4 barracks 80
wait_buildstart 4 barracks
build 7 bunker 80
wait_buildstart 7 bunker
build 8 bunker 80
wait_buildstart 8 bunker
build 5 missile_turret 80
wait_buildstart 5 missile_turret
wait_build 4 barracks
train 17 marine

multirun infantry_rush

wait_build 1 starport
build 5 barracks 80
wait_buildstart 5 barracks
build 9 bunker 80
wait_buildstart 9 bunker
build 10 bunker 80
wait_buildstart 10 bunker
build 6 missile_turret 80
wait_buildstart 6 missile_turret
wait_build 5 barracks
train 28 marine

multirun infantry_rush

wait_build 1 science_facility
build 8 barracks 80
wait_buildstart 8 barracks
build 11 bunker 80
wait_buildstart 11 bunker
build 12 bunker 80
wait_buildstart 12 bunker
build 8 missile_turret 80
wait_buildstart 8 missile_turret
stop


; --- FACTORY ---

:b_factory
wait_build 1 barracks
build 1 factory 80
wait_buildstart 1 factory
return


; --- MARINE AND VEHICLE STARPORT ---

:b_marine_vehicle_starport
wait_build 1 factory
build 1 starport 80
wait_buildstart 1 starport
wait_build 1 starport
build 1 control_tower 80
wait_buildstart 1 control_tower
wait_build 1 control_tower
train 4 dropship
stop


; --- MARINE SCIENCE FACILITY ---

:b_marine_science_facility
wait_build 1 starport
build 1 science_facility 80
wait_buildstart 1 science_facility
wait_build 1 science_facility
build 1 covert_ops 80
wait_buildstart 1 covert_ops
wait_build 1 covert_ops
race_jump r_terran_protoss r_zerg r_terran_protoss
:a_covert_ops_research
build 1 nuclear_silo 80
wait_buildstart 1 nuclear_silo
train 4 science_vessel
stop


; --- VEHICLE FACTORIES ---

:b_vehicle_factories

wait_build 1 academy
wait_build 1 barracks
build 1 factory 80
wait_buildstart 1 factory
build 1 comsat_station 80
wait_buildstart 1 comsat_station
wait_build 1 factory
build 1 machine_shop 80
wait_buildstart 1 machine_shop
wait_build 1 machine_shop
multirun r_machine_shop
train 1 siege_tank

multirun vehicle_rush

wait_build 1 engineering_bay
build 2 factory 80
wait_buildstart 2 factory
build 4 missile_turret 80
wait_buildstart 4 missile_turret
wait_build 2 factory
build 2 machine_shop 80
wait_buildstart 2 machine_shop
wait_build 2 machine_shop
train 3 siege_tank

multirun vehicle_rush

wait_build 1 armory
build 3 factory 80
wait_buildstart 3 factory
build 5 missile_turret 80
wait_buildstart 5 missile_turret
wait_build 3 factory
build 3 machine_shop 80
wait_buildstart 3 machine_shop
wait_build 3 machine_shop
train 5 siege_tank

multirun vehicle_rush

wait_build 1 starport
build 4 factory 80
wait_buildstart 4 factory
build 6 missile_turret 80
wait_buildstart 6 missile_turret
wait_build 4 factory
build 4 machine_shop 80
wait_buildstart 4 machine_shop
wait_build 4 machine_shop
train 7 siege_tank

multirun vehicle_rush

wait_build 1 science_facility
build 8 factory 80
wait_buildstart 8 factory
build 8 missile_turret 80
wait_buildstart 8 missile_turret
wait_build 8 factory
build 8 machine_shop 80
wait_buildstart 8 machine_shop
wait_build 8 machine_shop
stop


; --- ARMORY ---

:b_armory
wait_build 1 factory
build 1 armory 80
wait_buildstart 1 armory
return


; --- VEHICLE SCIENCE FACILITY ---

:b_vehicle_science_facility
wait_build 1 starport
build 1 science_facility 80
wait_buildstart 1 science_facility
wait_build 1 science_facility
train 4 science_vessel
stop


; --- CRUISER BUILDINGS ---

:b_cruiser_buildings

wait_build 1 barracks
build 4 bunker 80
wait_buildstart 4 bunker
train 12 marine
wait_build 1 academy
train 4 firebat
build 1 comsat_station 80
wait_buildstart 1 comsat_station

wait_build 1 factory
build 1 starport 80
wait_buildstart 1 starport
wait_build 1 starport
build 1 control_tower 80
wait_buildstart 1 control_tower
multirun 2_wraith

wait_build 1 engineering_bay
build 2 starport 80
wait_buildstart 2 starport
build 4 missile_turret 80
wait_buildstart 4 missile_turret
wait_build 2 starport
build 2 control_tower 80
wait_buildstart 2 control_tower
multirun r_control_tower
multirun 6_wraith

multirun cruiser_rush

wait_build 1 armory
build 3 starport 80
wait_buildstart 3 starport
build 5 missile_turret 80
wait_buildstart 5 missile_turret
wait_build 3 starport
build 3 control_tower 80
wait_buildstart 3 control_tower
multirun 8_wraith

multirun cruiser_rush

wait_build 1 science_facility
build 4 starport 80
wait_buildstart 4 starport
build 7 missile_turret 80
wait_buildstart 7 missile_turret
wait_build 4 starport
build 4 control_tower 80
wait_buildstart 4 control_tower
wait_build 4 control_tower
multirun 12_wraith

multirun cruiser_rush

build 8 starport 80
wait_buildstart 8 starport
wait_build 8 starport
build 8 control_tower 80
wait_buildstart 8 control_tower
build 10 missile_turret 80
wait_buildstart 10 missile_turret
stop


; --- CRUISER SCIENCE FACILITY ---

:b_cruiser_science_facility
wait_build 1 starport
build 1 science_facility 80
wait_buildstart 1 science_facility
wait_build 1 science_facility
build 1 physics_lab 80
wait_buildstart 1 physics_lab
train 4 science_vessel
multirun r_physics_lab
stop


; === DEFENSE SCRIPTS ===

; --- STARTING MARINE DEFENSE ---

:b_marine_start_defense
defenseclear_gg
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_gg 1 firebat
defenseuse_gg 1 firebat
defensebuild_gg 1 ghost
defenseuse_gg 1 ghost

defenseclear_ag
defensebuild_ag 1 marine
defenseuse_ag 1 marine
defensebuild_ag 1 ghost
defenseuse_ag 1 ghost

defenseclear_aa
defensebuild_aa 1 marine
defenseuse_aa 1 marine
defensebuild_aa 1 ghost
defenseuse_aa 1 ghost

defenseclear_ga
defensebuild_ga 1 marine
defenseuse_ga 1 marine
defensebuild_ga 1 ghost
defenseuse_ga 1 ghost
defensebuild_ga 1 firebat
defenseuse_ga 1 firebat
goto a_marine_start_defense


; --- FINAL MARINE DEFENSE ---

:b_marine_final_defense
defenseclear_gg
defensebuild_gg 2 marine
defenseuse_gg 2 marine
defensebuild_gg 2 firebat
defenseuse_gg 2 firebat
defensebuild_gg 2 ghost
defenseuse_gg 2 ghost

defenseclear_ag
defensebuild_ag 2 marine
defenseuse_ag 2 marine
defensebuild_ag 2 ghost
defenseuse_ag 2 ghost

defenseclear_aa
defensebuild_aa 2 marine
defenseuse_aa 2 marine
defensebuild_aa 2 ghost
defenseuse_aa 2 ghost

defenseclear_ga
defensebuild_ga 2 marine
defenseuse_ga 2 marine
defensebuild_ga 2 ghost
defenseuse_ga 2 ghost
defensebuild_ga 2 firebat
defenseuse_ga 2 firebat
return


; --- STARTING VEHICLE DEFENSE ---

:b_vehicle_start_defense
defenseclear_gg
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_gg 1 firebat
defenseuse_gg 1 firebat
defensebuild_gg 1 vulture
defenseuse_gg 1 vulture
defensebuild_gg 1 siege_tank
defenseuse_gg 1 siege_tank
defensebuild_gg 1 goliath
defenseuse_gg 1 goliath

defenseclear_ag
defensebuild_ag 1 marine
defenseuse_ag 1 marine
defensebuild_ag 1 goliath
defenseuse_ag 1 goliath

defenseclear_aa
defensebuild_aa 1 marine
defenseuse_aa 1 marine
defensebuild_aa 1 goliath
defenseuse_aa 1 goliath

defenseclear_ga
defensebuild_ga 1 marine
defenseuse_ga 1 marine
defensebuild_ga 1 vulture
defenseuse_ga 1 vulture
defensebuild_ga 1 firebat
defenseuse_ga 1 firebat
defensebuild_ga 1 siege_tank
defenseuse_ga 1 siege_tank
defensebuild_ga 1 goliath
defenseuse_ga 1 goliath
goto a_vehicle_start_defense


; --- FINAL VEHICLE DEFENSE ---

:b_vehicle_final_defense
defenseclear_gg
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_gg 2 vulture
defenseuse_gg 2 vulture
defensebuild_gg 2 siege_tank
defenseuse_gg 2 siege_tank
defensebuild_gg 2 goliath
defenseuse_gg 2 goliath

defenseclear_ag
defensebuild_ag 2 goliath
defenseuse_ag 2 goliath

defenseclear_aa
defensebuild_aa 2 goliath
defenseuse_aa 2 goliath

defenseclear_ga
defensebuild_ga 2 vulture
defenseuse_ga 2 vulture
defensebuild_ga 2 siege_tank
defenseuse_ga 2 siege_tank
defensebuild_ga 2 goliath
defenseuse_ga 2 goliath
goto a_vehicle_final_defense


; --- STARTING CRUISER DEFENSE ---

:b_cruiser_start_defense
defenseclear_gg
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_gg 1 firebat
defenseuse_gg 1 firebat
defensebuild_gg 1 vulture
defenseuse_gg 1 vulture
defensebuild_gg 1 wraith
defenseuse_gg 1 wraith
defensebuild_gg 1 battlecruiser
defenseuse_gg 1 battlecruiser

defenseclear_ag
defensebuild_ag 1 marine
defenseuse_ag 1 marine
defensebuild_ag 1 goliath
defenseuse_ag 1 goliath
defensebuild_ag 1 wraith
defenseuse_ag 1 wraith
defensebuild_ag 1 battlecruiser
defenseuse_ag 1 battlecruiser

defenseclear_aa
defensebuild_aa 1 marine
defenseuse_aa 1 marine
defensebuild_aa 1 goliath
defenseuse_aa 1 goliath
defensebuild_aa 1 wraith
defenseuse_aa 1 wraith
defensebuild_aa 1 battlecruiser
defenseuse_aa 1 battlecruiser

defenseclear_ga
defensebuild_ga 1 marine
defenseuse_ga 1 marine
defensebuild_ga 1 firebat
defenseuse_ga 1 firebat
defensebuild_ga 1 vulture
defenseuse_ga 1 vulture
defensebuild_ga 1 wraith
defenseuse_ga 1 wraith
defensebuild_ga 1 battlecruiser
defenseuse_ga 1 battlecruiser

goto a_cruiser_start_defense


; --- FINAL CRUISER DEFENSE ---

:b_cruiser_final_defense
defenseclear_gg
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_gg 1 wraith
defenseuse_gg 1 wraith
defensebuild_gg 1 battlecruiser
defenseuse_gg 1 battlecruiser

defenseclear_ag
defensebuild_ag 1 wraith
defenseuse_ag 1 wraith
defensebuild_ag 1 battlecruiser
defenseuse_ag 1 battlecruiser

defenseclear_aa
defensebuild_aa 1 wraith
defenseuse_aa 1 wraith
defensebuild_aa 1 battlecruiser
defenseuse_aa 1 battlecruiser

defenseclear_ga
defensebuild_ga 1 wraith
defenseuse_ga 1 wraith
defensebuild_ga 1 battlecruiser
defenseuse_ga 1 battlecruiser

goto a_cruiser_final_defense


; === RUSH CHECKS ===

; === MARINE RUSH ===

:infantry_rush

random_jump 192 dont_rush
random_jump 51 all_infantry_rush
random_jump 64 firebat_marine_rush
random_jump 85 marine_rush
random_jump 128 firebat_rush


; --- GHOST RUSH ---

:ghost_rush

notowns_jump covert_ops firebat_marine_rush
notowns_jump academy marine_only_rush
train 12 ghost
train 2 medic
attack_add 12 ghost
attack_add 2 medic
attack_prepare
attack_do
attack_clear
stop


; --- ALL INFANTRY RUSH ---

:all_infantry_rush

notowns_jump covert_ops firebat_marine_rush
notowns_jump academy marine_only_rush
train 5 ghost
train 8 marine
train 5 firebat
train 3 medic
attack_add 5 ghost
attack_add 8 marine
attack_add 5 firebat
attack_add 3 medic
attack_prepare
attack_do
attack_clear
stop


; --- FIREBAT & MARINE RUSH ---

:firebat_marine_rush

notowns_jump academy marine_only_rush
train 10 marine
train 8 firebat
train 3 medic
attack_add 10 marine
attack_add 8 firebat
attack_add 3 medic
attack_prepare
attack_do
attack_clear
stop


; --- MARINE RUSH ---

:marine_rush

notowns_jump academy marine_only_rush
train 15 marine
train 3 medic
attack_add 15 marine
attack_add 3 medic
attack_prepare
attack_do
attack_clear
stop


; --- FIREBAT RUSH ---

:firebat_rush

notowns_jump academy marine_only_rush
train 15 firebat
train 3 medic
attack_add 15 firebat
attack_add 3 medic
attack_prepare
attack_do
attack_clear
stop


; --- MARINE ONLY RUSH ---

:marine_only_rush

train 20 marine
attack_add 20 marine
attack_prepare
attack_do
attack_clear
build 1 academy 80
wait_buildstart 1 academy
stop


; === VEHICLE RUSH ===

:vehicle_rush

random_jump 192 dont_rush
random_jump 51 all_vehicle_rush
random_jump 64 tank_goliath_rush
random_jump 85 goliath_rush
random_jump 128 tank_rush


; --- VULTURE RUSH ---

:vulture_rush

train 12 vulture
attack_add 12 vulture
attack_prepare
attack_do
attack_clear
stop


; --- ALL VEHICLE RUSH ---

:all_vehicle_rush

notowns_jump armory tank_rush
notowns_jump machine_shop goliath_rush
train 3 vulture
train 3 goliath
train 4 siege_tank
attack_add 3 vulture
attack_add 3 goliath
attack_add 4 siege_tank
attack_prepare
attack_do
attack_clear
stop


; --- TANK & GOLIATH RUSH ---

:tank_goliath_rush

notowns_jump armory tank_rush
notowns_jump machine_shop goliath_rush
train 4 goliath
train 5 siege_tank
attack_add 4 goliath
attack_add 5 siege_tank
attack_prepare
attack_do
attack_clear
stop


; --- GOLIATH RUSH ---

:goliath_rush

notowns_jump armory tank_rush
train 9 goliath
attack_add 9 goliath
attack_prepare
attack_do
attack_clear
stop


; --- TANK RUSH ---

:tank_rush

notowns_jump machine_shop vulture_rush
train 9 siege_tank
attack_add 9 siege_tank
attack_prepare
attack_do
attack_clear
stop


; === CRUISER RUSH ===

:cruiser_rush

random_jump 205 dont_rush
random_jump 85 cruiser_wraith_rush
random_jump 128 cruiser_rush


; --- WRAITH RUSH ---

:wraith_rush

notowns_jump starport dont_rush
train 7 wraith
attack_add 7 wraith
attack_prepare
attack_do
attack_clear
stop


; --- BATTLECRUISER & WRAITH RUSH ---

:cruiser_wraith_rush

notowns_jump control_tower wraith_rush
notowns_jump physics_lab wraith_rush
train 2 battlecruiser
train 4 wraith
attack_add 2 battlecruiser
attack_add 4 wraith
attack_prepare
attack_do
attack_clear
stop


; --- BATTLECRUISER RUSH ---

:cruiser_rush

notowns_jump control_tower wraith_rush
notowns_jump physics_lab wraith_rush
train 4 battlecruiser
attack_add 4 battlecruiser
attack_prepare
attack_do
attack_clear
stop


; --- DON'T RUSH ---

:dont_rush
stop


; === SUICIDE CHECKS ===

; === MARINE SUICIDE ===

:marine_suicide_check

random_jump 128 marine_all_suicide
random_jump 64 firebat_marine_rush
random_jump 85 marine_suicide
random_jump 128 firebat_suicide


; --- GHOST SUICIDE ---

:ghost_suicide

notowns_jump covert_ops firebat_marine_suicide
notowns_jump academy marine_only_suicide

attack_add 20 medic
attack_add 90 ghost

stop


; --- ALL INFANTRY SUICIDE ---

:marine_all_suicide

notowns_jump covert_ops firebat_marine_suicide
notowns_jump academy marine_only_suicide

attack_add 50 marine
attack_add 20 ghost
attack_add 20 medic
attack_add 20 firebat

stop


; --- FIREBAT & MARINE SUICIDE ---

:firebat_marine_suicide

notowns_jump academy marine_only_suicide

attack_add 52 marine
attack_add 38 firebat
attack_add 20 medic

stop


; --- MARINE SUICIDE ---

:marine_suicide

notowns_jump academy marine_only_suicide

attack_add 20 medic
attack_add 90 marine

stop


; --- FIREBAT SUICIDE ---

:firebat_suicide

notowns_jump academy marine_only_suicide

attack_add 20 medic
attack_add 90 firebat

stop


; --- MARINE ONLY SUICIDE ---

:marine_only_suicide

player_need 1 academy
wait_buildstart 1 academy
player_need 4 barracks
wait_build 4 barracks

attack_add 110 marine

stop


; === VEHICLE SUICIDE ===

:vehicle_suicide_check

random_jump 128 vehicle_all_suicide
random_jump 64 tank_goliath_suicide
random_jump 85 vulture_suicide
random_jump 128 tank_suicide


; --- GOLIATH SUICIDE ---

:goliath_suicide

notowns_jump armory tank_suicide

attack_add 55 goliath

stop


; --- ALL VEHICLE SUICIDE ---

:vehicle_all_suicide

notowns_jump armory tank_suicide
notowns_jump machine_shop goliath_suicide

attack_add 25 siege_tank
attack_add 20 goliath
attack_add 20 vulture

stop


; --- TANK & GOLIATH SUICIDE ---

:tank_goliath_suicide

notowns_jump armory tank_suicide
notowns_jump machine_shop goliath_suicide

attack_add 30 siege_tank
attack_add 25 goliath

stop


; --- TANK SUICIDE ---

:tank_suicide

notowns_jump machine_shop vulture_suicide

attack_add 55 siege_tank

stop


; --- VULTURE SUICIDE ---

:vulture_suicide

player_need 4 factory
wait_build 4 factory

attack_add 110 vulture

stop


; === BATTLECRUISER SUICIDE ===

:cruiser_suicide_check

random_jump 128 cruiser_wraith_suicide
random_jump 128 cruiser_suicide


; --- WRAITH SUICIDE ---

:wraith_suicide

player_need 4 starport
wait_build 4 starport

attack_add 40 wraith

stop


; --- BATTLECRUISER & WRAITH SUICIDE ---

:cruiser_wraith_suicide

notowns_jump control_tower wraith_suicide
notowns_jump physics_lab wraith_suicide

attack_add 12 battlecruiser
attack_add 19 wraith

stop


; --- CRUISER SUICIDE ---

:cruiser_suicide

notowns_jump control_tower wraith_suicide
notowns_jump physics_lab wraith_suicide

attack_add 18 battlecruiser

stop


; === RESEARCH MULTI-RUN ===

; --- ACADEMY UPGRADES ---

:r_academy
wait_build 1 academy
tech stim_packs 70
wait 3600
upgrade 1 marine_range 70
wait 3600
tech optical_flare 70
wait 3600
upgrade 1 medic_mana 70
wait 3600
tech restoration 70
stop


; --- ENGINEERING BAY UPGRADES ---

:r_engineering_bay
wait_build 1 engineering_bay
upgrade 1 t_infantry_weapon 70
wait 3600
upgrade 1 t_infantry_armor 70
wait 3600
wait_build 1 science_facility
upgrade 2 t_infantry_weapon 70
wait 3600
upgrade 2 t_infantry_armor 70
wait 3600
upgrade 3 t_infantry_weapon 70
wait 3600
upgrade 3 t_infantry_armor 70
stop


; --- MACHINE SHOP UPGRADES ---

:r_machine_shop
wait_build 1 machine_shop
tech spider_mines 70
wait 3600
tech siege_mode 70
wait 3600
upgrade 1 vulture_speed 70
wait 3600
wait_build 1 armory
upgrade 1 goliath_range 70
stop


; --- CONTROL TOWER UPGRADES ---

:r_control_tower
wait_build 1 control_tower
tech cloaking_field 70
wait 3600
upgrade 1 wraith_mana 70
stop


; --- GROUND ARMORY UPGRADES ---

:r_ground_armory
wait_build 1 armory
upgrade 1 t_vehicle_weapon 70
wait 3600
wait_build 1 science_facility
upgrade 2 t_vehicle_weapon 70
wait 3600
upgrade 3 t_vehicle_weapon 70
stop


; --- AIR ARMORY UPGRADES ---

:r_air_armory
wait_build 1 armory
upgrade 1 t_ship_weapon 70
wait 3600
wait_build 1 science_facility
upgrade 2 t_ship_weapon 70
wait 3600
upgrade 3 t_ship_weapon 70
stop


; --- TERRAN & MARINE COVERT OPS UPGRADES ---

:r_covert_ops
wait_build 1 covert_ops
tech lockdown 70
wait 2500
tech personnel_cloaking 70
wait 3600
upgrade 1 ghost_mana 70
wait 3600
upgrade 1 ghost_sight 70
stop


; --- ZERG COVERT OPS UPGRADES ---

:z_covert_ops
wait_build 1 covert_ops
tech personnel_cloaking 70
wait 3600
upgrade 1 ghost_mana 70
wait 3600
upgrade 1 ghost_sight 70
stop


; --- PHYSICS LAB UPGRADES ---

:r_physics_lab
wait_build 1 physics_lab
tech yamato_gun 70
wait 3600
upgrade 1 battlecruiser_mana 70
stop


; --- SCIENCE FACILITY UPGRADES ---

:r_science_facility
wait_build 1 science_facility
wait 1500
tech irradiate 70
wait 3600
tech emp_shockwave 70
wait 3600
upgrade 1 science_vessel_mana 70
wait 3600
tech defensive_matrix 70
stop


; === OTHER ===

; --- START UP TRANSPORTS ---

:start_transports
;random_jump 224 no_transports
build 2 starport 80
wait_buildstart 2 starport
wait_build 2 starport
build 2 control_tower 80
wait_buildstart 2 control_tower
check_transports

:no_transports
return

; --- RESEARCH FOR ZERG ---

:r_zerg
multirun z_covert_ops
goto a_covert_ops_research

:r_terran_protoss
multirun r_covert_ops
goto a_covert_ops_research

; --- BUILD SCIENCE VESSELS ---

:8_science_vessels
train 8 science_vessel
stop

:4_science_vessels
train 4 science_vessel
stop

; --- BUILD WRAITHS ---

:2_wraith
train 2 wraith
stop

:6_wraith
train 6 wraith
stop

:8_wraith
train 8 wraith
stop

:12_wraith
train 12 wraith
stop[/spoiler]

Posted: Mon Jun 02, 2008 8:46 pm
by Abaddon
Funny one! :)
Hadn't much time to play SC and it was always EntropyII. So your new no experiment is refreshing.
I like it, but it's not quick enough yet. Maybe I just got a lucky timing with my attacks, but I think you should experiment more with the expand and the "defensive" build timings. The idea itself (I hope you know which one I mean, because I don't want to spoil it :P) is NICE though, never seen anything like it before.
I love surprising moments, so keep at it! :D

Posted: Tue Jun 03, 2008 2:21 pm
by Kryose
Glad you had fun Abaddon. I don't know what you are talking about concerning 'the idea itself' but I'll PM you to find out what it is cause I haven't got a clue :?:.

I am going to have to take a look at your replay to get an idea of what timing I might need to change, as I have only seen the AI play through against other AI. My only regret is that I have to wait till I get done work :(.

Take it easy,
Kryose

Posted: Wed Jun 04, 2008 2:16 pm
by Kryose
I found out why you had such an easy time with my AI Abaddon. When I went through the replay, the first Terran you killed off for some reason stopped doing anything after it finished building the second bunker. I have not been able to duplicate this yet though :S. The second Terran you took out was going through it's tech tree, but you harrassed it enough at the beginning so that it could never get an expansion (or comsat, since only exps get comsats). I have to set it up also to use the main command center for comsat and later on build another command center to add on a nuke silo. You were only able to get into the base with that force because the AI was not able to scan you.

I will make some changes to make it faster... hopefully.

Posted: Wed Jun 11, 2008 5:17 pm
by Kryose
Considering everyone is head over heels about PyAI, I decided to download it and convert my Terran AI (manually - Is there a converter for that sort of thing?) from SCAIEdit. It took a bunch of time, but I was able to find a couple of problems that I would normally have missed.

I haven't tested the new code yet, but I hopefully have everything set correctly. I am actually hoping that this might take care of my 'multiple terran computers not doing anything' bug. Otherwise I think I have another suspicion of what it might be.

Anyways, if you want to take a look, here is the most recent code.

[spoiler]# ASC3 File generated by ScAIEdit III
#
# Script name : Terran Expansion Custom Level
#
# Kryose Random Build 1.0 - Created by Kryose
#

TMCx(1342, 101, aiscript):

# === STARTUP COMMANDS ===

start_town()
transports_off()
farms_notiming()


# === MAX UNIT DEFINITION ===

define_max(150, Terran SCV)
define_max(130, Terran Marine)
define_max(40, Terran Medic)
define_max(110, Terran Firebat)
define_max(110, Terran Ghost)
define_max(130, Terran Vulture)
define_max(65, Terran Siege Tank<0>Tank Mode)
define_max(65, Terran Goliath)
define_max(40, Terran Wraith)
define_max(20, Terran Battlecruiser)
define_max(2, Nuclear Missile)
define_max(8, Terran Science Vessel)
define_max(15, Terran Dropship)
define_max(255, Terran Valkyrie)


# === START ===

build(1, Terran Command Center, 150)
wait_build(1, Terran Command Center)
build(4, Terran SCV, 130)
wait_build(4, Terran SCV)

build(5, Terran SCV, 80)
wait_buildstart(5, Terran SCV)
build(6, Terran SCV, 80)
wait_buildstart(6, Terran SCV)
build(7, Terran SCV, 80)
wait_buildstart(7, Terran SCV)
wait_build(7, Terran SCV)

multirun(TMCx b_main_barracks)

build(8, Terran SCV, 80)
wait_buildstart(8, Terran SCV)
wait_build(8, Terran SCV)

build(1, Terran Supply Depot, 80)
wait_buildstart(1, Terran Supply Depot)

build(9, Terran SCV, 80)
wait_buildstart(9, Terran SCV)
wait_build(9, Terran SCV)

build(1, Terran Refinery, 80)
wait_buildstart(1, Terran Refinery)

build(10, Terran SCV, 80)
wait_buildstart(10, Terran SCV)

farms_timing()

multirun(TMCx r_science_facility)

random_jump(85, TMCx vehicle)
random_jump(128, TMCx air)
goto(TMCx infantry)


# === INFANTRY MAIN ===

--TMCx infantry--


# ___ INFANTRY ECONOMY/BUIDLING ___

goto(TMCx b_infantry_start_defense)
--TMCx a_infantry_start_defense--

call(TMCx b_bunker)

build(11, Terran SCV, 80)
wait_buildstart(11, Terran SCV)
build(12, Terran SCV, 80)
wait_buildstart(12, Terran SCV)

call(TMCx b_academy)

multirun(TMCx b_infantry_barracks)

build(13, Terran SCV, 80)
wait_buildstart(13, Terran SCV)
build(14, Terran SCV, 80)
wait_buildstart(14, Terran SCV)
build(15, Terran SCV, 80)
wait_buildstart(15, Terran SCV)

wait_build(1, Terran Academy)
multirun(TMCx r_academy)
train(2, Terran Firebat)
train(2, Terran Medic)

call(TMCx b_engineering_bay)

expand(99, TMCx b_infantry_expansion)

build(16, Terran SCV, 80)
wait_buildstart(16, Terran SCV)
build(17, Terran SCV, 80)
wait_buildstart(17, Terran SCV)
build(18, Terran SCV, 80)
wait_buildstart(18, Terran SCV)

wait_build(1, Terran Engineering Bay)
multirun(TMCx r_engineering_bay)
train(4, Terran Firebat)
train(4, Terran Medic)

call(TMCx b_factory)

expand(99, TMCx b_infantry_expansion)

build(19, Terran SCV, 80)
wait_buildstart(19, Terran SCV)
build(20, Terran SCV, 80)
wait_buildstart(20, Terran SCV)
build(21, Terran SCV, 80)
wait_buildstart(21, Terran SCV)

wait_build(1, Terran Factory)
train(7, Terran Medic)
train(7, Terran Firebat)

multirun(TMCx b_infantry_vehicle_starport)

expand(99, TMCx b_infantry_expansion)

build(22, Terran SCV, 80)
wait_buildstart(22, Terran SCV)
build(23, Terran SCV, 80)
wait_buildstart(23, Terran SCV)
build(24, Terran SCV, 80)
wait_buildstart(24, Terran SCV)

wait_build(1, Terran Starport)
train(9, Terran Medic)
train(9, Terran Firebat)

multirun(TMCx b_infantry_science_facility)

expand(99, TMCx b_infantry_expansion)

multirun(TMCx infantry_rush)

build(25, Terran SCV, 80)
wait_buildstart(25, Terran SCV)
build(26, Terran SCV, 80)
wait_buildstart(26, Terran SCV)
build(27, Terran SCV, 80)
wait_buildstart(27, Terran SCV)

call(TMCx b_infantry_final_defense)

expand(99, TMCx b_infantry_expansion)

wait_build(8, Terran Barracks)


# === INFANTRY END LOOP ===

--TMCx infantry_suicide_loop--

multirun(infantry_suicide_check)

wait(500)
attack_prepare()
wait(500)
attack_do()
attack_clear()

expand(99, TMCx b_infantry_expansion)

wait(1500)

notowns_jump(Terran Science Facility, TMCx infantry_suicide_loop)
notowns_jump(Terran Starport, TMCx infantry_suicide_loop)

race_jump(TMCx 4_sv_infantry, TMCx 8_sv_infantry, TMCx 4_sv_infantry)

--TMCx 4_sv_infantry--
train(4, Terran Science Vessel)
goto(TMCx infantry_suicide_loop)


--TMCx 8_sv_infantry--
train(8, Terran Science Vessel)
goto(TMCx infantry_suicide_loop)


# === VEHICLE MAIN ===

--TMCx vehicle--


# ___ VEHICLE ECONOMY/BUILDING ___

call(TMCx b_bunker)

goto(TMCx b_vehicle_start_defense)
--TMCx a_vehicle_start_defense--

build(11, Terran SCV, 80)
wait_buildstart(11, Terran SCV)

call(TMCx b_academy)

multirun(TMCx b_vehicle_factories)

build(12, Terran SCV, 80)
wait_buildstart(12, Terran SCV)
build(13, Terran SCV, 80)
wait_buildstart(13, Terran SCV)
build(14, Terran SCV, 80)
wait_buildstart(14, Terran SCV)

wait_build(1, Terran Academy)
train(2, Terran Vulture)

call(TMCx b_engineering_bay)

build(15, Terran SCV, 80)
wait_buildstart(15, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

build(16, Terran SCV, 80)
wait_buildstart(16, Terran SCV)
build(17, Terran SCV, 80)
wait_buildstart(17, Terran SCV)

wait_build(1, Terran Engineering Bay)
wait_build(1, Terran Machine Shop)
train(4, Terran Vulture)

call(TMCx b_armory)

build(18, Terran SCV, 80)
wait_buildstart(18, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

build(19, Terran SCV, 80)
wait_buildstart(19, Terran SCV)
build(20, Terran SCV, 80)
wait_buildstart(20, Terran SCV)

wait_build(1, Terran Armory)
wait_build(2, Terran Machine Shop)
train(2, Terran Goliath)
train(6, Terran Vulture)

multirun(TMCx r_vehicle_armory)

multirun(TMCx b_infantry_vehicle_starport)

build(21, Terran SCV, 80)
wait_buildstart(21, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

build(22, Terran SCV, 80)
wait_buildstart(22, Terran SCV)
build(23, Terran SCV, 80)
wait_buildstart(23, Terran SCV)

wait_build(1, Terran Starport)
wait_build(3, Terran Machine Shop)
train(5, Terran Goliath)
train(8, Terran Vulture)

multirun(TMCx b_vehicle_science_facility)

build(24, Terran SCV, 80)
wait_buildstart(24, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

multirun(TMCx vehicle_rush)

build(25, Terran SCV, 80)
wait_buildstart(25, Terran SCV)
build(26, Terran SCV, 80)
wait_buildstart(26, Terran SCV)

goto(TMCx b_vehicle_final_defense)
--TMCx a_vehicle_final_defense--

build(27, Terran SCV, 80)
wait_buildstart(27, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

wait_build(8, Terran Factory)


# === VEHICLE END LOOP ===

--TMCx vehicle_suicide_loop--

multirun(TMCx vehicle_suicide_check)

wait(500)
attack_prepare()
wait(500)
attack_do()
attack_clear()

expand(99, TMCx b_vehicle_air_expansion)

wait(1500)

race_jump(TMCx 4_sv_vehicle, TMCx 8_sv_vehicle, TMCx 4_sv_vehicle)

--TMCx 4_sv_vehicle--
train(4, Terran Science Vessel)
goto(TMCx vehicle_suicide_loop)

--TMCx 8_sv_vehicle--
train(8, Terran Science Vessel)
goto(TMCx vehicle_suicide_loop)


# === AIR MAIN ===

--TMCx air--


# ___ AIR ECONOMY/BUILDING ___

call(TMCx b_bunker)

goto(TMCx b_air_start_defense)
--TMCx a_air_start_defense--

build(11, Terran SCV, 80)
wait_buildstart(11, Terran SCV)

call(TMCx b_academy)

multirun(TMCx b_air_buildings)

build(12, Terran SCV, 80)
wait_buildstart(12, Terran SCV)
build(13, Terran SCV, 80)
wait_buildstart(13, Terran SCV)
build(14, Terran SCV, 80)
wait_buildstart(14, Terran SCV)

wait_build(1, Terran Academy)
call(TMCx b_factory)

build(15, Terran SCV, 80)
wait_buildstart(15, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

build(16, Terran SCV, 80)
wait_buildstart(16, Terran SCV)
build(17, Terran SCV, 80)
wait_buildstart(17, Terran SCV)

wait_build(1, Terran Factory)
call(TMCx b_engineering_bay)

wait(300)

build(18, Terran SCV, 80)
wait_buildstart(18, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

build(19, Terran SCV, 80)
wait_buildstart(19, Terran SCV)
build(20, Terran SCV, 80)
wait_buildstart(20, Terran SCV)

wait(300)

build(21, Terran SCV, 80)
wait_buildstart(21, Terran SCV)

wait_build(1, Terran Engineering Bay)
call(TMCx b_armory)

build(22, Terran SCV, 80)
wait_buildstart(22, Terran SCV)
build(23, Terran SCV, 80)
wait_buildstart(23, Terran SCV)

wait_build(1, Terran Armory)
multirun(TMCx r_air_armory)

wait(300)

multirun(TMCx b_air_science_facility)

build(24, Terran SCV, 80)
wait_buildstart(24, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

build(25, Terran SCV, 80)
wait_buildstart(25, Terran SCV)
build(26, Terran SCV, 80)
wait_buildstart(26, Terran SCV)

goto(TMCx b_air_final_defense)
--TMCx a_air_final_defense--

build(27, Terran SCV, 80)
wait_buildstart(27, Terran SCV)

expand(99, TMCx b_vehicle_air_expansion)

multirun(TMCx air_rush)

wait_build(8, Terran Starport)


# === AIR END LOOP ===

--TMCx air_suicide_loop--

multirun(TMCx air_suicide_check)

wait(1500)
attack_prepare()
wait(500)
attack_do()
attack_clear()

expand(99, TMCx b_vehicle_air_expansion)

wait(500)

notowns_jump(Terran Science Facility, TMCx air_suicide_loop)
notowns_jump(Terran Starport, TMCx air_suicide_loop)

race_jump(TMCx 4_sv_air, TMCx 8_sv_air, TMCx 4_sv_air)


--TMCx 4_sv_air--
train(4, Terran Science Vessel)
goto(TMCx air_suicide_loop)


--TMCx 8_sv_air--
train(8, Terran Science Vessel)
goto(TMCx air_suicide_loop)


# === INFANTRY EXPANSION SCRIPT ===


--TMCx b_infantry_expansion--
start_town()
build(1, Terran Command Center, 80)
wait_build(1, Terran Command Center)

get_oldpeons(4)

build(1, Terran SCV, 80)
wait_buildstart(1, Terran SCV)

build(1, Terran Barracks, 70)
wait_buildstart(1, Terran Barracks)

build(2, Terran SCV, 80)
wait_buildstart(2, Terran SCV)
build(3, Terran SCV, 80)
wait_buildstart(3, Terran SCV)
build(4, Terran SCV, 80)
wait_buildstart(4, Terran SCV)

notowns_jump(Terran Academy, TMCx b_bunkerexpo)
build(1, Terran Comsat Station, 80)
wait_buildstart(1, Terran Comsat Station)

--TMCx b_bunkerexpo--
notowns_jump(Terran Barracks, TMCx b_turretexpo)
build(2, Terran Bunker, 70)
wait_buildstart(2, Terran Bunker)

--TMCx b_turretexpo--
notowns_jump(Terran Engineering Bay, TMCx b_endexpo)
build(4, Terran Missile Turret, 70)
wait_buildstart(4, Terran Missile Turret)

--TMCx b_endexpo--

build(1, Terran Refinery, 70)
wait_buildstart(1, Terran Refinery)

wait_build(1, Terran Barracks)

train(2, Terran Marine)

build(5, Terran SCV, 80)
wait_buildstart(5, Terran SCV)
build(6, Terran SCV, 80)
wait_buildstart(6, Terran SCV)
build(7, Terran SCV, 80)
wait_buildstart(7, Terran SCV)

train(2, Terran Firebat)

build(8, Terran SCV, 80)
wait_buildstart(8, Terran SCV)

train(2, Terran Medic)

build(9, Terran SCV, 80)
wait_buildstart(9, Terran SCV)

train(6, Terran Marine)

build(10, Terran SCV, 80)
wait_buildstart(10, Terran SCV)

train(4, Terran Firebat)

build(4, Terran Bunker, 80)
wait_buildstart(4, Terran Bunker)

train(3, Terran Medic)
train(8, Terran Marine)
train(5, Terran Firebat)

player_need(1, Terran Command Center)
player_need(1, Terran Barracks)
player_need(4, Terran Bunker)
player_need(4, Terran Missile Turret)
wait_build(1, Terran Command Center)
player_need(1, Terran Comsat Station)
player_need(10, Terran SCV)

stop()


# === VEHICLE AND AIR EXPANSION SCRIPT ===

--TMCx b_vehicle_air_expansion--
start_town()
build(1, Terran Command Center, 80)
wait_build(1, Terran Command Center)

get_oldpeons(4)

build(1, Terran SCV, 80)
wait_buildstart(1, Terran SCV)
build(2, Terran SCV, 80)
wait_buildstart(2, Terran SCV)

build(1, Terran Refinery, 70)
wait_buildstart(1, Terran Refinery)

build(3, Terran SCV, 80)
wait_buildstart(3, Terran SCV)
build(4, Terran SCV, 80)
wait_buildstart(4, Terran SCV)

notowns_jump(Terran Academy, TMCx b_bunkerexpo1)
build(1, Terran Comsat Station, 80)
wait_buildstart(1, Terran Comsat Station)

--TMCx b_bunkerexpo1--
notowns_jump(Terran Barracks, TMCx b_turretexpo1)
build(1, Terran Bunker, 70)
wait_buildstart(1, Terran Bunker)

--TMCx b_turretexpo1--
notowns_jump(Terran Engineering Bay, TMCx b_endexpo1)
build(4, Terran Missile Turret, 70)
wait_buildstart(4, Terran Missile Turret)

--TMCx b_endexpo1--
build(5, Terran SCV, 80)
wait_buildstart(5, Terran SCV)
build(6, Terran SCV, 80)
wait_buildstart(6, Terran SCV)
build(7, Terran SCV, 80)
wait_buildstart(7, Terran SCV)
build(8, Terran SCV, 80)
wait_buildstart(8, Terran SCV)
build(9, Terran SCV, 80)
wait_buildstart(9, Terran SCV)
build(10, Terran SCV, 80)
wait_buildstart(10, Terran SCV)

build(2, Terran Bunker, 70)
wait_buildstart(2, Terran Bunker)

player_need(1, Terran Command Center)
player_need(2, Terran Bunker)
player_need(4, Terran Missile Turret)
wait_build(1, Terran Command Center)
player_need(1, Terran Comsat Station)
player_need(10, Terran SCV)

stop()


# === BUILD SCRIPTS ===

# ___ MAIN BARRACKS ___


--TMCx b_main_barracks--
build(1, Terran Barracks, 80)
wait_buildstart(1, Terran Barracks)
wait_build(1, Terran Supply Depot)
wait_build(1, Terran Barracks)
train(3, Terran Marine)

multirun(TMCx infantry_rush)

stop()


# ___ MAIN BUNKER ___

--TMCx b_bunker--
wait_build(1, Terran Barracks)
build(2, Terran Bunker, 80)
wait_buildstart(2, Terran Bunker)
train(7, Terran Marine)
return()


# ___ MAIN ACADEMY ___

--TMCx b_academy--
wait_build(1, Terran Barracks)
build(1, Terran Academy, 80)
wait_buildstart(1, Terran Academy)
return()


# ___ MAIN ENGINEERING BAY ___

--TMCx b_engineering_bay--
wait_build(1, Terran Barracks)
build(1, Terran Engineering Bay, 80)
wait_buildstart(1, Terran Engineering Bay)
wait_build(1, Terran Engineering Bay)
build(3, Terran Missile Turret, 70)
wait_buildstart(3, Terran Missile Turret)
return()


# ___ INFANTRY BARRACKS ___

--TMCx b_infantry_barracks--
wait_build(1, Terran Academy)
build(2, Terran Barracks, 80)
wait_buildstart(2, Terran Barracks)
build(3, Terran Bunker, 80)
wait_buildstart(3, Terran Bunker)
build(4, Terran Bunker, 80)
wait_buildstart(4, Terran Bunker)
wait_build(2, Terran Barracks)
train(9, Terran Marine)

multirun(TMCx infantry_rush)

wait_build(1, Terran Engineering Bay)
build(3, Terran Barracks, 80)
wait_buildstart(3, Terran Barracks)
build(5, Terran Bunker, 80)
wait_buildstart(5, Terran Bunker)
build(6, Terran Bunker, 80)
wait_buildstart(6, Terran Bunker)
build(4, Terran Missile Turret, 80)
wait_buildstart(4, Terran Missile Turret)
wait_build(3, Terran Barracks)
train(13, Terran Marine)

multirun(TMCx infantry_rush)

wait_build(1, Terran Factory)
build(4, Terran Barracks, 80)
wait_buildstart(4, Terran Barracks)
build(7, Terran Bunker, 80)
wait_buildstart(7, Terran Bunker)
build(8, Terran Bunker, 80)
wait_buildstart(8, Terran Bunker)
build(5, Terran Missile Turret, 80)
wait_buildstart(5, Terran Missile Turret)
wait_build(4, Terran Barracks)
train(17, Terran Marine)

multirun(TMCx infantry_rush)

wait_build(1, Terran Starport)
build(5, Terran Barracks, 80)
wait_buildstart(5, Terran Barracks)
build(9, Terran Bunker, 80)
wait_buildstart(9, Terran Bunker)
build(10, Terran Bunker, 80)
wait_buildstart(10, Terran Bunker)
build(6, Terran Missile Turret, 80)
wait_buildstart(6, Terran Missile Turret)
wait_build(5, Terran Barracks)
train(28, Terran Marine)

multirun(TMCx infantry_rush)

wait_build(1, Terran Science Facility)
build(8, Terran Barracks, 80)
wait_buildstart(8, Terran Barracks)
build(11, Terran Bunker, 80)
wait_buildstart(11, Terran Bunker)
build(12, Terran Bunker, 80)
wait_buildstart(12, Terran Bunker)
build(8, Terran Missile Turret, 80)
wait_buildstart(8, Terran Missile Turret)

stop()


# ___ FACTORY ___

--TMCx b_factory--
wait_build(1, Terran Barracks)
build(1, Terran Factory, 80)
wait_buildstart(1, Terran Factory)
return()


# ___ INFANTRY AND VEHICLE STARPORT ___

--TMCx b_infantry_vehicle_starport--
wait_build(1, Terran Factory)
build(1, Terran Starport, 80)
wait_buildstart(1, Terran Starport)
wait_build(1, Terran Starport)
build(1, Terran Control Tower, 80)
wait_buildstart(1, Terran Control Tower)
wait_build(1, Terran Control Tower)
train(4, Terran Dropship)
stop()


# ___ INFANTRY SCIENCE FACILITY ___

--TMCx b_infantry_science_facility--
wait_build(1, Terran Starport)
build(1, Terran Science Facility, 80)
wait_buildstart(1, Terran Science Facility)
wait_build(1, Terran Science Facility)
build(1, Terran Covert Ops, 80)
wait_buildstart(1, Terran Covert Ops)
wait_build(1, Terran Covert Ops)

race_jump(TMCx r_terran_protoss, TMCx r_zerg, TMCx r_terran_protoss)
--TMCx a_covert_ops_research--

build(1, Terran Nuclear Silo, 80)
wait_buildstart(1, Terran Nuclear Silo)
train(4, Terran Science Vessel)
stop()


# ___ VEHICLE FACTORIES ___

--TMCx b_vehicle_factories--

wait_build(1, Terran Academy)
wait_build(1, Terran Barracks)
build(1, Terran Factory, 80)
wait_buildstart(1, Terran Factory)
build(1, Terran Comsat Station, 70)
wait_buildstart(1, Terran Comsat Station)
wait_build(1, Terran Factory)
build(1, Terran Machine Shop, 80)
wait_buildstart(1, Terran Machine Shop)
wait_build(1, Terran Machine Shop)

multirun(TMCx r_machine_shop)

train(1, Terran Siege Tank<0>Tank Mode)

multirun(TMCx vehicle_rush)

wait_build(1, Terran Engineering Bay)
build(2, Terran Factory, 80)
wait_buildstart(2, Terran Factory)
build(4, Terran Missile Turret, 80)
wait_buildstart(4, Terran Missile Turret)
wait_build(2, Terran Factory)
build(2, Terran Machine Shop, 80)
wait_buildstart(2, Terran Machine Shop)
wait_build(2, Terran Machine Shop)
train(3, Terran Siege Tank<0>Tank Mode)

multirun(TMCx vehicle_rush)

wait_build(1, Terran Armory)
build(3, Terran Factory, 80)
wait_buildstart(3, Terran Factory)
build(5, Terran Missile Turret, 80)
wait_buildstart(5, Terran Missile Turret)
wait_build(3, Terran Factory)
build(3, Terran Machine Shop, 80)
wait_buildstart(3, Terran Machine Shop)
wait_build(3, Terran Machine Shop)
train(5, Terran Siege Tank<0>Tank Mode)

multirun(TMCx vehicle_rush)

wait_build(1, Terran Starport)
build(4, Terran Factory, 80)
wait_buildstart(4, Terran Factory)
build(6, Terran Missile Turret, 80)
wait_buildstart(6, Terran Missile Turret)
wait_build(4, Terran Factory)
build(4, Terran Machine Shop, 80)
wait_buildstart(4, Terran Machine Shop)
wait_build(4, Terran Machine Shop)
train(7, Terran Siege Tank<0>Tank Mode)

multirun(TMCx vehicle_rush)

wait_build(1, Terran Science Facility)
build(8, Terran Factory, 80)
wait_buildstart(8, Terran Factory)
build(8, Terran Missile Turret, 80)
wait_buildstart(8, Terran Missile Turret)
wait_build(8, Terran Factory)
build(8, Terran Machine Shop, 80)
wait_buildstart(8, Terran Machine Shop)
wait_build(8, Terran Machine Shop)
stop()


# ___ ARMORY ___

--TMCx b_armory--
wait_build(1, Terran Factory)
build(1, Terran Armory, 80)
wait_buildstart(1, Terran Armory)
return()


# ___ VEHICLE SCIENCE FACILITY ___

--TMCx b_vehicle_science_facility--
wait_build(1, Terran Starport)
build(1, Terran Science Facility, 80)
wait_buildstart(1, Terran Science Facility)
wait_build(1, Terran Science Facility)
train(4, Terran Science Vessel)
stop()


# ___ AIR BUILDINGS ___

--TMCx b_air_buildings--

wait_build(1, Terran Barracks)
build(4, Terran Bunker, 80)
wait_buildstart(4, Terran Bunker)
train(12, Terran Marine)
wait_build(1, Terran Academy)
train(4, Terran Firebat)
build(1, Terran Comsat Station, 80)
wait_buildstart(1, Terran Comsat Station)

wait_build(1, Terran Factory)
build(1, Terran Starport, 80)
wait_buildstart(1, Terran Starport)
wait_build(1, Terran Starport)
build(1, Terran Control Tower, 80)
wait_buildstart(1, Terran Control Tower)
multirun(TMCx r_control_tower)

multirun(TMCx 2_wraith)

multirun(TMCx air_rush)

wait_build(1, Terran Engineering Bay)
build(2, Terran Starport, 80)
wait_buildstart(12, Terran Starport)
build(4, Terran Missile Turret, 80)
wait_buildstart(4, Terran Missile Turret)
wait_build(2, Terran Starport)
build(2, Terran Control Tower, 80)
wait_buildstart(2, Terran Control Tower)

multirun(TMCx 6_wraith)

multirun(TMCx air_rush)

wait_build(1, Terran Armory)
build(3, Terran Starport, 80)
wait_buildstart(3, Terran Starport)
build(5, Terran Missile Turret, 80)
wait_buildstart(5, Terran Missile Turret)
wait_build(3, Terran Starport)
build(3, Terran Control Tower, 80)
wait_buildstart(3, Terran Control Tower)

multirun(TMCx 10_wraith)

multirun(TMCx air_rush)

wait_build(1, Terran Science Facility)
build(4, Terran Starport, 80)
wait_buildstart(4, Terran Starport)
build(7, Terran Missile Turret, 80)
wait_buildstart(7, Terran Missile Turret)
wait_build(4, Terran Starport)
build(4, Terran Control Tower, 80)
wait_buildstart(4, Terran Control Tower)
wait_build(4, Terran Control Tower)

multirun(TMCx 16_wraith)

multirun(TMCx air_rush)

build(8, Terran Starport, 80)
wait_buildstart(8, Terran Starport)
wait_build(8, Terran Starport)
build(8, Terran Control Tower, 80)
wait_buildstart(8, Terran Control Tower)
stop()


# ___ AIR SCIENCE FACILITY ___

--TMCx b_air_science_facility--
wait_build(1, Terran Starport)
build(1, Terran Science Facility, 80)
wait_buildstart(1, Terran Science Facility)
wait_build(1, Terran Science Facility)
build(1, Terran Physics Lab, 80)
wait_buildstart(1, Terran Physics Lab)
train(4, Terran Science Vessel)
multirun(TMCx r_physics_lab)
stop()


# === DEFENSE SCRIPTS ===

# ___ STARTING INFANTRY DEFENSE ___

--TMCx b_infantry_start_defense--
defenseclear_gg()
defensebuild_gg(1, Terran Marine)
defenseuse_gg(1, Terran Marine)
defensebuild_gg(1, Terran Firebat)
defenseuse_gg(1, Terran Firebat)
defensebuild_gg(1, Terran Ghost)
defenseuse_gg(1, Terran Ghost)

defenseclear_ag()
defensebuild_ag(1, Terran Marine)
defenseuse_ag(1, Terran Marine)
defensebuild_ag(1, Terran Ghost)
defenseuse_ag(1, Terran Ghost)

defenseclear_aa()
defensebuild_aa(1, Terran Marine)
defenseuse_aa(1, Terran Marine)
defensebuild_aa(1, Terran Ghost)
defenseuse_aa(1, Terran Ghost)

defenseclear_ga()
defensebuild_ga(1, Terran Marine)
defenseuse_ga(1, Terran Marine)
defensebuild_ga(1, Terran Ghost)
defenseuse_ga(1, Terran Ghost)
defensebuild_ga(1, Terran Firebat)
defenseuse_ga(1, Terran Firebat)
goto(TMCx a_infantry_start_defense)


# ___ FINAL INFANTRY DEFENSE ___

--TMCx b_infantry_final_defense--
defenseclear_gg()
defensebuild_gg(2, Terran Marine)
defenseuse_gg(2, Terran Marine)
defensebuild_gg(2, Terran Firebat)
defenseuse_gg(2, Terran Firebat)
defensebuild_gg(2, Terran Ghost)
defenseuse_gg(2, Terran Ghost)

defenseclear_ag()
defensebuild_ag(2, Terran Marine)
defenseuse_ag(2, Terran Marine)
defensebuild_ag(2, Terran Ghost)
defenseuse_ag(2, Terran Ghost)

defenseclear_aa()
defensebuild_aa(2, Terran Marine)
defenseuse_aa(2, Terran Marine)
defensebuild_aa(2, Terran Ghost)
defenseuse_aa(2, Terran Ghost)

defenseclear_ga()
defensebuild_ga(2, Terran Marine)
defenseuse_ga(2, Terran Marine)
defensebuild_ga(2, Terran Ghost)
defenseuse_ga(2, Terran Ghost)
defensebuild_ga(2, Terran Firebat)
defenseuse_ga(2, Terran Firebat)
return()


# ___ STARTING VEHICLE DEFENSE ___

--TMCx b_vehicle_start_defense--
defenseclear_gg()
defensebuild_gg(1, Terran Marine)
defenseuse_gg(1, Terran Marine)
defensebuild_gg(1, Terran Firebat)
defenseuse_gg(1, Terran Firebat)
defensebuild_gg(1, Terran Vulture)
defenseuse_gg(1, Terran Vulture)
defensebuild_gg(1, Terran Siege Tank<0>Tank Mode)
defenseuse_gg(1, Terran Siege Tank<0>Tank Mode)
defensebuild_gg(1, Terran Goliath)
defenseuse_gg(1, Terran Goliath)

defenseclear_ag()
defensebuild_ag(1, Terran Marine)
defenseuse_ag(1, Terran Marine)
defensebuild_ag(1, Terran Goliath)
defenseuse_ag(1, Terran Goliath)

defenseclear_aa()
defensebuild_aa(1, Terran Marine)
defenseuse_aa(1, Terran Marine)
defensebuild_aa(1, Terran Goliath)
defenseuse_aa(1, Terran Goliath)

defenseclear_ga()
defensebuild_ga(1, Terran Marine)
defenseuse_ga(1, Terran Marine)
defensebuild_ga(1, Terran Vulture)
defenseuse_ga(1, Terran Vulture)
defensebuild_ga(1, Terran Firebat)
defenseuse_ga(1, Terran Firebat)
defensebuild_ga(1, Terran Siege Tank<0>Tank Mode)
defenseuse_ga(1, Terran Siege Tank<0>Tank Mode)
defensebuild_ga(1, Terran Goliath)
defenseuse_ga(1, Terran Goliath)
goto(TMCx a_vehicle_start_defense)


# ___ FINAL VEHICLE DEFENSE ___

--TMCx b_vehicle_final_defense--
defenseclear_gg()
defensebuild_gg(1, Terran Marine)
defenseuse_gg(1, Terran Marine)
defensebuild_gg(2, Terran Vulture)
defenseuse_gg(2, Terran Vulture)
defensebuild_gg(2, Terran Siege Tank<0>Tank Mode)
defenseuse_gg(2, Terran Siege Tank<0>Tank Mode)
defensebuild_gg(2, Terran Goliath)
defenseuse_gg(2, Terran Goliath)

defenseclear_ag()
defensebuild_ag(2, Terran Goliath)
defenseuse_ag(2, Terran Goliath)

defenseclear_aa()
defensebuild_aa(2, Terran Goliath)
defenseuse_aa(2, Terran Goliath)

defenseclear_ga()
defensebuild_ga(2, Terran Vulture)
defenseuse_ga(2, Terran Vulture)
defensebuild_ga(2, Terran Siege Tank<0>Tank Mode)
defenseuse_ga(2, Terran Siege Tank<0>Tank Mode)
defensebuild_ga(2, Terran Goliath)
defenseuse_ga(2, Terran Goliath)
goto(TMCx a_vehicle_final_defense)


# ___ STARTING AIR DEFENSE ___

--TMCx b_air_start_defense--
defenseclear_gg()
defensebuild_gg(1, Terran Marine)
defenseuse_gg(1, Terran Marine)
defensebuild_gg(1, Terran Firebat)
defenseuse_gg(1, Terran Firebat)
defensebuild_gg(1, Terran Vulture)
defenseuse_gg(1, Terran Vulture)
defensebuild_gg(1, Terran Wraith)
defenseuse_gg(1, Terran Wraith)
defensebuild_gg(1, Terran Battlecruiser)
defenseuse_gg(1, Terran Battlecruiser)

defenseclear_ag()
defensebuild_ag(1, Terran Marine)
defenseuse_ag(1, Terran Marine)
defensebuild_ag(1, Terran Goliath)
defenseuse_ag(1, Terran Goliath)
defensebuild_ag(1, Terran Wraith)
defenseuse_ag(1, Terran Wraith)
defensebuild_ag(1, Terran Battlecruiser)
defenseuse_ag(1, Terran Battlecruiser)

defenseclear_aa()
defensebuild_aa(1, Terran Marine)
defenseuse_aa(1, Terran Marine)
defensebuild_aa(1, Terran Goliath)
defenseuse_aa(1, Terran Goliath)
defensebuild_aa(1, Terran Wraith)
defenseuse_aa(1, Terran Wraith)
defensebuild_aa(1, Terran Battlecruiser)
defenseuse_aa(1, Terran Battlecruiser)

defenseclear_ga()
defensebuild_ga(1, Terran Marine)
defenseuse_ga(1, Terran Marine)
defensebuild_ga(1, Terran Firebat)
defenseuse_ga(1, Terran Firebat)
defensebuild_ga(1, Terran Vulture)
defenseuse_ga(1, Terran Vulture)
defensebuild_ga(1, Terran Wraith)
defenseuse_ga(1, Terran Wraith)
defensebuild_ga(1, Terran Battlecruiser)
defenseuse_ga(1, Terran Battlecruiser)
goto(TMCx a_air_start_defense)


# ___ FINAL AIR DEFENSE ___

--TMCx b_air_final_defense--
defenseclear_gg()
defensebuild_gg(1, Terran Marine)
defenseuse_gg(1, Terran Marine)
defensebuild_gg(1, Terran Wraith)
defenseuse_gg(1, Terran Wraith)
defensebuild_gg(1, Terran Battlecruiser)
defenseuse_gg(1, Terran Battlecruiser)

defenseclear_ag()
defensebuild_ag(1, Terran Wraith)
defenseuse_ag(1, Terran Wraith)
defensebuild_ag(1, Terran Battlecruiser)
defenseuse_ag(1, Terran Battlecruiser)

defenseclear_aa()
defensebuild_aa(1, Terran Wraith)
defenseuse_aa(1, Terran Wraith)
defensebuild_aa(1, Terran Battlecruiser)
defenseuse_aa(1, Terran Battlecruiser)

defenseclear_ga()
defensebuild_ga(1, Terran Wraith)
defenseuse_ga(1, Terran Wraith)
defensebuild_ga(1, Terran Battlecruiser)
defenseuse_ga(1, Terran Battlecruiser)
goto(TMCx a_air_final_defense)


# === RUSH CHECKS ===

# === INFANTRY RUSH ===

--TMCx infantry_rush--

random_jump(192, TMCx dont_rush)
random_jump(51, TMCx all_infantry_rush)
random_jump(64, TMCx firebat_marine_rush)
random_jump(85, TMCx marine_rush)
random_jump(128, TMCx firebat_rush)

goto(TMCx ghost_rush)


# ___ GHOST RUSH ___

--TMCx ghost_rush--
notowns_jump(Terran Covert Ops, TMCx firebat_marine_rush)
notowns_jump(Terran Academy, TMCx marine_only_rush)
train(12, Terran Ghost)
train(2, Terran Medic)
attack_add(12, Terran Ghost)
attack_add(2, Terran Medic)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ ALL INFANTRY RUSH ___

--TMCx all_infantry_rush--
notowns_jump(Terran Covert Ops, TMCx firebat_marine_rush)
notowns_jump(Terran Academy, TMCx marine_only_rush)
train(5, Terran Ghost)
train(8, Terran Marine)
train(5, Terran Firebat)
train(3, Terran Medic)
attack_add(5, Terran Ghost)
attack_add(8, Terran Marine)
attack_add(5, Terran Firebat)
attack_add(3, Terran Medic)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ FIREBAT & MARINE RUSH ___

--TMCx firebat_marine_rush--
notowns_jump(Terran Academy, TMCx marine_only_rush)
train(10, Terran Marine)
train(8, Terran Firebat)
train(3, Terran Medic)
attack_add(10, Terran Marine)
attack_add(8, Terran Firebat)
attack_add(3, Terran Medic)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ MARINE RUSH ___

--TMCx marine_rush--
notowns_jump(Terran Academy, TMCx marine_only_rush)
train(15, Terran Marine)
train(3, Terran Medic)
attack_add(15, Terran Marine)
attack_add(3, Terran Medic)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ FIREBAT RUSH ___

--TMCx firebat_rush--
notowns_jump(Terran Academy, TMCx marine_only_rush)
train(15, Terran Firebat)
train(3, Terran Medic)
attack_add(15, Terran Firebat)
attack_add(3, Terran Medic)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ MARINE ONLY RUSH ___

--TMCx marine_only_rush--
train(20, Terran Marine)
attack_add(20, Terran Marine)
attack_prepare()
attack_do()
attack_clear()
build(1, Terran Academy, 80)
wait_buildstart(1, Terran Academy)
stop()


# === VEHICLE RUSH ===

--TMCx vehicle_rush--
random_jump(192, TMCx dont_rush)
random_jump(51, TMCx all_vehicle_rush)
random_jump(64, TMCx tank_goliath_rush)
random_jump(85, TMCx goliath_rush)
random_jump(128, TMCx tank_rush)


# ___ VULTURE RUSH ___

--TMCx vulture_rush--
train(12, Terran Vulture)
attack_add(12, Terran Vulture)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ ALL VEHICLE RUSH ___

--TMCx all_vehicle_rush--
notowns_jump(Terran Armory, TMCx tank_rush)
notowns_jump(Terran Machine Shop, TMCx goliath_rush)
train(3, Terran Vulture)
train(3, Terran Goliath)
train(4, Terran Siege Tank<0>Tank Mode)
attack_add(3, Terran Vulture)
attack_add(3, Terran Goliath)
attack_add(4, Terran Siege Tank<0>Tank Mode)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ TANK & GOLIATH RUSH ___

--TMCx tank_goliath_rush--
notowns_jump(Terran Armory, TMCx tank_rush)
notowns_jump(Terran Machine Shop, TMCx goliath_rush)
train(4, Terran Goliath)
train(5, Terran Siege Tank<0>Tank Mode)
attack_add(4, Terran Goliath)
attack_add(5, Terran Siege Tank<0>Tank Mode)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ GOLIATH RUSH ___

--TMCx goliath_rush--
notowns_jump(Terran Armory, TMCx tank_rush)
train(9, Terran Goliath)
attack_add(9, Terran Goliath)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ TANK RUSH ___

--TMCx tank_rush--
notowns_jump(Terran Machine Shop, TMCx vulture_rush)
train(9, Terran Siege Tank<0>Tank Mode)
attack_add(9, Terran Siege Tank<0>Tank Mode)
attack_prepare()
attack_do()
attack_clear()
stop()


# === AIR RUSH ===

--TMCx air_rush--
random_jump(205, TMCx dont_rush)
random_jump(85, TMCx cruiser_wraith_rush)
random_jump(128, TMCx cruiser_rush)


# ___ WRAITH RUSH ___

--TMCx wraith_rush--
notowns_jump(Terran Starport, TMCx dont_rush)
train(7, Terran Wraith)
attack_add(7, Terran Wraith)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ BATTLECRUISER & WRAITH RUSH ___

--TMCx cruiser_wraith_rush--
notowns_jump(Terran Control Tower, TMCx wraith_rush)
notowns_jump(Terran Physics Lab, TMCx wraith_rush)
train(2, Terran Battlecruiser)
train(4, Terran Wraith)
attack_add(2, Terran Battlecruiser)
attack_add(4, Terran Wraith)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ BATTLECRUISER RUSH ___

--TMCx cruiser_rush--
notowns_jump(Terran Control Tower, TMCx wraith_rush)
notowns_jump(Terran Physics Lab, TMCx wraith_rush)
train(4, Terran Battlecruiser)
attack_add(4, Terran Battlecruiser)
attack_prepare()
attack_do()
attack_clear()
stop()


# ___ DON'T RUSH ___

--TMCx dont_rush--
stop()


# === SUICIDE CHECKS ===


--infantry_suicide_check--

random_jump(128, TMCx all_infantry_suicide)
random_jump(64, TMCx firebat_marine_suicide)
random_jump(85, TMCx marine_suicide)
random_jump(128, TMCx firebat_suicide)

goto(TMCx ghost_suicide)


# ___ GHOST SUICIDE ___

--TMCx ghost_suicide--
notowns_jump(Terran Covert Ops, TMCx firebat_marine_suicide)
notowns_jump(Terran Academy, TMCx marine_only_suicide)
attack_add(20, Terran Medic)
attack_add(90, Terran Ghost)
stop()


# ___ ALL INFANTRY SUICIDE ___

--TMCx all_infantry_suicide--
notowns_jump(Terran Covert Ops, TMCx firebat_marine_suicide)
notowns_jump(Terran Academy, TMCx marine_only_suicide)
attack_add(50, Terran Marine)
attack_add(20, Terran Ghost)
attack_add(20, Terran Medic)
attack_add(20, Terran Firebat)
stop()


# ___ FIREBAT & MARINE SUICIDE ___

--TMCx firebat_marine_suicide--
notowns_jump(Terran Academy, TMCx marine_only_suicide)
attack_add(52, Terran Marine)
attack_add(38, Terran Firebat)
attack_add(20, Terran Medic)
stop()


# ___ MARINE SUICIDE ___

--TMCx marine_suicide--
notowns_jump(Terran Academy, TMCx marine_only_suicide)
attack_add(20, Terran Medic)
attack_add(90, Terran Marine)
stop()


# ___ FIREBAT SUICIDE ___

--TMCx firebat_suicide--
notowns_jump(Terran Academy, TMCx marine_only_suicide)
attack_add(20, Terran Medic)
attack_add(90, Terran Firebat)
stop()


# ___ MARINE ONLY SUICIDE ___

--TMCx marine_only_suicide--
player_need(1, Terran Academy)
wait_buildstart(1, Terran Academy)
player_need(4, Terran Barracks)
wait_build(4, Terran Barracks)
attack_add(110, Terran Marine)
stop()


# === VEHICLE SUICIDE ===

--TMCx vehicle_suicide_check--

random_jump(128, TMCx all_vehicle_suicide)
random_jump(64, TMCx tank_goliath_suicide)
random_jump(85, TMCx vulture_suicide)
random_jump(128, TMCx tank_suicide)


# ___ GOLIATH SUICIDE ___

--TMCx goliath_suicide--
notowns_jump(Terran Armory, TMCx tank_suicide)
attack_add(55, Terran Goliath)
stop()


# ___ ALL VEHICLE SUICIDE ___

--TMCx all_vehicle_suicide--
notowns_jump(Terran Armory, TMCx tank_suicide)
notowns_jump(Terran Machine Shop, TMCx goliath_suicide)
attack_add(25, Terran Siege Tank<0>Tank Mode)
attack_add(20, Terran Goliath)
attack_add(20, Terran Vulture)
stop()


# ___ TANK & GOLIATH SUICIDE ___

--TMCx tank_goliath_suicide--
notowns_jump(Terran Armory, TMCx tank_suicide)
notowns_jump(Terran Machine Shop, TMCx goliath_suicide)
attack_add(30, Terran Siege Tank<0>Tank Mode)
attack_add(25, Terran Goliath)
stop()


# ___ TANK SUICIDE ___

--TMCx tank_suicide--
notowns_jump(Terran Machine Shop, TMCx vulture_suicide)
attack_add(55, Terran Siege Tank<0>Tank Mode)
stop()


# ___ VULTURE SUICIDE ___

--TMCx vulture_suicide--
player_need(4, Terran Factory)
wait_build(4, Terran Factory)
attack_add(110, Terran Vulture)
stop()


# === AIR SUICIDE ===

--TMCx air_suicide_check--

random_jump(128, TMCx cruiser_wraith_suicide)
random_jump(128, TMCx cruiser_suicide)


# ___ WRAITH SUICIDE ___

--TMCx wraith_suicide--
player_need(4, Terran Starport)
wait_build(4, Terran Starport)
attack_add(40, Terran Wraith)
wait(10)
stop()


# ___ BATTLECRUISER & WRAITH SUICIDE ___

--TMCx cruiser_wraith_suicide--
notowns_jump(Terran Control Tower, TMCx wraith_suicide)
notowns_jump(Terran Physics Lab, TMCx wraith_suicide)
attack_add(12, Terran Battlecruiser)
attack_add(19, Terran Wraith)
stop()


# ___ BATTLECRUISER SUICIDE ___

--TMCx cruiser_suicide--
notowns_jump(Terran Control Tower, TMCx wraith_suicide)
notowns_jump(Terran Physics Lab, TMCx wraith_suicide)
attack_add(18, Terran Battlecruiser)
stop()


# === RESEARCH MULTIRUNS ===

# ___ ACADEMY UPGRADES ___

--TMCx r_academy--
wait_build(1, Terran Academy)
tech(Stim Packs, 70)
wait(3600)

upgrade(1, U-238 Shells, 70)
wait(3600)

tech(Optical Flare, 70)
wait(3600)

upgrade(1, Caduceus Reactor, 70)
wait(3600)

tech(Restoration, 70)
stop()


# ___ ENGINEERING BAY UPGRADES ___

--TMCx r_engineering_bay--
wait_build(1, Terran Engineering Bay)
upgrade(1, Terran Infantry Weapons, 70)
wait(3600)

upgrade(1, Terran Infantry Armor, 70)
wait(3600)

wait_build(1, Terran Science Facility)
upgrade(2, Terran Infantry Weapons, 70)
wait(3600)

upgrade(2, Terran Infantry Armor, 70)
wait(3600)

upgrade(3, Terran Infantry Weapons, 70)
wait(3600)

upgrade(3, Terran Infantry Armor, 70)
stop()


# ___ MACHINE SHOP UPGRADES ___

--TMCx r_machine_shop--
wait_build(1, Terran Machine Shop)
tech(Spider Mines, 70)
wait(3600)

tech(Tank Siege Mode, 70)
wait(3600)

upgrade(1, Ion Thrusters, 70)
wait(3600)

wait_build(1, Terran Armory)
upgrade(1, Charon Booster, 70)
stop()


# ___ CONTROL TOWER UPGRADES ___

--TMCx r_control_tower--
wait_build(1, Terran Control Tower)
tech(Cloaking Field, 70)
wait(3600)

upgrade(1, Apollo Reactor, 70)
stop()


# ___ VEHICLE ARMORY UPGRADES ___

--TMCx r_vehicle_armory--
wait_build(1, Terran Armory)
upgrade(1, Terran Vehicle Weapons, 70)
wait(3600)

wait_build(1, Terran Science Facility)
upgrade(2, Terran Vehicle Weapons, 70)
wait(3600)

upgrade(3, Terran Vehicle Weapons, 70)
stop()


# ___ AIR ARMORY UPGRADES ___

--TMCx r_air_armory--
wait_build(1, Terran Armory)
upgrade(1, Terran Ship Weapons, 70)
wait(3600)

wait_build(1, Terran Science Facility)
upgrade(2, Terran Ship Weapons, 70)
wait(3600)

upgrade(3, Terran Ship Weapons, 70)
stop()


# ___ TERRAN & PROTOSS COVERT OPS UPGRADES ___

--TMCx r_covert_ops--
wait_build(1, Terran Covert Ops)
tech(Lockdown, 70)
wait(2500)

tech(Personnel Cloaking, 70)
wait(3600)

upgrade(1, Moebius Reactor, 70)
wait(3600)

upgrade(1, Ocular Implants, 70)
stop()


# ___ ZERG COVERT OPS UPGRADES ___

--TMCx z_covert_ops--
wait_build(1, Terran Covert Ops)
tech(Personnel Cloaking, 70)
wait(3600)

upgrade(1, Moebius Reactor, 70)
wait(3600)

upgrade(1, Ocular Implants, 70)
stop()


# ___ PHYSICS LAB UPGRADES ___

--TMCx r_physics_lab--
wait_build(1, Terran Physics Lab)
tech(Yamato Gun, 70)
wait(3600)

upgrade(1, Colossus Reactor, 70)
stop()


# ___ SCIENCE FACILITY UPGRADES ___

--TMCx r_science_facility--
wait_build(1, Terran Science Facility)
wait(1500)

tech(Irradiate, 70)
wait(3600)

tech(EMP Shockwave, 70)
wait(3600)

upgrade(1, Titan Reactor, 70)
wait(3600)

tech(Defensive Matrix, 70)
stop()


# === OTHER ===

# ___ RESEARCH FOR ZERG/PROTOSS & TERRAN ___

--TMCx r_zerg--
multirun(TMCx z_covert_ops)
goto(TMCx a_covert_ops_research)


--TMCx r_terran_protoss--
multirun(TMCx r_covert_ops)
goto(TMCx a_covert_ops_research)


# ___ BUILD WRAITHS ___

--TMCx 2_wraith--
train(2, Terran Wraith)
stop()

--TMCx 6_wraith--
train(6, Terran Wraith)
stop()

--TMCx 10_wraith--
train(10, Terran Wraith)
stop()

--TMCx 16_wraith--
train(16, Terran Wraith)
stop()[/spoiler]

P.S. - Now that I have the use of indentation with PyAI, is there a tried and true way to indent the code to make it more readable? I just left it at the defaults.

Posted: Wed Jun 11, 2008 5:29 pm
by ashara

Posted: Wed Jun 11, 2008 6:05 pm
by Kryose
Yeah, I think it might be the multirun for the science facility research, but I will try that tonight if I have time. Concerning the version, currently there is only version 1.0... I accidentally mistyped the thread title as 1.1, but as soon as I figure out that bug, I will update with 1.1.

Thanks for the replay, I will take a look at it tonight.

:)

Posted: Wed Jun 11, 2008 6:54 pm
by poiuy_qwert
I'll include an SCAIEdit to PyAI converter in the next release, which i'll probably release after the converter is done (and im already half way done the converter).