if( get UNIT_Y(Func_Var_2) - get GROUND_HEIGHT(get UNIT_XZ(Func_Var_2)) < [2] AND get PIECE_Y(base) - get GROUND_HEIGHT(get UNIT_XZ(Func_Var_2)) <= [5] )
{
if( get UNIT_HEIGHT(Func_Var_2) < [28] )
{
if( get UNIT_XZ(Func_Var_2) != get PIECE_XZ(base) )
{
xz = get UNIT_XZ(Func_Var_2) - get PIECE_XZ(base);
SECURE_XZ;
distance=get XZ_HYPOT(xz);
if( distance <= [150.000000] )
{
attach-unit Func_Var_2 to 0 - 1;
sleep 500;
if( get UNIT_XZ(Func_Var_2) == get PIECE_XZ(base) )
    var Func_Var_2, Func_Var_3,distance,xz,x,z;
    Func_Var_2 = 1;
    set BUSY to 1;
    while( Func_Var_2 <= 10 * 1500 )
    {
        if( get UNIT_Y(Func_Var_2) - get GROUND_HEIGHT(get UNIT_XZ(Func_Var_2)) < [2.000000] AND get PIECE_Y(base) - get GROUND_HEIGHT(get UNIT_XZ(Func_Var_2)) <= [5.000000] )
        {
            if( Static_Var_7 < 10 AND get UNIT_XZ(Func_Var_2) != get PIECE_XZ(base) )