Hello! I have been trying to use Jass to make an AI for a Custom Campaign. However, once the level starts and the appropiate triggers are detonated, the computer does nothing?
Here is the code:
Now, I had a similar issue in the past, which was due to a Syntax Error. However, I've run this code over the few Syntax Checkers I managed to get working, and they didn't report anything out of the ordinary. Could someone please tell me where the mistake is?
Here is the code:
JASS:
//------------------------------------------------
// GLOBALS
//------------------------------------------------
globals
player user = PlayerEx(1)
endglobals
//------------------------------------------------
// MAIN
//------------------------------------------------
function main takes nothing returns nothing
call CampaignAI(ZIGGURAT_1, null)
call DoCampaignFarms(true)
call SetHeroesFlee(false)
call SetGroupsFlee(false)
call SetReplacements(1, 1, 1)
call SetSlowChopping(true)
call SetPeonsRepair(true)
call SetBuildUnitEx(1, 1, 1, NECROPOLIS_2)
call SetBuildUnitEx(1, 1, 1, UNDEAD_MINE)
call SetBuildUnitEx(6, 6, 6, ACOLYTE)
call SetBuildUnitEx(2, 2, 2, CRYPT)
call SetBuildUnitEx(2, 2, 3, GHOUL)
call SetBuildUnitEx(1, 1, 1, UNDEAD_ALTAR)
call SetBuildUnitEx(1, 1, 1, DAMNED_TEMPLE)
call SetBuildUnitEx(1, 1, 1, GRAVEYARD)
call SetBuildUnitEx(6, 6, 7, ZIGGURAT_2)
call CampaignDefenderEx(3, 3, 4, GHOUL)
call CampaignDefenderEx(1, 1, 2, NECRO)
call CampaignDefenderEx(1, 2, 2, CRYPT_FIEND)
call CampaignDefenderEx(0, 1, 1, BANSHEE)
call WaitForSignal()
// WAVE 1
call InitAssaultGroup()
call CampaignAttackerEx(4, 4, 4, GHOUL)
call SuicideOnPlayerEx(180, 180, 150, user)
// WAVE 2
call InitAssaultGroup()
call CampaignAttackerEx(3, 3, 4, GHOUL)
call CampaignAttackerEx(1, 1, 2, NECRO)
call SuicideOnPlayerEx(180, 180, 180, user)
// WAVE 3
call InitAssaultGroup()
call CampaignAttackerEx(4, 4, 5, GHOUL)
call CampaignAttackerEx(1, 2, 2, CRYPT_FIEND)
call SuicideOnPlayerEx(180, 180, 180, user)
// WAVE 4
call InitAssaultGroup()
call CampaignAttackerEx(4, 4, 5, GHOUL)
call CampaignAttackerEx(1, 1, 2, BANSHEE)
call SuicideOnPlayerEx(180, 180, 180, user)
// WAVE 5
call InitAssaultGroup()
call CampaignAttackerEx(3, 4, 4, GHOUL)
call CampaignAttackerEx(1, 1, 2, NECRO)
call CampaignAttackerEx(0, 1, 1, BANSHEE)
call SuicideOnPlayerEx(180, 180, 180, user)
loop
// WAVE A
call InitAssaultGroup()
call CampaignAttackerEx(5, 5, 6, GHOUL)
call CampaignAttackerEx(1, 1, 2, NECRO)
call CampaignAttackerEx(0, 0, 1, MEAT_WAGON)
call SuicideOnPlayerEx(180, 180, 180, user)
// WAVE B
call InitAssaultGroup()
call CampaignAttackerEx(4, 4, 6, GHOUL)
call CampaignAttackerEx(2, 2, 2, CRYPT_FIEND)
call CampaignAttackerEx(1, 1, 1, BANSHEE)
call SuicideOnPlayerEx(180, 180, 180, user)
// WAVE C
call InitAssaultGroup()
call CampaignAttackerEx(7, 7, 9, GHOUL)
call CampaignAttackerEx(0, 1, 2, CRYPT_FIEND)
call CampaignAttackerEx(0, 0, 2, MEAT_WAGON)
call SuicideOnPlayerEx(180, 180, 180, user)
// WAVE D
call InitAssaultGroup()
call CampaignAttackerEx(4, 4, 4, GHOUL)
call CampaignAttackerEx(0, 1, 2, CRYPT_FIEND)
call CampaignAttackerEx(1, 2, 2, NECRO)
call CampaignAttackerEx(0, 1, 1, BANSHEE)
call SuicideOnPlayerEx(180, 180, 180, user)
endloop
endfunction
Now, I had a similar issue in the past, which was due to a Syntax Error. However, I've run this code over the few Syntax Checkers I managed to get working, and they didn't report anything out of the ordinary. Could someone please tell me where the mistake is?