• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

Need Help how to fix this code

Status
Not open for further replies.
Level 6
Joined
May 11, 2013
Messages
205
Hey the trigger works properly but some minutes the spawned creeps are stuck and they don't move-attacking. I'm sure i miss something but i don't know what.
JASS:
function InitGlobals2 takes nothing returns nothing
    call SetUnitInvulnerable(udg_AllianceCastle, true)
    call SetUnitInvulnerable(udg_HordeStronghold, true)

    set udg_NumberOfFootmen = 4
    set udg_NumberOfFusiller = 2
    set udg_NumberOfKnights = 1
    set udg_NumberOfSorceress = 0
    set udg_NumberOfMortar = 0
    set udg_NumberOfGrunt = 4
    set udg_NumberOfHeadHunter = 2
    set udg_NumberOfTauren = 1
    set udg_NumberOfShaman = 0
    set udg_NumberOfDemolisher = 0
endfunction

function CreateBuildingsForPlayer10 takes nothing returns nothing
    local player p=Player(10)
    local unit u
    local integer unitID
    local trigger t
    local real life
    //CASTLE AND BARRACKS
    set udg_AllianceCastle=CreateUnit(p,'hcas',-4224.0,-320.0,270.000)//Castle
    set udg_AllianceNorthBarracks=CreateUnit(p,'hbar',-3328.0,1600.0,270.000)//North Barracks
    set udg_AllianceSouthBarracks=CreateUnit(p,'halt',-3392.0,-2048.0,270.000)//South Barracks
    //FOUNTAIN TOWERS
    set u=CreateUnit(p,'negf',-4608.0,1536.0,270.000)//Towers Near Upper Fountain
    set u=CreateUnit(p,'negf',-4608.0,-2240.0,270.000)//Tower Near Lower Fountain
    //CASTLE TOWERS
    set udg_TowersCastle[1]=CreateUnit(p,'hctw',-2784.1,-971.13,270.000)//Superior Arcane Towers
    set udg_TowersCastle[2]=CreateUnit(p,'hctw',-2784.1,73.6,270.000)
    set udg_TowersCastle[3]=CreateUnit(p,'hctw',-2780.9,-351.13,270.000)
    set udg_TowersCastle[4]=CreateUnit(p,'hctw',-4416.0,0.0,270.000)
    set udg_TowersCastle[5]=CreateUnit(p,'hctw',-3840.0,-320.0,270.000)
    set udg_TowersCastle[6]=CreateUnit(p,'hctw',-4416.0,-640.0,270.000)
    set udg_TowersCastle[7]=CreateUnit(p,'hctw',-3456.0,448.0,270.000)
    set udg_TowersCastle[8]=CreateUnit(p,'hctw',-3456.0,-1088.0,270.000)
    set udg_TowersCastle[9]=CreateUnit(p,'negm',-3968.0,0.0,270.000)//Superior Guard Tower
    set udg_TowersCastle[10]=CreateUnit(p,'negm',-3968.0,-640.0,270.000)//Superior Guard Tower
    //UPPER BARRACKS TOWERS, HUMAN SIDE
    set udg_TowersTPHuBack[1]=CreateUnit(p,'hatw',-3264.0,1216.0,270.000) //upper lane, upper set of towers, middle tower
    set udg_TowersTPHuBack[2]=CreateUnit(p,'hatw',-3328.0,1984.0,270.000) //upper lane, upper set of towers, middle tower
    set udg_TowersTPHuBack[3]=CreateUnit(p,'hgtw',-3392.0,1856.0,270.000)
    set udg_TowersTPHuBack[4]=CreateUnit(p,'hgtw',-3328.0,1344.0,270.000)
    set udg_TowersTPHuBack[5]=CreateUnit(p,'hgtw',-3264.0,2112.0,270.000) //upper lane, upper set of towers, upper tower
    set udg_TowersTPHuBack[6]=CreateUnit(p,'hgtw',-3200.0,1088.0,270.000)
    //DOWN BARRACKS TOWERS, HUMAN SIDE
    set udg_TowersBTHuBack[1]=CreateUnit(p,'hatw',-3264.0,-2432.0,270.000) //down lane, lower set of towers, middle tower
    set udg_TowersBTHuBack[2]=CreateUnit(p,'hatw',-3328.0,-1664.0,270.000) //down lane, upper set of towers, middle tower
    set udg_TowersBTHuBack[4]=CreateUnit(p,'hgtw',-3200.0,-2560.0,270.000)
    set udg_TowersBTHuBack[3]=CreateUnit(p,'hgtw',-3264.0,-1536.0,270.000) //down lane, upper set of towers, upper tower
    set udg_TowersBTHuBack[5]=CreateUnit(p,'hgtw',-3392.0,-1792.0,270.000)
    set udg_TowersBTHuBack[6]=CreateUnit(p,'hgtw',-3328.0,-2304.0,270.000)
    //BEHIND BARRACKS TOWERS
    set udg_TowersTPHuBhdBrk=CreateUnit(p,'hatw',-3648.0,1600.0,270.000)//Arcane Tower Behind Upper Barracks
    set udg_TowersBTHuBhdBrk=CreateUnit(p,'hatw',-3712.0,-2048.0,270.000)//Arcane Tower Behing Lower Barracks
    //FRONT BARRACKS TOWERS
    set udg_TowersTPHuFrtBrk=CreateUnit(p,'hgtw',-2816.0,1600.0,270.000)
    set udg_TowersBTHuFrtBrk=CreateUnit(p,'hgtw',-2880.0,-2048.0,270.000)
    //UPPER SET
    set udg_TowersTPHuMid[1]=CreateUnit(p,'hgtw',-1984.0,2240.0,270.000)//Guard Towers. Hqtw - Guard Tower//hatw - Arcane Tower
    set udg_TowersTPHuMid[2]=CreateUnit(p,'hgtw',-1984.0,1088.0,270.000)
    set udg_TowersTPHuMid[3]=CreateUnit(p,'hgtw',-1920.0,1216.0,270.000)
    set udg_TowersTPHuMid[4]=CreateUnit(p,'hgtw',-1920.0,2112.0,270.000)
    set udg_TowersTPHuMid[5]=CreateUnit(p,'hgtw',-1856.0,1088.0,270.000)
    set udg_TowersTPHuMid[6]=CreateUnit(p,'hgtw',-1856.0,2240.0,270.000)
    //LOWER SET
    set udg_TowersBTHuMid[1]=CreateUnit(p,'hgtw',-1920.0,-1728.0,270.000)
    set udg_TowersBTHuMid[2]=CreateUnit(p,'hgtw',-1984.0,-2752.0,270.000)
    set udg_TowersBTHuMid[3]=CreateUnit(p,'hgtw',-1856.0,-2752.0,270.000)
    set udg_TowersBTHuMid[4]=CreateUnit(p,'hgtw',-1920.0,-2624.0,270.000)
    set udg_TowersBTHuMid[5]=CreateUnit(p,'hgtw',-1984.0,-1600.0,270.000)
    set udg_TowersBTHuMid[6]=CreateUnit(p,'hgtw',-1856.0,-1600.0,270.000)
    //FRONT TOWERS
    set udg_TowersTPHuFront=CreateUnit(p,'hgtw',-1472.0,1664.0,270.000)  //front tower up
    set udg_TowersBTHuFront=CreateUnit(p,'hgtw',-1472.0,-2176.0,270.000) //front tower down
