HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

I Need Help

10-14-2007, 04:05 AM#1
sbut200
I need help with my spell Multi - Arrows
I only know little about JASS
Here's the spell trigger
Collapse JASS:
function Trig_Fast_Arrows_Copy_Conditions takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) > 0 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003002001(), Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003001(), Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003002001(), Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003001(), Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003002001(), Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003001(), Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func002Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND <= 15 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func002C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 1 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003002001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003002001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003002001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003002001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003001(), Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func003Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND <= 30 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func003C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 2 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003002001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003002001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003002001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003002001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003002001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003001(), Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func004Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND <= 45 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func004C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 3 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003002001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003002001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003002001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003002001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003002001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003002001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003001(), Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func005Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND <= 60 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func005C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 4 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003002001(), Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003001(), Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003002001(), Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003001(), Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003002001(), Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003001(), Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func006Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND == 1 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func006Func003001 takes nothing returns boolean
    return ( udg_Scoreshots == 2 )
endfunction

function Trig_Fast_Arrows_Copy_Func006C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 1 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003002001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003002001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003002001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003002001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003001(), Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func007Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND == 1 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func007Func003001 takes nothing returns boolean
    return ( udg_Scoreshots == 3 )
endfunction

function Trig_Fast_Arrows_Copy_Func007C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 2 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003002001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003002001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003002001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003002001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003002001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003001(), Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func008Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND == 1 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func008Func003001 takes nothing returns boolean
    return ( udg_Scoreshots == 4 )
endfunction

