anchor.diff:  //Input value is integer because we might get a -100 order from outside and need to fit it to range
   //properly
   procedure TKMHouse.SetResOrder(aID: Byte; aValue: Integer);
  -var
  -  I: Integer;
  -  TotalDesired: Integer;
  +//var
  +//  I: Integer;
  +//  TotalDesired: Integer;
   begin
     fResourceOrder[aID] := EnsureRange(aValue, 0, MAX_WARES_ORDER);
   
     //Calculate desired production ratio (so that we are not affected by fResourceOrder which decreases till 0)
  -  TotalDesired := fResourceOrder[1] + fResourceOrder[2] + fResourceOrder[3] + fResourceOrder[4];
  -  for I := 1 to 4 do
  -    fResOrderDesired[I] := fResourceOrder[I] / TotalDesired;
  +//  TotalDesired := fResourceOrder[1] + fResourceOrder[2] + fResourceOrder[3] + fResourceOrder[4];
  +//  for I := 1 to 4 do
  +//    fResOrderDesired[I] := fResourceOrder[I] / TotalDesired;
   
     fNeedIssueOrderCompletedMsg := False;
     fOrderCompletedMsgIssued := False;
  
positive.code: var
    I, Res: Byte;
    Ware: TKMWareType;
    BestBid: Single;
    TotalLeft: Integer;
    LeftRatio: array [1..4] of Single;
  begin
    Result := 0;
  
  
negative.code:   for I:=1 to 4 do LoadStream.Read(fResourceDeliveryCount[I]);
    for I:=1 to 4 do LoadStream.Read(fResourceOut[I]);
    for I:=1 to 4 do LoadStream.Read(fResourceOrder[I], SizeOf(fResourceOrder[I]));
  //  for I:=1 to 4 do LoadStream.Read(fResOrderDesired[I], SizeOf(fResOrderDesired[I]));
  
    if fType in HOUSE_WORKSHOP then
      LoadStream.Read(fResourceOutPool, 20);
  