endfunction

function CreateBuildingsForPlayer11 takes nothing returns nothing
    local player p=Player(11)
    local unit u
    local integer unitID
    local trigger t
    local real life
    //FOUNTAIN TOWERS
    set u=CreateUnit(p,'negf',4608.0,-2048.0,270.000)
    set u=CreateUnit(p,'negf',4544.0,1408.0,270.000)
    //STRONGHOLD AND BARRACKS
    set udg_HordeStronghold=CreateUnit(p,'ofrt',4224.0,-256.0,270.000)//Stronghold
    set udg_HordeSouthBarracks=CreateUnit(p,'ofor',3392.0,-2112.0,270.000)//Lower Barracks
    set udg_HordeNorthBarracks=CreateUnit(p,'obar',3264.0,1600.0,270.000)//Upper Barracks
    //STRONGHOLD TOWERS
    set udg_TowersStronghold[1]=CreateUnit(p,'hctw',4416.0,-576.0,270.000)//Superior Arcane
    set udg_TowersStronghold[2]=CreateUnit(p,'hctw',4416.0,64.0,270.000)//Superior Arcane
    set udg_TowersStronghold[3]=CreateUnit(p,'hctw',2780.9,-351.13,270.000)//Superior Arcane
    set udg_TowersStronghold[4]=CreateUnit(p,'hctw',2967.7,-750.4,270.000)//Superior Arcane
    set udg_TowersStronghold[5]=CreateUnit(p,'hctw',3010.9,203.1,270.000)//Superior Arcane
    set udg_TowersStronghold[6]=CreateUnit(p,'hctw',3888.0,-256.0,270.000)//Superior Arcane
    set udg_TowersStronghold[7]=CreateUnit(p,'hctw',3456.0,384.0,270.000)//Superior Arcane
    set udg_TowersStronghold[8]=CreateUnit(p,'hctw',3520.0,-896.0,270.000)//Superior Arcane
    set udg_TowersStronghold[9]=CreateUnit(p,'otrb',4032.0,-576.0,270.000)//Superior Watch Tower
    set udg_TowersStronghold[10]=CreateUnit(p,'otrb',3968.0,64.0,270.000)//Superior Watch Tower
    //UPPER BARRACKS TOWERS, ORC SIDE
    set udg_TowersTPOrcBack[1]=CreateUnit(p,'hatw',3200.0,1984.0,270.000)//Arcane Towers
    set udg_TowersTPOrcBack[2]=CreateUnit(p,'hatw',3200.0,1216.0,270.000)//Arcane Towers
    set udg_TowersTPOrcBack[3]=CreateUnit(p,'owtw',3264.0,1856.0,270.000)//Watch Towers
    set udg_TowersTPOrcBack[4]=CreateUnit(p,'owtw',3264.0,1344.0,270.000)//Watch Towers
    set udg_TowersTPOrcBack[5]=CreateUnit(p,'owtw',3136.0,2112.0,270.000)//Watcg Towers
    set udg_TowersTPOrcBack[6]=CreateUnit(p,'owtw',3136.0,1088.0,270.000)//Watch Towers
    //DOWN BARRAKCS TOWERS, ORC SIDE
    set udg_TowersBTOrcBack[1]=CreateUnit(p,'hatw',3264.0,-2496.0,270.000)
    set udg_TowersBTOrcBack[2]=CreateUnit(p,'hatw',3264.0,-1728.0,270.000)
    set udg_TowersBTOrcBack[3]=CreateUnit(p,'owtw',3200.0,-1600.0,270.000)
    set udg_TowersBTOrcBack[4]=CreateUnit(p,'owtw',3328.0,-2368.0,270.000)
    set udg_TowersBTOrcBack[5]=CreateUnit(p,'owtw',3328.0,-1856.0,270.000)
    set udg_TowersBTOrcBack[6]=CreateUnit(p,'owtw',3200.0,-2624.0,270.000)
    //BEHIND BARRACKS TOWERS
    set udg_TowersBTOrcBhdBrk=CreateUnit(p,'hatw',3712.0,-2112.0,270.000)
    set udg_TowersTPOrcBhdBrk=CreateUnit(p,'hatw',3584.0,1600.0,270.000)
    //FRONT BARRACKS TOWERS
    set udg_TowersBTOrcFrtBrk=CreateUnit(p,'owtw',2880.0,-2112.0,270.000)//esta
    set udg_TowersTPOrcFrtBrk=CreateUnit(p,'owtw',2752.0,1600.0,270.000)//outra
    //UPPER SET
    set udg_TowersTPOrcMid[1]=CreateUnit(p,'owtw',1920.0,1088.0,270.000)
    set udg_TowersTPOrcMid[2]=CreateUnit(p,'owtw',2048.0,1088.0,270.000)
    set udg_TowersTPOrcMid[3]=CreateUnit(p,'owtw',1984.0,1216.0,270.000)
    set udg_TowersTPOrcMid[4]=CreateUnit(p,'owtw',1920.0,2240.0,270.000)
    set udg_TowersTPOrcMid[5]=CreateUnit(p,'owtw',2048.0,2240.0,270.000)
    set udg_TowersTPOrcMid[6]=CreateUnit(p,'owtw',1984.0,2048.0,270.000) 
    //LOWER SET
    set udg_TowersBTOrcMid[1]=CreateUnit(p,'owtw',1856.0,-2752.0,270.000)
    set udg_TowersBTOrcMid[2]=CreateUnit(p,'owtw',1984.0,-2752.0,270.000)
    set udg_TowersBTOrcMid[3]=CreateUnit(p,'owtw',1920.0,-2624.0,270.000)
    set udg_TowersBTOrcMid[4]=CreateUnit(p,'owtw',1856.0,-1600.0,270.000)
    set udg_TowersBTOrcMid[5]=CreateUnit(p,'owtw',1984.0,-1600.0,270.000)
    set udg_TowersBTOrcMid[6]=CreateUnit(p,'owtw',1920.0,-1728.0,270.000)
    //FRONT TOWERS
    set udg_TowersBTOrcFront=CreateUnit(p,'owtw',1472.0,-2112.0,270.000)
    set udg_TowersTPOrcFront=CreateUnit(p,'owtw',1472.0,1664.0,270.000)
endfunction

