anchor.diff:  
     //Tell both groups to reposition
     OrderRepeat;
  -  NewGroup.OrderRepeat(Self);
  +  NewGroup.CopyOrderFrom(Self);
   
     Result := NewGroup; //Return the new group in case somebody is interested in it
   end;
  
positive.code: end;
  
  
  //Repeat order after specified aGroup or repeat self order if no aGroup is specified
  procedure TKMUnitGroup.OrderRepeat(aGroup: TKMUnitGroup);
  var Group: TKMUnitGroup;
  begin
    if aGroup = nil then
      Group := Self
    else
    begin
      Group := aGroup;
      fOrder := Group.fOrder;
      if fOrder <> goNone then        //when there is no order, then use own fOrderLoc
        fOrderLoc := Group.fOrderLoc; //otherwise - copy from target group
    end;
  
    case fOrder of
      goNone:         OrderHalt(False);
      goWalkTo:       OrderWalk(Group.fOrderLoc.Loc, False);
      goAttackHouse:  if OrderTargetHouse <> nil then OrderAttackHouse(Group.OrderTargetHouse, False);
      goAttackUnit:   if OrderTargetUnit <> nil then OrderAttackUnit(Group.OrderTargetUnit, False);
      goStorm:        ;
    end;
  end;
  
negative.code: //Repeat last order e.g. if new members have joined
  procedure TKMUnitGroup.OrderRepeat;
  begin
    case fOrder of
      goNone:         OrderHalt(False);
      goWalkTo:       OrderWalk(fOrderLoc.Loc, False);
      goAttackHouse:  if OrderTargetHouse <> nil then OrderAttackHouse(OrderTargetHouse, False);
      goAttackUnit:   if OrderTargetUnit <> nil then OrderAttackUnit(OrderTargetUnit, False);
      goStorm:        ;
    end;
  end;
  
  
  