anchor.diff:        Image_BlockHouse[I].TexID := 0
       else
         Image_BlockHouse[I].TexID := 24; //Some erroneous value
  +  end;
  +end;
  +
  +
  +procedure TKMapEdInterface.Player_BlockTradeClick(Sender: TObject);
  +var
  +  I: Integer;
  +  R: TResourceType;
  +begin
  +  I := TKMButtonFlat(Sender).Tag;
  +  R := StoreResType[I];
  +
  +  MyPlayer.Stats.AllowToTrade[R] := not MyPlayer.Stats.AllowToTrade[R];
  +
  +  Player_BlockTradeRefresh;
  +end;
  +
  +
  +procedure TKMapEdInterface.Player_BlockTradeRefresh;
  +var
  +  I: Integer;
  +  R: TResourceType;
  +begin
  +  for I := 1 to STORE_RES_COUNT do
  +  begin
  +    R := StoreResType[I];
  +    if MyPlayer.Stats.AllowToTrade[R] then
  +      Image_BlockTrade[I].TexID := 33
  +    else
  +      Image_BlockTrade[I].TexID := 32;
     end;
   end;
   
  
positive.code: end;
  
  
  procedure TKMapEdInterface.Player_BlockClick(Sender: TObject);
  var
    I: Integer;
    H: THouseType;
  
negative.code: 
      //Non-visual stuff per-player
      Panel_Player: TKMPanel;
        Button_Player: array [TKMPlayerTab] of TKMButton;
        Panel_Goals: TKMPanel;
          //
        Panel_Color: TKMPanel;
  