function CreateMapRegions takes nothing returns nothing
    set udg_rect01 = Rect(2816.0,-2592.0,3296.0,-1600.0)
    set udg_rect02 = Rect(2592.0,1056.0,3072.0,2112.0)
    set udg_rect03 = Rect(-3200.0,1088.0,-2752.0,2112.0)
    set udg_rect04 = Rect(-3136.0,-2560.0,-2656.0,-1472.0)
    set udg_rect05 = Rect(-3808.0,-544.0,-3424.0,-96.0)
    set udg_rect06 = Rect(3424.0,-512.0,3840.0,-32.0)
    set udg_rect07 = Rect(3936.0,-576.0,4480.0,32.0)
    set udg_rect08 = Rect(352.0,-928.0,1856.0,288.0)
    set udg_rect09 = Rect(-1792.0,-832.0,-384.0,384.0)
    set udg_rect10 = Rect(-4512.0,-352.0,-2880.0,512.0)
    set udg_rect11 = Rect(2880.0,-288.0,4480.0,512.0)
    set udg_rect12 = Rect(-4512.0,-1216.0,-2880.0,-352.0)
    set udg_rect13 = Rect(2912.0,-1088.0,4480.0,-288.0)
    set udg_rect14 = Rect(4640.0,-576.0,5184.0,32.0)
    set udg_rect15 = Rect(-5248.0,-544.0,-4704.0,64.0)
    set udg_rect16 = Rect(-1152.0,544.0,4160.0,2368.0)
    set udg_rect17 = Rect(-1152.0,-2976.0,4224.0,-1184.0)
    set udg_rect18 = Rect(-4160.0,-2944.0,1184.0,-1184.0)
    set udg_rect19 = Rect(-4256.0,544.0,1152.0,2368.0)
    set udg_rect20 = Rect(2592.0,-1376.0,4576.0,800.0)
    set udg_rect21 = Rect(2240.0,-2848.0,3872.0,-1376.0)
    set udg_rect22 = Rect(2112.0,832.0,3744.0,2304.0)
    set udg_rect23 = Rect(-5472.0,2400.0,-4224.0,3200.0)
    set udg_rect24 = Rect(-32.0,-1568.0,288.0,-1280.0)
endfunction

function Trig_botORC_Func001Func001Func003C takes nothing returns boolean
    if((GetUnitTypeId(GetEnumUnit())=='ogru'))then//OrcGrunt
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='nchg'))then//OrcFelGrunt-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='nchr'))then//OrcFelRaider-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='odoc'))then//OrcWitchDoctor-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='otau'))then//OrcTauren
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='ohun'))then//OrcTrollHeadHunter
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='ocat'))then//OrcDemolisher
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='oshm'))then//OrcShaman
        return true
    endif
    return false
endfunction

function Trig_botORC_Func001Func001C takes nothing returns boolean
    if(not Trig_botORC_Func001Func001Func003C())then
        return false
    endif
    return true
endfunction

function Trig_botORC_Func001A takes nothing returns nothing
    if(Trig_botORC_Func001Func001C())then
        call IssuePointOrderLocBJ(GetEnumUnit(),"attack",GetUnitLoc(udg_unit14))
    endif
endfunction

function Trig_botORC_Func003Func001Func001C takes nothing returns boolean
    if((GetUnitTypeId(GetEnumUnit())=='ogru'))then//OrcGrunt
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='nchg'))then//OrcFelGrunt-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hchr'))then//OrcFelRaider-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='odoc'))then//OrcWitchDoctor-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='otau'))then//OrcTauren
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='ohun'))then//OrcTrollHeadHunter
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='ocat'))then//OrcDemolisher
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='oshm'))then//OrcShaman
        return true
    endif
    return false
endfunction

function Trig_botORC_Func003Func001C takes nothing returns boolean
    if(not Trig_botORC_Func003Func001Func001C())then
        return false
    endif
    return true
endfunction

function Trig_botORC_Func003A takes nothing returns nothing
    if(Trig_botORC_Func003Func001C())then
        call IssuePointOrderLocBJ(GetEnumUnit(),"attack",GetUnitLoc(udg_unit10))
    endif
endfunction

function Trig_botORC_Func005Func001Func001C takes nothing returns boolean
    if((GetUnitTypeId(GetEnumUnit())=='hhes'))then//HumanSwordsMan
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hfoo'))then//HumanFootman-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hkni'))then//HumanBlackKnight-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hmpr'))then//Priest-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hcth'))then//HumanKnight
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='nhea'))then//HumanRiffleman
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hmtm'))then//HumanMortarTeam
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hsor'))then//HumanSorceress
        return true
    endif
    return false
endfunction

function Trig_botORC_Func005Func001C takes nothing returns boolean
    if(not Trig_botORC_Func005Func001Func001C())then
        return false
    endif
    return true
endfunction

function Trig_botORC_Func005A takes nothing returns nothing
    if(Trig_botORC_Func005Func001C())then
        call IssuePointOrderLocBJ(GetEnumUnit(),"attack",GetUnitLoc(udg_unit19))
    endif
endfunction

function Trig_botORC_Func007Func001Func001C takes nothing returns boolean
    if((GetUnitTypeId(GetEnumUnit())=='hhes'))then//HumanSwordsMan
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hfoo'))then//HumanFootman-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hkni'))then//HumanBlackKnight-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hmpr'))then//Priest-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hcth'))then//HumanKnight
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='nhea'))then//HumanRiffleman
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hmtm'))then//HumanMortarTeam
        return true
    endif
    if((GetUnitTypeId(GetEnumUnit())=='hsor'))then//HumanSorceress
        return true
    endif
    return false
endfunction

function Trig_botORC_Func007Func001C takes nothing returns boolean
    if(not Trig_botORC_Func007Func001Func001C())then
        return false
    endif
    return true
endfunction

function Trig_botORC_Func007A takes nothing returns nothing
    if(Trig_botORC_Func007Func001C())then
        call IssuePointOrderLocBJ(GetEnumUnit(),"attack",GetUnitLoc(udg_unit20))
    endif
endfunction

function Trig_botORC_Actions takes nothing returns nothing
    call ForGroupBJ(GetUnitsInRectAll(udg_rect17),function Trig_botORC_Func001A)
    call TriggerSleepAction(2)
    call ForGroupBJ(GetUnitsInRectAll(udg_rect16),function Trig_botORC_Func003A)
    call TriggerSleepAction(2)
    call ForGroupBJ(GetUnitsInRectAll(udg_rect18),function Trig_botORC_Func005A)
    call TriggerSleepAction(2)
    call ForGroupBJ(GetUnitsInRectAll(udg_rect19),function Trig_botORC_Func007A)
endfunction

function Trig_antilag_Func001002 takes nothing returns nothing
    call RemoveUnit(GetEnumUnit())
endfunction