function Trig_Fast_Arrows_Copy_Func008C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 3 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003002001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003002001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003002001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003002001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003002001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003001 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003002001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003002002 takes nothing returns boolean
    return ( IsUnitInGroup(GetFilterUnit(), udg_Explode_DEBUG) == false )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003002 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003002001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003002002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003001(), Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003002() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012A takes nothing returns nothing
    call GroupAddUnitSimple( GetEnumUnit(), udg_Explode_DEBUG )
    call CreateNUnitsAtLoc( 1, 'h00H', GetOwningPlayer(GetAttacker()), GetUnitLoc(GetAttacker()), bj_UNIT_FACING )
    call SetUnitAbilityLevelSwapped( 'A04Z', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
endfunction

function Trig_Fast_Arrows_Copy_Func009Func002Func002C takes nothing returns boolean
    if ( not ( udg_ExplodeArrow_RND == 1 ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_Fast_Arrows_Copy_Func009Func003001 takes nothing returns boolean
    return ( udg_Scoreshots == 5 )
endfunction

function Trig_Fast_Arrows_Copy_Func009C takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A04Y', GetAttacker()) == 4 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Fast_Arrows_Copy_Actions takes nothing returns nothing
    set udg_Explode_Target = GetSpellTargetUnit()
    if ( Trig_Fast_Arrows_Copy_Func002C() ) then
        if ( Trig_Fast_Arrows_Copy_Func002Func002C() ) then
            set udg_ExplodeArrow_RND = GetRandomInt(1, 100)
            if ( Trig_Fast_Arrows_Copy_Func002Func002Func002C() ) then
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001001002003))), function Trig_Fast_Arrows_Copy_Func002Func002Func002Func001A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003001002003))), function Trig_Fast_Arrows_Copy_Func002Func002Func002Func003A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005001002003))), function Trig_Fast_Arrows_Copy_Func002Func002Func002Func005A )
            else
            endif
        else
        endif
    else
    endif
    if ( Trig_Fast_Arrows_Copy_Func003C() ) then
        if ( Trig_Fast_Arrows_Copy_Func003Func002C() ) then
            set udg_ExplodeArrow_RND = GetRandomInt(1, 100)
            if ( Trig_Fast_Arrows_Copy_Func003Func002Func002C() ) then
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001001002003))), function Trig_Fast_Arrows_Copy_Func003Func002Func002Func001A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003001002003))), function Trig_Fast_Arrows_Copy_Func003Func002Func002Func003A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005001002003))), function Trig_Fast_Arrows_Copy_Func003Func002Func002Func005A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007001002003))), function Trig_Fast_Arrows_Copy_Func003Func002Func002Func007A )
            else
            endif
        else
        endif
    else
    endif
    if ( Trig_Fast_Arrows_Copy_Func004C() ) then
        if ( Trig_Fast_Arrows_Copy_Func004Func002C() ) then
            set udg_ExplodeArrow_RND = GetRandomInt(1, 100)
            if ( Trig_Fast_Arrows_Copy_Func004Func002Func002C() ) then
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001001002003))), function Trig_Fast_Arrows_Copy_Func004Func002Func002Func001A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003001002003))), function Trig_Fast_Arrows_Copy_Func004Func002Func002Func003A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005001002003))), function Trig_Fast_Arrows_Copy_Func004Func002Func002Func005A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007001002003))), function Trig_Fast_Arrows_Copy_Func004Func002Func002Func007A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009001002003))), function Trig_Fast_Arrows_Copy_Func004Func002Func002Func009A )
            else
            endif
        else
        endif
    else
    endif
    if ( Trig_Fast_Arrows_Copy_Func005C() ) then
        if ( Trig_Fast_Arrows_Copy_Func005Func002C() ) then
            set udg_ExplodeArrow_RND = GetRandomInt(1, 100)
            if ( Trig_Fast_Arrows_Copy_Func005Func002Func002C() ) then
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001001002003))), function Trig_Fast_Arrows_Copy_Func005Func002Func002Func001A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003001002003))), function Trig_Fast_Arrows_Copy_Func005Func002Func002Func003A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005001002003))), function Trig_Fast_Arrows_Copy_Func005Func002Func002Func005A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007001002003))), function Trig_Fast_Arrows_Copy_Func005Func002Func002Func007A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009001002003))), function Trig_Fast_Arrows_Copy_Func005Func002Func002Func009A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011001002003))), function Trig_Fast_Arrows_Copy_Func005Func002Func002Func011A )
            else
            endif
        else
        endif
    else
    endif
    if ( Trig_Fast_Arrows_Copy_Func006C() ) then
        if ( Trig_Fast_Arrows_Copy_Func006Func002C() ) then
            set udg_ExplodeArrow_RND = 1
            if ( Trig_Fast_Arrows_Copy_Func006Func002Func002C() ) then
                set udg_Scoreshots = ( udg_Scoreshots + 1 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002001002003))), function Trig_Fast_Arrows_Copy_Func006Func002Func002Func002A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004001002003))), function Trig_Fast_Arrows_Copy_Func006Func002Func002Func004A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006001002003))), function Trig_Fast_Arrows_Copy_Func006Func002Func002Func006A )
            else
            endif
        else
        endif
        if ( Trig_Fast_Arrows_Copy_Func006Func003001() ) then
            set udg_BowMaster = false
        else
            call DoNothing(  )
        endif
    else
    endif
    if ( Trig_Fast_Arrows_Copy_Func007C() ) then
        if ( Trig_Fast_Arrows_Copy_Func007Func002C() ) then
            set udg_ExplodeArrow_RND = 1
            if ( Trig_Fast_Arrows_Copy_Func007Func002Func002C() ) then
                set udg_Scoreshots = ( udg_Scoreshots + 1 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002001002003))), function Trig_Fast_Arrows_Copy_Func007Func002Func002Func002A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004001002003))), function Trig_Fast_Arrows_Copy_Func007Func002Func002Func004A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006001002003))), function Trig_Fast_Arrows_Copy_Func007Func002Func002Func006A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008001002003))), function Trig_Fast_Arrows_Copy_Func007Func002Func002Func008A )
            else
            endif
        else
        endif
        if ( Trig_Fast_Arrows_Copy_Func007Func003001() ) then
            set udg_BowMaster = false
        else
            call DoNothing(  )
        endif
    else
    endif
    if ( Trig_Fast_Arrows_Copy_Func008C() ) then
        if ( Trig_Fast_Arrows_Copy_Func008Func002C() ) then
            set udg_ExplodeArrow_RND = 1
            if ( Trig_Fast_Arrows_Copy_Func008Func002Func002C() ) then
                set udg_Scoreshots = ( udg_Scoreshots + 1 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002001002003))), function Trig_Fast_Arrows_Copy_Func008Func002Func002Func002A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004001002003))), function Trig_Fast_Arrows_Copy_Func008Func002Func002Func004A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006001002003))), function Trig_Fast_Arrows_Copy_Func008Func002Func002Func006A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008001002003))), function Trig_Fast_Arrows_Copy_Func008Func002Func002Func008A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010001002003))), function Trig_Fast_Arrows_Copy_Func008Func002Func002Func010A )
            else
            endif
        else
        endif
        if ( Trig_Fast_Arrows_Copy_Func008Func003001() ) then
            set udg_BowMaster = false
        else
            call DoNothing(  )
        endif
    else
    endif
    if ( Trig_Fast_Arrows_Copy_Func009C() ) then
        if ( Trig_Fast_Arrows_Copy_Func009Func002C() ) then
            set udg_ExplodeArrow_RND = 1
            if ( Trig_Fast_Arrows_Copy_Func009Func002Func002C() ) then
                set udg_Scoreshots = ( udg_Scoreshots + 1 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002001002003))), function Trig_Fast_Arrows_Copy_Func009Func002Func002Func002A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004001002003))), function Trig_Fast_Arrows_Copy_Func009Func002Func002Func004A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006001002003))), function Trig_Fast_Arrows_Copy_Func009Func002Func002Func006A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008001002003))), function Trig_Fast_Arrows_Copy_Func009Func002Func002Func008A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010001002003))), function Trig_Fast_Arrows_Copy_Func009Func002Func002Func010A )
                call TriggerSleepAction( 0.10 )
                call ForGroupBJ( GetRandomSubGroup(1, GetUnitsInRangeOfLocMatching(900.00, GetUnitLoc(GetAttacker()), Condition(function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012001002003))), function Trig_Fast_Arrows_Copy_Func009Func002Func002Func012A )
            else
            endif
        else
        endif
        if ( Trig_Fast_Arrows_Copy_Func009Func003001() ) then
            set udg_BowMaster = false
        else
            call DoNothing(  )
        endif
    else
    endif
endfunction

//===========================================================================
function InitTrig_Fast_Arrows_Copy takes nothing returns nothing
    set gg_trg_Fast_Arrows_Copy = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Fast_Arrows_Copy, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_Fast_Arrows_Copy, Condition( function Trig_Fast_Arrows_Copy_Conditions ) )
    call TriggerAddAction( gg_trg_Fast_Arrows_Copy, function Trig_Fast_Arrows_Copy_Actions )
endfunction

I don't know whats wrong with it
Its supposed to shoot multiple targets 15%/30%/45%/60% whenever you attack but it only works on neutrals not on Heroes
I don't know why
Please help me
10-14-2007, 04:12 AM#2
Dil999
This is the strangest code I have ever seen... What the hell are all those boolean-returning functions supposed to do?
10-14-2007, 04:23 AM#3
Ammorth
Don't convert GUI to JASS; please post the GUI script.