FormGroup
- Parameters
seconds integertestReady boolean- comment
- patch
1.00
- Source
- common.ai (raise an issue to discuss on Github or submit a PR)
- return type
nothing- Source code
function FormGroup takes integer seconds, boolean testReady returns nothing local integer index local integer count local integer unitid local integer desire local integer readyPercent // normally test for CaptainReadiness() of 50% if testReady == true then set readyPercent = 50 call Trace("forming group, requiring healthy guys\n") //xxx else set readyPercent = 0 call Trace("forming group, unit health not important\n") //xxx endif call Trace("trying to gather forces\n") //xxx loop call SuicideSleep(seconds) call InitAssault() set index = 0 loop exitwhen index == harass_length set unitid = harass_units[index] set desire = harass_max[index] set count = TownCountDone(unitid) call Conversions(desire,unitid) if count >= desire then call AddAssault(desire,unitid) else set desire = harass_qty[index] if count < desire then call AddAssault(desire,unitid) else call AddAssault(count,unitid) endif endif set index = index + 1 endloop //xxx if form_group_timeouts and (sleep_seconds < -60) then call Trace("exit form group -- timeout\n") elseif CaptainInCombat(true) then call Trace("exit form group -- can't form while already in combat\n") elseif CaptainIsFull() and CaptainReadiness() >= readyPercent then call Trace("exit form group -- ready\n") endif //xxx // time out and send group anyway if time has already expired exitwhen form_group_timeouts and (sleep_seconds < -60) exitwhen CaptainInCombat(true) exitwhen CaptainIsFull() and CaptainReadiness() >= readyPercent endloop endfunction