function Trig_antilag_Actions takes nothing returns nothing
    call ForGroupBJ(GetUnitsInRectAll(udg_rect23),function Trig_antilag_Func001002)
endfunction

function Trig_last_reserves_HU_Conditions takes nothing returns boolean
    if(not(udg_integer01==0))then
        return false
    endif
    return true
endfunction

function Trig_last_reserves_HU_Func006A takes nothing returns nothing
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_009) )
endfunction

function Trig_last_reserves_HU_Func009A takes nothing returns nothing
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_009) )
endfunction

function Trig_last_reserves_HU_Actions takes nothing returns nothing
    call PlaySoundBJ(udg_starfallSound)
        call SetUnitInvulnerable( udg_AllianceCastle, true )
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfHumUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(2,udg_HnA_AliianceUnits[GetForLoopIndexA()],Player(10),GetRandomLocInRect(udg_rect10),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
    call TriggerSleepAction(2)
    call ForGroupBJ(GetUnitsInRectOfPlayer(udg_rect10,Player(10)),function Trig_last_reserves_HU_Func006A)
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfHumUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(2,udg_HnA_AliianceUnits[GetForLoopIndexA()],Player(10),GetRandomLocInRect(udg_rect12),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
        set udg_integer01=1
    call TriggerSleepAction(2)
    call ForGroupBJ(GetUnitsInRectOfPlayer(udg_rect12,Player(10)),function Trig_last_reserves_HU_Func009A)
    call UnitAddAbilityBJ('AEsb',udg_AllianceCastle)//Starfall-CastleAbility
    call TriggerSleepAction(3.00)
    call IssueImmediateOrderBJ(udg_AllianceCastle,"starfall")
    call TriggerSleepAction(40.00)
        call SetUnitLifePercentBJ( udg_AllianceCastle, 100 )
    call UnitRemoveAbilityBJ('AEsb',udg_AllianceCastle)//Starfall-CastleAbility
    call TriggerSleepAction(20.00)
        call SetUnitInvulnerable( udg_AllianceCastle, false )
    call DisableTrigger(GetTriggeringTrigger())
endfunction

function Trig_last_reserves_ORC_Conditions takes nothing returns boolean
    if(not(udg_integer02==0))then
        return false
    endif
    return true
endfunction

function Trig_last_reserves_ORC_Func006A takes nothing returns nothing
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_008) )
endfunction

function Trig_last_reserves_ORC_Func009A takes nothing returns nothing
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_008) )
endfunction

function Trig_last_reserves_ORC_Actions takes nothing returns nothing
    call PlaySoundBJ(udg_starfallSound)
    call SetUnitInvulnerable( udg_HordeStronghold, true )
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfOrcUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(2,udg_HnA_HordeUnits[GetForLoopIndexA()],Player(11),GetRandomLocInRect(udg_rect11),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
    call TriggerSleepAction(2)
    call ForGroupBJ(GetUnitsInRectOfPlayer(udg_rect11,Player(11)),function Trig_last_reserves_ORC_Func006A)
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfOrcUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(2,udg_HnA_HordeUnits[GetForLoopIndexA()],Player(11),GetRandomLocInRect(udg_rect13),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
    set udg_integer02=1
    call TriggerSleepAction(2)
    call ForGroupBJ(GetUnitsInRectOfPlayer(udg_rect13,Player(11)),function Trig_last_reserves_ORC_Func009A)
    call UnitAddAbilityBJ('AEsb',udg_HordeStronghold)//Starfall-CastleAbility
    call TriggerSleepAction(3.00)
    call IssueImmediateOrderBJ(udg_HordeStronghold,"starfall")
    call TriggerSleepAction(40.00)
    call UnitRemoveAbilityBJ('AEsb',udg_HordeStronghold)//Starfall-CastleAbility
    call SetUnitLifePercentBJ( udg_HordeStronghold, 100 )
    call TriggerSleepAction(20.00)
    call SetUnitInvulnerable( udg_HordeStronghold, false )
    call DisableTrigger(GetTriggeringTrigger())
endfunction

function Trig_ORCspawnInit_Actions takes nothing returns nothing
    set udg_HnA_HordeUnits[udg_HnA_numOfOrcUnits]='nchg'//OrcFelGrunt-Start-Unit
    set udg_HnA_numOfOrcUnits=(udg_HnA_numOfOrcUnits+1)
    set udg_HnA_HordeUnits[udg_HnA_numOfOrcUnits]='nchg'//OrcFelGrunt-Start-Unit
    set udg_HnA_numOfOrcUnits=(udg_HnA_numOfOrcUnits+1)
    set udg_HnA_HordeUnits[udg_HnA_numOfOrcUnits]='nchg'//OrcFelGrunt-Start-Unit
    set udg_HnA_numOfOrcUnits=(udg_HnA_numOfOrcUnits+1)
    set udg_HnA_HordeUnits[udg_HnA_numOfOrcUnits]='nchg'//OrcFelGrunt-Start-Unit
    set udg_HnA_numOfOrcUnits=(udg_HnA_numOfOrcUnits+1)
    set udg_HnA_HordeUnits[udg_HnA_numOfOrcUnits]='odoc'//OrcWitchDoctor-Start-Unit
    set udg_HnA_numOfOrcUnits=(udg_HnA_numOfOrcUnits+1)
    set udg_HnA_HordeUnits[udg_HnA_numOfOrcUnits]='odoc'//OrcWitchDoctor-Start-Unit
    set udg_HnA_numOfOrcUnits=(udg_HnA_numOfOrcUnits+1)
    set udg_HnA_HordeUnits[udg_HnA_numOfOrcUnits]='nchr'//OrcFelRaider
endfunction

function Trig_HUspawnInit_Actions takes nothing returns nothing
    set udg_HnA_AliianceUnits[udg_HnA_numOfHumUnits]='hfoo'//HumanFootman-Start-Unit
    set udg_HnA_numOfHumUnits=(udg_HnA_numOfHumUnits+1)
    set udg_HnA_AliianceUnits[udg_HnA_numOfHumUnits]='hfoo'//HumanFootman-Start-Unit
    set udg_HnA_numOfHumUnits=(udg_HnA_numOfHumUnits+1)
    set udg_HnA_AliianceUnits[udg_HnA_numOfHumUnits]='hfoo'//HumanFootman-Start-Unit
    set udg_HnA_numOfHumUnits=(udg_HnA_numOfHumUnits+1)
    set udg_HnA_AliianceUnits[udg_HnA_numOfHumUnits]='hfoo'//HumanFootman-Start-Unit
    set udg_HnA_numOfHumUnits=(udg_HnA_numOfHumUnits+1)
    set udg_HnA_AliianceUnits[udg_HnA_numOfHumUnits]='hmpr'//HumanArcher-Start-Unit
    set udg_HnA_numOfHumUnits=(udg_HnA_numOfHumUnits+1)
    set udg_HnA_AliianceUnits[udg_HnA_numOfHumUnits]='hmpr'//HumanArcher-Start-Unit
    set udg_HnA_numOfHumUnits=(udg_HnA_numOfHumUnits+1)
    set udg_HnA_AliianceUnits[udg_HnA_numOfHumUnits]='hkni'//HumanBlackKnight-Start-Unit
endfunction

function Trig_firstspawn_Actions takes nothing returns nothing
    call CreateTimerDialogBJ(CreateTimerBJ(false,45.00),"TRIGSTR_218")
        call TimerDialogSetTitleBJ( GetLastCreatedTimerDialogBJ(), "TRIGSTR_4015" )
    call TriggerSleepAction(41.00)
        call PlaySoundBJ( gg_snd_3_2_1_fight_16bit )
        call TriggerSleepAction(3.00)    
        call DestroyTimerDialogBJ(GetLastCreatedTimerDialogBJ())
endfunction

function Trig_bounty_Func001002 takes nothing returns nothing
    call SetPlayerFlagBJ(PLAYER_STATE_GIVES_BOUNTY,true,GetEnumPlayer())
endfunction

function Trig_bounty_Actions takes nothing returns nothing
    call ForForce(GetPlayersAll(),function Trig_bounty_Func001002)
endfunction

function Trig_HU_rax_1_Actions takes nothing returns nothing
    call PlaySoundBJ(udg_sound07)
    call DestroyTrigger(udg_trigger54)
endfunction

function Trig_ORC_rax_1_Actions takes nothing returns nothing
    call PlaySoundBJ(udg_sound07)    
        call DestroyTrigger(udg_trigger52)
endfunction

function Trig_ORC_rax_2_Actions takes nothing returns nothing
    call PlaySoundBJ(udg_sound07)
    call DestroyTrigger(udg_trigger53)
endfunction

function Trig_HU_rax_2_Actions takes nothing returns nothing
    call PlaySoundBJ(udg_sound07)
    call DestroyTrigger(udg_trigger55)
endfunction

function Trig_Recuit_ORC_Copy_5_Conditions takes nothing returns boolean
    if(not(GetUnitTypeId(GetSoldUnit())=='otbr'))then//OrcTrollBatRider
        return false
    endif
    return true
endfunction

function Trig_Recuit_ORC_Copy_5_Actions takes nothing returns nothing
    call RemoveUnit(GetSoldUnit())
    call CreateNUnitsAtLoc(1,'otbr',Player(11),GetRectCenter(udg_rect01),bj_UNIT_FACING)//OrcTrollBatRider
    call CreateNUnitsAtLoc(1,'otbr',Player(11),GetRectCenter(udg_rect02),bj_UNIT_FACING)//OrcTrollBatRider
    call DisplayTextToForce(udg_PGAll,("The |cff8B4513Orc Army|r called a |cff8B4513"+GetUnitName(GetSoldUnit())))
    call PlaySoundBJ(udg_warningSound)
endfunction

function Trig_Recuit_HU_Copy_5_Conditions takes nothing returns boolean
    if(not(GetUnitTypeId(GetSoldUnit())=='hgry'))then//HumanGriphonRider
        return false
    endif
    return true
endfunction

function Trig_Recuit_HU_Copy_5_Actions takes nothing returns nothing
    call RemoveUnit(GetSoldUnit())
    call CreateNUnitsAtLoc(1,'hgry',Player(10),GetRectCenter(udg_rect03),bj_UNIT_FACING)//HumanGriphonRider
    call CreateNUnitsAtLoc(1,'hgry',Player(10),GetRectCenter(udg_rect04),bj_UNIT_FACING)//HumanGriphonRider
    call DisplayTextToForce(udg_PGAll,("The |cff006400Human Army|r called a |cff006400"+GetUnitName(GetSoldUnit())))
    call PlaySoundBJ(udg_warningSound)
endfunction

function Trig_New_ORC_1_Func002001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_ORC_1_Func002001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(10))
endfunction

function Trig_New_ORC_1_Func002001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_ORC_1_Func002001001002001(),Trig_New_ORC_1_Func002001001002002())
endfunction

