- Joined
- Nov 13, 2017
- Messages
- 733
I have a set of teams/forces:
TEAM 1:
Here is the Campaign AI script and doesn't work.
TEAM 1:
- Red (Human Player)
- Blue (AI)
- Green (AI)
- Teal (AI)
- Purple (AI)
Here is the Campaign AI script and doesn't work.
JASS:
//========================================================================
//II. HUMANS GLOBAL SCRIPTS
//This shows all the units and buildings of the human faction.
//========================================================================
globals
player USER[1] = Player(1)
player USER[2] = Player(12)
integer H1_TOWNS_KEEP = 'z370'
integer PEASANTROYAL = 'z429' //worker
integer PEASANTROYAL_ECON = 'z442' //worker2
integer H2_MOAT = 'z380'
integer H3_ROYAL_CASTLE = 'z389'
integer ELITE_GUARD = 'z432'
integer FORCE_GUARD = 'z428'
integer IRON_GUARD = 'z431'
integer THRONE_GUARD = 'z434'
integer FARMHOUSE = 'z019'
integer ALTAR_OF_HEROES = 'z021'
integer HUMAN_ROYALAMBASSADOR = 'Z448'
integer HUMAN_ROYALARCHMAGE = 'Z447'
integer HUMAN_ROYALEMPEROR = 'Z460'
integer HUMAN_ROYALGENERAL = 'Z450'
integer HUMAN_ROYALGRAND_MARSHL = 'Z451'
integer HUMAN_ROYALHIGH_CMNDR = 'Z455'
integer HUMAN_ROYAL_INQUISITOR = 'Z452'
integer HUMAN_ROYAL_IRONEN4CER = 'Z453'
integer HUMAN_ROYALJAILOR = 'Z446'
integer HUMAN_ROYAKING1_Andu = 'Z456'
integer HUMAN_ROYAKING2 = 'Z459'
integer HUMAN_ROYAKING3 = 'Z461'
integer HUMAN_ROYALMARKSMAN = 'Z371'
integer HUMAN_ROYALMARKSMAN2 = 'Z465'
integer HUMAN_ROYALVINDICATOR = 'Z462'
integer TOWER_ROYAL_OUTPOST = 'z372'
integer TOWER_ROYAL_OUTPOSTFORT = 'z381'
integer HUMAN_GUARD = 'z433'
integer TOWER_ROYAL_WALL = 'z382'
integer TOWER_ROYAL_BALLISTA = 'z384'
integer TOWER_ROYAL_CANNON = 'z385'
integer TOWER_ROYAL_CATAPULT = 'z383'
integer ROYAL_OUTPOSTBARRACKS = 'z377'
integer ROYAL_CONSCRIPT = 'z398'
integer ROYAL_AXEMAN = 'z399'
integer ROYAL_ARCHER = 'z402'
integer ROYAL_KINGDOMBARRACKS = 'z376'
integer ROYAL_FOOTSOLDIER = 'z401'
integer ROYAL_SPEARMAN = 'z400'
integer ROYAL_CROSSBOWMAN = 'z403'
integer ROYAL_MARKSMAN = 'z404'
integer ROYAL_SANCTUM = 'z397'
integer ROYAL_SEER = 'z435'
integer ROYAL_BATTLEMAGE = 'z424'
integer ROYAL_VISIO = 'z426'
integer ROYAL_REGENSOLDIER = 'z419'
integer ROYAL_SAGE = 'z430'
integer ROYAL_CLAIRVOYANT = 'z423'
integer ROYAL_REGENSOLDIERELITE = 'z422'
integer ROYAL_STABLES = 'z386'
integer ROYAL_LIGHTCAVALRY = 'z410'
integer ROYAL_GALLANT = 'z406'
integer ROYAL_POWERKNIGHT = 'z405'
integer ROYAL_SIEGEWORKSHOP1 = 'z387'
integer HUMAN_BALLISTA = 'z082'
integer HUMAN_CATAPULT_SLING = 'z083'
integer HUMAN_MANTLET = 'z056'
integer HUMAN_BALLISTASIEGE = 'z109'
integer ROYAL_SIEGEWORKSHOP2 = 'z388'
integer HUMAN_BATTERING_RAM = 'z104'
integer HUMAN_CANNON = 'z074'
integer HUMAN_SIEGE_TOWER = 'z090'
integer HUMAN_TREBUCHETPACKED = 'z095'
integer HUMAN_TREBUCHETUNPACKED = 'z096'
integer HUMAN_BOX_CATAPULT = 'z407'
integer HUMAN_FIELD_CANNON = 'z408'
integer HUMAN_WAR_ZEPPELIN = 'z409'
integer ROYAL_SHRINE = 'z373'
integer ROYAL_CLERIC = 'z414'
integer ROYAL_EXORCIST = 'z418'
integer ROYAL_ROYAL_ACOLYTE = 'z415'
integer ROYAL_PALADIN = 'z417'
integer ROYAL_TEMPLAR = 'z420'
integer ROYAL_FAITHSMAN = 'z425'
integer ROYAL_TOWNCOURTHOUSE = 'z443'
integer ROYAL_ADVISOR = 'z427'
integer ROYAL_DUTCH = 'z438'
integer ROYAL_COUNCILOR = 'z437'
integer HUMAN_STASH = 'z393'
integer HUMAN_STORAGE = 'z394'
integer HUMAN_STOREHOUSE = 'z395'
integer HUMAN_TREASURY = 'z396'
integer HUMANWELL1 = 'z392'
integer HUMANWELL2 = 'z463'
integer HUMANWELL3 = 'z464'
integer HUMANVENDORSQUARE = 'z372'
integer HUMANMARKET = 'z390'
integer HUMANCAPITALMARKET = 'z391'
//GLOBAL SHIPYARD
integer HUMANSHIPYARD1 = 'z081'
integer HUMANFISHING_SHIP = 'z129'
integer HUMANEMBARKMENT = 'z126'
integer HUMANWAR_GALLEY = 'z128'
integer HUMANMONITOR_SHIP = 'z127'
integer HUMAN_SHIPYARD2 = 'z107'
integer HUMAN_CARAVEL = 'z122'
integer HUMAN_CARRACK = 'z130'
integer HUMAN_FAST_FIRESHIP = 'z123'
integer HUMAN_FISCHER = 'z125'
integer HUMAN_FRIGATE = 'z119'
integer HUMAN_RAFT = 'z118'
integer HUMAN_SHIPYARD3 = 'z092'
integer HUMAN_FROUGHTTIER = 'z060'
integer HUMAN_IMPERATURE = 'z061'
integer HUMAN_ROYAL_PRUTINE = 'z055'
integer HUMAN_STEAM_PODGE = 'z111'
integer HUMAN_CHIVALROUS = 'z124'
integer HUMAN_BATTLESHIP = 'z121'
integer ROYAL_HUMANCOMMANDER = 'z421'
integer ROYAL_HUMANCOMMANDER2 = 'z416'
integer ROYAL_HUMANLIEUTENANT = 'z412'
integer ROYAL_HUMANCAPTAIN = 'z413'
endglobals
//========================================================================
// This is the training and creation behavior of the player AI.
//========================================================================
function main takes nothing returns nothing
call CampaignAI(FARMHOUSE,null)
call SetReplacements(5,5,5)
call SetSlowChopping(true)
call SetPeonsRepair(true)
set campaign_gold_peons = 5
set campaign_wood_peons = 5
call SetBuildUnitEx(20,20,20,FARMHOUSE)
call SetBuildUnitEx(6,6,6,ROYAL_CONSCRIPT)
call SetBuildUnitEx(2,2,2,IRON_GUARD)
call SetBuildUnitEx(5,5,5,ROYAL_AXEMAN)
call SetBuildUnitEx(4,4,4,ROYAL_ARCHER)
call SetBuildUnitEx(16,16,16,ROYAL_FOOTSOLDIER)
call SetBuildUnitEx(5,5,5,ROYAL_SPEARMAN)
call SetBuildUnitEx(8,8,8,ROYAL_CROSSBOWMAN)
call SetBuildUnitEx(3,3,3,ROYAL_BATTLEMAGE)
call SetBuildUnitEx(5,5,5,ROYAL_SAGE)
call SetBuildUnitEx(3,3,3,ROYAL_CLAIRVOYANT)
call SetBuildUnitEx(7,7,7,ROYAL_LIGHTCAVALRY)
call SetBuildUnitEx(4,4,4,ROYAL_GALLANT)
call SetBuildUnitEx(2,2,2,ROYAL_POWERKNIGHT)
//Siege Units
call SetBuildUnitEx(2,2,2,HUMAN_BALLISTA)
call SetBuildUnitEx(4,4,4,HUMAN_MANTLET)
call SetBuildUnitEx(2,2,2,HUMAN_BALLISTASIEGE)
call SetBuildUnitEx(2,2,2,HUMAN_BATTERING_RAM)
call SetBuildUnitEx(2,2,2,HUMAN_CANNON)
call SetBuildUnitEx(3,3,3,HUMAN_BOX_CATAPULT)
call SetBuildUnitEx(2,2,2,HUMAN_FIELD_CANNON)
call SetBuildUnitEx(4,4,4,HUMAN_WAR_ZEPPELIN)
call SetBuildUnitEx(4,4,4,ROYAL_CLERIC)
call SetBuildUnitEx(1,1,1,ROYAL_EXORCIST)
call SetBuildUnitEx(2,2,2,ROYAL_PALADIN)
call SetBuildUnitEx(2,2,2,ROYAL_FAITHSMAN)
call SetBuildUnitEx(2,2,2,ROYAL_DUTCH)
call SetBuildUnitEx(2,2,2,ROYAL_COUNCILOR)
call SetBuildUnitEx(2,2,2,HUMANWAR_GALLEY)
call SetBuildUnitEx(1,1,1,HUMANMONITOR_SHIP)
call SetBuildUnitEx(1,1,1,HUMAN_FISCHER)
call SetBuildUnitEx(1,1,1,HUMAN_FRIGATE)
call SetBuildUnitEx(2,2,2,HUMAN_STEAM_PODGE)
call CampaignDefenderEx(3,3,3,ROYAL_SPEARMAN)
call CampaignDefenderEx(1,1,1,HUMAN_ROYAL_INQUISITOR)
call CampaignDefenderEx(1,1,1,HUMAN_ROYALARCHMAGE)
call CampaignDefenderEx(1,1,1,HUMAN_ROYALAMBASSADOR)
call CampaignDefenderEx(1,1,1,HUMAN_ROYAKING1_Andu)
call CampaignDefenderEx(2,2,2,HUMAN_BALLISTA)
call CampaignDefenderEx(2,2,2,ROYAL_CROSSBOWMAN)
call CampaignDefenderEx(1,1,1,HUMAN_BOX_CATAPULT)
//========================================================================
//Attack Waves
//========================================================================
call WaitForSignal()
//=========== WAVE 1-1 =================//
call InitAssaultGroup()
call CampaignAttackerEx(6,6,6,ROYAL_CONSCRIPT)
call CampaignAttackerEx(2,2,2,IRON_GUARD)
call CampaignAttackerEx(4,4,4,ROYAL_ARCHER)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call SuicideOnPlayerEx(M8,M8,M8,USER)
//=========== WAVE 1-2 =================//
call InitAssaultGroup()
call CampaignAttackerEx(6,6,6,ROYAL_CONSCRIPT)
call CampaignAttackerEx(2,2,2,IRON_GUARD)
call CampaignAttackerEx(4,4,4,ROYAL_ARCHER)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call SuicideOnPlayerEx(M8,M8,M8,USER)
//=========== WAVE 1-3 =================//
call InitAssaultGroup()
call CampaignAttackerEx(6,6,6,ROYAL_CONSCRIPT)
call CampaignAttackerEx(2,2,2,IRON_GUARD)
call CampaignAttackerEx(4,4,4,ROYAL_ARCHER)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call SuicideOnPlayerEx(M8,M8,M8,USER[GetRandomInt(1, 2)])
//=========== WAVE 1-4 =================//
call InitAssaultGroup()
call CampaignAttackerEx(5,5,5,ROYAL_AXEMAN)
call CampaignAttackerEx(2,2,2,ROYAL_BATTLEMAGE)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_FIELD_CANNON)
call CampaignAttackerEx(2,2,2,HUMAN_MANTLET)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call CampaignAttackerEx(3,3,3,ROYAL_LIGHTCAVALRY)
call CampaignAttackerEx(2,2,2,ROYAL_PALADIN)
call CampaignAttackerEx(2,2,2,ROYAL_DUTCH)
call CampaignAttackerEx(2,2,2,ROYAL_COUNCILOR)
call CampaignAttackerEx(1,1,1,HUMAN_ROYAL_INQUISITOR)
call SuicideOnPlayerEx(M9,M9,M9,USER[GetRandomInt(1, 2)])
//=========== WAVE 1-5 =================//
call InitAssaultGroup()
call CampaignAttackerEx(5,5,5,ROYAL_AXEMAN)
call CampaignAttackerEx(2,2,2,ROYAL_BATTLEMAGE)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_FIELD_CANNON)
call CampaignAttackerEx(2,2,2,HUMAN_MANTLET)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call CampaignAttackerEx(3,3,3,ROYAL_LIGHTCAVALRY)
call CampaignAttackerEx(2,2,2,ROYAL_PALADIN)
call CampaignAttackerEx(2,2,2,ROYAL_DUTCH)
call CampaignAttackerEx(2,2,2,ROYAL_COUNCILOR)
call CampaignAttackerEx(1,1,1,HUMAN_ROYAL_INQUISITOR)
call SuicideOnPlayerEx(M15,M15,M15,USER[GetRandomInt(1, 2)])
//=========== WAVE 1-6 =================//
call InitAssaultGroup()
call CampaignAttackerEx(6,6,6,ROYAL_CONSCRIPT)
call CampaignAttackerEx(2,2,2,IRON_GUARD)
call CampaignAttackerEx(4,4,4,ROYAL_ARCHER)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call SuicideOnPlayerEx(M8,M8,M8,USER[GetRandomInt(1, 2)])
//=========== WAVE 1-7 =================//
call InitAssaultGroup()
call CampaignAttackerEx(5,5,5,ROYAL_AXEMAN)
call CampaignAttackerEx(2,2,2,ROYAL_BATTLEMAGE)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_FIELD_CANNON)
call CampaignAttackerEx(2,2,2,HUMAN_MANTLET)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call CampaignAttackerEx(3,3,3,ROYAL_LIGHTCAVALRY)
call CampaignAttackerEx(2,2,2,ROYAL_PALADIN)
call CampaignAttackerEx(2,2,2,ROYAL_DUTCH)
call CampaignAttackerEx(2,2,2,ROYAL_COUNCILOR)
call CampaignAttackerEx(1,1,1,HUMAN_ROYAL_INQUISITOR)
call SuicideOnPlayerEx(M9,M9,M9,USER[GetRandomInt(1, 2)])
//========================================================================
//========================================================================
//Looping Waves with more Difficulty//
loop
//=========== WAVE 2 =================//
call InitAssaultGroup()
call CampaignAttackerEx(5,5,5,ROYAL_AXEMAN)
call CampaignAttackerEx(2,2,2,ROYAL_BATTLEMAGE)
call CampaignAttackerEx(2,2,2,ROYAL_SAGE)
call CampaignAttackerEx(1,1,1,HUMAN_BALLISTASIEGE)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_FIELD_CANNON)
call CampaignAttackerEx(2,2,2,HUMAN_MANTLET)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call CampaignAttackerEx(3,3,3,ROYAL_LIGHTCAVALRY)
call CampaignAttackerEx(2,2,2,ROYAL_PALADIN)
call CampaignAttackerEx(2,2,2,ROYAL_DUTCH)
call CampaignAttackerEx(2,2,2,ROYAL_COUNCILOR)
call CampaignAttackerEx(1,1,1,HUMAN_ROYAL_INQUISITOR)
call SuicideOnPlayerEx(M5,M5,M5,USER[GetRandomInt(1, 2)])
//=========== WAVE 3 =================//
call InitAssaultGroup()
call CampaignAttackerEx(1,1,1,ROYAL_SAGE)
call CampaignAttackerEx(3,3,3,ROYAL_CLAIRVOYANT)
call CampaignAttackerEx(2,2,2,ROYAL_CLERIC)
call CampaignAttackerEx(1,1,1,ROYAL_EXORCIST)
call CampaignAttackerEx(1,1,1,HUMAN_BOX_CATAPULT)
call CampaignAttackerEx(1,1,1,HUMAN_FIELD_CANNON)
call CampaignAttackerEx(2,2,2,HUMAN_MANTLET)
call CampaignAttackerEx(7,7,7,ROYAL_FOOTSOLDIER)
call CampaignAttackerEx(3,3,3,ROYAL_CROSSBOWMAN)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call CampaignAttackerEx(4,4,4,ROYAL_LIGHTCAVALRY)
call CampaignAttackerEx(2,2,2,ROYAL_PALADIN)
call CampaignAttackerEx(1,1,1,HUMAN_ROYALARCHMAGE)
call SuicideOnPlayerEx(M5,M5,M5,USER[GetRandomInt(1, 2)])
//=========== WAVE 4 =================//
call InitAssaultGroup()
call CampaignAttackerEx(2,2,2,ROYAL_CLERIC)
call CampaignAttackerEx(9,9,9,ROYAL_FOOTSOLDIER)
call CampaignAttackerEx(5,5,5,ROYAL_CROSSBOWMAN)
call CampaignAttackerEx(3,3,3,ROYAL_POWERKNIGHT)
call CampaignAttackerEx(4,4,4,ROYAL_GALLANT)
call CampaignAttackerEx(3,3,3,ROYAL_CLAIRVOYANT)
call CampaignAttackerEx(2,2,2,HUMAN_BALLISTA)
call CampaignAttackerEx(1,1,1,HUMAN_ROYAKING1_Andu)
call CampaignAttackerEx(1,1,1,HUMAN_ROYALARCHMAGE)
call CampaignAttackerEx(1,1,1,HUMAN_WAR_ZEPPELIN)
call CampaignAttackerEx(2,2,2,HUMAN_BATTERING_RAM)
call CampaignAttackerEx(2,2,2,HUMAN_CANNON)
call SuicideOnPlayerEx(M6,M6,M6,USER[GetRandomInt(1, 2)])
endloop
endfunction