function Trig_New_ORC_1_Func003001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_ORC_1_Func003001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(11))
endfunction

function Trig_New_ORC_1_Func003001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_ORC_1_Func003001001002001(),Trig_New_ORC_1_Func003001001002002())
endfunction

function Trig_New_ORC_1_Conditions takes nothing returns boolean
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect18,Condition(function Trig_New_ORC_1_Func002001001002)))<=240))then
        return false
    endif
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect17,Condition(function Trig_New_ORC_1_Func003001001002)))<=240))then
        return false
    endif
    return true
endfunction

function Trig_New_ORC_1_Actions takes nothing returns nothing
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfOrcUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(1,udg_HnA_HordeUnits[GetForLoopIndexA()],Player(11),GetRandomLocInRect(udg_rect01),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
endfunction

function Trig_New_ORC_2_Func002001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_ORC_2_Func002001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(10))
endfunction

function Trig_New_ORC_2_Func002001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_ORC_2_Func002001001002001(),Trig_New_ORC_2_Func002001001002002())
endfunction

function Trig_New_ORC_2_Func003001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_ORC_2_Func003001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(11))
endfunction

function Trig_New_ORC_2_Func003001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_ORC_2_Func003001001002001(),Trig_New_ORC_2_Func003001001002002())
endfunction

function Trig_New_ORC_2_Conditions takes nothing returns boolean
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect19,Condition(function Trig_New_ORC_2_Func002001001002)))<=240))then
        return false
    endif
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect16,Condition(function Trig_New_ORC_2_Func003001001002)))<=240))then
        return false
    endif
    return true
endfunction

function Trig_New_ORC_2_Actions takes nothing returns nothing
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfOrcUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(1,udg_HnA_HordeUnits[GetForLoopIndexA()],Player(11),GetRandomLocInRect(udg_rect02),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
endfunction

function Trig_New_HU_1_Func002001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_HU_1_Func002001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(10))
endfunction

function Trig_New_HU_1_Func002001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_HU_1_Func002001001002001(),Trig_New_HU_1_Func002001001002002())
endfunction

function Trig_New_HU_1_Func003001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_HU_1_Func003001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(11))
endfunction

function Trig_New_HU_1_Func003001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_HU_1_Func003001001002001(),Trig_New_HU_1_Func003001001002002())
endfunction

function Trig_New_HU_1_Conditions takes nothing returns boolean
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect19,Condition(function Trig_New_HU_1_Func002001001002)))<=240))then
        return false
    endif
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect16,Condition(function Trig_New_HU_1_Func003001001002)))<=240))then
        return false
    endif
    return true
endfunction

function Trig_New_HU_1_Actions takes nothing returns nothing
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfHumUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(1,udg_HnA_AliianceUnits[GetForLoopIndexA()],Player(10),GetRandomLocInRect(udg_rect03),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
endfunction

function Trig_New_HU_2_Func002001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_HU_2_Func002001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(10))
endfunction

function Trig_New_HU_2_Func002001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_HU_2_Func002001001002001(),Trig_New_HU_2_Func002001001002002())
endfunction

function Trig_New_HU_2_Func003001001002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_New_HU_2_Func003001001002002 takes nothing returns boolean
    return(GetOwningPlayer(GetFilterUnit())==Player(11))
endfunction

function Trig_New_HU_2_Func003001001002 takes nothing returns boolean
    return GetBooleanAnd(Trig_New_HU_2_Func003001001002001(),Trig_New_HU_2_Func003001001002002())
endfunction

function Trig_New_HU_2_Conditions takes nothing returns boolean
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect18,Condition(function Trig_New_HU_2_Func002001001002)))<=240))then
        return false
    endif
    if(not(CountUnitsInGroup(GetUnitsInRectMatching(udg_rect17,Condition(function Trig_New_HU_2_Func003001001002)))<=240))then
        return false
    endif
    return true
endfunction

function Trig_New_HU_2_Actions takes nothing returns nothing
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=udg_HnA_numOfHumUnits
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        call CreateNUnitsAtLocFacingLocBJ(1,udg_HnA_AliianceUnits[GetForLoopIndexA()],Player(10),GetRandomLocInRect(udg_rect04),GetRandomLocInRect(GetPlayableMapRect()))
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
endfunction

function Trig_Send_ORC_1_Func001C takes nothing returns boolean
    if((GetUnitTypeId(GetTriggerUnit())=='ogru'))then//OrcGrunt
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='nchg'))then//OrcFelGrunt-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='nchr'))then//OrcFelRaider-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='odoc'))then//OrcWithcDoctor-Start-Unit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='otau'))then//OrcTauren
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='ohun'))then//OrcTrollHeadHunter
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='ocat'))then//OrcDemolisher
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='oshm'))then//OrcShaman
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='otbr'))then//OrcTrollBatRider
        return true
    endif
    return false
endfunction

function Trig_Send_ORC_1_Conditions takes nothing returns boolean
    if(not Trig_Send_ORC_1_Func001C())then
        return false
    endif
    return true
endfunction

function Trig_Send_ORC_1_Func001D takes nothing returns boolean
    if ( not ( udg_BarracksHuAllDown == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Send_ORC_1_Actions takes nothing returns nothing
    if ( Trig_Send_ORC_1_Func001D() ) then
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_008) )
    else
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_004) )
    endif
endfunction

function Trig_Send_HU_1_Func001C takes nothing returns boolean
    if((GetUnitTypeId(GetTriggerUnit())=='hhes'))then//Swordsman
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hfoo'))then//Footman-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hkni'))then//BlackKnight-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hmpr'))then//Priest-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hcth'))then//Knight
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='nhea'))then//Riffleman
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hmtm'))then//MortarTeam
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hsor'))then//Sorceress
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hgry'))then//Gryphon
        return true
    endif
    return false
endfunction

function Trig_Send_HU_1_Conditions takes nothing returns boolean
    if(not Trig_Send_HU_1_Func001C())then
        return false
    endif
    return true
endfunction

function Trig_Send_HU_1_Func001D takes nothing returns boolean
    if ( not ( udg_BarracksOrcAllDown == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Send_HU_1_Actions takes nothing returns nothing
    if ( Trig_Send_HU_1_Func001D() ) then
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_009) )
    else
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_007) )
    endif
endfunction

function Trig_Send_HU_2_Func001C takes nothing returns boolean
    if((GetUnitTypeId(GetTriggerUnit())=='hhes'))then//Swordsman
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hfoo'))then//Footman-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hkni'))then//BlackKnight-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hmpr'))then//Priest-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hcth'))then//Knight
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='nhea'))then//Riffleman
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hmtm'))then//MortarTeam
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hsor'))then//Sorceress
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='hgry'))then//Gryphon
        return true
    endif
    return false
endfunction

function Trig_Send_HU_2_Conditions takes nothing returns boolean
    if(not Trig_Send_HU_2_Func001C())then
        return false
    endif
    return true
endfunction

function Trig_Send_HU_2_Func001D takes nothing returns boolean
    if ( not ( udg_BarracksOrcAllDown == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Send_HU_2_Actions takes nothing returns nothing
    if ( Trig_Send_HU_2_Func001D() ) then
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_009) )
    else
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_006) )
    endif
endfunction

function Trig_Send_ORC_2_Func001C takes nothing returns boolean
    if((GetUnitTypeId(GetTriggerUnit())=='ogru'))then//Grunt
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='nchg'))then//FelGrunt-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='nchr'))then//FelRaider-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='odoc'))then//TrollWitchDoctor-StartUnit
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='otau'))then//Tauren
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='ohun'))then//TrollHeadHunter
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='ocat'))then//Demolisher
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='oshm'))then//Shaman
        return true
    endif
    if((GetUnitTypeId(GetTriggerUnit())=='otbr'))then//TrollBatRider
        return true
    endif
    return false
endfunction

function Trig_Send_ORC_2_Conditions takes nothing returns boolean
    if(not Trig_Send_ORC_2_Func001C())then
        return false
    endif
    return true
endfunction

function Trig_Send_ORC_2_Func001D takes nothing returns boolean
    if ( not ( udg_BarracksHuAllDown == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Send_ORC_2_Actions takes nothing returns nothing
    if ( Trig_Send_ORC_2_Func001D() ) then
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_008) )
    else
        call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Region_005) )
    endif
endfunction

function Trig_deadHU_Conditions takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)))then
        return false
    endif
    if(not(GetPlayerSlotState(GetOwningPlayer(GetTriggerUnit()))==PLAYER_SLOT_STATE_PLAYING))then
        return false
    endif
    return true
endfunction

function Trig_deadHU_Func008C takes nothing returns boolean
    if(not(GetPlayerSlotState(GetOwningPlayer(GetTriggerUnit()))==PLAYER_SLOT_STATE_PLAYING))then
        return false
    endif
    return true
endfunction

function Trig_deadHU_Actions takes nothing returns nothing
    call CreateTimerDialogBJ(CreateTimerBJ(false,(30.00+(2.00*I2R(GetHeroLevel(GetTriggerUnit()))))), udg_PlayerNames[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
    set udg_timerdialogs01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]=GetLastCreatedTimerDialogBJ()
    call TimerDialogDisplayForPlayerBJ(true,GetLastCreatedTimerDialogBJ(),GetOwningPlayer(GetTriggerUnit()))
    call TriggerSleepAction((30.00+(2.00*I2R(GetHeroLevel(GetTriggerUnit())))))
    if(Trig_deadHU_Func008C())then
                call SelectUnitForPlayerSingle( GetTriggerUnit(), GetOwningPlayer(GetTriggerUnit()) )

        call ReviveHeroLoc(GetTriggerUnit(),GetRectCenter(udg_rect05),true)
        call SetUnitManaPercentBJ(GetTriggerUnit(),75.00)
    endif
    call DestroyTimerDialogBJ(udg_timerdialogs01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
endfunction

function Trig_deadORC_Conditions takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)))then
        return false
    endif
    if(not(GetPlayerSlotState(GetOwningPlayer(GetTriggerUnit()))==PLAYER_SLOT_STATE_PLAYING))then
        return false
    endif
    return true
endfunction

function Trig_deadORC_Func008C takes nothing returns boolean
    if(not(GetPlayerSlotState(GetOwningPlayer(GetTriggerUnit()))==PLAYER_SLOT_STATE_PLAYING))then
        return false
    endif
    return true
endfunction

function Trig_deadORC_Actions takes nothing returns nothing
    call CreateTimerDialogBJ(CreateTimerBJ(false,(30.00+(2.00*I2R(GetHeroLevel(GetTriggerUnit()))))), udg_PlayerNames[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
    set udg_timerdialogs01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]=GetLastCreatedTimerDialogBJ()
    call TimerDialogDisplayForPlayerBJ(true,GetLastCreatedTimerDialogBJ(),GetOwningPlayer(GetTriggerUnit()))
    call TriggerSleepAction((30.00+(2.00*I2R(GetHeroLevel(GetTriggerUnit())))))
    if(Trig_deadORC_Func008C())then
                call SelectUnitForPlayerSingle( GetTriggerUnit(), GetOwningPlayer(GetTriggerUnit()) )
        call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetBuyingUnit()),GetRectCenter(udg_rect06),2.00)
        call ReviveHeroLoc(GetTriggerUnit(),GetRectCenter(udg_rect06),true)
        call SetUnitManaPercentBJ(GetTriggerUnit(),75.00)
    endif
    call DestroyTimerDialogBJ(udg_timerdialogs01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
endfunction

function Trig_Lose_for_humans_Actions takes nothing returns nothing
    call CustomDefeatBJ(Player(0),"")
    call CustomDefeatBJ(Player(1),"")
    call CustomDefeatBJ(Player(2),"")
    call CustomDefeatBJ(Player(3),"")
    call CustomDefeatBJ(Player(4),"")
    call CustomVictoryBJ(Player(5),true,true)
    call CustomVictoryBJ(Player(6),true,true)
    call CustomVictoryBJ(Player(7),true,true)
    call CustomVictoryBJ(Player(8),true,true)
    call CustomVictoryBJ(Player(9),true,true)
    call CustomDefeatBJ(Player(10),"")
    call CustomVictoryBJ(Player(11),true,true)
endfunction

function Trig_Lose_for_Orcs_Actions takes nothing returns nothing
    call CustomVictoryBJ(Player(0),true,true)
    call CustomVictoryBJ(Player(1),true,true)
    call CustomVictoryBJ(Player(2),true,true)
    call CustomVictoryBJ(Player(3),true,true)
    call CustomVictoryBJ(Player(4),true,true)
    call CustomVictoryBJ(Player(10),true,true)
    call CustomDefeatBJ(Player(5),"")
    call CustomDefeatBJ(Player(6),"")
    call CustomDefeatBJ(Player(7),"")
    call CustomDefeatBJ(Player(8),"")
    call CustomDefeatBJ(Player(9),"")
    call CustomDefeatBJ(Player(11),"")
endfunction

function main2 takes nothing returns nothing
    set udg_warningSound=CreateSound("Sound\\Interface\\Warning.wav",false,false,false,10,10,"DefaultEAXON")
    call SetSoundParamsFromLabel(udg_warningSound,"Warning")
    call SetSoundDuration(udg_warningSound,1904)
    call SetSoundVolume(udg_warningSound,100)

    set udg_hint = CreateSound("Sound\\Interface\\Hint.wav",false,false,false,10,10,"")
    call SetSoundParamsFromLabel(udg_hint, "Hint")
    call SetSoundDuration(udg_hint, 2006)

    set udg_starfallSound=CreateSound("Sound\\Interface\\ClanInvitation.wav",false,false,false,10,10,"DefaultEAXON")
    call SetSoundParamsFromLabel(udg_starfallSound,"ClanInvitation")
    call SetSoundDuration(udg_starfallSound,4296)
    call CreateMapRegions()
    call CreateBuildingsForPlayer10()
    call CreateBuildingsForPlayer11()
    call InitGlobals2()
    set udg_trigger03=CreateTrigger()
    call TriggerRegisterTimerEventPeriodic(udg_trigger03,73.00)
    call TriggerAddAction(udg_trigger03,function Trig_botORC_Actions)
    set udg_trigger04=CreateTrigger()
    call TriggerRegisterTimerEventPeriodic(udg_trigger04,60.00)
    call TriggerRegisterTimerEventSingle(udg_trigger07,3.00)
    set udg_trigger19=CreateTrigger()
    call TriggerRegisterTimerEventSingle(udg_trigger19,2.00)
    call TriggerAddAction(udg_trigger19,function Trig_antilag_Actions)
    set udg_trigger28=CreateTrigger()
    call TriggerRegisterUnitLifeEvent(udg_trigger28,udg_AllianceCastle,LESS_THAN,7000.00)
    call TriggerAddCondition(udg_trigger28,Condition(function Trig_last_reserves_HU_Conditions))
    call TriggerAddAction(udg_trigger28,function Trig_last_reserves_HU_Actions)
    set udg_trigger29=CreateTrigger()
    call TriggerRegisterUnitLifeEvent(udg_trigger29,udg_HordeStronghold,LESS_THAN,7000.00)
    call TriggerAddCondition(udg_trigger29,Condition(function Trig_last_reserves_ORC_Conditions))
    call TriggerAddAction(udg_trigger29,function Trig_last_reserves_ORC_Actions)
    set udg_trigger32=CreateTrigger()
    call TriggerRegisterTimerEventSingle(udg_trigger32,10.00)
    call TriggerAddAction(udg_trigger32,function Trig_ORCspawnInit_Actions)
    set udg_trigger33=CreateTrigger()
    call TriggerRegisterTimerEventSingle(udg_trigger33,10.00)
    call TriggerAddAction(udg_trigger33,function Trig_HUspawnInit_Actions)
    set udg_trigger34=CreateTrigger()
    call TriggerRegisterTimerEventSingle(udg_trigger34,1.00)
    call TriggerAddAction(udg_trigger34,function Trig_firstspawn_Actions)
    set udg_trigger35=CreateTrigger()
    call TriggerRegisterTimerEventSingle(udg_trigger35,3.00)
    call TriggerAddAction(udg_trigger35,function Trig_bounty_Actions)
    set udg_trigger36=CreateTrigger()
    call TriggerRegisterUnitEvent(udg_trigger36,udg_AllianceNorthBarracks,EVENT_UNIT_DEATH)
    call TriggerAddAction(udg_trigger36,function Trig_HU_rax_1_Actions)
    set udg_trigger37=CreateTrigger()
    call TriggerRegisterUnitEvent(udg_trigger37,udg_HordeSouthBarracks,EVENT_UNIT_DEATH)
    call TriggerAddAction(udg_trigger37,function Trig_ORC_rax_1_Actions)
    set udg_trigger38=CreateTrigger()
    call TriggerRegisterUnitEvent(udg_trigger38,udg_HordeNorthBarracks,EVENT_UNIT_DEATH)
    call TriggerAddAction(udg_trigger38,function Trig_ORC_rax_2_Actions)
    set udg_trigger39=CreateTrigger()
    call TriggerRegisterUnitEvent(udg_trigger39,udg_AllianceSouthBarracks,EVENT_UNIT_DEATH)
    call TriggerAddAction(udg_trigger39,function Trig_HU_rax_2_Actions)
        set udg_trigger40=CreateTrigger()

    set udg_trigger45 = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(udg_trigger45,EVENT_PLAYER_UNIT_SELL)
    call TriggerAddCondition(udg_trigger45,Condition(function Trig_Recuit_ORC_Copy_5_Conditions))
    call TriggerAddAction(udg_trigger45,function Trig_Recuit_ORC_Copy_5_Actions)

    set udg_trigger51 = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(udg_trigger51,EVENT_PLAYER_UNIT_SELL)
    call TriggerAddCondition(udg_trigger51,Condition(function Trig_Recuit_HU_Copy_5_Conditions))
    call TriggerAddAction(udg_trigger51,function Trig_Recuit_HU_Copy_5_Actions)

    set udg_trigger52=CreateTrigger()
    call TriggerRegisterTimerEventPeriodic(udg_trigger52,38.00)
    call TriggerAddCondition(udg_trigger52,Condition(function Trig_New_ORC_1_Conditions))
    call TriggerAddAction(udg_trigger52,function Trig_New_ORC_1_Actions)
    set udg_trigger53=CreateTrigger()
    call TriggerRegisterTimerEventPeriodic(udg_trigger53,38.00)
    call TriggerAddCondition(udg_trigger53,Condition(function Trig_New_ORC_2_Conditions))
    call TriggerAddAction(udg_trigger53,function Trig_New_ORC_2_Actions)
    set udg_trigger54=CreateTrigger()
    call TriggerRegisterTimerEventPeriodic(udg_trigger54,38.00)
    call TriggerAddCondition(udg_trigger54,Condition(function Trig_New_HU_1_Conditions))
    call TriggerAddAction(udg_trigger54,function Trig_New_HU_1_Actions)
    set udg_trigger55=CreateTrigger()
    call TriggerRegisterTimerEventPeriodic(udg_trigger55,38.00)
    call TriggerAddCondition(udg_trigger55,Condition(function Trig_New_HU_2_Conditions))
    call TriggerAddAction(udg_trigger55,function Trig_New_HU_2_Actions)
    set udg_trigger56=CreateTrigger()
    call TriggerRegisterEnterRectSimple(udg_trigger56,udg_rect01)
    call TriggerAddCondition(udg_trigger56,Condition(function Trig_Send_ORC_1_Conditions))
    call TriggerAddAction(udg_trigger56,function Trig_Send_ORC_1_Actions)
    set udg_trigger57=CreateTrigger()
    call TriggerRegisterEnterRectSimple(udg_trigger57,udg_rect03)
    call TriggerAddCondition(udg_trigger57,Condition(function Trig_Send_HU_1_Conditions))
    call TriggerAddAction(udg_trigger57,function Trig_Send_HU_1_Actions)
    set udg_trigger58=CreateTrigger()
    call TriggerRegisterEnterRectSimple(udg_trigger58,udg_rect04)
    call TriggerAddCondition(udg_trigger58,Condition(function Trig_Send_HU_2_Conditions))
    call TriggerAddAction(udg_trigger58,function Trig_Send_HU_2_Actions)
    set udg_trigger59=CreateTrigger()
    call TriggerRegisterEnterRectSimple(udg_trigger59,udg_rect02)
    call TriggerAddCondition(udg_trigger59,Condition(function Trig_Send_ORC_2_Conditions))
    call TriggerAddAction(udg_trigger59,function Trig_Send_ORC_2_Actions)
    set udg_trigger62=CreateTrigger()
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger62,Player(0),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger62,Player(1),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger62,Player(2),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger62,Player(3),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger62,Player(4),EVENT_PLAYER_UNIT_DEATH)
    call TriggerAddCondition(udg_trigger62,Condition(function Trig_deadHU_Conditions))
    call TriggerAddAction(udg_trigger62,function Trig_deadHU_Actions)
    set udg_trigger63=CreateTrigger()
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger63,Player(5),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger63,Player(6),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger63,Player(7),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger63,Player(8),EVENT_PLAYER_UNIT_DEATH)
    call TriggerRegisterPlayerUnitEventSimple(udg_trigger63,Player(9),EVENT_PLAYER_UNIT_DEATH)
    call TriggerAddCondition(udg_trigger63,Condition(function Trig_deadORC_Conditions))
    call TriggerAddAction(udg_trigger63,function Trig_deadORC_Actions)

    set udg_trigger67=CreateTrigger()
    call TriggerRegisterUnitEvent(udg_trigger67,udg_AllianceCastle,EVENT_UNIT_DEATH)
    call TriggerAddAction(udg_trigger67,function Trig_Lose_for_humans_Actions)

    set udg_trigger68=CreateTrigger()
    call TriggerRegisterUnitEvent(udg_trigger68,udg_HordeStronghold,EVENT_UNIT_DEATH)
    call TriggerAddAction(udg_trigger68,function Trig_Lose_for_Orcs_Actions)
    endfunction
        


function InitTrig_Init takes nothing returns nothing
    call ExecuteFunc("main2")
    //local trigger init = CreateTrigger()

    //set gg_trg_HeroesSetup = CreateTrigger(  )
    //call TriggerRegisterTimerEventSingle(init, 0.00 )
    //call TriggerAddAction(init, function main2 )
endfunction

Please tell me where is bug and how to fix it. There is also 2 regions but when i move them the creeps moving differntly they are not spawned when the region is placed. Sorry for the long converted gui code. Thing is i'm editing units and buildings.
 
Level 6
Joined
Jan 4, 2014
Messages
227
I cant understand this its so complicated, better create units every 30 sec and issue Attack-Move Orders. and for the Top and Bottom lanes, add regions where the creeps must turn and add an event so that when they enter that region you issue attack-move order to the next point.
 
Status
Not open for further replies.
Top